@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

::selection {
    background-color:  #f1223f;
    color: #fff;
}
body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.5;
    color: #333;
    background-color: #ffffffd2;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: #333;
}


/* Header section */

.header_section {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color:  #eec899;
    color: #815229;
}

.header_section {
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 150px;
}

.header_list {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    grid-column-gap: 20px;
    overflow-wrap: anywhere;
    justify-content: space-between;
    width: 1200px;
    
}
.header_menu_sect{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.header_menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    list-style: none;
}
.header_menu_item.active{
    color: #ffffff;
}
.header_menu_item{
    color: #815229;
    font-size: 32px;
    font-weight: 500;
    transition: all 0.3s ease;
    letter-spacing: 3px;
}
.header_menu_item:hover{
    color: #ffffff;
    transition: all 0.3s ease;
}


.header_menu_item_card{
    padding: 20px;
    transition: all 0.3s ease; 
     
}
.header_menu_item_card:hover{
    background-color: #5225004d;
    transition: all 0.3s ease;
    border-radius: 15px;

}
.logo_section{
    display: flex;
    align-items: center;
    width: 150px;
    height: 150px;
}
.logo{
    width: 100%;
    height: 100%;
}

.number_sect {
    display: flex;
    justify-content: center;
    align-items: center;
    gap:10px;
}

.number_img{
    filter: invert(34%) sepia(12%) saturate(2365%) hue-rotate(346deg) brightness(95%) contrast(89%);
    width: 40px;
    height: 40px;
}


.number {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.7;
    color: #815229;
    transition: all 0.3s ease;
}


.number:hover{
    color: #ffffff;
    transition: all 0.3s ease;
}

.hamburger-menu{
    display: none;
}

/* Hero Section */


.hero_section {
    background-image: url(../img/hero_build.jpeg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 750px;
}

.hero_content {
    background-color: #3f2d2dbd;
    width: 100%;
    height: 100%;
}



.hero_text {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    height: 100%;
}

.hero_title {
    font-size: 64px;
    font-weight: 700;
    line-height: 1.7;
    color: #ffffff;
    text-align: center;
}



.hero_subtitle {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.7;
    color: #ffffff;
    text-align: center;
}

.hero_sub {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.7;
    color: #ffffff;
    width: 1000px;
    text-align: center;
}

/* Service Section*/


.service_section {

}

.service_sect {
    max-width: 1250px;
    margin: 0 auto;
    padding: 50px 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.service_title {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.1;
    color: #000000;
    text-align: center;
    font-family: Poppins, sans-serif;
    margin: 0;
}


.service_subtitle {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.1;
    color: #000000;
    text-align: center;
    font-family: Poppins, sans-serif;
}


.service_cards {
    display: grid;
    grid-template-columns: auto auto;
    gap: 20px;

}

.service_card {
    display: flex;
    gap: 10px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
    width: auto;
    align-items: center;
}

.service_card:hover {
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2)
}
.service_card_title{
    font-size: 30px;
    font-weight: 500;
    line-height: 1.7;
    color: #000000;
    font-family: Poppins, sans-serif;
}

.service_img {
    width: 80px;
    height: 80px;
    object-fit: cover;
}

.service_sub {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;
    color: #000000;
    font-family: Poppins, sans-serif;
    margin-top: 20px;
}


/* why section */

.why_section {
    background-color: #ffffff;
    padding: 50px 0;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    font-family: Poppins, sans-serif;
}

.why_sect{
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.why_title {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.1;
    color: #000000;
    text-align: center;
}


.why_items {
    display: flex;
    flex-direction: column;
    gap: 20px;

}

.why_item {
    font-size: 24px;
}

.why_subtitle {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1;
    color: #000000;
    font-family: Poppins, sans-serif;
}

/* before-after section */

 .before-after_section {
    background-color: #ffffff;
    padding: 50px 0;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    font-family: Poppins, sans-serif;
}

.before-after_title {
    font-size: 36px;
    font-weight: 500;
} 

 .before-after {
        width: 1200px;
} 

.before-after_img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    object-position: center;
}


/* contact section */
.contact_section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    font-family: Poppins, sans-serif;
    padding: 50px 0;
    
}

.contact_title {
    font-size: 34px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

.contact_form_section {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 20px;
    font-family: Poppins, sans-serif;
    max-width: 1200px;
    width: 100%;
    justify-items: center;
    align-items: center;

}

.contact_form_text {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-family: Poppins, sans-serif;
}

.contact_form_title {
 font-size: 24px;
 font-weight: 500;
 line-height: 1.7;
 text-align: center;
}

.contact_form_subtitle {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

.contact_form_sub {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.contact_form_subtitle {

}

.btn_call {
    padding: 10px 10px;
    border: none;
    border-radius: 10px;
    background-color: #f1223f;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;

}

.btn_call:hover {
    transition: all 0.3s ease;
    background-color: #ac192c;
    box-shadow: 0 5px 10px #ac192dd7;
}

.contact_form {
    display: grid;
    grid-template-columns: 1fr 1fr 0.5fr;
    gap: 20px;
    font-family: Poppins, sans-serif;
    max-width: 1200px;
    width: 100%;
    justify-items: center;
    padding: 40px 20px;
    border-radius: 10px;
}

.contact_form_input {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    font-family: Poppins, sans-serif;
    border-radius: 10px;
    border: 0.5px solid #3d0910;
    transition: all 0.3s ease;
}

.contact_form_input:focus {
    outline: none;
    border: 0.5px solid #4676d7;
    transition: all 0.3s ease;
}

.contact_form_input::placeholder {
    color: #3d0910;
    transition: all 0.3s ease;
}
.contact_form_input:focus::placeholder{
    opacity: 0;
    transition: all 0.3s ease;
}

.contact_form_button {
    min-width: 100px;
    appearance: none;
    border: 0;
    border-radius: 5px;
    background: #4676d7;
    color: #fff;
    padding: 8px 16px;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: Poppins, sans-serif;
    font-weight: 600;
    width: 100%;
}
.contact_form_button:hover{
      background: #1d49aa;
}

.contact_form_button:focus{
    outline: none;
    box-shadow: 0 0 0 4px #cbd6ee
}


/* footer section */
.footer_section {
}
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}
.footer_content {
    display: grid;
    grid-template-columns: 300px 300px;
    gap: 20px;
    padding: 50px 0;
    justify-items: center;
    align-items: center;
    justify-content: center;
}
.footer_logo {

}
.footer_logo_img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}




.footer_contact {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.footer_cont_title{
    font-size: 22px;
    font-family: Poppins, sans-serif;
    font-weight: 500;
    line-height: 1.3;
}
.footer_contact_title {
    font-family: Poppins, sans-serif;
    line-height: 1.3;
    font-weight: 400;
    font-size: 16px;
}
.footer_contact_text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    

}
.footer_number {
    font-size: 30px;
    font-weight: 600;
    transition: all 0.3s ease;    
}
.footer_number:hover{
    color: #f1223f;
    cursor: pointer;
    transition: all 0.3s ease;
}
.footer_contact_subtitle {
    font-family: poppins, sans-serif;
    font-weight: 400;
    font-size: 16px;
}
.footer_contact_days {

}


.copyright {
    width: 100%;
    border-top: 1px black solid;
    display: flex;
    justify-content: center;
    padding: 30px 0;
}
.copyright_text {
    font-size: 16px;
    font-family: poppins, sans-serif;
    font-weight: 400;
    line-height: 1.3;
    opacity: 0.8;
}


/* adaptive */
@media (max-width: 1258px) {
    /* header */
    .logo_section{
        width: 80px;
        height: 80px;
    }
    
    .header_menu{
        display: none;
    }

    .hamburger-menu{
        display: block;
    }
    
    #menu__toggle {
      opacity: 0;
    }
    
    #menu__toggle:checked ~ .menu__btn > span {
      transform: rotate(45deg);
    }
    #menu__toggle:checked ~ .menu__btn > span::before {
      top: 0;
      transform: rotate(0);
    }
    #menu__toggle:checked ~ .menu__btn > span::after {
      top: 0;
      transform: rotate(90deg);
    }
    #menu__toggle:checked ~ .menu__box {
      visibility: visible;
      right: 0px ;
    }
    
    .menu__btn {
      display: flex;
      align-items: center;
      position: fixed;
      top: 20px;
      right: 20px;
    
      width: 26px;
      height: 36px;
    
      cursor: pointer;
      z-index: 1;
    }
    
    .menu__btn > span,
    .menu__btn > span::before,
    .menu__btn > span::after {
      display: block;
      position: absolute;
    
      width: 100%;
      height: 2px;
    
      background-color: #616161;
    
      transition-duration: .25s;
    }
    .menu__btn > span::before {
      content: '';
      top: -8px;
    }
    .menu__btn > span::after {
      content: '';
      top: 8px;
    }
    
    .menu__box {
      display: block;
      position: fixed;
      visibility: hidden;
      top: 0;
      right: -100%;
    
      width: 150px;
      height: 100%;
    
      margin: 0;
      padding: 80px 0;
    
      list-style: none;
    
      background-color: #eec899;
      box-shadow: 1px 0px 6px rgba(0, 0, 0, .2);
    
      transition-duration: .25s;
    }
    
    .menu__item {
      display: block;
      padding: 12px 24px;
      text-align: center;
      color: #333;
    
      font-family: 'Roboto', sans-serif;
      font-size: 20px;
      font-weight: 600;
    
      text-decoration: none;
    
      transition-duration: .25s;
    }
    .menu__item:hover {
      background-color: #d3b188;
    }

    .why_items{
        margin-left: 50px;
    }
    .why_subtitle{
        text-align: left;
        margin-left: 28px;
    }


    .hero_sub{
        font-size: 20px;
        max-width: 100%;
        padding: 0 15px;
    }

    .before-after{
        width: 1000px;
    }
    .before-after_img{
        height: 400px;
    }

    .contact_form_input::placeholder{
        font-size: 16px;
    }

    /* footer section */
    .footer_content{
        grid-template-columns: 1fr 1fr ;
        align-items: center;
    }
    .footer_links{
        display: none;
    }
    .footer_title{
        font-size: 28px;
    }

}
@media (max-width: 1076px) {
    .before-after{
        width: 800px;
    }
    .before-after_img{
        height: 400px;
    }
}

@media (max-width: 808px) {
    .service_cards{
        grid-template-columns: 1fr;
    }
    .service_card_title{
        font-size: 24px;
    }

    .why_item{
        font-size: 22px;
    }
    .before-after{
        width: 700px;
    }
    .before-after_img{
        height: 350px;
    }

    .contact_title{
        font-size: 30px;
    }

    .contact_form_title{
        font-size: 20px;
        padding: 0 10px;
    }


    .contact_form{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .contact_form_input::placeholder{
        font-size: 18px;
    }
    .footer_number{
        font-size: 20px;

    }
    .contact_title{
        font-size: 24px;

    }


    .footer_logo_img{

    }

    

    .footer_content{
        grid-template-columns: 200px 200px ;
        justify-content: center;
        
        
    }
    .footer_links{
        display: block;
    }
    .footer_title{
        font-size: 24px;
        text-align: center;
    }

}

@media (max-width: 706px) {
        .before-after{
        width: 576px;
    }
    .before-after_img{
        height: 350px;
    }
    .footer_content{
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 576px) {
    
    .hero_title {
        font-size: 36px;
    }
    .hero_subtitle{
        font-size: 26px;
    }
    .hero_sub{
        font-size: 20px;
    }
    .before-after{
        width: 450px;
    }
    .before-after_img{
        height: 300px;
    }
    .copyright_text{
        font-size: 12px;
    }
    .container {
        padding: 0;

    }
    .service_card_title{
        font-size: 20px;    
    }

}

@media (max-width: 480px) {

    .hero_title{
        font-size: 32px;
    }
    .hero_subtitle{
        font-size: 22px;
    }
    .hero_sub{
        font-size: 18px;
    }
    .before-after{
        width: 400px;
    }
    .before-after_img{
        height: 250px;
    }
}

@media (max-width: 414px) {
        .before-after{
        width: 350px;
    }
    .before-after_img{
        height: 250px;
    }
}

@media (max-width: 355px) {
    .before-after{
        width: 300px;
    }
    .before-after_img{
        height: 200px;
    }
}
@media (max-width: 576px) {
    .copyright_text{
        font-size: 12px;
    }
}
@media (max-width: 425px) {
    .footer_number{
        font-size: 24px;
    }
}
@media (max-width: 375px) {
    .footer_number{
        font-size: 20px;
    }
    .footer_cont_title{
        font-size: 18px;
    }
    .footer_contact_subtitle{
        font-size: 12px;
    }
    .container{
        padding: 0;
    }

    
}
@media (max-width: 348px) {
        .copyright_text{
        font-size: 10px;
    }
}