@import url('fonts.css');
@import url('fontawesome.min.css');

:root {
	--foodmenu-count-items: 3;
	--bg-color: #122223;
	--bg-ovelayer: rgba(18, 34, 35, 0.43);
	--linear-gradinet: linear-gradient(180deg, rgba(0, 0, 0, .4) 13.11%, transparent 39.69%), linear-gradient(0deg, rgba(0, 0, 0, .4), rgba(0, 0, 0, .4));
	--text-color: #e0e0e0;
	--section-bg: #ffd9b6;
	--theme-color: #353535;
	--montserrat: 'Montserrat';
	--playfair : 'Playfair';
	--datepick-width: '600px';
	--calendar-color: #414141;
	--scrollbar-width: thin;
}

html,
body,
blockquote,
pre {
	margin: 0px;
	padding: 0px;
}

body {
	display: block;
	opacity: 0;
	-webkit-animation: fadeInFromNone 1.1s ease-out forwards;
	-moz-animation: fadeInFromNone 1.1s ease-out forwards;
	-o-animation: fadeInFromNone 1.1s ease-out forwards;
	animation: fadeInFromNone 1.1s ease-out forwards;
}

@keyframes fadeInFromNone {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

img {
	max-width: 100%;
}

body::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px grey;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
}

.w100 {
	width: 100%;
}

.hidden {
	visibility: hidden;
	opacity: 0;
}

.disabled {
	cursor: default;
	pointer-events: none;
	opacity: 0.3;
}

.visible {
	visibility: visible;
	opacity: 1;
}

.flex {
	display: flex;
}

.flex-wrap{
	flex-wrap: wrap;
}

.gap-1{
	gap: 1em;
}

.fixed {
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
}

.w50 {
	width: 50%;
}

.relative {
	position: relative;
}

.overflow-hidden {
	overflow: hidden;
}

.capitalize {
	text-transform: capitalize;
}

.align-items-center {
	align-items: center;
}

.justify-contetnt-center {
	justify-content: center;
}

.gap-5 {
	gap: 5px;
}

.gap-10 {
	gap: 10px;
}

.gap-20 {
	gap: 20px;
}

.gap-30 {
	gap: 30px;
}

.gap-40 {
	gap: 40px;
}

.p-1 {
	padding: 1em;
}

.p-2 {
	padding: 2em;
}

.pt-1 {
	padding-top: 1em;
}

.pt-2 {
	padding-top: 2em;
}

ul.sunbeds-list {
	scrollbar-color: var(--section-bg) var(--theme-color);
	scrollbar-width: var(--scrollbar-width);
}

::-webkit-scrollbar,
ul.sunbeds-list::-webkit-scrollbar {
	width: 8px;
	border-radius: 4px;
	background-color: var(--theme-color);
}

/* Handle */
::-webkit-scrollbar-thumb {
	background: grey;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: grey;
}

body.no-scroll {
	overflow: hidden;
}

html:not(.no-scroll) {
	scrollbar-width: var(--scrollbar-width);
}

ul,
ol {
	padding: 0;
	margin: 0;
	list-style: none;
}

* {
	outline: none;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

a {
	text-decoration: none;
	display: inline-block;
	color: currentColor;
	transition: 200ms;
}

body {
	width: 100%;
	display: flex;
	flex-direction: column;
	font-family: var(--montserrat);
	font-weight: 400;
	color: var(--text-color);
	background-color: var(--bg-color);
	font-size: 16px;
	min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	margin: 0;
	font-family: var(--playfair) !important;
	font-weight: normal !important;
}

img {
	max-width: 100%;
	margin: 0;
	display: inline-block;
	border: none;
}

.imgLoader {
	position: relative;
	background: url('../images/image-loader.gif') center / 50px no-repeat;
	background-size: 50px !important;
}

.block-main {
	min-height: calc(100vh - 125px);
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="submit"],
textarea {
	font-family: inherit;
}

input[type="checkbox"],
input[type="radio"] {
	display: none;
}

input:disabled {
	opacity: 0.5;
	user-select: none;
}

.h3 {
	line-height: 1.1;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 2vw;
	margin-bottom: 2.7vw;
}

.h6 {
	font-size: .7vw;
	line-height: 1.2;
	letter-spacing: .3em;
	opacity: 0.5;
	text-transform: uppercase;
}

.h4 {
	font-size: 2vw;
	font-weight: 300;
	line-height: 1.9;
}

.theme-text-color,
.message {
	color: var(--ligth-orange);
}

.message {
	min-height: 150px;
	font-size: 1.3em;
	text-align: center;
}

.space-b,
.align-c,
.space-c,
.align-j {
	display: flex;
}

.space-c {
	justify-content: center;
}

.space-b {
	width: 100%;
	justify-content: space-between;
}

.f-wrap {
	flex-wrap: wrap;
}

.align-c {
	align-items: center;
}

.align-j {
	align-items: justify;
}

.align-b {
	align-items: baseline;
}

.self-c {
	align-self: center;
}

.align-end {
	align-items: flex-end;
}

.align-start {
	align-items: flex-start;
}

.f-center {
	display: flex;
	justify-content: center;
	padding-top: 50px;
}

.direction-col {
	flex-direction: column;
}

.h100 {
	height: inherit;
}

.uper-c {
	text-transform: uppercase;
}

.wrapper {
	width: 100%;
	padding: 0 70px;
	margin: 0 auto;
}

.menu-preview img:not([src="*"]) {
	width: 580px;
	height: 380px;
	background-color: #3535359f;
	object-fit: cover;
}

header {
	z-index: 9;
	width: 100%;
	height: 105px;
	transition: all .3s ease-in-out;
}

header.scroll-up {
	opacity: 0;
	transform: translate3d(0, -100%, 0);
	-webkit-transform: translate3d(0, -100%, 0);
	-moz-transform: translate3d(0, -100%, 0);
	-ms-transform: translate3d(0, -100%, 0);
	-o-transform: translate3d(0, -100%, 0);
}

header.scroll-down {
	opacity: 1;
	transform: none;
}

header.bg {
	background-color: #122223eb;
}

.site-logo {
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	display: block;
	width: 80px;
}

footer {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.block-footer {
	padding: 40px 70px;
	margin-bottom: 90px;
}

.block-footer li {
	margin-bottom: 10px !important;
}

.block-footer>ul {
	max-width: 1450px;
	margin: auto;
}

.footer-column {
	width: 100%;
	max-width: 350px;
	margin-bottom: 20px;
}

.footer-logo {
	margin-right: 1rem;
}

.company {
	font-size: 10px;
}

.header-elems {
	padding: 0 70px;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: .2em;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.toggle-menu {
	cursor: pointer;
	position: relative;
}

.toggle-menu-ico {
	margin-right: 50px;
	width: 20px;
	height: 20px;
}

.toggle-menu-ico span {
	display: inline-block;
	height: 1px;
	background-color: var(--text-color);
	position: absolute;
	left: 0;
	transition: ease-out 0.2s;
	-webkit-transition: ease-out 0.2s;
	-moz-transition: ease-out 0.2s;
	-ms-transition: ease-out 0.2s;
	-o-transition: ease-out 0.2s;
}

.toggle-menu-ico span:first-child {
	width: 17px;
	top: calc(50% - 3px);
}

.toggle-menu-ico span:last-child {
	width: 10px;
	top: calc(50% + 3px);
}

.toggle-menu:not(.active):hover .toggle-menu-ico span:first-child {
	width: 10px;
}

.toggle-menu:not(.active):hover .toggle-menu-ico span:last-child {
	width: 17px;
}

.toggle-menu.active .toggle-menu-ico span:first-child {
	transform: rotate(45deg);
}

.toggle-menu.active .toggle-menu-ico span:last-child {
	transform: rotate(-45deg);
}

.toggle-menu.active .toggle-menu-ico span {
	top: 50%;
	transform: translate(-50%);
	width: 17px;
}

.languages-list {
	white-space: nowrap;
}

.languages-list li {
	margin-right: 5px;
}

.languages-list li a:hover {
	opacity: 1 !important;
}

.languages-list li:not(:last-child)::after,
.languages-list li a:not(.active) {
	content: "/";
	opacity: .4;
}

.main-slider {
	max-height: 100vh;
	overflow: hidden;
	margin-bottom: 90px;
}

.main-slider-bg {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100vh;
	min-height: 700px;
	display: block;
}

.main-slider::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 27.77778vw;
	z-index: 2;
	background: linear-gradient(0deg, var(--bg-color), transparent);
}

.main-slider-title {
	font-size: 5.2vw;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	opacity: 0.8;
	font-family: var(--playfair);
	width: 100%;
	text-align: center;
	font-weight: 100;
	text-transform: uppercase;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
}


#load-content-menu {
	font-family: var(--montserrat);
}

.content-menu-image {
	transition: all 500ms ease-in-out;
}

.block-container {
	padding: 60px 70px;
}

.content-page {
	min-height: 450px;
	padding-top: 105px;
	padding-left: 15px;
	padding-right: 15px;
}

.content-page.page {
	padding: 7vw;
	margin-top: 105px;
	font-size: 1.2vw;
	font-family: var(--montserrat);
	font-weight: 300;
	opacity: 0.8;
}

#page-book .content-page {
	margin-top: 180px;
}

#page-book .slide-btn {
	max-width: 450px;
}

.image-text {
	font-family: var(--playfair);
	font-size: 3.7vw;
	text-transform: uppercase;
	font-weight: normal;
	background-position: top center;
	background-repeat: no-repeat;
	transform: translate(0px);
	opacity: 1;
	background-image: url("../images/textPictureBg.jpg");
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(0, 0, 0, .0001);
	display: inline-block;
	display: -webkit-box;
	max-width: 70%;
}

.short-text.about {
	width: 70%;
	font-family: var(--montserrat);
}

.social {
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: 30px;
	background-position: center;
	background-repeat: no-repeat;
	margin: 0 5px;
}

.social.fb {
	background-image: url('../images/social/facebook.svg');
}

.social.inst {
	background-image: url('../images/social/instagram.svg');
}

.veritcal-swipe-menu {
	position: fixed;
	z-index: -1;
	padding-top: 105px;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	overflow-y: scroll;
	visibility: hidden;
	display: flex;
	background-color: #122223;
	transform: translateY(-100%);
	transition: all .4s ease-in-out;
	-webkit-transition: all .4s ease-in-out;
	-moz-transition: all .4s ease-in-out;
	-ms-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
}

.veritcal-swipe-menu.active {
	transform: none;
	visibility: visible;
	overflow: hidden;
}

.line {
	position: absolute;
}

.veritcal-swipe-menu .line {
	top: 70px;
	z-index: -1;
}

.menu-links:first-child {
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.menu-links,
#check-in-preview .column.cover {
	overflow: scroll;
	scrollbar-width: var(--scrollbar-width);
}

.menu-links::-webkit-scrollbar,
#check-in-preview .column.cover::-webkit-scrollbar {
	width: 0px;
}

.column {
	padding: 30px 60px;
}

.content {
	padding-bottom: 90px;
}

.veritcal-swipe-menu .column {
	padding-top: 130px;
	height: calc(100vh - 105px);
	overflow: auto;
}

.list-menu,
#content-menu {
	margin-bottom: 130px;
}

.list-menu a.nav-lvl1 {
	line-height: 1.1;
	text-transform: uppercase;
	font-family: var(--montserrat);
	font-size: 2.77vw;
	opacity: 0.2;
	transition: all 250ms ease-in-out;
	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
}

.list-menu a.nav-lvl1.active {
	opacity: 1;
}

.list-menu>li>span {
	display: flex;
}

.list-menu>li:not(:last-child) {
	margin-bottom: 3.88889vw;
}

.list-menu a.nav-lvl1::after {
	content: '/';
}

.toggle-list {
	display: inline-block;
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	cursor: pointer;
	border: 1px solid var(--text-color);
	opacity: 0.5;
	margin-left: 15px;
	vertical-align: bottom;
	display: none;
}

.toggle-list::before,
.toggle-list::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70%;
	height: 1px;
	background-color: var(--text-color);
}

.toggle-list::after {
	transform: translateX(-50%) rotate(90deg);
}

.toggle-list.open::after {
	width: 0%;
}

.list-menu-lvl2 {
	margin-top: 30px;
}

.list-menu-lvl2>li {
	margin-bottom: 20px;
}

.list-menu-lvl2>li a {
	font-size: 18px;
}

.bg-overlayer:after,
.linear-gradient::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.bg-overlayer:after {
	background-color: var(--bg-ovelayer);
}

#popUp {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--bg-color);
	z-index: 10;
	padding: 50px 15px;
}

.linear-gradient:after {
	background-image: var(--linear-gradinet);
}

/* SECTIONS */

section {
	padding: 120px 0;
}

section>div {
	flex-wrap: nowrap;
}

.section-title {
	text-align: center;
}

.events .section-title {
	margin: 50px 0;
}

.section-title h2,
.page-image h1 {
	display: inline-block;
	font-size: 3.9vw;
	line-height: 1.1;
	text-transform: uppercase;
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-family: var(--playfair);
	bottom: -36px;
	z-index: 2;
	opacity: 0.9;
	font-weight: 300;
}

.section-title h2 {
	position: relative;
}

.wide-text .section-title h2:after {
	content: '';
	position: absolute;
	width: 0%;
	height: 1px;
	bottom: 12px;
	left: 0;
	background-color: var(--theme-color);
	transition: all 0.3s ease-in-out;
	opacity: 0.6;
}

.section-title h2:hover:after {
	width: 100%;
}

.page-image h1 {
	bottom: unset;
	margin: 0 !important;
}

.events .section-title h2 {
	font-family: var(--playfair);
	bottom: 0;
}

.bezier-curve::after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-position: top center;
	background-image: url('../images/bezier-curve.svg');
	background-size: cover;
}

section.wide-text .section-title {
	max-width: 35%;
	margin: 0 60px;
	/* white-space: nowrap; */
}

section.wide-text .section-title h2 {
	color: var(--theme-color);
	text-align: left;
	width: 100%;
}

section.wide .section-image img {
	width: 100%;
	max-width: 65%;
}

section.wide-text .section-image,
section.links .section-image {
	width: 31.11vw;
	height: 23.47vw;
	display: block;
	overflow: hidden;
	position: relative;
	transition: 0.3s ease-in-out;
}

section.wide-text .section-image img,
section.links .section-image img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: all 1s ease-in-out;
}

section.wide-text .section-image:hover img,
section.links .section-image:hover img {
	transform: scale(1.05);
}

section.wide .section-text {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 15.54vw;
	width: 30.06vw;
	padding: 30px;
	background-color: var(--section-bg);
	color: var(--theme-color);
	overflow: hidden;
}

.section-text h3 {
	line-height: 1.1;
	text-transform: uppercase;
	font-size: 2.77778vw;
}

.section-text .slide-btn {
	min-width: 35%;
	min-width: 160px;
}

.section-short-text {
	font-size: 1vw;
	line-height: 1.2;
	opacity: 0.6;
	margin: 15px 0 30px;
}

section.wide-text .section-short-text {
	color: var(--theme-color);
	font-weight: 300;
	font-size: 1.04167vw;
	line-height: 1.7;
	letter-spacing: .02em;
	text-transform: unset;
	padding: 0 60px;
}

section.wide-text .section-text {
	width: 40%;
}

section.wide-text,
section.links {
	padding: 0;
	background-color: var(--section-bg);
}

section.wide-text:first-of-type {
	padding-top: 105px;
}

section.wide-text:last-of-type {
	padding-bottom: 105px;
}

section.links {
	padding: 120px 0;
	position: relative;
}

section.wide-text:nth-of-type(even)>div {
	display: flex;
	flex-direction: row-reverse;
}

.category-list-images {
	width: 31.11vw;
	height: 23.47vw;
	margin-right: 18.19vw;
	overflow: hidden !important;
	display: inline-block;
	position: relative;
}

.category-images {
	height: 100%;
}

.category-images img {
	width: 33vw;
	height: 90vh;
	object-fit: cover;
}

.category-images.dnone {
	opacity: 0;
}

.category-images.active {
	animation: fade 500ms ease-in-out;
}

@keyframes fade {
	from {
		opacity: 0;
		transform: scale(1.2);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.section-list-categories li {
	margin-bottom: 2.7vw;
}

.section-list-categories li a {
	line-height: 1.1;
	text-transform: uppercase;
	font-family: var(--montserrat);
	font-size: 2.77vw;
	color: var(--theme-color);
	opacity: 0.3;
	transition: 500ms ease-out;
}

.section-list-categories li a::after,
.more-information::after,
.icon.right:after {
	content: '';
	display: inline-block;
	background-image: url('../images/arrow-right-black.svg');
	background-repeat: no-repeat;
	background-position: center;
	width: 37px;
	height: 53px;
	vertical-align: -7px;
	margin-left: 5px;
	opacity: 0;
	transition: 500ms ease-out;
}

.more-information::after {
	vertical-align: -18px;
}

.more-information:hover::after {
	opacity: 1;
	transform: translateX(23px);
}

.section-list-categories li a.active {
	opacity: 1;
}

.section-list-categories li a.active::after {
	opacity: 1;
	transform: translateX(23px);
}

.visible {
	transition: all 500ms ease-out;
}

.dnone {
	display: none;
}

.btn {
	display: inline-block;
	text-transform: uppercase;
	padding: 0 15px;
	border: none;
	line-height: 30px;
	background-color: var(--bg-color);
	color: var(--text-color);
	text-align: center;
	white-space: nowrap;
	font-weight: 300;
}

.big-btn {
	cursor: pointer;
	display: inline-block;
	text-transform: uppercase;
	padding: 0 35px;
	border: none;
	border-radius: 25px;
	line-height: 50px;
	font-size: 1vw;
	background-color: var(--section-bg);
	border: 1px solid var(--section-bg);
	color: var(--theme-color);
	text-align: center;
	white-space: nowrap;
	transition: all 250ms ease-out;
	user-select: none;
}

.big-btn:hover:not(:disabled) {
	background-color: var(--bg-color);
	color: var(--section-bg);
	border-color: var(--section-bg);
}

.readonly,
.wait {
	opacity: 0.5;
	pointer-events: none;
}

.bnt-wrapper {
	width: 100%;
}

.events {
	margin-bottom: 60px;
}

.events-list {
	width: 100%;
	max-width: 1720px;
	margin: 0 auto;
	padding: 0 60px;
	margin-bottom: 90px;
	align-items: flex-start;
}

.events-elem {
	width: calc(33% - 30px);
	min-width: 250px;
	margin: 15px;
	align-items: flex-start;
	flex-direction: column;
}

.events-image {
	border-top: 1px solid var(--section-bg);
	outline: 1px solid var(--section-bg);
	outline-offset: -30px;
}

.events-image img {
	display: block;
}

.events-image::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background-color: rgba(18, 34, 35, 0.34);
	opacity: 1;
	transition: all 500ms ease-in-out;
}

.events-title {
	line-height: 1.1;
	text-transform: uppercase;
	font-family: var(--playfair);
	background-color: var(--section-bg);
	color: var(--theme-color);
	width: 100%;
	font-size: 2vw;
	padding: 10px;
}

.events-title h4 {
	font-weight: 300;
}

.events-elem:hover .events-image:after {
	opacity: 0;
}

.page-image {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	height: 100vh;
}

.preview-wrapper {
	min-height: 50vw;
	/* min-height: 30vw; */
	margin-top: 60px;
}

.preview-page-text {
	position: relative;
	font-size: 20px;
	font-family: var(--montserrat);
	font-weight: 300;
	max-width: 50vw;
	line-height: 1.9;
	left: 5vw;
	opacity: 0.8;
}

#page-events .preview-page-text {
	position: static;
}

.preview-page-text::first-letter {
	font-size: 72px;
	margin-left: -0.4vw;
	line-height: .89;
	text-transform: uppercase;
	margin-left: 0;
}

.preview-image {
	position: absolute;
	right: 12vw;
	top: 20vw;
	z-index: -1;
	width: 100%;
	max-width: 40vw;
}

.preview-image img {
	filter: grayscale(100%);
}

.preview-image::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background-color: #122223e8;
}

#book-room {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 3;
	padding: 0 10%;
	width: 100%;
	height: 70px;
	padding: 10px 20px;
	background-color: var(--bg-color);
	transition: all 150ms ease-in;
}

#book-room.slide-up {
	bottom: 0;
}

#book-room.slide-down {
	bottom: -100px;
}

#book-room::before {
	content: "";
	position: absolute;
	top: -30px;
	left: 0;
	right: 0;
	height: 30px;
	z-index: 2;
	background: linear-gradient(0deg, var(--bg-color), transparent);
}

#pay {
	margin-top: 120px;
}

#book-room .slide-btn {
	color: var(--theme-color);
	touch-action: none;
	flex: 1;
}

#book-room.waiting .lds-dual-ring {
	display: inline-block;
}

.room-elem {
	margin-bottom: 12vw;
	min-height: 34vw;
	color: var(--theme-color);
}

.room-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 52vw;
	height: 34vw;
	left: 15vw;
	position: absolute;
}

.list-rooms {
	margin-top: 80px;
	padding-bottom: 110px;
}

#page-events .list-rooms {
	padding-top: 6vw;
}

#page-events .room-image {
	height: auto;
	position: relative;
	width: 47vw;
}

#page-events .room-image a,
#page-events .room-image img {
	display: block;
}

#page-events .room-image img {
	transition: all 1.1s ease-out;
}

#page-events .room-elem:hover img {
	transform: scale(1.02);
}

#page-events .room-elem:nth-child(2n) .room-image {
	right: -40vw;
}

#page-events .room-elem:nth-child(2n) .room-card {
	transition: all 0.3s ease-in-out;
	left: 17vw;
}

#page-events .room-elem {
	margin-bottom: 6vw;
}

#page-events .room-card {
	min-height: 15vw;
	right: 18vw;
}

#page-events .more-information {
	margin-bottom: 0;
}

.room-card {
	position: absolute;
	right: 15vw;
	top: 40px;
	padding: 20px;
	width: 40vw;
	max-width: 500px;
	min-width: 270px;
	min-height: 340px;
	background-color: var(--section-bg);
	display: inline-block;
	padding-bottom: 70px;
}

.room-card .slide-btn {
	position: absolute;
	width: auto;
	left: 20px;
	right: 20px;
	bottom: 20px;
	margin: 0 auto;
}

.room-elem:nth-child(even) .room-image {
	right: 0;
	left: unset;
}

.room-elem:nth-child(even) .room-card {
	right: unset;
	left: 25vw;
}

.room-item {
	padding: 20px;
}

.room-counts,
.room-proprietes {
	font-size: .9vw;
	line-height: 1.7;
	opacity: .4;
}

.room-proprietes {
	margin-bottom: 3.33vw;
}

.room-counts {
	text-transform: uppercase;
}

.room-title {
	text-transform: uppercase;
	font-family: var(--playfair);
	font-weight: 300;
	font-size: 2.3vw;
	margin: 15px 0 40px;
	max-height: 175px;
	overflow: hidden;
}

.more-information {
	font-family: var(--montserrat);
	font-size: 1.25vw;
	line-height: 1.1;
	display: inline-block;
	text-decoration: none;
	margin-bottom: 4vw;
}

.card-price {
	align-items: center;
}

.foreign-currency {
	font-size: 16px;
	opacity: 0.5;
	cursor: pointer;
	color: var(--bg-color);
	font-weight: bold;
}

.foreign-currency:hover+.foreign-currency-info {
	visibility: visible;
}

.foreign-currency:after {
	content: 'i';
	color: var(--bg-color);
	text-align: center;
	line-height: 15px;
	display: inline-block !important;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	border: 1px solid currentColor;
	vertical-align: 2px;
	margin-left: 5px;
}

.foreign-currency-info {
	font-size: 16px;
	position: absolute;
	padding: 5px 10px;
	background-color: var(--bg-color);
	border-radius: 5px;
	text-transform: unset;
	text-align: center;
	color: var(--text-color);
	width: 100%;
	left: 50%;
	top: -30px;
	opacity: 0.9;
	visibility: hidden;
}

.row-price {
	font-family: var(--montserrat);
	font-size: 1.9vw;
	display: inline-block;
}

.row-period {
	display: inline-block;
	text-align: right;
	text-transform: uppercase;
	opacity: 0.4;
	flex: 1;
	letter-spacing: 0.1vw;
}

.second-price {
	font-size: 18px;
	color: var(--theme-color);
	opacity: 0.8;
	margin-left: 5px;
	font-weight: normal !important;
}

.slide-btn {
	font-size: 0.7vw;
	line-height: 1;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid var(--bg-color);
	background-color: var(--section-bg);
	color: var(--theme-color);
	cursor: pointer;
	width: 100%;
	padding: 1.3vw 4vw;
	transition: .5s ease;
	white-space: nowrap;
	position: relative;
	z-index: 1;
}

.slide-btn.btnw {
	max-width: 200px;
}

.slide-btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0;
	background-color: var(--bg-color);
	transition: all .7s ease-out;
	z-index: -1;
}

.map-flag {
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 70%;
	background-color: #1222239e;
	margin-left: 10px;
	border: 1px solid var(--section-bg);
	background-image: url('../images/maps-flag.svg');
}

.slide-btn:hover {
	color: #fff !important;
}

.slide-btn:hover::before {
	width: 100%;
}

#page-contacts .page-image {
	margin-bottom: 150px;
}

#page-contacts .section-title {
	padding: 0 13vw;
	text-align: left;
	width: 100%;
	max-width: 1200px;
	margin-bottom: 10vw;
}

#page-contacts .section-title h2 {
	bottom: unset;
	text-align: left;
}

.contacts-map {
	width: 100%;
	max-width: 1455px;
	margin: 0 auto;
	margin-bottom: 120px;
}

.contacts-map .column {
	width: 50%;
}

.contacts-map-image {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('../images/map-md.png');
	height: 40vw;
	width: 100%;
}

.contacts-map-info li {
	padding: 30px 0;

}

.contacts-map-info li:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.contacts-map-info li a {
	font-size: 1.94vw;
	line-height: normal;
	font-family: var(--montserrat);
	text-transform: uppercase;
}

.contacts-map-info li p {
	margin: 0;
	padding: 0;
	opacity: 0.4;
}

.coordinates {
	white-space: nowrap;
}

#content-menu {
	font-family: var(--montserrat);
}


#content-menu {
	font-size: 18px;
}

#content-menu h4 {
	font-size: 1.9vw;
	margin: 20px 0;
	font-weight: 300;
}

#content-menu .text {
	padding: 20px 0;
}

.menu-content {
	display: none;
	opacity: 0;
	position: absolute;
	padding-bottom: 50px;
	transition: all 1s ease-out;
}

.menu-content.show {
	display: block;
	-webkit-animation: fadeIn 1s forwards;
	animation: fadeIn 1s forwards;
}

@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}


.object-info {
	font-size: 20px;
	position: absolute;
	bottom: 6vw;
	flex-wrap: nowrap;
	z-index: 3;
	width: 100%;
	padding: 0 120px;
}

.object-info li {
	position: relative;
	margin-right: 25px;
}

.object-info li span {
	display: inline-block;
}

.object-info .prop {
	font-weight: 300;
	opacity: 0.8;
	margin-right: 10px;
}

.object-info .object-price {
	font-family: var(--montserrat);
	font-size: 30px;
	line-height: 30px;
}

.room-description-images {
	width: 100%;
	padding: 140px 0;
	min-height: 600px;
}

.room-description-text {
	position: absolute;
	width: 100%;
	max-width: 500px;
	right: 7vw;
	top: 56%;
	color: var(--text-color);
	padding: 20px;
}

.room-description-text .btn {
	margin-top: 60px;
	border: 1px solid var(--section-bg);
}

.image-b {
	width: 51.5vw;
	height: inherit;
}

.image-sm {
	position: absolute;
	right: 0;
	top: 190px;
	width: 22vw;
}

.action-check-in {
	margin-top: 20px;
	/* font-size: 1.25vw; */
	line-height: 1.1;
	display: inline-block;
	color: var(--text-color);
}

.lineSVG {
	position: absolute;
	width: 100%;
	top: 65%;
	left: 58.7%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.room-services {
	width: 100%;
	max-width: 100vw;
	margin: 0 auto;
	margin-bottom: 140px;
	flex-wrap: wrap;
}

.rooom-service {
	text-align: center;
	padding: 20px;
	color: var(--section-bg);
	max-width: 130px;
}

.rooom-service img {
	width: 90px;
	height: 90px;
}

.other-rooms-links {
	position: absolute;
	left: 2vw;
	z-index: 3;
	font-family: var(--montserrat);
	bottom: 0;
	transition: all 500ms ease-out;
}

.other-rooms-item:hover .other-rooms-links {
	bottom: 2vw;
}

.other-rooms-item:hover .discover-more {
	opacity: 1;
}

.other-rooms-title {
	font-size: 3vw;
}

.discover-more {
	font-size: 18px;
	font-weight: bold;
	opacity: 0;
	transition: all 700ms ease-out;
}

.other-rooms-item {
	width: calc(100% / 3);
	position: relative;
	overflow: hidden;
}

.other-rooms-item>a {
	display: block;
	height: 100%;
}

.other-rooms-item img {
	display: block;
	transform: scale(1.1);
	height: inherit;
	transition: all 0.1s ease-out;
}

.other-rooms-item:hover img {
	transform: none;
}

.discover-more {
	font-family: var(--montserrat);
	font-weight: 300;
}

#food__menu {
	padding: 0 7.7vw;
	position: relative;
	/* margin-bottom: 20vw; */
	color: var(--theme-color);
}

.food__menu-image {
	width: 65vw;
}

.food__menu-text {
	padding: 6vw;
	width: 40vw;
	background-color: var(--section-bg);
	position: absolute;
	right: 7.7vw;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
}

.food__menu-short_text {
	margin-bottom: 5vh;
}

.food__menu-list a {
	text-transform: uppercase;
	text-decoration: underline;
	margin-bottom: 10px;
}

.food__menu-list a:hover {
	text-decoration: none;
}

.pager-box {
	justify-content: center;
	margin-bottom: 80px;
}

.pager-box>li {
	margin-right: 10px;
}

.pager-box>li span,
.pager-box>li a {
	display: inline-block;
	padding: 0 7px;
	height: 30px;
	line-height: 25px;
	white-space: nowrap;
	border-radius: 15px;
	min-width: 30px;
	text-align: center;
	border: 1px solid var(--section-bg);
}

.pager-box>li span {
	background-color: var(--bg-color);
	color: var(--section-bg);
}

.pager-box>li a {
	background-color: var(--section-bg);
	color: var(--bg-color);
}

.page-cover {
	margin-bottom: 80px;
}

.item-wrapper {
	padding: 80px 5vw;
}

#page-events .preview-page-text {
	left: unset;
}

.close {
	position: fixed;
	top: 25px;
	right: 25px;
	z-index: 10;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

.close:hover {
	transition: .3s;
	transform: rotate(90deg);
}

.load-form {
	display: flex;
	align-items: center;
}

#check-rooms.waiting .lds-dual-ring,
.check-in-loader .lds-dual-ring,
#check-sunbeds.waiting .lds-dual-ring {
	display: inline-block;
}

#check-rooms.waiting input.check-in-submit {
	opacity: 0.3;
	display: none;
}

#booking-sunbeds .check-in-submit {
	border: 1px solid #fff;
	padding: 10px 15px;
}

.check-in-error,
.empty-items {
	/* display: none; */
	text-align: center;
	width: 100%;
	max-width: 900px;
	padding: 10px;
	font-weight: 300;
	margin: 0 auto;
	background-color: #ff000040;
}

.preview-container {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: var(--bg-color);
	z-index: 999;
	opacity: 0;
}

.preview-container.open {
	-webkit-animation: fadeInFromNone 700ms ease-out forwards;
	-moz-animation: fadeInFromNone 700ms ease-out forwards;
	-o-animation: fadeInFromNone 700ms ease-out forwards;
	animation: fadeInFromNone 700ms ease-out forwards;
}

.preview-cover {
	position: static;
	height: 100vh;
	width: 100%;
}

.preview-cover>img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}

#check-in-preview .cover::after {
	content: "";
	background: rgba(0, 0, 0, .4);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#check-in-preview,
#check-in-preview .columns {
	height: 100vh;
}

#check-in-preview .right {
	background-color: var(--section-bg);
}

#check-in-preview .cover {
	overflow: auto;
}

#check-in-preview .column {
	width: 50%;
	padding: 0;
	overflow-x: auto;
}

#check-in-preview .right {
	padding: 60px 0;
	color: var(--theme-color);
}

#check-in-preview .preview-details {
	padding: 25vh 9vw;
	text-align: center;
}

#check-in-preview h3 {
	font-size: calc(2.3vw + 9px);
	margin-bottom: 2.7vw;
	padding: 0 4vw;
	line-height: 1.1;
	text-transform: uppercase;
	font-family: var(--playfair);
	font-weight: 300;
}

#check-in-preview .preview-title {
	position: absolute;
	z-index: 9;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 3vw;
}

#check-in-preview .h6 {
	display: inline-block;
	margin-bottom: 20px;
	opacity: 0.6;
}

.scroll-down {
	font-size: 1.25vw;
	line-height: 1.1;
	display: inline-block;
	color: var(--text-color);
	text-decoration: none;
}

.more .scroll-down+img {
	transform: rotate(90deg);
	opacity: 0.8;
}

#check-in-preview .subtitle {
	margin: 0;
	text-align: center;
	margin-bottom: 2.7vw;
	width: 100%;
	opacity: 0.5;
	font-weight: 300;
	font-size: 1vw;
	line-height: 1.7;
	letter-spacing: .02em;
}

#check-in-preview .preview-img {
	width: 320px;
	height: 320px;
	background-color: #ddd;
}

.book-confirm {
	font-family: var(--montserrat);
	color: #353535;
	margin-top: 30px;
	font-size: 1.25vw;
	line-height: 1.1;
	display: inline-block;
}

.checkout-wrapper {
	background-color: #fff1e4;
	width: 100%;
	min-height: calc(100vh - 125px - 105px);
	padding: 4vw;
	align-items: flex-start;
}

.checkout-column {
	padding: 2vw;
	color: var(--theme-color);
}

.checkout-form {
	background: #ffe7d0;
	margin-right: 3vw;
	width: calc(60vw - 4vw);
}

.checkout-item {
	background-color: var(--section-bg);
	width: 40vw;
}

.fields-wrapper .field-wrapper:not(.w100):first-child {
	margin-right: 2vw;
}

.field-wrapper {
	margin-bottom: 2.22vw;
}

.checkbox-wrapper {
	color: #353535;
}

.field-wrapper span {
	display: block;
	font-size: .7vw;
	line-height: 1.2;
	letter-spacing: .3em;
	text-transform: uppercase;
	opacity: .6;
}

.field-wrapper input,
.field-wrapper textarea {
	font-weight: 300;
	font-size: 1vw;
	line-height: 1.7;
	letter-spacing: .02em;
	outline: none;
	width: 100%;
	background: transparent;
	padding: .5vw 0;
	border: none;
	border-bottom-color: currentcolor;
	border-bottom-style: none;
	border-bottom-width: medium;
	border-bottom: 1px solid rgba(53, 53, 53, .1);
}

input.error,
textarea.error,
input[type="checkbox"].error+i.icon {
	border-color: #d00 !important;
	color: #d00 !important;
}

.checkmark.error {
	border-color: #d00;
}

.required:hover a {
	text-decoration: underline;
}

#checkout-accept-policy.error~.required,
#checkout-accept-cancellation.error~.required {
	color: #d00;
}

.field-wrapper textarea {
	resize: vertical;
	max-height: 250px;
	min-height: 100px;
	scrollbar-width: var(--scrollbar-width);
}

.checkbox-group {
	margin-bottom: 20px;
}

.checkbox-wrapper span {
	user-select: none;
}

.checkbox-wrapper label {
	margin-bottom: 0.5vw;
	opacity: 0.6;
	align-items: flex-start;
}

.checkbox-wrapper label .icon {
	flex: 0 0 15px;
	margin: 3px 10px 6px 0;
}

.icon.checkbox {
	display: inline-block;
	width: 15px;
	height: 15px;
	vertical-align: -1px;
	margin-right: 5px;
	border: 1px solid var(--theme-color);
	background-image: url('../images/checked.svg');
	background-position: -50px;
	background-repeat: no-repeat;
}

.icon.alert {
	color: #d00;
}

input:checked+.icon.checkbox {
	background-position: center;
}

.checkout-form .slide-btn {
	background-color: transparent;
	width: calc(50% - 4vw);
}

.checkout-item .icon {
	align-self: flex-end;
}

.checkout-item .icon.right::after {
	opacity: 1;
	height: 80px;
}

.line-throw {
	display: block;
	width: 100%;
	height: 1px;
	margin: 30px 0;
	background-color: rgba(53, 53, 53, .1);
}

.privacy-info {
	opacity: 0.6;
}

.count-sticker {
	min-width: 6vw;
	padding: 0 15px;
	margin-right: 10px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	opacity: .4;
	border: 1px dashed #353535;
	min-width: 160px;
}

.room-list .count-sticker {
	margin-bottom: 1.5vw;
}

.booking-room {
	margin-bottom: 1.6vw;
}

.booking-room-image {
	display: block;
	width: 205px;
	height: 140px;
	margin-right: 1.6vw;
}

.repaid-rate {
	margin: 15px 0;
}

.repaid-rate .date {
	opacity: 0.6;
	display: inline-block;
	text-align: right;
}

.repaid-rate li {
	font-size: 1.1em;
	line-height: 1.7;
	letter-spacing: .02em;
	margin-bottom: 15px;
}

.booking-modal {
	height: 100%;
	background-color: var(--bg-color);
	z-index: 99;
	padding: 3vw;
}

/* area */

.image-map {
	display: inline-block;
	-webkit-box-shadow: 0px 0px 2px 5px rgba(255, 255, 255, 1);
	-moz-box-shadow: 0px 0px 2px 5px rgba(255, 255, 255, 1);
	box-shadow: 0px 0px 2px 5px rgba(255, 255, 255, 1)
}

.image-map {
	width: 1200px;
	height: 684px;
	background-color: #ffffff5b;
}

.available-sunbeds {
	margin-left: 30px;
	flex: 1;
}

.sunbeds-list {
	width: 100%;
	max-height: 460px;
	overflow-y: auto;
	margin-bottom: 30px;
	padding-bottom: 30px;
	padding-right: 10px;
	border-bottom: 1px solid;
	color: var(--section-bg);
}

.sunbeds-list li {
	margin-bottom: 10px;
}

.sunbeds-list label.sunbed-item {
	padding: 10px;
	display: flex;
	border-radius: 3px;
	cursor: pointer;
	border: 1px solid var(--section-bg);
	transition: all 250ms ease-out;
}

.sunbed-price {
	margin-left: auto;
}

.sunbeds-list input[type="checkbox"]:checked+label.sunbed-item {
	background-color: var(--section-bg);
	color: var(--theme-color);
}

label.sunbed-item:hover {
	background-color: #ffd9b696;
}

area.unavailable {
	pointer-events: none;
	cursor: no-drop;
	display: block;
}

.totalPriceText {
	font-size: 25px;
}

.find-sunbeds {
	text-align: center;
}

.work-columns {
	flex-wrap: wrap;
}

.chosed-days {
	display: block;
	position: relative;
	width: 100%;
	min-height: 150px;
	border: 1px solid var(--section-bg);
	border-radius: 5px;
	margin: 20px 0;
	padding: 10px;
}

.chosed-days-title {
	position: absolute;
	top: -12px;
	left: 20px;
	color: var(--section-bg);
	font-size: 18px;
	display: inline-block;
	padding: 0 10px;
	background-color: var(--bg-color);
}

.chosed-days-item {
	display: inline-block;
	padding: 5px 10px;
	margin: 5px 2.5px;
	cursor: default;
	background-color: var(--section-bg);
	border: 1px solid var(--section-bg);
	color: var(--bg-color);
}

.main-popup {
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #00000080;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
}

.main-popup .wrapper {
	/* width: auto; */
	max-width: 800px;
	max-height: 90vh;
	background-color: transparent;
	padding: 5px 25px 25px 25px;
	margin: 20px;
	overflow: auto;
	position: relative;
}

.close_wrapper {
	width: 100%;
	text-align: right;
}

#close-popup {
	border: 2px solid var(--section-bg);
	width: 25px;
	height: 25px;
	position: relative;
	margin-right: 0;
}

#close-popup:before,
#close-popup:after {
	width: 20px;
	height: 2px;
	content: "";
	background-color: var(--section-bg);
	position: absolute;
	top: 10px;
	left: 1px;
}

#close-popup:before {
	transform: rotate(45deg);
}

#close-popup:after {
	transform: rotate(-45deg);
}

.main-popup.hidden {
	display: none;
}

.headertext {
	font-size: 20px;
	min-height: 50px;
	text-align: center;
}

.group-header-elems {
	flex-wrap: wrap;
	align-items: center;
}

.group-header-elems>a {
	display: inline-block;
	height: 22px;
	margin-right: 30px;
}

.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0px;
	overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.booking-sunbeds-wrapper {
	width: 100%;
	max-width: 1420px;
	padding: 20px 0;
	margin: 40px auto;
	align-items: flex-start;
	background-image: var(--bg-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.booking-sunbeds-wrapper::before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #1222237d;
	backdrop-filter: blur(4px);
}

.booking-sunbeds-wrapper::after {
	content: '';
	display: block;
	width: 30px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

.booking-sunbeds-form {
	width: 100%;
	max-width: 720px;
	margin: 15px auto;
}

.type-produtcs {
	align-items: start;
	justify-content: center;
	display: flex;
	gap: 20px;
}

.type-produtcs-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;

}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type=number] {
	-moz-appearance: textfield;
}

input[type='number'].counter {
	background-color: #ffd9b6;
	border: none;
	width: 35px;
	height: 35px;
	font-size: 16px;
	text-align: center;
}

.booking-sunbeds-submit {
	padding-top: 40px;
	justify-content: center;
}

.total-price {
	font-size: 1.3em;
}


.reporting-errors:not(:empty) {
	color: #da3131;
	background-color: var(--section-bg);
	padding: 1em;
	margin-top: 1em;
	text-align: center;
	border-radius: 2px;
}

.number-counter {
	margin-left: 10px;
}

.number-counter .minus,
.number-counter .plus {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--section-bg);
	height: 35px;
	width: 35px;
	/* border-color: transparent; */
}

.number-counter .minus:hover,
.number-counter .plus:hover {
	border-color: var(--section-bg);
}

.number-counter .minus {
	border-radius: 10px 0 0 10px;
}

.number-counter .plus {
	border-radius: 0 10px 10px 0;
}

.number-counter .minus svg,
.number-counter .plus svg {
	color: var(--section-bg);
	width: 25px;
	height: 25px;
}

.product-image {
	width: 300px;
	height: 225px;
	object-fit: cover;
}

.popover {
	margin-left: 10px;
	position: absolute;
	vertical-align: sub;
}

.popover .icon {
	cursor: pointer;
	display: inline-block;
}

.popover .popover-icon svg {
	width: 20px;
	height: 20px;
	color: var(--section-bg);
	cursor: pointer;
}

.type-produtcs-title {
	text-transform: capitalize;
}

#popover {
	background: #333;
	color: white;
	font-weight: 400;
	padding: 1rem;
	max-width: 200px;
	line-height: 1.4;
	position: absolute;
	top: 1rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#popover-content {
	width: 100%;
	max-width: 450px;
	/* text-align: center; */
	color: var(--section-bg);
	border: 1px solid var(--section-bg);
	padding: 0px 15px;
	border-radius: 6px;
	background-color: var(--bg-color);
	position: absolute;
	top: 1rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: unset;
}

.popover-btn {
	border: none;
	background-color: transparent;
	color: var(--section-bg);
	cursor: pointer;
	vertical-align: super;
}

.popover-btn>svg {
	width: 20px;
	height: 20px;
}

.theme-text {
	display: flex;
	gap: 5px;
}

.theme-text svg {
	color: #da3131;
}

.theme-text small,
.theme-text {
	color: #ffd9b6;
}

.invoice-form-wrapper {
	min-height: 200px;
	border: 1px solid var(--section-bg);
	padding: 15px;
	color: var(--section-bg);
}

.flex-column-5 {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.border {
	border: 1px solid var(--section-bg);
}

.border-light {
	border: 1px solid var(--bg-ovelayer);
	padding: 5px;
}

.rounded {
	border-radius: 5px;
}

.p-1 {
	padding: 1rem;
}

.p-2 {
	padding: 2rem;
}

.p-3 {
	padding: 3rem;
}

.mb-1 {
	margin-bottom: 1rem;
}

.mb-2 {
	margin-bottom: 2rem;
}

.mb-3 {
	margin-bottom: 3rem;
}

.booking-title {
	font-size: 1.5em;
}

/* Customize the label (the container) */
.container {
	display: block;
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	font-size: 22px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Hide the browser's default checkbox */
.container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom checkbox */

.checkmark {
	position: absolute;
	top: 50%;
	left: 0;
	height: 27px;
	width: 27px;
	border: 1px solid var(--section-bg);
	transform: translateY(-50%);
}

/* On mouse-over, add a grey background color */
.container:hover input~.checkmark {
	box-sizing: border-box;
}

/* When the checkbox is checked, add a blue background */
.container input:checked~.checkmark {
	background-color: var(--section-bg);
}

.container input:checked~.checkmark.error {
	background-color: #d00;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
.container input:checked~.checkmark:after {
	display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid var(--bg-color);
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.flex-column {
	flex-direction: column;
}

.event-options-prices>div {
	margin-right: 30px;
}

.event-options-prices {
	flex-wrap: wrap;
}

.check-events-option {
	line-height: 20px;
}

.no-wrap {
	white-space: nowrap;
}

.booking-option-item {
	border: 1px dashed #353535;
	margin-bottom: 10px;
	padding: 15px;
}

.booking-option-item div {
	margin-bottom: 10px;
	font-size: 1.2em;
}

.booking-option-item .booking-option-title {
	font-size: 1.5em;
}

.pool-welcome-wrapper {
	width: 100%;
	padding: 50px;
}

.pool-welcome-wrapper h1 {
	text-align: center;
	font-weight: 200;
	text-transform: uppercase;
	font-size: 4em;
}

.pool-welcome-content {
	margin: 0 auto;
}

.poll-welcome-list {
	margin: 40px auto;
	width: inherit;
	max-width: 1450px;
}

.poll-welcome-item {
	width: 100%;
	height: 50vh;
	overflow: hidden;
	border: 1px solid #fff;
	max-width: calc(1450px / 2);
}

.poll-welcome-link {
	display: block;
	width: inherit;
	height: inherit;
	background-image: var(--bg-image);
	background-repeat: no-repeat;
	background-size: calc(1450px / 2);
	background-position: center;
	overflow: hidden;
	transition: transform 3s ease-in-out;
}

.poll-welcome-link::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, .7);
}

.poll-welcome-item:hover .poll-welcome-link {
	transform: scale(1.1);
}

.poll-welcome-item:nth-child(2) {
	position: relative;
	top: 40px;
	left: -40px;
	z-index: 1;
}

.poll-welcome-item-info {
	height: inherit;
	justify-content: space-between;
	padding: 20px;
	position: absolute;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: inherit;
}

.poll-welcome-item-info div:last-child {
	align-self: center;
}

.poll-welcome-item-title {
	text-transform: uppercase;
	font-size: 3em;
	font-weight: 200;
}

.poll-welcome-item-description {
	font-weight: 300;
	font-size: 1.5em;
}

.poll-welcome-additional-text {
	text-align: center;
	font-size: 1.5em;
	font-weight: 200;
}

.poll-welcome-item-image {
	width: inherit;
	height: inherit;
}

.booking-sunbeds-form {
	position: relative;
	z-index: 1;
}

.booking-sunbeds-form-title {
	position: relative;
	text-transform: uppercase;
	text-align: center;
	font-size: 3em;
	font-weight: 200;
	margin: 30px 0;
}

.food-menu-wrapper {
	padding: 30px;
}

.foodmenu-list {
	margin-top: 90px;
	flex-direction: column;
	align-items: center;
}

.foodmenu-list li {
	font-weight: 200;
	font-size: 2.5em;
	margin-bottom: 15px;
}

.foodmenu-list li a {
	position: relative;
}

.foodmenu-list li a::after {
	content: '';
	width: 0px;
	height: 1px;
	position: absolute;
	top: 100%;
	left: 50%;
	background-color: #fff;
	transform: translateX(-50%);
	transition: width 100ms;
}

.foodmenu-list li a:hover:after {
	width: 100%;
}

.food-menu-nav {
	flex-wrap: wrap;
}

.food-menu-nav-item {
	font-size: 1.3em;
	padding: 5px 15px;
	border: 1px solid var(--section-bg);
	color: var(--section-bg);
	border-radius: 25px;
	transition: all 150ms ease-in-out;
}

.food-menu-nav-item:hover,
.food-menu-nav-item.active {
	background-color: var(--section-bg);
	color: var(--bg-color);
}

.food-menu-page {
	align-items: center;
}

.food-menu-page h1 {
	margin: 20px 0;
	text-align: center;
	font-size: 2.9vw;
	text-transform: uppercase;
	position: relative;
	text-align: center;
	opacity: 0.9;
	font-weight: 200;
}

.food-submenu-items {
	flex-wrap: wrap;
	max-width: 1200px;
	width: 100vw;
}

.width-text .food-submenu-item-image,
.width-text .food-submenu-item-link,
.width-text .food-submenu-item-price {
	display: none;
}

.width-text .food-submenu-items {
	flex-direction: column;
	text-align: center;
	align-items: center;
}

.food-submenu-title {
	text-align: center;
	font-size: 25px;
	text-transform: uppercase;
	position: relative;
	text-align: center;
	font-family: var(--playfair);
	opacity: 0.9;
	font-weight: 200;
}

.food-submenu-item {
	box-sizing: border-box;
	max-width: 360px;
	min-width: 160px;
	flex: 0 1 calc(calc(100% / 3) - 40px);
	margin: 0 20px;
	margin-bottom: 40px;
}

.food-submenu-item-stickers {
	position: absolute;
	top: 10px;
	right: 10px;
}

.food-submenu-item-sticker {
	display: inline-block;
	box-sizing: content-box;
	width: 40px;
	height: 40px;
	background-color: #ffffff71;
	padding: 10px;
	border-radius: 50%;
	transform: rotate(5deg);
}

.food-submenu-item-image .food-submenu-item-sticker img {
	object-fit: contain;
}

.food-submenu-item-image {
	aspect-ratio: 2 / 3;
	background-color: #7b7b7b49;
	width: 100%;
}

.food-submenu-item-image img {
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.food-submenu-item-title,
.food-submenu-item-price {
	font-size: 1.3em;
	font-weight: 500;
}

.food-submenu-item-price {
	font-weight: 700;
}

.food-submenu-item-link:after {
	content: '';
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.productPopUp-item {
	align-items: stretch;
	background-color: var(--bg-color);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 20px);
	max-width: 900px;
	max-height: calc(100vh - 20px);
	z-index: 9999;
}

.productPopUp::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .9);
}


.productPopUp-image {
	aspect-ratio: 2 / 3;
	background-color: #7b7b7b49;
	max-width: 500px;
}

.productPopUp-image img {
	height: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-height: inherit;
}

.productPopUp-info {
	padding: 20px;
}

.productPopUp-close {
	cursor: pointer;
	color: var(--section-bg);
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 60px;
	height: 60px;
	background-size: 60px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('../images/close-icon.svg');
}

.payment-logos img{
	max-width: 80px;
}

@media (max-width: 768px) {

	.food-submenu-items {
		padding: 0 5px;
	}

	.food-submenu-item {
		box-sizing: border-box;
		margin-bottom: 20px;
	}

	.gap-20 {
		gap: 10px;
	}

	.food-submenu-item-title,
	.food-submenu-item-price,
	.food-submenu-item b {
		font-size: 1.1em !important;
		font-weight: 500 !important;
	}

	.food-submenu-item-text {
		font-size: 14px;
	}

	.productPopUp-image img {
		max-width: 230px;
		object-fit: cover;
		height: 100%;
	}

	.food-menu-wrapper {
		padding: 5px;
	}

	.food-submenu-items {
		justify-content: center;
		text-align: center;
	}

	.food-submenu-item {
		margin: 10px;
		flex: 0 1 calc(50% - 20px);
	}
}

@media(max-width: 460px) {

	h1,
	.booking-sunbeds-form-title {
		padding: 0 20px;
		font-size: 2em !important;
	}

	.booking-sunbeds-wrapper {
		margin: 0;
	}

	.pool-welcome-wrapper {
		padding: 20px;
	}

	.poll-welcome-item-title {
		font-size: 2em;
	}

	.poll-welcome-item-description {
		font-size: 1.2em;
	}

	.product-image {
		height: 150px;
	}

	.big-btn {
		padding: 0px 15px;
		line-height: 30px;
		font-size: 13px;
	}
}

@media(max-width: 920px) {

	.poll-welcome-list {
		flex-direction: column;
	}

	.poll-welcome-item:nth-child(2) {
		left: 0;
		top: 20px;
	}
}

@media(min-width: 586px) {
	.kw_container .book-sunbeds-wrapper>a {
		padding: 8px 34px 8px !important;
	}
}

@media(max-width:417px) {

	.kw_grid__item {
		transform: translateX(15%);
	}

	.kw_grid__item:nth-child(2) {
		position: absolute;
		top: 62px;
		left: 190px;
	}

	.kw_section--wrap {
		justify-content: flex-start !important;
	}

	.kw_section.kw_section--margin_top_remove_items .kw_section__item {
		min-width: 120px;
	}

	.event-option-item {
		width: 100%;
	}

	.preview-page-text {
		padding: 50px 0px !important;
	}
}

@media(max-width:392px) {
	.kw_section__item+.kw_section__item {
		margin-left: -35px;
	}

	.kw_grid__item {
		transform: translateX(10%);
	}

	.kw_grid__item:nth-child(2) {
		left: 170px;
	}
}

#page-objects table {
	width: 100%;
}

@media (max-width: 768px) {
	#page-objects table tr {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#page-objects table tr td {
		padding-bottom: 15px;
	}
}

.fast-booking-event{
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	bottom: 0;
	left: 0;
	height: 70px;
	width: 100%;
	background-color: rgba(233, 233, 233, 0.32);
	z-index: 9;
}