/* GLOBAL STYLES
-------------------------------------------------- */

body {
    background-color: #d6cfc8;
    color: #5a5a5a;
    min-height: 75rem;
}

.bg-dark {
    color: #302f2e;
}

/* CAROUSEL
-------------------------------------------------- */

.carousel {
    margin-bottom: 2rem;
    margin-top: 0rem;
    text-shadow: 0 0 4px black;
    padding-bottom: 10px;
}

.carousel-caption {
    bottom: 3rem;
    z-index: 10;
}

.carousel-item {
    height: 32rem;
}

.carousel-item > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    height: 32rem;
}

.carousel-btn-dark {
    background-color: #343e4d;
    color: #ebe7e4;
}

.carousel-btn-dark:hover {
    background-color: #424953;
    color: #ebe7e4;
}

/* NAVBAR
-------------------------------------------------- */

.mb-4 {
    margin-bottom: 0rem !important;
}

.navbar-custom {
    background-color: #343e4d !important;
}

/* JUMBOTRON (mobile only)
-------------------------------------------------- */

.jumbotron {
    background-image: url('../img/banner-4-small.png');
    background-size: cover;
    background-position: center;
    height: 260px;
    color: #ffffff;
    text-align: left;
    text-shadow: 0 0 4px black;
    padding-bottom: 20px;
    padding-left: 50px;
}

/* RESPONSIVE TEXT
-------------------------------------------------- */

@media (min-width: 40em) {
    .carousel-caption p {
        margin-bottom: 1.25rem;
        font-size: 1.25rem;
        line-height: 1.4;
    }
    .featurette-heading {
        font-size: 50px;
    }
}

@media (min-width: 62em) {
    .featurette-heading {
        margin-top: 7rem;
    }
}

/* MOBILE: POSTS & SERVICES – FULL WIDTH
-------------------------------------------------- */
@media (max-width: 576px) {
    .tile-post,
    .tile-service {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 20px !important;
    }

    .post-image,
    .service-image {
        width: 100% !important;
        max-width: 100% !important;
        border-width: 3px;
    }

    #postList .container.w-50,
    #serviceList .container.w-50 {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* CONTACT FORM – full width on mobile */
@media (max-width: 768px) {
    #contact form .mb-3 {
        width: 100% !important;
    }
}

/* Force post content to full width on mobile */
@media (max-width: 576px) {
    #postList .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Force post & service content to full width on mobile */
@media (max-width: 576px) {
    #postList .container,
    #serviceList .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* TILES (INDEX)
-------------------------------------------------- */

.tile-green {
    background-color: #55726e;
    color: #353636;
}

.tile-blue {
    background-color: #343e4d !important;
    color: #353636;
}

.tile-bio {
    background-color: #6e7e7b !important;
    color: #353636;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tile-img {
    background-color: #b4b9b8 !important;
    color: #353636;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* FOOTER */
.tile-darkgreen {
    background-color: #7f8887;
}

.tile-darkblue {
    background-color: #343e4d !important;
}

/* FORM FIELDS */
.tile-beige {
    background-color: #eee9e6;
}

/* ABOUT PAGE
-------------------------------------------------- */

.image-container-profile {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.image-container {
    width: 350px;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.image-container img {
    max-width: 100%;
    max-height: 100%;
}

#showAbout .container {
    max-width: 600px;
}

@media (max-width: 768px) {
    #showAbout .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 20px;
        padding-right: 20px;
    }

    #showAbout img {
        max-width: 70%;
        height: auto;
    }
}

/* POSTS PAGE
-------------------------------------------------- */

.container.text-center {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tile-post {
    background-color: #6e7e7b;
    color: #d3d6d6;
    max-width: 80%;
    margin: 40px auto 0 auto;
    padding: 25px;
    font-size: 0.95rem;
    box-sizing: border-box;
}

.post-image {
    width: 100%;
    max-width: 80%;
    border: 5px solid rgb(185, 176, 173);
    border-radius: 0.75rem;
    object-fit: cover;
    display: block;
}

/* SERVICE PAGE
-------------------------------------------------- */

.tile-service {
    background-color: #6e7e7b;
    color: #d3d6d6;
    max-width: 80%;
    margin: 40px auto 0 auto;
    padding: 25px;
    font-size: 0.95rem;
    box-sizing: border-box;
}

.service-image {
    width: 100%;
    max-width: 80%;
    border: 5px solid rgb(185, 176, 173);
    border-radius: 0.75rem;
    object-fit: cover;
    display: block;
}

/* MOBILE REDUCE PADDING ON INDEX TILES */
@media (max-width: 576px) {
    #postList .p-5,
    #serviceList .p-5 {
        padding: 1.25rem !important;
    }

    #postList h2,
    #serviceList h2 {
        font-size: 1.25rem !important;
        margin-bottom: 10px !important;
    }

    #postList p,
    #serviceList p {
        font-size: 0.9rem !important;
        margin-bottom: 15px !important;
    }

    #postList .btn,
    #serviceList .btn {
        padding: 6px 12px !important;
        font-size: 0.85rem !important;
    }
}
