/**
 * This file will be included in header in every page after reboot.
 * It should be used for content that relates
 * to your site as a whole, it should not be used for plugin-specific css.
 */
html {
	overflow-y: scroll;
	scroll-behavior: smooth;
}

body > .contentRender {
	min-height: 100%;
	height: 100%;
}

/* This ensures that the page always has a scrollbar to ensure that some headers load correctly without FOUC */
html, body {
	height: 100%;
	font-family: var(--font-body);
	color: var(--text-black);
}

.sr-only {
	border: 0;
	clip: rect(0,0,0,0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Skip links */
.skip-link[href] {
	z-index: 5000000;
	display: block;
	margin: 0;
	padding: var(--space-8) var(--space-12);
	width: auto;
	height: auto;
	font-size: var(--text-3xl);
	line-height: var(--leading-tight);
	color: var(--gray-100);
	text-align: center;
	border: 4px dashed var(--gray-100);
	background: var(--gray-900);
	opacity: 0;
	clip: auto;
	pointer-events: none;
	transition: opacity 200ms cubic-bezier(0,0,0.3,1);
}

.skip-link[href]:focus {
	opacity: 1;
	pointer-events: all;
}

/* Set General max-width of site content */
.contentRender_name_plugins_core_textbox,
.contentRender_name_plugins_nav_sitemap,
.contentRender_name_plugins_search_results,
.contentRender_name_plugins_common_button,
.contentRender_name_plugins_collections_template_custom_list,
.contentRender_name_plugins_collections_template_custom_contacts,
.contentRender_name_plugins_blog_leisure_blog_posts,
.contentRender_name_plugins_blog_articles_posts,
.contentRender_name_plugins_crm_formbuilder,
.contentRender_name_plugins_events_submitevent,
.contentRender_name_plugins_crm_rfp,
.contentRender_name_plugins_crm_rsvp {
	width: 100%;
	padding: 0 var(--space-5);
	margin: 0 auto;
}

.contentRender_name_plugins_core_textbox {
	padding: var(--space-8) var(--space-5);
}

.contentRender_name_plugins_crm_dms_formbuilder {
	margin: 0 auto;
	max-width: var(--width-base);
}

@media (min-width: 64em) {
	.contentRender_name_plugins_core_textbox,
	.contentRender_name_plugins_search_results,
	.contentRender_name_plugins_nav_sitemap,
	.contentRender_name_plugins_common_button,
	.contentRender_name_plugins_collections_template_custom_list,
	.contentRender_name_plugins_collections_template_custom_contacts {
		max-width: 935px;
	}

	.contentRender_name_plugins_crm_formbuilder,
	.contentRender_name_plugins_events_submitevent,
	.contentRender_name_plugins_crm_rfp,
	.contentRender_name_plugins_crm_rsvp {
		max-width: calc(var(--width-base) - 15%);
	}
}

/* Panels */
.panel-page {
	position: relative;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto auto 1fr auto;
	min-height: 100%;
	overflow-x: hidden;
}

.panel-navigation-share {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 1237px;
	padding: 0 var(--space-5);
	margin: 24px auto 0;
	margin-bottom: var(--space-8);
}

.panel-navigation-share .share-container { 
	margin-left: auto;
}

.panel-intro {
	margin: 0 auto;
	margin-bottom: 0;
}

.panel-intro .content {
	padding: 0 18px;
}

.panel-intro .content h1 {
	font-size: var(--text-3xl);
	margin-bottom: 10px;
}

.panel-intro .content h2 {
	font-size: var(--text-lg);
	line-height: var(--leading-snug);
	margin-bottom: var(--space-2);
}

.panel-intro .content p {
	line-height: var(--leading-normal);
	margin-bottom: 0;
}

sub {
    vertical-align: sub;
}
sup {
    vertical-align: super;
}
sub, sup {
    font-size: 0.4em;
    line-height: 100%;
}

@media (min-width: 64em) {
	.panel-intro {
		display: grid;
		grid-template-columns: 1fr 0.78fr;
		gap: calc(80px + (124 - 80) * ((100vw - 1024px) / (1440 - 1024)));
	}

	.panel-intro .content {
		grid-column: span 1;
		padding: 0 0 0 calc(80px + (120 - 80) * ((100vw - 1024px) / (1440 - 1024)));
		padding-top: 81px;
	}

	.panel-intro .content h1 {
		font-size: var(--text-5-5x1);
		margin-bottom: var(--space-5);
	}

	.panel-intro .content h2 {
		font-size: var(--text-2xl);
		margin-bottom: 26px;
	}

	.panel-intro .content p {
		line-height: var(--leading-relaxed);
	}

	.panel-intro .booking {
		grid-column: span 1;
	}

	.panel-navigation-share {
		margin-top: 70px;
	}
}

.panel-social {
	max-width: var(--width-fullscreen);
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.panel-social .title-container {
	text-align: center;
	font-size: var(--text-4-5xl);
	text-transform: uppercase;
	line-height: var(--leading-tight);
}

.panel-social .cta-link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 18px 40px 16px 40px;
	background-color: var(--teal);
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 300;
	margin-top: var(--space-2);
	font-size: var(--text-md);
	line-height: var(--leading-none);
	border-radius: var(--rounded-full);
	width: 160px;
	margin: 0 auto;
}

@media (min-width: 40em) {
	.panel-social .cta-link {
		width: 200px;
	}
}

@media (min-width: 64em) {
	.panel-social .cta-link {
		width: unset;
		margin: var(--space-2) 0 0;
	}
}
 
.panel-social .cta-link::before {
	content: "";
	position: absolute;
	top: -7px;
	left: -7px;
	width: calc(100% + 14px);
	height: calc(100% + 14px);
	border-radius: var(--rounded-full);
	border: 1px solid var(--ring-gray);
	pointer-events: none;
}


.panel-social .description-container p {
	line-height: var(--leading-normal);
	padding: 0 30px;
	text-align: center;
	font-size: var(--text-base);
	margin-bottom: var(--space-5);
}

.panel-social .cta-container {
	margin-bottom: 40px;
}

@media (min-width: 40em) {
	.panel-social .description-container p {
		padding: 0 30px;
		max-width: 600px;
		margin: 0 auto 30px;
	}

	.panel-social .title-container {
		font-size: min(calc(50px + (80 - 50) * ((100vw - 768px) / (1440 - 768))), 80px);
		line-height: var(--leading-none);
		letter-spacing: var(--tracking-tight);
	}
}

@media (min-width: 64em) {
	.panel-social .header-container {
		display: flex;
		padding: 0 20px;
		margin: 0 auto 15px;
		gap: 20px;
		justify-content: space-between;
		max-width: 1280px;
	}

	.panel-social .description-container {
		flex-basis: 360px;
	}

	.panel-social .description-container p {
		text-align: left;
		padding: 0;
		font-size: min(calc(13px + (16 - 13) * ((100vw - 1024px) / (1440 - 1024))), 16px);
	}
	
	.panel-social .cta-container {
		margin-bottom: 0;
		margin-left: 15px;
	}

	.panel-social .cta-link {
		font-size: min(calc(15px + (18 - 15) * ((100vw - 1024px) / (1440 - 1024))), 18px);
		transition: padding ease-in-out 0.35s, background-color ease-in-out 0.35s;
	}
	
	.panel-social .cta-link:hover {
		padding: 18px 60px 16px 60px;
		background-color: var(--dark-pink);
	}

	.panel-social .title-container {
		font-size: min(calc(50px + (80 - 50) * ((100vw - 1024px) / (1440 - 1024))), 80px);
	}
}

.panel-three-column,
.panel-two-column,
.panel-four-column {
	max-width: var(--width-base);
	padding: 0;
	margin: 0 auto;
	margin-bottom: var(--space-8);
}

.panel-three-column :is(.left-container, .center-container, .right-container),
.panel-two-column :is(.left-container, .right-container),
.panel-four-column :is(.first_container, .second_container, .third_container, .fourth_container) {
	padding: 0 var(--space-5);
}

:is(.panel-intro, .panel-social, .panel-three-column, .panel-two-column, .panel-four-column) .contentRender_name_plugins_core_textbox {
	padding: 0;
}

.sv-col > .contentRender > .sv-panel {
	margin-left: calc(-1 * var(--space-5));
	margin-right: calc(-1 * var(--space-5));
}

@media (min-width: 64em) {
	.panel-four-column, 
	.panel-three-column,
	.panel-two-column {
		display: flex;
	}

	.panel-two-column.sidebar-left .left-container {
		order: 1;
		flex-basis: 40%;
	}

	.panel-two-column.sidebar-left .right-container {
		order: 2;
		flex-basis: 60%;
	}

	.panel-two-column.sidebar-right .left-container {
		order: 1;
		flex-basis: 60%;
	}

	.panel-two-column.sidebar-right .right-container {
		order: 2;
		flex-basis: 40%;
	}

	.panel-two-column.even :is(.left-container, .right-container) {
		flex-basis: 50%;
	}

	.panel-three-column > * { flex-basis: calc(100% / 3); }
	.panel-four-column > * { flex-basis: calc(100% / 4); }
}

/* Inputs */

:is(input, button, select, textarea):focus {
	outline: var(--primary-color-500) solid 1px;
	outline-offset: 2px;
}

/* Video Play Button */

.shared-play-button {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--space-16);
	height: var(--space-16);
	padding: 0;
	background-color: rgba(0, 0, 0, .5);
	border: 3px solid var(--white);
	border-radius: 50%;
	font-size: var(--text-2xl);
	line-height: 1;
	text-align: center;
	color: var(--white);
	pointer-events: none;
	transition: background-color 100ms, border-color 100ms;
}

@media (hover: hover) {
	.contentRender[class*="contentRender_name_plugins_collections"] .img-cont:hover .shared-play-button,
	.image-box-with-caption .slide-pic:hover .shared-play-button {
		border-color: rgba(255, 255, 255, .6);
		background-color: rgba(0, 0, 0, .7);
	}
}

/* Image/Video Credits */

.related-content .credits,
.ccl-widget .credits,
.image-box-with-caption .credits {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: var(--space-2) var(--space-3);
	font-family: var(--font-family);
	font-size: .66rem;
	font-style: italic;
	text-shadow: 0 0 10px var(--black);
	color: var(--white);
	pointer-events: none;
	z-index: 10;
}

/* Visitors Registration */
.visitorsPluginContainer button.submit {
	background-color: var(--teal);
}

.visitorsPluginContainer a {
	color: var(--blue);
}

/* Arrows */
.ccl-widget .glide__arrows .glide__arrow,
.sv-lightbox .arrow {
	--arrow-color: var(--gray-800);
	--arrow-bg-color: var(--white);

	position: relative;
	width: 39px;
	height: 39px;
	flex-shrink: 0;
	padding: 0;
	margin: var(--space-3);
	background: var(--teal);
	border-radius: var(--rounded-circle);
	box-shadow: none;
	font-size: 22px;
	color: var(--white);
	pointer-events: all;
	transition: background 350ms ease-in-out;
}

.ccl-widget .glide__arrows .glide__arrow::after {
	content: "";
	position: absolute;
	top: -5px;
	left: -5px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	border-radius: var(--rounded-circle);
	background: transparent;
	border: 1px solid #c7c7c7;
	pointer-events: none;
}

@media (hover:hover) {
	.ccl-widget .glide__arrows .glide__arrow:hover,
	.sv-lightbox .arrow:hover {
		background: var(--dark-red);
	}
}

.ccl-widget .glide__arrows .glide__arrow i,
.sv-lightbox .arrow i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	line-height: var(--leading-none);
}

.ccl-widget .glide__arrows .glide__arrow--left i {
	left: 46%;
}

.ccl-widget .glide__arrows .glide__arrow--right i {
	left: 54%;
}