

/* Start:/local/templates/main/styles.css?17800553745110*/
/*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;
}

/* NEW H1-6 styles */
h1, h2, h3, h4, h5, h6 {
    font-family: 'ElMessiri', sans-serif;
}
.is_cascade h2 {
    font-size: clamp(28px, calc(28px + (36 - 28) * ((100vw - 768px) / 1152)), 36px);
}
.is_cascade h3,
.is_cascade h4,
.is_cascade h5,
.is_cascade h6 {
  font-size: var(--fs-28);
}
/* END NEW H1-6 styles */

@media (max-width: 1024px) and (orientation: portrait) {
    .block_banner.banner-hero {
        max-height: 100vh;
    }
}
@media (max-width: 1024px) {
    .block_banner.banner-hero {
        max-height: 100vh;
    }
}

@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?177140408830216*/
.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%);
        /*width: 600px;*/
    }
}

.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;
}









.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;
}
.is_cascade .accordion {
    overflow: hidden;
}

.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: 214 / 48;
    height: auto;
    width: 160px;
    max-width: 30vw;
    background-image: url('/upload/logo/logo_color.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.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;
}

.block_banner.block_banner-fullscreen .block--wrapper {
    max-width: 100vw;
}
.block_banner.block_banner-fullscreen .banner {
    width: 100vw;
    aspect-ratio: auto;
    height: calc(100vh - var(--headerHeight));
    padding: calc((100vw - var(--container)) / 2);
    border-radius: var(--border-corner);
}
.block_banner.block_banner-fullscreen {
    margin: 0
}
.block-no-margin{
    margin: 0;
}

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

.form__input input[type="date"]:invalid:not(:placeholder-shown){
    border-color: var(--c-dark);
}
.form__input input[type="date"]:invalid:not(:placeholder-shown) + .form__input-error{
    opacity: 0;
}

@media (min-width: 992px) {
    .content_contacts-2 .block--content {
        grid-template-columns: 1fr 1fr;
    }
}
.content_contacts-2 .content_contacts__description {
    grid-template-columns: 1fr;
    gap: 32px;
}

/* Баннер дизайнерский*/
.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: 1920 / 1404;
    }
    .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_banner.block_banner-fullscreen .block--wrapper {
    max-width: 100vw;
}
.block_banner.block_banner-fullscreen .banner {
    width: 100vw;
    aspect-ratio: auto;
    height: calc(100vh - var(--headerHeight));
    padding: calc((100vw - var(--container)) / 2);
    border-radius: 0;
}
.block_banner.block_banner-fullscreen {
    margin: 0
}
.block-no-margin{
    margin: 0;
}

.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;
}

/* Туры карточки */
.content_tours .card__content {
    padding: 12px 0;
    gap: 4px;
    display: flex;
    flex-direction: column;
}
.content_tours .card__labels {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: absolute;
    top: 14px;
    left: 12px;
    justify-content: flex-start;
    align-items: flex-start;
}
.content_tours .card__label {
    display: flex;
    align-items: center;
    padding: 6px 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    gap: 8px;
    color: var(--c-text-white);
    border-radius: var(--border-corner);
    background-color: rgba(48, 48, 48, 0.15);
    background-blend-mode: multiply;
    backdrop-filter: blur(14px);

}
.content_tours .card__label {
    border-radius: var(--border-corner);
}
.content_tours .card__subtitle {
    color: var(--c-text-accent);
    font-size: 12px;
}
.content_tours .card__title{
    font-size: var(--fs-20);
    font-weight: 500;
    line-height: 1.4;
}
.content_tours .card__text{
    font-size: var(--fs-16);
    margin-top: 4px;
    color: var(--c-text-subdued);
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.content_tours .card .card__image {
    overflow: hidden;
    width: 100%;
    border-radius: var(--border-corner);
    background: var(--c-surface-subdued);
    aspect-ratio: 380 / 280;
}
.content_tours .card .card__price
{
    font-size: var(--fs-18);
    font-weight: 600;
    margin-top: 8px;
}
.content_tours .card .card__price span
{
    font-size: var(--fs-16);
    font-weight: 400;
    color: var(--c-text-disabled);
}

.tour_description_manager {
    display: flex;
    flex-direction: column;
    gap: var(--g-24);
    padding: var(--g-32);
    border-radius: var(--border-corner);
    background-color: var(--c-surface-default);
    -webkit-box-shadow: 0 3px 6px -3px rgba(23, 24, 24, .08), 0 8px 20px -4px rgba(23, 24, 24, .12);
    box-shadow: 0 3px 6px -3px rgba(23, 24, 24, .08), 0 8px 20px -4px rgba(23, 24, 24, .12);
}
.tour_description_manager .button{
    width: 100%;
}
.tour_description_manager--person{
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 16px;
    align-items: center;
}
.tour_description_manager--person_name {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.tour_description_manager--person img{
    width: 64px;
    height: 64px;
    border-radius: var(--border-corner);
}

/* Туры карточки конец */

/* Туры карта и день  */
.content_tour_map
{
    position: relative;
}
.content_tour_map .map
{
    position: relative;

    overflow: hidden;

    height: 600px;

    border-radius: var(--border-corner);
}
.content_tour_map .map--placemark_content
{
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;

    text-align: center;

    color: #fff;

    fill: #fff;
}
.content_tour_map .map--placemark_content-svg
{
    fill: var(--c-text-accent);
}
.content_tour_map .placemark {
    transition: 0.24s ease-in-out;
}
.content_tour_map .placemark[data-active="active"] {
    opacity: 1;
    scale: 1.2;
}
.content_tour_map .placemark[data-active="not_active"] {
    opacity: 0.5;
    scale: 1
}
.content_tour_map .block--sections
{
    position: absolute;
    z-index: 10;
    top: var(--g-content);
    left: var(--g-content);

    gap: 10px;
}
.content_tour_map .block--sections a
{
    padding: 8px;

    border-radius: var(--border-corner, 2px);
    background: var(--c-surface-default);
    cursor: pointer;
}
.content_tour_map .block--sections a:hover,
.content_tour_map .block--sections a.is_active{
    text-decoration: none;
}

.popup-tour_map
{
    position: absolute;

    width: auto;
    height: auto;
    padding: var(--g-content) calc((100vw - var(--container)) / 2 + 32px);

    background: transparent;

    place-items: end;
    pointer-events: none;
}
.popup-tour_map.active {
    pointer-events: none;
}
.popup-tour_map .popup__content
{
    pointer-events: auto;
    width: 100%;
    max-width: 420px;
    padding: var(--g-section-inner) var(--g-content);

    border: 1px solid var(--border-color, #f5f4f4);
    border-radius: var(--border-corner);
    background: var(--surface-default, #fff);
    background-color: var(--c-surface-default);
    -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12);
}
.popup-tour_map .popup__content-title
{
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    line-height: 32px;

    margin-bottom: 12px;
}


.content_tour_day .block--wrapper
{
    display: grid;

    gap: 20px;
}
@media (min-width: 992px)
{
    .content_tour_day .block--wrapper
    {
        grid-template-columns: repeat(4, 1fr);
    }
    .content_tour_day .block--wrapper .block--content
    {
        grid-column: 3/span 2;
    }
    .content_tour_day .block--wrapper .block--image
    {
        grid-column: 1/span 2;
    }
}
@media (max-width: 992px)
{
    .content_tour_day .block--wrapper
    {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .content_tour_day .block--wrapper .block--content
    {
        grid-column: 1/span 2;
    }
    .content_tour_day .block--wrapper .block--image
    {
        grid-column: 1/span 2;
    }
    .content_tour_day .block--wrapper .block--image ~ img:not(:nth-of-type(7n+1))
    {
        aspect-ratio: 1/1;
    }
}
.content_tour_day .block--wrapper .block--content
{
    padding: 0 var(--g-content_cards) var(--g-content);
}
.content_tour_day .block--wrapper .block--image
{
    position: relative;

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

    max-width: var(--container);

    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.content_tour_day .block--wrapper .block--image img
{
    aspect-ratio: 1/1;
}
.content_tour_day .block--wrapper .block--image ~ img
{
    height: calc(var(--container) / 4);
}
@media (max-width: 992px)
{
    .content_tour_day .block--wrapper .block--image ~ img
    {
        height: calc(var(--container) / 2);
    }
}
.content_tour_day .block--wrapper .block--image ~ img:nth-of-type(7n+1)
{
    grid-column: span 2;
}

.tour_description__content .is_cascade {
    margin: var(--g-content) 0;
}

/* Туры карта и день конец  */


/* Фильтры  */
.block--filter .form{
    display: none;
}
.form__input-items{
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
}
.form__input-items input{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 30%;
    max-width: 30%;
}
.tour_description_aside .tour_attributes{
    gap: var(--fs-20);
    margin: var(--fs-24) 0;
}
.block--filter {
    justify-content: flex-end;
}
@media(min-width: 768px) {
    .block.block_list:not(.block_list-slider) .block--wrapper {
        display: grid;
        grid-template-columns: 3fr 1fr;
        grid-template-areas: 'head head' 'actions .' 'sections filters' 'elements elements';
    }
}
.block.block_list:not(.block_list-slider) .block--actions{
    grid-area: actions;
}
.block.block_list:not(.block_list-slider) .block--sections{
    grid-area: sections;
}
.block.block_list:not(.block_list-slider) .block--elements{
    grid-area: elements;
}
.block.block_list:not(.block_list-slider) .block--head {
    grid-area: head;
}
.block.block_list:not(.block_list-slider) .block--filter{
    grid-area: filters
}
/* Фильтры конец  */

/* Расширенные преимущества комнаты */
.advantages_popular{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    justify-content: flex-start;
    align-items: flex-start;
    margin:  var(--g-content) 0 var(--g-section-inner);
    font-size: var(--fs-24);
}
.advantages_popular li{
    display: flex;
    align-items: center;
    gap: 8px;
}
.advantages_popular li img{
    width: 24px;
    height: 24px;
    object-fit: contain;
}

@media(min-width: 992px){
    .advantages_lists{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        /*columns: 3;*/
        gap: var(--g-section-inner);
    }
}
.advantages_list_item {
    margin-bottom: 24px;
}
.advantages_list_item_title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--fs-24);
}
.advantages_list_item_title svg,
.advantages_list_item_title img{
    width: 24px;
    height: 24px;
    object-fit: contain;
}
.advantages_list_item_text{
    color: var(--c-text-subdued);
    margin: 16px 0;
    font-size: var(--fs-18);
    line-height: 1.5;
}
.advantages_list{
    list-style: none;
    margin: 24px 0 var(--g-section-inner);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.advantages_list--label {
    font-size: 10px;
    padding: 4px 6px;
    display: inline-block;
    border-radius: var(--border-corner);
    background-color: var(--c-surface-subdued);
    margin: 0 4px;
}

/* Расширенные преимущества комнаты конец */

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

.popup-tour_map  .popup__close{
    top: 10px;
    right: 10px;
}
.popup-tour_map  .popup__content-title{
    padding-right: 32px;
}
.developer span {
    display: flex;
    align-items: center;
    gap: 4px;
}

@media (min-width: 768px) {
    .block.block_list:not(.block_list-slider).content_vacancies .block--wrapper {
        display: grid;
        grid-template-columns: 1fr 3fr;
        grid-template-areas:
'head     head    '
'actions  .       '
'filters  .       '
'sections elements '
    }
}

@media (max-width: 768px) {
    .block.block_list:not(.block_list-slider).content_vacancies .block--wrapper {
        display: grid;
        grid-template-columns: 1fr ;
        grid-template-areas:
            'head'
            'actions'
            'filters'
            'sections'
            'elements'
    }
}



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

    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: var(--g-24);
    /*background-color: rgba(58,58,58,0.8);*/
    /*backdrop-filter: blur(4px);*/
    border-bottom: 1px solid  #edeeef;
}
.header-transparent .header__top {
    background-color: rgba(1,42,82,0.2);
    backdrop-filter: blur(4px);
    border-color: transparent;
}

.header__top .header__nav{
    justify-content: center;
    max-width: 100%;
    height: 40px;
    overflow-y: hidden;
    display: flex;
}
@media (max-width: 992px) {
    .header__top .header__nav{
        display: flex;
    }
}
.header{
    transition: var(--transition)
}
.header.scrolled {
    transform: translateY(-41px);
}

@media(max-width: 768px) {
    .header__top {
        max-width: 100vw;
        height: 40px;
    }
    .header__top .header__nav{
        overflow-y: hidden;
        overflow-x: auto;
        justify-content: flex-start;
    }
}


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

    max-width: var(--container);
    margin: 0 auto;
    padding: 14px 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: var(--g-24);
    position: relative;
}
@media (max-width: 1436px)
{
    .header__main .header__nav
    {
        display: none;
    }
}
@media (max-width: 992px)
{
    .header__main
    {
        max-width: 100%;
        padding: 10px 16px;

        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: start;
    }
    .header__main .header__logo
    {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .header__main .header__nav
    {
        display: none;
    }
    .header__main .header__actions
    {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-left: auto;
    }
    .header__main .header__actions .header__button
    {
        display: none;
    }
    .header__main .header__actions .header__contacts span.icon-ic24-unfold-more
    {
        display: none;
    }
    .header__main .header__actions .header__contacts .header__contacts-list
    {
        display: none;
    }
}



@media(min-width: 769px) {
    .block_banner.ac-banner_cover .banner {
        aspect-ratio: 1920 / 1404;
        padding-top: 120px;
    }
}
@media(max-width: 768px) {
    .is_cascade--table {
        max-width: 100vw;
        overflow-x: scroll;
        margin: 0 -16px;
        padding: 0 16px;
    }
}



.content_scheme
{
    position: relative;
}
.content_scheme .block--wrapper
{
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.scheme
{
    position: relative;

    width: 100%;
}
@media (max-width: 768px)
{
    .scheme
    {
        overflow-x: auto;
        overflow-y: hidden;
    }
}
.scheme svg
{
    width: 100%;

    aspect-ratio: 1920/960;
}
@media (max-width: 768px)
{
    .scheme svg
    {
        width: auto;
        height: 80vh;
max-width: initial;
    }
}
.scheme image
{
    width: 100%;
    height: 100%;
}

.placemark
{
    cursor: pointer;
}
.placemark:hover
{
    stroke-width: 6px;
}

.scheme--tooltip
{
    font-size: 16px;

    position: absolute;

    max-width: 280px;
    padding: 14px 20px;

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

    opacity: 0;
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.48);
}
.scheme--tooltip:after
{
    position: absolute;

    display: block;

    width: 4px;
    height: 6px;

    content: '';

    background-image: url('data:image/svg+xml,%3Csvg width=\'4\' height=\'6\' viewBox=\'0 0 4 6\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M0 3L4 0V6L0 3Z\' fill=\'white\'/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}
.scheme--tooltip.is_visible
{
    opacity: 1;
}
.scheme--tooltip.is_right
{
    -webkit-transform: translate(-100%, -50%);
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
}
.scheme--tooltip.is_right:after
{
    top: 50%;
    right: 0;
    left: unset;

    -webkit-transform: translate(100%, -50%) rotate(180deg);
    -ms-transform: translate(100%, -50%) rotate(180deg);
    transform: translate(100%, -50%) rotate(180deg);
}
.scheme--tooltip.is_left
{
    -webkit-transform: translate(24px, -50%);
    -ms-transform: translate(24px, -50%);
    transform: translate(24px, -50%);
}
.scheme--tooltip.is_left:after
{
    top: 50%;
    right: unset;
    left: 0;

    -webkit-transform: translate(-100%, -50%);
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
}

.popup-scheme
{
    padding: 16px;

    place-content: center;
}

.popup-scheme .popup__content
{
    position: relative;

    width: 100%;
    max-width: 512px;
    min-width: 276px;

    border-radius: 12px;
    background-color: white;
}
@media(min-width: 640px){
    .popup-scheme .popup__content
    {
        width: 512px
    }
}

.popup__content-description
{
    padding: 16px;
}

.popup-scheme .popup--close
{
    position: absolute;
    z-index: 2;
    top: 10px;
    right: 10px;

    border-radius: 4px;
    background-color: #fff;
}

.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
{
    position: relative;

    display: block;

    height: 100%;

    aspect-ratio: 512/360;
}

/* 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 */
/* End */
/* /local/templates/main/styles.css?17800553745110 */
/* /local/templates/main/template_styles.css?177140408830216 */
