/** PROVISIONAL **/

html{
    scroll-behavior: auto !important;
}

main {
	background: var(--color-black);
	color: var(--color-grey-03);
}

.box .logo{
	border: 1px solid var(--color-text-01);
	padding: 1.5rem;
}

.box .flex{
	padding: 1.5rem 2rem;
	display: flex;
	border-right:1px solid var(--color-grey-03); 
	border-left:1px solid var(--color-grey-03); 
	border-bottom:1px solid var(--color-grey-03); 
}

.box .flex > div {
	display: block;
	line-height: 1.5rem;
	width: 50%;
	text-align: center;
}

.box .flex > div:first-child {
	border-right: 1px solid var(--color-grey-03);
	padding-right: var(--s-08);
}

.box .flex>div:last-child{
	padding-left: var(--s-08);
}

.box svg {
	fill: var(--color-grey-03);
	height: var(--s-40);
}

/** PROVISIONAL **/


body {
	box-sizing: border-box;
	color: var(--color-text-01);
	cursor: default;
	font-family: 'Manrope', sans-serif;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 0;
	margin: 0;
	padding: 0;
}

svg {
	height: 100%;
	width: 100%;
}

p {
	font-size: inherit;
	line-height: inherit;
}

ul,
li {
	list-style: none;
}

a {
	cursor: pointer;
}

sup {
	vertical-align: super;
	font-size: 64%;
	line-height: 1;
}

b,
strong {
	font-weight: 500;
}

.mask {
	position: relative;
	overflow: hidden;
}

.mask > span {
	display: block;
	position: relative;
}

.fit--cover {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tt--fixed {
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
}

.tt--ab {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.flex--center {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.text--center {
	text-align: center;
}

.hidden {
	color: transparent;
	user-select: none;
}

.page--out {
	cursor: progress !important;
}

.none {
	display: none;
}

.flex {
	display: flex;
}

.no--scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

	.no--scrollbar::-webkit-scrollbar {
		display: none;
	}

section {
	position: relative;
}

.wrp {
	box-sizing: border-box;
	padding: 0 var(--grid-margin);
	width: 100%;
}

.wrp--min {
	margin: 0 auto;
}

.row {
	display: flex;
	flex-flow: wrap;
	margin-left: -.5rem;
	margin-right: -.5rem;
	width: calc(100% + 1rem);
	margin-left: calc(0px - var(--grid-gap) / 2);
	margin-right: calc(0px - var(--grid-gap) / 2);
	width: calc(100% + var(--grid-gap));
}

.row__normal {
	display: flex;
	flex-flow: wrap;
    width:100%;
}


.col,[class*="col--"] {
	box-sizing: border-box;
	padding-left: calc(var(--grid-gap) / 2);
	padding-right: calc(var(--grid-gap) / 2);
	position: relative;
}

.col--1-2, .col50 {
	width: 50%;
    box-sizing: border-box;
}

.col33 {
	width: 33.3334%;
    box-sizing: border-box;
}

.full__page {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100vh;
	width: 100%;
}

.scroll__container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}

.link--out {
	position: relative;
}

.text__description ul {
	padding-left: var(--s-20);
}

.text__description li {
	position: relative;
}

	.text__description li:before {
		background: currentcolor;
		border-radius: 50%;
		content: '';
		height: var(--s-04);
		left: calc(0px - var(--s-16));
		position: absolute;
		top: var(--s-10);
		width: var(--s-04);
	}

.grid {
	display: grid;
	column-gap: var(--grid-gap);
}

.grid--6 {
	grid-template-columns: repeat(6, 1fr);
}

.grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

.grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

.grid--2 {
	grid-template-columns: repeat(2, 1fr);
}

.pt--xlarge {
	padding-top: max(var(--s-160), 20vh);
}

.pb--xlarge {
	padding-bottom: max(var(--s-160), 20vh);
}

.pt--large {
	padding-top: max(var(--s-120), 16vh);
}

.pb--large {
	padding-bottom: max(var(--s-120), 16vh);
}

.pt--medium {
	padding-top: max(var(--s-96), 12.5vh);
}

.pb--medium {
	padding-bottom: max(var(--s-96), 12.5vh);
}

.pt--small {
	padding-top: var(--s-40);
}

.pb--small {
	padding-bottom: var(--s-40);
}

.pt--xsmall {
	padding-top: var(--s-24);
}

.pb--xsmall {
	padding-bottom: var(--s-24);
}

@media (min-width: 1181px) {
	
	.wrp--min {
		max-width: 64%;
	}

}

@media (max-width: 1180px) and (min-width: 681px) {
	
	.wrp--min {
		max-width: 80%;
	}
	
	.pt--xlarge {
		padding-top: var(--s-120);
	}
	
	.pb--xlarge {
		padding-bottom: var(--s-120);
	}
	
	.pt--large {
		padding-top: var(--s-96);
	}
	
	.pb--large {
		padding-bottom: var(--s-96);
	}
	
	.pt--medium {
		padding-top: var(--s-80);
	}
	
	.pb--medium {
		padding-bottom: var(--s-80);
	}
	
	.pt--small {
		padding-top: var(--s-32);
	}
	
	.pb--small {
		padding-bottom: var(--s-32);
	}
	
	.pt--xsmall {
		padding-top: var(--s-24);
	}
	
	.pb--xsmall {
		padding-bottom: var(--s-24);
	}
	
}

@media (max-width: 980px) {

	.text__description li:before {
		top: var(--s-08);
	}

}

@media (max-width: 680px) {
	
	.col--1-2, .col50, .col33 {
		width: 100%;
	}
	
	.pt--xlarge {
		padding-top: var(--s-96);
	}
	
	.pb--xlarge {
		padding-bottom: var(--s-96);
	}
	
	.pt--large {
		padding-top: var(--s-80);
	}
	
	.pb--large {
		padding-bottom: var(--s-80);
	}
	
	.pt--medium {
		padding-top: var(--s-48);
	}
	
	.pb--medium {
		padding-bottom: var(--s-48);
	}
	
	.pt--small {
		padding-top: var(--s-24);
	}
	
	.pb--small {
		padding-bottom: var(--s-24);
	}
	
	.pt--xsmall {
		padding-top: var(--s-16);
	}
	
	.pb--xsmall {
		padding-bottom: var(--s-16);
	}
	
}

/** TEXT SYLES **/

.w--400 {
	font-weight: 400;
}

.w--500 {
	font-weight: 500;
}

.w--700 {
	font-weight: 700;
}

.title {
	font-family: 'Playfair Display', serif;
}

.title + .btn {
	margin-top: var(--s-40);
}

.title + .text__description {
	margin-top: var(--s-40);
}

em,
.serif {
	font-style: italic;
}

.title--xl {
	font-size: clamp(5rem, var(--s-88), 6rem);
	line-height: 1.125;
}

.title--l {
	font-size: clamp(4rem, var(--s-72), 5rem);
	line-height: 1.125;
}

.title--m {
	font-size: clamp(3rem, var(--s-56), 4rem);
	line-height: 1.125;
}

.title--s {
	font-size: clamp(2.875rem, var(--s-48), 3.5rem);
	line-height: 1.125;
}

.title--xs {
	font-size: clamp(2rem, var(--s-36), 2.5rem);
	line-height: 1.125;
}

.text--xl {
	font-size: clamp(1.5rem, var(--s-28), 2rem);
	line-height: 1.25;
}

.text--l {
	font-size: clamp(1.25rem, var(--s-24), 1.875rem);
	line-height: 1.25;
}

.text--m {
	font-size: clamp(1rem, var(--s-18), 1.5rem);
	line-height: 1.25;
}

.text--s {
	font-size: clamp(0.875rem, var(--s-16), 1.25rem);
	line-height: 1.25;
}

.text--xs {
	font-size: clamp(0.5rem, var(--s-10), 0.875rem);
	line-height: 1.25;
}

.btn.text--s .mask {
	height: clamp(calc(0.875rem * 1.25), calc(var(--s-16) * 1.25), calc(1.25rem * 1.25));
}

.btn.text--m .mask {
	height: clamp(calc(1rem * 1.25), calc(var(--s-18) * 1.25), calc(1.5rem * 1.25));
}

.text__description {
	box-sizing: border-box;
}

@media (max-width: 980px) and (min-width: 681px) and (orientation: portrait) {
	
	.title--xl {
		font-size: var(--s-80);
	}
	
	.title--l {
		font-size: var(--s-64);
	}
	
	.title--s {
		font-size: var(--s-48);
	} 
	
	.title--xs {
		font-size: var(--s-32);
	}
	
	.title--xxs {
		font-size: var(--s-28);
	}
	
}

@media (max-width: 980px) {
	
	.text--xl {
		font-size: clamp(1.125rem, var(--s-22), 1.75rem);
		line-height: 1.25;
	}
	
	.text--l {
		font-size: clamp(1rem, var(--s-18), 1.5rem);
		line-height: 1.25;
	}
	
	.text--m {
		font-size: clamp(0.875rem, var(--s-16), 1.25rem);
		line-height: 1.25;
	}
	
	.text--s {
		font-size: clamp(0.75rem, var(--s-14), 1.125rem);
		line-height: 1.25;
	}
	
	.btn.text--s .mask {
		height: clamp(calc(0.75rem * 1.25), calc(var(--s-14) * 1.25), calc(1.125rem * 1.25));
	}
	
	.btn.text--m .mask {
		height: clamp(calc(0.875rem * 1.25), calc(var(--s-16) * 1.25), calc(1.25rem * 1.25));
	}
	
}
	

@media (max-width: 680px) {
	
	.title {
		overflow-wrap: anywhere;
	}
	
	.title--xl {
		font-size: var(--s-48);
	}
	
	.title--l {
		font-size: var(--s-40);
	}
	
	.title--m {
		font-size: var(--s-32);
		line-height: 1.25;
	}
	
	.title--s {
		font-size: var(--s-24);
		line-height: 1.25;
	}
	
	.title--xs,
	.title--xxs {
		font-size: var(--s-24);
		line-height: 1.25;
	}
	
}

/************************BUTTONS*****************/

.btn {
	cursor: pointer;
	position: relative;
	text-transform: uppercase;
}

.btn .mask > span {
	transition: color 0.4s var(--link-handle);
}

input.btn {
	transition: color 0.4s var(--link-handle), background 0.4s var(--link-handle);
}

.btn--light {
	background: transparent;
	transition: background 0.4s var(--link-handle);
}

.btn--grey {
	background: var(--color-grey-03);
	transition: opacity 0.4s var(--link-handle);
}

.btn--grey span {
	color: var(--color-text-02);
}

.btn.text--m .mask {
	position: relative;
	z-index: 1;
}

.btn .mask > span {
	display: block;
	transition: color 0.4s var(--link-handle), transform 1s var(--transition-handle);
}

.hide .btn .mask > span {
	transform: translate3d(0, 100%, 0);
}

.sp__line {
	background-color: var(--color-grey-03);
	position: absolute;
	transition: transform 1s var(--transition-handle);
}

.sp__line--left {
	height: 100%;
	left: 0;
	top: 0;
	width: 1px;
	transform-origin: top;
}

.sp__line--right {
	height: 100%;
	right: 0;
	top: 0;
	width: 1px;
	transform-origin: top;
}

.sp__line--bottom {
	height: 1px;
	left: 0;
	bottom: 0;
	width: 100%;
	transform-origin: left;
}

.sp__line--top {
	height: 1px;
	left: 0;
	top: 0;
	width: 100%;
	transform-origin: left;
}

.hide .sp__line--bottom,
.hide .sp__line--top,
.page__header .sp__line--bottom,
.page__header .sp__line--top {
	transform: scaleX(0);
}

.hide .sp__line--right,
.hide .sp__line--left,
.page__header .sp__line--right,
.page__header .sp__line--left {
	transform: scaleY(0);
}

.show .sp__line--bottom,
.show .sp__line--top,
.loaded .page__header .sp__line--bottom,
.loaded .page__header .sp__line--top {
	transform: scaleX(1);
}

.show .sp__line--right,
.show .sp__line--left,
.loaded .page__header .sp__line--right,
.loaded .page__header .sp__line--left {
	transform: scaleY(1);
}

@media (hover: hover) {
	
	.btn--light:hover {
		background: var(--color-grey-03);
	}
	
	.btn--light:hover .mask > span,
	input.btn--light:hover,
	button.btn--light:hover {
		color: var(--color-black);
	}
	
	.btn--grey:hover {
		opacity: 0.6;
	}
	
}

.bg--black {
	background: var(--color-black);
}

.bg--grey {
	background: var(--color-grey-01);
}

/************************HEADER*****************/

.page__header {
	background: transparent;
	color: var(--color-grey-03);
	font-size: 1rem;
	line-height: 1.25rem;
	pointer-events: none;
	position: fixed;
	width: 100%;
	transition: transform 0.6s var(--transition-handle);
	z-index: 10;
}

.header__inner {
	display: flex;
	position: relative;
	z-index: 1;
}	
	
	.header__inner:before {
		background: var(--color-black);
		bottom: 0;
		content: '';
		height: 100%;
		left: 0;
		pointer-events: none;
		position: absolute;
		transition: opacity 0.4s var(--transition-handle);
		width: 100%;
	}
	
	.page__header.top .header__inner:before {
		opacity: 0;
	}
	
	.menu--open .header__inner:before {
		opacity: 1 !important;
	}

.header__logo {
	flex: 1;
	position: relative;
	display: flex;
	align-items: flex-end;
	pointer-events: auto;
}

.index__page .header__logo,
.home__page .header__logo {
	pointer-events: none;
}

.header__logo__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	padding: 0 var(--grid-margin);
	height: 100%;
	transition: height 0.6s var(--transition-handle);
}

.logo__batimont {
	display: flex;
	height: var(--s-28);
	position: relative;
	overflow: hidden;
	transition: height 0.6s var(--transition-handle);
}

.logo__batimont > .logo--letter {
	fill: var(--color-grey-03);
	display: inline-block;
	height: 100%;
	width: auto;
	transition: transform 1s var(--transition-handle);
}

html:not(.loaded) .logo__batimont > .logo--letter {
	transform: translate3d(0, 100%, 0);
}

.logo__batimont > .logo--letter:nth-child(2) {
	transition-delay: 50ms;
}

.logo__batimont > .logo--letter:nth-child(3) {
	transition-delay: 100ms;
}

.logo__batimont > .logo--letter:nth-child(4) {
	transition-delay: 150ms;
}

.logo__batimont > .logo--letter:nth-child(5) {
	transition-delay: 200ms;
}

.logo__batimont > .logo--letter:nth-child(6) {
	transition-delay: 250ms;
}

.logo__batimont > .logo--letter:nth-child(7) {
	transition-delay: 300ms;
}

.logo__batimont > .logo--letter:nth-child(8) {
	transition-delay: 350ms;
}

.logo__batimont .logo--letter:nth-child(3) {
	margin-left: calc(0px - var(--s-04));
}

.header__inner .header__nav {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.header__inner .header__nav > div {
	height: var(--s-48);
}

.header__inner .secondary__nav {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: end;
	pointer-events: auto;
	position: relative;
	width: 100%;
}

.header__inner .secondary__nav .menu__item {
	padding: var(--s-12) var(--s-20);
}

.page__header .lang {
	align-items: center;
	display: flex;
	height: 100%;
	padding: 0 var(--s-20);
}

.header__inner .main__nav {
	align-items: center;
	display: flex;
	justify-content: end;
	pointer-events: auto;
	position: relative;
	transition: height 0.6s var(--transition-handle);
}

.header__inner .main__nav > nav {
	display: flex;
}

.page__header .main__nav .booking {
	align-items: center;
	display: flex;
	height: 100%;
	padding: 0 var(--grid-margin);
	position: relative;
}

.header__inner .menu__item {
	cursor: pointer;
	display: inline-block;
}

.header__inner .main__nav .menu__item {
	padding: var(--s-12) var(--s-24);
	transition: opacity 0.4s var(--link-handle);
}

	.header__inner .main__nav .menu__item:last-child {
		margin-right: var(--s-04);
	}
	
.header__inner .main__nav .menu__item .mask {
	height: clamp(calc(1rem * 1.25), calc(var(--s-18) * 1.25), calc(1.5rem * 1.25));
}
	
.header__inner .menu__item .mask > span {
	transition: transform 1s var(--transition-handle);
}

.header__inner .btn {
	opacity: 0;
	transition: opacity 1s var(--transition-handle) 350ms, background 0.4s var(--transition-handle);
}

html:not(.loaded) .checkin--input,
html:not(.loaded) .checkout--input,
html:not(.loaded) .booking__pretitle,
html:not(.loaded) .booking .mask > span {
	transform: translate3d(0, 100%, 0);
}

.loaded .checkin__input .booking__pretitle {
	transition-delay: 300ms
}

.loaded .checkin__input .checkin--input {
	transition-delay: 350ms
}

.loaded .checkout__input .booking__pretitle {
	transition-delay: 400ms
}

.loaded .checkout__input .checkout--input {
	transition-delay: 450ms
}

.loaded .booking .mask > span {
	transition: color 0.4s var(--link-handle), transform 1s var(--transition-handle) 500ms;
}

.hotel__page .menu__item--hotel,
.suites__page .menu__item--suites,
.neighborhood__page .menu__item--neighborhood,
.gallery__page .menu__item--gallery,
.ofertas__page .menu__item--offers {
	opacity: 0.6;
	pointer-events: none;
}

	
@media (min-width: 981px) {
	
	.page__header.top .logo__batimont {
		height: var(--s-40);
	}
	
	.page__header:not(.top) {
		transform: translate3d(0, calc(-1px - var(--s-48)), 0);
	}
	
	.page__header:not(.top) .header__inner .header__nav .main__nav {
		height: var(--s-64);
	}
	
	.page__header:not(.top) .header__logo__inner {
		height: var(--s-64);
	}
		
	.page__header__navtrigger,
	.header__nav__mobile {
		display: none;
	}
	
	html:not(.loaded) .header__inner .menu__item .mask > span,
	html:not(.loaded) .header__inner .btn .mask > span {
		transform: translate3d(0, 100%, 0);
	}
	
	.loaded .header__inner .main__nav .menu__item:nth-child(2) .mask > span {
		transition-delay: 200ms
	}
	
	.loaded .header__inner .main__nav .menu__item:nth-child(3) .mask > span {
		transition-delay: 300ms
	}

    .loaded .header__inner .main__nav .menu__item:nth-child(4) .mask > span{
		transition-delay: 400ms
	}

    .loaded .header__inner .main__nav .menu__item:nth-child(5) .mask > span,
    .loaded .header__inner .secondary__nav .menu__item .mask > span {
		transition-delay: 500ms
	}
	
	.loaded .header__inner .btn {
		transition: opacity 1s var(--transition-handle) 350ms, background 0.4s var(--transition-handle);
		opacity: 1;
	}
	
	.loaded .header__inner .btn > .mask > span {
		transition-delay: 500ms
	}
	
}

@media (max-width: 980px) {
	
	.page__header .header__nav {
		display: none;
	}
	
	.page__header .logo__batimont {
		height: var(--s-24);
	}
	
	.page__header__navtrigger {
		align-items: center;
		display: flex;
		justify-content: center;
		height: var(--s-56);
		width: var(--s-56);
		pointer-events: auto;
	}
	
	.page__header__navtrigger .menu__icon {
		position: relative;
		height: var(--s-18);
		width: var(--s-28);
	}
	
	.page__header__navtrigger .menu__icon--bar {
		height: 2px;
		left: 0;
		position: absolute;
		transition: all 0.4s var(--transition-handle);
		width: 100%;
	}
	
	.page__header__navtrigger .menu__icon--bar:first-child,
	.page__header__navtrigger .menu__icon--bar:nth-child(3) {
		transform-origin: center;
	}
	
	.page__header__navtrigger .menu__icon--bar:nth-child(2) {
		transform-origin: left;
	}
	
	.menu--open .page__header__navtrigger .menu__icon--bar:first-child {
		top: calc(50% - 1px);
		transform: rotate(45deg);
	}
	
	.menu--open .page__header__navtrigger .menu__icon--bar:nth-child(2) {
		transform-origin: right;
		transform: scaleX(0)
	}
	
	.menu--open .page__header__navtrigger .menu__icon--bar:nth-child(3) {
		bottom: calc(50% - 1px);
		transform: rotate(-45deg);
	}
	
		.page__header__navtrigger .menu__icon--bar:before {
			background: currentcolor;
			content: '';
			height: 100%;
			left: 0;
			position: absolute;
			transform-origin: left;
			transition: transform 1s var(--transition-handle);
			width: 100%;
		}
		
		html:not(.loaded) .page__header__navtrigger .menu__icon--bar:before {
			transform: scaleX(0);
		}
		
		.page__header__navtrigger .menu__icon--bar:first-child:before {
			transition-delay: 200ms;
		}
		
		.page__header__navtrigger .menu__icon--bar:nth-child(2):before {
			transition-delay: 300ms;
		}
		
		.page__header__navtrigger .menu__icon--bar:nth-child(3):before {
			transition-delay: 400ms;
		}
	
	.page__header__navtrigger .menu__icon--bar:first-child {
		top: 0;
	}
	
	.page__header__navtrigger .menu__icon--bar:nth-child(2) {
		top: calc(50% - 1px);
	}
	
	.page__header__navtrigger .menu__icon--bar:last-child {
		bottom: 0;
	}
	
	.header__nav__mobile {
		background: var(--color-black);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: calc(100dvh - var(--s-56));
		opacity: 0;
		position: relative;
		transition: opacity 0.6s var(--transition-handle);
		pointer-events: none;
	}
	
	.header__nav__mobile .menu__item {
		display: block;
	}
	
	.menu--open .header__nav__mobile {
		opacity: 1;
		pointer-events: auto;
	}
	
	.header__nav__mobile .main__nav {
		padding: calc(var(--grid-margin) * 2) var(--grid-margin);
		position: relative;
	}
	
	.header__nav__mobile .menu__item + .menu__item {
		margin-top: var(--s-08);
	}
	
	.nav__mobile__footer {
		position: relative;
	}
	
	.nav__mobile__footer .secondary__nav {
		display: flex;
		position: relative;
	}
	
	.nav__mobile__footer .btn,
	.nav__mobile__footer .custom {
		box-sizing: border-box;
		text-align: center;
		padding: var(--s-16) var(--grid-margin);
		width: 100%;
	}
	
	.nav__mobile__footer .lang {
		display: flex;
		justify-content: center;
	}
	
	.nav__mobile__footer .lang:first-child .sp__line--left {
		display: none;
	}
		
	.header__nav__mobile .main__nav .menu__item .mask > span {
		opacity: 0;
		transition: opacity 0.4s var(--transition-handle), transform 0s 0.6s;
		transform: translate3d(0, 100%, 0);
	}
	
	.menu--open	.header__nav__mobile .menu__item .mask > span {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition: transform 0.6s var(--transition-handle);
	}
	
	.menu--open	.header__nav__mobile .menu__item:nth-child(2) .mask > span {
		transition-delay: 50ms;
	}
	
	.menu--open	.header__nav__mobile .menu__item:nth-child(3) .mask > span {
		transition-delay: 100ms;
	}
	
	.menu--open	.header__nav__mobile .menu__item:nth-child(4) .mask > span {
		transition-delay: 150ms;
	}
	
	.menu--open	.header__nav__mobile .menu__item:nth-child(5) .mask > span {
		transition-delay: 200ms;
	}
	
}

@media (max-width: 980px) and (min-width: 681px) {

	.header__nav__mobile .main__nav .menu__item .mask {
		height: clamp(3rem, var(--s-56), 4rem);
	}

}

@media (max-width: 680px) {

	.header__nav__mobile .main__nav .menu__item .mask {
		height: var(--s-40);
	}

}

@media (hover: hover) {
	
	.header__inner .menu__item {
		transition: opacity 0.4s var(--link-handle);
	}
	
	.header__inner .menu__item:hover {
		opacity: 0.6;
	}
	
}

/*************************hero*******************/

.hero {
	display: flex;
	flex-direction: column;
	justify-content: end;
	height: 100vh;
	overflow: hidden;
	width: 100%;
	position: relative;
}

.hero__img {
	opacity: 0;
	pointer-events: none;
	transform: scale(1.2);
}

	.home__hero .hero__img:before,
	.home__hero .hero__img:after,
	.parallax__container.hero__img:before {
		content: '';
		left: 0;
		position: absolute;
		width: 100%;
		z-index: 1;
	}
	
	.home__hero .hero__img:after {
		bottom: 0;
		height: 50%;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 80%);
	}
	
	.home__hero .hero__img:before,
	.parallax__container.hero__img:before {
		top: 0;
		height: 25%;
		background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	}

.page--in .hero__img {
	opacity: 1;
	transform: scale(1);
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle);
}

.hero__content {
	width: 100%;
	display: flex;
	position: relative;
}

.hero__content .sp__line--top,
.hero__content .sp__line--bottom {
	transform: scaleX(0);
}

.hero__content .sp__line--left,
.hero__content .sp__line--right {
	transform: scaleY(0);
}

.page--in .hero__content .sp__line--top,
.page--in .hero__content .sp__line--bottom {
	transform: scaleX(1);
	transition-delay: 0.4s; 
}

.page--in .hero__content .sp__line--left,
.page--in .hero__content .sp__line--right {
	transform: scaleY(1);
	transition-delay: 0.4s; 
}

.featured__container {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
}

.featured__text {
	align-items: center;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	display: flex;
	padding: var(--grid-margin);
	text-transform: uppercase;
	width: 50%
}

.featured__text p {
	max-width: 75%;
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle);
	transition-delay: 200ms;
}

html:not(.loaded) .featured__text p {
	opacity: 0;
	transform: translate3d(0, 100%, 0);
}

.featured__booking {
	box-sizing: border-box;
	width: 50%;
	justify-content: center;
	align-items: center;
	text-transform: uppercase;
	position: relative;
}

.booking__controls {
	display: flex;
	width: 100%;
}

.booking__controls > div {
	box-sizing: border-box;
	padding: var(--s-16) var(--s-18);
	position: relative;
	width: 50%;
}

.booking__pretitle {
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transition: transform 1s var(--transition-handle);
}

.checkin__input,
.checkout__input {
	transition: color 0.2s var(--link-handle), background 0.2s var(--link-handle);
}

.checkin__input .mask:first-child,
.checkout__input .mask:first-child {
	margin-bottom: var(--s-06);
}

.featured__booking .btn {
	text-align: center;
	padding: var(--grid-margin);
	position: relative;
}

.checkin--input,
.checkout--input {
	cursor: pointer;
	transition: transform 1s var(--transition-handle);
}

.show--checkin .checkin__input,
.show--checkout .checkout__input {
	background: var(--color-grey-03);
	color: var(--color-text-02);
}

.checkin--calendar,
.checkout--calendar {
	background: var(--color-black);
	border-top: solid 1px var(--color-grey-03);
	border-left: solid 1px var(--color-grey-03);
	border-right: solid 1px var(--color-grey-03);
	box-sizing: border-box;
	position: absolute;
	bottom: 100%;
	left: -1px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s var(--link-handle);
	z-index: 2;
}
	
.show--checkin .checkin--calendar,
.show--checkout .checkout--calendar {
	opacity: 1;
	pointer-events: auto;
}

.calendar__header {
	border-bottom: solid 1px var(--color-grey-03);
	box-sizing: border-box;
	color: var(--color-text-01);
	padding: var(--s-12) var(--s-18);
	text-align: center;
}

.calendar--error {
	box-sizing: border-box;
	border-bottom: solid 1px var(--color-grey-03);
	border-top: solid 1px var(--color-grey-03);
	padding: var(--grid-margin);
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-red);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	color: var(--color-white);
	pointer-events: none;
	opacity: 0;
}

.calendar--error.show {
	pointer-events: auto;
	opacity: 1;
}

/**/

.text__section,
.reveal__text__section {
   position: relative;
}

.reveal__text__container > div {
	width: 100%;
}

.centered__text {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: var(--s-12);
	width: 100%;
}

.centered__text > p {
	max-width: 48%; 
}

.text__section p {
	transition: filter 1s var(--link-handle);
}

.hide.text__section p {
	-webkit-filter: brightness(20%);
	filter: brightness(20%);
}

.grecaptcha-badge {
	display: none !important;
}

@media (hover: none) {
	
	.hero {
		height: 100svh;
	}
	
	.hero__img {
		height: 100lvh;
	}
	
}

@media (max-width: 980px) {
	
	.wrp---min,
	.centered__text > p {
		max-width: 80%; 
	}
	
}

@media (min-width: 681px) {
	
	.centered__text .title {
		margin: 0 auto;
		max-width: 80%;
	}

	.featured__text .sp__line--top {
		display: none;
	}

}

@media (max-width: 680px) {
	
	.home__hero .hero__img:after {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 50%);
		height: 66.667%;
	}
	
	.wrp---min {
		width: 100%;
	}
	
	.featured__text,
	.featured__booking {
		width: 100%
	}
	
	.featured__text .sp__line--right {
		display: none;
	}
	
	.featured__text p {
		padding-right: var(--grid-margin);
		max-width: 100%; 
	}
	
	.centered__text .title {
		margin: 0 auto;
		max-width: 92%;
	}
	
	.checkin--calendar {
		left: 50vw;
		transform: translateX(-50%);
	}
	
	.checkout--calendar {
		left: 0;
		transform: translateX(-50%);
	}
	
	.booking__controls .vanilla-calendar {
		width: 100vw;
	}
	
	.form__group .checkin--calendar,
	.form__group .checkout--calendar {
		left: calc(-2px - var(--grid-margin));
		transform: translateX(0);
	}
	
	.calendar--error {
		font-size: clamp(0.75rem, var(--s-14), 1.125rem);
		line-height: 1.25;
	}
	
}


/************************STUDIOS*****************/

.suites__hero {
	display: flex;
	flex-direction: column;
}

.suites__intro {
	background: var(--color-black);
	position: relative;
}

.suites__intro .mask {
	margin-bottom: calc(0px - var(--s-16));
	padding-bottom: var(--s-16);
}

.suites__intro .mask > span {
	transform: translate3d(0, 100%, 0);
	transition: transform 0s 0.8s;
}

.page--in .suites__intro .mask > span {
	transform: translate3d(0, 0, 0);
	transition: transform 1s var(--transition-handle);
}

.suites__page .suites__intro .sp__line--top {
	transform: scaleX(0);
	transition: transform 0s 0.8s;
}

.page--in .suites__intro .sp__line--top {
	transform: scaleX(1);
	transition: transform 1s var(--transition-handle);
}

.studios__section {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.studios__container {
	background: var(--color-black);
	display: flex;
	flex-wrap: wrap;
}

.studio__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}

.studio__content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.studio__card .sp__line {
	z-index: 1;
}

.studio__img {
	height: 0;
	overflow: hidden;
	position: relative;
	padding-top: 66.667%;
	width: 100%;
}

.studio__img .studio__slider__wrp {
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle);
}

.hide .studio__img .studio__slider__wrp {
	opacity: 0;
}

.studio__title {
	padding: calc(var(--grid-margin) * 2) var(--grid-margin) var(--grid-margin);
}

.studio__title .subtitle {
	text-transform: uppercase;
}

.studio__title .mask > span {
	transition: transform 1s var(--transition-handle);
    text-transform:uppercase;
}

.studio__title .subtitle .mask > span {
	transition-delay: 0.1s;
}

.hide .studio__title .mask > span {
	transform: translate3d(0, 100%, 0);
}

.studio__room {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	padding: var(--grid-margin);
	height: 100%;
}

.room__item {
	width: 50%;
}

.studio__buttons {
	display: flex;
	position: relative;
}

.studio__buttons .btn {
	text-align: center;
	padding: var(--s-16) var(--grid-margin);
	width: 50%;
}

.studio__card .details__btn .mask > span {
	transition: color 0.4s var(--transition-handle), transform 0.4s var(--transition-handle);
}

.studio__card.card--opened .details__btn .mask > span {
	color: var(--color-black);
	transform: translate3d(0, -100%, 0);
}

.studio__card.card--opened .details__btn {
	background: var(--color-grey-03);
}


@media (min-width: 681px) {
	
	.studios__container {
		width: calc(100% + 1px);
	}

	.studio__card {
		width: 50%;
	}

}

@media (max-width: 680px) {
	
	.studio__card {
		width: 100%;
	}
	
	.studio__card .sp__line--right {
		display: none;
	} 
	
}

/** IMAGE SECTION **/

.image__section {
	box-sizing: border-box;
	width: 100%;
}

.image__section.bg--grey {
	padding: var(--grid-margin) 0;
}

.parallax__container {
	position: relative;
	overflow: hidden;
}

@media (min-width: 981px) {
	
	.image__section {
		height: 100vh;
	}
	
	.suites__hero {
		height: 100vh;
	}
	
}

@media (max-width: 980px) {
	
	.suites__hero .hero__img,
	.image__section {
		height: 100vw;
	}
	
	.image__section .parallax__container:not(.hero__img) img {
		height: 124vw;
		position: relative;
		top: -12vw;
	} 
	
}

/** FORM **/

.form__container {
	margin: 0 auto;
	max-width: 60rem;
	width: 64%;
	transition: opacity 1s var(--link-handle), transform 1s var(--link-handle);
}

.form__container.hide {
	opacity: 0;
	transform: translate3d(0, var(--s-40), 0);
}

.form__text {
	margin-bottom: calc(var(--grid-margin) * 1.5);
	position: relative;
	text-transform: uppercase;
}

.form__group {
	display: flex;
}

.form__element {
	box-sizing: border-box;
	position: relative;
	width: 100%;
}

.form__group > .form__element {
	width: 50%;
}

.form__group:first-child {
	border-top: solid 1px var(--color-grey-03);
	border-left: solid 1px var(--color-grey-03);
}

.form__group:nth-child(2),
.form__element:nth-child(3) {
	border-left: solid 1px var(--color-grey-03);
}

.form__group:nth-child(4) {
	justify-content: space-between;
	margin-top: var(--s-16);
}

.form__container .featured__booking .checkin--input,
.form__container .featured__booking .checkout--input {
	text-transform: initial;
}

.form__container .featured__booking .form__element {
	border-bottom: solid 1px var(--color-grey-03);
	border-right: solid 1px var(--color-grey-03);
}

.form__container .featured__booking .form__element .checkin--calendar,
.form__container .featured__booking .form__element .checkout--calendar {
	border-bottom: solid 1px var(--color-grey-03);
}

.form__container .featured__booking .form__element:not(.filled) .checkin--input,
.form__container .featured__booking .form__element:not(.filled) .checkout--input {
	opacity: 0.7;
}

.legal__container {
	flex: 1;
	margin-right: var(--grid-margin);
}

.form__element input,
.form__element textarea {
	color: var(--color-text-01);
	box-sizing: border-box;
	display: block;
	border-bottom: solid 1px var(--color-grey-03);
	border-right: solid 1px var(--color-grey-03);
	font-size: inherit;
	line-height: inherit;
	padding: var(--s-16);
	transition: color 0.2s var(--link-handle), background 0.2s var(--link-handle);
	width: 100%;
}

.form__element input:active,
.form__element textarea:active,
.form__element input:focus,
.form__element textarea:focus {
	background: var(--color-grey-03);
	color: var(--color-text-02);
} 

.form__element textarea {
	min-height: 15rem;
	resize: none;
}

.form__element label {
	background: var(--color-black);
	left: var(--s-16);
	opacity: 0.7;
	pointer-events: none;
	position: absolute;
	top: var(--s-16);
}

.form__element input:focus + label,
.form__element textarea:focus + label,
.form__element input:active + label,
.form__element textarea:active + label,
.form__element.filled label {
	visibility: hidden;
}

.form__element input::placeholder,
.form__element textarea::placeholder {
	color: rgba(8, 9, 13, 0);
}

.form__element input:focus::placeholder,
.form__element input:active::placeholder,
.form__element textarea:focus::placeholder,
.form__element textarea:active::placeholder {
	color: rgba(8, 9, 13, 0.5);
}

.form__element:not(.filled) input[type='date'] {
	color: rgba(8, 9, 13, 0);
}

.form__element:not(.filled) input[type='date']:focus,
.form__element:not(.filled) input[type='date']:active {
	color: var(--color-text-02);
}

.form__element input:-webkit-autofill,
.form__element input:-webkit-autofill:hover,
.form__element input:-webkit-autofill:focus,
.form__element input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 100px var(--color-grey-03) inset;
	background-color: var(--color-grey-03);
	background-clip: content-box;
	color: var(--color-text-02);
	border: none;
}

.form__element__checkbox {
	display: flex;
	flex-wrap: wrap;
}

.form__element__checkbox + .form__element__checkbox {
	margin-top: var(--s-08);
}

.form__element__checkbox input,
.form__element__checkbox label {
	cursor: pointer;
}

.form__element__checkbox label {
	padding-left: var(--s-24);
	position: relative;
}

	.form__element__checkbox label:before {
		border: solid 1px var(--color-grey-03);
		border-radius: 50%;
		box-sizing: border-box;
		content: '';
		display: inline-block;
		height: var(--s-16);
		margin-right: var(--s-08);
		left: 0;
		position: absolute;
		top: calc(var(--s-04) - 1px);
		width: var(--s-16);
	}
	
	.form__element__checkbox label:after {
		background: var(--color-grey-03);
		border-radius: 50%;
		content: '';
		height: var(--s-08);
		position: relative;
		left: var(--s-04);
		position: absolute;
		transform: scale(0);
		transition: transform 0.2s var(--link-handle);
		top: calc(var(--s-08) - 1px);
		width: var(--s-08);
	}
	
	.form__element__checkbox input:checked + label:after {
		transform: scale(1);
	}

.submit__container {
	display: flex;
	justify-content: right;
	position: relative;
}

.submit__container .btn {
	border: solid 1px var(--color-grey-03);
	height: fit-content;
	min-width: 12rem;
	padding: var(--s-16) var(--grid-margin);
	text-align: center;
}

.input__error {
	background: var(--color-red);
	border: solid 1px var(--color-grey-03);
	position: absolute;
	padding: var(--s-08) var(--s-12);
	left: -1px;
	top: 1px;
	width: calc(100% + 1px);
	z-index: 1;
	box-sizing: border-box;
	transform: translateY(-100%);
	text-transform: uppercase;
}

.message_error.input__error,
.term_error.input__error,
.consent_error.input__error {
	bottom: 0;
	top: auto;
	transform: translateY(0);
}

.term_error.input__error,
.consent_error.input__error {
	margin-top: var(--s-08);
	position: relative;
}

.form--standard {
	transition: transform 0.4s var(--transition-handle);
}

.form--success,
.form--error {
	border: solid 1px var(--color-grey-03);
	position: absolute;
	opacity: 0;
	pointer-events: none;
	padding: var(--s-08) var(--s-12);
	top: 0;
	left: 0;
	transition: opacity 0.4s var(--transition-handle);
}

.form--success {
	background: var(--color-green);
}

.form--error {
	background: var(--color-red);
}

.success .form--success,
.error .form--error {
	opacity: 1;
	pointer-events: auto;
} 

.success .form--standard,
.error .form--standard {
	opacity: 0;
	pointer-events: none;
} 

.input__error{
	display: none;
}

.error .input__error{
	display: block;
}

@keyframes rotator {
	
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(270deg);
	}
	
}

.loading__spinner {
	width: 100%;
	top: 0;
	left: 0;
	height: 100%;
	background: var(--color-grey-03);
	display: none;
	justify-content: center;
	position: absolute;
	align-items: center;
	z-index: 1;
}

.waiting .loading__spinner {
	display: flex;
}

.spinner {
	animation: rotator 1.4s linear infinite;
	width: var(--s-20);
}

.spinner .path {
	stroke-dasharray: 280;
	stroke-dashoffset: 0;
	transform-origin: center;
	stroke: var(--color-black);
	stroke-width: 5;
	animation: dash 1.4s ease-in-out infinite;
}

@keyframes dash {

	0% {
		stroke-dashoffset: 280;
	}
	
	50% {
		stroke-dashoffset: 75;
		transform: rotate(135deg);
	}
	
	100% {
		stroke-dashoffset: 280;
		transform: rotate(450deg);
	}

}

@media (max-width: 1280px) and (min-width: 681px) {
	
	.form__container {
		width: 80%;
	}
	
}

@media (max-width: 980px) and (min-width: 681px) {
	
	.form__container {
		width: 80%;
	}
	
	.form__element__checkbox label:before {
		top: calc(var(--s-06) - 1px);
	}
	
	.form__element__checkbox label:after {
		top: calc(var(--s-10) - 1px);
	}
	
}

@media (max-width: 680px) {
	
	.form__group {
		flex-wrap: wrap;
	}
	
	.form__container,
	.form__group > .form__element,
	.legal__container,
	.submit__container,
	.submit__container .btn {
		width: 100%;
	}
	
	.submit__container {
		margin-top: var(--grid-margin);
	}
	
	.form__container {
		width: 100%;
	}
	
}

@media (hover: hover) {
	
	.form a {
		opacity: 0.6;
		transition: opacity 0.4s var(--link-handle);
	}

	.form a:hover {
		text-decoration: underline;
		opacity: 1;
	}

}

@media (hover: none) {
	
	.form a {
		opacity: 0.6;
	}
	
}

/** default **/

.default__section {
	margin-top: var(--s-96);
	position: relative;
}

.default__section .text strong {
	font-weight: 700;
}

.default__section .text p + p {
	margin-top: calc(1em * 1.25);
}

.default__section .title > .mask > span {
	transition: transform 1s var(--link-handle);
}

.default__section .text {
	transition: opacity 1s var(--link-handle);
}

.default__section .text h2 {
	font-size: clamp(1.25rem, var(--s-24), 2rem);
	line-height: 1.25;
	margin-bottom: var(--s-24);
	text-transform: uppercase;
}

.default__section .text > div h2:not(:first-child) {
	margin-top: var(--s-64);
}

.default__section .text h3 {
	font-weight: 700;
	margin-bottom: var(--s-16);
}

.default__section .text ul {
	margin: calc(1em * 1.25) 0;
}

.default__section .text li {
	padding-left: var(--s-08);
	position: relative;
}

.default__section .text li + li {
	margin-top: var(--s-04);
}

	.default__section .text li:before {
		border-radius: 50%;
		content: '·';
		left: 0;
		position: absolute;
		top: 0;
	}
	
.default__section table {
	border-spacing: 0;
	font-size: inherit;
	line-height: inherit;
	margin: var(--s-32) 0 var(--s-48);
	width: 100%
}

.default__section td,
.default__section th {
	box-sizing: border-box;
	padding: var(--s-20) var(--grid-margin);
	text-align: left;
	vertical-align: top;
}

.default__section th {
	border-bottom: 1px solid var(--color-grey-03);
	border-top: 1px solid var(--color-grey-03);
	font-weight: 700;
}

.default__section td {
	border-bottom: 1px solid var(--color-grey-03);
}

.default__section .text a {
	word-break: break-word;
}

body:not(.page--in) .default__section .title > .mask > span {
	transform: translate3d(0, 100%, 0);
}

body:not(.page--in) .default__section .text {
	opacity: 0;
}

	
@media (max-width: 980px) {	

	.default__section .text h2 {
		font-size: clamp(1rem, var(--s-18), 1.5rem);
		line-height: 1.25;
	}
	
}

@media (min-width: 681px) {
	
	.default__section table {
		border-left: 1px solid var(--color-grey-03);
		border-right: 1px solid var(--color-grey-03);
	}
	
}
	
@media (max-width: 680px) {
	
	.default__section {
		margin-top: var(--s-56);
	}
	
	.default__section .text h2 {
		margin-bottom: var(--s-16);
	}
	
	.default__section .text > div h2:not(:first-child) {
		margin-top: var(--s-48);
	}
	
	.default__section thead {
		display: none;
	}
	
	.default__section tr {
		display: block;
	}
	
	.default__section tr + tr {
		margin-top: var(--grid-margin);
	}
	
	.default__section td,
	.default__section th {
		border-left: 1px solid var(--color-grey-03);
		border-right: 1px solid var(--color-grey-03);
		display: flex;
		flex-direction: column;
		padding: var(--s-16) var(--grid-margin);
		width: 100%;
	}
	
	.default__section td:first-child {
		border-top: 1px solid var(--color-grey-03);
		font-weight: 700;
	}
	
}

@media (hover: hover) {
		
	.default__section .text a {
		opacity: 0.6;
		transition: opacity 0.4s var(--link-handle);
	}

	.default__section .text a:hover {
		text-decoration: underline;
		opacity: 1;
	}

}

@media (hover: none) {
	
	.default__section .text a {
		opacity: 0.6;
	}
	
}
	

/** FOOTER **/

.page__footer {
	background: var(--color-black);
	position: relative;
}

.footer__logo {
	position: relative;
}

.footer__logo__container {
	display: flex;
	justify-content: center;
	width: 100%;
}

.footer__logo__image {
	position: relative;
	height: clamp(12rem, 24vw, 22.5rem);
	width: clamp(12rem, 24vw, 22.5rem);
	transition: opacity 1s var(--link-handle);
}

.hide .footer__logo__image {
	opacity: 0;
}

.footer__nav {
	position: relative;
}

.footer__nav__inner,
.legal__nav__inner {
	display: grid;
	row-gap: var(--grid-gap);
}

.footer__nav__inner {
	grid-template-columns: repeat(4, 1fr);
}


.legal__nav__inner {
	grid-template-columns: repeat(4, 1fr);
}

.footer__nav__links {
	display: flex;
	flex-direction: column;
}

.footer__nav__title {
	font-weight: 700;
	margin-bottom: var(--s-08);
	text-transform: uppercase;
}

.address__link {
	display: flex;
	flex-direction: column;
	width: fit-content;
}

.footer__link:not(.address__link),
.footer__link span,
.address__link span {
	display: inline-block;
	position: relative;
	width: fit-content;
}

.footer__link + .footer__link,
.address__link span + span {
	margin-top: var(--s-04);
}

	.footer__link span:before {
		background: currentcolor;
		bottom: 0;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		transform-origin: left;
		transform: scaleX(0);
		transition: transform 0.4s var(--link-handle);
		width: 100%;
	}
	
	.footer__link:hover span:before {
		transform: scaleX(1);
	}

.copyright {
	font-weight: 700;
}

@media (max-width: 680px) {
	
	.footer__nav__inner,
	.legal__nav__inner {
		grid-template-columns: repeat(2, 1fr);
	}


	
}

.transition__layer {
	background: var(--color-black);
	left: 0;
	height: 100vh;
	top: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.5s var(--link-handle);
	width: 100%;
	z-index: 9;
}

.page--out .transition__layer {
	opacity: 1;
}

.loading {
	opacity: 0;
	position: absolute;
	top: 50%;
	text-align: center;
	text-transform: uppercase;
	transform: translateY(-50%);
	transition: opacity 0.4s var(--transition-handle);
	width: 100%;
}

.page--out .loading {
	opacity: 1;
	transition: opacity 0.4s var(--transition-handle) 1s;
}

.loading > span {
	-webkit-animation: load 1.6s var(--transition-handle) infinite;
	animation: load 1.6s var(--transition-handle) infinite;
}

@keyframes load {

	0%    {
		opacity: 0;
	}

	50%    {
		opacity: 1;
	}

	100%   {
		opacity: 0;
	}

}


/** COOKIEBOT **/

#CybotCookiebotDialog *, #CybotCookiebotDialogBodyUnderlay * {
	font-family: 'Manrope', sans-serif !important;
	font-weight: 400 !important;
}

#CybotCookiebotDialog.CybotEdge {
	border-top: solid 1px var(--color-grey-03);
	border-radius: 0;
}

#CybotCookiebotDialog h2 {
	font-weight: 700 !important;
}

#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
	border-radius: 0 !important;
	border-width: 1px !important;
	text-transform: uppercase;
}

@media (max-width: 680px) {
	
	#CybotCookiebotDialog {
		bottom: 0 !important;
		left: 0 !important;
		transform: translateZ(0) !important;
		width: 100% !important;
	}
	
	#CybotCookiebotDialogBody .CybotCookiebotScrollContainer {
		max-height: 13em !important;
	}
	
}

/***************************SERVICIOS*********************/

.services__text.bg--grey,
.service__section.bg--grey {
    color: var(--color-text-02);
}

.service__container {
    display: grid;
}

.service__section__inner,
.service__item {
    box-sizing: border-box;
}

.service__section__inner > div {
	border-top: solid 1px var(--color-text-03);
	padding-top: var(--s-48);
}

.service__item li {
	padding-left: var(--s-08);
	position: relative;
}

.service__item li + li {
	margin-top: var(--s-12);
}

	.service__item li:before {
		border-radius: 50%;
		content: '·';
		left: 0;
		position: absolute;
		top: 0;
	}

.service__image--wrp {
    height: var(--s-40);
	margin: 0 var(--s-08);
    position: relative;
	width: var(--s-40);
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle);
}

.service__container.hide .service__image--wrp {
	opacity: 0;
}

.service__text--wrp li {
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle);
}

.hide .service__text--wrp li {
	opacity: 0;
	transform: translate3d(0, 100%, 0);
}

.service__item:first-child .service__text--wrp li:first-child {
	transition-delay: 200ms;
}

.service__item:nth-child(2) .service__image--wrp {transition-delay: 100ms;}
.service__item:nth-child(3) .service__image--wrp {transition-delay: 200ms;}
.service__item:nth-child(4) .service__image--wrp {transition-delay: 300ms;}
.service__item:nth-child(5) .service__image--wrp {transition-delay: 400ms;}
.service__item:nth-child(6) .service__image--wrp {transition-delay: 500ms;}
.service__item:nth-child(7) .service__image--wrp {transition-delay: 600ms;}
.service__item:nth-child(8) .service__image--wrp {transition-delay: 700ms;}
.service__item:nth-child(9) .service__image--wrp {transition-delay: 800ms;}

.service__item:first-child .service__text--wrp li:first-child {transition-delay: 200ms;}
.service__item:first-child .service__text--wrp li:nth-child(2) {transition-delay: 250ms;}
.service__item:nth-child(2) .service__text--wrp li:first-child {transition-delay: 250ms;}
.service__item:nth-child(2) .service__text--wrp li:nth-child(2) {transition-delay: 300ms;}
.service__item:nth-child(3) .service__text--wrp li:first-child {transition-delay: 300ms;}
.service__item:nth-child(3) .service__text--wrp li:nth-child(2) {transition-delay: 350ms;}
.service__item:nth-child(4) .service__text--wrp li:first-child {transition-delay: 350ms;}
.service__item:nth-child(4) .service__text--wrp li:nth-child(2) {transition-delay: 400ms;}
.service__item:nth-child(5) .service__text--wrp li:first-child {transition-delay: 400ms;}
.service__item:nth-child(5) .service__text--wrp li:nth-child(2) {transition-delay: 450ms;}
.service__item:nth-child(6) .service__text--wrp li:first-child {transition-delay: 450ms;}
.service__item:nth-child(6) .service__text--wrp li:nth-child(2) {transition-delay: 500ms;}
.service__item:nth-child(7) .service__text--wrp li:first-child {transition-delay: 500ms;}
.service__item:nth-child(7) .service__text--wrp li:nth-child(2) {transition-delay: 550ms;}
.service__item:nth-child(8) .service__text--wrp li:first-child {transition-delay: 550ms;}
.service__item:nth-child(8) .service__text--wrp li:nth-child(2) {transition-delay: 600ms;}
.service__item:nth-child(8) .service__text--wrp li:nth-child(3) {transition-delay: 650ms;}
.service__item:nth-child(9) .service__text--wrp li:first-child {transition-delay: 600ms;}
.service__item:nth-child(9) .service__text--wrp li:nth-child(2) {transition-delay: 650ms;}

.service__image--wrp img {
	height: 100%;
    object-fit: cover;
    width: 100%;
}

.service__text--wrp{
    padding-top: var(--s-20);  
}

.service__disclaimer{
    text-align: center;
    width: 100%
}

.image__slider__container {
	height: 0;
	position: relative;
	overflow: hidden;
	background: var(--color-black);
}

.image__slider {
	height: 100%;
}


.image__slider__container  .slick-arrow, 
.studio__img--slider .slick-arrow {
	height: var(--s-32);
	width: var(--s-32);
	top: calc(50% - var(--s-16));
	z-index: 4;
}

.image__slider__container  .slick-prev, 
.studio__img--slider .slick-prev {
	left: var(--grid-margin);
}

.image__slider__container  .slick-next, 
.studio__img--slider .slick-next{
	right: var(--grid-margin);
}

.image__slider__container  .slick-dots, 
.studio__img--slider .slick-dots{
	bottom: var(--s-28);	
}

.image__slider__container .slick-dots li, 
.studio__img--slider .slick-dots li{
	background: transparent;
	height: var(--s-20);
	border-radius: 50%;
	width: var(--s-20);
	margin: 0 var(--s-04);
	position: relative;
}

.image__slider__container .slick-dots li:before,
.image__slider__container .slick-dots li:after, 
.studio__img--slider .slick-dots li:before, 
.studio__img--slider .slick-dots li:after{
	border-radius: 50%;
	content: '';
	position: absolute;
}

.image__slider__container .slick-dots li:before, 
.studio__img--slider .slick-dots li:before{
	box-sizing: border-box;
	border: solid 1px var(--color-grey-03);
	opacity: 0;
	top: 0;
	left: 0;
	height: 100%;
	transition: opacity 0.4s var(--link-handle);
	width: 100%;
}

.image__slider__container .slick-dots li:after, 
.studio__img--slider .slick-dots li:after {
	background: var(--color-grey-03);
	height: var(--s-08);
	width: var(--s-08);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.image__slider__container .slick-dots li.slick-active:before, 
.studio__img--slider .slick-dots li.slick-active:before{
	opacity: 1;
}

	.image__slider__container:before,
	.image__slider__container:after {
		content: '';
		height: 100%;
		position: absolute;
		pointer-events: none;
		top: 0;
		width: 33.334%;
		z-index: 3;
	}
	
	.image__slider__container:before {
		background: linear-gradient(90deg, rgba(8, 9, 13, 0.3) 0%, rgba(8, 9, 13, 0) 100%);
		left: 0;
	}
	
	.image__slider__container:after {
		background: linear-gradient(90deg, rgba(8, 9, 13, 0) 0%, rgba(8, 9, 13, 0.3) 100%);
		right: 0;
	}
	
.image__slider__container .slick-list, 
.studio__img--slider .slick-list{
	cursor: grab;
}

.image__slider__container .slick-list.dragging, 
.studio__img--slider .slick-list.dragging {
	cursor: grabbing;
}

.slider__section > .sp__line {
	z-index: 9;
}

@media (min-width: 981px) {

	.service__container {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--s-64);
		
	}
	
	.service__section__inner {
		padding: 0 var(--s-160);
	}

}

@media (max-width: 980px) {
	
	.service__container {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.service__item:last-child {
		grid-column: 1 / 3;
	}
	
}

@media (max-width: 980px) and (min-width: 681px) {

	.service__container {
		gap: var(--s-48);
		
	}
	
	.service__section__inner {
		padding: 0 var(--s-80);
	}

}

@media (min-width: 681px) {

	.image__slider__container {
		padding-top: max(40rem, 72vh);
	}

}

@media (max-width: 680px) {

	.service__container {
		gap: var(--s-40);
		
	}
	
	.service__section__inner {
		padding: 0 var(--grid-margin);
	}
	
	.image__slider__container,
    .studio__img--slider{
		padding-top: 100vw;
	}
	
	.image__slider__container .slick-slide,
    .studio__img--slider .slick-slide {
		width: 100vw;
	}

}

/* 404 */

.not-found__section {
	align-items: center;
	display: flex;
	height: 100vh;
	justify-content: center;
	width: 100%;
}

/*****************HOTEL NEW*************/

.section__prices__content {
    margin: 0 auto;
    border-top: 1px solid var(--color-grey-03);
	border-right: 1px solid var(--color-grey-03);
	border-left: 1px solid var(--color-grey-03);
    box-sizing: border-box;
	position: relative;
}

	.section__prices__content:before {
		background: var(--color-grey-03);
		content: '';
		left: calc(50% - 1px);
		width: 1px;
		pointer-events: none;
		position: absolute;
	}

.img__rec {
	height: 100%;
	border: 1px solid var(--color-grey-03);
	border-radius: 999px 999px 0 0;
	box-sizing: border-box;
	overflow: hidden;
	margin: 0 -1px;
	position: relative;
	width: calc(100% + 2px);
}

.prices__prices_block_1 .img__rec > img,
.prices__prices_block_2.hide .img__rec > img {
	opacity: 0;
	transform: scale(1.2);
}

.page--in .prices__prices_block_1 .img__rec > img,
.prices__prices_block_2 .img__rec > img {
	opacity: 1;
	transform: scale(1);
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle);
}

.section__prices .prices__prices_block_1 .block__image {
    border-right: 1px solid var(--color-grey-03);
}

.section__prices .prices__prices_block_2 .block__image {
	border-left: 1px solid var(--color-grey-03);
}

.section__prices .cell {
    border-bottom: 1px solid var(--color-grey-03);
	box-sizing: border-box;
    padding: var(--s-32);
}

.section__prices .cell .mask > span {
    display: block;
	transform: translate3d(0, 100%, 0);
	transition: transform 1s var(--transition-handle);
}

.page--in .section__prices .cell .mask > span {
	transform: translate3d(0, 0, 0);
}

.uppercase{
	text-transform: uppercase;
}

.section__prices__content a {
	display: inline-block;
	position: relative;
}

	.section__prices__content a:before {
		background: currentcolor;
		bottom: 0;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		transform-origin: left;
		transform: scaleX(1);
		transition: transform 0.4s var(--link-handle);
		width: 100%;
	}
	
	.section__prices__content a:hover:before {
		transform-origin: right;
		transform: scaleX(0);
	}

@media (min-width: 981px) {
	
	.section__prices__content {
		margin-bottom: var(--s-96);
		width: calc(100% - var(--s-160) * 2);
	}
	
		.section__prices__content:before {
			bottom: calc(0px - var(--s-96));
			height: var(--s-96);
		}
	
	.section__prices .cell {
		min-height: var(--s-160);
	}
	
}

@media (max-width: 980px) and (min-width: 681px) {
	
	.section__prices__content {
		margin-bottom: var(--s-80);
		width: calc(100% - var(--s-80) * 2);
	}
	
		.section__prices__content:before {
			bottom: calc(0px - var(--s-80));
			height: var(--s-80);
		}
		
	.section__prices .cell {
		min-height: var(--s-120);
	}
	
}

@media (max-width: 680px) {
	
	.section__prices__content {
		margin-bottom: var(--s-56);
		width: calc(100% - var(--grid-margin) * 2);
	}
	
		.section__prices__content:before {
			bottom: calc(0px - var(--s-56));
			height: var(--s-56);
		}
		
	.prices__prices_block_2 .block__image {
		order: 0;
	}	
		
	.prices__prices_block_2 .block__prices {
		order: 1;
	}
		
	.img__rec {
		height: 101.781vw
	}
		
	.section__prices .cell {
		padding: var(--s-24);
	}

}

/* El barrio */

.neighborhood__claims{
    border-top: 1px solid var(--color-grey-03);
}

.neighborhood__claims .table--cell {
    border-bottom: 1px solid var(--color-grey-03);
}

.neighborhood__claims .table--cell:first-child,
.neighborhood__claims .table--cell:nth-child(4) {
    border-left: none;
}

.neighborhood__claims .claim__title {
    padding: calc(var(--grid-margin) * 3) var(--grid-margin) var(--grid-margin);
}

.neighborhood__claims .claim__title .mask > span {
	transition: transform 1s var(--transition-handle);
}

.neighborhood__claims .claim__description{
    padding: var(--grid-margin) calc(var(--grid-margin) * 2) calc(var(--grid-margin) * 2) var(--grid-margin);
}

.hide.table--cell .claim__title .mask > span {
	transform: translate3d(0, 100%, 0);
}

.table--cell__img {
	position: relative;
	overflow: hidden;
}

.table--cell__img > img {
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle)
}

.hide .table--cell__img > img {
	opacity: 0;
	transform: scale(1.2);
}

@media (min-width: 681px) {
	
	.neighborhood__claims .table--cell {
		border-left: 1px solid var(--color-grey-03);
	}
	
	.table--cell__img {
		height: 30.556vw;
	}
	
}

@media (max-width: 680px) {
	
	.table--cell__img {
		height: 91.603vw;
	}
	
}

/**** galery grid ************/

.gallery__page .page__header.top .header__inner:before {
	opacity: 1;
}

.gallery__hero {
    height: var(--s-96);
    margin-top: -1px;
}

.image__gallery {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.gallery__row {
	position: relative;
	width: calc(100% + 1px);
	display: flex;
	flex-wrap: wrap;
}

.gallery__item {
	box-sizing: border-box;
    border-top: 1px solid var(--color-grey-03);
	border-right: 1px solid var(--color-grey-03);
	position: relative;
	overflow: hidden;
}

.gallery__item > img {
    height: 100%;
    object-fit: cover;
    width: 100%;
	transition: opacity 1s var(--transition-handle), transform 1s var(--transition-handle)
}

.gallery__item.hide > img {
	opacity: 0;
	transform: scale(1.2);
}

.page--in .gallery__item.hide:nth-child(1) > img,
.page--in .gallery__item.hide:nth-child(2) > img {
	opacity: 1;
	transform: scale(1);
}


@media (min-width: 681px) {

	.gallery__66 {
		width: 66.6667%;
	}
	
	.gallery__33{
		width: 33.3334%;
	}
	
	.gallery__100{
		width: 100%;
	}

}

@media (max-width: 680px) {
	
	.page--in .gallery__item.hide:nth-child(3) > img,
	.page--in .gallery__item.hide:nth-child(4) > img,
	.page--in .gallery__item.hide:nth-child(6) > img {
		opacity: 1;
		transform: scale(1);
	}
	
    .gallery__hero {
    	height: var(--s-56);
	}
	
	.gallery__item {
		height: 66.158vw;
	}
	
	.gallery__item:nth-child(3n+1) {
		width: 66.6667%;
	}
	
	.gallery__item:nth-child(3n+2) {
		width: 33.3334%;
	}
	
	.gallery__item:nth-child(3n+3) {
		width: 100%;
	}
	
	.gallery__item:nth-child(1) {
		order: 0;
	}
	
	.gallery__item:nth-child(2) {
		order: 1;
	}
	
	.gallery__item:nth-child(3) {
		order: 3;
		width: 33.3334%;
	}
	
	.gallery__item:nth-child(4) {
		order: 2;
		width: 100%;
	}
	
	.gallery__item:nth-child(5) {
		order: 6;
	}
	
	.gallery__item:nth-child(6) {
		order: 4;
		width: 66.6667%;
	}
	
	.gallery__item:nth-child(7) {
		order: 6;
	}
	
	.gallery__item:nth-child(8) {
		order: 5;
		width: 100%;
	}
	
	.gallery__item:nth-child(9) {
		order: 8;
		width: 100%;
	}
	
	.gallery__item:nth-child(10) {
		order: 9;
		width: 33.3334%;
	}
	
	.gallery__item:nth-child(11) {
		order: 10;
		width: 66.6667%;
	}
	
	.gallery__item:nth-child(12) {
		order: 13;
		width: 66.6667%;
	}
	
	.gallery__item:nth-child(13) {
		order: 12;
		width: 33.3334%;
	}
	
	.gallery__item:nth-child(14) {
		order: 11;
		width: 100%;
	}
	
	.gallery__item:nth-child(15) {
		order: 14;
	}
	
	.gallery__item:nth-child(16) {
		order: 16;
	}
	
	.gallery__item:nth-child(17) {
		order: 15;
	}
	
	.gallery__item:nth-child(18) {
		order: 17;
	}
	
	.gallery__item:nth-child(19) {
		order: 18;
		width: 100%;
	}
	
	.gallery__item:nth-child(20) {
		order: 19;
	}
	
}


/****************Ofertas*******************/

.ofertas__hero {
    width: 100%;
}

.video__hero {
    aspect-ratio: 1 / 1;
	width: clamp(11.25rem, 15.875vw, 24rem);
	position: relative;
}

.video__hero__container{
    justify-content: center;
    align-items: center;
}

.ofertas__wrapper {
    display: flex;
    flex-wrap: wrap;
}

.offer__card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.offer__card .sp__line {
    z-index: 1;
}

.offer__title {
    padding: calc(var(--grid-margin)* 2) var(--grid-margin) var(--grid-margin);
    text-transform: uppercase;
    font-weight: 700;
}

.offer__content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.offer__img {
    height: 0;
    overflow: hidden;
    position: relative;
    padding-top: 66.667%;
    width: 100%;
}

.offer__text {
    box-sizing: border-box;
	height: 100%;
    position: relative;
    padding: var(--grid-margin)  var(--grid-margin) calc(var(--grid-margin) * 2);
}

.offer__button {
    display: inline-block;
    position: relative;
	margin-top: var(--grid-margin);
	text-transform: uppercase;
}

	.offer__button:before {
		background: currentcolor;
		bottom: 0;
		content: '';
		height: 1px;
		left: 0;
		position: absolute;
		transform-origin: left;
		transform: scaleX(0);
		transition: transform 0.4s var(--link-handle);
		width: 100%;
	}
	
	.offer__button:hover:before {
		transform: scaleX(1);
	}

@media (min-width: 681px) {
	
	.ofertas__container {
		width: calc(100% + 1px);
	}
	
	.offer__card {
		width: 50%;
	}
	
	.offer__text {
		max-width: 80%;
	}
	
}

@media (max-width: 680px) {

	.offer__card .sp__line--right {
		display: none;
	}
	
	.offer__text {
		max-width: 90%;
	}

}

/* FIX *

#booking__main {
	height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
*/

.language__switcher {
	cursor: pointer;
	height: 100%;
	width: var(--s-72);
	text-transform: uppercase;
    z-index:50;
    position:relative;
}

.language__switcher .current__lang {
	background: var(--color-black);
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.language__switcher .nav__submenu {
	align-items: center;
	border-left: solid 1px var(--color-white);
	border-bottom: solid 1px var(--color-white);
    background: var(--color-black);
	justify-content: center;
	display: flex;
	flex-direction: column;
	position: absolute;
	padding-top: var(--s-48);
	left: 0;
	top: 0;
	transform: translate3d(0, -100%, 0);
	transition: transform 0.4s var(--transition-handle);
	width: calc(100% - 3px);
}

.language__switcher:hover .nav__submenu  {
	transform: translate3d(0, 0, 0);
}

.language__switcher .nav__submenu .nav__lang__item {
	align-items: center;
	display: flex;
	justify-content: center;
	width: var(--s-72);
    
}

.language__switcher .nav__submenu .nav__lang__item > .btn {
	height: 100%;
	padding: var(--grid-gap);
	text-align: center;
	width: 100%;
    transition: background 0.4s var(--transition-handle) !important;
}

.language__switcher .nav__submenu .nav__lang__item > .btn:hover{
    color: var(--color-black);
}

.language__switcher .nav__submenu .nav__lang__item > .btn .mask > span {
    transition: none !important;
}

.language__nav--mobile{
    position:relative;
}

.language__nav--mobile .lang__wrp{
    display:flex;
    justify-content: space-between;
}

.language__nav--mobile .lang {
    width: 33.333%;
}

.language__nav--mobile .lang:first-child .sp__line--left {
	display: none;
}