@font-face {
    font-family: 'IskraCYR Light';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/IskraCYR-Light.woff2) format('woff2');
}

@font-face {
    font-family: 'IskraCYR Medium';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/IskraCYR-Medium.woff2) format('woff2');
}

@font-face {
    font-family: 'IskraCYR Regular';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/IskraCYR-Regular.woff2) format('woff2');
}

@font-face {
    font-family: 'IskraCYR UltraBold';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/IskraCYR-UltraBold.woff2) format('woff2');
}



html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    font-family: IskraCYR Regular;
    color: #fff;
}

#all-cont {
    min-width: 1200px;
    overflow: hidden;
}

.container {
    position: relative;
    width: 1200px;
    margin: 0 auto;
}

#main {
    position: fixed;
    width: 100%;
    height: 165px;
    background-color: #fff;
    z-index: 15;
}

.main_logo {
    position: absolute;
    width: 145px;
    height: 66px;
    top: 9px;
    left: 33px;
}

.main_contact {
    font-family: IskraCYR Medium;
    font-size: 16px;
    color: #858585;
}

.main_contact span {
    color: #0b4da2;
}

.main_address {
    position: absolute;
    width: 240px;
    height: 50px;
    top: 20px;
/*    left: 239px; */
    left: 275px;

}

.main_address::before {
    content: '';
    position: absolute;
    top: 4px;
    left: -34px;
    background: url(../img/address_icon.png) no-repeat;
    width: 25px;
    height: 36px;
}

.main_phone {
    position: absolute;
    width: 185px;
    height: 50px;
    top: 20px;
/*    left: 508px; */
    left: 585px;    
}

.main_phone a {
    text-decoration: none;
    color: #0b4da2;
}

.main_phone::before {
    content: '';
    position: absolute;
    top: 4px;
    left: -51px;
    background: url(../img/phone_icon.png) no-repeat;
    width: 41px;
    height: 38px;
}

.main_worktime {
    position: absolute;
    width: 175px;
    height: 50px;
    top: 20px;
/*    left: 699px; */
    left: 830px;
}

.main_worktime::before {
    content: '';
    position: absolute;
    top: 4px;
    left: -51px;
    background: url(../img/worktime_icon.png) no-repeat;
    width: 41px;
    height: 38px;
}

.main_btn a {
    position: absolute;
    display: block;
    width: 165px;
    height: 50px;
    top: 18px;
    text-decoration: none;
    border-radius: 25px;
    text-align: center;
    line-height: 45px;
    color: #fff;
    font-size: 18px;
}

.main_pay_btn a {
    background: #00aeef;
    left: 841px;
}

.main_consultation_btn a {
    background: #ef59a1;
    left: 1011px;
}

nav {
    position: absolute;
    width: 1153px;
    height: 50px;
    background: #00aeef;
    border-radius: 10px;
    top: 87px;
    left: 23px;
    font-family: IskraCYR Medium;
    font-size: 18px;
}

nav::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: none;
    border: 2px solid #00aeef;
    border-radius: 10px;
    top: 10px;
    left: 8px;
    opacity: 0.5;
    z-index: -1;
}

.main_menu ul {
    list-style: none;
    text-align: center;
    margin-top: 0;
    line-height: 28px;
    padding-left: 0;
}

.main_menu li {
    display: inline-block;
    position: relative;
}

.main_menu li:last-child {
    margin-right: 0;
}

.main_menu .submenu li a {
    line-height: 23px;
}

.main_menu li a, .main_menu li label {
    display: block;
    text-decoration: none;
    outline: none;
    transition: .5s linear;
    color: #fff;
    line-height: 30px;
    margin: 8px 8px;
    padding: 0 8px 3px 8px;
}

.main_menu li a:hover {
    background: #ef59a1;
    border-radius: 6px;
}

.main_menu ul li .submenu {
    position: absolute;
    top: 100%;
    width: 215px;
    z-index: 10;
    left: -107px;
    margin-left: 50%;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    display: none;
    padding: 10px 0;
}

.main_menu ul li .submenu::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #00aeef;
    border-radius: 15px;
}

.main_menu ul li:hover .submenu {
    display: block;
}

.main_menu .submenu li {
    height: 18px;
    margin-left: 1px;
}

#form1 {
    position: relative;
    margin-top: 165px;
    width: 100%;
    height: 788px;
    background: url(../img/form1_bg.png) no-repeat top center;
}


.form1_title {
    position: absolute;
    width: 385px;
    height: 200px;
    font-family: IskraCYR UltraBold;
    color: #8f52a1;
    font-size: 72px;
    line-height: 67px;
    top: 10px;
    left: 20px;
}

.form1_memo {
    position: absolute;
    width: 280px;
    height: 70px;
    font-family: IskraCYR Medium;
    font-size: 16px;
    color: #858585;
    line-height: 19px;
    top: 238px;
    left: 20px;
}

.form1_block {
    position: absolute;
    width: 520px;
    height: 392px;
    background: #00aeef;
    border-radius: 32px;
    top: 331px;
    left: 23px;
}

.form1_block_title {
    position: absolute;
    font-family: IskraCYR Medium;
    font-size: 24px;
    color: #fff;
    line-height: 21px;
    top: 20px;
    left: 21px;
}

.form1_block_input {
    position: absolute;
    width: 206px;
    height: 230px;
    top: 85px;
    left: 23px;
}

.form1_block_input input {
    width: 100%;
    height: 41px;
    border-radius: 15px;
    margin: 0 0 9px 0;
    font-family: IskraCYR Medium;
    font-size: 18px;
    color: #858585;
    padding: 1px 10px 4px 10px;
    border: none;
}

.mycheckbox {
    display: none;
}

.mycheckbox + label {
    position: relative;
    width: 100%;
    padding-left: 17px;
    height: 18px;
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    color: #fff;
}

.mycheckbox + label a {
    text-decoration: none;
    color: #fff;
}

.mycheckbox + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 10px;
    height: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
}

.mycheckbox:checked + label::before {
    background: #ef59a1;
    background-size: contain;
}

.mycheckbox:checked + label {
    color: #fff;
}

.mycheckbox:not(:disabled):not(:checked) + label:hover::before {
    background: #ef59a1;
}

/*
.form1_block_input input[type=submit] {
    position: absolute;
    width: 212px;
    height: 68px;
    background: #ef59a1;
    border: none;
    top: 273px;
    left: 130px;
    border-radius: 34px;
    color: #fff;
}
*/

.form1_block_input input[type=submit] {
    position: absolute;
    width: 232px;
    height: 68px;
    background: #ef59a1;
    border: none;
    top: 273px;
    left: 120px;
    border-radius: 34px;
    color: #fff;
}



.form1_block_action {
    position: absolute;
    width: 210px;
    height: 310px;
    border: 2px solid #77d4f6;
    border-radius: 13px;
    left: 275px;
    top: 25px;
}

.form1_block_action_wrapper {
    position: relative;
    margin-top: 40px;
            
}

/*
 {
    position: absolute;
    width: 100%;
    font-family: IskraCYR Medium;
    font-size: 24px;
    text-align: center;
    top: 0px;
}

*/


.form1_block_action_title {
    position: absolute;
    width: 100%;
    font-family: IskraCYR Medium;
    font-size: 18px;
    text-align: center;
    top: -30px;
}

/*
 {
    position: absolute;
    width: 100%;
    font-family: IskraCYR Medium;
    font-size: 14px;
    text-align: center;
    top: 38px;
}
*/

.form1_block_action_memo {
    position: absolute;
    width: 100%;
    font-family: IskraCYR Medium;
    font-size: 14px;
    text-align: center;
    top: 100px;
}

.form1_block_action_memo ul {
    margin-left: 0;
}

.form1_block_action_memo ul li{
    margin-left: -8px;
    text-align: left;
}

.form1_block_action_price {
    position: absolute;
    text-align: center;
    width: 175px;
    height: 70px;
    font-family: IskraCYR Medium;
    font-size: 48px;
    top: 105px;
    left: 20px;
    background: #ef59a1;
    border-radius: 35px;
    line-height: 51px;
}

/*
.form1_block_action_sub {
    position: absolute;
    width: 100%;
    text-align: center;
    font-family: IskraCYR Medium;
    font-size: 12px;
    top: 190px;
}
*/

.form1_block_action_sub {
    position: absolute;
    width: 100%;
    text-align: center;
    font-family: IskraCYR Medium;
    font-size: 12px;
    top: 200px;
}


.form1_block_action_dop {
    position: absolute;
    width: 90%;
    text-align: center;
    font-family: IskraCYR Medium;
    font-size: 14px;
    top: 240px;
    left: 5%;
}

.form1_block_action_dop span {
    color: #ef59a1;
}

#about {
    width: 100%;
    height: 600px;
    background: url(../img/about_bg.png) top center no-repeat;
}

.about_title {
    width: 100%;
    text-align: center;
    color: #a7b6bf;
    font-family: IskraCYR UltraBold;
    font-size: 72px;
}

.about_box_block {
    position: absolute;
    width: 1145px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    top: 136px;
    left: 20px;
    opacity: 1
}

.about_box {
    width: 340px;
    height: 120px;
    display: flex;
    align-items: center;
    padding: 5px 0 5px 10px;
    margin: 5px 15px;
}

.about_box_icon {
    position: relative;
    width: 93px;
    height: 93px;
    border-radius: 32px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 28px;
}

.about_box_icon::before {
    content: '';
    width: 93px;
    height: 93px;
    position: absolute;
    border: 2px solid #fff;
    border-radius: 32px;
    top: 6px;
    left: 3px;
}


.about_box_text {
    width: 218px;
    font-size: 24px;
    color: #fff;
    font-family: IskraCYR UltraBold;
    line-height: 22px;
}

.about_box_text span {
    display: block;
    width: 225px;
    color: #464646;
    font-size: 16px;
    margin-top: 5px;
}

#services {
    width: 100%;
}

.services_title {
    position: absolute;
    font-size: 72px;
    font-family: IskraCYR UltraBold;
    color: #a7b6bf;
    top: -10px;
    left: 90px;
}

.filter_title {
    position: absolute;
    font-size: 24px;
    font-family: IskraCYR Medium;
    color: #a7b6bf;
    top: -10px;
    left: 544px;
}

.age-filter {
    position: relative;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
    margin-bottom: 62px;
    top: 33px;
    right: 24px;
    display: flex;
}

.age-filter button {
    padding: 3px 13px 8px 13px;
    background: #a7b6bf;
    border: 1px solid #a7b6bf;
    border-radius: 12px;
    cursor: pointer;
    color: white;
    font-size: 18px;
    font-family: IskraCYR Medium;
}

.age-filter button.active {
    background: #00aeef;
    color: white;
    border-color: #00aeef;
}

.services-grid {
    position: initial;
    width: 1153px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(371px, 1fr));
    gap: 20px;
    margin-left: 23px;
}

.service-card {
    position: relative;
    border-radius: 8px;
    width: 373px;
    height: 277px;
    /*  opacity: 0.5; */
}

.service-card img {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 30px;
    width: 373px;
    height: 277px;    
}

.service_card_memo {
    position: absolute;
    top: 214px;
    left: 0;
    height: 65px;
    width: 373px;
    background: #00aeef;
    border-radius: 33px;
}

.service_card_memo::after {
    content: '';
    background: url(../img/service_arrow.png);
    width: 16px;
    height: 28px;
    position: absolute;
    right: 20px;
    top: 20px;
}

.service-card p {
    position: absolute;
    font-family: IskraCYR UltraBold;
    font-size: 18px;
    margin: 0 20px;
    line-height: 18px;
    display: flex;
    height: 57px;
    top: 0;
    justify-content: center;
    align-items: center;

}

.service-card a {
    color: #fff;
}

.service-card .age {
    position: absolute;
    width: 47px;
    height: 39px;
    font-family: IskraCYR UltraBold;
    font-size: 16px;
    line-height: 16px;
    color: #fff;
    background: #ef59a1;
    border-radius: 10px;
    top: 14px;
    left: 15px;
    padding: 3px 10px;
    text-align: center;
}

.buttons-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    width: 100%;
}

.buttons-container.single-button {
    justify-content: center;
}

.buttons-container button {
    width: 210px;
    height: 70px;
    color: #858585;
    border: 3px solid #858585;
    border-radius: 35px;
    cursor: pointer;
    background: #fff;
    font-family: IskraCYR Medium;
    font-size: 18px;
}

#loadMore {
    color: #00aeef;
    border-color: #00aeef;
}

.hidden {
    display: none;
}

#form2 {
    position: relative;
    width: 100%;
    height: 520px;
    background: url(../img/form2_bg.png) no-repeat center top;
}

.form2_block {
    position: absolute;
    width: 330px;
    height: 449px;
    top: 36px;
    left: 620px;

}

.form2_block_title {
    position: absolute;
    font-family: IskraCYR Medium;
    font-size: 36px;
    color: #fff;
    line-height: 32px;
    top: 37px;
    left: 0;
}

.form2_block_input {
    position: absolute;
    width: 260px;
    height: 230px;
    top: 135px;
    left: 0;
}

.form2_block_input input {
    width: 100%;
    height: 45px;
    border-radius: 15px;
    margin: 0 0 9px 0;
    font-family: IskraCYR Medium;
    font-size: 18px;
    color: #858585;
    padding: 1px 10px 4px 10px;
    border: none;
}

.form2_block_input input[type=submit] {
    position: absolute;
    width: 212px;
    height: 68px;
    background: #ef59a1;
    border: none;
    top: 280px;
    left: 30px;
    border-radius: 34px;
    color: #fff;
}

#reviews {
    position: relative;
    width: 100%;
    height: 524px;
    background: url(../img/wave.png) repeat-x center;
    background-position-x: 50%;
    background-position-y: 23px;
}

.reviews_back {
    width: 100%;
    height: 524px;
    background: url(../img/reviews_bg.png) no-repeat top center;
}

.reviews_title {
    position: absolute;
    width: 100%;
    font-family: IskraCYR UltraBold;
    font-size: 72px;
    text-align: center;
    top: 33px;
}

.reviews_subtitle {
    position: absolute;
    width: 100%;
    font-family: IskraCYR Medium;
    font-size: 24px;
    text-align: center;
    top: 122px;
}

.reviews_yandex_logo {
    position: absolute;
    width: 84px;
    height: 84px;
    background: url(../img/yandex_logo.png) no-repeat top center;
    top: 73px;
    left: 26px;
}

.reviews_gekon {
    position: absolute;
    width: 44px;
    height: 59px;
    background: url(../img/gekon.png) no-repeat top center;
    top: 64px;
    left: 727px;
}

.carousel-container {
    width: 1023px;
    margin: 0 auto;
    position: absolute;
    overflow: hidden;
    top: 78px;
    left: 87px;
}

.carousel {
    display: flex;
    transition: transform 0.3s ease-out;
    touch-action: pan-y;
    cursor: grab;
    will-change: transform;
    margin-top: 80px;
}

.carousel.grabbing {
    cursor: grabbing;
    transition: none;
}

.carousel-item {
    position: relative;
    flex: 0 0 calc(50% - 54px);
    height: 180px;
    margin: 13px;
    padding: 15px;
    background: #fff;
    border-radius: 30px;
    user-select: none;

}

.carousel-arrow {
    position: absolute;
    width: 42px;
    height: 48px;
    cursor: pointer;
    z-index: 10;
    top: 16px;
    border: none;
}

.carousel-arrow.prev {
    background: url(../img/arrow_prev.png) no-repeat top center;
    right: 78px;
}

.carousel-arrow.next {
    background: url(../img/arrow_next.png) no-repeat top center;
    right: 10px;
}

.carousel-pagination {
    display: flex;
    justify-content: center;
    margin-top: 28px;
    gap: 8px;
}

.pagination-dot {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: background 0.3s;
}

.pagination-dot.active {
    background: #b1e3fa;
}

.carousel-item_memo {
    position: absolute;
    width: 447px;
    color: #858585;
    font-family: IskraCYR Medium;
    font-size: 16px;
    line-height: 20px;
    top: 20px;
    left: 20px;
}

.carousel-item_stars {
    position: absolute;
    background: url(../img/stars.png) no-repeat top center;
    width: 72px;
    height: 12px;
    top: 174px;
    left: 27px;
}

.carousel-item_parant {
    position: absolute;
    top: 168px;
    right: 25px;
    color: #858585;
    font-family: IskraCYR Medium;
    font-size: 18px;
}

.carousel_btn a {
    position: absolute;
    width: 205px;
    height: 65px;
    border-radius: 33px;
    color: #fff;
    border: 3px solid #fff;
    text-align: center;
    line-height: 65px;
    font-family: IskraCYR Medium;
    font-size: 18px;
    top: 400px;
    left: 890px;
    text-decoration: none;
}

#gallery {
    position: relative;
    height: 650px;
}

.gallery_title {
    position: absolute;
    color: #a7b6bf;
    font-family: IskraCYR UltraBold;
    font-size: 72px;
    top: -10px;
    left: 0;
    width: 100%;
    text-align: center;
}

/* Десктоп версия (5 колонок) */
.gallery {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    top: 115px;
}

.gallery-item {
    width: 222px;
    height: 222px;
    overflow: hidden;
    position: relative;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: all 0.5s ease;
    cursor: pointer;
    border-radius: 15px;
}

/* Смещение для 2-й и 4-й колонок */
.gallery-item:nth-child(5n+2),
.gallery-item:nth-child(5n+4) {
    transform: translateY(25px);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 2s ease;
}

.gallery-item:hover img {
    transform: scale(2);
}

.gallery-item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../img/gallery_hover.png) no-repeat center center;
    background-color: rgba(0, 0, 0, 0.5);
}

.gallery-item:hover .gallery-item-overlay {
    opacity: 1;
}

/*
.gallery-item-overlay::before {
    content: "✕";
    color: white;
    font-size: 30px;
}
*/
/* Модальное окно */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.modal.active {
    display: flex;
}

.modal-content {
    width: 90%;
    height: 90%;
    position: relative;
}

.modal-image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.modal-image-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.5s ease;
}

.modal-image-slide img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
}

.modal-close,
.modal-prev,
.modal-next {
    position: absolute;
    color: white;
    font-size: 40px;
    cursor: pointer;
    user-select: none;
    z-index: 10;
    padding: 20px;
}

.modal-close {
    top: 0;
    right: 0;
}

.modal-prev {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.modal-next {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Анимации */
.slide-in-right {
    animation: slideInRight 0.5s forwards;
}

.slide-in-left {
    animation: slideInLeft 0.5s forwards;
}

.slide-out-right {
    animation: slideOutRight 0.5s forwards;
}

.slide-out-left {
    animation: slideOutLeft 0.5s forwards;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes slideOutLeft {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(-100%);
        opacity: 0;
    }
}



#form3 {
    position: relative;
    width: 100%;
    height: 475px;
    background: url(../img/form3_bg.png) no-repeat top center;
}

.form3_title {
    position: absolute;
    color: #a7b6bf;
    font-family: IskraCYR UltraBold;
    font-size: 72px;
    top: 0;
    left: 53px;
}

.form3_block_title {
    position: absolute;
    font-family: IskraCYR Medium;
    font-size: 36px;
    color: #fff;
    line-height: 32px;
    top: 37px;
    left: 0;
}

.form3_block {
    position: absolute;
    width: 577px;
    top: 90px;
    left: 56px;
}

.form3_block_input {
    position: absolute;
    width: 500px;
    height: 230px;
    top: 135px;
    left: 0;
}

.form3_block_input input {
    width: 217px;
    height: 45px;
    border-radius: 15px;
    margin: 0 10px 9px 0;
    font-family: IskraCYR Medium;
    font-size: 18px;
    color: #858585;
    padding: 1px 10px 4px 10px;
    border: none;
}

.form3_block_input input[type=submit] {
    position: absolute;
    width: 212px;
    height: 68px;
    background: #ef59a1;
    border: none;
    top: 170px;
    left: 12px;
    border-radius: 34px;
    color: #fff;
}

.footer_contact_block {
    position: absolute;
    top: 95px;
    left: 53px;
}


.footer_contact {
    font-family: IskraCYR Medium;
    font-size: 16px;
    color: #464646;
}

.footer_contact span {
    color: #fff;
}

.footer_address {
    position: absolute;
    width: 240px;
    height: 50px;
    top: 268px;
    left: 590px;
}

.footer_address::before {
    content: '';
    position: absolute;
    top: 4px;
    left: -34px;
    background: url(../img/address_icon_y.png) no-repeat;
    width: 25px;
    height: 36px;
}

.footer_phone {
    position: absolute;
    width: 185px;
    height: 50px;
    top: 268px;
    left: 788px;
}

.footer_phone a{
    text-decoration: none;
    color: #fff;
}

.footer_phone::before {
    content: '';
    position: absolute;
    top: 4px;
    left: -51px;
    background: url(../img/phone_icon_y.png) no-repeat;
    width: 41px;
    height: 38px;
}

.footer_worktime {
    position: absolute;
    width: 175px;
    height: 50px;
    top: 268px;
    left: 980px;
}

.footer_worktime::before {
    content: '';
    position: absolute;
    top: 4px;
    left: -51px;
    background: url(../img/worktime_icon_y.png) no-repeat;
    width: 41px;
    height: 38px;
}

.map {
    position: absolute;
    width: 563ppx;
    height: 320px;
    overflow: hidden;
    border-radius: 90px;
    top: 10px;
    left: 600px;
}

#footer {
    position: relative;
    width: 100%;
    height: 88px;
}

.footer_logo {
    position: absolute;
    width: 145px;
    height: 66px;
    top: 6px;
    left: 46px;
}

.social_ico {
    width: 50px;
    height: 50px;
    margin: 0 5px;
}

.social {
    position: absolute;
    height: 50px;
    top: 2px;
    right: 75px;
    display: flex;
}

.social_ico a {
    width: 50px;
    height: 50px;
    display: inline-block;
}

.social_wu {
    background: url(../img/wu.png) no-repeat top center;
}

.social_vk {
    background: url(../img/vk.png) no-repeat top center;
}

.social_tg {
    background: url(../img/tg.png) no-repeat top center;
}

.copyright {
    position: absolute;
    width: 100%;
    text-align: center;
    font-family: IskraCYR Medium;
    font-size: 16px;
    color: #858585;
    top: 16px;
}

.disigned {
    position: absolute;
    width: 100%;
    text-align: center;
    font-family: IskraCYR Light;
    font-size: 16px;
    color: #858585;
    top: 35px;
}

#modal {
    /*    background: url(../img/modal_bg_b.png) no-repeat center top; */
    background-position-y: 20px;
    background-position-x: 0;
    background-color: none;
}

/* Стили для модального окна */
.modal-block {
    position: fixed;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 595px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    z-index: 1000;
    min-height: 100px;
    display: none;
}

.modal_content {
    position: relative;
    width: 590px;
    max-height: calc(100vh - 110px);
    overflow-y: scroll;
    margin-top: 20px;
    border-radius: 20px;
    background: #fff;
    padding-top: 20px;
    height: 2000px;
}

.modal_content::before {
    content: '';
    position: absolute;
    width: 534px;
    height: 2px;
    background: #9c9c9c;
    z-index: 1;
    top: 89px;
    left: 27px;
}


/* Стили для скролла как на мобильных устройствах */
.modal_content::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.modal_content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
}

.modal_content::-webkit-scrollbar-track {
    background: transparent;
}

.close-btn {
    position: absolute;
    background: #fff;
    border: none;
    font-size: 39px;
    line-height: 29px;
    text-align: center;
    cursor: pointer;
    color: #777;
    text-decoration: none;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    top: 0;
    right: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 10;
}

/* Затемнение фона */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 999;
    display: none;
}

.modal-block:target ~ .modal-overlay {
    display: block;
}

.modal-block:target {
    display: block;
}

/* Блокировка скролла страницы при открытом модальном окне */
body:has(.modal-block:target) {
    overflow: hidden;
}

.modal_content_title {
    position: absolute;
    font-family: IskraCYR UltraBold;
    color: #464646;
    font-size: 24px;
    top: 17px;
    left: 26px;
}

.modal_content_subtitle {
    position: absolute;
    font-family: IskraCYR UltraBold;
    color: #464646;
    font-size: 14px;
    top: 52px;
    left: 26px;
}

.modal_content_time {
    position: absolute;
    width: 109px;
    height: 45px;
    border-radius: 10px;
    background: #00aeef;
    font-family: IskraCYR UltraBold;
    color: #fff;
    font-size: 16px;
    line-height: 39px;
    padding: 0;
    margin: 0;
    top: 15px;
    left: 378px;
    text-align: center;
}

.modal_content_age {
    position: absolute;
    width: 57px;
    height: 35px;
    border-radius: 10px;
    background: #00aeef;
    font-family: IskraCYR UltraBold;
    color: #fff;
    font-size: 16px;
    line-height: 15px;
    top: 15px;
    left: 494px;
    text-align: center;
    padding: 5px;
}

.modal_content_price_title {
    position: absolute;
    font-family: IskraCYR UltraBold;
    color: #464646;
    font-size: 18px;
    top: 112px;
    width: 100%;
    text-align: center;
}

.modal_content_price_title {
    display: none;
}

.modal_content_price_block {
    position: absolute;
    width: 100%;
    height: 320px;
    top: 134px;
    padding: 0;
    text-align: center;
}

.modal_content_price_block_half {
    width: 290px;
    height: 320px;
    display: inline-block;
}

.modal_content_price_block_half {
    display: none;
}

.block_group_title {
    font-family: IskraCYR UltraBold;
    color: #858585;
    font-size: 18px;
    text-align: center;
}

.block_group_price {
    width: 97px;
    padding: 20px;
    background: #f4f4f4;
    border-radius: 15px;
    display: inline-grid;
    margin: 17px 4px 0 2px;
}

.modal_price {
    width: 99px;
    height: 43px;
    background: #00aeef;
    border-radius: 10px;
    font-size: 24px;
    line-height: 34px;
    font-family: IskraCYR UltraBold;
    color: #fff;
    padding: 0;
    text-align: center;
}

.price_red {
    background: #ef59a1
}

.modal_price_memo {
    font-size: 14px;
    font-family: IskraCYR UltraBold;
    color: #464646;
    margin-left: 5px;
    line-height: 16px;
    text-align: left;
}



.modal_price_memo p:nth-child(2) {
    font-size: 12px;
    font-family: IskraCYR UltraBold;
}

.modal_price_abon {
    font-size: 24px;
    font-family: IskraCYR UltraBold;
    color: #464646;
    margin-left: 5px;
    line-height: 26px;
    text-align: left;
}

.modal_price_abon span {
    font-size: 14px;
    display: block;
}

.modal_price_memo p,
.modal_price_abon p {
    margin-bottom: -5px;
}

.modal_content_memo {
    position: absolute;
    width: 94%;
    left: 3%;
    color: #464646;
    font-size: 14px;
    font-family: IskraCYR Medium;
    text-align: left;
}

.modal_content_memo {
    top: -43px;
}

.modal_content_memo h2 {
    font-size: 18px;
    font-family: IskraCYR UltraBold;
    color: #464646;
}


#modal-form {
    width: 565px;
    height: 642px;
    background: url(../img/modal_forma4_bg.png) no-repeat top center;
    box-shadow: none;
}

#modal-form .close-btn {
    top: 67px;
    right: 86px;
}

.modal_form-title {
    position: absolute;
    font-size: 36px;
    line-height: 33px;
    color: #fff;
    font-family: IskraCYR Medium;
    width: 300px;
    text-align: center;
    top: 194px;
    left: 139px;
}

.form4_block {
    position: absolute;
    width: 330px;
    height: 449px;
    top: 157px;
    left: 153px;
}

#modal-pay {
    width: 565px;
    height: 642px;
    background: url(../img/modal_pay_bg.png) no-repeat top center;
    box-shadow: none;
}

#modal-pay .close-btn {
    top: 67px;
    right: 86px;
}

.modal_pay-title {
    position: absolute;
    font-size: 36px;
    line-height: 33px;
    color: #fff;
    font-family: IskraCYR Medium;
    width: 300px;
    text-align: center;
    top: 185px;
    left: 139px;
}

.modal_pay-subtitle {
    position: absolute;
    font-size: 16px;
    color: #fff;
    font-family: IskraCYR Medium;
    width: 300px;
    text-align: center;
    top: 267px;
    left: 139px;
}

.modal_pay-subtitle a {
    text-decoration: none;
    color: #fff200;
}

.modal_pay_qr {
    position: absolute;
    top: 345px;
    left: 175px
}

.modal_pay_qr img {
    border-radius: 20px;
}

.modal_pay-subtitle_footer {
    position: absolute;
    font-size: 16px;
    color: #fff;
    font-family: IskraCYR Medium;
    width: 350px;
    text-align: center;
    top: 590px;
    left: 115px;
}

.modal_pay-subtitle_footer a {
    text-decoration: none;
    color: #fff200;
}

.main_men_btn {
    display: none;
}

.modal-block-menu .close-btn {
    display: none;
}


.menu-toggle,
#submenu-toggle {
    display: none;
}

.menu-toggle-label {
    display: none;
}

input[name="sdkjfhksdjhfkjsdhfkjhsdf"] {
    display: none;
}



@media (max-width: 601px) {

    #all-cont,
    .container {
        width: 600px;
        min-width: 600px;
        margin-right: -15px;
        margin-left: 0;
    }

    .carousel-item {
        flex: 0 0 calc(100% - 45px);
    }

    .modal {
        top: 0;
        max-height: 100%;
        width: 100%;
    }

    .gallery {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        max-width: 100%;
        padding: 0 10px;
    }

    .gallery-item {
        width: 100%;
        height: 0;
        padding-bottom: 100%;
        position: relative;
        transform: none !important;
    }

    .gallery-item img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* Смещение для второй колонки */
    .gallery-item:nth-child(2n) {
        transform: translateY(25px) !important;
    }

    /* Показываем только 8 элементов */
    .gallery-item:nth-child(n+9) {
        display: none;
    }

    /* Скрываем стрелки на мобильной версии */
    .modal-prev,
    .modal-next {
        display: none;
    }

    #main {
        width: 100%;
        height: 96px;
    }

    .main_logo {
        top: 13px;
        left: 19px;
    }

    .main_contact {
        visibility: hidden;
    }

    .main_contact span {
        visibility: visible;
        color: #858585;
    }

    .main_address {
        top: 0;
        left: 198px;
    }

    .main_phone {
        top: 16px;
        left: 276px;
    }

    .main_worktime {
        top: 32px;
        left: 289px;
    }

    .main_btn a {
        width: 52px;
        height: 52px;
        font-size: 0;
        border-radius: 0;
    }

    .main_pay_btn a {
        top: 22px;
        left: 421px;
        background: url(../img/pay_m.png) no-repeat top center;
    }

    .main_consultation_btn a {
        top: 22px;
        left: 477px;
        background: url(../img/consul_m.png) no-repeat top center;
    }

    .main_men_btn {
        display: block;
    }

    .main_men_btn a {
        top: 22px;
        left: 533px;
        background: url(../img/menu_m.png) no-repeat top center;
    }

    .modal-block-menu {
        display: none;
        position: fixed;
        top: 30px;
        left: 50%;
        transform: translateX(-50%);
        width: 595px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 1);
        border-radius: 20px;
        z-index: 1000;
    }

    #modal-menu .main_menu,
    #modal-menu .main_menu nav {
        width: 400px;
        height: auto;
        border-radius: 20px;
        top: 140px;
        left: 80px;
        background: #00aeef;
    }


    #modal-menu .main_menu ul li {
        display: block;
        margin: 25px 0;
        font-size: 30px;
        text-transform: uppercase;
        width: 100%;
    }


    .modal-block-menu:target {
        display: block;
    }


    .modal-block-menu:target ~ .modal-overlay {
        display: block;
    }

    body:has(.modal-block-menu:target) {
        overflow: hidden;
    }

    #modal-menu .close-btn {
        display: block;
        position: absolute;
        top: 120px;
        right: 100px;
    }

    .main_menu li {
        display: block;
        margin: 0;
    }

    .main_menu ul li .submenu {
        position: static;
        width: 100%;
        margin-left: 0;
        left: 0;
        display: none;
        padding: 20px 0;
        border-radius: 0;
        height: 100px;
    }

    .main_menu ul li .submenu::before {
        display: none;
    }

    #submenu-toggle:checked ~ .submenu {
        display: block;
    }

    /*    .main_menu ul li:hover .submenu {
        display: none;
    }
  */
    .main_menu li a:hover,
    .main_menu li label:hover {
        background: #ef59a1;
    }

    .submenu li a {
        padding-left: 40px !important;
    }


    #form1 {
        margin-top: 96px;
        width: 100%;
        height: 828px;
        background: url(../img/form1_m_bg.png) no-repeat top center;
    }

    .form1_title {
        top: 11px;
        left: 27px;
    }

    .form1_memo {
        top: 231px;
        left: 30px;
    }

    .form1_block {
        top: 403px;
        left: 40px;
        background: none;
    }

    #about {
        width: 100%;
        height: 1234px;
        background: url(../img/about_m_bg.png) no-repeat top left;
    }

    .about_title {
        width: 100%;
        top: 10px;

    }

    .about_box_block {
        width: 100%;
        top: 120px;
        left: -3px;
    }

    .about_box {
        margin: 0 15px;
        padding: 0 0;
    }

    #services {
        width: 100%;
        min-height: 1516px;
        /*    background: url(../img/services_m_bg_b.png) no-repeat top center; */
    }

    .age-filter {
        width: 80%;
        top: 142px;
        left: 10%;
        justify-content: center;
    }

    .services_title {
        width: 100%;
        text-align: center;
        left: 0;
    }

    .filter_title {
        width: 100%;
        left: 0;
        text-align: center;
        top: 92px;
    }

    .services-grid {
        width: 600px;
        margin-top: 165px;
        margin-left: 112px;
    }

    #form2 {
        width: 100%;
        height: 755px;
        background: url(../img/form2_m_bg.png) no-repeat top center;
    }

    .form2_block {
        top: 270px;
        left: 162px;
    }

    .form2_block_title {
        top: 49px;
    }

    .form2_block_input .myCheckBoxLabel {
        margin-left: 25px;
    }

    #reviews {
        width: 100%;
        height: 545px;
        background: url(../img/reviews_m_bg.png) no-repeat top center;
    }

    .reviews_back {
        background: none;
    }

    .reviews_title {
        text-align: left;
        left: 52px;
        width: auto;
    }

    .reviews_subtitle {
        text-align: left;
        left: 52px;
        width: auto;
    }

    .reviews_yandex_logo {
        left: 462px;
    }

    .reviews_gekon {
        left: 314px;
    }

    .carousel-container {
        width: 500px;
        left: 36px;
        top: 81px;
    }

    .carousel-pagination {
        justify-content: start;
    }

    .carousel_btn a {
        left: 334px;
    }

    .carousel-arrow {
        display: none;
    }

    #gallery {
        width: 100%;
        height: 1350px;
    }

    .gallery {
        width: 580px;
    }

    #form3 {
        width: 100%;
        height: 820px;
        background: url(../img/form3_m_bg.png) no-repeat top center;
        background-position: 25px 311px;
    }

    .form3_title {
        width: 100%;
        left: 0;
        top: -20px;
        text-align: center;
    }

    .footer_contact_block {
        top: 90px;
    }


    .footer_address {
        left: 11px;
        top: -8px;
    }

    .footer_address::before {
        background: url(../img/address_icon.png) no-repeat top center;
    }


    .footer_phone {
        left: 207px;
        top: -8px;
    }

    .footer_phone::before {
        background: url(../img/phone_icon.png) no-repeat top center;
    }

    .footer_worktime {
        left: 397px;
        top: -8px;
    }

    .footer_worktime::before {
        background: url(../img/worktime_icon.png) no-repeat top center;
    }

    .footer_contact {
        color: #464646;
    }

    .footer_contact span, .footer_phone a {
        color: #00aeef;
    }

    .form3_block {
        top: 430px;
    }

    .map {
        top: 144px;
        width: 495px;
        left: 51px;
    }

    #footer {
        width: 100%;
        height: 141px;

    }

    .footer_logo {
        left: 137px;
    }

    .social {
        top: 15px;
        left: 289px;
    }

    .copyright {
        top: 81px;
    }

    .disigned {
        top: 105px;
        font-size: 12px;
    }
}