@-moz-keyframes spin {
	100% {
		-moz-transform: rotate(360deg);
	}
}
@-webkit-keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
	}
}
@keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

html {
	font-size: 14px;
	overflow-x: hidden;
}

body {
	background-image: url("../images/bg_concrete_light.jpg");
	background-position: center;
	overflow-x: hidden;
}

@media (max-width: 1439px) {
	.hide-on-mobile {
		display: none;
	}
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	background-size: 200%;
	background-position: 60% center;
	background-repeat: no-repeat;
}

body.home,
body.page-template-page-about {
	background-image: url("../images/bg_concrete_mid.jpg");
}

body.home .wp-site-blocks {
	background-image: url("../images/bg_letter_b_warm.svg");
}

body.page-template-page-about .wp-site-blocks {
	background-image: url("../images/bg_letter_s_warm.svg");
	background-position: center;
}

body.page-template-page-contacts {
	background-image: url("../images/bg_concrete_mid.jpg");
}

body.page-template-page-contacts {
	overflow-y: hidden;
}

body.page-template-page-contacts .wp-site-blocks {
	background-image: url("../images/bg_letter_b_warm.svg");
	background-position: center;
}

.site-header,
.site-footer {
	position: relative;
	z-index: 2;
}

.site-footer {
	margin-top: auto;
}

.site-header > .wp-block-group > .wp-block-group {
	align-items: flex-start;
}

.wp-block-navigation .wp-block-navigation-item__content {
	letter-spacing: 0.1rem;
}

.site-header .wp-block-navigation__responsive-container-close {
	top: 2rem !important;
	right: 0.5rem !important;
}

body.post-type-archive-press .wp-block-navigation-item__content[href="/media/"],
body.post-type-archive-press
	.wp-block-navigation-item__content[href="/es/media/"],
body.post-type-archive-stay .wp-block-navigation-item__content[href="/stays/"],
body.post-type-archive-stay
	.wp-block-navigation-item__content[href="/es/stays/"],
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
	/* color: var(--wp--custom--color--primary); */
	color: white;
	font-weight: bold;
}

.wp-block-navigation .wp-block-navigation-item.menu-item__book-now {
	font-weight: bold;
}

.wp-block-navigation__responsive-close {
	max-width: 100%;
}

.wp-block-navigation svg line {
	stroke: black;
}

.site-footer .wp-block-navigation__container {
	row-gap: 0;
}

.wp-block-pullquote {
	border: 0;
	padding-left: 0;
	padding-right: 0;
	line-height: 1.2;
	font-family: var(--wp--preset--font-family--display-font);
	font-style: normal;
	font-size: var(--wp--custom--font-sizes--huge);
}

.wp-block-button__link {
	border: 2px solid black !important;
	border-radius: 0;
	background: transparent;
	padding-left: 5rem !important;
	padding-right: 5rem !important;
	color: black !important;
	font-family: var(--wp--preset--font-family--heading-font);
	font-weight: bold !important;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus {
	color: black !important;
	background-color: var(--wp--custom--color--primary) !important;
}

/* Homepage */
.wp-block-eedee-block-gutenslider.content-change.homepage__gallery {
	height: 50vh;
	overflow: hidden;
}

/* About */
.about__content > .wp-block-column:nth-child(2) {
	padding-left: var(--wp--custom--gap--horizontal);
	padding-right: var(--wp--custom--gap--horizontal);
}

.about__content h1 {
	font-size: var(--wp--preset--font-size--large);
}

.about__content .wp-block-column img {
	width: 100%;
}

/* Contacts */

@media (max-width: 1019px) {
	.page-contacts .entry-content,
	.page-contacto .entry-content {
		overflow: hidden;
		isolation: isolate;
	}
}

.contacts__content {
	position: relative;
	z-index: 1;
}
.contacts__content hr {
	border-width: 1px;
}

.contacts__content .wp-block-columns,
.contacts__content .wp-block-columns + hr {
	margin-top: calc(2 * var(--wp--style--block-gap));
}

.contacts__circle {
	position: absolute;
	width: 65vw;
	top: 4rem;
	left: 30vw;
	-webkit-animation: spin 32s linear infinite;
	-moz-animation: spin 32s linear infinite;
	animation: spin 32s linear infinite;
	pointer-events: none;
	z-index: 0;
}

.circle-overlay {
	position: absolute;
	max-width: 115px;
	height: auto;
	pointer-events: none;
	-webkit-animation: spin 16s linear infinite;
	-moz-animation: spin 16s linear infinite;
	animation: spin 16s linear infinite;
}

/* Pages */
.page__header .wp-block-post-title,
.archive__header .archive__title {
	font-weight: bold;
	font-family: var(--wp--preset--font-family--body-font);
	font-size: 1.2rem;
}

/* Archives */
.archive__feed {
	margin-top: calc(2 * var(--wp--custom--gap--vertical));
	margin-bottom: var(--wp--custom--gap--vertical);
}

/* Media */
.archive-press__post p {
	margin-bottom: 0;
	text-align: center;
}

.archive-press__post .archive-post__logo {
	text-align: center;
	margin-bottom: calc(1.5 * var(--wp--custom--gap--vertical));
}

.archive-press__post .archive-post__logo a {
	display: block;
}

.archive-press__post .archive-post__logo img {
	display: block;
	margin: 0 auto;
	width: 60%;
	max-width: 18rem;
	height: auto;
}

.archive-press__post .archive-post__title a {
	color: black;
}

.archive-press__post .archive-post__date {
	margin-top: 0;
	font-weight: bold;
}

/* Page Headers */

.page__header {
	position: relative;
	padding-bottom: var(--wp--custom--gap--baseline);
	padding-left: var(--wp--custom--gap--horizontal);
	margin-left: calc(-1 * var(--wp--custom--gap--horizontal));
	/* z-index: 2; */
}

.page__header:after {
	position: absolute;
	content: "";
	width: 60%;
	height: 1px;
	left: 0;
	bottom: 0;
	background-color: black;
}

.page-template-page-fulltext .page__header:after {
	background-color: transparent;
}

/* Stays */
.archive-stay__feed {
	margin-top: 0;
}

.archive-stay__post {
	padding-top: 48px; /* approx. a third of the circle overlay's diameter */
	padding-left: 48px;
	padding-right: 50px;
}

.archive-stay__post a {
	color: black;
}

.archive-stay__post img.attachment-post-thumbnail {
	width: 100%;
	height: 100%;
	vertical-align: baseline;
	object-fit: cover;
}

.archive-stay__post .archive-post__thumbnail {
	position: relative;
	aspect-ratio: 2/3;
}

.archive-stay__post img.circle-overlay {
	width: 120px;
	height: 120px;
	right: -42px;
	top: -42px;
}

.archive-stay__post .archive-post__excerpt {
	font-size: var(--wp--preset--font-size--small);
	text-transform: capitalize;
	margin-top: calc(1 * var(--wp--custom--gap--vertical));
}

.archive-stay__post .archive-post__excerpt p {
	text-align: center;
}

body.single-stay .page__header {
	margin-bottom: calc(8 * var(--wp--custom--gap--baseline));
}

body.single-stay .page__header img.circle-overlay {
	top: 1rem;
	z-index: -1;
}

/* Footer */
body.page-template-page-contacts .site-footer {
	background-color: var(--wp--custom--color--background);
	padding-left: calc(-1 * var(--wp--custom--gap--horizontal));
	padding-right: calc(-1 * var(--wp--custom--gap--horizontal));
	margin-left: calc(-1 * var(--wp--custom--gap--horizontal));
	margin-right: calc(-1 * var(--wp--custom--gap--horizontal));
}

@media (max-width: 599px) {
	.site-header {
		padding-top: var(--wp--custom--gap--vertical);
		padding-bottom: var(--wp--custom--gap--vertical);
	}
	.wp-site-blocks .site-header .wp-block-site-logo {
		flex-basis: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.wp-block-site-logo img {
		position: relative;
		max-width: 210px;
		z-index: 100001;
	}
	.wp-site-blocks
		.site-header
		.wp-block-navigation
		button.wp-block-navigation__responsive-container-open {
		margin-top: 0.7rem;
	}
	.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content {
		padding-top: 30vh;
	}

	.wp-block-navigation.is-responsive:not(.has-background)
		.wp-block-navigation__responsive-container.is-menu-open {
		background-image: url("../images/bg_concrete_light.jpg");
	}

	.site-footer .wp-block-navigation__container {
		justify-content: center;
	}

	.contacts-page-block-group {
		margin-right: calc(-1 * var(--wp--custom--gap--horizontal));
	}
}

@media (min-width: 600px) {
	.site-header {
		padding-top: calc(2 * var(--wp--custom--gap--vertical));
		padding-bottom: calc(2 * var(--wp--custom--gap--vertical));
	}
	.menu-item__blank {
		flex-grow: 1;
	}

	.wp-block-navigation.is-responsive:not(.has-background)
		.wp-block-navigation__responsive-container.is-menu-open {
		background-image: url("../images/bg_concrete_light.jpg");
	}

	.about-page-block-group .about__content {
		max-width: calc(100% + 2 * var(--wp--custom--gap--horizontal)) !important;
	}

	.contacts__content hr {
		margin-right: -8vw;
	}

	.archive-press__post {
		padding-right: calc(2 * var(--wp--custom--gap--horizontal));
	}
	.archive-press__post p {
		text-align: left;
		white-space: normal;
	}
	.archive-press__post .archive-post__logo {
		margin-bottom: var(--wp--custom--gap--vertical);
	}
	.archive-press__post .archive-post__logo img {
		margin-left: 0;
	}
}

@media (min-width: 1020px) {
	.site-header > .wp-block-group > .wp-block-group {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.site-header .wp-block-navigation,
	.site-footer .wp-block-navigation {
		width: calc(100% - 310px - var(--wp--style--block-gap));
		max-width: calc(620px + (50% - 310px)) !important;
	}

	body.home .site-header .wp-block-navigation-item__content {
		color: white;
	}

	.wp-block-navigation__container {
		gap: 3.6vw;
		align-items: flex-start;
	}
	.wp-block-navigation-item.menu-item__book-now {
		margin-left: auto;
	}

	.site-footer .wp-block-navigation {
		margin-right: 0 !important;
	}

	body.home main {
		margin-top: 0;
	}
	body.home .site-header {
		position: absolute;
		left: var(--wp--custom--gap--horizontal);
		right: var(--wp--custom--gap--horizontal);
		z-index: 100;
	}
	body.home .wp-block-buttons {
		display: none;
	}
	.metaslider-flex.homepage__gallery {
		width: calc(100% - 274px - var(--wp--style--block-gap));
		max-width: calc(620px + (50% - 310px) + 8vw);
		height: calc(100vh - 12rem) !important;
		margin-left: auto !important;
		margin-right: calc(-1 * var(--wp--custom--gap--horizontal)) !important;
	}

	.metaslider-flex.homepage__gallery div,
	.metaslider-flex.homepage__gallery ul,
	.metaslider-flex.homepage__gallery li {
		height: 100% !important;
	}
	.metaslider-flex.homepage__gallery li img {
		height: 100%;
		object-fit: cover;
	}

	.about__content .wp-block-column:nth-child(2) {
		padding: 0;
	}

	body.page-template-page-contacts .wp-site-blocks {
		background-size: 110%;
	}
	.contacts__circle {
		left: 50vw;
		width: 50vw;
	}

	.archive-press__header,
	.archive-press__feed {
		margin-left: 10vw;
	}

	.archive-stay__feed .glide__slides {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (min-width: 1440px) {
	.about-page-block-group .about__content {
		column-gap: calc(8 * var(--wp--custom--gap--baseline));
	}
	.about__content .wp-block-column {
		flex-basis: calc(
			50% - 310px - 8 * var(--wp--custom--gap--baseline)
		) !important;
	}
	.about__content .wp-block-column:nth-child(2) {
		flex-basis: 620px !important;
	}
	.about__content .wp-block-column figure {
		height: 100%;
		display: grid;
		align-items: center;
	}

	.page__header {
		position: absolute;
		left: 0;
		width: calc(50% - 310px - 8vw);
		margin-left: 0% !important;
		padding-left: 8%;
		padding-bottom: var(--wp--custom--gap--baseline);
	}
	.page__header:after {
		width: 100% !important;
	}
	.page-template-page-fulltext .page__header:after {
		background-color: black;
	}

	.page__header + .entry-content {
		margin-block-start: -0.25rem;
	}
	.page-template-page-fulltext
		.page__header
		+ .entry-content
		> :where(:not(.alignleft):not(.alignright)) {
		max-width: 860px;
		margin-left: calc(50% - 310px) !important;
	}

	.archive-stay__header,
	.archive-stay__feed {
		padding-left: 10vw;
		padding-right: 10vw;
	}
}

/* Cookie Banner */
.cookies-infobar {
	background: #000;
	color: #fff;
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 10px;
	text-align: center;
}

.cookies-infobar.cookies-infobar_accepted {
	display: none;
}

.cookies-infobar_wrapper {
	margin: 10px;
}

.cookies-infobar a {
	color: inherit;
}

.cookies-infobar_btn {
	display: inline-block;
	padding: 5px 10px;
	background: #000;
	border: 1px solid var(--wp--custom--color--primary);
	text-decoration: none;
	color: #fff;
	text-transform: uppercase;
	font-size: 1.2em;
}

/* Temp Book Now */
.book-now-dropdown {
	position: relative;
}
.book-now-content {
	position: absolute;
	display: none;
}
.book-now-dropdown:focus .book-now-content,
.book-now-dropdown:hover .book-now-content {
	display: block;
}

.book-now-label,
.book-now-content a {
	min-width: 18rem;
	text-align: center;
	display: block;
	background-color: var(--wp--custom--button--color--background);
	border-radius: var(--wp--custom--button--border--radius);
	border-color: var(--wp--custom--button--border--color);
	border-width: 2px;
	border-style: var(--wp--custom--button--border--style);
	color: var(--wp--custom--button--color--text);
	font-family: var(--wp--preset--font-family--body-font);
	font-size: var(--wp--custom--button--typography--font-size);
	font-weight: var(--wp--custom--button--typography--font-weight);
	line-height: var(--wp--custom--button--typography--line-height);
	padding-top: var(--wp--custom--button--spacing--padding--top);
	padding-right: var(--wp--custom--button--spacing--padding--right);
	padding-bottom: var(--wp--custom--button--spacing--padding--bottom);
	padding-left: var(--wp--custom--button--spacing--padding--left);
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	margin-bottom: -2px;
}

.book-now-dropdown-menu .book-now-label,
.book-now-dropdown-menu .book-now-content a {
	min-width: 10rem;
	border: none;
	padding: 0;
	text-align: left;
	font-family: var(--wp--preset--font-family--heading-font) !important;
}

.book-now-dropdown-menu .book-now-content a:focus,
.book-now-dropdown-menu .book-now-content a:hover {
	text-decoration: underline;
}

@media (max-width: 599px) {
	.book-now-label {
		font-size: 1.5rem !important;
	}
	.book-now-content {
		display: block;
		position: relative;
	}
}
@media (min-width: 600px) {
	.wp-block-navigation.is-responsive:not(.has-background)
		.wp-block-navigation__responsive-container.is-menu-open
		.book-now-label {
		font-size: 1.5rem !important;
	}
	.wp-block-navigation.is-responsive:not(.has-background)
		.wp-block-navigation__responsive-container.is-menu-open
		.book-now-content {
		display: block;
		position: relative;
	}
}
@media (min-width: 1020px) {
	body.home .book-now-dropdown-menu .book-now-label,
	body.home .book-now-dropdown-menu .book-now-content a {
		color: white;
	}
}
