/*** Баннер (в полэкрана) ***/
.content__banner {position: relative;height: 700px}
.content__banner > picture, .content__banner > picture img {width: 100%;height: 100%;object-fit: cover}
.banner-with-booking.content__banner {margin-bottom: -63px}
.content__banner::after {position: absolute;content: "";top: 0;right: 0;bottom: 0;left: 0;background: rgba(0,0,0,0.3)}
.banner__content-row {padding-top: 100px;display: flex;align-items: center;justify-content: center;height: 100%;text-align: center}
h1.banner__title {max-width:1030px; font-weight: 500;font-size: clamp(44px, 5vw, 76px);line-height: 1;color: #FFFFFF;margin:0 auto 32px}
.banner__content {text-align: center;color: #FFFFFF;position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 1}
.banner__boocking {position: relative;z-index: 10}
.banner__boocking-block {border: 1px solid rgba(0, 50, 79, 0.1)}
@media(max-width: 1429px) {
    .banner__content-row {padding-top: 80px;}
    .banner-with-booking.content__banner {margin-bottom: -125px;}
}
@media(max-width: 991px) {
    .banner__content-row {padding-top: 60px;}
    h1.banner__title {margin-bottom: 24px;}
    .content__banner {height: 640px;}
}
@media(max-width: 767px) {
    .banner__content-row {padding-top: 40px;}
    h1.banner__title {margin-bottom: 16px;}
    .tl-container {padding: 8px 15px;}
    .banner-with-booking.content__banner {margin-bottom: -115px;}
}
@media(max-width: 575px) {
    .banner__content-row {padding-top: 0;}
	.content__banner > picture, .content__banner > picture img {object-position:-100px}
}
@media(max-width: 417px) {
    .content__banner.banner-with-booking .banner__content {top: -85px;}
    .banner-with-booking.content__banner {margin-bottom: -170px;}
}
/*** Баннер (в полный) ***/
.main-banner{position: relative;height: 100vh;min-height:800px;width: 100%;overflow: hidden}
.main-banner__overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;/*background: rgba(0, 0, 0, 0.1); По дизу (видно плохо) */background: rgba(0, 0, 0, 0.3);z-index: 1}
.main-banner__content{position: relative;height: 100%;display: flex;flex-direction:column;gap:32px 0;align-items: center;justify-content: center;z-index: 2}
.main-banner__title {font-weight: 500; font-size: clamp(44px, 5vw, 76px); line-height: 1.1;text-align: center;color: #FFFFFF;margin: 0; max-width:1030px}
.main-banner__video, .main-banner__image{position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover}
.main-banner__image img, .main-banner__image picture{width: 100%;height: 100%;object-fit: cover}
#block-search, #block-search *{box-sizing: border-box;width:100%}
#block-search{background: #ECE5E3}
.sfl-container .sf-backlink-container{display:none !important}
.tl-container{padding: 16px 39px}
@media(max-width:767px){
	.main-banner__title{line-height:1}
	.main-banner {min-height:800px; padding-bottom: 40px}
	.main-banner__content{gap:52px 0; justify-content: end}
	.tl-container{padding: 8px 15px}
}
/*** Скролл с фото ***/
/*
.photos-swiper__js{}
.photos-swiper__js .swiper{overflow:visible}
.photos-swiper__js img{max-height:460px; width:auto}
.photos-swiper__js .swiper-slide{width:auto}
.photos-swiper__js .swiper-wrapper {transition-timing-function: linear !important;display: flex;align-items: stretch}
*/
.scroller-container {overflow: hidden; width: 100%}
.scroller-track {display: flex;white-space: nowrap;}
.scroller-item {flex: 0 0 auto;margin-right: 32px;}
.scroller-track img{max-height:460px; width:auto}
@media (max-width:1429px){
	.scroller-item {margin-right: 24px;}
	.scroller-track img{max-height:420px}
}
@media (max-width:991px){
	.scroller-item {margin-right: 16px;}
	.scroller-track img{max-height:400px}
}
@media (max-width:767px){
	.scroller-item {margin-right: 8px;}
	.scroller-track img{max-height:385px}
}
/*** События ***/
.news__block{padding: 32px 30px;background: #ECE5E3;border: 1px solid rgba(0, 50, 79, 0.1);border-radius: 40px;height: 100%;display: flex;flex-direction: column;}
.news__cover{border-radius:20px; overflow:hidden; margin-bottom:24px}
.news__cover img{width:100%; height:100%; object-fit:cover}
.news__title{display:block; font-size: 18px;line-height: 1.2;color: #00324F}
.news__text{font-size: 14px;line-height: 1.4;color: #808080; padding:8px 0 24px}
a.news__more{font-size: 14px;line-height: 1.4;text-decoration: underline;color: #00324F;display:block;margin-top: auto;}
.news__title:hover, a.news__more:hover{text-decoration:none; color:#5B8CB5}
.news-swiper-outer .swiper-slide{height:auto}
.news-swiper-outer{position: relative}
.news-swiper-nav{position: absolute;top: -75px;right: 0;display: flex;justify-content: space-between;width:104px}
.news-swiper-prev, .news-swiper-next{width: 32px;height:32px;display: flex;align-items: center;justify-content: center;cursor: pointer}
.news-swiper-prev:hover, .news-swiper-next:hover{opacity:0.7}
.news-swiper-prev.swiper-button-disabled, .news-swiper-next.swiper-button-disabled{opacity:0.1}
@media (max-width:991px){
	.news__block{padding: 24px}
}
@media (max-width:767px){
	.news__block{border-radius: 20px; padding: 16px}
	.news__cover{margin-bottom:16px}
	.news__text{padding:8px 0 16px}
}
@media (max-width:575px){
	.news-swiper-outer .swiper{overflow:visible}
	.news-swiper-nav{display:none}
}
/*** Центральный блок с компасом ***/
.hero-visual__inner {position: relative; height: 820px; display: flex;align-items: center;justify-content: center}
.hero-visual__title {font-size: clamp(24px, 4vw, 54px); text-align:center;position: relative;z-index: 10;max-width: 830px;margin: 0;}
.hero-visual__bg {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 1}
.hero-visual__bg-image {width: 100%; min-width:680px; height: 100%;object-fit: cover}
.hero-visual__grid {position: absolute;width: 100%;height: 100%;top: 0;left: 0;pointer-events: none}
.hero-visual__item {position: absolute}
.hero-visual__item--tl {top: 120px;left: 0}
.hero-visual__item--tr {top: 0;right: 260px}
.hero-visual__item--bl {bottom: 40px;left: 110px}
.hero-visual__item--br {bottom: 70px;right: 0}
.hero-visual__item {transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1); will-change: transform;}
@media (max-width: 768px) {
    [data-parallax] {
        transform: none !important; /* Отключаем анимацию */
    }
}
@media (max-width:1429px){
	.hero-visual__inner{height: 760px}
	.hero-visual__item--tr{top: 0;right: 0}
	.hero-visual__item--bl{bottom: 0;left: 0}
}
@media (max-width:991px){
	.hero-visual__inner{height: 700px}
	.hero-visual__item--tl{top: 95px; max-width:160px}
	.hero-visual__item--tr, .hero-visual__item--bl{max-width:120px}
	.hero-visual__item--br{max-width:200px}
}
@media (max-width:767px){
	.hero-visual__inner{height: 630px}
	.hero-visual__item--tl, .hero-visual__item--br{max-width:125px}
	.hero-visual__item--tr, .hero-visual__item--bl{max-width:100px}
	.hero-visual__item--br{bottom:95px}
}

.text-background {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    color: rgba(0, 50, 79, 0.2);
    font-size: clamp(24px, 4vw, 54px);
    text-align: center;
    max-width: 830px;
    margin: 0 auto;
    line-height: 1.3;
}

.text-line {
    position: relative;
    overflow: hidden;
}

.mask-inner {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    text-align: left;
    color: rgba(0, 50, 79, 1);
    overflow: hidden;
    white-space: nowrap;
    will-change: width;
}

@media (max-width: 767px) {
    .mask-inner {display:none}
	.text-background{display: block; text-align:center; color: rgba(0, 50, 79, 1);}
	.text-line{display:inline}
}


/*** Акции ***/
.actions__block{border-radius: 40px; height:320px; position:relative; overflow:hidden; display:block}
.actions__block img{transition:all 0.1s linear 0s; width:100%; height:100%; object-fit:cover}
.actions__block:hover img{transform:scale(1.1) rotate(5deg)}
.actions__block::after{content:""; position:absolute; top:0; left:0; right:0; bottom:0}
.actions__text{font-size: 18px;line-height: 1.2;color: #FFFFFF;padding:0 30px;position:absolute;top:240px;z-index:2}
a.actions__more{font-size: 14px;line-height: 1.4;text-decoration: underline;color: #fff;display:block;margin-top: 24px;}
a.actions__more:hover{text-decoration:none; color:#fff}
.actions-swiper-outer{position: relative}
.actions-swiper-nav{position: absolute;top: -75px;right: 0;display: flex;justify-content: space-between;width:104px}
.actions-swiper-prev, .actions-swiper-next{width: 32px;height:32px;display: flex;align-items: center;justify-content: center;cursor: pointer}
.actions-swiper-prev:hover, .actions-swiper-next:hover{opacity:0.7}
.actions-swiper-prev.swiper-button-disabled, .actions-swiper-next.swiper-button-disabled{opacity:0.1}
.action-modal{padding:0 !important;background:#ECE5E3 !important;border-radius: 10px !important;}
.action-modal__content {max-width: 100%;text-align: center;padding: 16px;display: flex;flex-direction: column;gap: 16px}
.action-modal__content img{max-width: 100%;height: auto;display: block;margin: 0 auto;border-radius: 10px; max-height: calc(100vh - 200px);}
@media (max-width:1345px){
	.actions__block{height:23.7vw}
}
@media (max-width:1189px){
	.actions__block{height:36vw}
}
@media (max-width:991px){
	.actions__text{padding:0 24px;}
}
@media (max-width:767px){
	.actions__block{border-radius: 20px}
	.actions__text{top:auto; bottom:30px; padding:0 16px;}
	.action-modal__content{padding: 8px; gap: 8px}
}
@media (max-width:575px){
	.actions-swiper-outer .swiper{overflow:visible}
	.actions-swiper-nav{display:none}
	.actions__block{height:70vw}
	.action-modal__content img{max-height: calc(100vh - 140px);}
}
/*** Услуги ***/
.content-servises{position:relative; z-index:3}
.services-swiper-outer, .news-swiper-outer{padding-bottom:40px}
.services__block{overflow:hidden; position:relative; padding: 32px 30px;background: #ECE5E3;border: 1px solid rgba(0, 50, 79, 0.1);border-radius: 40px;height: 100%;display: flex;flex-direction: column;}
.services__number{position:relative; z-index:2; padding: 0 20px;width: 54px;text-align:center;line-height: 26px;background: #00324F;border: 1px solid rgba(0, 50, 79, 0.1);border-radius: 40px;font-size: 14px;color: #FFFFFF;display: block;margin-bottom: 64px;}
.services__title{position:relative; z-index:2; display:block; font-size: 18px;line-height: 1.2;color: #00324F}
.services__text{position:relative; z-index:2; font-size: 14px;line-height: 1.4;color: #808080; padding:8px 0 24px}
.services__more{position:relative; z-index:2; font-size: 14px;line-height: 1.4;text-decoration: underline;color: #00324F;display:block;margin-top: auto;}
/*.services__title:hover, a.services__more:hover{text-decoration:none; color:#5B8CB5}*/
.services-swiper-outer .swiper-slide{height:auto}
.services-swiper-outer{position: relative}
.services-swiper-nav {position: absolute;top: -75px;right: 0;display: flex;justify-content: space-between;width:104px}
.services-swiper-prev, .services-swiper-next{width: 32px;height:32px;display: flex;align-items: center;justify-content: center;cursor: pointer}
.services-swiper-prev:hover, .services-swiper-next:hover{opacity:0.7}
.services-swiper-prev.swiper-button-disabled, .services-swiper-next.swiper-button-disabled{opacity:0.1}

.services__block:hover{background:#00324F}
.services__block:hover .services__number{background:#fff; color:#00324F}
.servise__cover-bg{position:absolute; z-index:1; top:0; right:0; bottom:0; left:0}
.servise__cover-bg img, .servise__cover-bg picture{transition:all 0.1s linear 0s;  opacity:0; width:100%; height:100%; object-fit:cover}
.services__block:hover .services__title, .services__block:hover .services__text, .services__block:hover .services__more{color:#fff; text-decoration:none}
.services__block:hover .servise__cover-bg img{transform: scale(1.1) rotate(5deg); opacity:0.3}

@media (max-width:991px){
	.services__number{margin-bottom: 52px}
	.services__block{padding: 30px 24px}
}
@media (max-width:767px){
	.services__block{padding: 24px 16px; border-radius:20px}
	.services__number{margin-bottom: 40px}
}
@media (max-width:575px){
	.services-swiper-outer .swiper{overflow:visible}
	.services-swiper-nav{display:none}
}
/*** Карта и Контакты ***/
.content-map-contacts{position:relative}
.content-map-contacts, .container{position:relative; z-index:2}
.content-map-contacts::before{content:"";position:absolute;left:0;top:-265px;right:0;height:729px;background: url(../images/contact-bg.png) repeat-x top center / contain;pointer-events:none;min-width: 738px;}
#yandex-map{position: relative;height: 560px; width:100%; background: #f5f5f5}
.map-loader{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);padding: 15px 25px;background: rgba(255,255,255,0.9);border-radius: 4px;box-shadow: 0 2px 5px rgba(0,0,0,0.1);font-family: Arial, sans-serif;color: #333}	
.contact-info{display: flex;justify-content: space-between;padding-top: 35px;gap: 30px}
.contact-info__column{display: flex;flex-direction: column; gap: 30px}
.contact-card{font-size: 16px;line-height: 1.4;color: #808080}
.contact-card__title{font-size: 24px;line-height: 1.4;color: #00324F;margin-bottom: 8px}
.contact-card__list{display: flex;flex-direction: column;gap: 8px;margin-bottom: 30px}
.contact-card__list-item{list-style-type: none}
.contact-card__link{color: #808080;display: block;text-decoration: none;transition: color 0.3s ease}
.contact-card__link:hover{color: #00324F}
.contact-card .button{width:100%; max-width:305px; text-align:center}	
.ymaps-2-1-79-image-with-content-content{font-family: 'TT Chocolates', sans-serif !important;font-size: 16px !important;color: #000 !important;font-weight: 500 !important;padding-left: 40px !important;line-height: 40px !important;background: rgba(255, 255, 255, 0.9) !important;border-radius: 0 40px 40px 0 !important;width: auto !important;padding-right: 10px !important;top: 5px !important;white-space: nowrap !important;left: -40px !important;height: 40px !important;transform: none !important;pointer-events: none !important}
.ymaps-2-1-79-image-with-content{transform: translate(36px, -73px) !important}
.ymaps-2-1-79-placemark-overlay[style*="z-index: 650"]{z-index: 650 !important}
.ymaps-2-1-79-placemark-overlay[style*="z-index: 600"]{z-index: 600 !important}
.ymaps-2-1-79-map + .ymaps-2-1-79-map{display:none !important}
@media (min-width:768px){
	.contact-info__column + .contact-info__column{padding-bottom:20px}
	.contact-info > .button{display:none}
}
@media (min-width:1430px){
	.contact-info__column{min-width: 305px}
}
@media (max-width:991px){
	.contact-card__list{margin-bottom: 24px}
	.contact-card__title {font-size: 18px}
	.contact-card{font-size: 14px}
}
@media (max-width:767px){
	.contact-info{gap:16px; flex-direction:column}
	.contact-info__column{gap:16px}
	.contact-card__list{margin-bottom:0}
	.contact-card .button{display:none}
}

body.ban-popup-open{overflow: hidden;}
.action__ban-out{padding:15px; overflow-y: auto; background:rgba(24, 24, 27, 0.7);position:fixed;top:0;left:0;right:0;bottom:0;display: none;opacity: 0;transition: opacity 0.3s ease;flex-direction: column;align-items: center;justify-content: center;z-index: 999999;}
.action__ban-in{transform: translateY(20px);transition: transform 0.3s ease;padding: 16px;background: #ECE5E3;border-radius: 10px;/* max-width: 1056px; *//* width: 100%; */display: flex;align-items: center;justify-content: center;flex-direction: column;gap: 16px;position: relative;}
.action-ban-close{cursor:pointer; position:absolute;color: #dbdbdb;right: 5px;top: -30px;font-size: 40px;font-family: serif;line-height: 0.6;}
.action-ban-close:hover{color:#fff}
.action__ban-images{width:100%}
.action__ban-images img {display: none;width: 100%;height: auto;border-radius: 10px;max-height: calc(100vh - 200px);}
.action__ban-images img{max-width:100%}
.action__ban-images img.active {display: block}
.action__ban-out.active{opacity: 1}
.action__ban-out.active .action__ban-in {transform: translateY(0)}
.action__ban-images img {display: none;width: 100%}
@media (max-width:575px){
	.action__ban-images img {max-height: calc(100vh - 130px);}
	.action__ban-in{padding: 8px; gap: 8px}
	.action-ban-close{background:rgba(0, 0, 0, 0.6);width:34px;height:34px;border-radius:100%;display:flex;align-items:center;justify-content:center;font-size: 30px;right: 10px;top: 10px;}
}
