/* Defaults
---------------------------------------- */
:root {
	--swiper-navigation-size: 56px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

img,
svg {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--bold);
}

mark {
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--coral) 0%,
		var(--wp--preset--color--coral) 100%
	);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--foreground);
	border-radius: 0;
	color: var(--wp--preset--color--foreground);
	font-family: var(--wp--preset--font-family--base);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--neutral);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* Utilities
---------------------------------------- */

.transition-opacity {
	transition-property: opacity;
	transition-timing-function: ease-in-out;
}
.duration-250 {
	transition-duration: 0.25s;
}
.duration-500 {
	transition-duration: 0.5s;
}
.opacity-0 {
	opacity: 0;
}
.opacity-100 {
	opacity: 1;
}

/* Blocks
---------------------------------------- */

/* -- Code -- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* Header
---------------------------------------- */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 1rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all 0.25s ease-out;
	z-index: 5;
}

.header__branding {
	position: relative;
	z-index: 10;
}

.header__logo {
	display: block;
	padding: 1rem 1.25rem;
	background-image: url("../images/bg_logo.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.header__navigation {
	display: flex;
	align-items: center;
}

.header__language-switcher,
.menu__language-switcher {
	list-style: none;
	margin: 0;
	padding: 0;
}

.header__language-switcher a {
	padding: 1rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: bold;
	color: var(--wp--preset--color--coral);
	text-transform: uppercase;
	text-decoration: none;
}

.menu__language-switcher {
	display: none;
}

.menu__language-switcher a {
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
}

@media only screen and (max-width: 782px) {
	.header__language-switcher {
		display: none;
	}

	.menu__language-switcher {
		display: block;
		margin-top: 1rem;
		text-align: center;
	}
}

.header__menu-booknow {
	padding: 1.1rem 3rem 1rem 1.2rem;
	margin-right: -2.25rem;
	color: var(--wp--preset--color--sand);
	line-height: 1;
	font-size: var(--wp--preset--font-size--small);
	font-weight: bold;
	text-transform: uppercase;
	border-image: url("../images/bg_menubooknow.svg");
	border-image-slice: 12 fill;
	border-image-width: 10px;
	border-image-repeat: stretch;
}

.header__menu-toggle {
	position: relative;
	padding: 1.2rem;
	background-color: transparent;
	background-image: url("../images/bg_menutoggle.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	z-index: 10;
	cursor: pointer;
}

.header__menu {
	display: grid;
	place-content: center;
	position: fixed;
	top: 1rem;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	border-image: url("../images/bg_menu.svg");
	border-image-slice: 20% 20% fill;
	border-image-width: 20% 20%;
	border-image-repeat: stretch;
}

.header__menu ul.menu {
	padding: 0;
	margin: 0;
	text-align: center;
	list-style: none;
}

.header__menu ul.menu a {
	display: block;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	text-decoration: none;
}

.header__menu ul.menu a:hover,
.header__menu ul.menu a:focus {
	text-decoration: underline;
}

/* Footer
---------------------------------------- */

.site-footer {
	padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.45;
	color: var(--wp--preset--color--sand);
	background-color: var(--wp--preset--color--azure);
}

.site-footer a {
	color: var(--wp--preset--color--sand);
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	text-decoration: underline;
}

.site-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer__area {
	margin-top: var(--wp--preset--spacing--60);
}

.footer__container {
	margin: 0 auto;
	max-width: var(--wp--style--global--wide-size);
}

.footer__columns {
	display: flex;
	flex-direction: row;
	gap: var(--wp--preset--spacing--60);
	justify-content: space-between;
}

.footer__column {
	flex: 1 0 0;
}

.footer__navigation .footer__column {
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--sand);
}

.footer__social__icons {
	display: flex;
	gap: 0.75rem;
	align-items: center;
}

.footer__social__icons > svg {
	display: block;
}

.footer__info {
	border-top: 1px solid var(--wp--preset--color--sand);
	padding-top: var(--wp--preset--spacing--50);
}

.footer__info .footer__column + .footer__column {
	text-align: right;
}

@media only screen and (max-width: 782px) {
	.footer__columns {
		flex-direction: column;
	}
}

/* SLIDERS
---------------------------------------- */

.swiper-slide {
	height: auto;
}

.swiper-slide img {
	height: 100%;
}

.swiper-button-next,
.swiper-button-prev {
	width: var(--swiper-navigation-size);
}

.swiper-button-next:after,
.swiper-button-prev:after {
	content: "";
	background-repeat: no-repeat;
	background-size: 100%;
	width: 100%;
	height: 100%;
}
.swiper-button-next:after {
	background-image: url("../images/icon_slider_right.svg");
}
.swiper-button-prev:after {
	background-image: url("../images/icon_slider_left.svg");
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	opacity: 0 !important;
}

.slider-outofframe {
	margin-right: calc(-1 * var(--wp--preset--spacing--x-small));
}

.slider-outofframe .swiper-slide.swiper-slide-prev,
.slider-outofframe .swiper-slide.swiper-slide-next + .swiper-slide,
.slider-outofframe--stays .swiper-slide.swiper-slide-next {
	opacity: 0.3;
}

.slider-outofframe--stays:has(.swiper-button-next.swiper-button-disabled)
	.swiper-slide.swiper-slide-next {
	opacity: 1;
}

.slider-outofframe--stays .swiper-button-next:after {
	background-image: url("../images/icon_slider_right_light.svg");
}
.slider-outofframe--stays .swiper-button-prev:after {
	background-image: url("../images/icon_slider_left_light.svg");
}

@media only screen and (max-width: 781px) {
	.slider-outofframe .swiper-slide.swiper-slide-next {
		opacity: 0.3;
	}
	
	
	.stays-page-navigation {
		flex-direction: column;
	}
}

@media only screen and (min-width: 1440px) {
	.slider-outofframe {
		margin-right: calc(
			(
					-100vw + var(--wp--style--global--wide-size) + var(--wp--preset--spacing--x-small)
				) / 2 - 3px
		);
	}
}

.gallery-page-menu {
	position: fixed;
	left: 0;
	right: 0;
}

body:not(:has(.header__menu--open)) .gallery-page-menu {
	z-index: 5;
}

@media screen and (max-width: 1000px) {
	.gallery-page-menu {
		flex-direction: column;
		gap: 0.5rem !important;
		line-height: 1.15;
		position: absolute;
		top: 1rem;
	}
}

@media screen and (max-width: 781px) {
	.gallery-page-slider .wp-block-makeiteasy-slider {
		padding-left: 7vw;
		padding-right: 7vw;
	}
}

.gallery-page-menu a {
	text-decoration: none;
}

.gallery-page-menu a.active {
	text-decoration: underline;
	color: white;
}

.wp-block-group:has(.gallery-page-slider) {
	padding-top: 5.75rem;
}


@media screen and (min-width: 782px) {
.gallery-page-slider {
	min-height: calc(100vh - 5.75rem);
	min-height: calc(100dvh - 5.75rem);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.gallery-page-slider.show {
	opacity: 1;
	visibility: visible;
}

.gallery-page-slider.hidden {
	display: none;
}
}

.gallery-page-slider .wp-block-makeiteasy-slider {
	padding-bottom: 7rem;
}

.gallery-page-slider .swiper-slide {
	position: relative;
	transition: transform 0.5s ease-in-out;
}

.gallery-page-slider .swiper-slide:not(.swiper-slide-active) {
	transform: scale(0.5);
	opacity: 0.3;
}

.gallery-page-slider .swiper-slide figcaption {
	position: absolute;
	bottom: -7rem;
	left: 0;
	right: 0;
	padding: 2rem;
	font-size: var(--wp--preset--font-size--regular);
	font-weight: var(--wp--custom--font-weight--medium);
	text-align: center;
	color: white;
	background-color: var(--wp--preset--color--red);
}

.gallery-page-slider .swiper-slide:not(.swiper-slide-active) figcaption {
	display: none;
}

.gallery-page-slider .swiper-button-prev,
.gallery-page-slider .swiper-button-next {
	margin-top: calc(0px - 3.5rem - var(--swiper-navigation-size) / 2);
}

/* BLOCKS
---------------------------------------- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

.wp-block-cover p {
	max-width: 35em;
}

.wp-block-cover.is-style-illustration-background
	.wp-block-cover__image-background {
	width: auto;
	height: auto;
	right: auto;
	bottom: auto;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.wp-block-cover.is-style-pass-through-background
	span.wp-block-cover__background {
	mix-blend-mode: multiply;
}

.wp-block-cover.is-style-mask-background
	.wp-block-cover__inner-container {
	display: grid;
	place-content: center;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-image-source: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1392.7 739.9" fill="%23E4DBCD"><path d="M0 0v739.9h1392.7V0zM1339.1 515.9c4.9 39 8.8 148.5-59.1 169.4s-390.3-14.9-733.5-11.9-397 14.6-459 11.9c-62-2.7-25-108.8-31.2-312.4s-8.5-287.8 15.3-302.5 48.9-23.8 129.4-22.2 272.7 0 479.9 12.5 475.7-18.6 557.6 0 112.7 26.8 100.5 119.3-4.9 296.9 0 335.9z" /></svg>');
	border-image-slice: 20% fill;
	border-image-width: 20%;
	border-image-repeat: stretch;
	pointer-events: none;
}

.wp-block-image.is-style-mask {
	position: relative;
}
.wp-block-image.is-style-mask:after {
	position: absolute;
	content: "";
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border-image-source: url('data:image/svg+xml,<svg viewBox="0 0 544.5 706.9" xmlns="http://www.w3.org/2000/svg"><path d="m0 0v706.9h544.5v-706.9zm526.2 693.3c-23.7 4-94.9 5.6-169.2 3s-226.2 3.8-246.5 8.3-102.3 3.8-104.2-39.9.5-207.2 0-311.4-.7-208.6-1.9-262.3c-1.3-53.7-16.2-89.5 22.6-89.7s230.9 2.6 287.5 0 187.6 2.7 211.7 11 13.5 82.5 12.1 161.2-7.2 196 0 288.8 11.5 227.1-12.1 231.1z" fill="%23e4dbcd"/></svg>');
	border-image-slice: 20% fill;
	border-image-width: 20%;
	border-image-repeat: stretch;
}

.wp-block-gallery.is-style-captions-underneath
	figure.wp-block-image
	figcaption {
	position: static;
	background: transparent;
	text-shadow: none;
	color: black;
	text-align: left;
	padding: 0.75rem 0 0;
}

.wp-block-gallery.is-style-captions-underneath
	figure.wp-block-image:has(figcaption)::before {
	content: none;
}

@media only screen and (min-width: 782px) {
	.atividades-intro .wp-block-gallery > .wp-block-image:nth-child(1) {
		margin-top: 4rem !important;
	}
	.atividades-intro .wp-block-gallery > .wp-block-image:nth-child(4) {
		margin-top: -4rem !important;
	}
}

/* Media Queries
---------------------------------------- */

@media only screen and (max-width: 600px) {
	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}
	
	.is-style-invisible-mobile {
		visibility: hidden !important;
	}
	
	.is-style-align-left-mobile {
		text-align: left !important;
	}
	
	.is-style-cover-smaller-text-mobile p {
		font-size: 1.5rem !important;
		line-height: 1.2 !important;
	}
}

@media only screen and (max-width: 782px) {
	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}
}

@media only screen and (min-width: 782px) {
	.wp-block-columns.is-style-columns-bordered
		.wp-block-column
		+ .wp-block-column {
		position: relative;
	}

	.wp-block-columns.is-style-columns-bordered
		.wp-block-column
		+ .wp-block-column:before {
		position: absolute;
		content: "";
		left: calc(-0.5 * var(--wp--preset--spacing--medium));
		top: 0;
		bottom: 0;
		width: 1px;
		background-color: black;
	}
}

/* LOADING SCREEN
---------------------------------------- */

#loading-screen {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: grid;
	place-content: center;
	padding: var(--wp--preset--spacing--60);
	background-color: var(--wp--preset--color--red);
	z-index: 10;
}

#loading-screen svg {
	height: 75vh;
}

#loading-screen svg g path:nth-child(1) {
	animation: blink 1s steps(1, start) infinite;
	animation-delay: 0.1s;
}

#loading-screen svg g path:nth-child(2) {
	animation: blink 1s steps(1, start) infinite;
	animation-delay: 0.5s;
}

#loading-screen svg g path:nth-child(3) {
	animation: blink 1s steps(1, start) infinite;
	animation-delay: 0.25s;
}

#loading-screen svg g path:nth-child(4) {
	animation: blink 1s steps(1, start) infinite;
	animation-delay: 0.75s;
}

@keyframes blink {
	0%,
	50% {
		opacity: 0; /* Start invisible */
	}
	51%,
	100% {
		opacity: 1; /* Become visible */
	}
}

/* COOKIE BANNER */
#s-inr {
	font-family: var(--wp--preset--font-family--base);
}

#cm {
	max-width: 25em;
	box-shadow: none;
	font-family: var(--wp--preset--font-family--base);
	padding: var(--wp--preset--spacing--60);
	background-color: transparent;
	border-image: url("../images/bg_cookiemanager.svg");
	border-image-repeat: stretch;
	border-image-slice: 100%;
	border-image-width: 1;
	border-image-slice: 20% 20% fill;
	border-image-width: 20% 20%;
	border-image-repeat: stretch;
}

#cm h2 {
	text-transform: uppercase;
}

#cm #c-txt button {
	color: white !important;
	text-decoration: underline;
}

#cm #c-bns button {
	flex: 0 1 auto;
	padding: 0;
	text-decoration: underline;
}

#c-bns > button[data-cc="c-settings"] {
	margin-left: auto;
}

@media screen and (max-width: 688px) {
	#cm,
	#cm.cloud,
	#cm.left,
	#cm.right {
		padding: 1.5em !important;
	}
}
