html, body{
    height: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body{
    font-size: 16px;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    font-weight: normal;
    background-color: white;
    font-family: 'Walsheim';
    color: black;
}


main.main{
    flex: 1 1 auto;
    background: rgba(255, 255, 255, 1);
}

h1,h2,h3{
    font-family:'Walsheim';
    margin: 0;
}

/*Fonts*/
@font-face {
    font-family: 'Walsheim';
    src: url('../fonts/GTWalsheimProRegular.woff2') format('woff2'),
        url('../fonts/GTWalsheimProRegular.woff') format('woff'),
        url('../fonts/GTWalsheimProRegular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Walsheim';
    src: url('../fonts/GTWalsheimProBold.woff2') format('woff2'),
        url('../fonts/GTWalsheimProBold.woff') format('woff'),
        url('../fonts/GTWalsheimProBold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Walsheim';
    src: url('../fonts/GTWalsheimPro-CondensedBlack.woff2') format('woff2'),
        url('../fonts/GTWalsheimPro-CondensedBlack.woff') format('woff'),
        url('../fonts/GTWalsheimPro-CondensedBlack.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/*Fonts end*/


/*Common rules*/


.hover-from-left{
    a{
        position: relative;
        text-decoration: none;
        &::after{
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px; /* Толщина подчеркивания */
            background-color: black; /* Цвет подчеркивания */
            transition: width 0.3s ease; /* Плавное расширение */
        }
        &:hover::after{
            width: 100%; /* Подчеркивание растягивается на всю длину */
        }
    }
}

.hover-from-left-wh{
    a{
        position: relative;
        text-decoration: none;
        &::after{
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px; /* Толщина подчеркивания */
            background-color: white; /* Цвет подчеркивания */
            transition: width 0.3s ease; /* Плавное расширение */
        }
        &:hover::after{
            width: 100%; /* Подчеркивание растягивается на всю длину */
        }
    }
}


/*Common rules end*/









/*=======Header rules=========*/

.header{
    padding-top: 24px;
    padding-bottom: 84px;
    background: linear-gradient(rgba(0, 0, 0, 0.74), rgba(0, 0, 0, 0.74)),
       url(../img/header-bg.png) no-repeat center right / cover;
    color: white;
}

.header-nav{
    text-align: center;
}

.header-logo{
    margin-bottom: 52px;
}

.header-nav_subtitle{
    color: rgba(255, 193, 7, 1);
    font-size: 25px;
}

.header-title{
    display: flex;
    align-items: center;
    gap: 34px;
    justify-content: center;
    margin-bottom: 16px;
}

.header-title_left h1{
    font-weight: 800;
    font-size: 45px;
    color: white;
}

.header-title_right{
    background-color: rgba(255, 193, 7, 1);
    border-radius: 12px;
    color: black;
    padding: 11px 11px 0px 21px;
    text-align: left;
}

.htr_subtitle{
    font-size: 45px;
    font-weight: 800;
    line-height: 50px;
    letter-spacing: 0.05em;
}

.header-subtitle{
    text-align: center;
    padding: 0 340px;
    font-size: 25px;
    font-weight: 800;
}

.header-phone  {
    text-align: center;
    a {
        font-size: 72px;
        letter-spacing: 0.1em;
        font-weight: 800;
        color: white;
    }  
}

.header-ul{
    ul{
        display: flex;
        list-style: none;
        gap: 69px;
        justify-content: center;
        padding: 0;
        li{
            display: flex;
            align-items: center;
        }
    }
}

.h-li_left{
    background: rgba(255, 193, 7, 1);
    width: 17px;
    height: 107px;
    margin-right: 33px;
}

.h-li_right {
    letter-spacing: 0.035em;
}

.h-li_title{
    font-size: 18px;
    font-weight: 800;
}

.h-li_subtitle{
    font-size: 35px;
    font-weight: 800;
}

.h-li_title-custom{
    margin-bottom: 7px;
}

@media (max-width:1140px){
    .header-subtitle{
        padding: 0 270px;
    }
}

@media (max-width:1000px){
    .header-subtitle{
        padding: 0 200px;
    }
    .header-ul{
        ul{
            gap: 25px;
        }
    }
    .h-li_left{
        margin-right: 15px;
    }
}

@media (max-width:840px){
    .header-subtitle{
        padding: 0 130px;
    }
    .header-ul{
        ul{
            flex-direction: column;
            gap: 45px;
        }
    }
    .h-li_left{
        height: 120px;
    }
    .h-li_title{
        font-size: 25px;
    }
    .h-li_subtitle{
        font-size: 45px;
    }
    .h-li_left{
        margin-right: 30px;
    }
}

@media (max-width:710px){
    .header-phone{
        a{
            font-size: 60px;
        }
    }
    .header-subtitle{
        padding: 0 60px;
    }
}

@media (max-width:639.9px){
    .header-title{
        flex-direction: column;
        gap: 22px;
        text-align: center;
    }
    .header-title_right{
        text-align: center;
    }
    .header-logo{
        margin-bottom: 33px;
    }
    .header-phone a{
        font-size: 48px;
    }
}

@media (max-width:530px){
    .header-subtitle{
        padding: 0px;
    }
    .h-li_left{
        height: 80px;
    }
    .h-li_title{
        font-size: 18px;
    }
    .h-li_subtitle{
        font-size: 35px;
        line-height: 37px;
    }
}

@media (max-width:460px){
    .header-phone a{
        font-size: 38px;
        letter-spacing: normal;
    }
}


/*=======Header rules end=========*/




/*========= Main rules =============*/

/*Evacuate*/

.Evacuate{
    margin-bottom: 99px;
    padding-top: 101px;
    h2,h3{
        color: black;
    }
}

.evac-title{
    font-size: 40px;
    font-weight: 800;
    text-align: center;
}


.evac-grid{
    margin-top: 47px;
}
.evac-card{
    border-radius: 22px;
    border: 1px solid rgba(212, 212, 212, 1);
    box-shadow: 0px 15px 15px 0px rgba(0, 0, 0, 0.05);
    padding: 28px 18px 51px 18px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.discount-img{
    position: absolute;
    top: 0;
    left: 0;
    padding: 13px 25px 10px 26px;
    background-color: rgba(255, 193, 7, 1);
    font-size: 25px;
    font-weight: 800;
    color: white;
    border-top-left-radius: 22px;
    border-bottom-right-radius: 22px;
    line-height: 18px;
}
.card-img{
    height: 197px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-content{
    text-align: center;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-title{
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 40px;
}

.card-btn{
    margin-top: auto;
}

.card-btn a{
    box-sizing: border-box;
    display: inline-block;
    color: black;
    font-weight: 800;
    padding: 16px 0;
    border: 1px solid rgba(255, 193, 7, 1);
    border-radius: 22px;
    width: 100%;
    transition: all 0.3s ease;
    &:hover{
        background-color: rgba(255, 193, 7, 1) ;
        color: white;
    }
}

@media (max-width:639.9px){
    .Evacuate{
        padding-top: 35px;
    }
    .evac-grid{
        margin-top: 35px;
    }
}


@media (max-width:440px){
    .evac-title{
        font-size: 35px;
    }
}

@media (max-width:390px){
    .evac-title{
        font-size: 25px;
    }
}




/*What To Do*/

.WhatToDo{
    background: linear-gradient(rgba(0, 0, 0, 0.74), rgba(0, 0, 0, 0.74)),
   url(../img/WhatToDo-bg.png) no-repeat 35% / cover;
    color: white;
    padding-top: 79px;
    padding-bottom: 104px;
    margin-bottom: 67px;
}

.whtd-title{
    font-size: 35px;
    font-weight: 800;
    color: white;
    text-align: center;
    margin-bottom: 31px;
}

.whtd-subtitle{
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.whtd-ul{
    padding-top: 72px;
    ul{
        list-style: none;
        display: flex;
        gap: 30px;
        padding: 0;
        li:nth-child(2){
            padding-right: 20px;
        }
    }
}

.wh-li_number{
    flex-shrink: 0;
    width: 100px;
    height: 95px;
    border: 1px solid rgba(255, 193, 7, 1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    font-weight: 800;
    margin-bottom: 27px;
}

.wh-li_title{
    font-size: 16px;
    font-weight: bold;
    color: white;
    margin-bottom: 14px;
}

.wh-li_phone{
    display: inline-flex;
    box-sizing: content-box;
}

.wh-li_phone a{
    margin-top: 10px;
    font-size: 25px;
    display: flex;
    gap: 9px;
    align-items: center;
    color: white;
    font-weight: 800;
}

@media (max-width:1199.9px){
    .whtd-ul{
        ul{
            gap: 40px;
            flex-wrap: wrap;
            li{
                flex: 0 0 calc(50% - 40px); /* Ширина 50% минус отступы */
                box-sizing: border-box;
                margin-bottom: 20px;
            }
        }
    }
}

@media (max-width:800px){
    .whtd-ul{
        ul{
            display: block;
            li{
                margin-bottom: 40px;
                display: flex;
                gap: 20px;
            }
        }
    }
}

@media (max-width:460px){
    .whtd-title{
        font-size: 25px;
    }
    .wh-li_number{
        width: 56px;
        height: 53px;
        font-size: 48px;
    }
    .wh-li_phone a{
        font-size: 22px;
    }
}



/*FAQ*/

.FAQ{
    padding-bottom: 125px;
}
.faq-title h2{
    color: black;
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 44px;
    padding-right: 50px;
}   


@media (max-width:639.9px){
    .FAQ{
        padding: 0 30px 125px 30px;
    }
}

@media (max-width:500px){
    .faq-title h2{
        font-size: 25px;
        padding-right: 0;
    }
}

@media (max-width:440px){
    .FAQ{
        padding: 0 5px 60px 5px;
    }
}




/*=======Main rules end=======*/

/*=======Footer rules======*/
.footer{
    background-color: rgba(0, 0, 0, 1);
    padding-top: 32px;
    padding-bottom: 39px;
}
.footer-text{
    text-align: center;
    color: white;
}


@media (max-width:370px){
    .footer-text{
        font-size: 14px;
    }
}

