@charset "utf-8";
::selection {
	background-color: white;
	color: #00A8B5;
}

html {
	overflow-x: hidden;
}
html.no-scroll {
	overflow: hidden;
}

body {
	padding: 0;
	margin: 0;
	background-color: white;
	background-image: url("../images/noise-bg.png");
	background-position: center center;
	background-repeat: repeat;
	font-family: "Inter";
	font-size: 1rem;
	color: #00181a;
	font-weight: 400;
	line-height: normal;
}

h1, h2, h3, h4, h5, h6,
.title {
	text-wrap: balance;
}

a {
	color: #00181a;
	text-decoration: none;
}
a:hover {
	color: #00181a;
	text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
}
.padding-t-0 {
	padding-top: 0 !important;
}
.padding-b-0 {
	padding-bottom: 0 !important;
}
.button,
button,
[type=button],
[type=reset],
[type=submit] {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 12px 24px;
	outline: 0;
	border: 1px solid #01464a;
	background-color: transparent;
	border-radius: 2px;
	font-family: "Inter";
	font-size: 0.8125rem;
	color: #01464a;
	font-weight: 700;
	line-height: 1.375rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.button:hover,
button:hover,
[type=button]:hover,
[type=reset]:hover,
[type=submit]:hover {
	border-color: #2A2A2A;
	background-color: #2A2A2A;
	color: #ffffff;
	text-decoration: none;
}
/* Botones con flecha (discoverBtn ej. "Descubre mas", ourRoomsBtn ej. "Explorar habitaciones", exploreBtn ej. "Explorar todas las ofertas"/"Ver todas las preguntas") usan el mismo hover que el boton "Leer mas" de la intro (#00a8b5).
   Las variantes de exploreBtn sobre fondos oscuros/imagenes (gastronomia, experiencias) tienen su propio hover con mayor especificidad y no se ven afectadas. */
.discoverBtn:hover,
.ourRoomsBtn:hover,
.exploreBtn:hover {
	border-color: #00a8b5;
	background-color: #00a8b5;
}
.button img.arrow,
button img.arrow,
[type=button] img.arrow,
[type=reset] img.arrow,
[type=submit] img.arrow {
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.button:hover img.arrow,
button:hover img.arrow,
[type=button]:hover img.arrow,
[type=reset]:hover img.arrow,
[type=submit]:hover img.arrow {
	filter: brightness(0) invert(1);
}
.btn-booking {
	border-color: #00A8B5;
	background-color: #00A8B5;
	color: #ffffff;
}
.btn-booking:hover {
	border-color: #008691;
	background-color: #008691;
	color: #ffffff;
}

#wrap {
	width: 100%;
}
:root {
	--container-width: 1564px;
	--container-padding: calc((100vw - var(--container-width)) / 2);
}
.container {
	max-width: 1564px;
	padding: 0;
}
#middle {
	width: 100%;
}

/*----------------- Inner Pages -----------------*/
.rooms #header.header {
	position: fixed;
}
#header.header {
	position: sticky;
}
#header.header .languageMenu > a {
	color: #00181a;
	border-color: #2A2A2A;
}
#header.header .languageMenu > a::after {
	filter: invert(70%) sepia(0%) saturate(0%) hue-rotate(0) brightness(50%) contrast(100%);
}
#header.header .menuNav ul.menu > li > a {
	color: #00181a;
}
#header.header .menuNav ul.menu:has(li:hover) > li:not(:hover) > a {
	color: rgb(42 42 42 / 70%);
	text-decoration: none;
}
#header.header .menuNav ul.menu > li:has(.sub-menu):after {
	filter: none;
}
#header.header .menuNav ul.menu:has(li:hover) > li:not(:hover):after {
	opacity: 70%;
}
#header.header .bookBtn {
	color: #00181a;
	border-color: #2A2A2A;
}
#header.header .bookBtn:hover {
	color: #ffffff;
	border-color: #008691;
}
#header.header .bookBtn+.bookBtn:hover {
	border-color: #7F3946;
}
#header.header .bookingMenu > a,
#header.header .bookingMenu:hover > a,
#header.header .bookingMenu > a.open,
#header.header .bookingMenu > a:focus {
	color: #00181a;
	border-color: #2A2A2A;
}
#header.header .bookingMenu > a::after {
	filter: invert(70%) sepia(0%) saturate(0%) hue-rotate(0) brightness(50%) contrast(100%);
}
#header.header .hamburger {
	border-color: #2A2A2A;
}
#header.header .hamburger label span {
	background-color: #2A2A2A;
}
#header.header .hamburger.open label span {
	background-color: #ffffff;
}
#header.header .hamburger.open label span::before {
	background-color: #ffffff;
}
#header.header .hamburger label span::before {
	background-color: #2A2A2A;
}

#header.header.headerBg .languageMenu>a {
	color: #ffffff;
	border-color: #ffffff;
}
#header.header.headerBg .languageMenu>a::after {
	filter: unset;
}
#header.header.headerBg .menuNav ul.menu>li>a {
	color: #ffffff;
}
#header.header.headerBg .menuNav ul.menu:has(li:hover) > li:not(:hover) > a {
	color: rgb(255 255 255 / 70%);
	text-decoration: none;
}
#header.header.headerBg .menuNav ul.menu > li:has(.sub-menu):after {
	filter: none;
}
#header.header.headerBg .menuNav ul.menu:has(li:hover) > li:not(:hover):after {
	opacity: 70%;
}
#header.header.headerBg .bookBtn {
	color: #ffffff;
	border-color: #ffffff;
}
#header.header.headerBg .bookBtn:hover {
	border-color: #008691;
}
#header.header.headerBg .bookBtn+.bookBtn:hover {
	border-color: #7F3946;
}
#header.header.headerBg .bookingMenu > a {
	color: #ffffff;
	border-color: #ffffff;
}
#header.header.headerBg .bookingMenu > a::after {
	filter: unset;
}
#header.header.headerBg .hamburger {
	border-color: #ffffff;
}
#header.header.headerBg .hamburger label span {
	background-color: #ffffff;
}
#header.header.headerBg .hamburger label span::before {
	background-color: #ffffff;
}
#header.header.headerBg.navOpen .bookBtn {
	color: #00181a;
	border-color: #2A2A2A;
}
#header.header.headerBg.navOpen .bookingMenu > a,
#header.header.headerBg.navOpen .bookingMenu:hover > a,
#header.header.headerBg.navOpen .bookingMenu > a.open,
#header.header.headerBg.navOpen .bookingMenu > a:focus {
	color: #00181a;
	border-color: #2A2A2A;
}
#header.header.headerBg.navOpen .bookingMenu > a::after {
	filter: invert(70%) sepia(0%) saturate(0%) hue-rotate(0) brightness(50%) contrast(100%);
}
#header.header.headerBg.navOpen .hamburger {
	border-color: #2A2A2A;
}
