body {padding: 0px; margin: 0px; font-size: 20px; font-weight: 400; color: #40444A; background: #fff; font-family: 'inter'; overflow-x: hidden;}
footer, nav, header, section, aside {display: block;}
.center {margin: auto; max-width: 1440px; box-sizing: border-box; padding-left: 15px; padding-right: 15px;}
.layoutTop {float: left; width: 100%; height: 100vh; background: url('images/top.png') center no-repeat; background-size: cover;}
header {float: left; width: 100%; color: #fff; margin-top: 25px;}
.logo {float: left; background: url('images/logo.svg')left center no-repeat; font-size: 24px; font-weight: bold; padding: 5px 0px 0px 75px;}
.logo span {font-size: 20px; font-weight: normal; color: #A5C2DA;}
.phone {float: right; font-size: 20px; font-weight: 500; height: 40px; display: flex; align-items: center; margin-top: 10px;}
.phone img {height: 40px; width: auto; margin-left: 30px;}
.phone img[src$="max.webp"] {height: 48px; margin-left: 24px;}
.phone a[href^="tel:"] {color: inherit; text-decoration: none;}
.address {float: right; font-size: 15px; background: url('images/ico_map.svg') left top no-repeat; padding-left: 25px;
margin-right: 10%; margin-top: 13px;}
.infTop {float: left; font-size: 75px; color: #60DE8F; line-height: 60px; width: 100%; margin-top: 235px; margin-bottom: 50px;}
.infTop span {font-size: 40px; color: #fff;}
.brDomT {float: left; font-size: 25px; padding: 25px 40px; color: #fff; background: #60DE8F; border-radius: 100px;}
.layoutOkomp {float: left; width: 100%; margin-top: 80px;}
.leftOKomp {float: left; width: 49%;}
.imgOKomp {position: relative; width: 100%; height: auto; border-radius: 10px; overflow: hidden;}
.imgOKomp img {display: block;}
.playVideo {position: absolute; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; left: 0; right: 0; bottom: 0; top: 0; width: 150px; height: 150px;  background: #60DE8F; border-radius: 50%;}
.playVideo::after {content: ""; position: absolute; display: block; width: 0; height: 0; left: 56px; top: 45px; border-style: solid; border-width: 30px 0 30px 55px; border-color: transparent transparent transparent #fff;}
.playVideo::before {
    content: "";
    position: absolute;
    left: -40px;
    bottom: -42px;
    width: 230px;
    height: 230px;
    border: 3px solid #60DE8F;
    border-radius: 50%;
    z-index: 1;
    animation: playVideo 2.5s linear infinite;
}
@keyframes playVideo {
  0% {
    transform: scale(0.7);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.rightOKomp {float: right; width: 49%;}
.titleBlock {float: left; width: 100%; font-size: 45px; font-weight: bold; color: #121D25;}
.titleBlock::first-letter {color: #60DE8F;}
.textOkomp {float: left; width: 100%; font-size: 20px; color: #4A4A4A; font-weight: 300; margin-top: 25px; margin-bottom: 33px;}
.moreOkomp {float: left; color: #4A4A4A; border: 1px solid #60DE8F; padding: 20px 30px; border-radius: 7px; margin-right: 15px;}
.brDom {float: left; font-size: 20px; padding: 20px 30px; color: #fff; background: #60DE8F; border-radius: 100px;}
.pluses {
    float: left;
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
    margin-top: 80px;
    margin-bottom: 80px;
}

.pluses li {
    display: inline-block;
    list-style: none;
    vertical-align: top;
    width: 23%;
    box-sizing: border-box;
    text-align: left;
    font-size: 18px;
    margin-right: 2%;
}
.pluses li:last-child {margin: 0;}

.ico {float: left;}
.textIco {float: left; margin-top: 15px;}
.textIco b {color: #094777;}
.layoutFoto {float: left; width: 100%; background: #FAFCFF;}
.voln {float: left; width: 100%; background: url('images/vol.png') left repeat-y; padding-bottom: 60px;}
.voln .titleBlock {margin-top: 60px; margin-bottom: 50px;}
.allFoto {float: left; width: 100%; height: 480px; overflow: hidden;}
.allFoto a {text-decoration: none;}
.noHidden {height: auto;}
.noButton {display: none;}

.allFoto ul {
    float: left;
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
}

.allFoto ul li {
    display: inline-block;
    list-style: none;
    vertical-align: top;
    width: 330px;
    height: 220px;
    overflow: hidden;
    border-radius: 7px;
    box-sizing: border-box;
    text-align: left;
    font-size: 18px;
    margin-right: 1%;
    margin-bottom: 20px;
}

.allFoto ul li img {width: 100%; height: auto; display: block;}
.moreFoto { float: left; margin-top: 15px; border: 1px solid #60DE8F; border-radius: 7px; padding: 20px 0px; width: 300px; text-align: center; margin-left: calc(50% - 300px/2);}
.moreFoto:hover {cursor: pointer;}

.layoutVideo {float: left; width: 100%; margin-top: 80px;}
.layoutVideo .titleBlock {margin-bottom: 50px;}
.allVideo {float: left; position: relative; width: 100%;}
.lVideo {margin: 0 10px;}
.vImg {width: 100%; height: 300px; border-radius: 10px; overflow: hidden;}
.bgVideo {width: 100%; height: 300px; background: rgb(6 70 118 / 20%) url('images/play.png') center no-repeat;}
.slick-dots {bottom: -25px !important;}
.slick-dots li button:before {opacity: .2 !important;}
.slick-dots li.slick-active button:before {opacity: 1 !important; color: #60de8f !important;}
.layoutVigoda {float: left; width: 100%; background: #FAFCFF; padding: 60px 0; margin-top: 80px;}
.layoutBooking {float: left; width: 100%; padding: 60px 0 0; box-sizing: border-box;}
.layoutBooking .center {display: block; width: 100%;}
.layoutBooking #hr-widget {width: 100%; min-width: 100%;}
.layoutBooking #hr-widget .custom-calendar .search__container,
.layoutBooking #hr-widget .hotel-detail__container,
.layoutBooking #hr-widget .hotel-detail__fixed-container,
.layoutBooking #hr-widget .basket-page__container,
.layoutBooking #hr-widget .basket-page__fixed-container,
.layoutBooking #hr-widget .hotels,
.layoutBooking #hr-widget .header__container,
.layoutBooking #hr-widget .success-container,
.layoutBooking #hr-widget .error-container,
.layoutBooking #hr-widget .tabs__buttons,
.layoutBooking #hr-widget .welcome__container,
.layoutBooking #hr-widget .rules {
    width: 100%;
    max-width: 100% !important;
}
.layoutVigoda .titleBlock {width: auto;}
.laMarkerVigoda {float: left; margin-top: 15px; margin-left: 7%;}
.laMarkerVigoda ul {
    float: left;
    position: relative;
    width: auto;
    padding: 0;
    margin: 0;
    text-align: left;
}

.laMarkerVigoda ul li {
    display: inline-block;
    list-style: none;
    vertical-align: top;
    width: auto;
    background: url('images/ico-v.svg') left top no-repeat;
    box-sizing: border-box;
    text-align: left;
    font-size: 18px;
    font-weight: 500;
    margin-right: 50px;
    padding-left: 40px;
}
.laMarkerVigoda ul li:last-child {margin-right: 0px;}
.layoutVigoda .brDom {float: right;}
.layoutOt {float: left; width: 100%; margin-top: 80px;}
.layoutOt .titleBlock {margin-bottom: 50px;}
.otziv {box-sizing: border-box; padding: 15px; margin: 0 10px; background: #FAFCFF; border: 1px solid #D7DFEB; border-radius: 7px; font-size: 16px; color: #40444A; min-height: 200px !important;}
.nameUser {float: left; width: 100%; font-size: 18px; color: #094777; font-weight: 600; line-height: 30px; background: url('images/user.svg') left center no-repeat; box-sizing: border-box; padding: 8px 0px 8px 70px;}
.textOt {float: left; width: 100%; margin-top: 20px;}
.textOt a {color: #60DE8F;}
.textOt a:hover {text-decoration: none;}
.layoutMap {float: left; position: relative; width: 100%; height: 500px; margin-top: 80px;}
.layoutKont {position: absolute; width: 100%; left: 0px; top: 0px;}
.kont {width: 500px; box-sizing: border-box; padding: 20px; background: #fff; border-radius: 7px; margin-top: 50px;}
.kont .titleBlock, .kont .phone, .kont .address {float: none;}
.kont .titleBlock, .kont .address {margin-bottom: 30px;}
.layoutFooter {float: left; width: 100%; height: 177px; background: url('images/footer.png') center;}
footer {float: left; width: 100%; color: #fff; margin-top: 50px;}

.dop{
    float: left;
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
    margin-bottom: 80px;
}

.dop li {
    display: inline-block;
    list-style: none;
    vertical-align: top;
    width: 32%;
    box-sizing: border-box;
    text-align: left;
    font-size: 18px;
    margin-right: 1%;
    background: none;
}

.dop li:last-child {
    margin: 0;
}

.imgDop {float: left; width: 100%; height: 300px; border-radius: 7px;}
.nameDop {float: left; width: 100%; font-size: 20px; margin: 20px 0px; font-weight: bold;}
.textDop {float: left; width: 100%; font-size: 16px;}


@media only screen and (max-width:1450px) {
.pluses li {width: 21%;}
}

@media only screen and (max-width:1080px) {
.address {display: none;}
.layoutVigoda .brDom {margin-top: 50px;}
.kont .address {display: block;}
}

@media only screen and (max-width:1024px) {
.dop li {width: 100%; margin-right: 0px; margin-bottom: 40px;} .dop li:last-child{margin-bottom: 0px;}
.logo, .logo span {font-size: 0px;}
.logo {width: 60px; height: 60px;}
.infTop {font-size: 50px;}
.infTop span {font-size: 30px; margin-top: 20%;}
.leftOKomp, .imgOKomp img {width: 100%; margin-bottom: 20px;}
.rightOKomp, .moreOkomp, .brDom, .ico, .textIco {width: 100%;}
.moreOkomp, .brDom {margin-right: 0px; text-align: center; padding: 20px 0px; margin-bottom: 15px;}
.brDom {margin-bottom: 0px;}
.pluses li {width: 100%; box-sizing: border-box; margin-right: 0px; margin-bottom: 15px;}
.brDomT {box-sizing: border-box; padding: 25px 0px; width: 100%; text-align: center;}
.ico, .textIco {text-align: center;}
.moreFoto {width: 100%; margin-left: 0;}
.allFoto ul li {width: 100%;}
.allFoto {height: 710px;}
.layoutVigoda .titleBlock, .laMarkerVigoda {width: 100%; margin-left: 0; margin-bottom: 30px;}
.laMarkerVigoda ul li {display: block; margin-bottom: 15px;}
.layoutVigoda .brDom {margin-top: 0px;}
.otziv {min-height: 280px !important;}
.kont {width: 100%; margin-top: 15px;}
.layoutKont {top: 5px;}
.noHidden {height: auto;}
}

@media only screen and (max-width:650px) {
.infTop {line-height: 35px; font-size: 40px;}
.infTop span {font-size: 20px;}
.titleBlock {font-size: 35px;}
.layoutMap {height: 300px;}
}

@media only screen and (max-width:480px) {
.phone {font-size: 16px;} 
.brDomT {font-size: 20px;}
.titleBlock {font-size: 27px;}
.logo {padding: 5px 0px 0px 0px;}
.infTop {margin-top: 35%;}
.playVideo {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100px;
    height: 100px;
    background: #60DE8F;
    border-radius: 50%;
}
.playVideo::before {
    content: "";
    position: absolute;
    left: -27px;
    bottom: -30px;
    width: 150px;
    height: 150px;
    border: 3px solid #60DE8F;
    border-radius: 50%;
    z-index: 1;
    animation: playVideo 2.5s linear infinite;
}
.playVideo::after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 30px;
    top: 22px;
    border-style: solid;
    border-width: 30px 0 30px 55px;
    border-color: transparent transparent transparent #fff;
}
}


.layoutBooking #hr-widget {
    --custom-main: #60DE8F;
    --custom-main-dark: #42C875;
    --swiper-theme-color: #60DE8F;
}
.layoutBooking #hr-widget a {color: #60DE8F;}
.layoutBooking #hr-widget a:hover {color: #42C875;}
.layoutBooking #hr-widget .button-primary,
.layoutBooking #hr-widget button[type="submit"] {
    background: #60DE8F !important;
    border-color: #60DE8F !important;
    color: #fff !important;
}
.layoutBooking #hr-widget .button-primary:hover,
.layoutBooking #hr-widget button[type="submit"]:hover {
    background: #42C875 !important;
    border-color: #42C875 !important;
    color: #fff !important;
}
.layoutBooking #hr-widget .button-text,
.layoutBooking #hr-widget .hotel-info,
.layoutBooking #hr-widget .price-column {
    color: #60DE8F;
}

/* Manual Russian banya booking card */
.layoutBanya {float:left; width:100%; padding-top:24px; box-sizing:border-box; font-family:Arial, sans-serif; color:#0b1720;}
.banya-card {display:grid; grid-template-columns:300px minmax(0, 1fr) 205px; min-height:198px; border:1px solid #e4e7eb; border-radius:14px; overflow:hidden; box-shadow:0 5px 14px rgba(24,39,75,.08); background:#fff; box-sizing:border-box;}
.banya-slider {width:300px; height:198px; overflow:hidden; background:#eef2f5;}
.banya-slider .slick-list, .banya-slider .slick-track, .banya-slider .slick-slide, .banya-slider .slick-slide > div {height:100%;}
.banya-slider img {display:block; width:100%; height:198px; object-fit:cover;}
.banya-slider .slick-dots {bottom:8px !important; z-index:2;}
.banya-slider .slick-dots li {width:11px; height:11px; margin:0 1px;}
.banya-slider .slick-dots li button {width:11px; height:11px; padding:0;}
.banya-slider .slick-dots li button:before {content:''; width:9px; height:9px; border-radius:50%; background:#fff; border:1px solid rgba(0,0,0,.2); opacity:.75 !important; box-sizing:border-box;}
.banya-slider .slick-dots li.slick-active button:before {background:#6b7075; border-color:#fff; opacity:1 !important;}
.banya-info {padding:22px 24px 16px; box-sizing:border-box; color:#0b1720;}
.banya-info h2 {margin:0 0 14px; font-size:18px; line-height:1.25; font-weight:700;}
.banya-address {display:flex; align-items:center; gap:6px; margin-bottom:14px; font-size:15px; font-weight:500;}
.banya-address svg {flex:none;}
.banya-params {display:flex; flex-wrap:wrap; gap:22px; margin-bottom:14px; font-size:15px; font-weight:500;}
.banya-params span {position:relative; padding-left:25px;}
.banya-params span:before {position:absolute; left:0; top:-2px; width:20px; height:20px; font-size:19px; line-height:20px; text-align:center;}
.banya-area:before {content:'↗'; font-weight:700; transform:rotate(-2deg);}
.banya-room:before {content:''; border:1.5px solid #0b1720; border-radius:4px; width:13px !important; height:13px !important; top:1px !important; box-shadow:4px -4px 0 -2px #fff, 4px -4px 0 -1px #0b1720;}
.banya-info p {margin:0; color:#6c727a; font-size:16px; line-height:1.45;}
.banya-price {display:flex; flex-direction:column; justify-content:space-between; padding:24px; border-left:1px solid #e4e7eb; box-sizing:border-box;}
.banya-price strong {display:block; font-size:23px; line-height:1.2; white-space:nowrap;}
.banya-price > div > span {display:block; margin-top:7px; color:#9a9fa5; font-size:14px;}
.banya-booking {position:relative; padding-right:52px; box-sizing:border-box;}
.banya-booking > span {margin:0 0 5px !important; color:#4d5359 !important; font-weight:600;}
.banya-phone {display:inline-block; color:#094777 !important; font-size:15px; font-weight:700; text-decoration:none; white-space:nowrap;}
.banya-phone:hover {color:#42c875 !important;}
.banya-max {position:absolute; right:0; bottom:-5px; display:block; width:43px; height:43px;}
.banya-max img {display:block; width:43px; height:43px; object-fit:contain;}
@media only screen and (max-width:1024px) {
    .layoutBanya {padding-top:24px;}
    .banya-card {display:block;}
    .banya-slider {width:100%; height:254px;}
    .banya-slider img {height:254px;}
    .banya-info {min-height:180px;}
    .banya-price {min-height:85px; padding:15px 20px; border-left:0; border-top:1px solid #e4e7eb; flex-direction:row; align-items:center;}
    .banya-booking {min-width:190px;}
}
@media only screen and (max-width:480px) {
    .layoutBanya .center {width:auto; margin:0 16px;}
    .banya-card {border-radius:12px;}
    .banya-info {padding:20px 16px; min-height:0;}
    .banya-info h2 {font-size:18px;}
    .banya-address, .banya-params {font-size:14px;}
    .banya-info p {font-size:15px;}
    .banya-price {padding:14px 16px; gap:12px;}
    .banya-price strong {font-size:20px;}
    .banya-phone {font-size:14px;}
    .banya-booking {flex:1; min-width:0; padding-right:48px;}
}
.banya-slider .slick-slide a {display:block; height:100%; cursor:zoom-in;}

.october-promo-modal {position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(18, 29, 37, 0.72); box-sizing: border-box;}
.october-promo-modal.is-visible {display: flex;}
.october-promo-modal__dialog {position: relative; display: grid; grid-template-columns: minmax(260px, 42%) minmax(320px, 1fr); width: min(940px, 100%); overflow: hidden; background: #fff; border-radius: 18px; box-shadow: 0 28px 80px rgba(18, 29, 37, 0.35);}
.october-promo-modal__image {min-height: 430px; background: url('images/promo-october-banya.jpg') center; background-size: cover;}
.october-promo-modal__content {padding: 46px 46px 42px; color: #121D25; box-sizing: border-box;}
.october-promo-modal__label {display: inline-flex; align-items: center; margin-bottom: 18px; padding: 9px 16px; border-radius: 999px; background: rgba(96, 222, 143, 0.18); color: #268a4b; font-size: 15px; font-weight: 700;}
.october-promo-modal__title {margin: 0 0 20px; color: #121D25; font-size: 38px; line-height: 1.08; font-weight: 800;}
.october-promo-modal__list {display: grid; gap: 14px; margin: 0 0 24px; padding: 0; list-style: none;}
.october-promo-modal__list li {position: relative; padding-left: 32px; font-size: 20px; line-height: 1.35; color: #26343d;}
.october-promo-modal__list li:before {content: ''; position: absolute; left: 0; top: 8px; width: 14px; height: 14px; border-radius: 50%; background: #60DE8F; box-shadow: 0 0 0 6px rgba(96, 222, 143, 0.18);}
.october-promo-modal__date {margin: 0 0 28px; color: #60717d; font-size: 16px; line-height: 1.4;}
.october-promo-modal__actions {display: flex; align-items: center; gap: 14px; flex-wrap: wrap;}
.october-promo-modal__button {display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border-radius: 999px; background: #60DE8F; color: #fff; font-size: 18px; font-weight: 700; text-decoration: none; transition: background 0.2s ease, transform 0.2s ease;}
.october-promo-modal__button:hover {background: #42C875; color: #fff; transform: translateY(-1px);}
.october-promo-modal__note {color: #60717d; font-size: 14px; line-height: 1.35;}
.october-promo-modal__close {position: absolute; top: 16px; right: 16px; z-index: 2; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(18, 29, 37, 0.72); color: #fff; cursor: pointer; font-size: 26px; line-height: 42px; text-align: center;}
.october-promo-modal__close:hover {background: #121D25;}
@media only screen and (max-width: 820px) {
.october-promo-modal {padding: 14px; align-items: flex-start; overflow-y: auto;}
.october-promo-modal__dialog {grid-template-columns: 1fr; margin: 20px 0; border-radius: 14px;}
.october-promo-modal__image {min-height: 230px;}
.october-promo-modal__content {padding: 30px 24px 28px;}
.october-promo-modal__title {font-size: 30px;}
.october-promo-modal__list li {font-size: 18px;}
.october-promo-modal__button {width: 100%; box-sizing: border-box;}
}
@media only screen and (max-width: 480px) {
.october-promo-modal__content {padding: 26px 18px 24px;}
.october-promo-modal__title {font-size: 26px;}
.october-promo-modal__list li {font-size: 16px;}
.october-promo-modal__date {font-size: 15px;}
}
