
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/Noto_Sans/static/NotoSans-Regular.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/Noto_Sans/static/NotoSans-MediumItalic.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Noto_Sans/static/NotoSans-Bold.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/Noto_Sans/static/NotoSans-BoldItalic.ttf') format('truetype');
    font-display: swap;
}

/*@font-face {
    font-family: 'Tenor Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/Tenor_Sans/TenorSans-Regular.ttf') format('truetype');
    font-display: swap;
}*/
@font-face {
    font-family: 'Fira Mono';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/Fira_Mono/FiraMono-Medium.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Fira Mono';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Fira_Mono/FiraMono-Bold.ttf') format('truetype');
    font-display: swap;
}
:root {
	--colorTextTheme: #6F2848;
	--blackTxt: #151515;
	--bgColor: #FFF;
	--bgColorDark: #202329;
	--themeColor: #36a4ea;
	--themeColorHotel: #36a4ea;
	--themeColorRest: #503428;
    --themeColorKz: #1b3867; 
	--body-font-family: 'Noto Sans';
	--jobbing-font-family: 'Fira Mono';
	--body-font-size: 1rem;
	--body-font-weight: 400;
	--body-line-height: 1.6;
	--default-border-radius: 1rem;
	--rounded-border-radius: 3rem;
	--default-aspect-r: 5 / 3;
	--colorGray: #9b9b9b;
	--gold-color: #c9a65a;
	--text-white: #ffffff;

}
body {
	overflow-x: hidden;
    margin: 0;
    background-color: var(--bgColor);
	font-family:var(--body-font-family);
	font-size:var(--body-font-size);
	font-weight:var(--body-font-weight);
	line-height:var(--body-line-height);
	color:var(--blackTxt);
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	position: relative;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
    max-width: 100vw;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
 	font-family:var(--jobbing-font-family);
 	/*letter-spacing: -.02em;*/
    font-weight: bold !important;
 }
.wp-theme-panorama-tver h2, .wp-theme-panorama-tver h3 {
	color:var(--blackTxt);
}
.wp-theme-panorama-tver .dark-block h2, .wp-theme-panorama-tver .dark-block h3 {
	color: #fff;
}
.reveal-block {
  opacity: 0;
  transform: translateY(50px); 
  transition: all 1.2s ease-out;  
}
.fullscreen-bg {
    position: relative;
    /*min-height: 100vh;*/
    height: 100vh;
/*    height: 100lvh; 
    min-height: 100lvh;*/
    /*height: calc(var(--vh, 1vh) * 100);*/
    height: 100svh;
    width: 100%;
    /*padding-bottom: 1rem;*/
    box-sizing: border-box;
    color: var(--text-white);
    overflow: hidden; 
    z-index: 1050;
}

.mobile .fullscreen-bg::before {
   background-position: bottom center; 
}
.mobile .fullscreen-bg .caption {
    font-size: .95rem;
}
.fullscreen-bg .caption {
    font-size: 1rem;
}
.fullscreen-bg video {
    position: absolute;
    top: 0;
    left: 0;
    inset: 0;
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    height: inherit;
}
.fullscreen-bg .bg-info-wrap {
    width: 100%;
    height: 100%;
}
.desktop .fullscreen-bg .bg-info-wrap {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: var(--header-height, 97px);
}
.fullscreen-bg .container-fullscreen-bg {
	position: relative;
	z-index: 2;
    flex-wrap: wrap; 
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: inherit;
}

.fullscreen-bg .main-info {
    flex: 1;
    max-width: 500px;
    min-width: 120px;
    position: relative;
    margin-top: -6rem; 
}

.fullscreen-bg .main-info::before {
  position: absolute;
  top: -10%;
  left: -10%;
  display: block;
  width: 120%;
  height: 120%;
  content: '';
  background: rgba(0, 0, 0, .6);
  -webkit-filter: blur(125px);
  filter: blur(155px);
  z-index: -1;
}
.desktop .fullscreen-bg .main-info {
    margin-top: -8rem; 
}
.fullscreen-bg .bg-slider {
    position: absolute;
    width: 100%;
    max-width: 100vw;
    height: 100%; 
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 0;   
}
.fullscreen-bg .bg-slider .carousel, 
.fullscreen-bg .bg-slider .carousel-inner,
.fullscreen-bg .bg-slider .carousel-item {
    width: 100%;
    height: 100%;
}

.fullscreen-bg .bg-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /* Убирает возможные зазоры снизу */
    display: block; 
    border-radius: unset;
}
.fullscreen-bg .promo_carousel {
    border-radius: unset;    
}

#section-main {
    margin-top: calc(var(--header-height, 100px) + 3rem);
    min-height: 500px;
}

/* WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 0 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 0 20px 0 0;
}
.mobile .alignleft, .mobile .alignright {
    width: 100% !important;
    max-width: 100% !important;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
.carousel-item .row { 
    display: flex; 
    flex-wrap: wrap; 
    margin: 0 -5px; 
}

.carousel .gallery-item-inner { padding: 5px; text-align: center; }

.carousel .gallery-icon img { 
    max-width: 100%; 
    /*height: auto; */
    display: block; 
}

.carousel .gallery-caption { 
    font-size: 0.85rem; 
    padding: 8px 0; 
    color: #666; 
}

.carousel-control-prev-icon, .carousel-control-next-icon {
    background-color: rgba(0,0,0,0.5);
    border-radius: 50%;
    padding: 15px;
}

/*==================Google translator================*/
#google_translate_element {
    position: absolute;
    top: -9999px;
    left: -9999px;
    visibility: hidden;
}
.goog-te-banner-frame.skiptranslate {
    display: none !important;
}
iframe.goog-te-banner-frame {
    display: none !important;
}

body {
    top: 0px !important;
}

/* Скрываем всплывающие подсказки при наведении на переведенный текст */
#goog-gt-tt, .goog-te-balloon-frame {
    display: none !important;
}
.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}
/*==================header================*/
#header {
    background: var(--bgColorDark);
    color: var(--text-white);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10001;
    -webkit-backdrop-filter: blur(4px);
      backdrop-filter: blur(4px);
    line-height: 1.5rem;
    border-bottom: 1px solid #00000014;
    padding-bottom: .1rem;
    box-shadow: 0 10px 15px -10px rgba(162,162,162,.1);
    transition: backdrop-filter .2s ease, background .2s ease;
    max-width: 100vw;
}
.home #header, .bg-page  #header {
    color: var(--text-white);
}
.bg-page  #header {
    background: #00000025;
}
.home #header:not(.scrolled):not(.nottop) {
    /*background: transparent;*/
    background: #00000025;
    /*box-shadow: none;
    border-bottom: unset;
    backdrop-filter: unset;*/
}

#header.scrolled, .no-header #header {
    background: var(--bgColorDark);
    color: var(--text-white);
    -webkit-backdrop-filter: blur(2px);
      backdrop-filter: blur(2px);
}
.mobile #header, .mobile.no-header #header .mobile #header.scrolled, .mobile.home #header:not(.scrolled):not(.nottop) {    
    -webkit-backdrop-filter: unset;
    backdrop-filter: unset;
    box-shadow: none;
    border: none;
    background: var(--bgColorDark);
}
.mobile.bg-page #header, .mobile #header.scrolled, .mobile.home #header:not(.scrolled):not(.nottop) {
    background: linear-gradient(180deg,rgba(0, 0, 0, 0.35) 0%,#fff0 100%);
}
.mobile #header.scrolled, .mobile.js-menu_activated #header {    
    /*background: linear-gradient(180deg,rgba(0, 0, 0, 0.68) 30%,#fff0 100%);*/
    background: transparent;
}
.mobile.no-header #header {    
    /*background: linear-gradient(180deg,rgba(0, 0, 0, 0.68) 30%,#fff0 100%);*/
    background: transparent !important;
}
#header .info {
    padding-block: .2rem;
    -webkit-transition: height 0.5s ease, interpolate-size 0.5s;
    -o-transition: height 0.5s ease, interpolate-size 0.5s;
    transition: height 0.5s ease, interpolate-size 0.5s;
    height: auto;
}
.mobile #header .info {
    padding-block: .4rem;
    line-height: 1.1rem;
    font-size: .8rem;
}
#header.scrolled .info-desktop {
    height: 0 !important;
    opacity: 0;
    padding-block: .05rem;
}
#header .group-btn > *:not(:last-child) {
    margin-right: .5rem;
}
#header .logo, #footer .logo  {
    height: 35px;
    min-width: 120px;
    width: 140px;
    max-width: 100%;
    margin-block: .3rem;
    color: white;
}
.logo-img-all {
  --svg: url('../../img/logo.svg');
  height: 35px;
  min-width: 70px;
  width: 120px;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  margin-block: .3rem;
  -webkit-mask: var(--svg);
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background: currentColor;
}
.mobile #header .logo {
    width: 135px;
    margin-block: .02rem;
    transition: opacity .2s ease;
}
.mobile.scrolled #header .logo, .mobile.no-header #header .logo {
    opacity: 0;
    pointer-events: none;
}
#header .logo-img, #footer .logo-img {
    --svg: url('../../img/logo.svg');
    height: 35px;
    min-width: 70px;
    width: 120px;
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    /*margin-block: .3rem;*/
    -webkit-mask: var(--svg);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background: currentColor;
}
.mobile #header .logo-img {
    height: 30px;
}
#header .logo-img-bc, #footer .logo-img-bc {
    --svg: url('../../img/logo_flat.svg');
    height: 2.3rem;
    min-width: 3rem;
    margin-bottom: .1rem;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-mask: var(--svg);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background: currentColor;
}
.mobile #header .logo-img-bc {
    min-width: 2.5rem;
}

#header .logo-img, #header.scrolled .logo-img {
    background: var(--text-white);
}

.desktop #header .info >*:first-child,.desktop #header .info >*:last-child {
    flex: 1;
}
#header .navbar {
    padding: 0;
    margin-inline: -.5rem;
}
#header .nav-item {
    position:relative;
    padding-inline: .1rem;
    font-size: .75rem;
}
#header #primary-menu-wrap-desk .nav-link {
    color: var(--text-white);   
    padding-left: .4rem;
    padding-right: .4rem;
}
#header #primary-menu-wrap .nav-link {
    color: var(--text-white);   
}
.home #header #primary-menu-wrap-desk .nav-link, .bg-page #header #primary-menu-wrap-desk .nav-link {
    color: var(--text-white);
}

#header #primary-menu-desk > .nav-item:not(:last-child)::after {
    content: '';
    width: 0;
    border-right: 1px solid currentColor;
    height: 40%;
    background-color: currentColor;
    position: absolute;
    right: 0;
    top: 30%;
}
#header .dropdown-menu {
    position: absolute;
    float: none;
    width: calc(100% + 45px);
    border: none;
    padding: 0 45px;
}
#header .ico {
    height: 1rem;
}
#header .toogle {
    z-index: 10002;
}
#header .contacts {
    text-align: right;
}

#slider-box {
    height: 24px;
    overflow: hidden;
    font-family: sans-serif;
    font-size: .9rem;
}
#slider-box .phone-number {
    color: currentColor;
    text-decoration: none;
}
#slider-box #track {
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
#slider-box #track div {
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: end;
}
.fullscreen-bg .rest-cf, .contacts-banner-wrapper, button, #slider_promo {
    opacity: 0;  
}
.mobile .slider-img-promo-wrap, 
.mobile .all-contacts-mobile, 
.mobile .objects-mobile-wrap {
    /*display: none;*/
    opacity: 0;
}
.mobile .mb-w-100 {
    width: 100% !important;
}
.slider-img-promo-wrap, .all-contacts-mobile, .objects-mobile-wrap {
    position: fixed;
    max-width: min(calc(100dvw - 2rem),350px);
    width: calc(100dvw - 2rem);
    left: 1rem;
    bottom: 1.1rem;
    z-index: 1500;
}
.hidden.contacts-banner-wrapper {
  height: 2.4rem;
  width: 2.4rem;
  border-radius: 50%;
}
.mobile .hidden.contacts-banner-wrapper {
  height: 2.2rem;
  width: 2.2rem;
}
.hidden.contacts-banner-wrapper  * {
    opacity: 0;
    pointer-events: none;
}
.hidden.contacts-banner-wrapper .mini-ico {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 1;
  top: 0;
  left: 0;
  z-index: 10;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hidden.contacts-banner-wrapper .mini-ico * {
    opacity: 1;
}
.hidden.contacts-banner-wrapper .mini-ico .ring-circle {
    width: 100%;
    height: 100%;
}
.contacts-banner-wrapper .contact-group {
    margin-bottom: 1rem;
}
.contacts-banner-wrapper .banner-close {
    color: #fff;
}
.contacts-banner-wrapper .title {
    text-transform: uppercase;
    margin-bottom: .5rem;
    font-weight: bold;
}
.contacts-banner-wrapper .contact-items {
    /*display: flex;*/
}
.contacts-banner-wrapper .contact-item {
    font-size: .9rem;
}
.contacts-banner-wrapper .social-btn {
    display: inline-block;
    margin-right: .3rem;
}
.contacts-banner-wrapper .social-btn .ico {
    width: 1.5rem;
    height: 1.5rem;
}
.contacts-banner-wrapper .social-btn a {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: var(--contactsBnColor);
}
.contacts-banner-wrapper .social-btn a::before {
    content: "";
    position: absolute;
    /*display: inline-block;*/
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;

}
.fullscreen-bg .reserv {
    z-index: 3;  
    padding-top: calc(var(--header-height, 90px) + 2rem);
}

.desktop .fullscreen-bg .reserv {
    padding-top: calc(var(--header-height, 90px));
}
.desktop.scrolled .fullscreen-bg .reserv {
    z-index: 3;  
    padding-top: 0;
}

.reserv.container {
    padding-inline: 0;
    min-height: 94px;
}
.reserv {
    width: 100%;
    transition: opacity ease .3s;
}
.rest-cf {
    max-width: 400px;
    z-index: 100;
}
.desktop .rest-cf .wpcf7-form {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
}
.mobile .reserv:not(.relative-pos) {
    position: fixed;
    width: calc(100% - 1.5rem);
}
.slider-img-promo-wrap {
  opacity: 0; 
  position: fixed; 
  /*display: none;*/
}

.hamburger {

    -webkit-box-pack: end;

        -ms-flex-pack: end;

            justify-content: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    z-index: 10002;
    background:transparent;
    /*overflow:hidden;*/
    cursor:pointer;
    right: 0;
    /*top: .5rem;*/
    position: relative;
}
.mobile .hamburger::after {
    content: "";
    background-color: transparent;
    width: 180%;
    padding-top: 180%;    
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);     
    border-radius: 50%;
    pointer-events: none;
    transition: background .2s ease;
}
.mobile.scrolled .hamburger::after {
    background-color: var(--bgColorDark);
}
.mobile.js-menu_activated .hamburger::after {
    background-color: transparent;
}
.hamburger__button{
    border: none;
    background-color: transparent;
    padding: 0;
    font-family: inherit;
    width: 1.2rem;
    height: 16px;
    font-size: 18px;
    color: currentColor;
    position: relative;
    text-indent: -9999px;
    z-index: 2;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
}
#btn-to-top {
    border-radius: .3rem;
    color: #fff;
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    font-size: .5rem;
    display: none;
    aspect-ratio: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: transparent;
    border: none;
    z-index: 1050;
    -webkit-transition: 0.3s; 
    -o-transition: 0.3s; 
    transition: 0.3s;
    width: 2rem;
    filter: drop-shadow(1px 0 0 #00000026) drop-shadow(-1px 0 0 #00000026) drop-shadow(0 1px 0 #00000026) drop-shadow(0 -1px 0 #00000026) drop-shadow(0 3px 5px rgba(0, 0, 0, 0.2));
}
.desktop #btn-to-top {
  right: 4.5rem; 
}
.mobile #btn-to-top {
    bottom: 3.3rem;
    right: .4rem;
}
#btn-to-top.scrolled {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
#btn-to-top .ico {
    height: 24px;
    width: 24px;
}
.bottom-mobile-menu {
    width: 100%;
    min-height: 2.5rem;
    color: #fff;
    /*background-color: #2d2d2dba;*/
    background-color: #31313178;
    font-size: .6rem;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10000;
    backdrop-filter: blur(10px);

}
.bottom-mobile-menu .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; 
}
.bottom-mobile-menu .item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
}
.btn-default {
  background: transparent;
  border: none;
  color: white;
}
.contacts-banner-wrapper {
    --contactsBnColor: #36A4EA;
    background-color: var(--contactsBnColor);
    position: fixed;
    max-width: min(calc(100dvw - 2rem),200px);
    width: calc(100dvw - 2rem);
    right: 1.1rem;
    bottom: 1.1rem;
    border-radius: var(--default-border-radius);
    box-shadow: 0 8px 14px -4px rgba(0,0,0,.08), 0 0 4px 0 rgba(0,0,0,.12);
    text-align: left;
    margin-top: 2rem;
    padding: .8rem;
    /*overflow: hidden;*/
    z-index: 1500;
}
.desktop .contacts-banner-wrapper {

}
.mobile .contacts-banner-wrapper {
    bottom: 1rem;  
    right: .3rem;
}
.sticky-vertical-menu {
    display: none;
    position: fixed;
    top: 50%;
    left: 1.5rem;
    z-index: 8;
    -webkit-transform: translate(calc(-50% + 1rem), -50%) rotate(-90deg);
        -ms-transform: translate(calc(-50% + 1rem), -50%) rotate(-90deg);
            transform: translate(calc(-50% + 1rem), -50%) rotate(-90deg);
    -webkit-transition: .3s cubic-bezier(.21,.63,.36,1);
    -o-transition: .3s cubic-bezier(.21,.63,.36,1);
    transition: .3s cubic-bezier(.21,.63,.36,1);
}
.sticky-vertical-menu .menu-item > * {
    text-decoration: none;
    padding: 0 .5rem;
    color: var(--colorGray);
    -webkit-transition: inherit;
    -o-transition: inherit;
    transition: inherit;
    display: inline-block;
}

.sticky-vertical-menu .menu-item:first-child > * {
    padding-left: 0;
}

.sticky-vertical-menu .menu-item:not(:last-child) > *::after {
    content: "/";
    margin-left: 1rem;
    pointer-events: none;
    color: currentColor;
}
#cookie-notice {
    bottom: 0;
}
@media (min-width: 992px) { 
    .fullscreen-bg {
      height: 100vh;
    }
    .fullscreen-bg .caption {
        font-size: 1.07rem;
    }
}
@media (min-width: 1200px) {
 .home h2, .home .h2 {
    font-size: 2.3rem;
  }
}
@media (min-width: 1400px) {
    .mw1200 {
        max-width: 1200px;
    }
    #header .nav-item {
      font-size: .85rem;
    }
    header #primary-menu-wrap-desk .nav-link {
      padding-left: .6rem;
      padding-right: .6rem;
    }
}