
:root {
	--dark-blue: #1f2945;
	--dark-brown: #635447;
	--dark-background: #35453c;
	--turquoise: #144f76;
}

/* DISCLAIMER */
.disclaimer {
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.disclaimer .disclaimer_container {
	background: #fff;
	max-width: 900px;
	padding: 60px;
	text-align: center;
}

.disclaimer .disclaimer_container h2 {
	font-weight: 400;
	line-height: 1.25;
	color: #35453c;
}

.disclaimer .disclaimer_container p {
	line-height: 1.2;
	сolor: var(--dark-background);
}

button.disclaimer_close {
	border: solid 2px #904c40;
	background: 0 0;
	padding: 20px 38px 18px 38px;
	margin-block-start: 30px;
	text-transform: uppercase;
	color: #904c40;
	font-weight: 600;
	font-size: 16px;
	cursor: pointer;
	transition: all .3s ease-in-out;
}

button.disclaimer_close:hover {
	background: #904c40;
	color: #fff;
}

/* IMAGE MAP */
.interactive_map_container {
	position: relative;
}

html, body {}

.interactive_map {
	position: relative;
	background-size: 100%;
	background-repeat: no-repeat;
	display: grid;
	transition: transform .2s ease-in-out;
	min-width: 767px;
}

.interactive_map > div {
	grid-column: 1/2;
	grid-row: 1/2;
}

.interactive-map-error {
	padding: 30px;
}

.interactive_map.on_overlay {
	background-image: unset;
}

.interactive_map.on_overlay.on_map_overlay .locations_pins > img.interactive_map_image {
	height: 0;
}

.inner_map_image, .interactive_map_image {
	display: block;
	width: 100%;
	visibility: hidden;
	opacity: 0;
}

.inner_map_image--nested {
	display: none;
}

.interactive_map.on_overlay.on_gallery_overlay, .im_overlay.map.on_overlay.on_gallery_overlay {
	max-height: calc(100vh - 60px);
	background-size: cover;
}

.interactive_map:not(.on_overlay) .locations_overlays {
	visibility: hidden;
}

.interactive_map.on_gallery_overlay ~ .zoom_options {
	visibility: hidden;
	opacity: 0;
}

.interactive_map ~ .zoom_options {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 45px;
	height: 90px;
	z-index: 99;
	transition: all .2s ease-in-out;
}

.interactive_map ~ .zoom_options > div {
	width: 100%;
	height: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0);
	border: solid 1px #c7c7c7;
	cursor: pointer;
	transition: all .2s ease-in-out;
}

.interactive_map ~ .zoom_options > div:first-child {
	border-bottom-width: 0;
}

.interactive_map ~ .zoom_options > div:hover {
	box-shadow: inset 0px 0px 20px 0px rgba(0, 0, 0, .2);
}

.interactive_map ~ .zoom_options i {
	color: var(--turquoise);
}

/* PIN LOCATION */
.interactive_map.on_overlay .locations_pins {
	opacity: 0;
	visibility: hidden;
}

.pin_location {
	z-index: 10;
	aspect-ratio: 1;
	width: 1.8em;
	position: absolute;
	transform: translate(-50%, -50%);
	transform-origin: top left;
	transition: transform .2s ease-in-out;
}

.pin_location > .icon {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: var(--icon-color);
	cursor: pointer;
	z-index: 2;
	box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, .27);
}

.pin_location > .icon > img {
	width: 55%;
	height: 55%;
	z-index: 3;
}

.pin_location > .icon > img.hide {
	display: none;
}

.pin_location.pin_main > .icon::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	border: solid 3px var(--icon-color);
	border-radius: 50%;
	opacity: 1;
	visibility: visible;
	transition: opacity .3s ease-out, visibility .3s ease-out;
	animation: pulse 3s ease-out infinite;
}

.initialized .pin_location.pin_main > .icon::before {
	opacity: 0;
	visibility: hidden;
}

@keyframes pulse {
	100% {
		transform: scale(1.5);
		opacity: 0;
	}
}

/* CTA MESSAGE */
.cta_box {
	font-size: 15px;
	position: absolute;
	background: #496488;
	top: 50%;
	right: calc(3em + 40px);
	transform: translateY(-50%);
	min-width: 180px;
	padding: 20px;
	text-align: center;
	line-height: 1.3em;
	font-family: "petersburg-web";
	color: #fff;
	box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, .27);
	opacity: 1;
	visibility: visible;
	transition: all .3s;
}

.cta_box.cta_box--right {
	right: auto;
	left: calc(3em + 40px);
}

.initialized .cta_box {
	opacity: 0;
	visibility: hidden;
}

/* MODAL */
.modal {
	position: absolute;
	display: grid;
	background: #fff;
	min-width: 280px;
	box-shadow: 0px 0px 21px -12px rgba(0, 0, 0, .6);
	z-index: 1;
	opacity: 0;
	visibility: hidden;
	background-color: #eae3d3;
}

.modal.top {
	bottom: 50%;
}

.modal.left {
	right: 50%;
}

.modal.right {
	left: 50%;
}

.modal.bottom {
	top: 50%;
}

.modal.outRight {
	left: unset !important;
	right: 50% !important;
}

.modal.outLeft {
	right: unset !important;
	left: 50% !important;
}

.modal.outTop {
	bottom: unset !important;
	top: 50% !important;
}

.modal.outBottom {
	top: unset !important;
	bottom: 50% !important;
}

.modal.open {
	opacity: 1;
	visibility: visible;
}

.modal img {
	width: 100%;
	max-height: 300px;
	object-fit: cover;
}

.modal > .content {
	padding-top: 15px;
}

.modal_excerpt {
	line-height: 1.2em;
	font-size: 14px;
	padding: 0 15px;
	margin-bottom: 20px;
}

.modal h3 {
	font-size: 18px;
	line-height: 1.2;
	font-family: "petersburg-web", serif !important;
	padding: 0 15px 0;
	margin-bottom: 15px;
	color: #3e6f49;
}

.modal a {
	text-transform: uppercase;
	margin-top: 20px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	padding: 10px;
	display: block;
	cursor: pointer;
	color: #fff;
	background-color: rgba(73, 135, 89, 1);
	transition: all .3s ease;
}

/* OVERLAY */
.im_overlay {
	width: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
}

.im_overlay.gallery {
	position: absolute;
	height: 100%;
}

.im_overlay.map {
	display: grid;
	background-size: contain;
	background-repeat: no-repeat;
	height: 0;
}

.im_overlay.open {
	opacity: 1;
	visibility: visible;
}

.im_overlay.map.open {
	height: auto;
}

button.backtosite, button.backtoinnermap {
	padding: 15px 24px 12px 24px;
	top: 40px;
	right: 30px;
	position: absolute;
	background: #fff;
	border: none;
	color: var(--dark-blue);
	box-shadow: 0 0 15px -5px rgba(0, 0, 0, .6);
	text-transform: uppercase;
	cursor: pointer;
	z-index: 9;
	transition: all .3s ease;
}

button.backtosite.darkmode, button.backtoinnermap.darkmode {
	background: var(--dark-blue);
	color: #fff;
	box-shadow: 0 0 15px -5px rgba(255, 255, 255, .6);
}

button.backtosite i, button.backtoinnermap i {
	margin-inline-start: 10px;
}

.gallery_item {
	position: absolute;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	visibility: hidden;
	opacity: 0;
	transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
	transition-delay: .2s;
	z-index: 1;
}

.im_overlay.open .gallery_item.active {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
	z-index: 2;
}

.gallery_item > span {
	position: absolute;
	width: 100%;
	height: 50%;
	bottom: -.1em;
	left: 0;
}

.gallery_content {
	position: absolute;
	width: calc(50% - 100px);
	bottom: 50px;
	left: 30px;
}

.gallery_content .title, .gallery_content .description {
	color: #fff;
}

.gallery_item[data-darkmode='1'] .gallery_content .title, .gallery_item[data-darkmode='1'] .gallery_content .description {
	color: var(--dark-blue);
}

.gallery_slider_container {
	position: absolute;
	bottom: 50px;
	right: 50px;
	width: calc(50% - 60px);
	max-width: 720px;
	z-index: 9;
}

.im_overlay.gallery {}

.gallery_slider {
	overflow: hidden;
}

.gallery_slider_carrousel {
	display: inline-flex;
	height: 120px;
	transition: all .3s ease-in-out;
	gap: 10px;
	padding: 5px;
}

.gallery_slider img {
	max-width: unset;
	height: 100%;
	object-fit: cover;
	flex-shrink: 0;
	cursor: pointer;
}

.gallery_slider_container .gallery_slider img.active {
	outline: solid 5px #cad9d6;
}

.gallery_slider_container.darkmode .gallery_slider img.active {
	outline: solid 5px var(--dark-blue);
}

span.gallery_slider_control {
	position: absolute;
	width: 25px;
	height: 25px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	background-size: contain;
	background-repeat: no-repeat;
}

.gallery_slider_container span.gallery_slider_control.previous {
	left: -40px;
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50'%3E%3Cg%3E%3Cpath fill='%23fff' d='M16.8,25c2,2.2,4.1,4.4,6.1,6.6c4.7,5.1,9.3,10.2,14,15.3c1,1.2,0.8,2.6-0.6,3.1c-0.8,0.3-1.4,0-1.9-0.5 c-1-1-1.9-2-2.9-3c-3.6-3.9-7.1-7.7-10.7-11.6c-2.5-2.8-5.1-5.5-7.6-8.3c-0.9-1-1-1.9,0-2.9c3-3.3,6.1-6.6,9.1-9.9 c4-4.3,8-8.7,12-13c1.1-1.2,2.7-0.8,3.1,0.6c0.2,0.7-0.1,1.3-0.5,1.9c-2.2,2.4-4.4,4.8-6.7,7.2c-4.4,4.8-8.8,9.6-13.3,14.4 C16.9,24.8,16.9,24.9,16.8,25z'/%3E%3C/g%3E%3C/svg%3E%0A");
	transition: filter .3s ease-in-out;
}

.gallery_slider_container span.gallery_slider_control.previous.nitro-lazy {
	background-image: none !important;
}

.gallery_slider_container span.gallery_slider_control.next {
	right: -30px;
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50'%3E%3Cg%3E%3Cpath fill='%23fff' d='M33.2,25c-2-2.2-4.1-4.4-6.1-6.6c-4.7-5.1-9.3-10.2-14-15.3c-1-1.2-0.8-2.6,0.6-3.1c0.8-0.3,1.4,0,1.9,0.5 c1,1,1.9,2,2.9,3c3.6,3.9,7.1,7.7,10.7,11.6c2.5,2.8,5.1,5.5,7.6,8.3c0.9,1,1,1.9,0,2.9c-3,3.3-6.1,6.6-9.1,9.9c-4,4.3-8,8.7-12,13 c-1.1,1.2-2.7,0.8-3.1-0.6c-0.2-0.7,0.1-1.3,0.5-1.9c2.2-2.4,4.4-4.8,6.7-7.2c4.4-4.8,8.8-9.6,13.3-14.4 C33.1,25.2,33.1,25.1,33.2,25z'/%3E%3C/g%3E%3C/svg%3E%0A");
	transition: filter .3s ease-in-out;
}

.gallery_slider_container span.gallery_slider_control.next.nitro-lazy {
	background-image: none !important;
}

.gallery_slider_container.darkmode span.gallery_slider_control.previous {
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50'%3E%3Cg%3E%3Cpath fill='%23144f76' d='M16.8,25c2,2.2,4.1,4.4,6.1,6.6c4.7,5.1,9.3,10.2,14,15.3c1,1.2,0.8,2.6-0.6,3.1c-0.8,0.3-1.4,0-1.9-0.5 c-1-1-1.9-2-2.9-3c-3.6-3.9-7.1-7.7-10.7-11.6c-2.5-2.8-5.1-5.5-7.6-8.3c-0.9-1-1-1.9,0-2.9c3-3.3,6.1-6.6,9.1-9.9 c4-4.3,8-8.7,12-13c1.1-1.2,2.7-0.8,3.1,0.6c0.2,0.7-0.1,1.3-0.5,1.9c-2.2,2.4-4.4,4.8-6.7,7.2c-4.4,4.8-8.8,9.6-13.3,14.4 C16.9,24.8,16.9,24.9,16.8,25z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.gallery_slider_container.darkmode span.gallery_slider_control.previous.nitro-lazy {
	background-image: none !important;
}

.gallery_slider_container.darkmode span.gallery_slider_control.next {
	background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50'%3E%3Cg%3E%3Cpath fill='%23144f76' d='M33.2,25c-2-2.2-4.1-4.4-6.1-6.6c-4.7-5.1-9.3-10.2-14-15.3c-1-1.2-0.8-2.6,0.6-3.1c0.8-0.3,1.4,0,1.9,0.5 c1,1,1.9,2,2.9,3c3.6,3.9,7.1,7.7,10.7,11.6c2.5,2.8,5.1,5.5,7.6,8.3c0.9,1,1,1.9,0,2.9c-3,3.3-6.1,6.6-9.1,9.9c-4,4.3-8,8.7-12,13 c-1.1,1.2-2.7,0.8-3.1-0.6c-0.2-0.7,0.1-1.3,0.5-1.9c2.2-2.4,4.4-4.8,6.7-7.2c4.4-4.8,8.8-9.6,13.3-14.4 C33.1,25.2,33.1,25.1,33.2,25z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.gallery_slider_container.darkmode span.gallery_slider_control.next.nitro-lazy {
	background-image: none !important;
}

/*NESTED INNER MAP*/
.nested_inner_map {
	/*position: absolute;*/
	position: relative;
	z-index: 30;
	width: 100%;
	height: 100%;
	background-size: cover;
}

.nested_inner_map.open {
	visibility: visible;
	opacity: 1;
	height: 100%;
	background-size: cover;
}

.nested_inner_map.open .locations_pins {
	opacity: 1;
	visibility: visible;
	position: absolute;
	width: 100%;
	height: 100%;
}

.nested_inner_map.open .locations_pins .nested_item {
	display: block;
}

/*NESTED GALLERY*/
.nested_gallery.open {
	z-index: 30;
}

/*NESTED OVERLAY*/
.nested_image {
	display: none;
	/*position: absolute;*/
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 30;
	visibility: hidden;
	opacity: 0;
}

.nested_image.open {
	display: block;
	visibility: visible;
	opacity: 1;
}

.nested_image img {
	/*position: absolute;*/
	width: 100%;
	height: 100%;
}

/*Overlay footer fix*/
#main-content:has(.interactive_map_container) + footer .et_builder_inner_content {
	z-index: initial;
}

#main-content:has(.interactive_map_container) {
	position: relative;
	z-index: 10;
}

@media (max-width: 980px) {
	.disclaimer .disclaimer_container {
		max-width: 90%;
		padding: 2em;
	}
	
	.pin_location {
		width: 1.6em;
	}
}

@media (min-width: 768px) {
	.mv_control {
		display: none;
	}
	
	.modal {
		min-width: 250px;
	}
}

@media (max-width: 767px) {
	.disclaimer .disclaimer_container {
		max-width: 90vw;
		margin: 5vw 0;
	}
	
	.interactive_map_container {
		display: flex;
		justify-content: center;
	}
	
	.gallery_content {
		width: calc(100% - 60px);
	}
	
	.gallery_slider_container > .gallery_slider, .gallery_slider_control:not(.mv_control) {
		display: none;
	}
	
	.interactive_map.on_overlay.on_gallery_overlay, .im_overlay.map.on_overlay.on_gallery_overlay {
		min-width: 100%;
		min-height: 600px;
		top: 0 !important;
		left: 0 !important;
	}
	
	.im_overlay.map.on_overlay.on_gallery_overlay {
		position: relative;
		background-size: cover;
		min-width: 100%;
	}
	
	.gallery_item > span {
		height: 60%;
	}
	
	.gallery_content .description {
		line-height: 1.5em;
	}
	
	.gallery_item {
		animation: slideBg 20s infinite linear;
	}
	
	.gallery_slider_container {
		width: 100%;
		right: 0;
		bottom: 65%;
	}
	
	span.mv_control.gallery_slider_control {
		/*opacity: 1 !important;*/
		filter: drop-shadow(2px 4px 6px #000);
		width: 35px;
		height: 35px;
	}
	
	span.mv_control.gallery_slider_control.next {
		right: 1em;
	}
	
	span.mv_control.gallery_slider_control.previous {
		left: 1em;
	}
	
	.modal {
		min-width: 260px;
	}
}

@media (max-width: 480px) {
	.modal {
		min-width: 240px;
	}
}

@keyframes slideBg {
	0% {
		background-position: 0%;
	}
	
	50% {
		background-position: 100%;
	}
	
	100% {
		background-position: 0%;
	}
}
