

/* Start:/local/templates/main/styles.css?17024448534573*/
/*WSTD - Route start*/
.wstd-route {
    position: fixed;
    left: 0;
    top: 100%;
    display: flex;
    flex-direction: column;
    width: auto;
    font-size: 16px;
    z-index: 33;
}
.wstd-route.isActive {
    top: unset;
    bottom: 60px;
}

.wstd-route__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    position: absolute;
    top: -50px;
    cursor: pointer;
}
.wstd-route__btn:hover .wstd-route__btn-icon path,
.wstd-route__btn:hover .wstd-route__btn-title {
    color: #ffffff;
    fill: #ffffff;
}

.wstd-route__btn-icon {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 7.5px;
    font-size: 1.5em;
    color: #fff;
    background-color: var(--c-surface-accent);
    border-radius: 50%;
    margin: 7.5px;
}
.wstd-route__btn-icon .icon{
    width: 100%;
    height: 100%;
}
.wstd-route path,
.wstd-route rect,
.wstd-route polygon {
    transition: 0.3s;
    fill: white
}
.wstd-route.isActive .wstd-route__btn {
    top: -50px;
}

.wstd-route__btn-icon.svg-inline--fa.fa-w-12 {
    width: 1.5em;
    height: 1.5em;
}
.wstd-route__btn-title {
    color: #fff;
    padding: 7.5px;
    white-space: nowrap;
    font-family: sans-serif;
    line-height: 1.2;
    background-color: var(--c-surface-accent);
    border-radius: 5px;
    font-size: 0.8em;
    margin: 0;
    font-weight: bold;
    transition: 0.3s;
}

.wstd-route__container {
    position: relative;
    width: 100%;
    min-height: 100px;
    background-color: #fff;
    display: flex;
    align-items: center;
    border: 1px solid var(--c-surface-accent);
}

.wstd-route__container_overlay::after {
    content: "Please wait...";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #333;
    color: #fff;
    /* border: 1px solid #fff; */
}

.wstd-route__maps,
.wstd-route__routes,
.wstd-route__taxi {
    width: 100%;
    display: none;
    padding: 10px 0;
    overflow-x: auto;
    overflow-y: hidden;
}
.wstd-route__maps.isActive,
.wstd-route__routes.isActive,
.wstd-route__taxi.isActive {
    display: inline-flex;
}
.wstd-route__maps-title,
.wstd-route__routes-title,
.wstd-route__taxi-title {
    text-align: center;
    color: #333;
    font-family: sans-serif;
    font-size: 0.8em;
    line-height: 1.2;
    font-weight: bold;
}

.wstd-route__maps-icon,
.wstd-route__routes-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    padding: 5px;
    margin-bottom: 10px;
    border-radius: 50%;
    background-color: var(--c-surface-accent);
    color: #fff;
}

.wstd-route__maps-icon .icon,
.wstd-route__routes-icon .icon {
    width: 60%;
    height: 60%;
}

.wstd-route__maps-icon.svg-inline--fa,
.wstd-route__routes-icon.svg-inline--fa {
    width: 2em;
    height: 2em;
    background-color: var(--c-surface-accent);
    color: #fff;
    padding: 7px;
    border-radius: 50%;
    margin-bottom: 5px;
}

.wstd-route__routes-item {
    min-width: 100px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 7.5px 0;
    margin: 0 0.5%;
    text-decoration: none;
    cursor: pointer;
}

.wstd-route__back {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: 20px; */
    height: 20px;
    padding: 3px 8px;
    cursor: pointer;
    background-color: var(--c-surface-accent);
    color: white;
    font-family: sans-serif;
    border-radius: 0 0 0 5px;
}
.wstd-route__scroll {
    position: absolute;
    left: 50%;
    bottom: 5%;
    color: #333;
    font-size: 0.8em;
    font-family: sans-serif;
    transform: translateX(-50%);
}

.isScroll > .wstd-route__routes-item {
    min-width: 28%;
}
/* height, width */
.isScroll::-webkit-scrollbar {
    height: 8px;
}
/* Track */
.isScroll::-webkit-scrollbar-track {
    background: #f1f1f1;
}
/* Handle */
.isScroll::-webkit-scrollbar-thumb {
    background: #555;
}
/* Handle on hover */
.isScroll::-webkit-scrollbar-thumb:hover {
    background: #333;
}

@media (max-width: 992px) {
    .wstd-route {
        width: 50%;
    }
    .wstd-route__btn {
        top: -120px;
    }
}
@media (max-width: 768px) {
    .wstd-route {
        width: 60%;
    }
}
@media (max-width: 640px) {
    .wstd-route {
        width: 100%;
    }
}

/*WSTD - Route end*/

/* End */


/* Start:/local/templates/main/template_styles.css?178818825231478*/
.pp_test.block_banner .block--content:before {
display: none !important;

}

.pp_test.block_banner.block_banner-centered .banner {
padding-bottom: 0;
}



.text-pensh {
text-align: center;
color: #215056;
}



/* Баннер дизайнерский*/
.ac-banner_cover .block--wrapper{
    max-width: 100%;
    /*height: 100vh;*/
}

.block_banner.ac-banner_cover .banner {
    width: 100%;
    border-radius: 0;
    padding: 0 calc((100vw - var(--container) )/ 2);
    align-items: flex-start;
    justify-content: flex-start;
}
@media(min-width: 769px) {
    .block_banner.ac-banner_cover .banner {
        aspect-ratio: 2000 / 1163;
    }
    .block_banner.ac-banner_cover.ac-banner_cover-parallax .banner {
        /*aspect-ratio: 1920 / 2160;*/
        height: 101vh;
    }
    .block_banner.ac-banner_cover.ac-banner_cover-parallax .block--content {
        aspect-ratio: 1920 / 2160;
        width: 100%;
        height: auto;
    }
}

@media(max-width: 768px){
    .block_banner.ac-banner_cover.ac-banner_cover-parallax .banner,
    .block_banner.ac-banner_cover .banner {
        aspect-ratio: auto;
    }
}
.block_banner.ac-banner_cover.ac-banner_cover-background .banner {
    padding-top: var(--g-section);
}
.block_banner.ac-banner_cover .block--content::before {
    display: none;
}
.block_banner.ac-banner_cover:not(.ac-banner_cover-background) .block--head  .block--head_subtitle {
    color: var(--c-text-accent);
}
.block_banner.ac-banner_cover .block--head  .block--head_title,
.block_banner.ac-banner_cover .block--head  .block--head_caption{
    color: var(--c-text-dark);
}

.block_banner.ac-banner_cover.ac-banner_cover-background .block--head  {
    position: relative;
    text-shadow: unset;
}
@media(min-width: 768px) {
    .block_banner.ac-banner_cover.ac-banner_cover-background .block--head  .block--head_title,
    .block_banner.ac-banner_cover.ac-banner_cover-background .block--head  .block--head_caption{
        color: var(--c-text-white);
    }
    .block_banner.ac-banner_cover.ac-banner_cover-background .block--head > *{
        position: relative;
        z-index: 2;
    }

    .block_banner.ac-banner_cover.ac-banner_cover-background .block--head:after {
        content: "";
        position: absolute;
        display: block;
        width: 120%;
        height: 140%;
        left: -10%;
        top: -5%;
        background: rgba(0, 0, 0, 0.25);
        -webkit-filter: blur(24px);
        filter: blur(114px);
        /*transform: translate3d(0, 0, 0);*/
        /*will-change: transform;*/
        z-index: 1;
    }
}
.block_banner.ac-banner_cover.ac-banner_cover-parallax .banner,
.block_banner.ac-banner_cover.ac-banner_cover-parallax .block--content img,
.block_banner.ac-banner_cover.ac-banner_cover-parallax .block--head,
.block_banner.ac-banner_cover.ac-banner_cover-parallax .block--actions  {
    will-change: transform;
}


@media(max-width: 768px){
    .block_banner.ac-banner_cover .block--content {
        position: relative;
        order: 1;
        aspect-ratio: 1 / 1;
        margin: 0 -16px;
        width: 100vw;
    }
}









.block--head_title h1, .block--head_title h2 {
font-weight: 600 !important;
}


.content_article-aside .block--wrapper {
gap: 0 !important;
}


.page_action_panel {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    background: rgba(255, 255, 255, 0.6);
    padding: 8px 16px;
    box-sizing: border-box;
    box-shadow: 0 0 5px darkgrey;
}
.page_action_panel .page_action_panel--item:not(:last-of-type) {
    margin-right: 8px;
}
.page_action_panel .page_action_panel--item a {
    color: black;
    white-space: nowrap;
}
.page_action_panel .page_action_panel--item a:hover {
    opacity: 0.5;
}

.content_special-offer
{
    margin: var(--g-section) 0;
}
.content_special-offer .special-offer
{
    display: grid;

    border-radius: 8px;
    background-color: #f3f1f8;

    grid-template-columns: 1fr 1fr;
}
@media(max-width: 768px) {
    .content_special-offer .special-offer {
        grid-template-columns: 1fr;
    }
}
.content_special-offer .special-offer__content
{

    padding: var(--g-content_cards) var(--g-section-inner);
    padding-right: 0;
}
@media(min-width: 992px) {
    .content_special-offer .special-offer__content {
        min-height: 20vh;
    }
}
.content_special-offer .special-offer__image
{
    position: relative;
}
.content_special-offer .special-offer__image img
{
    position: static;
    width: 100%;
}
@media(min-width: 992px) {
    .content_special-offer .special-offer__image img {
        position: absolute;
        bottom: 0;
        left: 0;

        width: auto;
        height: 110%;
        aspect-ratio: 1 / 1;
    }
}
.content_special-offer .block--head_title .f-h2
{
    font-size: clamp(28px, calc(28px + (64 - 28) * ((100vw - 1024px) / (1920 - 1024))), 64px);
    line-height: 1.12;
}

.header__mobile_panel .button--booking{
    overflow: visible;
}
.header__mobile_panel .button--booking span[class^="icon-"] {
    color: #fff;
    background: var(--c-text-accent);
    border-radius: 6px;
    padding: 6px;
    font-size: 24px;
    width: 42px;
    height: 42px;
    margin-top: -12px;
}
.header__mobile_panel .button--booking {
    text-transform: uppercase;
    font-weight: 500;
}

.header__logo img {
    display: none;
}
.header__logo {
    aspect-ratio: 109 / 40;
    width: 109px;
    background-image: url('/upload/logo/logo_color.svg')
}
.header-transparent .header__logo{
    background-image: url('/upload/logo/logo_white.svg')
}
.header-transparent.scrolled .header__logo {
    background-image: url('/upload/logo/logo_color.svg')
}

.banner {
    transition-property: transform;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}
.block_banner .block--head, .block_banner .block--actions {
    -webkit-transform: translate3d(0,0,0);
}
.block_banner .block--content video {
    pointer-events: none;
}


.popup-scheme
{
    padding: 16px;

}
.popup-scheme .popup__content
{
    position: relative;

    overflow: hidden;
	pointer-events: none;
    width: 100%;
    max-width: 512px; 

    pointer-events: none;

    border-radius: 12px;
    background-color: white;
}
.popup-scheme.active .popup__content{
pointer-events: auto;

}
.popup-scheme.active{
display: flex;
    pointer-events: all;
    opacity: 1;
    align-items: center;
    justify-content: center;
}


.popup-scheme .popup--close
{
    border-radius: 4px; 
    background-color: #fff;
	position: absolute;
    z-index: 2;
    right: 10px;
    top: 10px;
}
.popup-scheme .popup--close .button
{
    width: 24px; 
    height: 24px;
    padding: 14px;
}
.popup-scheme .popup--close .button .icon
{
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.popup-scheme .popup--close .button .icon:before
{
    font-size: 20px;
}
.popup-scheme .popup__content_description
{
    padding: var(--g-32);
}
.popup-scheme .popup__content_title
{
    font-size: var(--fs-24); 
    font-weight: 700;

    margin-bottom: 8px;
}
.popup-scheme .popup--actions
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 16px;

    gap: 16px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.popup-scheme .popup--actions .button.is_hidden{
display:none;
}


.popup-scheme .popup__content_image
{
display: block;
    position: relative;
  aspect-ratio: 512 / 360;
height: 100%;
}
.popup-scheme .slider_controls
{
    position: absolute;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin: 0 10px; 

    inset: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.popup-scheme .slider_controls .swiper-button-prev
{
    position: static;
    left: 10px;
}
.popup-scheme .slider_controls .swiper-button-next
{
    position: static;
    right: 10px;
}
.popup-scheme .slider_controls .swiper_pagination
{
    position: absolute;
    z-index: 1;
    bottom: 5px;
	left: 50%;
    translate: -50% -10px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.popup-scheme .slider_controls .swiper_pagination .swiper-pagination-bullet
{
    background: white;
}
.popup-scheme .slider_controls .swiper_pagination .swiper-pagination-bullet-active
{
    scale: 1.1;
}
.popup-scheme .slider_controls .swiper-button-prev:after,
.popup-scheme .slider_controls .swiper-button-next:after
{
    font-size: 20px;

    padding: 5px;

    color: black; 
    border-radius: 50%;
    background-color: white;
}


.content_scheme
{
    overflow: hidden; 

    position: relative; 
}
.content_scheme scheme
{
    aspect-ratio: 1920 / 900;
}
.content_scheme svg
{
    max-width: inherit; 

    aspect-ratio: 1920 / 900;
}
.content_scheme svg image
{
    width: 100%;
    height: 100%;
}
@media (max-width: 1472px)
{
    .content_scheme .scheme_svg
    {
        overflow-x: auto;
    }
}
@media (max-width: 768px)
{
    .content_scheme .scheme_svg
    {
        /*position: relative;*/

        width: auto;
    }
    .content_scheme .scheme_svg svg
    {
        height: 80vh;
    }
}
.content_scheme .scheme--zoom
{
    display: none;
}
@media (max-width: 768px)
{
    .content_scheme .scheme--zoom
    {
        position: absolute;
        bottom: 30px;
        left: 10px; 

        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        gap: 8px;
    }
    .content_scheme .scheme--zoom .button
    {
        width: 40px;
        height: 40px; 
        padding: 8px;

        border-radius: 4px;
        background-color: #fff;
    }
    .content_scheme .scheme--zoom .button span
    {
        line-height: 1.3;
    }
}
.content_scheme .scheme--tooltip
{
    position: fixed;
    z-index: 6;

    max-width: 240px;
    padding: 12px 18px;

    -webkit-transition: opacity .18s;
         -o-transition: opacity .18s;
            transition: opacity .18s;
    pointer-events: none; 

    opacity: 0;
    border-radius: 8px;
    background-color: #fff;
}
.content_scheme .scheme--tooltip p
{
    font-size: var(--fs-16);

    display: -webkit-box;
    overflow: hidden;

    color: #2a2827;

    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.content_scheme .scheme--tooltip.is_active
{
    opacity: 1;
}
@media (max-width: 768px)
	{
	.footer__bottom-contacts .button span{
    white-space: normal;
    text-align: left;
}
}

.content_scheme .clouds
{
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
	overflow: hidden;
}
.content_scheme .clouds:after,
.content_scheme .clouds:before
{
    position: absolute;
    left: -30%;

    width: 200%;

    content: '';
    pointer-events: none;

    background-size: cover; 

    bottom:0;
	top:0;
}
.content_scheme .clouds:after{
display:none;
}
@-webkit-keyframes clouds-top
{
    0%
    {
        translate: 0 0;
    }
    50%
    {
        translate: -30% 0;
    }
    100%
    {
        translate: 0 0;
    }
}

@keyframes clouds-top
{
    0%
    {
        translate: 0 0;
    }
    50%
    {
        translate: -30% 0;
    }
    100%
    {
        translate: 0 0;
    }
}

@-webkit-keyframes clouds-bottom
{
    0%
    {
        translate: 0 0;
    }
    50%
    {
        translate: -20% 0;
    }
    100%
    {
        translate: 0 0;
    }
}

@keyframes clouds-bottom
{
    0%
    {
        translate: 0 0;
    }
    50%
    {
        translate: -20% 0;
    }
    100%
    {
        translate: 0 0;
    }
}
.content_scheme .clouds:after
{
    -webkit-animation: clouds-top 30s linear infinite;
            animation: clouds-top 30s linear infinite; 

    background-image: url('/upload/scheme/top.webp');
}
.content_scheme .clouds:before
{
    -webkit-animation: clouds-bottom 25s linear infinite;
            animation: clouds-bottom 25s linear infinite; 

    background-image: url('/upload/scheme/bottom.webp');
}
@media (max-width: 768px)
{

    .content_scheme .clouds:after{
        bottom: 50%;
        background-size: cover;
    }
    .content_scheme .clouds:before{
        top: 50%;
        background-size: cover;
    }
}


.b24-form-wrapper.b24-form-shadow {
    box-shadow: none !important;
}
.popup_b24 .form__title{
    padding: 16px 30px;
}

.contact--list-social .contact {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.footer_side_widget {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 10;
}
@media(max-width: 768px){
    .footer_side_widget {
        bottom: 86px;
        left: 12px;
    }
}
.footer_side_widget--button{
    background-color: var(--c-surface-accent);
    border-radius: 50%;
    width: 54px;
    height: 54px;
    padding: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer_side_widget--button:hover{
    background-color: var(--c-surface-accent-hovered);
}

/* Video widget */
.video_widget{
    position: fixed;
    bottom: var(--g-content, 40px);
    left: var(--g-content, 40px);
    justify-self: start;
    border: 3px solid #fff;
    transition:  0.18s ease-in-out;
    transform: scale(0.8);
    transform-origin: bottom left;
    max-width: 164px;
    aspect-ratio: 124 / 189;
    height: auto;
    overflow: hidden;
    cursor: pointer;
    z-index: 100;
    border-radius: 16px;
    box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.04), 0px 8px 16px 0px rgba(0,0,0,0.08);
    background: rgba(0,0,0,0.3);
}
@media(max-width: 768px) {
    .video_widget{
        bottom: 72px;
        left: 12px;
    }
}
.video_widget:not(.is_active):hover {
    border-color:  var(--c-surface-accent);
    transform: scale(1);
}
.video_widget.is_active {
    max-width: 312px;
    width: 312px;
    border-color:  var(--c-surface-accent);
    transform: scale(1);
}

.video-controls--volume,
.video_widget--close{
    border-radius: 50%;
    width: 42px;
    height: 42px;
    background-color: rgba(0,0,0,0.4);
    color: #fff;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    position: absolute;
    transform-origin: center;
    transform: scale(1);
    transition: var(--transition);
}
.video-controls--volume:hover,
.video-controls--volume:active,
.video_widget--close:active,
.video_widget--close:hover{
    transform: scale(1.1);
}
.video_widget--close{
    top: 6px;
    right: 4px;
    opacity: 0;
}
@media(max-width: 768px){
    .video_widget--close{
        opacity: 1;
    }
}
.video_widget:not(.is_active):hover .video_widget--close,
.video_widget.is_active .video_widget--close{
    opacity: 1;
}
.video-controls--volume{
    top: 52px;
    right: 4px;
    opacity: 0;
}
.video-controls--volume span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: var(--transition);
}
.video-controls--volume .icon-ic24-volume-off{
    opacity: 0;
}
.video-controls--volume.is_not_muted .icon-ic24-volume-off{
    opacity: 1;
}
.video-controls--volume.is_not_muted .icon-ic24-volume-mid{
    opacity: 0;
}
.video-controls video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
video[poster]{ object-fit:cover; }
.video-controls {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
    cursor: pointer;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.video_widget.is_active .video-controls {
    pointer-events: all;
}

.video_widget.is_active .video-controls--volume,
.video_widget.is_active .video-controls--progress {
    opacity: 1;
}

.video-controls--progress {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 4px;
    --progress-bg: rgba(255,255,255,0.6);
    --progress-line: var(--c-surface-accent);
    background-color: var(--progress-bg);
    transition: 0.18s ease-in;
    opacity: 0;
}
@media(max-width: 768px){
    .video-controls--progress {
        opacity: 1;
    }
}
.video-controls--progress span {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: block;
    width: 0;
    background-color: var(--progress-line);
}
.video-controls--play {
    position: absolute;
    top: calc(50% - 32px);
    left: calc(50% - 32px);
    transition: var(--transition);
    border-radius: 50%;
    width: 64px;
    height: 64px;
    background-color: rgba(0,0,0,0.2);
    color: #fff;
    opacity: 0;
    transform-origin: center;
    pointer-events: none;
}
.video_widget.is_active .video-controls--play.is_paused {
    opacity: 1;
}
.video_widget.is_active .video-controls--play.is_paused.is_ended {
    opacity: 1 !important;
}
.video-controls--play .icon-ic24-play,
.video-controls--play .icon-ic24-pause{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.video-controls--play.is_playing .icon-ic24-play{
    opacity: 0;
}
.video-controls--play.is_playing .icon-ic24-pause{
    opacity: 1;
}
.video-controls--play.is_paused .icon-ic24-play{
    opacity: 1;
}
.video-controls--play.is_paused .icon-ic24-pause{
    opacity: 0;
}

@keyframes pauseVideo {
    0% {
        opacity: 0;
        scale: 1;
    }
    30% {
        opacity: 100%;
        scale: 2;
    }
    100% {
        opacity: 0;
        scale: 1;
    }
}

.video-controls--button {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    opacity: 0;
    transition: var(--transition);
}
.video-controls--button span{
    max-width: 220px;
    text-overflow: ellipsis;
    overflow: hidden;
}
.video_widget.is_active .video-controls--button.is_shown {
    opacity: 1;
}
.video-controls--timer{
    font-size: 12px;
    color: #fff;
    width: 24px;
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
    opacity: 0;
    transition: var(--transition);
}
.video_widget.is_active .video-controls--timer {
    opacity: 1;
}
/*/ Video widget */

/* ac  block_banner-centered */
.block_banner-centered .banner .block--head{
    align-items: center;
}
.block_banner-centered  .block--actions{
    justify-content: center;
}

.block_banner-centered .banner .block--head{
    align-items: center;
}
.block_banner-centered  .block--actions{
    justify-content: center;
}

.block_banner.block_banner-centered .banner{
    place-content: center ;
    place-items: center ;
    text-align: center;
    padding: var(--headerHeight, 88px) calc((100% - var(--container)) / 2);
}
.block_banner.block_banner-centered.block_banner-no_booking .banner{
    place-content: center end;
    place-items: center end;
    padding: var(--headerHeight, 88px) calc((100% - var(--container)) / 2) ;
}

@media (min-width: 1024px) {
    .banner-hero.block_banner-centered + .booking {
        right: unset;
        left: 50%;
        transform: translateY(-100%) translateX(-50%);
    }
}

.block_banner.block_banner-centered:has(.slider_controls) .banner{
    padding-bottom: calc(var(--g-section) * 2);
}

.block_banner-centered .banner .block--head{
    align-items: center;
}
.block_banner-centered  .block--actions{
    justify-content: center;
}

.block_banner-centered .banner .block--head{
    align-items: center;
}
.block_banner-centered  .block--actions{
    justify-content: center;
}

.block_banner.block_banner-centered:has(.slider_controls) .banner{
    padding-bottom: calc(var(--g-section) * 2);
}

.block_banner-centered .banner .block--head{
    align-items: center;
}
.block_banner-centered  .block--actions{
    justify-content: center;
}
/*/ ac  block_banner-centered */

.js-input_file.hidden{
    display: initial;
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}
.page-article article .block--head {
    /*margin-bottom: 0;*/
}



/* Новые отзывы */

@media(min-width: 1024px) {
    .content_reviews_ext.block_list:not(.block_list-slider) .block--elements {
        grid-template-columns: repeat(3, 1fr);
    }
}

.content_reviews_ext.block_list:not(.block_list-slider) .block--elements .block--pagination {
    grid-column:  1 / -1;
}
.content_reviews_ext-vertical .review {
    max-width: 920px;
}
.review__head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.review__source-label {
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.06), 0px 0px 4px 0px rgba(0, 0, 0, 0.04);
    background-color: #fff;
    padding: 12px;
    display: flex;
    align-items: center;
    border-radius: var(--border-corner)
}
.review__source {
    display: flex;
    justify-content: flex-start;
}
.review__source-label img{
    height: 16px;
    object-fit: contain;
    object-position: center;
}
.review,
.content_reviews_ext:not(.content_reviews_ext-vertical).block_list .review {
    border: 1px solid rgba(245, 244, 244, 1);
    padding: 24px;
    display: flex;
    flex-direction: column;
    /*max-height: 520px;*/
}
.content_reviews_ext:not(.content_reviews_ext-vertical).block_list .review .review__content{
    /*flex-grow: 1;*/
}
.content_reviews_ext.content_reviews_ext-vertical .review,
.content_reviews_ext.block_element .review {
    padding: 0;
}

.review__content {
    margin-top: 32px;
}

.review_description--clamper {
    /*text-overflow: ellipsis;*/
    /*display: -webkit-box;*/
    /*-webkit-line-clamp: 6;*/
    /*-webkit-box-orient: vertical;*/
    overflow: hidden;
    max-height: calc(1em * 1.5 * 6)
}
.content_reviews_ext-vertical .review_description--clamper{
    /*-webkit-line-clamp: 4;*/
    max-height: calc(1em * 1.5 * 4)
}
.popup .review_description--clamper,
.content_reviews_ext .review.active .review_description--clamper,
.content_reviews_ext-vertical .review.active .review_description--clamper{
    /*-webkit-line-clamp: none;*/
    /*-webkit-line-clamp: unset;*/
    max-height: unset;
}
.review_description--wrapper {
    display: flex;
    flex-direction: column;
    gap: calc(1em * 1.5);
}
.review__author_description_text {
    display: flex;
    align-items: center;
    gap: 8px;
}
.review__stars {
    display: flex;
    align-items: center;
}
.review__content .is_cascade {
    line-height: 1.5;
    font-size: 16px;
}
.review__content .is_cascade > *:first-child {
    margin-top: 0;
}
.review__content .is_cascade > p,
.review__content .is_cascade a:not(.button),
.review__content .is_cascade > span,
.review__content.is_cascade ul li,
.review__content.is_cascade ol li
{
    font-size: 16px;
    margin-top: calc(1em * 1.5);
}
.review__content .is_cascade strong,
.review__content .is_cascade b {
    font-size: var(--fs-18);
    line-height: 1.3;
}
.review__action {
    padding-top: 24px;
    position: relative;
    display: none;
}
.review__action.is_visible {
    display: block;
}
.review__action:before {
    z-index: 1;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 164px;
    display: block;
    background: linear-gradient(to top, rgba(255,255,255,1) 0% 60px, rgba(255,255,255,0.1) 100%);
    border-radius: 4px;
}
.review.active .review__action:before {
    opacity: 0
}

.review__action .button {
    z-index: 2;
}
.popup-review .review__action{
    display: none;
}
.review_description_title {
    line-height: 1.5;
    margin-bottom: calc(1em * 1.5);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}
.review__image {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 6px;
    margin-bottom: 24px;
    position: relative;
    cursor: pointer;
    max-width: 400px;
}
.review__image:before {
    content: attr(data-all);
    color: #fff;
    display: flex;
    font-weight: bold;
    font-size: 14px;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: calc((100% - 6px * 3)/4);
    position: absolute;
    right: 0;
    top: 0;
    background-color: rgba(0,0,0,0.4);
    pointer-events: none;
    border-radius: 4px;
    overflow: hidden;
    opacity: 0;
}
.review__image:has(img:nth-child(1n+5)):before {
    opacity: 1;
}

.review__image img {
    height: 72px;
    border-radius: 4px;
}
.review__image img:nth-child(1n+5) {
    display: none;
}
.popup-review .popup__content{
    max-width: 540px
}

.js-show_review.active .icon-ic24-chevron-down {
    transform: rotate(180deg);
}
.content_reviews_ext.content_reviews_ext-vertical.block_list:not(.block_list-slider) .block--elements {
    grid-template-columns: 1fr;
    gap: 56px;
}
.content_reviews_ext.content_reviews_ext-vertical.block_list:not(.block_list-slider) .block--elements .block--pagination {
    grid-column: span 1;
}
.popup__content .review__image {
    max-width: 100%;
}
#fancybox-wrap, #fancybox-wrap *{
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    -o-box-sizing: content-box;
    -ms-box-sizing: content-box;
    box-sizing: content-box;
}

.review__author
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
}
.review__author_image
{
    overflow: hidden;

    width: 48px;
    height: 48px;

    border-radius: 50%;
    background-color: var(--c-surface-subdued);

    -webkit-box-flex: 0;
    -ms-flex: 0 0 48px;
    flex: 0 0 48px;
}
.review__author_image img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
.review__author_description_name
{
    font-size: var(--fs-18);
    font-weight: 600;
    line-height: 1.56;
}
.review__author_description_text
{
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 1.5;

    color: var(--c-text-disabled);
}
.review__stars
{
    --inactive_stars: var(--c-surface-primary-hovered);
    --star-color: var(--c-text-accent);
}
.review__stars .star-rate
{
    height: 18px;
}
/* Новые отзывы END */


/* Banner lazy loading */
.banner--play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(255,255,255,0.2);
    /*display: flex;*/
    align-items: center;
    justify-content: center;
    color: #fff;
    display: none;
    pointer-events: none;
    z-index: 3;
}
.banner--play.not_playing {
    display: flex;
    pointer-events: all;
}

.not_visible {
    opacity: 0;
    transition: 0.8s ease-out;
}
.banner--video {
    position: relative;
    z-index: 1;
}
.banner--poster {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
/* Banner lazy loading END */
.header__nav{
    max-width: 650px;

}

/*  КУКИ */

.popup--cookie {
    place-items: end center;
    pointer-events: none;
    background: transparent;
    padding: 12px;
}
.popup.active.popup--cookie {
    pointer-events: none;
}
.popup--cookie .popup__content {
    padding: 16px;
    border: 1px solid #edeeef;
    box-shadow: 0 3px 6px -3px rgba(23, 24, 24, .08), 0 8px 20px -4px rgba(23, 24, 24, .12);
    max-width: 480px
}
.popup.active.popup--cookie .popup__content{
    pointer-events: auto;
}
.popup--cookie .popup__content-text{
    margin: 8px 0 12px;
    font-size: 14px;
}
.popup--cookie .button {
    font-size: 12px;
    padding: 8px 12px
}
.popup--cookie .popup__content-text a {
    color: var(--c-text-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-skip-ink: none;
}
@media(max-width: 768px) {
    .popup--cookie {
        padding: 8px 8px 76px;
    }
    .popup--cookie .popup__content-text {
        font-size: 12px
    }
}


.popup--cookie {
    place-items: end start;
    pointer-events: none;
    background: transparent;
    padding: 12px;
}
.popup.active.popup--cookie {
    pointer-events: none;
}
.popup--cookie .popup__content {
    padding: 16px;
    border: 1px solid #edeeef;
    box-shadow: 0 3px 6px -3px rgba(23, 24, 24, .08), 0 8px 20px -4px rgba(23, 24, 24, .12);
    max-width: 480px
}
.popup.active.popup--cookie .popup__content{
    pointer-events: auto;
}
.popup--cookie .popup__content-text{
    margin: 8px 0 12px;
    font-size: 14px;
}
.popup--cookie .button {
    font-size: 12px;
    padding: 8px 12px
}
.popup--cookie .popup__content-text a {
    color: var(--c-text-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-skip-ink: none;
}
@media(max-width: 768px) {
    .popup--cookie {
        padding: 8px 8px 76px;
    }
    .popup--cookie .popup__content-text {
        font-size: 12px
    }
}
[data-popup="popup_for_cookie"] .popup__content {display: flex;align-items: center;gap: 16px;padding: 6px 8px;}




/*  КУКИ END */


.row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
}
.is_cascade .row a:not(.button) {
    font-size: 16px;
}
fieldset p:empty {
    display: none;
}
.form__input.form__policy span {
    font-weight: normal;
}
.ic-max{
    width: 1.2em;
    height: 1.2em;
    background-size: contain;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.2149 21.9429C10.2521 21.9429 9.34 21.6552 7.75452 20.504C6.75166 21.799 3.57593 22.8111 3.43744 21.0796C3.43744 19.7798 3.1509 18.6815 2.82617 17.4824C2.43935 16.0051 2 14.36 2 11.9763C2 6.28308 6.65137 2 12.1623 2C17.6781 2 21.9999 6.49411 21.9999 12.029C22.0088 14.6461 20.9835 17.1599 19.149 19.0186C17.3145 20.8772 14.8207 21.929 12.2149 21.9429ZM12.2961 6.92098C9.6122 6.78189 7.52052 8.64764 7.05729 11.5734C6.67525 13.9955 7.35338 16.9452 7.93122 17.0987C8.2082 17.1658 8.90542 16.5999 9.34 16.1634C10.0586 16.662 10.8954 16.9614 11.766 17.0315C13.1028 17.0961 14.4114 16.6314 15.4107 15.7372C16.41 14.843 17.02 13.5908 17.1098 12.2496C17.162 10.9057 16.6869 9.59493 15.7867 8.59928C14.8864 7.60362 13.633 7.00268 12.2961 6.92578V6.92098Z' fill='%235C5F62'/%3E%3C/svg%3E");
}
.popup-cascade .popup__content{
    width: 100%;
    padding: var(--g-section-inner) var(--g-content) ;
}
.popup-cascade .is_cascade > *:first-child {
    margin-top: 0;
}
.content_cards .card .card__text {
    color: #fff;
    font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 768px) / 1152)), 16px);
    margin-top: 4px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    z-index: 2;
    position: relative;
    opacity: 0.8
}
.button span[class^="icon-"]:only-child,
.button span[class*=" icon-"]:only-child,
.button svg[class^="icon"]:only-child {
    margin: 0;
}
.button:has(span[class^="icon-"]:only-child),
.button:has(span[class*=" icon-"]:only-child),
.button:has(svg[class^="icon"]:only-child ){
    padding: 12px
}
.popup--cookie .button:has(span[class^="icon-"]:only-child),
.popup--cookie .button:has(span[class*=" icon-"]:only-child),
.popup--cookie .button:has(svg[class^="icon"]:only-child ){
    padding: 8px
}
/* End */
/* /local/templates/main/styles.css?17024448534573 */
/* /local/templates/main/template_styles.css?178818825231478 */
