:root {
    --body-size: 20px;
    --body-line: 30px;
    --h1-size: 56px;
    --h2-size: 38px;
    --h3-size: 24px;
    --section-space: 80px;
}

body {
    font-size: var(--body-size);
    line-height: var(--body-line);
}

h1 {
    font-size: var(--h1-size);
    line-height: 1.12;
}

h2 {
    font-size: var(--h2-size);
    line-height: 1.2;
}

h3 {
    font-size: var(--h3-size);
    line-height: 1.25;
}

.section {
    padding-top: var(--section-space);
}

.py-8 {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
}

.mt-8 {
    margin-top: var(--section-space);
}

header .navbar .services-toggle {
    display: none;
}

@media (max-width: 1600px) {
    :root {
        --section-space: 76px;
    }
}

@media (max-width: 1400px) {
    :root {
        --h1-size: 54px;
        --h2-size: 37px;
        --section-space: 72px;
    }

    .home-banner .form-area .image-right img {
        right: -40px;
    }

    .home-banner .form-area {
        padding: 42px;
    }

    .home-testimonials {
        padding: 180px 0;
    }
}

@media (max-width: 1366px) {
    header .navbar .navbar-nav .nav-link {
        padding: 0 12px;
    }

    header .navbar-brand {
        max-width: 165px;
    }

    .home-banner .form-area .image-right img {
        right: -45px;
        max-width: 130px;
    }

    .insulation-banner-main{
        margin-top: 124px;
    }
}

@media (max-width: 1200px) {
    :root {
        --body-size: 18px;
        --body-line: 28px;
        --h1-size: 48px;
        --h2-size: 34px;
        --section-space: 68px;
    }

    header .navbar-brand {
        max-width: 150px;
    }

    header .navbar .navbar-nav .nav-link {
        padding: 0 8px;
    }

    .btn-blue,
    .btn-white {
        padding: 12px 18px;
    }

    .home-banner {
        margin-top: 132px;
    }

    .home-banner .form-area {
        padding: 35px;
    }

    .home-banner .form-area .image-right img {
        right: -25px;
        top: -60px;
        max-width: 115px;
    }

    .home-testimonials {
        padding: 150px 0;
    }

    .bottom-cta .item {
        padding: 65px 40px;
    }

    .bottom-cta .item .image-area img {
        width: 30%;
    }

    .inner-banner {
        margin-top: 112px;
    }

    .insulation-banner{
        margin-top: 112px;
    }
}

@media (max-width: 992px) {
    :root {
        --h1-size: 42px;
        --h2-size: 32px;
        --h3-size: 22px;
        --section-space: 64px;
    }

    header .navbar {
        padding: 12px 0;
    }

    header .navbar-toggler {
        border: 0;
        box-shadow: none;
        display: flex;
        flex-direction: column;
        gap: 5px;
        height: 42px;
        justify-content: center;
        padding: 0;
        width: 42px;
    }

    header .navbar-toggler:focus {
        box-shadow: none;
    }

    header .navbar-toggler-icon {
        background: #123A6B;
        border-radius: 50px;
        height: 2px;
        width: 24px;
    }

    header .navbar-collapse {
        background: #fff;
        padding: 18px 0 8px;
    }

    header .navbar .navbar-nav {
        gap: 8px;
    }

    header .navbar .navbar-nav .nav-link {
        display: inline-block;
        padding: 8px 16px;
    }

    header .navbar .services-dropdown {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
    }

    header .navbar .services-dropdown > .nav-link {
        flex: 1;
    }

    header .navbar .services-dropdown > .dropdown-toggle::after {
        display: none;
    }

    header .navbar .services-toggle {
        align-items: center;
        background: transparent;
        border: 0;
        color: #123A6B;
        display: inline-flex;
        height: 40px;
        justify-content: center;
        padding: 0;
        width: 40px;
    }

    header .navbar .services-toggle:focus-visible {
        border-radius: 4px;
        outline: 2px solid #123A6B;
        outline-offset: 2px;
    }

    header .navbar .services-toggle-icon {
        display: block;
        height: 16px;
        position: relative;
        width: 16px;
    }

    header .navbar .services-toggle-icon::before,
    header .navbar .services-toggle-icon::after {
        background: currentColor;
        border-radius: 2px;
        content: "";
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    header .navbar .services-toggle-icon::before {
        height: 2px;
        width: 16px;
    }

    header .navbar .services-toggle-icon::after {
        height: 16px;
        width: 2px;
    }

    header .navbar .services-toggle[aria-expanded="true"] .services-toggle-icon::after {
        opacity: 0;
        transform: translate(-50%, -50%) rotate(90deg);
    }

    header .navbar .services-dropdown .dropdown-menu {
        border: 0;
        box-shadow: none;
        flex: 0 0 100%;
        margin: 6px 0 0 14px;
        padding: 0 0 0 10px;
        position: static;
        transform: none;
        width: 100%;
    }

    header .navbar .services-dropdown .dropdown-menu:not(.show) {
        display: none;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }

    header .navbar .services-dropdown .dropdown-menu.show {
        display: block;
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    header .navbar .btn-blue {
        margin-top: 12px;
    }

    .home-banner {
        margin-top: 116px;
        padding: 60px 0 70px;
    }

    .home-banner .button-area {
        flex-wrap: wrap;
    }

    .home-banner .form-area {
        margin: 30px 0 0;
    }

    .home-about {
        margin-top: 0;
        padding: 70px 0;
    }

    .home-insulation-company .image-area,
    .home-insulation-services .image-area-right {
        text-align: center;
    }

    .home-insulation-services .services-list {
        margin: 0 auto;
        max-width: 720px;
    }

    .home-testimonials {
        padding: 70px 0;
    }

    .home-testimonials .image-area img {
        display: block;
        margin: 0 auto 30px;
        max-width: 520px;
        position: static;
        width: 100%;
    }

    .bottom-cta .item {
        overflow: hidden;
    }

    .bottom-cta .item .image-area img {
        display: block;
        margin: 0 auto;
        max-width: 280px;
        position: static;
        width: unset;
    }

    .inner-banner{
        background: url('../img/banner-bg.webp');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .inner-banner .content {
        padding: 50px 0px;
        text-align: center;
    }
}

@media (max-width: 768px) {
    :root {
        --body-size: 17px;
        --body-line: 27px;
        --h1-size: 36px;
        --h2-size: 30px;
        --h3-size: 21px;
        --section-space: 60px;
    }

    header .topbar .item {
        flex-wrap: wrap;
        gap: 6px;
        justify-content: center;
        text-align: center;
    }

    header .topbar {
        display: none;
    }

    .home-banner {
        margin-top: 85px;
        padding: 50px 0 60px;
    }

    .home-banner .button-area {
        align-items: stretch !important;
        flex-direction: column;
    }

    .home-banner .button-area .btn {
        width: 100%;
    }

    .home-banner .form-area {
        border-radius: 20px;
        padding: 30px 22px;
    }

    .home-banner .form-area .image-right img {
        display: none;
    }

    .home-about {
        padding: 60px 0;
    }

    .home-services .item img {
        margin-top: -60px;
        max-width: 110px;
    }

    .top-cta br {
        display: none;
    }

    .home-testimonials .item {
        padding: 30px 22px;
    }

    .home-testimonials .item .bottom {
        align-items: flex-start !important;
        flex-direction: column;
        gap: 15px;
    }

    .bottom-cta .item {
        padding: 45px 25px;
        text-align: center;
    }

    footer .copyright .item {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    footer .main-footer{
        text-align: center;
    }

    footer .main-footer .quick-links ul.links{
        list-style-type: none;
        padding: 0;
    }

    footer .main-footer ul.social{
        justify-content: center;
    }

    .inner-banner {
        margin-top: 86px;
    }

    .insulation-banner{
        margin-top: 40px;
    }

    .insulation-banner-main{
        margin-top: 86px;
    }
}

@media (max-width: 600px) {
    :root {
        --body-size: 16px;
        --body-line: 26px;
        --h1-size: 32px;
        --h2-size: 28px;
        --h3-size: 20px;
        --section-space: 55px;
    }

    .btn-blue,
    .btn-white {
        padding: 11px 16px;
        white-space: normal;
    }

    .home-banner .content,
    .home-insulation-company .content,
    .home-quote-form .content {
        text-align: center;
    }

    .home-banner ul li {
        align-items: flex-start !important;
        text-align: left;
    }

    .home-insulation-services .item {
        align-items: flex-start;
        gap: 12px;
    }

    .home-insulation-services .item img {
        max-width: 64px;
    }

    .home-services .item {
        margin-bottom: 18px;
    }

    .home-blogs .item .content h3 {
        font-size: var(--h3-size);
    }

    .home-insulation-services .services-line {
        height: calc(100% - 126px);
        left: 31px;
    }
}

@media (max-width: 500px) {
    :root {
        --h1-size: 31px;
        --h2-size: 27px;
        --section-space: 50px;
    }

    .home-banner .form-area {
        padding: 26px 18px;
    }

    .home-insulation-services .item {
        margin-top: 32px !important;
    }

    .home-insulation-services .item:first-of-type {
        margin-top: 0 !important;
    }

    .home-testimonials .testimonials-nav {
        justify-content: center;
    }

    footer .main-footer .quick-links {
        margin-top: 15px !important;
    }

    .insulation-banner-main .button-area{
        display: grid !important;
    }
}

@media (max-width: 430px) {
    :root {
        --h1-size: 30px;
        --h2-size: 26px;
    }

    .container {
        padding-left: 18px;
        padding-right: 18px;
    }


    .home-insulation-services .services-line {
        height: calc(100% - 160px);
        left: 29px;
    }

    .home-insulation-services .item img {
        max-width: 58px;
    }

    .home-testimonials .item {
        padding: 24px 18px;
    }

    .bottom-cta .item {
        border-radius: 22px;
        padding: 38px 18px;
    }
}

@media (max-width: 375px) {
    :root {
        --h2-size: 25px;
        --section-space: 45px;
    }

    .home-insulation-services .item {
        gap: 10px;
    }

    .home-insulation-services .services-line {
        left: 26px;
    }

    .home-insulation-services .item img {
        max-width: 52px;
    }

    .home-services .item {
        padding: 18px;
    }
}
