/**
 * 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.
 */
body > .contentRender {
    min-height: 100%;
    height: 100%;
}

html, body {
    font-family: var(--font-body);
    color: var(--gray-900);
}

body {
    overflow-x: hidden;
}

.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 30px;
    margin: 0 auto;
}

.contentRender_name_plugins_blog_articles_posts {
    padding: 0 28px;
}

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

.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: var(--width-base);
    }

    .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%);
    }
}

/* Blog intro styles in textbox */

.blog-intro {
    padding-top: 0;
}

.blog-intro-textbox {
    padding-bottom: 18px;
}

:is(.core-styles, .contentRender_name_plugins_core_textbox) .blog-intro-textbox h1 {
    margin-bottom: 16px;
    font-size: 36px;
    line-height: calc(11/9);
}

:is(.core-styles, .contentRender_name_plugins_core_textbox) .blog-intro-textbox p {
    line-height: 1.625;
}

@media (min-width: 64em) {
    .blog-intro-textbox {
        padding-bottom: 38px;
    }

    :is(.core-styles, .contentRender_name_plugins_core_textbox) .blog-intro-textbox h1 {
        margin-bottom: 30px;
        font-size: 72px;
        line-height: calc(35/36);
    }

    :is(.core-styles, .contentRender_name_plugins_core_textbox) .blog-intro-textbox p {
        line-height: calc(14/9);
    }
}

/* 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;
    max-width: 1281px;
    padding: 15px 18px 0;
    margin: 0 auto 30px;
}

.panel-navigation-share .navigation-container { 
	display: none; 
}

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

.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, .center-container, .right-container),
.panel-two-column :is(.left-container, .right-container) {
    padding: 0 30px;
}

.panel-jumplist-outer [data-jumplist-outer-top] {
    margin-bottom: var(--space-10)
}

@media (max-width: 40em) {
    .panel-two-column.mobile-reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}

: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));
}

@media(min-width:40em) {
    .panel-two-column {
        display: flex;
    }
    
    .panel-two-column.even :is(.left-container, .right-container) {
        flex-basis: 50%;
    }
}

@media (min-width: 64em) {
    .panel-navigation-share {
        padding-top: 18px;
        margin-bottom: 42px;
    }
    .panel-navigation-share .navigation-container { display: block; }

    .panel-three-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-three-column > * { flex-basis: calc(100% / 3); }
}

/* Inputs */

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

/* 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: 50px;
	padding: 0;
	background: none;
	border: none;
	pointer-events: none;
}

.shared-play-button img {
    width: 100%;
    filter: drop-shadow(0 2px 10px rgba(0,0,0,.65));
}

@media (min-width: 64em) {
    .shared-play-button {
        width: 86px;
    }
}

/* Image/Video Credits */

.related-content .credits,
.ccl-widget .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;
}

/*=======================================*/
/*=====----- SV-SHARED BUTTONS -----=====*/
/*=======================================*/

/*----- default button -----*/

/*
    Example markup:

        <button class="default-button">
            <span class="vertical-borders" aria-hidden="true"></span>
            I'm a button
        </button>
*/

.default-button {
    --button-color: var(--magenta-2);

    position: relative;
    display: inline-block;
    padding: 14px 18px 8px;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid var(--button-color);
    font-family: var(--font-body);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    color: var(--button-color);
    transition:
        color var(--transition-appendix),
        background-color var(--transition-appendix);
}

.default-button::before,
.default-button::after,
.default-button .vertical-borders {
    position: absolute;
    z-index: 1;
    display: block;
    pointer-events: none;
}

.default-button::before,
.default-button::after {
    top: 0;
    transform: scaleX(0);
    width: 50%;
    height: 2px;
    background: var(--button-color);
    content: '';
    transition: transform 0.2s ease;
    transition-delay: 0.4s;
}

.default-button::before {
    left: 0;
    transform-origin: left center;
}

.default-button::after {
    right: 0;
    transform-origin: right center;
}

.default-button .vertical-borders {
    inset: 0;
    transform: scaleY(0);
    transform-origin: center bottom;
    border-left: 2px solid var(--button-color);
    border-right: 2px solid var(--button-color);
    transition: transform var(--transition-appendix);
    transition-delay: 0.6s;
}

.default-button .btn-text {
    position: relative;
    z-index: 2;
}

/*-- gold --*/

.default-button.gold {
    --button-color: var(--gold);
}

/*-- orange --*/

.default-button.orange {
    --button-color: var(--orange);
}

/*-- lime --*/

.default-button.lime {
    --button-color: var(--lime);
}

/*-- white --*/

.default-button.white {
    --button-color: var(--white);
}

/*-- solid --*/

.default-button.solid {
    background-color: var(--button-color);
    color: var(--magenta);
    transition-delay: 0.6s;
}

.default-button.solid.lime,
.default-button.solid.orange {
    color: var(--white);
}

.default-button.solid::before,
.default-button.solid::after {
    transform: none;
    transition-delay: 0.2s;
}

.default-button.solid .vertical-borders {
    transform: none;
    transition-delay: 0s;
}

@media (max-width: 640px) {
    .default-button {
        background-color: var(--button-color);
        color: var(--white);
    }
}

/*-- hover --*/

@media (hover: hover) {
    .default-button:hover {
        background-color: var(--button-color);
        color: var(--white);
        transition-delay: 0.6s;
    }

    .default-button.gold:hover {
        color: var(--blue-dark);
    }
    
    .default-button.lime:hover {
        color: var(--purple);
    }

    .default-button.white:hover {
        color: var(--orange);
    }

    .default-button:hover::before,
    .default-button:hover::after {
        transform: scaleX(1);
        transition-delay: 0.2s;
    }

    .default-button:hover .vertical-borders {
        transform: scaleY(1);
        transition-delay: 0s;
    }

    .default-button.solid:hover {
        background-color: transparent;
        color: var(--button-color);
        transition-delay: 0s;
    }

    .default-button.solid:hover::before,
    .default-button.solid:hover::after {
        transform: scaleX(0);
        transition-delay: 0.4s;
    }

    .default-button.solid:hover .vertical-borders {
        transform: scaleY(0);
        transition-delay: 0.6s;
    }

    .default-button.no-fill:hover {
        background-color: transparent;
        color: var(--button-color);
    }
}

@media (min-width: 64em) {
    .default-button {
        padding: 18px 28px 12px;
        font-size: 16px;
    }
}

/*----- border button -----*/

.border-button {
    --button-color: var(--white);
    --hover-color: var(--orange);

    position: relative;
    display: inline-block;
    padding: 13px 14px 9px;
    background-color: transparent;
    border: 1px solid var(--button-color);
    font-family: var(--font-body);
    font-weight: var(--font-weight-medium);
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    color: var(--button-color);
    transition:
        border-color var(--transition-appendix),
        background-color var(--transition-appendix);
}

@media (hover: hover) {
    .border-button:hover {
        border-color: var(--hover-color);
        background-color: var(--hover-color);
    }
}

/*----- arrow buttons for sliders -----*/

.glide__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    flex-shrink: 0;
    padding: 0;
    background: var(--white);
    border: none;
    pointer-events: all;
}

.glide__arrow i {
    display: none;
}

.glide__arrow::before {
    display: block;
    width: 17px;
    height: 23px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    content: '';
}

.glide__arrow--left::before {
    background-image: url('/includes/public/assets/shared/arrow-left.svg');
}

.glide__arrow--right::before {
    background-image: url('/includes/public/assets/shared/arrow-right.svg');
}

/*=============================================*/
/*=====----- SV-SHARED FEATURED FLAG -----=====*/
/*=============================================*/

.featured-flag {
    display: block;
    font-family: var(--font-body);
    font-weight: var(--font-weight-medium);
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

/*=============================================*/
/*=====------- SV-SHARED MINI DATE -------=====*/
/*=============================================*/

:is(.mini-date-container, .mini-date-section) {
    position: absolute;
    top: var(--space-2);
    left: var(--space-3);
    z-index: 3;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    row-gap: 3px;
    flex-shrink: 0;
    background-color: var(--white);
    box-shadow: 2px 2px 4px rgba(0,0,0,.1);
    padding: 10px 10px 9px 9px;
    font-weight: var(--font-weight-medium);
    font-family: var(--font-body);
    line-height: var(--leading-none);
    color: #454545;
    pointer-events: none;
}

:is(.mini-date-container, .mini-date-section) :is(.month, .date-month) {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .1em;
}

:is(.mini-date-container, .mini-date-section) :is(.day, .date-day) {
	font-size: 24px;
}

/* Video player */

.video-player {
    padding: var(--space-8) 30px 0 30px;
    max-width: var(--width-base);
    margin: 0 auto var(--space-12);
}

@media(min-width:80em) {
    .video-player {
        padding: var(--space-8) 20px;
    }
}
