/*------>>> TABLE OF CONTENTS <<<-------
    - MASTHEAD
    - HERO
    - PRIMARY CONTENT
    ***********************************
    - ACCORDION
    - CARDS
    - CARD BLOCKS
    - CONTENT BLOCKS
    - CTA GRID
    - ICON CALLOUTS
    - PANELS
    ***********************************
    - EMPOWEREN FORMS
    - EMPOWEREN GALLERIES
    ***********************************
    - COLOPHON
*/


/************************************
/*----------------------------------
/*  MASTHEAD
/*----------------------------------
/*************************************/


.masthead {
    background: linear-gradient(
		hsl(201, 76%, 15%) 0%,
		hsla(201, 76%, 15%, 0.738) 19%,
		hsla(201, 76%, 15%, 0.541) 34%,
		hsla(201, 76%, 15%, 0.382) 47%,
		hsla(201, 76%, 15%, 0.278) 56.5%,
		hsla(201, 76%, 15%, 0.194) 65%,
		hsla(201, 76%, 15%, 0.126) 73%,
		hsla(201, 76%, 15%, 0.075) 80.2%,
		hsla(201, 76%, 15%, 0.042) 86.1%,
		hsla(201, 76%, 15%, 0.021) 91%,
		hsla(201, 76%, 15%, 0.008) 95.2%,
		hsla(201, 76%, 15%, 0.002) 98.2%,
		hsla(201, 76%, 15%, 0) 100%
	);
    padding-top:0.938rem;
    padding-bottom:0.938rem;
	position:absolute;
	top:0;
	left:0;
	right:0;
    z-index:10000;
}
.branding-link--for-masthead {
	max-width:245px;
}
.masthead__utility-list {
	margin:0 -1.25rem;
    display:flex;
	position:relative;
	z-index:2;
	list-style: none;
    height:100%;
}
.masthead__utility-list-item:not(:last-of-type, :only-of-type) {
    margin-right:0.5rem;
}
.masthead__utility-list-item::before {
    display:none; /* Reset from base li styles */
}
.masthead__utility-list-item--has-btn {
    align-self:center;
}
.masthead__utility-list-link { /* Phone */
    position:relative;
	width:40px;
	height:100%;
    min-height:62px;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
	font-weight:700;
	font-size:1.25rem;
	line-height:1.25;
}
.masthead__utility-list-link,
.masthead__utility-list-link:is(:focus, :focus-visible) {
    color:var(--color-primary-light);
}
.masthead__utility-list-link:is(:focus, :focus-visible) {
	outline:0;
	border:0;
}
.masthead__utility-list-link:is(:active, :focus-visible) {
	text-decoration:none;
}
.masthead__utility-list-link:hover {
	color:var(--color-primary);
}
.masthead__utility-list-link:is(:focus-visible) {
    -webkit-box-shadow:inset 0 0 0 2px var(--color-primary-light);
	-moz-box-shadow:inset 0 0 0 2px var(--color-primary-light);
    box-shadow:inset 0 0 0 2px var(--color-primary-light);
}
.masthead__utility-list-link:active {
	color:var(--color-primary);
	-webkit-box-shadow:inset 0 0 0 2px var(--color-primary);
	-moz-box-shadow:inset 0 0 0 2px var(--color-primary);
    box-shadow:inset 0 0 0 2px var(--color-primary);	
}
.masthead__utility-list-icon {
    margin:auto;
    position:absolute;
    inset:0;
    fill:var(--color-white);
	pointer-events:none;
	vertical-align:middle;
	transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
.masthead__utility-list-link:is(:hover, :active) .masthead__utility-list-icon {
    fill:var(--color-primary-dark);
}
.masthead__utility-list-link:is(:focus-visible) .masthead__utility-list-icon {
    fill:var(--color-primary-light);
}
.masthead__utility-list-overflow {
    display:none;
	color:inherit;
	white-space:nowrap;
}
.masthead__utility-list-btn-link { /* Quote Button */
    padding-left:0.875rem;
    padding-right:0.875rem;
}
.masthead__utility-list-btn-link:is(:hover, :active) {
    background-color:var(--color-primary-dark);
}
.masthead__utility-list-btn-link:active {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
	-moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
	box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
}
.masthead .columns:has(.branding-link) {
    align-self:center;
}
/*- Nav Slide Animation Sticky Header -*/
@-webkit-keyframes navSlide {
	0% {
		-webkit-transform:translateY(-100%);
		transform:translateY(-100%);
	}

	100% {
		-webkit-transform:translateY(0);
		transform:translateY(0);
	}
}
@keyframes navSlide {
	0% {
		-webkit-transform:translateY(-100%);
		transform:translateY(-100%);
	}

	100% {
		-webkit-transform:translateY(0);
		transform:translateY(0);
	}
}
.masthead--hidden {
    will-change:transform;
    transform:translateY(-100%);
    transition:transform 0.3s ease-out;
}	
.masthead--stuck {
    background:var(--color-base);
    position:fixed;
    -webkit-animation:navSlide 0.75s ease-in-out forwards;
    animation:navSlide 0.75s ease-in-out forwards;
    -webkit-box-shadow:var(--box-shadow-default);
    -moz-box-shadow:var(--box-shadow-default);
    box-shadow:var(--box-shadow-default);		
}
@media all and (min-width:640px) {
    .masthead__utility-list-btn-link {
        padding-left:1.375rem;
        padding-right:1.375rem;
    }
}
@media all and (max-width:1023px) {
    .masthead--stuck .branding-link--for-masthead {
        max-width:95px;
    }
    .masthead:not(.masthead--stuck) .masthead__utility-list-item--has-btn {
        display:none;
    }
}
@media all and (min-width:1024px) {
    .masthead .columns:has(.branding-link) {
        align-self:flex-end;
    }
	.branding-link--for-masthead {
		margin:0 0 -0.625rem;
		max-width:265px;
	}
	.masthead__utility-list {
        margin:1rem 0 0.5rem;
		justify-content:flex-end;
	}
    .masthead__utility-list-item:not(:last-of-type, :only-of-type) {
        margin-right:2rem;
    }
    .masthead__utility-list-item.large-order-1 {
        margin-right:2rem;
    }
    .masthead__utility-list-item.large-order-2 {
        margin-right:0;
    }  
    .masthead__utility-list-item--has-btn {
        align-self:flex-start;
    }
    .masthead__utility-list-link {
        width:auto;
        height:40px;
        min-height:40px;
    }
    .masthead__utility-list-overflow {
        display:inline-block;
    }
    .masthead__utility-list-icon {
        display:none;
    }	
}

/************************************
/*----------------------------------
/*  HERO
/*----------------------------------
/*************************************/


/*---> Hero Interior Image <---*/
.hero {
    position:relative;
    /* Set Background color for Hero Messaging ADA Compliance */
    background-color:var(--color-black);
}
.hero__media {
    position:relative;
    /* Remove whitespace */
    line-height:0;
    isolation:isolate;
}
.hero__media::after {
    content:"";
    width:100%;
    height:100%;
    background:
        linear-gradient(
            180deg,
            rgba(var(--color-base-rgb), 0.30) 0%,
            rgba(var(--color-primary-rgb), 0.30) 100%
        );
    position:absolute;
    bottom:0;
    left:0;
    right:0;
}
.hero__media > img {
    display:block;
    position:relative;
    width:100%;
}
.hero__content {
    padding-top:3.438rem;
    padding-bottom:3.438rem;
    background-color:var(--color-gray-accent);
    text-align:center;
}
.hero__content--positioned {
    padding-top:0;
	padding-bottom:0;
	background-color:initial;
	position:absolute;
    left:0;
    right:0;
    bottom:13rem;
	color:var(--color-white);    
}
.hero__title {
	font-size:var(--font-size-h1);
    text-transform:uppercase;
    line-height:0.95;
}
.hero__title small {
    font-size:1.25rem;
    font-weight:400;
    color:inherit;
    letter-spacing:var(--letter-spacing-larger);
}
.hero__title,
.hero__text {
    color:inherit;
}
@media all and (min-width:768px) {
    .hero__content--positioned {
        bottom:initial;
        top:50%;
		transform:translateY(-50%);
    }
}
@media all and (min-width:1024px) {
    .hero__content {
        color:var(--color-white);
        margin-left:auto;
        margin-right:auto;
        padding-top:initial;
        padding-bottom:initial;
        background-color:transparent;
        position:absolute;
        left:0;
        right:0;
        top:50%;
		transform:translateY(-50%);
    }
}
/*---> Hero Interior Image Set Height <---*/
.hero__media--is-set-height {
	height:500px;
	overflow:hidden;
}
.hero__media--is-set-height > img {
	height:100%;
	-o-object-fit:cover;
	object-fit:cover;
}
@media all and (min-width:1920px) {
    .hero__media--is-set-height {
        height:auto;
    }
	.hero__media--is-set-height > img {
		width:100%;
		height:auto;
		-o-object-fit:initial;
		object-fit:initial;
	}
}
/*---> Hero Interior Video <---*/
.hero__media--has-video {
	position:relative;
	height:0;
	padding-bottom:26.04%; /* Given a 1920:500 aspect ratio, 500/1920*100 = 26.04 */
	overflow: hidden;
}
.hero__video {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
/*---> Hero Video Set Height <---*/
.hero__media--has-video-set-height {
	height:calc(100vh - 90px);
	padding-bottom:0;
}
.hero__video--is-set-height {
	width:100vw;
	min-width:384vh; /* Given a 1920:500 aspect ratio, 1920/500*100 = 384 */
	height:26.04vw; /* Given a 1920:500 aspect ratio, 500/1920*100 = 26.04 */ 
	min-height:calc(100vh - 90px);
	position:absolute;
	left:50%;
	transform:translateX(-50%);
}
@media all and (min-width:1280px) {
    .hero__media--has-video-set-height {
        height:0;
		padding-bottom:26.04%; /* Given a 1920:500 aspect ratio, 500/1920*100 = 26.04 */
    }
	.hero__video--is-set-height {
		min-height:initial;
		min-width:initial;
		left:0;
		width:100%;
		height:100%;
		transform:translateX(0);
	}
}
/*---> Hero Index Video Set Height <---*/
.hero__media--has-video-set-height-for-index {
    background:url(../images/bg-for-hero-video-mobile-1024x600.jpg) top center no-repeat;
    background-size:auto 100%;
}
@media all and (max-width:1023px) {
    .hero__media--has-video-set-height-for-index {
        height:600px;
    }
    .hero__video--is-set-height-for-index {
        display:none;
    }
}
@media all and (min-width:1024px) {    
    .hero__media--has-video-set-height-for-index {
        background:url(../images/bg-for-hero-video-1920x650.jpg) top center no-repeat;
        background-size:auto 100%;
    }
}
@media all and (max-width:1279px) {
	.hero__video--is-set-height-for-index {
		min-width:295.384vh; /* Given a 1920:650 aspect ratio, 1920/650*100 = 295.384 */
		height:33.854vw; /* Given a 1920:650 aspect ratio, 650/1920*100 = 33.854 */
	}
}
@media all and (min-width:1280px) {
    .hero__media--has-video-set-height-for-index {
		padding-bottom:33.854%; /* Given a 1920:650 aspect ratio, 650/1920*100 = 33.854 */
    }
}
/*---> Hero CTA Form <---*/
.hero__cta-form {
    position:absolute;
    bottom:0.625rem;
    left:0;
    right:0;
}
.hero__form {
    background-color:var(--color-base);
    margin-bottom:0;
    padding:0.938rem 0.625rem;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-flow:row wrap;
    flex-flow:row wrap;
    border-radius:12px;
}
.hero__form-header,
.hero__form-main,
.hero__form-action {
    -ms-flex:0 0 100%;
    flex:0 0 100%;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-flow:row wrap;
    flex-flow:row wrap;
    /* Horizontally Center Align Content */
    -ms-flex-pack:center;
    justify-content:center;
    /* Vertically Middle Align Content */
    -ms-flex-align:center;
    align-items:center;
}
.hero__form-header {
}
.hero__form-label {
    font-family:var(--font-secondary);
    font-size:1.5rem; 
    font-weight:400;
    color:var(--color-white);
    text-align:center;
}
.hero__form-main {
    padding-top:0.75rem;
    padding-bottom:0.75rem;
}
.hero__form-select {
    /*max-width:230px;*/
    max-width:335px;
    height:33px;
    padding-top:0;
    padding-bottom:0;
    border-color:var(--color-gray-accent-darker);
}
.hero__form-action {
}
.hero__form-button-icon {
    position:relative;
    display:inline-block;
}
.hero__form-button-icon::after {
    content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8.36' height='15' viewBox='0 0 8.36 15'%3E%3Cpath d='M1,15c-.24,0-.49-.09-.68-.27-.41-.37-.43-1.01-.06-1.41l5.37-5.82L.27,1.68C-.11,1.27-.08.64.32.26c.41-.37,1.04-.35,1.41.06l6.63,7.18L1.73,14.68c-.2.21-.47.32-.74.32Z' style='fill:%23092E42;'/%3E%3C/svg%3E");
    display:inline-block;
    position:absolute;
    right:0.75rem;
    top:50%;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.hero__form-button:is([type="button"]) {
    padding-left:0.938rem;
    padding-right:1.875rem;
    font-size:1.125rem;
    font-weight:800;
    text-transform:uppercase;
}
.hero__form-button:is([type="button"]),
.hero__form-button:is([type="button"]):is(:hover, :active, :focus, :focus-visible) {
    color:var(--color-base);
}
.hero__form-button:is([type="button"]),
.hero__form-button:is([type="button"]):is(:focus, :focus-visible) {
	background-color:var(--color-secondary);
}
.hero__form-button:is([type="button"]):is(:hover, :active) {
    background-color:var(--color-primary-light);
}
.hero__form-button:is([type="button"]):active {
    -webkit-box-shadow: 0 0 0 2px var(--color-base), 0 0 0 4px var(--color-primary-light);
	-moz-box-shadow: 0 0 0 2px var(--color-base), 0 0 0 4px var(--color-primary-light);
	box-shadow: 0 0 0 2px var(--color-base), 0 0 0 4px var(--color-primary-light);
}
.hero__form-button:is([type="button"]):focus-visible {
    -webkit-box-shadow: 0 0 0 2px var(--color-base), 0 0 0 4px var(--color-secondary);
	-moz-box-shadow: 0 0 0 2px var(--color-base), 0 0 0 4px var(--color-secondary);
	box-shadow: 0 0 0 2px var(--color-base), 0 0 0 4px var(--color-secondary);
}
@media all and (min-width:640px) {
    .hero__cta-form {
        bottom:2.5rem;
    }
    .hero__cta-form-columns {
        max-width:843px;
    }
    .hero__form {
        border-radius:40px;
        padding:0.625rem 0.625rem 0.625rem 1.125rem;
    }
    .hero__form-header,
    .hero__form-action {
        -ms-flex:0 0 auto;
        flex:0 0 auto;
    }
    .hero__form-main {
        padding:0 0.938rem;
        padding-bottom:0;
        -ms-flex:1 1 0px;
        flex:1 1 0px;
    }
    .hero__form-select {
        max-width:100%;
    }
}


/************************************
/*----------------------------------
/*  PRIMARY CONTENT
/*----------------------------------
/*************************************/


.main {
}
.main--index {    
}
.main--interior {
	background: linear-gradient(
		hsl(var(--color-gray-accent-hsl)) 0%,
		hsla(var(--color-gray-accent-hsl), 0.738) 19%,
		hsla(var(--color-gray-accent-hsl), 0.541) 34%,
		hsla(var(--color-gray-accent-hsl), 0.382) 47%,
		hsla(var(--color-gray-accent-hsl), 0.278) 56.5%,
		hsla(var(--color-gray-accent-hsl), 0.194) 65%,
		hsla(var(--color-gray-accent-hsl), 0.126) 73%,
		hsla(var(--color-gray-accent-hsl), 0.075) 80.2%,
		hsla(var(--color-gray-accent-hsl), 0.042) 86.1%,
		hsla(var(--color-gray-accent-hsl), 0.021) 91%,
		hsla(var(--color-gray-accent-hsl), 0.008) 95.2%,
		hsla(var(--color-gray-accent-hsl), 0.002) 98.2%,
		hsla(var(--color-gray-accent-hsl), 0) 100%
	);
    background-position:center top;
    background-size:100% 180px;
    background-repeat:no-repeat;
}
.primary-content {
}
.primary-content--index {
    position:relative;
    isolation:isolate;
    padding-top:3rem;
    padding-bottom:2rem;
}
.primary-content--index::before { /* for background element */
    margin-left:auto;
    margin-right:auto;
    width:100vw;
    height:100%;
    content:"";
    position:absolute;
    top:0;
    left:-50vw;
    right:-50vw;
    background:
        #dde1e4 url(../images/bg-for-index-main-1920x635.jpg) 28% bottom no-repeat;
    background-size:auto;
    z-index:-1;
}
@media all and (min-width:1024px) {
    .primary-content--index::before {
        background:
            #dde1e4 url(../images/bg-for-index-main-1920x635.jpg) center bottom no-repeat;
        background-size:auto;
    }
}
@media all and (min-width:1920px) {
    .primary-content--index::before {
        background-size:100% auto;
    }
}


/************************************
/*----------------------------------
/*  ACCORDIONS
/*----------------------------------
/*************************************/


/*---> Accordion <---*/
.accordion {
    margin-bottom:calc(var(--margin-vert-default) + 0.625rem);
}
.accordion-item:first-child > :first-child,
.accordion-item:last-child > :last-child,
:last-child:not(.is-active) > .accordion-title {
    border-radius:0;
}
.accordion-item:not(:last-child) {
	margin-bottom:0.625rem;
}
.accordion-title {
    padding:1.25rem 1.5rem;
    /*  Width of +/- Symbol = 50px
        Padding Left of +/- Symbol = 1.5rem = 24px
        White Space Right of +/- Symbol = 0.625rem = 10px
        50px + 24px + 10px = 84px
    */
    padding-right:84px;
    font-size:var(--font-size-h6);
    font-weight:600;
    line-height:1.3;
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
}
.accordion-title,
.accordion-title:is(:focus) {
	color:var(--color-primary-dark);
}
.accordion-title,
:last-child:not(.is-active) > .accordion-title {
    border:0;
}
.accordion-title,
.accordion-title:is(:hover, :active, :focus, :focus-visible) {
    background-color:var(--color-gray-accent-dark);
}
.accordion-title:is(:hover, :active) {
    color:var(--color-primary);
}
.accordion-title:is(:active) {
    color:var(--color-primary);
}
.accordion-title:is(:active, :focus-visible) {
    color:var(--color-primary-dark);
	box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-gray-accent-dark);
}
.accordion-title:is(:active, :focus, :focus-visible) {
	text-decoration:none; /* Reset from base link styling */ 
}
.accordion-title::before {
    display:none; /* Remove Foundation's +/- Symbol */
}
.accordion-title::after {
    content:"+";
    background-color:var(--color-gray-accent-darker);
    display:flex;
    justify-content:center;
    align-items:center;
    width:50px;
	height:calc(100% - 1.25rem);
    max-height:50px;
    position:absolute;
    right:0.625rem;
	top:0.625rem;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color-white);
    text-align:center;
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
}
.is-active > .accordion-title::after {
    content:"\2013";
}
.is-active .accordion-title:is(:hover, :active)::after,
.accordion-title:is(:hover, :active)::after {
    background-color:var(--color-primary);
}
.is-active .accordion-title::after,
.accordion-title:is(:focus-visible)::after {
    background-color: var(--color-primary-dark);
    color: Var(--color-white);
}
.accordion-content {
    background-color:transparent;
	padding:1rem 0 0.313rem 0;
	border:0;
}
:last-child > .accordion-content:last-child {
	border-bottom:0;
}


/************************************
/*----------------------------------
/*  CARDS
/*----------------------------------
/*************************************/


.card {
	position:relative;
	background:var(--color-white);
	display:flex;
	flex-direction:column;
	height:calc(100% - 1.25rem);
	margin-bottom:1.25rem;
	text-align:center;
	-webkit-box-shadow:var(--box-shadow-default);
	-moz-box-shadow:var(--box-shadow-default);
	box-shadow:var(--box-shadow-default);
	isolation:isolate;
}
.card__head,
.card__main {
	pointer-events:none;
}
.card__head {
	background:var(--color-secondary-dark);
	padding:1.5rem 2rem 0.75rem;
}
.card__title {
    font-family: var(--font-primary);
	/* Default h5 size. Set size so can use whatever header is appropriate */
    font-size: var(--font-size-h5);
    font-weight:700;
	color:var(--color-white);
}
.card__main {
	padding:2.5rem 2rem 0;
	display:flex;
	flex-direction:column;
	flex-grow:1;
}
.card__text {
}
.card__foot {
    margin-top:auto; /* Push down */
	padding:0 2rem 1.5rem;
}
.card__foot,
.card > :last-child.card__foot {
	margin-bottom:0;
}
.card__foot__text {
}
.card__btn {
	position:static;
}
.card__btn::after {
    content:'';
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:1;
}
/*---> Media Cards <---*/
.card__media {
	pointer-events:none;
}
.card__img {
	display:block;
	width:100%;
}
.card__head--for-media-card {
	background:transparent;
	padding:1.5rem 2rem 0;
}
.card__title--for-media-card {
	color:var(--color-primary-dark);
}
.card__main--for-media-card {
	padding:0 2rem;
}


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

.card-block {
    position:relative;
    background-color:var(--color-primary-lighter);
    overflow:hidden;
}
.card-block__content {
    padding:3.75rem 1.875rem;
}
.card-block__quote {
    background-color:transparent;
    margin-bottom:0;
    padding:0;
    padding-bottom:var(--margin-vert-default);
    position:relative;
    color:var(--color-primary-dark);
    border:0;
    border-radius:0;
    isolation:isolate;
}
.card-block__quote::before {
    display:none;
}
.card-block__quote::before {
    content:url(../images/bg-for-content-block-quote-branding-mark-travers.svg);
    position:absolute;
    bottom:0;
    left:5.5rem;
    z-index:-1;
    line-height:0; /* remove whitespace */
    display:none;

    width:auto;
    height:auto;
    background-color:transparent;
    mask-image:none;
}
.card-block__quote p {
    font-family:var(--font-secondary);
    font-weight:400;
    line-height:1.46;
    font-size:1.625rem;
}
.card-block__quote cite {
    font-size:1.125rem;
} 
.card-block__media {
    height:385px;
    overflow:hidden;
}
.card-block__img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:left 50%;
}
.card-block__cutout-media {
    position:absolute;
    bottom:0;
    left:0.5rem;
    pointer-events:none;
}
.card-block__cutout-img {
    display:block;
    width:auto;
    height:auto;
}
.card-block__cutout-img--chris {
    width:271px;
    height:410px;
}
@media all and (max-width:1023px) {
    .card-block {
        margin-left:-0.625rem;
        margin-right:-0.625rem;
    }   
}
@media all and (min-width:1024px) {
    .card-block__content {
        padding-left:3.125rem;
        padding-right:0;
    }
    .card-block__quote::before {
        display:inline;
    }
    .card-block__media {
        height:100%;
        min-height:385px;
    }
    .card-block__cutout-media {
        height:100%;
        left:36%;
    }
    .card-block__cutout-img--chris {
        width:auto;
    }
    .card-block__cutout-img--chris,
    .card-block__cutout-img {
        height:100%;
    }
}


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


/* Form Content Block, Aside */
.content-block {
    padding:1.563rem 1.563rem 1rem;
    margin-bottom:var(--margin-vert-default);
    background-color:var(--color-gray-accent);
    box-shadow:var(--box-shadow-default-015);
    border-radius:10px;
}


/************************************
/*----------------------------------
/*  CTA GRID
/*----------------------------------
/*************************************/


.cta-grid {
    overflow:hidden; /* Remove Horzontal Scroll Bar & hide borders */
    margin-bottom:calc(var(--margin-vert-default) + 0.625rem);
}
.cta-grid > .row {
    margin:-1.25rem;
}
.cta-grid__item {
    padding:1.25rem 0.625rem;
    position:relative;
}
.cta-grid__item::before {
    content:"";
    width:calc(100% - 1.25rem);
    height:calc(100% - 1.25rem);
    border-bottom:1px solid var(--color-white);
    position:absolute;
    bottom:0;
    right:0.625rem;
}
.cta-grid__link {
    background-color:rgba(var(--color-white-rgb), 0.65);
    height:calc(100% - 2.5rem);
    min-height:100px;
    display:flex;
    flex-flow:row wrap;
    align-items:center;
    justify-content:center;
    backdrop-filter:var(--blur-01);
    position:relative;
    isolation:isolate;
}
.cta-grid__link::after {
    content:"+";
    font-family:var(--font-secondary);
    font-size:40px;
    font-weight:400;
    color:var(--color-primary-dark);
    text-align:center;
    line-height:40px;
    position:absolute;
    bottom:0.5rem;
    right:1rem;
    margin:auto;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
.cta-grid__link-text {
    -ms-flex:0 0 100%;
    flex:0 0 100%;
    font-family:var(--font-secondary);
    font-weight:400;
    font-size:var(--font-size-h3);
    color:var(--color-primary-dark);
    line-height:1.1;
    text-align:center;
}
.cta-grid__link-subtext {
    display:block;
    font-family:var(--font-primary);
    font-size:var(--font-size-h6);
    font-weight:700;
    color:var(--color-base);
    text-transform:uppercase;
    letter-spacing:var(--letter-spacing-default);
	line-height:inherit;
}
.cta-grid__link:is(:hover, :active) {
    background-color:rgba(var(--color-primary-dark-rgb), 0.65);
}
.cta-grid__link:is(:hover, :active)::after {
    color:var(--color-primary-lighter);
}
.cta-grid__link:is(:hover, :active) .cta-grid__link-text {
    color:var(--color-primary-lighter);
}
.cta-grid__link:is(:hover, :active) .cta-grid__link-subtext {
    color:var(--color-white);
}
.cta-grid__link:focus-visible {
    -webkit-box-shadow:inset 0 0 0 2px var(--color-primary);
	-moz-box-shadow:inset 0 0 0 2px var(--color-primary);
	box-shadow:inset 0 0 0 2px var(--color-primary);
}
.cta-grid__link:is(:active, :focus-visible) {
	text-decoration:none;
}
@media all and (min-width:640px) {
    .cta-grid__item::before {
        border-right:1px solid var(--color-white);
        width:calc(100% + 1.25rem);
        height:100%;
        right:-0.625rem;
    }
}
@media all and (min-width:1024px) {
    .cta-grid__link {    
        min-height:185px;
    }
}


/************************************
/*----------------------------------
/*  ICON CALLOUTS
/*----------------------------------
/*************************************/


.icon-callout {
    text-align:center;
    max-width:315px;
    margin-left:auto;
    margin-right:auto;
}
.icon-callout__title {
    color:initial;
    font-weight:initial;
    text-transform:initial;
    letter-spacing:initial;
    /* Default h3 size. Set size so can use whatever header is appropriate */
    font-size:var(--font-size-h3);
    font-family:var(--font-secondary);
    font-weight:400;
    color:var(--color-primary-dark);
}
.icon-callout__title,
.icon-callout__text:not(:last-of-type) {
    margin-bottom:calc(var(--margin-vert-default) / 2);
}
.icon-callout__icon {
}
.icon-callout__btn {
    margin-top:0.313rem;
    min-width:175px;
}


/************************************
/*----------------------------------
/*  PANELS | Fullwidth
/*----------------------------------
/*************************************/


.panel {
	width:100vw;
	max-width:100vw;
	position:relative;
	left:50%;
	right:50%;
	margin-left:-50vw !important;
	margin-right:-50vw !important;
    isolation:isolate;
	overflow:hidden;
}
.panel:not(.panel--has-img):not([class*="background"]) {
    background:var(--color-gray-accent);
}
.panel > .row,
.panel > .row.expanded {
	margin-left:auto;
	margin-right:auto;	    
}
.panel > .row:not(.expanded) {
	width:100%;
	max-width:var(--row-max-width-px);
	max-width:var(--row-max-width-rem);	
}
.panel > .row:not(.expanded).columns {
	margin-left:auto !important;
	margin-right:auto !important;	
	padding-right:0.625rem !important;
	padding-left:0.625rem !important;
}
.panel__media {
    width:100%;
    height:315px;
    position:relative;
}
.panel__img {
    display:block;
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover;
}
.panel__content {
}
.panel__title,
.panel__text {
    color:inherit;
}
/* Panel with Cards */
.panel__has-cards {
}
.panel__row-for-cards {
    background-color:var(--color-primary-dark);
    padding-top:2rem;
    padding-bottom:2rem;
}
.panel__row-for-cards--top-aligned {
}
.panel__row-for-cards--bottom-aligned {
}
.panel__content--card {
    padding:1.375rem 1.875rem 0.188rem;
    height:100%;
    color:var(--color-white);
    background: rgba(var(--color-primary-dark-rgb), 0.75);
    backdrop-filter:var(--blur-01);
}
.panel__title--card {
    position:relative;
    font-family:var(--font-primary);
    font-size:var(--font-size-h5);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:var(--letter-spacing-large);
}
.panel__title--card::after {
    content:"";
    display:block;
    width:100%;
    max-width:145px;
    height:3px;
    background-color:var(--color-white);
    position:absolute;
    bottom:-0.875rem;
    left:0;
}
@media all and (min-width:1024px) {
    .panel__media {
        height:100%;
        position:absolute;
        top:0;
        bottom:0;
        left:0;
        right:0;
        z-index:-1;
    }
    .panel--has-img {
        color:var(--color-white);
        background-color:var(--color-black);
    }
    .panel__has-cards {
        min-height:655px;
        display:-ms-flexbox;
        display:flex;
        /* Middle Align Items */
        -ms-flex-align:center;
        align-items:center;
    }
    .panel__row-for-cards {
        background-color:transparent;
        padding-top:5rem;
        padding-bottom:3.75rem;
    }
    .panel__row-for-cards--top-aligned {
        margin-bottom:auto;
        padding-top:0;
    }
    .panel__row-for-cards--bottom-aligned {
        margin-top:auto;
        margin-bottom:-1.25rem; /* Adjust for card bottom margin */
        padding-bottom:0;
    }
    .panel__content--card {
        padding-left:1.25rem;
        padding-right:1.25rem;
        margin-bottom:1.25rem;
        height:calc(100% - 1.25rem);
    }
}



/************************************
/*----------------------------------
/*  EMPOWEREN FORMS
/*----------------------------------
/*************************************/


.cmForm {
}
.formElements h2 {
	/* Resets to match default h2 styling from baseStyles.css */
	font-size:var(--font-size-h2);
	color:var(--color-primary);
}
.formElements h2:not([class*="margin-bottom"]) {
	margin-bottom:var(--margin-vert-default);
}
.form-title,
.form-text {
	text-align:center;
}
.formElements .formRow {
	clear:both;
	margin-left:auto;
	margin-right:auto;
}
.formElements .formRow > ul {
	padding:0;
	margin:0 -0.438rem;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-flow:row wrap;
    flex-flow:row wrap;
}
.formElements label, .formElements fieldset legend, #ecomTotal label {
	padding-bottom:0.625rem;
	font-weight:700;
}
.formElements span label {
	font-family:inherit;
	font-size:var(--font-size-base);
    font-weight:400;
    line-height:1;
	color:var(--color-base);
	vertical-align:middle;
	margin:0;
	padding-bottom:0.250rem;
}
.formElements .formRow > ul > li.required > label::after,
.formElements .formRow > ul > li.required legend::after {
	font-family:inherit;	
	font-weight:400;
	font-size:1rem;
	color:#d40000;
}
.formElements .row > ul > li,
.formElements .formRow > ul > li {
	display:block;
	width:100%;
    float:none;
	position:relative;
	margin:0 0 1.5rem 0;
	padding:0 0.438rem;
	text-indent:0;
    -ms-flex:0 0 100%;
    flex:0 0 100%;
}
.formElements .row > ul > li::before,
.formElements .formRow > ul > li::before {
    display:none;
}
.currentForm input[type="submit"] {
    margin-top:0.625rem;
    margin-left:auto;
    margin-right:auto;
    min-width:170px;
}
li[id^="date_picker"] {
	position:relative;
}
.ui-datepicker-trigger,
.formElements li[id^="date_picker"] .smaller {
	display:none;
}
@media all and (min-width:40rem) { /*- 640px and up -*/
    .formElements .row > ul > li,
    .formElements .formRow > ul > li {
        -ms-flex:1 1 0px;
        flex:1 1 0px;
    }
	.formElements .formRow ul > li.radio fieldset span,
	.formElements .formRow ul > li.checkbox fieldset span {
		float:left;
	}
	.formElements .formRow ul > li.radio fieldset span:not(:last-of-type),
	.formElements .formRow ul > li.checkbox fieldset span:not(:last-of-type) {
		margin-right:1.5rem;
	}
}
/*---> Custom Forms in Includes <---*/
.formElements .formRow > ul > li span.input-decor,
.input-decor {
    position:relative;
    margin-top:0;
}
.input-decor::before {
    position:absolute;
	top:50%;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.input-decor--dollar::before {
    content:"$";
    left:0.5rem;
}
.input-decor--dollar input:is([type="text"]) {
    padding-left:1.5rem;
}
.input-decor--percent::before {
    content:"%";
    right:0.5rem;
	top:50%;
}
.input-decor--percent input:is([type="text"]) {
    padding-right:1.5rem;
}
.input-margin-top-1625 {
    margin-top:1.625rem;
}
@media all and (min-width:640px) {
    .md\:input-margin-top-1625 {
        margin-top:1.625rem;
    }
    .formElements .formRow ul > li.checkbox--3col fieldset span {
        width:calc(33.3333% - 1.5rem);
    }
}
.fleet,
.premises,
.pilot,
.vehicle,
.driver,
.aircraft {
    margin-left:0;
    margin-bottom:0;
    list-style:none;
}
.formElements .formRow > ul > li span:is(.fleet-number, .premise-number, .pilot-number, .vehicle-number, .driver-number, .aircraft-number),
.fleet-number,
.premise-number,
.pilot-number,
.vehicle-number,
.driver-number,
.aircraft-number {
    display:inline;
    margin-top:0;
    float:none;
}



/************************************
/*----------------------------------
/*  EMPOWEREN GALLERIES
/*----------------------------------
/*************************************/


.lightBoxImgs {
	margin:0 -0.625rem var(--margin-vert-default); /* pull margins to accommodate .lbThumb margins */
	display:-ms-flexbox;
	display:flex;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;
}
.pswp { /*-- Overlay --*/
	z-index:11000; /* Higher than Sticky Header */
}
.pswp__button {
	background-color:transparent !important;
}
.lbThumb {
	position:relative;
	-ms-flex:0 0 calc(50% - 1.25rem);
	flex:0 0 calc(50% - 1.25rem);
	max-width:calc(50% - 1.25rem);
	margin:0.625rem;
	float:none;
	border:0;
	border-radius:0;	
}
.lbThumb:hover,
.lightBoxImgs .lbThumb:hover {
    /* Reset from lightbox default */
    top:auto !important;
    box-shadow:none;
}
.lbThumb::before {
	background:rgba(var(--color-base-rgb),0.75);
	opacity:0;
	display:block;
	content:'';
	width:100%;
	height:100%;
	position:absolute;
    inset:0;
    margin:auto;
	-webkit-transform:scale(0);
	-ms-transform:scale(0);
	transform:scale(0);
	-webkit-transition:all 0.3s ease-out;
	-o-transition:all 0.3s ease-out;
	-moz-transition:all 0.3s ease-out;
	transition:all 0.3s ease-out;
	z-index:120;
}
.lbThumb:hover::before {
	cursor:pointer;
	-ms-transform: scale(1);
	transform: scale(1);
	opacity:1;
}
.lbThumb::after {
	display:block;
	content:'View Larger Image';
	font-size:var(--font-size-base);
	text-align:center;
	color:var(--color-white);
    font-weight:600;
	position:absolute;
	left:0;
	right:0;
	top:50%;
	-webkit-transform:translateY(-50%) scale(0);
	transform:translateY(-50%) scale(0);
	-webkit-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	opacity:0;
	z-index:120;
}
.lbThumb:hover::after {
	cursor:pointer;
	-ms-transform:translateY(-50%) scale(1);
	transform:translateY(-50%) scale(1);
	opacity:1;
}
.lbThumb img {
	display:block;
	height:auto;
	width:100%;	
	margin:0;
	position:relative;
	top:0;
	opacity:1;
	box-shadow:none;
}
@media all and (min-width:768px) {
	/*---> Galleries <---*/
	.lbThumb {
		-ms-flex:0 0 calc(33.33333% - 1.25rem);
		flex:0 0 calc(33.33333% - 1.25rem);
		max-width:calc(33.33333% - 1.25rem);
	}
}
@media all and (min-width:1024px) {
	/*---> Galleries <---*/
	.lbThumb {
		-ms-flex:0 0 calc(25% - 1.25rem);
		flex:0 0 calc(25% - 1.25rem);
		max-width:calc(25% - 1.25rem);
	}
}



/************************************
/*----------------------------------
/*  COLOPHON
/*----------------------------------
/*************************************/


.colophon {
    background-color:var(--color-base);
    padding-top:2.5rem;
    padding-bottom:1rem;
    color:var(--color-white);
}
.branding-link--for-colophon {
	max-width:265px;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:calc(var(--margin-vert-default) + 0.5rem);
}
.colophon__text {
    font-size:var(--font-size-small);
    text-align:center;
}
.colophon__text--tiny {
    font-size:var(--font-size-tiny);
}
.colophon__link {
    font-weight:inherit;
    color:inherit;
}
.colophon__link:hover {
    color:var(--color-secondary);
}
.colophon__link:hover {
}
.colophon__footer {
}
.social-list--for-colophon {
    justify-content:center;
}
.social-link--for-colophon:not(:hover, :active, :focus-visible) .social-link__icon--for-colophon {
	fill:var(--color-primary-lighter);
}
.social-link--for-colophon:is(:hover) .social-link__icon--for-colophon {
    fill:var(--color-secondary);
}
@media all and (min-width:1024px) {
    .colophon__footer {
        margin-top:1rem;
    }
}
