* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
::-webkit-scrollbar-button {
    background-image:url('');
    background-repeat:no-repeat;
    width:10px;
    height:0px;
}
::-webkit-scrollbar-track {
    background-color:#fff;
}
::-webkit-scrollbar-thumb {
    -webkit-border-radius: 0px;
    border-radius: 0px;
    background-color:#F4A47D;
}
::-webkit-scrollbar-thumb:hover{
    
}
::-webkit-resizer{
    background-image:url('');
    background-repeat:no-repeat;
    width:10px;
    height:0px;
}
::-webkit-scrollbar{
    width: 10px;
    height: 3px;
}
html{
    height:100%;
    position: relative;
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body{
    position: relative;
    background: #f3efec;
    margin: 0;
    font-size:16px;
    color:#2F2A26;
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
  margin:0;
}
a {
    color: #000;
    text-decoration: underline;
}
a:hover {
    color:#a05850;
    text-decoration: underline;
}
img{
    display: block;
}
ul{
    padding:0;
    margin:0;
}
ul li{
    list-style: none;
}
.container {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  width:100%;
  max-width:1230px;
  padding:0 15px;
  box-sizing: border-box;
}
.d-flex{
    display: flex;
    flex-wrap:wrap;
}
.nowrap{
    flex-wrap: nowrap;
}
.j-between{
    justify-content: space-between;
}
.j-center{
    justify-content: center;
}
.j-end{
    justify-content: flex-end;
}
.a-center{
    align-items: center;
}
.a-start{
    align-items: flex-start;
}
.a-end{
    align-items: flex-end;
}
.dir-column{
    flex-direction: column;
}
.text-right{
    text-align: right;
}
.overlay{
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(1, 23, 17, 0.59);
    position: fixed;
    z-index: 10;
    display: none;
}
.btn{
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition:.3s;
    font-size:16px;
    border:1px solid #E8DDD2;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
    background: #F4A47D;
    color:#fefaf7;
    text-transform: none;
}
.btn:hover{
    text-decoration: none;
    background: #E89267;
    color:#fff;
}
.page-main{
    
}

header{
    padding: 30px 0 0 0;
    z-index: 1;
    position: sticky;
}
header .logo{
    display: flex;
    align-items: center;
    gap:30px;
}
header .logo p{
    font-size: 14px;
    margin:0;
    line-height: 150%;
    font-weight: 600;
}
header nav{
    border:1px solid #f9f5f3;
    background: #fdfbfb;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
    margin:30px 0 0 0;
    border-radius: 24px;
    padding: 0 6px 0 30px;
    display: flex;
    gap:45px;
    align-items: center;
}
header ul{
    display: flex;
    flex:1;
    justify-content: space-between;
}
header ul li{
    padding: 20px 0;
}
header ul li a{
    color:#2F2A26;
    font-size:16px;
    text-decoration: none;
    font-weight: 600;
}
header ul li a:hover{
    color:#E89267;
}
header nav .btn{
    width:170px;
    height: 48px;
}
header nav .parent{
    position: relative;
}
header nav .parent > a{
    padding-right:20px;
    background: url('../images/icon-down.png') no-repeat right center;
    background-size: 10px auto;
}
header nav .parent:hover ul{
    display: flex;
}
header nav .parent ul{
    position: absolute;
    top:100%;
    left:0;
    border-radius: 20px;
    padding:5px 20px 20px 20px;   
    margin-left:-20px; 
    border: 1px solid #f9f5f3;
    background: #fdfbfb;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .04);
    flex-direction: column;
    display: none;
}
header nav .parent ul li{
    padding: 20px 0 0 0;
}
header nav .parent ul li a{
    white-space: nowrap;
}
.header-contacts{
    display: flex;
    align-items: flex-start;
    gap:50px;
}
.header-contacts .adres{
    background: url('../images/icon-adres.png') no-repeat left top 4px;
    padding: 0 0 0 24px;
    font-size: 14px;
    line-height: 150%;
    background-size: auto 20px;
}
.header-contacts .time{
    background: url('../images/icon-time.png') no-repeat left top 4px;
    padding: 0 0 0 22px;
    font-size: 12px;
    line-height: 200%;
    background-size: 16px auto;
}
.header-contacts .time span{
    font-size: 14px;
}
.phones a{
    color: #2F2A26;
    background: url(../images/icon-phone.png) no-repeat left top 2px;
    padding: 1px 0 1px 19px;
    font-size: 14px;
    text-decoration: none;
    font-weight: 600;
    background-size: 16px auto;
}
.phones a:hover{
    text-decoration: underline;
}
.phones{
    display: flex;
    flex-direction: column;
    gap:10px;
}
.phones .callback{
    background: none;
    color:#848a74;
    text-decoration: underline;
}
.phones .callback:hover{
    text-decoration: none;
}
.hero{
    padding: 55px 0 73px 0;
    position: relative;
    min-height: 545px;
    background: url('../images/mrt.jpg') no-repeat right top;
}
.hero:before{
    content:'';
    width:100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    left:0;
    top:0;
    /*background: #f3efec;*/
    background: linear-gradient(to right, #f3efec 0%, transparent 100%);
}
.hero-content{
    max-width: 500px;
}
.hero h1{
    font-family: "Playfair Display", serif;
    color:#2F2A26;
    margin:0;
    font-size: 48px;
    font-weight: 400;
    line-height: 110%;
    letter-spacing: -0.6px;
}
.hero .subtitle{
    color:#ce7c56;
    font-style: italic;
    font-family: "Cormorant Garamond", serif;
    margin:8px 0 0 0;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: -0.2px;
}
.hero p{
    margin:30px 0 0 0;
    font-size: 14px;
    line-height: 150%;
}
.hero-benefits{
    padding: 50px 0 0 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.benefit-item{
    display: flex;
    align-items: center;
    gap:10px;
}
.benefit-item figure{
    width: 43px;
    height: 43px;
    border-radius: 10px;
    background: #fffaf7;
    display: flex;
    align-items: center;
    justify-content: center;
}
.benefit-item span{
    font-size: 14px;
}
.hero-btns{
    display: flex;
    gap:15px;
    padding: 45px 0 0 0;
}
.hero-btns .btn.order{
    width: 225px;
    height: 51px;
    position: relative;
    padding: 0 30px 0 0;
}
.hero-btns .btn.order:after{
    content:'';
    width:14px;
    height: 11px;
    top:19px;
    right: 27px;
    position: absolute;
    background: url('../images/arr.png') no-repeat;
}
.hero-btns .btn.price{
    width: 155px;
    background: #fdfbf9;
    border:1px solid #E8DDD2;
    color:#2F2A26;
    padding: 0;
}
.hero-stats{
    background: rgba(243,239,236,0.8) url('../images/icon-stat.png') no-repeat left 24px top 28px;
    position: absolute;
    bottom: -46px;
    right:0;
    border-radius: 20px;
    padding: 20px 30px 20px 65px;
}
.hero-stats p{
    line-height: 150%;
    font-size: 14px;
    margin:0;
}

/*Услуги*/
.section-service{
    background: #fefefe;
}
.section-service .container{
    padding-top: 40px;
    padding-bottom: 40px;
    
}
.section-service .container:after{
    content: '';
    width: 168px;
    height: 318px;
    position: absolute;
    z-index: 0;
    right:-60px;
    bottom:0;
    background: url('../images/flower.png') no-repeat;
}
.section-service .d-flex{
    gap:20px;
}
.section-service h2{
    font-family: "Playfair Display", serif;
    color:#2F2A26;
    margin:0;
    font-size: 26px;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: -0.6px;
}
.service-wrap{
    flex:1;
}
.service-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.all-service{
    color:#848a74;
    text-decoration: underline;
    font-size: 14px;
}
.service-cards{
    display: flex;
    padding: 20px 0 0 0;
    gap:15px;
}
.card{
    width: calc(25% - 45px/4);
    border-radius: 24px;
    background: #FBF8F4;
    box-shadow: 0 25px 30px rgba(0,0,0,.04);
    padding: 25px 20px 30px 20px;
}
.card h3{
    margin:20px 0 0 0;
    font-size: 16px;
    line-height: 150%;
    font-weight: 500;
}
.card .price{
    margin:25px 0 0 0;
    font-size: 18px;
    font-weight: 600;
}
.card .detail{
    margin:30px 0 0 0;
    display: inline-block;
    font-size: 14px;
    text-decoration: underline;
}
.card .detail:hover{
    text-decoration: none;
}
.card-icon{
    height: 60px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.card-icon img{
    max-height: 60px;
    max-width: 100%;
}
.feedback{
    width: 280px;
    background: #FBF8F4;
    padding: 30px 25px;
    z-index: 1;
    border-radius: 20px;
    margin: 15px 0 0 0;
}
.feedback p.title{
    margin:0;
    font-size: 16px;
}
.feedback form{
    padding: 10px 0 0 0;
}
.feedback input{
    width: 100%;
    height: 45px;
    border-radius: 16px;
    outline: none;
    margin:11px 0 0 0;
    background: #fefdfc;
    padding: 0 0 0 15px;
    border:1px solid #efebe8;
}
input.error{
    border:1px solid #ff0000;
}
.feedback .btn{
    margin:20px 0 0 0;
    height: 48px;
    width: 100%;
    cursor: pointer;
    border:none;
}
.feedback input[type="checkbox"] { 
    position: absolute; 
    left: -9999px; 
}
.feedback input[type="checkbox"] + label { 
    padding:0 0 0 29px; 
    line-height:150%;  
    font-size:12px;  
    cursor:pointer; 
    margin:18px 0 0 0;
    position: relative;
    display: inline-block;
}
.feedback input[type="checkbox"] + label:before{
    content:'';
    width:18px;
    height: 18px;
    background: #f6e1d1;
    border-radius: 5px;
    position: absolute;
    left:0;
    top:0;
}
.feedback input[type="checkbox"]:checked + label:before { 
    background: url('../images/check-active.png') 0 0 no-repeat;  
}

.section-about{
    padding: 40px 0;
    background: #fcf9f8;
}
.section-about h2{
    font-family: "Playfair Display", serif;
    color:#2F2A26;
    margin:10px 0 0 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 110%;
    letter-spacing: -0.6px;
}
.features{
    display: flex;
    gap:35px;
}
.features-text{
    flex:1;
}
.features-text h2{
    font-family: "Playfair Display", serif;
    color:#2F2A26;
    margin:0;
    font-size: 26px;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: -0.6px;
}
.features-text p{
    margin: 30px 0 0 0;
    line-height: 150%;
}
.features img{
    border-radius: 20px;
}
.features-list{
    padding: 30px 0 0 0;
    display: flex;
    gap:30px;
}
.feature-item{
    width:cacl(25% - 30px);
} 
.feature-item figure{
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fbf2eb;
    margin:0 0 10px 0;
}
.feature-item figure img{
    max-width: 35px;
    border-radius: 0;
}
.feature-item span{
    font-size: 14px;
    line-height: 150%;
}
.footer-info{
    margin: 40px 0 0 0;
    border-radius: 15px;
    background: #f9f4f1;
    display: flex;
    gap:25px;
    padding: 20px;
    justify-content: space-between;
}
.footer-info > div{
    border-right: 2px solid #f2ebe5;
    padding: 0 26px 0 50px;
    width:calc(25% - 75px/4);
}
.footer-info > div:last-child{
    border:none;
}
.footer-info > div span{
    line-height: 150%;
    font-size: 14px;
}
.footer-info > div p{
    font-size: 14px;
    margin:0;
}
.time{
    background: url('../images/icon-footer-2.png') no-repeat; 
    background-size: 30px auto; 
}
.metro{
    background: url('../images/icon-footer-1.png') no-repeat; 
    background-size: 30px auto;  
}
.lic{
    background: url('../images/icon-footer-3.png') no-repeat;
    background-size: 30px auto;   
}
.bez{
    background: url('../images/icon-footer-4.png') no-repeat; 
    background-size: 30px auto;  
}
.section-content{
    padding:40px 0;
}
.section-content h1 {
    font-family: "Playfair Display", serif;
    color: #2F2A26;
    margin: 0;
    font-size: 48px;
    font-weight: 400;
    line-height: 110%;
    letter-spacing: -0.6px;
}
.section-content h2{
    margin: 30px 0 0 0;
    font-family: "Playfair Display", serif;
    color: #2F2A26;
    font-size: 36px;
    font-weight: 400;
    line-height: 110%;
    letter-spacing: -0.6px;
}
.section-content h3{
    margin: 30px 0 0 0;
    font-family: "Playfair Display", serif;
    color: #2F2A26;
    font-size: 30px;
    font-weight: 400;
    line-height: 110%;
    letter-spacing: -0.6px;
}
.section-content p{
    margin: 30px 0 0 0;
    line-height: 150%;
}
.section-content p.name{
    font-size:24px;
    font-family: "Playfair Display", serif;
    font-weight:600;
}
.section-content p.desc{
    line-height:180%;
}
.section-content ul{
    padding:20px 0 0 0;
    margin:0;
}
.section-content ul li{
    list-style:none;
    position:relative;
    padding:0 0 0 15px;
    margin:7px 0 0 0;
}
.section-content ul li:before{
    content:'';
    width:5px;
    height:5px;
    position:absolute;
    left:0;
    top:9px;
    border-radius:50%;
    background:#F4A47D;
}
.section-content table{
    width:100%;
    margin:30px 0 0 0;
    border-collapse:collapse;
    border:none;
}
.section-content table th{
    font-weight:700;
    padding:25px 10px;
    font-size:20px;
}
.section-content table td{
    padding:15px 10px;
}
.section-content table td:last-child{
    text-align:right;
    white-space: nowrap;
}
.section-content table tr:nth-child(odd) td{
    background:#FBF8F4;
}
.section-content .equip{
    padding:30px 0 0 0;
}
.section-content .d-flex{
    display:flex;
    gap:20px;
    align-items:center;
}
.section-content .d-flex div{
    flex:2;
}
.section-content .d-flex img{
    max-width:480px;
}
.section-content .att{
    border-radius: 24px;
    background: #FBF8F4;
    box-shadow: 0 25px 30px rgba(0, 0, 0, .04);
    padding: 25px 20px 30px 20px;
    margin:30px 0 0 0;
}
.section-content .att p{
    margin:0;
}
.preim__list{
    display:flex;
    gap:40px 20px;
    flex-wrap:wrap;
    padding:40px 0;
}
.preim__list > div{
    width:calc(50% - 10px);
    position:relative;
    padding:0 0 0 95px;
}
.preim__list > div:before{
    content:'';
    width:95px;
    height:64px;
    position:absolute;
    left:0;
    top:0;
}
.block-info {
    padding:30px 0 0 0;
}
.block-info .info-1:before{
    background:url('../images/ic-1.png') no-repeat top center;
}
.block-info .info-2:before{
    background:url('../images/ic-2.png') no-repeat top center;
}
.block-info .info-3:before{
    background:url('../images/ic-3.png') no-repeat top center;
}
.block-info .info-4:before{
    background:url('../images/ic-4.png') no-repeat top center;
}
.block-info p{
    margin:10px 0 0 0;
}
.block-info p.name{
    margin:0;
    font-weight:700;
}
.doctors__list{
    padding:30px 0 0 0;
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}
.doctors__list > div{
    width:calc(100%/4 - 20px);
}
.reviews__list{
    padding:20px 10px;
}
.reviews__list .slick-arrow{
    width:16px;
    height:53px;
    position:absolute;
    z-index:1;
    border:none;
    cursor:pointer;
    top:50%;
    margin-top:-26px;
    font-size:0;
}
.reviews__list .slick-next{
    background:url('../images/arr-right.png');
    right:-25px;
}
.reviews__list .slick-prev{
    background:url('../images/arr-left.png');
    left:-25px;
}
.reviews__list .item{
    display:flex;
    gap:20px;
    align-items:flex-start;
    padding:10px;
}
.reviews__list .item p{
    margin:0;
    font-size:15px;
}
.reviews__list .item p.name{
    font-size:14px;
    margin:10px 0 0 0;
}
.section-about .feedback{
    flex:1;
}
.section-about .feedback p.title {
    font-size: 24px;
    font-weight: 600;
}
#map{
    margin:30px 0 0 0;
    width:100%;
    height:500px;
}

.popup{
    display: none;
    width:100%;
    max-width: 480px;
    left:0;
    right:0;
    margin:auto;
    background: none;
    position: fixed;
    z-index: 35;
    top:50%;
    margin-top:-200px;
    padding: 45px 0 0 0;
    background:#FBF8F4;
}
#thank{
    padding: 45px 0;
}
#thank p{
    text-align:center;
    margin:20px 0 0 0;
}
.popup.active{
    display: block;
}
.popup .title{
    font-weight: 500;
    font-size: 28px;
    line-height: 104%;
    text-transform: uppercase;
    text-align: center;
    color: #000;
    margin:0;
}
.popup .close{
    background: url('../images/icon-close.png') no-repeat;
    position: absolute;
    right:10px;
    top:10px;
    cursor: pointer;
    z-index: 1;
    width:21px;
    height: 21px;
}
.popup .feedback{
    width:100%;
    margin:0;
}
#thank{
    margin-top: -100px;
}
.equip_block{
    padding:30px 0 0 0;
    gap:30px;
    display:flex;
    align-items: center;
}
.equip_block .text{
    flex:1;
    width:calc(60% - 30px);
}
.equip_block img{
    max-width:40%;
}

/*Форма НДФЛ*/
.form-ndfl {
    width: 100%;
    margin: 40px 0;
    max-width: 768px;
}

.content .form-ndfl .field {
    width: calc(100%/3 - 30px);
    margin: 25px 0 0 0;
    flex: none;
}

.content .form-ndfl .field.big {
    width: 100%;
    margin: 25px 0 0 0;
    flex: none;
}

.form-ndfl .field input[type="text"], 
.form-ndfl .field input[type="tel"], 
.form-ndfl .field input[type="email"] {
    width: 100%;
    height: 44px;
    margin: 7px 0 0 0;
    border-radius: 16px;
    background: #fefdfc;
    padding: 0 0 0 15px;
    border: 1px solid #efebe8;
    color: #000;
    font-size: 16px;
    outline: none;
}

.form-ndfl .field input.error {
    border: 1px solid #ff0000;
}

.form-ndfl .field textarea {
    width: 100%;
    height: 80px;
    margin: 7px 0 0 0;
    border-radius: 16px;
    border: 1px solid #efebe8;
    padding: 10px 0 0 15px;
    color: #000;
    font-size: 16px;
    outline: none;
    resize: none;
    background: #fefdfc;
}

.form-ndfl .field span {
    font-size: 16px;
    color: #000;
    display: inline-block;
    width: 50%;
    margin: 15px 0 0 0;
}

.form-ndfl .field.big span {
    width: 100%;
    margin: 0;
}

.form-ndfl .field input[type="checkbox"] {
    margin: 0 7px 0 0;
    display: inline-block;
    vertical-align: middle;
}

.form-ndfl button {
    width: 226px;
    height: 44px;
    border-radius: 5px;
    background: #F4A47D;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    margin: 27px 0 0 0;
    cursor: pointer;
    border: none;
}

.form-ndfl span label {
    cursor: pointer;
}

@media(max-width: 992px){
    .features{
        flex-direction:column;
    }
    header .d-flex{
        gap:30px;
        align-items:flex-start;
    }
    header ul li a{
        font-size:14px;
    }
    header nav{
        padding:0 6px;
        gap:12px;
    }
    header .logo {
        gap: 15px;
        flex-direction:column;
    }
    .header-contacts .adres,
    header .logo p{
        font-size:12px;
    }
    .header-contacts{
        gap:5px;
        flex: 1;
        justify-content: space-between;
    }
    .equip_block{
        flex-direction:column-reverse;
    }
    .equip_block .text{
        width:100%;
    }
    .equip_block img {
        max-width: 100%;
    }
    .section-about{
        padding:0 0 40px 0;
    }
    .section-content p{
        font-size:14px;
    }
    
}

@media(max-width: 768px){
    .section-service .container:after{
        z-index:1;
        right:0;
    }
    .feedback{
        width:100%;
    }
    .footer-info{
        gap:40px 10px;
        flex-wrap:wrap;
    }
    .footer-info > div{
        width:calc(50% - 5px);
        border:none;
    }
}
@media(max-width: 640px){
    header{
        padding:15px 0;
    }
    header nav{
        display:none;
    }
    header .logo{
        flex-direction:row;
    }
    header .d-flex{
        gap:15px;
    }
    .service-cards{
        flex-wrap:wrap;
    }
    .card{
        width: calc(50% - 15px/2);
    }
    .hero{
        padding:30px 0;
    }
    .hero-benefits{
        padding:30px 0 0 0;
        flex-direction:column;
        gap:20px;
    }
    .hero-stats{
        position:relative;
        bottom:-15px;
    }
    .hero h1{
        font-size:36px;
    }
    .hero .subtitle{
        font-size:30px;
    }
    .header-contacts .adres, 
    header .logo p,
    .header-contacts .time span,
    .phones a{
        font-size:11px;
    }
    .header-contacts .time{
        line-height:135%;
    }
    .phones a {
        background: url(../images/icon-phone.png) no-repeat left top 0px;
        padding: 1px 0 1px 19px;
        background-size: auto 17px;
    }
    .card h3{
        font-size:14px;
    }
    .card .price {
        margin: 15px 0 0 0;
        font-size: 16px;
        font-weight: 600;
    }
    .card .detail {
        margin: 15px 0 0 0;
    }
    .section-service .container:after{
        display:none;
    }
    .features-list{
        gap:10px;
    }
    .feature-item span {
        font-size: 12px;
        line-height: 100%;
    }
    .footer-info{
        flex-direction:column;
        gap:20px;
    }
    .footer-info > div{
        width:100%;
    }
    .section-content h1{
        font-size:30px;
    }
    .section-content h2{
        font-size:28px;
    }
    .section-content h3{
        font-size:26px;
    }
}
