/* Site-wide responsive fixes */

img {
    max-width: 100%;
    height: auto;
}

.service-intro-image,
.service-hero-image,
.hero-img-main,
.about-img-primary,
.about-img-secondary,
.home-why-image {
    max-width: 100%;
}

.service-intro-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius);
    object-fit: cover;
}

.service-hero-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius);
    object-fit: cover;
}

@media (max-width: 1199.98px) {
    .site-header .navbar-collapse {
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        padding: 0.75rem 0 1rem;
    }

    .site-nav-flat .nav-item {
        width: 100%;
    }

    .site-nav-flat .nav-link {
        padding: 0.65rem 0 !important;
    }

    .site-nav-flat .btn {
        width: 100%;
        margin-top: 0.5rem;
    }
}

@media (max-width: 991.98px) {
    .site-header .brand-logo {
        height: 48px;
        max-width: 168px;
    }

    .footer-logo {
        height: 64px;
        max-width: 210px;
    }

    .sticky-enquiry-form {
        position: static !important;
        margin-top: 2rem;
    }

    .service-hero h1 {
        font-size: 1.85rem;
    }

    .service-hero-subtitle {
        font-size: 1rem;
    }

    .service-hero-ctas {
        flex-direction: column;
        align-items: stretch;
    }

    .service-hero-ctas .btn {
        width: 100%;
    }

    .hero-img-main {
        height: auto;
        max-height: 380px;
    }

    .about-img-primary {
        height: 360px;
    }

    .about-page-images .about-img-primary {
        height: 340px;
    }

    .home-why-image {
        height: 300px;
    }

    .breadcrumb-nav {
        font-size: 0.8rem;
        flex-wrap: wrap;
    }
}

@media (max-width: 767.98px) {
    .form-card,
    .quick-enquiry-card,
    .home-contact-form-card {
        padding: 1.5rem !important;
    }

    .scheme-half-actions {
        flex-direction: column;
    }

    .scheme-half-actions .btn {
        width: 100%;
        text-align: center;
    }

    .home-contact-aside-inner {
        padding: 1.75rem 1.25rem;
    }

    .cta-modal-aside {
        padding: 1.25rem 1rem;
        max-width: 100%;
    }

    .site-header .brand-logo {
        height: 44px;
        max-width: 152px;
    }

    .footer-logo {
        height: 56px;
        max-width: 190px;
    }

    .hero-img-main {
        height: auto;
        max-height: 320px;
    }

    .about-images {
        min-height: 320px;
    }

    .about-img-primary {
        width: 70%;
        height: 280px;
    }

    .about-img-secondary {
        width: 50%;
        height: 150px;
    }

    .home-why-image {
        height: 240px;
    }

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

.row > [class*="col-"] {
    min-width: 0;
}

.site-page {
    overflow-x: hidden;
}
