/**
 * 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;
}

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(--gray-900);
}

.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: 8% 0;
	width: 100%;
	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;
}

@media (min-width: 40em) {
	.skip-link[href] {
		padding: 6% 0;
		max-width: 400px;
	}
}

@media (min-width: 64em) {
	.skip-link[href] {
		padding: 4% 0;
	}
}

/* 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_meetings_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_crm_formbuilder,
.contentRender_name_plugins_events_submitevent,
.contentRender_name_plugins_crm_rfp,
.contentRender_name_plugins_core_textbox {
	max-width: var(--width-content);
}

.contentRender_name_plugins_core_textbox {
	padding: var(--space-8) 15px;
}

@media (min-width: 64em) {
	.contentRender_name_plugins_search_results,
	.contentRender_name_plugins_nav_sitemap,
	.contentRender_name_plugins_common_button,
	.contentRender_name_plugins_common_jumplist_outer,
	.contentRender_name_plugins_collections_template_custom_list,
	.contentRender_name_plugins_collections_template_custom_contacts {
		max-width: var(--width-base);
	}
}

/* Panels */
.panel-page {
	position: relative;
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto auto 1fr auto;
	min-height: 100%;
}

.panel-navigation-share {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	max-width: 1372px;
	padding: 0 var(--space-5);
	margin: 0 auto 5px auto;
}

/* Mosaic panel */
.panel_custom_one_col .mosaic-tiles {
	max-width: 1170px;
	margin: 0 auto;
	padding: 10px;
}

.panel_custom_one_col .mosaic-tiles .cols {
	gap: 10px;
}

.panel-mosaic .mosaic-tiles {
	margin-bottom: 1.5px;
}

@media(min-width: 64em) {
	.panel-mosaic .mosaic-tiles {
		margin-bottom: 3px;
	}
}

@media (min-width: 64em) {
	.panel-navigation-share {
		margin-bottom: 0;
	}
}

.panel-navigation-share .navigation-container { 
	display: none; 
}

.panel-navigation-share .share-container { 
	margin-left: auto;
}

.panel-intro {
	max-width: var(--width-medium);
	margin: 0 auto;
	margin-bottom: var(--space-16);
	padding: 0 var(--space-5);
}

.panel-social {
	max-width: var(--width-base);
	margin: 0 auto;
	padding: 0 var(--space-5);
}

.panel-social .title-container {
	text-align: center;
}

.panel-three-column,
.panel-two-column {
	max-width: var(--width-base);
	padding: 0;
	margin: 0 auto;
	margin-bottom: var(--space-8);
}

.panel-three-column :is(.left-container:not(.has-booking), .center-container:not(.has-booking), .right-container:not(.has-booking)),
.panel-two-column :is(.left-container:not(.has-booking), .right-container:not(.has-booking)) {
	padding: 0 15px;
}

:is(.panel-intro, .panel-social, .panel-three-column, .panel-two-column) .contentRender_name_plugins_core_textbox {
	padding: 0;
}

:is(.panel-intro, .panel-social, .panel-three-column, .panel-two-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));
}

:is(.booking-panel, .panel-two-column, .panel-three-column) .ripe-booking-widget-cont {
	margin: 3.5rem 0;
	padding: 0;
}

:is(.booking-panel, .panel-two-column, .panel-three-column) .rootrez_widget_form_wrapper {
	margin: 0 auto 0 0;
}

/* One-Col Panel */
.panel_custom_one_col {
	margin: 15px;
}

.panel_custom_one_col.full-width {
	max-width: none !important;
	margin: 15px 0;
	& .custom-embed.full {
		max-width: none !important;
	}
}

/* sv-shared buttons */

.shared-button {
	display: inline-block;
	height: 45px;
	width: 45px;
	border-radius: 50%;
	background-color: var(--blue);
	position: relative;
}

.shared-button.transparent {
	background: transparent;
	border: 1px solid white;
}

.shared-button::before {
	background: url("/includes/public/assets/shared/arrow-white.svg") no-repeat center center / 21px auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: '';
	pointer-events: none;
}

.shared-button.prev::before {
	transform: rotate(180deg);
}

.shared-button:not(.transparent):hover {
	background-color: black;
}

.shared-button-mega {
	display: inline-block;
	font-size: 18px;
	line-height: 24px;
	font-family: var(--sofia);
	font-weight: 700;
	color: var(--white);
	background-color: var(--blue);
	text-transform: lowercase;
	text-decoration: none;
	border-radius: 4px;
	padding: 20px 80px 20px 30px;
	position: relative;
}
.shared-button-mega:hover {
	color: var(--white);
	background-color: var(--dark-blue);
	text-decoration: none;
}
.shared-button-mega::after {
	content: '';
	background: transparent;
	position: absolute;
	top: calc(50% - 22px);
	right: 28px;
	width: 44px;
	height: 44px;
	background-image: url(/includes/public/assets/shared/arrow-white.svg);
	background-repeat: no-repeat;
	background-size: 22px;
	border: 1px solid white;
	border-radius: 50%;
	background-position: 50%;
	transition: .4s;
}
.shared-button-mega:hover::after {
	right: 20px;
}

.shared-button-row {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0;
	border: none;
	background-color: transparent;
	font-family: var(--sofia);
	font-weight: 700;
	font-size: 18px;
	color: var(--grey-alt-2) !important;
	text-transform: lowercase;
	text-decoration: none !important;
	text-align: center;
}

.shared-button-row::after {
	display: block;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background-color: var(--blue);
	background-image: url('/includes/public/assets/shared/arrow-white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 22px auto;
	content: '';
}

.core-list .slide .slide-footer .read-more,
.slide .slide-footer .read-more.read-more-button {
	background: none;
	text-transform: lowercase;
	text-decoration: underline;
	font-size: var(--text-lg);
	font-family: var(--sofia);
	font-weight: bold;
	color: var(--blue);
}

.core-list .slide .slide-footer .read-more:hover,
.slide .slide-footer .read-more.read-more-button:hover {
	color: var(--dark-blue);
	background: inherit;
}

/* sv-shared featured flag */

.featured {
	padding: 8px 28px;
	background-color: var(--blue);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: .938rem;
	color: white;
	font-weight: bold;
}

/* sv-shared slide title */

.ccl-widget .slide .slide-title {
	font-size: 1.75rem;
	font-family: var(--georgia);
	color: var(--black);	
	font-weight: normal;  
	line-height: var(--leading-tight);
}

.ccl-widget .slide .slide-title a:hover {
	color: inherit;
}

/* sv-shared slide description */
.ccl-widget .slide .description {
	font-family: var(--sofia);
	font-size: 1.06rem;
	font-weight: normal;
	line-height: var(--leading-relaxed);
	color: var(--grey);
}

/* sv-shared rounded corners */
/* Place on widgets with images with rounded corners */
.img-cont .rounded-corners {
	border-radius: 5px;
}


@media (min-width: 64em) {
	.panel-navigation-share .navigation-container { display: block; }

	.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); }

	:is(.booking-panel, .panel-two-column, .panel-three-column) .ripe-booking-widget-cont {
		margin: 3rem 0;
		padding: 0;
	}
}

/* Meetings Intro Panel */
.meetings-intro {
	padding: 40px 15px 25px;
	text-align: center;
}

.meetings-intro .contentRender_name_plugins_core_textbox {
	padding: 0;
}

.meetings-intro .contentRender_name_plugins_core_textbox h1 {
	font-family: var(--font-display);
	font-size: 28px;
	line-height: 1.2;
	margin-bottom: 20px;
}

.meetings-intro .contentRender_name_plugins_core_textbox p {
	font-size: 16px;
	line-height: 1.4;
}

@media (min-width: 1025px) {
	.meetings-intro {
		padding-top: 80px;
		padding-bottom: 55px;
		max-width: 1190px;
		margin: 0 auto;
	}
	
	.meetings-intro .contentRender_name_plugins_core_textbox {
		padding: 0;
	}
	
	.meetings-intro .contentRender_name_plugins_core_textbox h1 {
		font-size: 32px;
		margin-bottom: 25px;
	}
	
	.meetings-intro .contentRender_name_plugins_core_textbox p {
		font-size: 18px;
	}
}

/* super script */
h1 sup {
	top: -1.7em;
	font-size: 0.3em;
}

h2 sup {
	top: -0.8em;
	font-size: .5em;
}

h3 sup {
	top: -1em;
	font-size: .4em;
}

@media (min-width: 64em) {
	h1 sup {
		top: -1.5em;
	}
}

/* Social Share */

[class^="sv-share-service"] > a {
	background-color: var(--white);
}

[class^="sv-share-service"] > a span {
	color: var(--grey);
}

[class^="sv-share-service"] > a:hover span {
	color: var(--share-trigger-icon-color);
}

[class^="sv-share-service"] > a:hover {
	text-decoration: none;
	color: var(--share-trigger-icon-color);
}

.sv-share button.sv-share-trigger,
.sv-share-trigger-icon {
	background-color: var(--share-trigger-button-color);
	color: var(--share-trigger-icon-color);
}

.sv-share button.sv-share-trigger:hover,
.sv-share button.sv-share-trigger:focus {
	background-color: var(--share-trigger-button-hover-color);
	color: var(--share-trigger-icon-color);
}

.sv-share button.sv-share-trigger:hover i,
.sv-share button.sv-share-trigger:focus i {
	background-color: var(--share-trigger-button-hover-color);
	color: var(--share-trigger-icon-color);
}

.sv-share button.sv-share-trigger {
	margin-bottom: 10px;
}

/* begin: styles from the widget guide */
.btn-standard {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-top: var(--space-2);
	margin-right: var(--space-2);
	padding: var(--space-2) var(--space-3);
	padding: var(--space-3) var(--space-4);
	font-family: var(--sofia);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.34;
	border-radius: var(--rounded-sm);
	text-transform: none;
	text-decoration: none;
	color: var(--white);
	background-color: var(--blue);
	border-radius: var(--rounded-sm);
	transition: none;
	pointer-events: all;
	cursor: pointer;
}

.btn-secondary {
	margin-top: var(--space-3);
	color: var(--blue);
	background-color: var(--blue-light-alt);
}

.quickview-detail .actions .btn-secondary {
	margin-top: var(--space-2);
}

.btn-standard:after {
	display: none;
}

h2.title-size-large,
.contentRender_name_plugins_core_textbox h2.title-size-large,
.title-size-large h2,
.core-styles.title-size-large h2 {
	font-size: 23px;
}

h2.title-size-xlarge,
.contentRender_name_plugins_core_textbox h2.title-size-xlarge,
.title-size-xlarge h2,
.core-styles.title-size-xlarge h2 {
	font-size: 27px;
}

@media (hover: hover) {
	.btn-standard:hover {
		color: var(--white);
		background-color: var(--dark-blue);
		text-decoration: none;
	}
}

@media (min-width: 40em) {
	.btn-standard {
		padding: var(--space-3) var(--space-5);
	}
}

@media (min-width: 64em) {
	.btn-standard {
		font-size: 18px;
	}

	h2.title-size-large,
	.contentRender_name_plugins_core_textbox h2.title-size-large,
	.title-size-large h2,
	.core-styles.title-size-large h2 {
		font-size: 34px;
	}

	h2.title-size-xlarge,
	.contentRender_name_plugins_core_textbox h2.title-size-xlarge,
	.title-size-xlarge h2,
	.core-styles.title-size-xlarge h2 {
		font-size: 38px;
	}
}
/* end: styles from the widget guide */