
@media (max-width: 1800px) {
    h1, .h1, .def-page h1 { font-size: 52px; line-height: 62px; }
    h2, .h2, .def-page h2 { font-size: 42px; line-height: 52px; }
  h3, .h3, .def-page h3 {
        font-size: 36px;
        line-height: 42px;
    }
    h4, .h4, .def-page h4 { font-size: 33px; line-height: 42px; }
    h5, .h5, .def-page h5 { font-size: 27px; line-height: 35px; }
    h6, .h6, .def-page h6 { font-size: 21px; line-height: 29px; }
    


 .header-logo img { max-width: 290px; }
.header-btn { gap: 25px; }
.header-btn .button { padding: 13px 35px; font-size: 17px; }
header nav ul { gap: 45px; }
header nav ul li a { font-size: 20px; }

    .banner { padding: 65px 0; }
    .banner_content { gap: 50px; }
.banner_content .banner-left h1 { font-size: 50px; line-height: 60px; }
.banner_content .banner_form h2 { font-size: 30px; line-height: 38px; }
 .footer-top .container { gap: 180px; }
.footer-list { max-width: 65%; }
.footer-list .footer-left ul { column-gap: 50px; }

}

@media (max-width: 1600px) {
   h1, .h1, .def-page h1 { font-size: 48px; line-height: 54px; }   
     h2, .h2, .def-page h2 { font-size: 38px; line-height: 46px; }
 h3, .h3, .def-page h3 { font-size: 32px; line-height: 42px; }  
   h4, .h4, .def-page h4 { font-size: 31px; line-height: 39px; }
    h5, .h5, .def-page h5 { font-size: 26px; line-height: 34px; }
    h6, .h6, .def-page h6 { font-size: 20px; line-height: 28px; }
 .def-page ul li{overflow: hidden;}
.def-page ul { overflow: unset; }
  .header-logo img { max-width: 260px; }
    .header-btn { gap: 20px; }
.header-btn .button { padding: 12px 28px; }
header nav ul { gap: 35px; }
 header nav ul li a { font-size: 19px; }
.banner { padding: 60px 0; }
.testimonial {
    padding: 70px 0;
}
.faq { padding: 60px 0; }
.banner_content { gap: 35px; }
 .banner_content .banner-left h1 { font-size: 46px; line-height: 55px; }
 .banner_content .banner_form { padding: 25px 20px; }
.banner_content .banner_form h2 { font-size: 27px; line-height: 35px; }

 .footer-top .container {
        gap: 120px;
    }

    .footer-top .footer-logo {
        width: 280px;
       
    }

    .footer-list {
        max-width: 100%;
        gap: 40px;
    }

    .footer-list .footer-left ul {
        column-gap: 35px;
    }

    .footer-list .footer-left ul li a {
        font-size: 18px;
    }

    .footer-top h2 {
        font-size: 22px;
    }




}

@media (max-width: 1400px) {
  h1, .h1, .def-page h1 {
        font-size: 44px;
        line-height: 52px;
    }    h2, .h2, .def-page h2 { font-size: 38px; line-height: 46px; }
  h3, .h3, .def-page h3 {
        font-size: 28px;
        line-height: 36px;
    }    h4, .h4, .def-page h4 { font-size: 29px; line-height: 36px; }
    h5, .h5, .def-page h5 { font-size: 24px; line-height: 31px; }
    h6, .h6, .def-page h6 { font-size: 20px; line-height: 27px; }

     .service { padding: 60px 0; }
    .service_item .service_box .service_img { height: 300px; }
.service_item .service_box h3 { font-size: 25px; line-height: 32px; }

    .map { padding: 60px 0; }
.map-inr { gap: 30px; }
.map-item ul li { font-size: 16px; line-height: 24px; }

    .header-logo img { max-width: 230px; }
    .header-btn { gap: 15px; }
    .header-btn .button { padding: 11px 22px;  }
    header nav ul { gap: 25px; }
    .banner { padding: 50px 0; }
    .banner_content { gap: 25px; }
.banner_content .banner-left { max-width: 52%; }
.banner_content .banner-left h1 { font-size: 42px; line-height: 50px; }
.banner_content .banner_form { max-width: 45%; padding: 22px 16px; }
    .banner_content .banner_form h2 { font-size: 24px; line-height: 31px; }
 .button, a.button, button, html input[type="button"], input[type="reset"], input[type="submit"] { font-size: 20px; line-height: 24px; padding: 10px 22px; }
.faq {
        padding: 70px 0;
    }

    .faq_main {
        gap: 30px;
    }

    .accordion-item {
        max-width: calc(50% - 15px);
    }

    .accordion-header {
        font-size: 22px;
        line-height: 30px;
    }



}

@media (max-width: 1200px) {
    h1, .h1, .def-page h1 { font-size: 40px; line-height: 48px; }
    h2, .h2, .def-page h2 { font-size: 34px; line-height: 41px; }
 h3, .h3, .def-page h3 {
        font-size: 26px;
        line-height: 34px;
    }    h4, .h4, .def-page h4 { font-size: 26px; line-height: 33px; }
    h5, .h5, .def-page h5 { font-size: 22px; line-height: 29px; }
    h6, .h6, .def-page h6 { font-size: 18px; line-height: 25px; }
 .header-btn a.button { padding: 14px 45px; }
.service { padding: 50px 0; }
.map, .testimonial { padding: 50px 0; }
.faq { padding: 50px 0; }
.accordion-header::before { background-size: 30px !important; }
.header-btn a.button.call { background-position: 25px; background-size: 15px; }
.header-btn { gap: 10px; }
.header-btn .button { padding: 10px 15px;  }
.service_inr { padding: 12px 0 20px; }

 .banner { padding: 40px 0; }
.banner_content { gap: 20px; }
.banner_content .banner-left { max-width: 50%; }
.banner_content .banner-left h1 { font-size: 36px; line-height: 44px; }
.banner_content .banner_form { max-width: 48%; padding: 18px 12px; }
    .banner_content .banner_form h2 { font-size: 21px; line-height: 28px; }
 .banner_content input, .banner_content textarea { font-size: 16px; line-height: 20px; }



  .button, a.button, button,
    html input[type="button"],
    input[type="reset"],
    input[type="submit"] {
        font-size: 18px;
        line-height: 22px;
        padding: 10px 20px;
    }
    .faq {
        padding: 60px 0;
       
    }

    .faq h2 {
        padding-bottom: 28px;
    }

    .faq_main {
        gap: 25px;
    }

    .accordion-item {
        max-width: calc(50% - 12.5px);
    }

    .accordion-header {
        font-size: 20px;
        line-height: 28px;
        padding: 15px 45px 15px 15px;
    }
}

@media (max-width: 1023px) {
    .container { padding: 0 40px; }

  h1, .h1, .def-page h1 { font-size: 36px; line-height: 44px; }
     h2, .h2, .def-page h2 { font-size: 30px; line-height: 36px; }
    h3, .h3, .def-page h3 { font-size: 24px; line-height: 30px; }
    h4, .h4, .def-page h4 { font-size: 21px; line-height: 27px; }
    h5, .h5, .def-page h5 { font-size: 18px; line-height: 24px; }
    h6, .h6, .def-page h6 { font-size: 16px; line-height: 22px; }

    .header-top .container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 15px; }
    .header-logo { width: 100%; text-align: center; }
.header-logo img { max-width: 78%;
} .header-btn { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
    .header-btn .button { padding: 10px 20px; }
header nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 22px; }
.cols-4 { max-width: 33%;
}.service_item { padding: 0 5px; }
.map, .testimonial { padding: 40px 0; }
 .service { padding: 40px 0; }
      .button, a.button, button, html input[type="button"], input[type="reset"], input[type="submit"] { font-size: 17px; line-height: 21px; padding: 9px 18px; }
    .service_inr { padding: 12px 0 0px; }
.map-item ul { column-count: 2; column-gap: 29px; padding-bottom: 9px; }
.faq { padding: 40px 0; }
  .faq_main { gap: 20px; }
.footer-top .container { gap: 60px;
}.footer-list .footer-left ul { column-gap: 5px; }
    .accordion-item { max-width: calc(50% - 10px); }
.footer-list { gap: 15px; }
    .accordion-header { font-size: 18px; line-height: 26px; padding: 14px 40px 14px 12px; }
    .accordion-header::before { width: 25px; top: 20px; right: 10px; }
    .accordion-content { padding: 0 15px; }
.accordion-content p { font-size: 15px; line-height: 24px; }

    .footer-top h2{    padding: 0 0 10px;}

    .menu-toggle {
        display: block;
        width: 28px;
        height: auto;
        cursor: pointer;
        position: relative;
        z-index: 1001;
    }

    .menu-toggle span {
        display: block;
        width: 28px;
        height: 3px;
        margin: 6px 0;
        background: #000;
        border-radius: 3px;
        transition: .3s;
    }

    /* Navigation */
    header nav ul{
        position: fixed;
        width: 60%;
        height: 100vh;
        right: 0;
        top: 0;
        padding: 80px 25px 20px;
        background: var(--white-color);
        transform: translateX(100%);
        transition: transform .5s;
        z-index: 999;
        overflow-y: auto;
    }

    header nav.open {
        transform: translateX(0);
        border-left: 2px solid var(--btn-color);
        box-shadow: -8px 0 25px rgba(0,0,0,.3);
    }

    /* Main Menu */
    header nav .container > ul {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    header nav ul li {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid var(--black-color);
    }

    header nav ul li a {
        display: block;
        width: 100%;
        padding: 12px 0;
        color: var(--black-color);
        font-size: 18px;
        line-height: 1.3;
        text-decoration: none;
    }

    /* Sub Menu */
    header nav ul li .sub-menu {
        position: relative;
        display: none;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        visibility: visible;
        opacity: 1;
        transform: none;
        left: 0;
        border-radius: 2px;
    }

    /* Sub Menu Expand */
    .menu-expand {
        display: block;
        width: 28px;
        height: 28px;
        background: var(--btn-color);
        position: absolute;
        right: 0;
        top: 8px;
        border-radius: 4px;
        z-index: 5;
        cursor: pointer;
    }

    .menu-expand::after {
        content: "";
        width: 8px;
        height: 8px;
        border-right: 2px solid var(--white-color);
        border-bottom: 2px solid var(--white-color);
        position: absolute;
        top: 7px;
        left: 9px;
        transform: rotate(45deg);
        transition: .3s;
    }

    .menu-expand.menu-clicked::after {
        top: 10px;
        transform: rotate(225deg);
    }

    /* Hamburger Close Icon */
    .menu-toggle.active {
        position: fixed;
        top: 23px;
        right: 18px;
        z-index: 1002;
    }

    .menu-toggle.active span:first-child {
        transform: rotate(45deg);
        position: relative;
        top: 9px;
        background: var(--black-color);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
        visibility: hidden;
    }

    .menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg);
        position: relative;
        top: -9px;
        background: var(--black-color);
    }

    /* Hover & Active */
    header nav ul li a:hover,
    header nav ul li.current-menu-item > a,
    header nav ul li.current-menu-ancestor > a {
        color: var(--btn-color);
    }
}
@media (max-width: 991px) {
.header-btn a.button { padding: 14px 47px; }
 .banner_content { display: flex; flex-wrap: wrap; justify-content: center; gap: 25px; }
.banner_content .banner-left { width: 100%; max-width: 100%; text-align: center; }
    .banner_content .banner-left h1 { font-size: 32px; line-height: 39px; }
.banner_content .banner_form { width: 100%; max-width: 650px; margin: 0 auto; padding: 22px 18px; }
    .banner_content .banner_form h2 { font-size: 23px; line-height: 30px; }
.banner_content form { display: flex; flex-wrap: wrap; }
    .banner_content form .input-fild.cols-2 { width: 50%; max-width: 50%; flex: 0 0 50%; }
.cols-4 { max-width: 50%; }
.copyright p:last-child { line-height: 20px; }
.copyright { padding: 10px 0; }
     }

@media (max-width: 767px) {
    .container { padding: 0 30px; }

    h1, .h1, .def-page h1 { font-size: 28px; line-height: 34px; }
    h2, .h2, .def-page h2 { font-size: 24px; line-height: 30px; }
    h3, .h3, .def-page h3 { font-size: 21px; line-height: 27px; }
    h4, .h4, .def-page h4 { font-size: 19px; line-height: 25px; }
    h5, .h5, .def-page h5 { font-size: 17px; line-height: 23px; }
    h6, .h6, .def-page h6 { font-size: 15px; line-height: 21px; }

    p { line-height: 22px; }
     .banner { padding: 40px 0; }
     .faq { padding: 40px 0; }

 .button, a.button, button, html input[type="button"], input[type="reset"], input[type="submit"] { font-size: 16px; line-height: 20px; padding: 9px 16px; }
.map, .testimonial { padding: 30px 0; }
.service { padding: 30px 0; }
.service_inr { padding: 10px 0 15px; }
.map-item-freame iframe, .map-item-freame img { width: 100%; height: unset; }
.map-item-freame { max-width: 100%; width: 100%; height: 100%; }.map-inr .map-item { max-width: 100%; width: 100%; }

.map-inr { gap: 20px; flex-direction: column-reverse; }
.service h2 { padding: 0px 0 10px; line-height: 27px; }
.faq { padding: 30px 0; }
.testimonial-inr { padding: 10px 4px 10px; }
    .accordion-header::before { background-size: 25px !important; }
     .footer-top .footer-logo { width: 240px; }
    .faq h2 { padding-bottom: 25px; }
    .faq_main { flex-direction: column; gap: 15px; }
.accordion-item { max-width: 100%; }
.accordion-header { font-size: 17px; line-height: 25px; padding: 14px 45px 14px 14px; }
.accordion-content { padding: 0 15px; }
.accordion-content p { font-size: 14px; line-height: 23px; }
.footer-top .container, .footer-list { gap: 20px; flex-direction: column; }
.copyright { font-size: 15px; }




}
@media (max-width: 481px) {
    .container { padding: 0 20px; }

    h1, .h1, .def-page h1 { font-size: 24px; line-height: 29px; }
    h2, .h2, .def-page h2 { font-size: 21px; line-height: 27px; }
    h3, .h3, .def-page h3 { font-size: 18px; line-height: 24px; }
    h4, .h4, .def-page h4 { font-size: 17px; line-height: 23px; }
    h5, .h5, .def-page h5 { font-size: 15px; line-height: 21px; }
    h6, .h6, .def-page h6 { font-size: 14px; line-height: 20px; }

    p { line-height: 20px; }
     .header-top .container { display: flex; flex-direction: column; align-items: center; gap: 15px; }
   .copyright { font-size: 14px; }
.faq { padding: 30px 0; }
.cols-4 { max-width: 100%; }
    .header-logo { width: 100%; text-align: center; }
.header-btn { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; } 

    .footer-list .footer-left ul li a { font-size: 16px; }
.banner { padding: 30px 0; }
   .footer-top { padding: 30px 0; }
    .banner_content { display: flex; flex-direction: column; flex-wrap: wrap; align-items: center; gap: 22px; }
    .banner_content .banner-left { width: 100%; max-width: 100%; text-align: center; }
.banner_content .banner-left h1 { font-size: 28px; line-height: 34px; }
.banner_content .banner_form { width: 100%; max-width: 100%; margin: 0 auto; padding: 20px 15px; }
.banner_content .banner_form h2 { font-size: 21px; line-height: 27px; }
.banner_content form { display: flex; flex-wrap: wrap; gap: 10px 0; }
.banner_content form .input-fild.cols-2 , .banner_content form .input-fild.cols-1, .banner_content form .input-fild.col-1, .banner_content form .input-fild.submit_section { width: 100%; max-width: 100%; flex: 0 0 100%; flex-wrap: wrap;}
    .banner_content input, .banner_content textarea { width: 100%; max-width: 100%; font-size: 15px; line-height: 20px; } 
  .header-btn a.button.call { background-size: 13px; background-position: 28px; }
    .service { padding: 25px 0; }
    .input-fild.submit_section { gap: 0; }
    .service_inr { padding: 10px 0 10px; }
.testimonial-inr { padding: 10px 4px 0px; }
 .accordion-header { font-size: 16px; line-height: 25px; padding: 5px 38px 5px 6px; }
.accordion-header::before { background-size: 20px !important; top: 12px; right: 10px; }.faq h2 {
    padding-bottom: 15px;
}
.map-item ul li { padding: 4px 0 4px 16px; }
.footer-top .footer-logo { width: 193px; }
.banner_content .banner_form h2 { padding: 0 0 20px;
}


}