header {
	padding-top: 30px;
	.logo2 {
		width: 200px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
}
header.hide {
	padding-top: 73.5px;
	.logo2 {
		opacity: 0;
	}
}
header .wrapper {
	height: 127px;
}
header.hide .wrapper {
	height: initial;
}
header .wrapper > .logo {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%);
	width: 240px;
	min-height: 127px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	color: var(--text-color);
	border: 3px solid var(--dark);
	font-size: 18px;
	opacity: 1;
	transition: opacity 0.2s linear;
}
header.active .wrapper > .logo {
	opacity: 0;
}
header.last .wrapper > .buttons svg {
	fill: var(--White);
}
header.hide > .wrapper > .buttons.mob {
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}
header.hide > .wrapper > .buttons.mob {
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
}
header.last .logo2 {
	filter: invert(1);
}

header.last .location,
header.last .wrapper > .logo,
header.last .wrapper > .logo span {
	color: var(--White);
}
header .wrapper > .logo::before {
	content: '';
	position: absolute;
	inset: 2px;
	border: 2px solid var(--dark);
}
header.last .wrapper > .logo,
header.last .wrapper > .logo::before {
	border-color: var(--White);
}
header.last .location::before {
	background-color: var(--White);
}
header .wrapper > .logo span {
	display: flex;
	font-family: inherit;
	font-weight: inherit;
	font-size: 10px;
	line-height: 80%;
	color: var(--text-color);
}
header :is(.logo, .location) {
	animation: visible 0.6s linear forwards;
}
header.hide .wrapper > :is(.logo, .location) {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	animation: hide 0.2s linear forwards;
}
header .wrapper > .buttons svg {
	fill: var(--text-color);
}
header .location {
	color: var(--text-color);
}
header .menu-container .buttons > *::before {
	color: var(--White);
}
header .location::before {
	background-color: var(--dark);
}
.title {
	max-width: 670px;
	display: grid;
	grid-template-columns: 70px auto 1fr;
	gap: 20px;
	align-items: center;
	color: var(--text-color);
	font-family: Lato;
	font-size: 30px;
	font-weight: 300;
	line-height: 100%;
	text-transform: uppercase;
	margin-bottom: 68px;
	&::before,
	&::after {
		content: '';
		height: 1px;
		width: 80%;
		background-color: var(--dark);
	}
}
.promo .wrapper {
	position: relative;
	a {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 12.5dvh;
		width: 240px;
		border-radius: 3px;
		background-color: rgba(255, 255, 255, 0.68);
		border: none;
		box-shadow: 0px 12px 40px 0px rgba(0, 0, 0, 0.1);
		backdrop-filter: blur(25px);
		color: var(--text-color);
		font-size: 13px;
	}
	.text {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 40px;
		color: var(--White);
		font-family: Georgia;
		font-size: 20px;
		line-height: 120%;
		br {
			display: none;
		}
		span {
			position: relative;
			display: inline-block;
			font-family: inherit;
			line-height: 1;
			font-size: 0.5em;
			transform: translateY(-5px);
		}
	}
}
:is(.promotions, .top-promotions, .services, .recommendations, .seo-section) {
	background: var(--White);
	padding: 80px 0 100px;
}
:is(.promotions, .top-promotions, .services, .recommendations, .instagram-box, .seo-section) .wrapper {
	display: flex;
	flex-direction: column;
}
:is(.promotions, .top-promotions, .services, .recommendations, .seo-section) * {
	color: var(--text-color);
}
.accordion {
	display: flex;
	justify-content: end;
	gap: 20px;
	.item {
		position: relative;
		width: 103px;
		height: calc(100dvh - 230px);
		overflow: hidden;
		display: flex;
		flex-direction: column;
		transition: width 0.5s linear;
		will-change: width;
		cursor: pointer;
		border: 1px solid #666767;
		border-radius: 3px;
		&.active {
			width: 100%;
			cursor: auto;
			.content {
				position: relative;
				padding: 50px 50px 50px 70px;
				background-image: var(--bg);
				background-position: center center;
				background-size: cover;
				&::before {
					content: '';
					position: absolute;
					left: 0;
					top: 0;
					width: 100%;
					height: 100%;
					background: rgba(0, 0, 0, 0.4);
					pointer-events: none;
				}
				a {
					text-decoration: underline;
				}
				div,
				h3,
				p,
				li,
				a {
					position: relative;
					z-index: 1;
					color: #fff;
				}
				:is(div, p, ul, li, h3, h5) {
					opacity: 1;
				}
				h4 {
					display: none;
				}
			}
		}
		.content {
			position: relative;
			display: flex;
			flex-direction: column;
			overflow: hidden;
			flex-grow: 1;
			min-height: 100%;
			background-color: var(--White);
			.accordion .item .content::after {
				content: '';
				width: 100%;
				height: 0px;
				margin-top: auto;
			}
			h3 {
				font-family: "Lato";
				font-size: 46px;
				line-height: 114%;
				margin-bottom: 20px;
				opacity: 0;
			}
			:where(div, p, li, h3) {
				min-width: 690px;
			}
			:is(div, p) {
				margin: 10px 0;
			}
			:is(div, p, li) {
				font-family: Lato;
				font-size: 18px;
				overflow: hidden;
				font-weight: 300;
				opacity: 0;
			}
			h4 {
				position: absolute;
				bottom: 40px;
				transform-origin: 0 100%;
				left: calc(50% + 14px);
				transform: rotate(-90deg);
				font-family: Lato;
				white-space: nowrap;
				font-size: 24px;
				line-height: 114%;
				text-transform: uppercase;
			}
			h5 {
				opacity: 0;
			}
			ul {
				list-style: none;
				opacity: 0;
				margin-bottom: 10px;
			}
			li {
				display: flex;
				gap: 10px;
				&::before {
					content: '\—';
				}
			}
		}
		&:not(.active) .content {
			transition: background-color 0.2s linear;
		}
	}
}
.aesthetics .accordion .item.active .content {
	&::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.4);
		pointer-events: none;
	}
	&::after {
		content: '';
		width: 100%;
		height: 0;
		pointer-events: none;
		margin-top: auto;
	}
	h3,
	p,
	li {
		position: relative;
		z-index: 1;
	}
}
.vertical .accordion {
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	flex-grow: 1;
	.item {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 66px;
		flex-grow: 0;
		transition: flex-grow 0.5s;
		&.active {
			flex-grow: 1;
		}
	}
}
.top-promotions {
	.box {
		display: grid;
		grid-template-columns: 0.6fr 0.4fr;
		gap: 10px;
		height: calc(100dvh - 230px);
		margin: auto 0;
		* {
			font-family: Lato;
		}
		.left {
			position: relative;
			overflow: hidden;
			display: grid;
			grid-template-columns: 1fr;
			grid-template-rows: 1fr;
			.item,
			.item .text > :is(p, div),
			.item .text > *:not(h3, a) {
				font-size: 18px;
				font-weight: 300;
				line-height: 1;
				align-self: start;
			}
			.item {
				grid-column: 1/2;
				grid-row: 1/2;
				display: flex;
				flex-direction: column;
				background-image: var(--bg);
				background-position: center center;
				background-size: cover;
				opacity: 0;
				pointer-events: none;
				animation: hide 0.5s linear forwards;
				&.active {
					pointer-events: all;
					height: 100%;
					opacity: 1;
					&::before {
						content: '';
						position: absolute;
						left: 0;
						right: 0;
						bottom: 0;
						top: 0;
						z-index: 1;
						width: 100%;
						height: 100%;
						background: rgba(255, 255, 255, 0.3);
						pointer-events: none;
						backdrop-filter: blur(2px);
						filter: blur(2px);
						-webkit-backdrop-filter: blur(2px);
					}
					.text {
						display: flex;
						flex-direction: column;
						align-items: center;
						gap: 10px;
						padding: 20px;
						width: 100%;
						z-index: 2;
					}
				}
				&.white {
					color: #fff;
					&::before {
						background: rgba(150, 150, 150, 0.3);
					}
					> *,
					h3,
					p,
					div,
					a {
						color: #fff;
					}
					ul li {
						color: #fff;
					}
					.transparent-btn {
						border-color: #fff;
					}
				}
				h3 {
					text-align: center;
					font-size: 25px;
					margin-bottom: 16px;
				}
				div:has(br:first-child) {
					display: none;
				}
				ul {
					&.links {
						display: flex;
						flex-direction: row;
						flex-wrap: wrap;
						gap: 10px 42px;
						margin-top: 0;
						margin-bottom: 6dvh;
						list-style: none;
						margin-left: auto;
						margin-right: auto;
						li {
							text-align: center;
							font-size: 14px;
							text-transform: capitalize;
						}
					}
					&:not(.links) {
						display: flex;
						flex-direction: column;
						width: 100%;
						list-style: none;
						margin: 10px 0;
						gap: 10px;
						li {
							display: flex;
							gap: 5px;
							font-size: 18px;
							font-weight: 300;
							&::before {
								content: '—';
							}
						}
					}
				}
			}
		}
		.right {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-auto-rows: 1fr;
			max-height: calc(100dvh - 190px);
			align-items: start;
			margin-bottom: auto;
			gap: 8px;
			height: 100%;
			.item {
				position: relative;
				display: grid;
				width: 100%;
				height: 100%;
				grid-template-columns: 1fr;
				grid-template-rows: 1fr;
				justify-content: center;
				align-items: center;
				border-radius: 3px;
				overflow: hidden;
				cursor: pointer;
				&::after {
					content: '';
					position: absolute;
					left: 0;
					top: 0;
					width: 100%;
					height: 100%;
					background-color: var(--menu-bg);
					pointer-events: none;
					opacity: 0;
					transition: opacity 0.3s linear;
				}
				&.active {
					&::after,
					h4 {
						opacity: 1;
					}
				}
				img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
			img {
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				grid-column: 1/2;
				grid-row: 1/2;
			}
			h4 {
				position: relative;
				z-index: 1;
				text-align: center;
				color: var(--hover);
				font-size: 20px;
				font-family: Lato;
				font-weight: 700;
				text-transform: uppercase;
				opacity: 0;
				padding: 0 30px;
				transition: opacity 0.3s linear;
			}
		}
	}
	&.spa-room .box {
		grid-template-columns: 1fr auto;
		.right {
			grid-template-columns: 1fr;
			.item {
				aspect-ratio: 1.5/1;
			}
		}
	}
	.transparent-btn {
		border-color: var(--dark);
		margin-top: 8dvh;
		width: 134px;
		
	}
	&.spa-room {
		*:has(+ .transparent-btn) {
			margin-bottom: 20px;
		}
		.transparent-btn {
			margin-top: auto;
		}
	}
}
.aesthetics .top-promotions .box .left .item.active {
	&::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.4);
		pointer-events: none;
	}
	h3,
	p,
	li,
	.transparent-btn {
		position: relative;
		z-index: 1;
	}
}
.vertical .top-promotions {
	&.spa-room .box,
	.box {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr auto;
		height: calc(100dvh - 140px);
		.right {
			grid-template-columns: repeat(3, 1fr);
			grid-template-rows: none;
			max-height: calc(100dvh - 190px);
			.item {
				aspect-ratio: 5/3;
			}
		}
	}
	&.spa-room .box .right .item {
		aspect-ratio: 1/1;
	}
}
.services {
	z-index: 1;
	.wrapper {
		height: calc(100dvh - 140px);
	}
	.slider {
		position: relative;
		display: grid;
		width: 100%;
		height: 100%;
		> img {
			position: absolute;
			width: 100%;
			height: 100%;
			object-fit: cover;
			pointer-events: none;
			z-index: -1;
		}
	}
	nav {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		&:has(a.active, a:hover) a {
			color: rgba(255, 255, 255, .4);
			&.active,
			&:hover {
				color: rgba(255, 255, 255, 1);
			}
		}
		a {
			position: relative;
			z-index: 1;
			color: var(--White);
			font-size: 21px;
			font-weight: 300;
			line-height: 133%;
			text-transform: uppercase;
			opacity: 1;
			align-self: center;
			transition: color .2s linear;
			padding: 10px 30px;
			&:hover + img,
			&.active + img {
				opacity: 1;
			}
			&.active {
				color: rgba(255, 255, 255, 1);
			}
		}
		img {
			position: absolute;
			left: 0;
			top: 0;
			height: 100%;
			width: 100%;
			object-fit: cover;
			transition: opacity .2s linear;
			pointer-events: none;
			opacity: 0;
			object-position: center 20%;
		}
	}
}
.recommendations {
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: start;
	background-color: var(--video-bg);
	.wrapper {
		min-height: 100%;
		display: flex;
		flex: 1 1 100%;
		flex-direction: column;
		justify-content: center;
	}
	.slider {
		margin: auto;
		aspect-ratio: 1;
		height: min(70.4dvh, 680px);
		position: relative;
		&::before {
			position: absolute;
			left: -100%;
			right: -100%;
			top: 0;
			bottom: 0;
			content: '';
		}
	}
	.slides {
		position: relative;
		gap: 20px;
		display: flex;
		align-items: center;
		transition: transform .4s linear;
		will-change: transform;
	}
	.slide {
		position: relative;
		min-width: 100%;
		flex-shrink: 0;
		aspect-ratio: 1;
		transform: translate3d(72%, 0, 0) scale(0.3);
		opacity: 0;
		transition: transform .4s linear, opacity .25s linear;
		will-change: transform, opacity;
		cursor: pointer;
		pointer-events: none;
		&.active {
			pointer-events: all;
			opacity: 1;
			transform: translate3d(0, 0, 0) scale(1);
			+ .slide {
				opacity: 1;
				transform: translate3d(-17%, 0, 0) scale(.6);
				+ .slide {
					opacity: 1;
					transform: translate3d(-72%, 0, 0) scale(0.3);
					~ .slide {
						opacity: 0;
						transform: translate3d(-72%, 0, 0) scale(0.3);
					}
				}
			}
		}
		&:has(+ .active) {
			opacity: 1;
			transform: translate3d(17%, 0, 0) scale(.6);
		}
		&:has(+ .slide + .active) {
			opacity: 1;
		}
		> img {
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
			pointer-events: none;
			&.play {
				width: 80px;
				height: auto;
				aspect-ratio: 1;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%);
			}
		}
		.preloader {
			display: none;
			position: absolute;
			align-items: center;
			justify-content: center;
			inset: -1px;
			aspect-ratio: 1;
			background: #fff;
			pointer-events: none;
			img {
				width: 20%;
			}
		}
		&.disabled {
			pointer-events: none;
			.preloader {
				display: flex;
			}
		}
		&.play img {
			opacity: 0;
		}
		.video {
			width: 100%;
			height: 100%;
		}
		iframe {
			width: 100%;
			height: 100%;
			pointer-events: none;
		}
	}
}
.instagram-box {
	display: grid;
	grid-template-rows: auto 1fr;
	z-index: 1;
	padding: 80px 0 60px;
	background: var(--White);
	.transparent-btn {
		border-color: var(--dark);
		color: var(--dark);
		align-self: end;
		font-size: 13px;
		padding: 10px 27px;
		margin-bottom: 30px;
	}
	.slider {
		position: relative;
		width: calc(100% - 120px);
		display: flex;
		flex-direction: column;
		gap: 56px;
		height: 100%;
		max-width: 1800px;
		overflow-x: hidden;
		margin: 0 auto;
	}
	.slides {
		display: flex;
		gap: 20px;
		flex: 1 1 100%;
	}
	.slide {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		aspect-ratio: 1/1;
		flex-shrink: 0;
		height: 100%;
		padding: 20px;
		border-radius: 4px;
		overflow: hidden;
		will-change: transform;
		transition: transform .4s linear;
		&::after {
			content: '';
			position: absolute;
			inset: 0;
			opacity: 0;
			visibility: hidden;
			background: rgba(0, 0, 0, 0.7);
			transition: opacity 0.2s linear;
		}
		> img {
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		p {
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
			max-width: calc(100% - 60px);
			max-height: calc(100% - 60px);
			display: flex;
			gap: 10px;
			justify-content: center;
			align-items: center;
			flex-wrap: wrap;
			z-index: 1;
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.2s linear, visibility 0.2s linear;
			img {
				display: inline-block;
				height: 32px;
				width: initial;
			}
			span {
				font-family: Lato;
				font-size: 20px;
				line-height: 1.6;
			}
		}
	}
	.bubbles {
		display: none;
	}
	.controls {
		display: grid;
		grid-template-columns: repeat(2, 60px);
		gap: 40px;
		align-self: center;
		:is(.arrow-l, .arrow-r) {
			width: 100%;
			aspect-ratio: 1/1;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 30px;
			border: 1px solid var(--dark);
			background-color: transparent;
			transition: border-color 0.2s linear;
			&.disable {
				opacity: 0.16;
				pointer-events: none;
				cursor: not-allowed;
			}
			&::before {
				content: '\e90f';
				font-family: icon;
				line-height: 1;
				font-size: 24px;
				color: var(--text-color);
				transition: color 0.2s linear;
			}
		}
		.arrow-r {
			transform: scaleX(-1);
		}
	}
}
.seo-section {
	z-index: 1;
	padding: 40px 20px;
	.wrapper {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding-top: 100px;
		.text {
			overflow: auto;
			max-height: calc(100dvh - 160px);
		}
		ul {
			margin-left: 20px;
			display: flex;
			flex-direction: column;
			gap: 5px;
		}
		p,
		li {
			color: var(--text-color);
			font-size: 16px;
			line-height: 133%;
		}
		h2 {
			font-size: 18px;
			font-weight: 400;
			line-height: 133%;
			margin: 5px 0;
		}
		h3 {
			font-size: 18px;
		}
	}
}
@keyframes hide {
	0% {
		opacity: 1;
		visibility: visible;
	}
	10% {
		opacity: 0;
		visibility: hidden;
	}
}
@keyframes visible {
	0% {
		opacity: 0;
		visibility: hidden;
	}
	75% {
		opacity: 0;
		visibility: hidden;
	}
	100% {
		opacity: 1;
		visibility: visible;
	}
}
@media screen and (max-width: 1500px) {
	.title {
		margin-left: -60px;
		margin-bottom: 40px;
		font-size: 20px;
	}
	.promo .wrapper {
		a {
			bottom: 25dvh;
		}
		.text {
			font-size: 16px;
		}
	}
	:is(.promotions, .top-promotions, .services, .recommendations, .instagram-box) {
		padding: 80px 0 40px 0;
	}
	.accordion .item,
	.services .slides > div,
	.top-promotions .box {
		height: calc(100dvh - 190px);
	}
	.accordion .item .content {
		h3 {
			font-size: 25px;
		}
		:is(div, p, li) {
			font-size: 18px;
		}
		:is(div, p, ul, h3) {
			flex-shrink: 0
		}
		:where(div, p, li, h3) {
			min-width: 500px;
		}
	}
	.vertical .accordion .item .content h4 {
		bottom: 50%;
		left: 30px;
		transform: translateY(50%);
	}
	.promotions {
		display: flex;
		flex-direction: column;
		.wrapper {
			min-height: 100%;
			flex: 1 1 100%;
		}
	}
	.top-promotions .box {
		grid-template-columns: 1fr 1fr;
		.left .item {
			ul.links {
				gap: 10px 20px;
			}
			.text {
				padding: 40px;
			}
		}
	}
	.instagram-box .slider {
		gap: 30px;
		.slide p span {
			font-size: 18px;
		}
	}
	.seo-section {
		.wrapper {
			gap: 5px;
			padding-top: 50px;
			ul {
				gap: 3px;
			}
			p,
			li {
				font-size: 14px;
			}
			h2 {
				font-size: 18px;
			}
			h3 {
				font-size: 16px;
			}
		}
	}
}
@media screen and (max-width: 1279px) {
	header {
		padding-top: 25px;
	}
	header.hide {
		padding-top: 61.5px;
	}
	header .wrapper {
		height: 105px;
	}
	header .wrapper > .logo {
		width: 220px;
		min-height: 105px;
		font-size: 15px;
	}
	header .wrapper > .logo span {
		font-size: 9px;
	}
	.promo .wrapper {
		a {
			font-weight: 300;
		}
		.text {
			width: calc(100% - 20px);
			text-align: center;
		}
	}
	.title {
		max-width: 440px;
		font-size: 24px;
		margin-left: -30px;
		margin-bottom: 40px;
	}
	:is(.promotions, .top-promotions, .services, .recommendations) {
		padding: 66px 0 30px 0;
	}
	.accordion .item {
		height: calc(100dvh - 160px);
		&.active .content {
			:is(div, p, li),
			h3 {
				opacity: 1;
				visibility: visible;
			}
		}
		.content {
			h3 {
				font-size: 26px;
				margin-bottom: 10px;
				opacity: 0;
				visibility: hidden;
			}
			:where(div, p, li, h3) {
				min-width: initial;
			}
			:is(div, p, li) {
				opacity: 0;
				visibility: hidden;
				font-size: 16px;
				width: initial;
			}
		}
	}
	.services {
		.wrapper {
			padding-left: 0;
			padding-right: 0;
			height: calc(100dvh - 100px);
		}
		nav {
			flex-direction: column;
			a {
				padding: 15px;
			}
		}
		.slider > img {
			display: none;
		}
	}
	.recommendations .slider {
		height: 70vmin;
	}
	.instagram-box {
		grid-template-rows: auto 1fr auto;
		.wrapper {
			display: contents;
			a {
				justify-self: center;
				font-size: 15px;
				padding: 13px 25px;
				margin: 43px 0 0;
			}
		}
		.slider {
			width: 100%;
			grid-row: 2/3;
			padding-left: 30px;
			padding-right: 30px;
		}
		.controls {
			grid-template-columns: 1fr 40px 40px;
			width: calc(100vw - 60px);
			margin: 0 auto;
			align-items: center;
			gap: 10px;
			&::before {
				content: '';
				height: 1px;
				background: rgba(45, 47, 46, 0.73);
				margin-right: 10px;
			}
			:is(.arrow-l, .arrow-r)::before {
				font-size: 16px;
			}
		}
	}
	.top-promotions .box .left .item ul.links li {
		font-size: 12px;
	}
	.seo-section {
		.wrapper {
			gap: 5px;
			padding-top: 90px;
			ul {
				gap: 3px;
			}
			p,
			li {
				font-size: 12px;
				line-height: 16px;
			}
			h2 {
				font-size: 16px;
			}
			h3 {
				font-size: 14px;
			}
		}
	}
}
@media (hover: none) and (pointer: coarse) {
	.instagram-box {
		.slides {
			flex: initial;
			height: 100%;
			padding: 0 30px;
		}
		.slide {
			gap: 45px;
			max-width: calc(100vw - 80px);
			padding: 0;
			border-radius: 0;
			img {
				grid-row: 1/2;
				border-radius: 4px;
			}
			p {
				transform: none;
				position: static;
				margin-top: auto;
				margin-bottom: 10px;
				visibility: visible;
				opacity: 1;
				span {
					color: var(--White);
					font-size: 20px;
					text-shadow: 1px 1px 10px var(--text-color);
				}
			}
		}
	}
	.top-promotions .box .right {
		h4 {
			align-self: end;
			min-height: 40px;
			display: flex;
			align-items: center;
			justify-content: center;
			opacity: 1;
			background-color: rgba(255, 255, 255, 0.8);
			color: var(--text-color);
			border-radius: 3px;
			text-align: center;
			font-family: Helvetica;
			font-size: 14px;
			font-weight: 400;
			line-height: normal;
		}
		.item.active h4 {
			align-self: center;
			background-color: transparent;
			color: var(--hover);
			font-size: 16px;
			font-weight: 700;
		}
	}
}
@media screen and (max-width: 767px) {
	.vertical header {
		padding-top: 24px;
	}
	header .wrapper {
		height: 59px;
	}
	header .logo2 {
		width: 130px;
	}
	header.hide {
		padding-top: 37.5px;
	}
	.vertical header {
		&.last .wrapper > .logo {
			background: url(../images/logo2.svg) 0 0 / 100% 100%;
		}
		.wrapper > .logo {
			width: 112px;
			min-height: 58px;
			font-size: 9px;
			border: none;
			background: url(../images/logo.svg) 0 0 / 100% 100%;
			&::before {
				display: none;
			}
		}
	}
	header .wrapper > .logo {
		font-size: 35px;
	}
	header .wrapper .logo span {
		font-size: 6px;
	}
	.promo .wrapper .text {
		bottom: 12dvh;
		br {
			display: inline-block;
		}
	}
	.title {
		grid-template-columns: 30px auto 1fr;
		font-size: 20px;
		width: calc(100% - 60px);
		margin-left: -10px;
		gap: 5px;
		&::before,
		&::after {
			width: 60%;
		}
	}
	:is(.promotions, .top-promotions, .services, .recommendations, .instagram-box) {
		padding: 38px 0 10px 0;
	}
	.accordion .item {
		position: relative;
		height: calc(100dvh - 124px);
		&.active .content {
			position: static;
			overflow: auto;
			padding: 20px;
			:is(div, p, li, a) {
				font-size: 12px;
			}
		}
		.content {
			padding: 20px;
		}
	}
	.vertical .accordion {
		max-height: calc(100dvh - 140px);
		.item {
			height: 40px;
		}
	}
	.accordion,
	.vertical .accordion {
		gap: 10px;
	}
	.accordion .item .content h4,
	.vertical .accordion .item .content h4 {
		font-size: 15px;
	}
	.services .wrapper {
		height: calc(100dvh - 50px);
	}
	.top-promotions {
		.box {
			height: calc(100dvh - 115px);
			grid-template-columns: 0.6fr 0.4fr;
			.left {
				.item,
				.item .text > :is(p, div),
				.item .text > *:not(h3, a) {
					font-size: 13px;
				}
				.transparent-btn {
					/* position: absolute;
					bottom: 5px; */
				}
				.item {
					h3 {
						font-size: 26px;
						margin-bottom: 10px;
					}
					ul.links {
						margin-bottom: 30px;
						gap: 5px 10px;
						justify-content: center;
					}
					p {
						font-size: 12px;
					}
					.text {
						padding: 30px 20px;
					}
					ul:not(.links) li {
						font-size: 13px;
					}
				}
			}
			.right {
				grid-template-columns: repeat(2, 1fr);
				grid-template-rows: repeat(3, 1fr);
				min-height: 100%;
				h4 {
					font-size: 10px;
					padding: 10px 5px;
				}
				.item.active h4 {
					font-size: 12px;
				}
			}
		}
	}
	.aesthetics .top-promotions .box .left .item h3 {
		margin-bottom: 30px;
	}
	.vertical .top-promotions .box .right {
		width: 100%;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: none;
		max-height: calc(100dvh - 190px);
	}
	.vertical .top-promotions:not(.spa-room) .box .right {
		height: 30dvh;
	}
	.instagram-box {
		.wrapper a {
			margin-top: 20px;
			font-size: 12px;
		}
		.slides {
			gap: 10px;
		}
		.slide {
			gap: 20px;
			max-width: calc(100vw - 48px);
			p {
				span {
					font-size: 12px;
				}
				img {
					height: 20px;
				}
			}
		}
	}
	.vertical .instagram-box {
		padding-bottom: 20px;
		.slider {
			padding: 0 24px;
		}
		.slides {
			padding: 0;
		}
	}
	.vertical .recommendations .slider {
		height: 92vmin;
	}
	.recommendations .controls {
		display: grid;
		grid-template-columns: repeat(2, 40px);
		gap: 20px;
		justify-content: end;
		align-self: center;
		margin-top: 20px;
		position: relative;
		z-index: 3;
		margin-left: auto;
		:is(.arrow-l, .arrow-r) {
			width: 100%;
			aspect-ratio: 1/1;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 30px;
			border: 1px solid var(--dark);
			background-color: transparent;
			transition: border-color 0.2s linear;
			&.disable {
				opacity: 0.16;
				pointer-events: none;
				cursor: not-allowed;
			}
			&::before {
				content: '\e90f';
				font-family: icon;
				line-height: 1;
				font-size: 16px;
				color: var(--text-color);
				transition: color 0.2s linear;
			}
		}
		.arrow-r {
			transform: scaleX(-1);
		}
	}
}
@media screen and (max-width: 1024px) and (max-height:431px) {
	main .transparent-btn {
		padding: 10px 20px;
	}
	.wrapper {
		padding-left: 15px;
		padding-right: 15px;
	}
	header.hide,
	header {
		padding-top: 15px;
	}
	header .logo2 {
		width: 150px;
	}
	header .wrapper {
		height: initial;
	}
	header .wrapper > .logo {
		width: initial;
		min-height: initial;
		border: none;
		white-space: nowrap;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	header .wrapper > .logo span,
	header .wrapper > .logo::before,
	header .wrapper > .logo::after {
		display: none;
	}
	.title {
		margin-bottom: 12px;
	}
	
	:is(.promotions, .top-promotions, .services, .recommendations, .instagram-box) {
		padding: 14px 0 10px;
	}
	.promo .wrapper .text {
		bottom: 4dvh;
		font-size: 14px;
	}
	.accordion {
		gap: 10px;
		.item {
			width: 64px;
			.content {
				padding: 10px 15px;
				h3 {
					font-size: 22px;
					margin-bottom: 8px;
				}
				h4 {
					bottom: 20px;
					font-size: 14px;
					left: calc(50% + 10px);
				}
				:is(div, p, ul) {
					margin-bottom: 5px;
				}
				:is(div, p, li) {
					font-size: 12px;
				}
			}
		}
	}
	.accordion.spa-room .item {
		aspect-ratio: none;
	}
	.accordion .item,
	.top-promotions .box {
		height: calc(100dvh - 66px);
	}
	.top-promotions.spa-room .box .right {
		max-height: calc(100dvh - 66px);
		.item {
			aspect-ratio: 2.5 / 1;
		}
	}
	.top-promotions {
		.box {
			gap: 10px;
			grid-template-columns: 0.6fr 0.4fr;
			.left .item {
				padding: 20px 15px;
				ul.links {
					margin-bottom: 6dvh;
				}
				h3 {
					font-size: 6dvh;
				}
				p {
					margin-bottom: 10px;
					font-size: 12px;
				}
			}
			.right {
				max-height: initial;
				gap: 5px;
				h4 {
					padding: 0 5px;
					font-size: 10px;
					min-height: 30px;
				}
			}
		}
		.transparent-btn {
			margin-top: auto;
		}
	}
	.services {
		.wrapper {
			height: calc(100dvh - 40px);
		}
		nav {
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: center;
			padding: 0 20px;
			a {
				font-size: 18px;
			}
		}
	}
	.recommendations {
		.wrapper {
			height: 100%;
		}
		.slider {
			height: 68vmin;
			.slide {
				width: 100%;
			}
		}
	}
	.instagram-box {
		.wrapper a {
			margin-top: 10px;
			padding: 5px 15px;
			font-size: 12px;
		}
		.slider {
			padding: 0;
		}
		.slides {
			gap: 10px;
			padding: 0 20px;
		}
		.slide {
			gap: 10px;
			aspect-ratio: 4/5;
			p {
				gap: 5px;
				span {
					font-size: 12px;
				}
				img {
					height: 20px;
				}
			}
		}
		.controls {
			display: none;
		}
	}
}
@media screen and (hover: hover) {
	.top-promotions .box .right .item:hover::after,
	.top-promotions .box .right .item:hover h4 {
		opacity: 1;
	}
	.instagram-box .slide:hover::after,
	.instagram-box .slide:hover p {
		opacity: 1;
		visibility: visible;
	}
	.instagram-box .controls :is(.arrow-l, .arrow-r):not(&:disabled):hover {
		border-color: var(--hover);
	}
	.instagram-box .transparent-btn:hover,
	.instagram-box .controls :is(.arrow-l, .arrow-r):not(&:disabled):hover::before {
		color: var(--hover);
	}
	.accordion .item:not(.active):hover .content {
		background-color: #f2f2f2;
	}
	.promo .wrapper a:hover {
		background-color: rgba(255, 203, 194, 0.7);
	}
}