html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}
.glide__arrow{position:absolute;display:block;top:50%;z-index:2;color:white;text-transform:uppercase;padding:9px 12px;background-color:transparent;border:2px solid rgba(255,255,255,0.5);border-radius:4px;box-shadow:0 0.25em 0.5em 0 rgba(0,0,0,0.1);text-shadow:0 0.25em 0.5em rgba(0,0,0,0.1);opacity:1;cursor:pointer;transition:opacity 150ms ease, border 300ms ease-in-out;transform:translateY(-50%);line-height:1}.glide__arrow:focus{outline:none}.glide__arrow:hover{border-color:white}.glide__arrow--left{left:2em}.glide__arrow--right{right:2em}.glide__arrow--disabled{opacity:0.33}.glide__bullets{position:absolute;z-index:2;bottom:2em;left:50%;display:inline-flex;list-style:none;transform:translateX(-50%)}.glide__bullet{background-color:rgba(255,255,255,0.5);width:9px;height:9px;padding:0;border-radius:50%;border:2px solid transparent;transition:all 300ms ease-in-out;cursor:pointer;line-height:0;box-shadow:0 0.25em 0.5em 0 rgba(0,0,0,0.1);margin:0 0.25em}.glide__bullet:focus{outline:none}.glide__bullet:hover,.glide__bullet:focus{border:2px solid white;background-color:rgba(255,255,255,0.5)}.glide__bullet--active{background-color:white}.glide--swipeable{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.glide--dragging{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}
* {
    box-sizing: border-box;
}
html {
    font-size: 16px;
}
body {
    background-color: #fff;
    color: rgba(0, 0, 0, 0.87);
    /* font-family: 'Source Sans Pro', Arial,  sans-serif; */
    font-family: 'Arsenal', Arial,  sans-serif;
    font-weight: 400;
    font-size: 16px;
	scroll-behavior: smooth;
}
p {
    margin: 0;
}
.container {
    width: 100%;
    max-width: 1640px;
    padding: 0 20px;
    margin: 0 auto;
}
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 32px;
    min-height: 72px;
    background: #3E7FFF;
    border-radius: 4px;
    /* font-weight: 600; */
    font-weight: 700;
    font-size: 22px;
    line-height: 28px;
    text-align: center;
    letter-spacing: 0.02em;
    color: #fff;
    text-decoration: none;
    transition: background .3s ease-out;
    outline: none;
    border: none;
    cursor: pointer;
}
.button[disabled] {
    opacity: .3;
    cursor: not-allowed;
}
.button:hover {
    background: #246EFE;
}
.button-outline {
    padding: 10px 30px;
     border: 2px solid #fff;
     color: #fff;
     background: transparent;
     transition: background .3s ease-out, color .3s ease-out;
}
.button-outline:hover {
    color: rgba(0, 0, 0, 0.87);
     background: #fff;
}
.button-outline.active {
    background: #fff;
     color: rgba(0, 0, 0, 0.87);
     pointer-events: none;
}
.button-outline_white {
    display: flex;
    color: #fff;
    border-color: #fff;
    background: transparent;
    transition: all .3s ease-out;
}
.button-outline_white:hover {
    border-color: #3E7FFF;
}

.section-title {
    font-weight: 400;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 80px;
    text-align: center;
}
.section-subtitle {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
}
.intro {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
}
.intro-video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-position: center;
    background-size: cover;
}
.intro-video__shade {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 31, 73, 0.4);
    position: absolute;
    top: 0;
    left: 0;
}
.intro-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.header {
    color: #fff;
    height: 80px;
}
.header_inner {
    padding-bottom: 20px;
    background-color: #3E7FFF;
    box-shadow: 0px 8px 24px rgba(0, 66, 133, 0.05);
}
.header__container {
    height: 100%;
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   padding-top: 4px;
   padding-bottom: 4px;
}
.header__left {
   margin-right: 80px;
}

.header__address {
    flex: 1;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #fff;
}

.header__address-adaptive {
    display: none;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #FFFFFF;
    margin-top: 12px;
}

.header__contacts {
    display: flex;
    align-items: center;
}

.header__address-default {
   font-size: 24px;
    line-height: 32px;
    color: #fff;
    margin-right: 80px;
}
.header__tel {
    text-decoration: none;
    transition: opacity .3s ease-out;
}
.header__socials {
   display: flex;
   align-items: center;
}
.header__social-link {
    margin-right: 12px;
}
.header__middle {
    margin-top: 40px;
}
.header__logo img {
    display: block;
     width: 300px;
}
.header__middle-text {
    font-size: 28px;
    line-height: 32px;
    color: #fff;
    text-align: center;
    margin-top: 12px;
}
.header__links {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.header__tel {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #fff;
    margin-right: 80px;
    text-decoration: none;
}
.header__social {
    display: flex;
}
.header__social-link {
    margin-right: 12px;
}
.footer__social-link {
    margin-right: 24px;
}
.header__social-link:last-child, .footer__social-link:last-child {
    margin-right: 0;
}
.header__social-link svg, .footer__social-link svg {
    display: block;
}
.header__social-link svg path, .footer__social-link svg path {
    transition: fill .3s ease-out;
}
.header__social-link:hover svg path, .footer__social-link:hover svg path {
    fill: #3E7FFF;
}
.header_inner .header__social-link:hover svg path {
    fill: #fff;
}
.header__social-tel {
    display: none;
}
.intro-block {
    flex: 1;
    padding: 104px 0 124px;
    display: flex;
    align-items: center;
}
.intro-block .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.intro-block__title {
   font-weight: 400;
    font-size: 90px;
    line-height: 94px;
    color: #fff;
    margin: 0 0 20px;
    position: relative;
    display: flex;
    text-align: center;
    justify-content: center;
}
.animation-title {
    opacity: 0;
    transition: .5s opacity;
    position: absolute;
    top: 0;
}
.animation-title.active {
    opacity: 1;
}
.intro-block__subtitle {
    font-size: 32px;
     line-height: 40px;
    color: #fff;
    text-align: center;
}
.intro-block__closed {
    display: flex;
    align-items: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 32px;
    letter-spacing: 0.44px;
    color: #fff;
    margin-top: 32px;
}
.intro-block__closed img {
    width: 32px;
    margin-right: 16px;
}
.intro-block__button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 12px 32px;
   background: #fff;
   border-radius: 4px;
   font-weight: 700;
   font-size: 18px;
   line-height: 28px;
   text-align: center;
   color: rgba(0, 0, 0, 0.87);
   text-decoration: none;
   transition: background .3s ease-out;
   outline: none;
   border: none;
   cursor: pointer;
    margin-top: 48px;
    min-height: 0;
}
.intro-block__button:hover {
   background: rgba(255, 255, 255, 0.64);
}
.arrow-down {
    position: absolute;
    bottom: 48px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-animation: arrow 2s linear infinite;
    animation: arrow 2s linear infinite;
}
@keyframes arrow {

	0% {
		bottom: 48px;
	}
	
	50%{
		bottom: 32px;
	}
	
	100%{
		bottom: 48px;
	}
}
.index-page {
    padding-top: 64px;
}
.index-section {
    margin-bottom: 120px;
}
.index-section:last-child {
    margin-bottom: 0;
}
.gallery-section {
    padding-bottom: 1px;
}
.gallery-slider {

}
.gallery-mob-slider {
    display: none;  
}
.gallery-mob-slider__img {
    display: block;
    width: 100%;
    height: 500px;
    background-size: cover;
    background-position: center;
}
.photos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 32px;
}
.photos-grid__item {
    overflow: hidden;
    height: 270px;
    cursor: pointer;
}
.photos-grid__img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 1s ease-out;
}
.photos-grid__item:hover .photos-grid__img {
    transform: scale(1.08);
}
.photos-grid__item:nth-child(6n+3), .photos-grid__item:nth-child(6n+4) {
    grid-column: span 2;
    grid-row: span 2;    
    height: 556px;
}
.modal {
    display: none;
    background: rgba(0, 8, 20, 0.4);
    backdrop-filter: blur(20px);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto;
    z-index: 11;
}
#galleryModal {
    display: block;
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    pointer-events: none;
}
#galleryModal.active {
    z-index: 11;
    opacity: 1;
    visibility: visible;
    pointer-events: unset;
}
.modal-wrap {
    padding: 40px 20px;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal-body {
    width: 100%;
    max-width: 1076px;
    margin: 0 auto;
    background-color: #fff;
    color: rgba(0, 0, 0, 0.87);
    padding: 80px;
    position: relative;
    border-radius: 12px;
}
.modal-cross {
    position: absolute;
    top: 8px;
    right: 8px;
    cursor: pointer;
    padding: 0;
    background: none;
    outline: none;
    border: none;
    font-size: 0;
}
.modal-cross svg {
    display: block;
    width: 48px;
    height: 48px;
}
.modal-cross svg path {
    transition: .3s ease-out;
}
.modal-cross:hover svg path {
    fill: #3E7FFF;
    fill-opacity: 1;
}
.modal-gallery {
    width: 100%;
    max-width: 1327px;
    padding: 80px 32px 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.slider {
    cursor: default;
    margin-bottom: 44px;
}
.modal-gallery__slide {
}
.modal-gallery__img {
    display: block;
    width: 100%;
    height: 900px;
    max-height: 90vh;
    background-size: cover;
    background-position: center;
}
.slider .glide__bullets {
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: -44px;
}
.slider .glide__bullet {
    margin: 0 20px 0 0; 
    width: 12px;
    height: 12px;
    background-color: rgba(0, 0, 0, 0.16) ;
    transition: background-color .3s ease-out;
    margin-right: 20px;
    border-radius: 100%;
    box-shadow: none;
    border: none;
}
.slider .glide__bullet:last-child {
    margin-right: 0;
}
.slider .glide__bullet:hover {
    background-color: rgba(0, 0, 0, 0.4);
}
.slider .glide__bullet--active, .slider .glide__bullet--active:hover {
    background-color:  #246EFE;
}
.slider .glide__arrow {
    background-color: rgba(255, 255, 255, 0.56);
    border: none;
    box-shadow: none;
    padding: 0;
    border-radius: 4px;
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    transition: background-color .3s ease-out;
}
.slider .glide__arrow:hover {
    background-color: #fff;
}
.modal-success {
    max-width: 664px;
    min-height: 456px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.modal-success__title {
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    /* margin-bottom: 16px; */
}
.modal-success__subtitle {
    /* font-weight: 300; */
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    color: rgba(0, 0, 0, 0.6);
    max-width: 384px;
}
.modal-phone {
    max-width: 400px;
    min-height: 400px;
    padding: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 4px;
}
.modal-phone__close {
    position: absolute;
    top: -10px;
    right: -40px;
    cursor: pointer;
    padding: 0;
    background: none;
    outline: none;
    border: none;
    font-size: 0;
}
.modal-phone__close img {
    display: block;
    width: 40px;
    height: 40px;
}
.modal-phone__title {
    font-weight: 700;
    font-size: 32px;
    line-height: 40px;
    text-align: center;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.87);
    margin-bottom: 32px;
}
.modal-phone__link {
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3E7FFF;
    text-decoration: none;
    padding: 12px;
    margin-bottom: 16px;
}
.modal-phone__wa-btn {
    display: flex;
    align-items: center;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3E7FFF;
    text-decoration: none;
    margin-bottom: 32px;
}
.modal-phone__wa-btn img {
    width: 40px;
    margin-right: 4px;
}
.modal-phone__note {
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.16);
}
.map-section__title {
   margin-top: 0;
    margin-bottom: 48px;
}
.route-options {
    display: flex;
   align-items: stretch;
   justify-content: space-between;
   max-width: 1306px;
   margin: 0 auto 64px;
   
}
.route-option {
    width: calc(33.3% - 21px);
     padding: 32px 40px;
     background: rgba(255, 255, 255, 0.06);
     font-size: 16px;
     font-style: normal;
     font-weight: 400;
     line-height: 24px;
     letter-spacing: 0.5px;
     color: #FFF;
     display: flex;
     align-items: flex-start;
}

.get-there__img {
   margin-right: 24px;
}
.route-option__icon {
    display: block;
    margin-bottom: 12px;
    max-width: 100%;
}
/* .route-option__text {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
} */
.map-container {
    width: 100%;
    height: 90vh;
    min-height: 700px;
    max-height: 1000px;
    position: relative;
    overflow: hidden;
}
.mapbox {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.map-buttons {
    width: 100%;
    padding: 0 20px;
    position: absolute;
    left: 0;
    bottom: 64px;
    display: flex;
    justify-content: center;
}
.map-button {
    margin-right: 24px;
}
.map-button:last-child {
    margin-right: 0;
}
.route-button-container {
    position: relative;
    display: flex;
    justify-content: flex-end;
}
.route-button {
    position: absolute;
    bottom: 80px;
    display: flex;
    align-items: flex-end;
    /* font-weight: 600; */
    font-size: 22px;
    line-height: 32px;
    letter-spacing: 0.02em;
    text-decoration-line: underline;
    color: #fff;
}
.route-button img {
    width: 40px;
    margin-right: 16px;
}
.mapboxgl-popup-anchor-top, .mapboxgl-popup-anchor-bottom {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    will-change: transform;
    pointer-events: none;
    font-size: 1rem; 
    margin-top: -53px;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08), 0px 4px 44px rgba(0, 0, 0, 0.08);
}
.mapboxgl-popup-tip {
    width: 0;
    height: 0;
    border: 10px solid transparent;
    z-index: 1;
    margin-top: 58px;
    position: absolute;
    left: 50%;
    margin-left: -10px;
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip, .mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
    align-self: center;
    border-bottom: none;
    border-top-color: #fff;
    top: 0px;
    margin-top: 50px;
}
.mapboxgl-popup-content {
    position: relative;
    background: #fff;
    border-radius: 0;
    box-shadow: 0 1px 2px rgb(0 0 0 / 10%);
    padding: 10px 20px 10px 15px;
    pointer-events: auto;
    /* width: 182px; */
    height: 50px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.87);
    display: flex;
    align-items: center;
}
.mapboxgl-popup-content p {
    font-family: 'Arsenal', Arial,  sans-serif;
}
.mapboxgl-popup-close-button {
    position: absolute;
    right: 0;
    top: 0;
    border: 0;
    outline: none;
    border-radius: 0;
    cursor: pointer;
    background-color: transparent;
    font-size: 20px;
    line-height: 1;
    color: rgba(0, 0, 0, 0.6);
    transition:  color .3s ease-out;
}
.mapboxgl-popup-close-button:hover {
    color: #3E7FFF;
    background-color: transparent;
}
.footer {
    background-color: #111111;
    color: #fff;
    padding: 100px 0 132px;
    font-family: 'Arsenal', Arial, sans-serif;
}
.footer a {
   color: #fff;
}
.footer__container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 32px;
}
.footer__col4 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-column: span 4;
}
.footer__col2 {
    grid-column: span 2;
}
.footer__logo {
    margin-bottom: 24px;
}
.footer__logo img {
    display: block;
    width: 372px;
    max-width: 100%;
}
.footer__address {
    color: #fff;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
}
.footer__subtitle, .footer__contacts-link {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #fff;
    margin-bottom: 20px;
}
.footer__contacts-link {
    margin-bottom: 0;
    text-decoration: none;
}
.footer__contact-link {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(255, 255, 255, 0.84);
    text-decoration: none;
}
.footer__contact-link img {
    width: 24px;
    margin-right: 4px;
}
.footer__social-subtitle {
    margin-bottom: 16px;
}
.footer__social {
    display: flex;
}
.footer__policy {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #fff;
    text-decoration: none;
    max-width: 170px;
    display: block;
}
.footer__copyrights {
    text-align: right;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(255, 255, 255, 0.84);
}
.footer__copyrights a {
    color: inherit;
    text-decoration: underline;
}
.booking-form {
}
.booking-form__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
}
.booking-form__arrow-btn {
    padding: 0;
    background: none;
    outline: none;
    border: none;
    font-size: 0;
    cursor: pointer;
}
.booking-form__arrow-btn svg path {
    transition: .3s ease-out;
}
.booking-form__arrow-btn:hover svg path {
    stroke-opacity: 1;
    stroke: #3E7FFF;
}
.booking-form__arrow-btn.inactive {
    pointer-events: none;
    opacity: .2;
}
.booking-form__title {
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    margin: 0;
}
.booking-form__title span {
    /* font-weight: 300; */
    font-weight: 400;
}
.booking-form__section {
    margin-bottom: 48px;
}
.checkboxes-section {
    margin-bottom: 32px;
}
.booking-form__section-head {
    margin-bottom: 32px;
}
.booking-form__section-title {
    margin-bottom: 12px;
    font-size: 28px;
    line-height: 32px;
    color: rgba(0, 0, 0, 0.87);
}
.booking-form__section-subtitle {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #D65646;
}
.inputs-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 32px;
}
.input-group {
    position: relative;
}
.input {
    width: 100%;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.13);
    border-radius: 2px;
    padding: 15px 15px 15px 47px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
    outline: none;
    background-position: left 15px center;
    background-repeat: no-repeat;
    background-size: 20px;
    transition: all .3s ease-out;
}
.input::placeholder {color: rgba(0, 0, 0, 0.4);}
.input::-webkit-input-placeholder {color: rgba(0, 0, 0, 0.4);}
.input:hover {
    background-color: #F7F7F7;
}
.input:focus {
    background-color: #fff;
    border-color: #3E7FFF;
}
.input:focus ~ .input-label {
    display: block;
}
.input.error {
    border-color: #D65646;
}
.input.error ~ .error-text {
    display: block;
}
.input-name {
    background-image: url('../img/icon-input-name.svg');
}
.input-phone {
    background-image: url('../img/icon-input-phone.svg');
}
.input-mail {
    background-image: url('../img/icon-input-mail.svg');
}
.input-label {
    display: none;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: #3E7FFF;
    position: absolute;
    background-color: #fff;
    padding: 0 8px;
    top: -10px;
    left: 12px;
}
.input-label.error {
    color: #D65646;
}
.error-text  {
    display: none;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: #D65646;
    margin-top: 8px;
}
.time-checkboxes {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.time-checkboxes .checkbox-group {
    margin-right: 12px;
    margin-bottom: 16px;
    position: relative;
}
.checkbox {
    display: none;
}
.time-checkbox+label {
    user-select: none;
    cursor: pointer;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.6);
    transition: all .3s ease-out;
    display: flex;
    align-items: center;
    padding: 7px 14px;
    border: 1px solid rgba(0, 0, 0, 0.13);
    border-radius: 24px;
}
.checkbox+label::before, .select-service__checkbox {
    content:"";
    display: block;
    width: 16px;
    height: 16px;
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 2px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all .3s ease-out;
    background-repeat:no-repeat;
    background-position:center;
    box-sizing: border-box;
}
.time-checkbox+label::before {
    margin-right: 10px;
}
.time-checkbox:hover+label, .time-checkbox:checked+label {
    color:#3E7FFF;
    border-color: #3E7FFF;
}
.checkbox:hover+label::before {
    border-color:#3E7FFF;
}
.checkbox:checked+label::before {
    background-image:url("../img/icon-checkbox.svg");
    background-color:#3E7FFF;
    border-color:#3E7FFF;
}
.tooltip {
    position: absolute;
    top: 0;
    left: 50%;
    min-height: 52px;
    padding: 10px 24px 10px 16px;
    display: flex;
    align-items: center;
    background-color: #fff;
    transform: translateY(-100%) translateX(-40%);
    margin-top: -8px;
    width: 170px;
    width: -moz-max-content;
    width: max-content;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08), 0px 4px 44px rgba(0, 0, 0, 0.08);
    z-index: 1;
}
.tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -12px;
    border-width: 12px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}
.tooltip__close {
    position: absolute;
    top: 4px;
    right: 4px;
    cursor: pointer;
    width: 12px;
}
.tooltip__close path {
    transition: .3s ease-out;
}
.tooltip__close:hover path {
    stroke: #3E7FFF;
    stroke-opacity: 1;
}
.tooltip__text {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.87);
    width: 100%;
}
.select-service.selected .select-service__checkbox {
    background-image:url("../img/icon-checkbox_blue.svg");
    background-color:#fff;
    border-color:#fff;
}
.time-checkbox:disabled+label {
    background: #F7F7F7;
    color: rgba(0, 0, 0, 0.16);
    border-color: #F7F7F7;
    pointer-events: none;
}
.time-checkbox:disabled+label::before {
    background-color:#F7F7F7;
}
.time-checkbox:disabled {
    pointer-events: none;
}
.radio-group input[type=radio] {
    position: absolute;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
}
.radio+label {
    display: block;
    width: 100%;
    padding: 11px 5px;
    text-align: center;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 28px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all .3s ease-out;
}
.radio:hover+label {
    border-color:#3E7FFF;
    color: #3E7FFF;
}
.radio:checked+label {
    border-color:#3E7FFF;
    background-color:#3E7FFF;
    color: #fff;
}
.visitors-section {
    margin-bottom: 28px;
}
.visitors-row {
    display: flex;
    flex-wrap: wrap;
}
.visitors-col {
    width: 152px;
    margin-right: 24px;
    margin-bottom: 20px;
}
.visitors-col__price {
    text-align: center;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.4);
}
.select {
    position: relative;
}
.select-services {
    width: 440px;
    max-width: 100%;
}
.select-list {
    width: 100%;
    position: absolute;
    z-index: 10;
    top: 100%;
    left: 0;
    display: none;
    list-style: none;
    margin: 0;
    margin-top: 12px;
    padding: 8px 0 16px;
    background-color: #fff;
    box-shadow: 0px 4px 32px rgba(0, 0, 0, 0.12);
    border-radius: 2px;
}
.select-list.active {
    display: block;
}
.select-list li {
    cursor: pointer;
    width: 100%;
    padding: 16px 20px 20px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.6);
}
.select-list li:hover {
    background-color: #F7F7F7;
}
.select-list li.selected {
    background-color: #3E7FFF;
    color: #fff;
    pointer-events: none;
}
.select-service {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.select-service__title {
    margin-right: 12px;
}
.select-service__price {
    display: flex;
    align-items: center;
    font-weight: 600;
    white-space: nowrap;
}
.select-service__checkbox {
    margin-left: 12px;
}
.default-option {
    width: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    padding: 15px 40px 15px 15px;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.13);
    color: rgba(0, 0, 0, 0.4);
    border-radius: 2px;
    transition: all .3s ease-out;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}
.default-option.disabled {
    pointer-events: none;
    opacity: .6;
}
.default-option svg {
    position: absolute;
    right: 16px;
    transition: transform .3s ease-out;
}
.default-option span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.default-option:hover {
    background-color: #F7F7F7;
}
.default-option.active {
    background-color: #fff;
    border-color: #3E7FFF;
    color: rgba(0, 0, 0, 0.6);
}
.default-option.active svg {
    transform: rotate(180deg);
}
.default-option.active svg path {
    stroke: #3E7FFF;
    stroke-opacity: 1;
}
.add-services {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
}
.add-service {
    padding: 3px 31px 3px 15px;
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 2px;
    position: relative;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
    transition: all .3s ease-out;
    display: none;
    margin-right: 12px;
    margin-top: 12px;
}
.add-service.active {
    display: block;
}
.add-service:hover {
    border-color: #3E7FFF;
    color: #3E7FFF;
}
.add-service__delete {
    width: 12px;
    position: absolute;
    cursor: pointer;
    top: 4px;
    right: 4px;
}
.add-service__delete path {
    transition: .3s ease-out;
}
.add-service__delete:hover path {
    stroke: #3E7FFF;
    stroke-opacity: 1;
}
.add-service__price {
    font-weight: 600;
}
.booking-form__bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.13);
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 48px;
}
.booking-form__sum {
    font-size: 28px;
    line-height: 32px;
    color: rgba(0, 0, 0, 0.87);
    text-align: right;
    margin-left: 32px;
    flex-shrink: 0;
}
.booking-form__checkboxes {
    max-width: 632px;
}
.booking-form__prepayment {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.4);
    max-width: 496px;
}
.agree-checkbox+label {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.4);
    cursor: pointer;
    display: block;
    padding-left: 32px;
    position: relative;
}
.agree-checkbox+label a {
    color: inherit;
    text-decoration: underline;
}
.agree-checkbox+label::before {
    position: absolute;
    top: 2px;
    left: 0;
}
.agree-checkbox.error+label::before {
    border-color: #D65646;
}
.booking-form__checkboxes .checkbox-group {
    margin-bottom: 32px;
}
.booking-form__checkboxes .checkbox-group:last-child {
    margin-bottom: 0;
}
.booking-form__submit {
    text-align: center;
}
.up-button-container {
    display: flex;
    justify-content: flex-end;
}
.up-button {
    padding: 0;
    border: none;
    background: none;
    font-size: 0;
    outline: none;
    cursor: pointer;
    width: 48px;
    height: 48px;
    border-radius: 4px;
    position: fixed;
    z-index: 3;
    bottom: 52px;
    /*margin-right: -80px;*/
	left:80px;
    background: rgba(62, 127, 255, 0.35);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease-out;
}
.up-button.active {
    opacity: 1;
    visibility: visible;
}
.up-button:hover {
    background: rgba(0, 0, 0, 0.13);
}
.up-button svg path {
    transition: stroke .3s ease-out;
}
.up-button:hover svg path {
    stroke: #3E7FFF;
}
.calendar-section {
    display: flex;
    position: relative;
}
#calendarContainer {
    display: none;
}
.calendar-section__bg1 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.calendar-section__bg2 {
    position: absolute;
    bottom: -260px;
    right: 0;
    z-index: -1;
}
.calendar-block {
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.13);
    width: 100%;
    position: relative;
    overflow: hidden;
}
.gc-calendar {
    padding: 0;
    font-family: inherit;
}
.gc-calendar table.calendar {
    border-spacing: 0;
}
.gc-calendar .gc-calendar-header {
    justify-content: space-between;
    align-items: center;
    padding: 40px;
    margin: 0;
}
.gc-calendar .gc-calendar-header button.prev {
    order: 0;
    margin: 0;
    margin-right: 20px;
}
.gc-calendar .gc-calendar-header .gc-calendar-month-year {
    order: 1;
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    min-width: unset;
}
.gc-calendar .gc-calendar-header button.next {
    order: 2;
    margin: 0;
    margin-left: 20px;
}
.gc-calendar .gc-calendar-header button.next, .gc-calendar .gc-calendar-header button.prev {
    padding: 0;
    box-shadow: none;
    font-size: 0;
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: 0;
}
.gc-calendar .gc-calendar-header button.next:hover, .gc-calendar .gc-calendar-header button.prev:hover {
    box-shadow: none;
}
.gc-calendar .gc-calendar-header button.next svg path, .gc-calendar .gc-calendar-header button.prev svg path {
    transition: .3s ease-out;
}
.gc-calendar .gc-calendar-header button.next:hover svg path, .gc-calendar .gc-calendar-header button.prev:hover svg path {
    stroke-opacity: 1;
    stroke: #3E7FFF;
}
.gc-calendar table.calendar td:hover {
    background: none;
    padding: 4px 6px 32px;
}
.gc-calendar table.calendar td {
    padding: 4px 6px 32px;
    height: auto;
    min-height: 228px;
    border-right: 1px solid rgba(0, 0, 0, 0.13);
    cursor: pointer;
}
.gc-calendar table.calendar td:last-child {
    border-right: 0;
}
.gc-calendar table.calendar td::before {
    display: none !important;
}
.gc-calendar table.calendar tr {
    display: flex;
    border-top: 1px solid rgba(0, 0, 0, 0.13);
}
.gc-calendar table.calendar thead {
    display: none;
}
.gc-calendar table.calendar a {
    background: none;
    border: none;
    box-shadow: none;
}
.gc-calendar table.calendar a:hover {
    background: none;
    width: auto;
    border-radius: 0;
    padding-left: 0;
    transition: none;
}
.gc-calendar table.calendar a:hover .day-number {
    color: rgba(0, 0, 0, 0.87);
}
.gc-calendar table.calendar td .day-number {
    font-weight: 400;
    font-size: 28px;
    line-height: 32px;
    color: rgba(0, 0, 0, 0.87) !important;
    overflow-y: unset;
    text-align: center;
    margin-bottom: 16px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.gc-calendar table.calendar td .day-number::after {
    display: block;
    font-size: 20px;
    line-height: 24px;
    margin-left: 6px;
    color: rgba(0, 0, 0, 0.16);
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
}
.gc-calendar table.calendar td:nth-child(1) .day-number::after {
    content: "пн";
}
.gc-calendar table.calendar td:nth-child(2) .day-number::after {
    content: "вт";
}
.gc-calendar table.calendar td:nth-child(3) .day-number::after {
    content: "ср";
}
.gc-calendar table.calendar td:nth-child(4) .day-number::after {
    content: "чт";
}
.gc-calendar table.calendar td:nth-child(5) .day-number::after {
    content: "пт";
}
.gc-calendar table.calendar td:nth-child(6) .day-number::after {
    content: "сб";
    color: #3E7FFF;
}
.gc-calendar table.calendar td:nth-child(7) .day-number::after {
    content: "вс";
    color: #3E7FFF;
}
.gc-calendar table.calendar td.next-month .day-number, .gc-calendar table.calendar td.prev-month .day-number,.gc-calendar table.calendar td.day_previous .day-number{
    color: rgba(0, 0, 0, 0.16) !important; 
}
.gc-calendar table.calendar td:nth-child(6) .day-number, .gc-calendar table.calendar td:nth-child(7) .day-number {
    color: #3E7FFF !important;
}
.gc-calendar table.calendar td.next-month:nth-child(6) .day-number, .gc-calendar table.calendar td.prev-month:nth-child(6) .day-number, .gc-calendar table.calendar td.day_previous:nth-child(6) .day-number, .gc-calendar table.calendar td.next-month:nth-child(7) .day-number, .gc-calendar table.calendar td.prev-month:nth-child(7) .day-number, .gc-calendar table.calendar td.day_previous:nth-child(7) .day-number {
    opacity: 0.3;
}
/* .gc-calendar .next-month .calendar-time, .gc-calendar .prev-month .calendar-time, .gc-calendar .day_previous .calendar-time{
    display: none;
} */
.gc-calendar .next-month .calendar-time, .gc-calendar .prev-month .calendar-time {
    display: none;
}
.gc-calendar table.calendar td.next-month .day-number, .gc-calendar table.calendar td.prev-month .day-number {
    display: none;
}
.gc-calendar .next-month, .gc-calendar .prev-month, .gc-calendar .day_previous{
   pointer-events: none;
}
.gc-calendar .calendar-time {
    display: inline-block;
    width: calc(50% - 8px);
    background: #F7F7F7;
    border: 1px solid #F7F7F7;
    border-radius: 28px;
    padding: 3px;
    text-align: center;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 4px 8px;
    cursor: pointer;
    transition: .3s ease-out;
}
.gc-calendar .calendar-time_booked {
    background: #F7F7F7;
    color: rgba(0, 0, 0, 0.16);
    border-color: #F7F7F7;
}
.gc-calendar .calendar-time_available:hover {
    border-color: #3E7FFF;
    color: #3E7FFF;
}
.gc-calendar table.calendar td.day_previous .calendar-time {
    background: #F7F7F7;
    color: rgba(0, 0, 0, 0.16);
    border-color: #F7F7F7;
}

.contacts-page {
    padding: 100px 0 128px;
}
.contacts-block {
    width: 100%;
    max-width: 1056px;
    margin:  0 auto;
    background: #F7F7F7;
    padding: 80px 136px;
}
.contacts-block__rules {
    margin-bottom: 80px;
}
.contacts-block__logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
    margin-top: 48px;
}
.contacts-block__logos img {
    max-width: calc(50% - 40px);
    margin-right: 40px;
    margin-bottom: 40px;
}
.contacts-block p {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
}
.contacts-block__rules p {
    margin-bottom: 12px;
    max-width: 645px;
}
.contacts-block__contacts p {
    margin-bottom: 12px;
}
.contacts-block__contacts p:last-child {
    margin-bottom: 0;
}
.contacts-block__title {
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 32px;
}
.contacts-block__subtitle {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    margin: 24px 0;
}
.contacts-block__links {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
}
.contact-link {
    display: flex;
    align-items: center;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
    text-decoration: none;
}
.contacts-block__links .contact-link {
    margin-right: 96px;
}
.contacts-block__links .contact-link:last-child {
    margin-right: 0;
}
.contact-link img {
    width: 32px;
    margin-right: 16px;
}
.mobile-calendar {
    display: none;
}
.admin-page {
    padding: 88px 0 128px;
}
.admin-page__title {
    font-weight: 600;
    font-size: 56px;
    line-height: 64px;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 64px;
    text-align: center;
}
.about-section {
    margin-bottom: 120px;
}
.about-block {
    display: flex;
   align-items: center;
}
.about-block__content {
   width: calc(50% - 16px);
    min-height: 660px;
    padding: 148px 164px 148px 136px;
    background: #F7F7F7 url(../img/img-big/about-decor.svg) bottom left / 302px auto no-repeat;
}
.about-block__img-wrap {
    width: calc(50% + 48px);
    position: relative;
    margin-left: -64px;
}
.about-block__img-wrap::before {
    left: 32px;
    content: "";
    display: block;
    position: absolute;
    top: 32px;
    width: 100%;
    height: 100%;
    border: 2px solid #2346D9;
    box-sizing: border-box;
}
.about-block__img {
   display: block;
    width: 100%;
    height: 532px;
    background: center / cover no-repeat;
    position: relative;
}
.about-block__title {
   font-weight: 400;
    font-size: 64px;
    line-height: 68px;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 24px;
}
.about-block__text {
    font-size: 16px;
     line-height: 24px;
     color: rgba(0, 0, 0, 0.60);
     letter-spacing: 0.5px;
     font-feature-settings: 'pnum' on, 'lnum' on;
}
.quote-block {
    background: #F7F7F7;
    padding: 100px 136px;
}
.quote-block__text {
    /* font-family: 'Source Sans 3', Arial, sans-serif; */
    font-style: italic;
    /* font-weight: 300; */
    font-size: 40px;
    line-height: 48px;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    max-width: 800px;
    margin: 0 auto;
}
.chess-section {
    position: relative;
}
.chess-section__bg1 {
    position: absolute;
    right: 0;
    top: 170px;
}
.chess-section__bg2 {
    position: absolute;
    left: 0;
    bottom: 500px;
}
.chess-block {
    padding: 0 136px;
    position: relative;
}
.chess-block__row {
    display: flex;
    justify-content: space-between;
    min-height: 440px;
}
.chess-block__img {
    width: 50%;
    background-size: cover;
    background-position: center;
}
.chess-block__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 48%;
    width: calc(50% - 16px);
    padding: 64px;
}
.chess-block__title, .booking-block__title, .services-block__title {
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 32px 0;
}
.chess-block__title {
    text-align: center;
}
.chess-block__text p {
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
}
.booking-block, .services-block {
    display: flex;
}
.booking-block__img {
    width: 48%;
    width: calc(50% - 16px);
    background-size: cover;
    background-position: center;
}
.booking-block__text {
    width: calc(50% - 120px);
    margin-left: 136px;
    background: #F7F7F7;
    padding: 80px 168px 80px 136px;
}
.booking-block__text p, .services-block__text p {
    /* font-size: 16px; */
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
    margin:  0 0 24px;
}
.booking-block__text p {
    max-width: 350px;
}
.services-block__text p:last-child {
    margin-bottom: 0;
}
.booking-block__button {
    margin-top: 16px;
}
.services-block__text {
    width: calc(50% + 16px);
    padding: 100px 64px 100px 168px;
}
.services-block__img {
    width: calc(50% - 152px);
    margin-left: 136px;
    background-size: cover;
    background-position: center;
}
.features-section {
    background: #F7F7F7;
    padding: 100px 0;
}
.features-section__title {
    margin-bottom: 64px;
}
.features-block {
    display: flex;
    padding: 0 136px;
    min-height: 608px;

}
.features-block__img {
    width: calc(50% - 152px);
    background-size: cover;
    background-position: center;
    margin-left: 168px;
}
.features-block__text {
    width: calc(50% - 16px);
}
.features-block__list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
}
.features-block__list li {
    position: relative;
    margin-bottom: 32px;
    padding-left: 27px;
}
.features-block__list li:last-child {
    margin-bottom: 0;
}
.features-block__list li::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: #3E7FFF;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 9px;
}
.time-section {
    display: flex;
    justify-content: space-between;
}
.time-section__left {
    width: 55%;
}
.time-section__left .booking-form__section-title {
    margin-bottom: 20px;
}
.time-section__right {
    width: 40%;
    max-width: 310px;
}
.time-section__booked-sessions {
    display: flex;
    flex-wrap: wrap;
}
.time-section__booked-session {
    padding: 8px 16px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.4);
    background: #F7F7F7;
    border-radius: 2px;
    margin: 16px 12px 0 0;
}
.time-section__dropdowns {
    display: flex;
}
.time-section__dropdowns-item {
    margin-right: 48px;
}
.time-section__dropdowns-item:last-child {
    margin-right: 0;
}
.time-section__dropdowns-title {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;    
    color: rgba(0, 0, 0, 0.4);
    margin-bottom: 12px;
}
.select-time {
    width: 140px;
}
.time-menu {
    display: none;
    width: 320px;
    position: absolute;
    z-index: 10;
    left: 0;
    top: 100%;
    margin-top: 12px;
    background: #FFFFFF;
    box-shadow: 0px 4px 32px rgba(0, 0, 0, 0.12);
    padding: 16px 12px;
}
.time-menu.active {
    display: block;
}
.time-menu__note {
    /* font-weight: 300; */
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.4);
}
.time-menu__time-slots {
    display: flex;
    flex-wrap: wrap;
    margin-right: -16px;
}
.time-menu__time-slot {
    min-width: 46px;
    text-align: center;
    margin-right: 16px;
    margin-top: 16px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: rgba(0, 0, 0, 0.6);
    cursor: pointer;
}
.time-menu__time-slot:hover {
    color: rgba(0, 0, 0, 0.88);
}
.time-menu__time-slot.conditionally-available {
    color: #3E7FFF;
    cursor: not-allowed;
}
.time-menu__time-slot.start {
    color: #3E7FFF;
    font-weight: 700;
    cursor: not-allowed;
}
.time-menu__time-slot.booked, .time-menu__time-slot.conditionally-available.booked {
    background: #F7F7F7;
    color: rgba(0, 0, 0, 0.16);
    font-weight: 400;
    cursor: not-allowed;
}
.time-menu__time-slot.safe {
    color: rgba(0, 0, 0, 0.16);
    cursor: not-allowed;
}
.time-menu__hours-sum, .time-section__hours-sum {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.4);
    margin-top: 20px;
    /* font-weight: 600; */
}
.time-menu__hours-sum {
    text-align: center;
    margin-top: 16px;
    opacity: 0;
    transition: .3s;
}
.time-menu__hours-sum.active {
    opacity: 1;
}

.floating-button{
	display: flex;
	position: fixed;
	width: 64px;
	height: 64px;
	right: 64px;
    bottom: 36px;
	background-image: url('../img/floating-button.svg');
	cursor:pointer;
	opacity:0;
	visibility: hidden;
	transition: all .3s ease-out;
	z-index: 10;
}

.floating-button:hover{
	background-image: url('../img/floating-button-hover.svg');
}

.floating-button.active{
	opacity:1;
	visibility: visible;
	transition: all .3s ease-out;
}
.calendar__loader-wrapper {
    min-height: 600px;
    width: 100%;
    max-width: 580px;
    display: flex;
    flex-direction: column;
    align-items: center;      
    margin: 0 auto;
    padding: 100px 20px 0;
} 
.calendar__loader-circle {
    width: 156px;
    height: 156px;
    background-image: url("../img/loader-circle.svg");
    background-repeat: no-repeat;
    background-size: contain;
    animation: loader-circle 1s infinite steps(8);
}
@keyframes loader-circle {
    0%{
        transform: rotate(0);
    }
    100%{
        transform: rotate(360deg);
    }
}
.calendar__loader-line-block {
    position: relative;
    width: 100%;
    height: 13px;
    background-color: #D8E5FF;
    border-radius: 2px;
}
.calendar__loader-line {
    width: 0;
    position: absolute;
    height: 13px;
    background-color: #1567FF;
    border-radius: 2px;
    animation: loader-line 75s linear infinite;
}

.about-block__link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 20px;
    border-radius: 4px;
    background: #4579C5;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    color: #fff;
    margin-top: 40px;
    width: fit-content;
    text-decoration: none;
}

.about-block__link-img {
    margin-right: 12px;
}

.about-block__link-arrow {
    margin-left: 12px;
}

@keyframes loader-line {
    0%{
        width: 0%;
    }
    100%{
        width: 100%;
    }
}
.calendar__loader-text {
    display: flex;
    margin: 20px 0 24px;
    font-size: 28px;
    line-height: 32px;
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
}
.calendar__loader-text::before {
    display: block;
    content: "Ищем свободные даты";
    animation: loader-text 75s infinite steps(1);
}
@keyframes loader-text {
    0%{
        content: "Ищем свободные даты";
    }
    11%{
        content: "Ещё немного..";
    }
    22%{
        content: "Почти готово..";
    }
    33%{
        content: "Все еще ищем";
    }
    44%{
        content: "Не уходи, осталось чуть-чуть";
    }
    55%{
        content: "Да, долго, но мы стараемся";
    }
    66%{
        content: "Обычно это занимает 50 секунд";
    }
    77%{
        content: "Начинай обратный отсчет";
    }
    88%{
        content: "Если устал ждать, позвони нам";
    }
}
.redirect-block {
    display: flex;
    background-color: #F7F7F7;
}
.redirect-block__img {
    width: 50%;
    width: calc(50% - 16px);
    min-height: 296px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.redirect-block__text {
    width: 50%;
    width: calc(50% + 16px);
    padding: 48px 64px 80px;
}
.redirect-block__title {
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 20px;
}
.redirect-block__subtitle {
    font-size: 20px;
    line-height: 24px;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 24px;
    font-feature-settings: 'pnum' on, 'lnum' on;
}
.chess-section {
    margin-bottom: 100px;
}
.menu-banner {
    display: flex;
    align-items: center;
    background-color: #F7F7F7;
}
.menu-banner__img {
    display: block;
    width: 244px;
    align-self: flex-end;
}
.menu-banner__content {
    padding: 48px 98px 48px 56px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.menu-banner__text {
    margin-right: 32px;
}
.menu-banner__title {
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    color: rgba(0, 0, 0, 0.87);
    margin: 0 0 12px;
}
.menu-banner__subtitle {
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.60);
}
.menu-banner__button {
    flex-shrink: 0;
}
.advantages-section {
    margin-bottom: 100px;
}
.advantages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 32px;
}
.advantages-card {
   min-height: 512px;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   color: #fff;
   background: center / cover no-repeat;
}

.advantages-card__content {
    padding: 48px 48px 48px 32px;
    max-width: 580px;
}

.advantages-card__title {
    font-size: 32px;
    font-weight: 400;
    line-height: 40px;
    color: #fff;
    margin: 0 0 12px;
}

.advantages-card p {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    font-feature-settings: 'pnum' on, 'lnum' on;
}
.advantages-card__content ul {
    padding-left: 14px;
    margin: 0;
}
.advantages-card__content li {
    margin-bottom: 8px;
}
.advantages-card__content li:last-child {
   margin-bottom: 0;
}
.promo-block {
    display: flex;
    margin-bottom: 100px;
}
.promo-block__img-block {
    width: 100%;
    max-width: 616px;
    background-color: rgba(255, 255, 255, 0.87);
    padding: 40px 48px 48px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.6);
}
.promo-block__img-block-mob {
    display: none;
}
.promo-block__list-title {
    font-size: 20px;
    line-height: 24px;
    color: rgba(0, 0, 0, 0.87);
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}
.promo-block__list ul {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    color: rgba(0, 0, 0, 0.60);
}
.promo-block__list ul li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 8px;
}
.promo-block__list ul li::before {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background-color: #3C9DC9;
}

.promo-block__list p {
    margin-bottom: 8px;
}
.promo-block__list p:last-child {
    margin-bottom: 0;
}
.promo-block__content {
    width: 50%;
    width: calc(50% - 16px);
    background: url(../img/img-big/promo-bg-2.svg) #000A33 center / cover no-repeat;
    padding: 64px 120px 104px;
    color: #fff;
    display: flex
;
    flex-direction: column;
    justify-content: center;
}
.promo-block__title {
    font-size: 64px;
    line-height: 68px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 32px;
}
.promo-block__text {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    /* max-width: 460px; */
    max-width: 480px;
    margin-bottom: 48px;
}
.promo-block__text p {
    margin-bottom: 16px;
}
.promo-block__text p:last-child {
    margin-bottom: 0;
}
.promo-block__img-wrap {
    width: 50%;
    width: calc(50% + 80px);
    position: relative;
    align-self: center;
    margin: 64px 0 64px -64px;
}
.promo-block__img-wrap::before {
    content: "";
    display: block;
    position: absolute;
    top: 32px;
    width: 100%;
    height: 100%;
    border: 2px solid #2346D9;
    box-sizing: border-box;
    left: 32px;
}
.promo-block__img {
    display: block;
    width: 100%;
    min-height: 648px;
    background: center / cover no-repeat;
    position: relative;
    padding: 48px 72px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.promo-block__img-block {
    width: 100%;
    max-width: 616px;
    background-color: rgba(255, 255, 255, 0.87);
    padding: 40px 48px 48px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.6);
}

.map-section {
   background: #000A33;
   padding-top: 120px;
}

.map-section__title {
   display: block;
   font-size: 64px;
   font-style: normal;
   font-weight: 400;
   line-height: 68px;
   color: #FFF;
   margin-bottom: 48px;
   text-align: center;
}

#mobileCalendarSessions {
    display: none !important;
}

.calendar tbody {
    width: 100%;
}

.book__container {
   margin-top: 120px;
   margin-bottom: 120px;
}

.book__block {
   display: flex;
   align-items: stretch;
   margin-bottom: 32px;
}

.book__block:last-child {
   margin-bottom: 0;
}

.book__img {
   width: calc(50% - 16px);
   background: center / cover no-repeat;
   min-height: 296px;
   flex: none;
}

.book__text {
   width: 100%;
   font-family: 'Arsenal', Arial, sans-serif;
   background: #F7F7F7;
   padding: 48px 77px 60px 64px;
   display: flex;
   flex-direction: column;
}

.book__title {
   font-family: 'Arsenal', Arial, sans-serif;
   font-size: 40px;
   font-style: normal;
   font-weight: 400;
   line-height: 48px;
   color: rgba(0, 0, 0, 0.87);
   margin-bottom: 20px;
}

.book__price {
   font-family: 'Arsenal', Arial, sans-serif;
   font-size: 20px;
   font-weight: 400;
   line-height: 24px;
   letter-spacing: 0.5px;
   color: rgba(0, 0, 0, 0.60);
   margin-bottom: 24px;
}

.book__button {
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: 'Arsenal', Arial, sans-serif;
   font-size: 22px;
   font-style: normal;
   font-weight: 400;
   line-height: 32px;
   letter-spacing: 0.44px;
   text-align: center;
   color: #146D95;
   padding: 20px 32px;
   border-radius: 4px;
   border: 2px solid #146D95;
   text-decoration: none;
   width: fit-content;
}

.book__button:hover {
   background: #3E7FFF;
   border-color: #3E7FFF;
   color: #FFF;
}

@media (max-width:1799px) {
    .up-button {
        /*margin-right: 0;*/
		left: 80px;
    }
}
@media (max-width:1599px) {
    .up-button {
        margin-right: 0;
    }
    .gc-calendar table.calendar td, .gc-calendar table.calendar td:hover {
        padding-left: 10px;
        padding-right: 10px;
    }
    .gc-calendar .calendar-time {
        width: 100%;
        margin: 0 0 8px;
    }
    .booking-block__text {
        margin-left: 0;
        width: calc(50% + 16px);
    }
    .services-block__img {
        margin-left: 0;
        width: calc(50% - 16px);
    }
}

@media (max-width:1200px) {
    .footer__container {
        grid-template-columns: repeat(8, 1fr);
    }
    .footer__col4 {
        grid-column: span 8;
    }
    .header__tel {
        margin-right: 24px;
    }
    .photos-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .photos-grid__item:nth-child(6n+3), .photos-grid__item:nth-child(6n+4) {
        grid-column: unset;
        grid-row: unset;
        height: 270px;
    }
    .map-buttons {
        bottom: 112px;
    }
    .route-button {
        bottom: 40px;
    } 
    .about-block__content {
         padding-left: 64px;
         padding-right: 128px;
     }
    .services-block__text {
        padding: 100px 64px;
    }
    .chess-block, .features-block {
        padding: 0;
    }
    .booking-block__text {
        padding: 80px 64px;
    }
    .quote-block {
        padding: 100px 64px;
    }
    .features-block__img {
        width: calc(50% - 16px);
        margin-left: 0;
    }
    .features-block__text {
        width: calc(50% + 16px);
        padding-right: 64px;
    }
    .contacts-block {
        padding: 80px 64px;
        max-width: none;
    }
    .header__address-default {
         display: none;
     }
     .header__address-adaptive {
          display: block;
      }
      .header {
           height: 100px;
       }
   .promo-block__content {
        padding-left: 64px;
        padding-right: 128px;
    }
}
@media (max-width:1024px) {
    .header__middle {
        order: 0;
        margin-bottom: 12px;
        margin-top: 0;
    }
    .header__address {
        flex: unset;
        order: 1;
        margin-bottom: 12px;
    }
    .header__links {
        flex: unset;
        order: 2;
    }
    .header__tel {
        display: none;
    }
    .header__social-tel {
        display: block;
    }
    .header__social-link {
        margin-right: 16px;
    }
    .modal-gallery__img {
        height: 650px;
    }
    .slider .glide__bullet {
        margin-right: 8px;
        width: 8px;
        height: 8px;
    }
    .gc-calendar table.calendar td, .gc-calendar table.calendar td:hover {
        padding-left: 4px;
        padding-right: 4px;
    }
    .route-option {
        padding: 32px 20px 40px 20px;
    }
    .time-section__dropdowns-item {
        margin-right: 16px;
    }
    .about-block__content {
         padding-left: 32px;
         padding-right: 96px;
     }
     
   .advantages-grid {
        grid-template-columns: 1fr;
    }
    
   .advantages-card {
      min-height: 664px;
   }
   
   .promo-block__content {
        padding-left: 32px;
        padding-right: 96px;
    }
}
@media (max-width:768px) { 
    .header_inner {
        padding-bottom: 8px;
    }
    .header__logo img {
        width: 193px;
    }
    .header__middle-text {
        font-size: 20px;
        line-height: 24px;
        letter-spacing: 0.5px;
        margin-top: 4px;
    }
    .header__address {
        font-size: 14px;
        line-height: 20px;       
        text-align: center;
    }
    .arrow-down {
        bottom: 32px;
        -webkit-animation: arrow_mobile 2s linear infinite;
        animation: arrow_mobile 2s linear infinite;
    }
    @keyframes arrow_mobile {
        0% {
            bottom: 32px;
        }
        
        50%{
            bottom: 24px;
        }
        
        100%{
            bottom: 32px;
        }
    }
    .intro {
        /* min-height: unset; */
        min-height: 90vh;
    }
    .intro-block {
        padding: 100px 0 200px;
        /* flex: unset; */
    }
    .intro-block__title {
        font-size: 90px;
        font-style: normal;
        font-weight: 400;
        line-height: 94px;
        margin-bottom: 20px;
        text-align: center;

    }
    .intro-block__subtitle {
        font-size: 32px;
        font-style: normal;
        font-weight: 400;
        line-height: 40px;
    }
    .intro-block__closed {
        font-size: 18px;
        line-height: 20px; 
        letter-spacing: 0.36px;
    }
    .intro-block__closed img {
        margin-right: 12px;
    }
    .intro-block__button {
        margin-top: 48px;
    }
    .index-page {
        padding-top: 32px;
    }
    .index-section {
        margin-bottom: 64px;
    }
    .section-title {
        font-size: 40px;
        line-height: 48px;
        margin-bottom: 48px;
    }
    .photos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .photos-grid__item, .photos-grid__item:nth-child(6n+3), .photos-grid__item:nth-child(6n+4) {
        height: 320px;
    }
    .modal-gallery__img {
        height: 500px;
    }
    .map-container {
        height: 712px;
        max-height: unset;
        min-height: unset;
    }
    .calendar-section__bg1, .calendar-section__bg2 {
        display: none;
    }
    .footer {
        padding: 64px 0 80px;
    }
    .footer__logo {
        margin-bottom: 20px;
    }
    .footer__container {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 48px;
    }
    .footer__col4, .footer__col2 {
        grid-column: unset;
    }
    .footer__subtitle {
        margin-bottom: 12px;
    }
    .footer__copyrights {
        text-align: left;
    }
    .modal-body {
        padding: 80px 20px;
    }
    .modal-phone {
        max-width: 232px;
        min-height: 224px;
        padding: 24px;
    }
    .modal-phone__title {
        font-size: 14px;
        line-height: 20px;
    }
    .modal-phone__link {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 8px;
    }
    .modal-phone__wa-btn {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 20px;
    }
    .modal-phone__note {
        font-size: 14px;
        line-height: 20px;
    }
    .booking-form__head {
        margin-bottom: 48px;
    }
    .booking-form__title {
        font-size: 28px;
        line-height: 32px;
    }
    .booking-form__title span {
        display: block;
    }
    .inputs-row {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 12px;
    }
    .time-checkboxes .checkbox-group {
        min-width: 49%;
        min-width: calc(50% - 8px);
        margin-right: 0;
    }
    .time-checkbox+label {
        padding-left: 4px;
        padding-right: 4px;
        justify-content: center;
    }
    .time-checkboxes {
        justify-content: space-between;
    }
    .booking-form__bottom {
        flex-direction: column-reverse;
        margin-bottom: 40px;
    }
    .booking-form__sum {
        margin-bottom: 32px;
        text-align: center;
        flex: unset;
        margin-left: 0;
    }
    .booking-form__checkboxes {
        flex: unset;
        max-width: unset;
    }
    .up-button {
        display: none;
    }
    .gallery-slider {
        display: none;
    }
    .gallery-slider .glide__arrows {
        display: none;
    }
    .gallery-mob-slider {
        display: block;   
    }
    .slider .glide__bullets {
        bottom: -40px;
    }
    .slider {
        margin-bottom: 40px;
    }
    .contacts-page {
        padding: 48px 0 64px;
    }
    .contacts-block {
        padding: 48px 20px;
    }
    .contacts-block__title {
        font-size: 28px;
        line-height: 32px;
    }
    .contacts-block__rules {
        margin-bottom: 64px;
    }
    .contacts-block__links {
        flex-direction: column;
        align-items: flex-start;
    }
    .contacts-block__links .contact-link {
        margin: 0 0 16px;
    }
    .contacts-block__links .contact-link:last-child {
        margin: 0;
    }
    .gc-calendar table.calendar {
        display: flex;
    }
    .calendar tr {
        flex-direction: column;
    }
    .gc-calendar table.calendar td {
        width: 100%;
        min-height: initial;
    }
    /*.gc-calendar table.calendar tbody {
        width: 100%;
        display: flex;
        overflow-x: scroll;
        padding-bottom: 8px;
    }
    .gc-calendar table.calendar tbody tr td {
        width: 42px;
        flex: 0 0 42px;
        margin-right: 5px;
        border: 1px solid transparent;
        display: flex;
        justify-content: center;
    }
    .gc-calendar table.calendar a {
        text-align: center;
    }
    .gc-calendar table.calendar td, .gc-calendar table.calendar td:hover {
        padding: 0;
    }
    .gc-calendar table.calendar tbody tr td.active {
        background-color: #F7F7F7;
        border: 1px solid #3E7FFF;
    }
    .gc-calendar table.calendar .event .gc-event {
        display: none;
    }
    .gc-calendar table.calendar td.prev-month, .gc-calendar table.calendar td.next-month {
        display: none;
    }
    .gc-calendar table.calendar td {
        min-height: unset;
        height: 56px;
    }
    .gc-calendar table.calendar td .day-number {
        flex-direction: column;
        align-items: center;
    }
    .gc-calendar table.calendar td:nth-child(1) .day-number::after,
    .gc-calendar table.calendar td:nth-child(2) .day-number::after,
    .gc-calendar table.calendar td:nth-child(3) .day-number::after,
    .gc-calendar table.calendar td:nth-child(4) .day-number::after,
    .gc-calendar table.calendar td:nth-child(5) .day-number::after,
    .gc-calendar table.calendar td:nth-child(6) .day-number::after,
    .gc-calendar table.calendar td:nth-child(7) .day-number::after {
        display: none;
    }
    .gc-calendar table.calendar td .day-number::before {
        display: block;
        font-size: 14px;
        line-height: 20px;
        margin-left: 0;
        color: rgba(0, 0, 0, 0.4);
        letter-spacing: 0.5px;
        font-feature-settings: 'pnum' on, 'lnum' on;
    }
    .gc-calendar table.calendar td:nth-child(1) .day-number::before {
        content: "пн";
    }
    .gc-calendar table.calendar td:nth-child(2) .day-number::before {
        content: "вт";
    }
    .gc-calendar table.calendar td:nth-child(3) .day-number::before {
        content: "ср";
    }
    .gc-calendar table.calendar td:nth-child(4) .day-number::before {
        content: "чт";
    }
    .gc-calendar table.calendar td:nth-child(5) .day-number::before {
        content: "пт";
    }
    .gc-calendar table.calendar td:nth-child(6) .day-number::before {
        content: "сб";
        color: rgba(0, 0, 0, 0.16);
        font-weight: 700;
    }
    .gc-calendar table.calendar td:nth-child(7) .day-number::before {
        content: "вс";
        color: rgba(0, 0, 0, 0.16);
        font-weight: 700;
    }
    .gc-calendar table.calendar td .day-number {
        margin-bottom: 0;
    }
    .gc-calendar .gc-calendar-header {
        padding: 20px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.13);
        border-bottom: 1px solid rgba(0, 0, 0, 0.13);
        margin-bottom: 20px;
    }
    .container-mobile-nopadding {
        padding: 0;
    }
    .calendar-block, .gc-calendar table.calendar tr {
        border: none;
    }
    .gc-calendar .gc-calendar-header .gc-calendar-month-year {
        font-size: 28px;
        line-height: 32px;
    }
    .mobile-calendar {
        display: block;
        padding: 30px 20px 50px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.13);
    }
    .mobile-calendar .gc-event {
        height: 44px;
        display: flex;
        margin-bottom: 12px;
        background: #F7F7F7;
        text-align: center;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0.5px;
        border-radius: 44px;
        color: rgba(0, 0, 0, 0.87);
    }
    .mobile-calendar .gc-event:last-child {
        margin-bottom: 0;
    }
    .gc-calendar table.calendar td:nth-child(6) .day-number, .gc-calendar table.calendar td:nth-child(7) .day-number {
        color: rgba(0, 0, 0, 0.87) !important;
        font-weight: 700;
    }
    .mobile-calendar .gc-event.calendar-time_booked {
        color: rgba(0, 0, 0, 0.16);
    }*/
    .admin-page {
        padding: 48px 0 64px;
    }
    .admin-page__title {
        font-size: 32px;
        line-height: 36px;
        margin-bottom: 40px;
    }
    .map-section__title {
        margin-bottom: 32px;
    }
    .route-button-container {
        justify-content: flex-start;
    }
    .route-options {
        display: block;
        margin-bottom: 40px;
    }
    .route-option, .route-option:nth-child(1), .route-option:nth-child(2), .route-option:nth-child(3) {
        width: 100%;
        margin: 0 0 24px 0;
    }
    .route-option:last-child {
        margin-bottom: 0;
    }
    .chess-section__bg1, .chess-section__bg2 {
        display: none;
    }
    .chess-block__row {
        flex-direction: column;
        margin-bottom: 32px;
    }
    .chess-block__row-reverse {
        flex-direction: column-reverse;
    }
    .chess-block__row:last-child {
        margin-bottom: 0;
    }
    .chess-block__img {
        width: 100%;
        height: 320px;
    }
    .chess-block__text {
        width: 100%;
        margin-bottom: 16px;
        padding: 32px 0;
    }
    .chess-block__title {
        margin-bottom: 24px;
    }
    .about-block {
        flex-direction: column-reverse;
    }
    .about-block__content {
         width: 100%;
         min-height: unset;
         padding: 212px 32px 136px;
         margin-top: -152px;
         background-size: 186px auto;
     }
    .about-block__text {
        font-size: 16px;
         line-height: 24px;
         color: rgba(0, 0, 0, 0.60);
         letter-spacing: 0.5px;
         font-feature-settings: 'pnum' on, 'lnum' on;
    }
    .about-block__img-wrap {
         width: calc(100% - 84px);
         margin: 0 52px 0 32px;
     }
     .about-block__img-wrap::before {
          top: 20px;
          left: 20px;
      }
    .about-block__img {
        height: 352px;
      padding-bottom: 0;
    }
    .about-block__title {
        font-size: 44px;
      line-height: 52px;
    }
    .quote-block {
        padding: 48px 20px;
    }
    .quote-block__text {
        font-size: 24px;
        line-height: 28px;
    }
    .booking-block {
        flex-direction: column;
    }
    .booking-block__img {
        width: 100%;
        height: 320px;
    }
    .booking-block__text {
        width: 100%;
        padding: 40px 20px;
    }
    .booking-block__text p {
        max-width: none;
    }
    .services-block {
        flex-direction: column-reverse;
    }
    .services-block__text {
        width: 100%;
        padding: 40px 20px;
    }
    .services-block__img, .features-block__img {
        width: 100%;
        height: 500px;
    }
    .features-section {
        padding: 40px 0;
    }
    .features-section__title {
        margin-bottom: 32px;
    }
    .features-block {
        flex-direction: column;
    }
    .features-block__text {
        width: 100%;
        padding: 0;
        margin-bottom: 40px;
    }
    .time-section {
        flex-direction: column;
    }
    .time-section__left {
        width: 100%;
        margin-bottom: 48px;
    }
    .time-section__right {
        width: 100%;
        max-width: none;
    }
    /* .time-section__dropdowns {
        flex-direction: column;
    } */
    .time-section__dropdowns-item {
        width: 48%;
        width: calc(50% - 8px);
    }
    .select-time {
        width: 100%;
    }
    .time-menu {
        width: 100%;
    }
    .time-section__booked-sessions {
        justify-content: space-between;
    }
    .time-section__booked-session {
        width: 49%;
        width: calc(50% - 8px);
        text-align: center;
        margin-right: 0;
    }
    .booking-form__prepayment {
        max-width: none;
    }
    .about-block__text p, .chess-block__text p, .features-block__list, .route-option__text, .contacts-block p, .booking-block__text p, .services-block__text p {
        font-size: 16px;
    }
    .visitors-row {
        justify-content: space-between;
    }
    .visitors-row .visitors-col {
        width: 49%;
        width: calc(50% - 8px);
        margin-right: 0;
    }
	.calendar__loader-wrapper {
		min-height: 300px;
		padding-top: 0;
        justify-content: center;
	}
    .calendar__loader-circle {
        width: 100px;
        height: 100px;
    }
    .redirect-block {
        flex-direction: column;
    }
    .redirect-block__img {
        width: 100%;
        height: 296px;
    }
    .redirect-block__text {
        width: 100%;
        padding: 40px 20px 48px;
    }
    .redirect-block__title {
        font-size: 32px;
        line-height: 40px;
        margin-bottom: 16px;
    }
    .menu-banner {
        flex-direction: column-reverse;
        align-items: flex-start;
    }
    .menu-banner__img {
        max-width: 100%;
        align-self: flex-start;
    }
    .menu-banner__content {
        padding: 40px 20px 24px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .menu-banner__button {
        margin-top: 40px;
    }
    .menu-banner__subtitle {
        max-width: 408px;
    }
    .about-section {
         margin-bottom: 64px;
     }
     
     .header__left {
         margin-right: 0;
     }
   .advantages-section {
        margin-bottom: 64px;
    }
    
   .advantages-card__content {
        max-width: 440px;
    }
    
    .promo-block {
         flex-direction: column-reverse;
         margin-bottom: 64px;
     }
     .promo-block__img-block {
          max-width: none;
          padding: 32px 32px 40px;
          display: none;
      }
      .promo-block__img-block-mob {
           display: block;
       }
   .promo-block__content {
        width: 100%;
        background: url(../img/img-big/promo-bg-mob.svg) #000A33 right bottom no-repeat;
        padding: 204px 32px 32px;
        margin-top: -152px;
    }
   .promo-block__title {
        font-size: 44px;
        line-height: 52px;
        margin-bottom: 20px;
    }
   .promo-block__text {
        max-width: 100%;
        margin-bottom: 32px;
    }
   .promo-block__text p {
        margin-bottom: 8px;
    }
   .promo-block__img-wrap {
        width: 100%;
        width: calc(100% - 84px);
        margin: 0 52px 0 32px;
    }
   .promo-block__img-wrap::before {
        top: 20px;
        left: 20px;
    }
   .promo-block__img {
        min-height: unset;
        height: 352px;
        padding: 0;
    }
   .promo-block__img-block {
        max-width: none;
        padding: 32px 32px 40px;
        display: none;
    }
   .promo-block__list-title {
      margin-bottom: 12px;
   }
   
   .promo-block__list ul {
        margin-bottom: 12px;
    }
    
   .map-section__title {
      font-size: 44px;
      font-style: normal;
      font-weight: 400;
      line-height: 52px;
      margin-bottom: 40px;
   }
   
   .map-section {
      padding-top: 64px;
   }
   
   .book__block {
       flex-direction: column; 
       margin-bottom: 24px;
    }
    
    .book__container {
       margin-top: 64px;
       margin-bottom: 64px;
    }
    
    .book__img {
       width: 100%;
    }
    
    .book__text {
       padding: 48px 40px;
    }
    
    .promo-block__img-block-mob {
         display: block;
     }
     
   .promo-block__list-title, .promo-block__list ul {
       margin-bottom: 12px;
   }
}
@media (max-width:520px) {
   .header {
      height: auto;
   }
   
   .header__container {
      flex-direction: column;
      align-items: flex-start;
      padding-top: 20px;
   }
   
   .header__contacts {
      margin: 12px auto 0;
   }
   
   .intro-block__title {
      font-size: 44px;
      font-style: normal;
      font-weight: 400;
      line-height: 52px;
      margin-bottom: 8px;
   }
   
   .intro-block__subtitle {
      font-size: 20px;
      font-style: normal;
      font-weight: 400;
      line-height: 24px;
      letter-spacing: 0.5px;
   }
}
@media (max-width:480px) {
	/*.floating-button {
		display: none; 
	}*/
    .footer__logo img {
        width: 300px;
    }
    .map-buttons {
        flex-direction: column;
        align-items: center;
    }
    .map-button {
        width: 100%;
        margin: 0 0 24px;
        padding: 18px;
    }
    .map-button:last-child {
        margin-bottom: 0;
    }
    .mapboxgl-popup-content {
        padding: 10px 15px 10px 10px;
    }
    .photos-grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .photos-grid__item:nth-child(n+4) {
        display: none;
    }
    .modal-wrap {
        padding: 0;
    }
    .modal-body {
        border-radius: 0;
        min-height: 100vh;
    }
    .modal-phone {
        min-height: 224px;
        border-radius: 4px;
    }
    .modal-gallery {
        padding: 120px 20px;
    }
    .modal-gallery__img, .gallery-mob-slider__img{
        height: 320px;
    }
    .modal-success {
        justify-content: flex-start;
        padding: 150px 20px;
    }
    .booking-form__submit .button {
        width: 100%;
    }
    .tooltip {
        transform: translateY(-100%) translateX(-50%);
    }
    .chess-block__img {
        height: 212px;
    }
    .booking-block__img {
        height: 262px;
    }
    .booking-block__button {
        width: 100%;
    }
    .services-block__img {
        height: 316px;
    }
    .features-block__img {
        height: 380px;
    }
    .time-section__dropdowns {
        flex-direction: column;
    }
    .time-section__dropdowns-item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 32px;
    }
    .time-section__dropdowns-item:last-child {
        margin-bottom: 0;
    }
    .chess-section {
        margin-bottom: 48px;
    }
    .menu-banner__button {
        width: 100%;
    }
    .about-block__img {
         height: 162px;
     }
   .advantages-section {
        margin-bottom: 48px;
    }
   .advantages-section__container {
        padding: 0;
    }
   .advantages-grid {
        grid-gap: 16px;
    }
   .advantages-card {
        min-height: 360px;
    }
   .advantages-card__content {
        padding: 24px 20px;
        font-size: 14px;
        line-height: 20px;
    }
   .advantages-card__title {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 4px;
    }
   .advantages-card p {
        font-size: 14px;
        line-height: 20px;
    }
   .promo-block__img-block {
        padding: 32px 20px 40px;
    }
   .promo-block__content {
        padding: 104px 20px 32px;
        margin-top: -62px;
    }
   .promo-block__img-wrap {
        width: calc(100% - 50px);
        margin: 0 30px 0 20px;
    }
    .promo-block__img-wrap::before {
         top: 10px;
         left: 10px;
     }
   .promo-block__img {
        height: 162px;
    }
   .promo-block__img-block {
        padding: 32px 20px 40px;
    }
    
   .book__container {
      margin-left: -20px;
      width: calc(100% + 40px);
   }
   
   .book__text {
      padding: 40px 20px;
   }
   
   .book__title {
      font-size: 32px;
      line-height: 40px;
   }
   
   .book__button {
      width: 100%;
   }
}
