/*------>>> TABLE OF CONTENTS <<<-------
    - MASTHEAD
    - HERO
    - MAIN - Primary Content
    - ICON CALLOUTS
    - PANELS - FULLWIDTH
    - PANELS - SPLIT
    - PRO CARDS
    - TIMELINES
    - EMPOWERN FORMS
    - EMPOWERN GALLERIES + Gallery Collage
    - COLOPHON
*/


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


/*---> Navigation Utility Bar <---*/
.masthead {
    position:relative;
    background:var(--color-white);
    z-index:10000;
}
.masthead > .row > .columns:nth-of-type(2) {
	position:relative;
}
.masthead > .row > .columns:nth-of-type(2)::before {
	background:var(--color-gray-accent);
	margin:0 auto;
	content:"";
	width:100vw;
	height:100%;
	position:absolute;
	top:0;
	left:-50vw;
	right:-50vw;
	z-index:-1;
}
.branding-link--for-masthead {
	margin-top:0.563rem;
	margin-bottom:0.563rem;
	max-width:110px;
}
.masthead__utility-list {
	margin:0 -0.625rem; /*- Pull to override the column padding -*/
    display:flex;
	position:relative;
	z-index:2;
	list-style: none;
}
.masthead__utility-list-item {
}
.masthead__utility-list-item::before {
    display:none; /* Reset from base li styles */
}
.masthead__utility-list-button {
    border-radius:0;
    cursor:pointer;
}
.masthead__utility-list-button,
.masthead__utility-list-link {
	padding:0.75rem 1.125rem;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
	font-weight:400;
	font-size:1rem;
	line-height:1.25;
}
.masthead__utility-list-button,
.masthead__utility-list-button:is(:focus, :focus-visible),
.masthead__utility-list-link,
.masthead__utility-list-link:is(:focus, :focus-visible) {
    color:var(--color-base);
}
.masthead__utility-list-link {
	background:var(--color-white);
}
.masthead__utility-list-button,
.masthead__utility-list-button:is(:hover, :active, :focus, :focus-visible) {
	background:transparent;
}
.masthead__utility-list-link:is(:active, :focus-visible) {
	text-decoration:none;
}
.masthead__utility-list-button:hover,
.masthead__utility-list-link:hover {
	color:var(--color-primary-dark);
}
.masthead__utility-list-button:is(:focus, :focus-visible),
.masthead__utility-list-link:is(:focus, :focus-visible) {
	outline:0;
	border:0;
}
.masthead__utility-list-button:is(:focus-visible),
.masthead__utility-list-link:is(: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);
}
.masthead__utility-list-button:active,
.masthead__utility-list-link:active {
	color:var(--color-primary-dark);
	-webkit-box-shadow:inset 0 0 0 2px var(--color-primary-dark);
	-moz-box-shadow:inset 0 0 0 2px var(--color-primary-dark);
    box-shadow:inset 0 0 0 2px var(--color-primary-dark);	
}
.masthead__utility-list-icon {
	fill:var(--color-base);
	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,
.masthead__utility-list-button:is(:hover, :active) .masthead__utility-list-icon {
    fill:var(--color-primary-dark);
}
.masthead__utility-list-overflow {
	display:none;
	color:inherit;
	white-space:nowrap;
}
/* Filled Link */
.masthead__utility-list-link--filled,
.masthead__utility-list-link--filled:is(:hover, :active, :focus, :focus-visible) {
	color:var(--color-white);
}
.masthead__utility-list-link--filled,
.masthead__utility-list-link--filled:is(:focus,:focus-visible) {
    background:var(--color-primary);
}
.masthead__utility-list-link--filled:is(:active) {
	-webkit-box-shadow:inset 0 0 0 2px var(--color-primary-dark), inset 0 0 0 4px var(--color-white);
	-moz-box-shadow:inset 0 0 0 2px var(--color-primary-dark), inset 0 0 0 4px var(--color-white);
    box-shadow:inset 0 0 0 2px var(--color-primary-dark), inset 0 0 0 4px var(--color-white);
}
.masthead__utility-list-link--filled:is(:focus-visible) {
	-webkit-box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 4px var(--color-white);
	-moz-box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 4px var(--color-white);
    box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 4px var(--color-white);
}
.masthead__utility-list-link--filled:is(:hover, :active) {
    background:var(--color-primary-dark);
}
.masthead__utility-list-icon--for-filled,
.masthead__utility-list-link--filled:is(:hover, :active, :focus, :focus-visible) .masthead__utility-list-icon--for-filled {
    fill:var(--color-white);
}
/*- 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);
	}
}
@media all and (min-width:1024px) {
	.masthead > .row > .columns:nth-of-type(2)::before {
		display:none;
	}
	.branding-link--for-masthead {
		margin:0.875rem 0;
		max-width:255px;
	}
	.masthead__utility-list {
		margin:0; /*- Reset negative margining -*/
		justify-content:flex-end;
	}
	.masthead__utility-list-link,
	.masthead__utility-list-button {
		padding:0.375rem 0.625rem;
	}
	.masthead__utility-list-link--filled {
		margin-left:0.625rem;
	}
	.masthead__utility-list-icon {
		margin-right:0.313rem;
	}
	.masthead__utility-list-overflow {
		display:inline-block;
	}	
}
@media all and (min-width:1025px) {
	.masthead--hidden {
        position:absolute;
		top:0;
		left:0;
		right:0;
		will-change:transform;
		transform:translateY(-100%);
		transition:transform 0.3s ease-out;
	}	
	.masthead--stuck {
		position:fixed;
		top:0;
		left:0;
		right:0;
		-webkit-animation:navSlide 0.75s ease-in-out forwards;
		animation:navSlide 0.75s ease-in-out forwards;
		-webkit-box-shadow: 0px 10px 25px 0px rgba(0,0,0,0.05);
		-moz-box-shadow: 0px 10px 25px 0px rgba(0,0,0,0.05);
		box-shadow: 0px 10px 25px 0px rgba(0,0,0,0.05);		
	}
}
/*---> Navigation Utility Bar Compact <---*/
.masthead--compact > .row > .columns:nth-of-type(2)::before {
	display:none;
	background:transparent;
	width:0;
	height:0;
}
.masthead__utility-list--compact {
    height:100%;
}
.masthead__utility-list-button--compact,
.masthead__utility-list-link--compact {
	position:relative;
	width:50px;
	height:100%;
    min-height:60px;
}
.masthead__utility-list-icon--for-compact {
    position:absolute;
    inset:0;
    margin:auto;
}
.masthead__utility-list-overflow--for-compact {
	font-weight:700;
	background:inherit;
    display:flex;
    align-items:center;
	position:absolute;
	top:0;
	right:100%;
	height:100%;
	margin:0;
	max-width:0;
	overflow:hidden;
	-webkit-transition:all 0.1s cubic-bezier(0.25,0.46,0.45,0.94);
	-o-transition:all 0.1s cubic-bezier(0.25,0.46,0.45,0.94);
	transition:all 0.1s cubic-bezier(0.25,0.46,0.45,0.94);
}
.masthead__utility-list-link--compact:hover .masthead__utility-list-overflow--for-compact {
    max-width:500px;
    padding:0 0 0 1rem;
    -webkit-transition:all 0.1s cubic-bezier(0.25,0.46,0.45,0.94);
    -o-transition:all 0.1s cubic-bezier(0.25,0.46,0.45,0.94);
    transition:all 0.1s cubic-bezier(0.25,0.46,0.45,0.94);
}
@media (min-width: 1024px) {
	.branding-link--for-masthead-compact {
		max-width:173px;
	}
	.masthead__utility-list--compact {
		margin:0 -0.625rem;
	}
}
/*---> Navigation Ghost <---*/
.masthead--ghost {
	background: linear-gradient(
		hsl(0, 0%, 0%) 0%,
		hsla(0, 0%, 0%, 0.738) 19%,
		hsla(0, 0%, 0%, 0.541) 34%,
		hsla(0, 0%, 0%, 0.382) 47%,
		hsla(0, 0%, 0%, 0.278) 56.5%,
		hsla(0, 0%, 0%, 0.194) 65%,
		hsla(0, 0%, 0%, 0.126) 73%,
		hsla(0, 0%, 0%, 0.075) 80.2%,
		hsla(0, 0%, 0%, 0.042) 86.1%,
		hsla(0, 0%, 0%, 0.021) 91%,
		hsla(0, 0%, 0%, 0.008) 95.2%,
		hsla(0, 0%, 0%, 0.002) 98.2%,
		hsla(0, 0%, 0%, 0) 100%
	);
}
.masthead--ghost:not(.masthead--stuck) {
	position:absolute;
	top:0;
	left:0;
	right:0;
}
.masthead__utility-list-icon--for-ghost {
    fill:var(--color-white);
}
.masthead__utility-list-link--ghost:not(.masthead__utility-list-link--filled) {
	background:transparent;
}
.masthead__utility-list-link--ghost:not(.masthead__utility-list-link--filled):hover .masthead__utility-list-overflow--for-ghost {
	background:var(--color-white);
	padding-right:1rem;
}
@media all and (min-width:1024px) {
    .masthead--ghost:not(.masthead--hidden, .masthead--stuck) .branding-link--for-masthead-ghost {
        margin-bottom:-30px;
    }
}
@media all and (min-width:1025px) {
	.masthead--ghost.masthead--stuck {
		background:var(--color-base);        
        -webkit-box-shadow:0px 3px 30px 0px rgba(0,0,0,0.51);
        -moz-box-shadow:0px 3px 30px 0px rgba(0,0,0,0.51);
        box-shadow:0px 3px 30px 0px rgba(0,0,0,0.51);
	}
    .masthead--ghost:is(.masthead--hidden, .masthead--stuck) .branding-link--for-masthead-ghost {
        max-width:90px;
    }
}


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

.hero {
    position:relative;
    /* Set Background color for Hero Messaging ADA Compliance */
    background-color:var(--color-black);
    -webkit-box-shadow:0px 3px 30px 0px rgba(0,0,0,0.51);
    -moz-box-shadow:0px 3px 30px 0px rgba(0,0,0,0.51);
    box-shadow:0px 3px 30px 0px rgba(0,0,0,0.51);  
}
.hero__media {
    position:relative;
    /* Remove whitespace */
    line-height:0;
}
.hero__media::after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    background-color:rgba(var(--color-black-rgb),0.25);
}
.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;
    top:50%;
    transform:translateY(-50%);
	color:var(--color-white);    
}
.hero__title {
	font-size:var(--font-size-h1);
}
.hero__title small {
    font-weight:600;
}
.hero__title,
.hero__text {
    color:inherit;
}
.hero__text {
    font-weight:600;
    text-shadow:0 1px 2px var(--color-black);
}
@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__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;
	}
}
@media all and (max-width:1919px) {
    .hero__media--is-set-height-for-index {
        height:640px;
    }
}
/*---> Hero Action <---*/
@-webkit-keyframes scale-out-bottom {
    0% {
        -webkit-transform: scale(1);
                transform: scale(1);
        -webkit-transform-origin: 50% 100%;
                transform-origin: 50% 100%;
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(0);
                transform: scale(0);
        -webkit-transform-origin: 50% 100%;
                transform-origin: 50% 100%;
        opacity: 1;
    }
    }
    @keyframes scale-out-bottom {
    0% {
        -webkit-transform: scale(1);
                transform: scale(1);
        -webkit-transform-origin: 50% 100%;
                transform-origin: 50% 100%;
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(0);
                transform: scale(0);
        -webkit-transform-origin: 50% 100%;
                transform-origin: 50% 100%;
        opacity: 1;
    }
}
/*---> Hero Action <---*/
.hero__action {
    position:absolute;
    left:0;
    right:0;
    bottom:1.25rem;
    text-align:center;
    color:var(--color-white);
}
.hero__action__text,
.hero__action__icon {
    display:block;
}
.hero__action__text {
    margin-bottom:0.75rem;
    font-family:var(--font-tertiary);
    font-size:0.875rem;
    font-weight:700;
    color:inherit;
    text-transform:uppercase;
    letter-spacing:0.05em;
}
.hero__action__icon {
    margin-left:auto;
    margin-right:auto;
}
.hero__action__animation {
    -webkit-animation: scale-out-bottom 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both infinite;
    animation: scale-out-bottom 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both infinite;
}
.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 <---*/
.hero__video {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.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%);
}
/*---> Hero Index Video Set Height <---*/
.hero__media--has-video-set-height-for-index {
    background: url(../images/bg-for-hero-video-1920x640.jpg) top center no-repeat;
    background-size:auto 100%;
}
@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);
	}
}
@media all and (max-width:1279px) {
	.hero__video--is-set-height-for-index {
		min-width:300vh; /* Given a 1920:640 aspect ratio, 1920/640*100 = 300 */
		height:33.3333vw; /* Given a 1920:640 aspect ratio, 640/1920*100 = 33.3333 */
	}
}
@media all and (min-width:1280px) {
    .hero__media--has-video-set-height-for-index {
		padding-bottom:33.3333%; /* Given a 1920:640 aspect ratio, 640/1920*100 = 33.3333 */
    }
}


/************************************
/*----------------------------------
/*  MAIN - Primary Content
/*----------------------------------
/*************************************/

.main {
}
.main--index {
}
.main--interior {
}
.primary-content {
}
.primary-content--index {
    padding-top:3rem;
    padding-bottom:1rem;
}
@media all and (min-width:1024px) {
    .primary-content--index {
        /* padding-top:2rem; */
        /* padding-bottom:2rem; */
    }
}
.primary-content--interior {
    position:relative;
}
.primary-content--interior::before {
    content:"";
    width:100%;
    height:100%;
    background:url(../images/bg-topography-lines-001-1005x1038.png) top left no-repeat;
    z-index:-1;
    position:absolute;
    top:0;
    left:72%;
}


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


.icon-callout {
    text-align:center;
}
.icon-callout__title {
    /* Resets. Reset so can use whatever header is appropriate */
    font-family:var(--font-tertiary);
    font-size:var(--font-size-h4);
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
}
.icon-callout__text {
}
.icon-callout__icon {
}
.icon-callout__circle {
    position:relative;
    margin-left:auto;
    margin-right:auto;
    width:148px;
    height:148px;
    border-radius:100%;
    background:var(--color-primary);
}
.icon-callout__icon--for-circle {
    position:absolute;
    inset:0;
    margin:auto;
}


/************************************
/*----------------------------------
/*  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-color:var(--color-gray-accent);
}
.panel > .row,
.panel > .row.expanded {
	margin-left:auto;
	margin-right:auto;	    
}
.panel > .row:not(.expanded) { /* Set this to the max-width of your .rows in baseStyles.css */
	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 {
    position:relative;
    width:100%;
    height:290px;
}
.panel__img {
    display:block;
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover;
}
.panel__content {
    padding-top:3rem;
    padding-bottom:1rem;
    text-align:center;
}
.panel__title {
    /* Default h2 size. Set size so can use whatever header is appropriate */
    font-size:var(--font-size-h2);
}
.panel__title,
.panel__text {
    color:inherit;
}
.panel__text {
}
.panel--bg-collage-001 {
    background:var(--color-gray-accent) url(../images/bg-collage-001-1920x558.jpg) center center no-repeat;
    /* background-size:auto 100%; */
    background-size: cover;
}
@media all and (min-width:1024px) {
    .panel__media {
        height:100%;
        position:absolute;
        top:0;
        bottom:0;
        left:0;
        right:0;
        z-index:-1;
    }
    .panel__media::after {
        content:"";
        position:absolute;
        top:0;
        left:0;
        bottom:0;
        right:0;
        background-color:rgba(var(--color-black-rgb), 0.45);
    }
    .panel--has-img {
        color:var(--color-white);
        background-color:var(--color-black);
    }    
    .panel__content {
        padding-top:4rem;
        padding-bottom:3rem;
    }
    .panel__content:not(.panel__content--center) {
        text-align:left;
    }
    .panel--bg-collage-001 {
        min-height:515px;
        display:flex;
        align-items:center;
    }
}
@media all and (min-width:1024px) {
    .panel--bg-quote::before {
        content:url(../images/bg-quote-001-638x448.png);
        position:absolute;
        top:0;
        left:82%;
        z-index:-1;
    }
}
@media all and (min-width:1124px) { /* Row Max With */
    .panel--bg-quote::before {
        left:calc(50% + 360px);
    }
}
@media all and (min-width:1920px) {    
    .panel--bg-collage-001 {
        background-size:cover;
    }
}


/************************************
/*----------------------------------
/*  PANELS - SPLIT
/*----------------------------------
/*************************************/


.split-panel {
	width:100vw;
	max-width:100vw;
	position:relative;
	left:50%;
	right:50%;
	margin-left:-50vw !important;
	margin-right:-50vw !important;
	isolation:isolate;
	overflow:hidden;
}
.split-panel__media {
    position:relative;
}
.split-panel__img {
    display:block;
    width:100%;
}
.split-panel__content {
    padding:3rem 0 1rem;
    text-align:center;
}
.split-panel__title {
    /* Default h2 size. Set size so can use whatever header is appropriate */
    font-size:var(--font-size-h2);
}
.split-panel__text {
}
@media all and (min-width:1024px) {
	.split-panel > .row {
		align-items:stretch;
	}
    .split-panel__content {
		padding:8rem 0 6rem;
        text-align:left;
    }
    .split-panel__content > .row > .columns {
        max-width:calc(var(--row-max-width-px) / 2) !important;
    }
	.split-panel > .row > .columns:nth-of-type(2) { /*Middle Align the Content if Shorter than the image */
		-ms-flex-item-align:center;
		-ms-grid-row-align:center;
		align-self:center;
	}
    .split-panel__media {
		min-height:560px;
		height:100%;
	}
    .split-panel__img {
        height:100%;
        -o-object-fit:cover;
        object-fit:cover;
	}
    .split-panel__img--right-aligned {
        object-position:right center;
    }
    .split-panel__img--left-aligned {
        object-position:left center;
    }
}
@media all and (min-width:1024px) {
    .split-panel--bg-topography::before {
        content:url(../images/bg-topography-lines-001-1005x1038.png);
        position:absolute;
        top:0;
        left:70%;
        z-index:-1;
    }
}
@media all and (min-width:1124px) { /* Row Max With */
    .split-panel--bg-topography::before {
        left:calc(50% + 205px);
    }
}



/************************************
/*----------------------------------
/*  PANELS SPLIT - VIDEO
/*----------------------------------
/*************************************/

.split-panel__media--has-video {
    height:0;
    overflow:hidden;
    padding-bottom:56.25%;/* Given a 1920:1080 aspect ratio, 1080/1920*100 = 56.25 */
}
.split-panel__iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
@media all and (min-width:1024px) {
    .split-panel__media--has-video {
        padding-bottom:0;
        padding-top:0;
        margin:0;
        width:100%;
        height:100%;
        min-height:560px;
    }
    .split-panel__iframe {
        width:50vw;
        height:100%;
        min-width:177.78vh;/* Given a 1920:1080 aspect ratio, 1920/1080*100 = 177.78 */
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%, -50%);
    }
}
@media all and (min-width:1920px) {
    .split-panel__media--has-video {
        padding-bottom:0;
        padding-top:0;
        margin:0;
        width:100%;
        height:100%;
        min-height:750px;
    }
}


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


.pro-card {
}
.pro-card__media {
    width:100%;
    max-width:315px;
    margin-left:auto;
    margin-right:auto;
}
.pro-card__img {
    display:block;
    width:100%;
    margin-bottom:-7%; /* Large Bottom Drop Shadow */
}
.pro-card__content {
    text-align:center;
}
.pro-card__title {
    line-height:1.33;
    text-transform:initial; /* Reset */
    letter-spacing:initial; /* Reset */
    font-family:var(--font-secondary);
    font-size:var(--font-size-h3); 
}
.pro-card__text {
}
@media all and (min-width:1024px) {
    .pro-card__content {
        padding-left:0.313rem;
        padding-right:0.313rem;
    }
}

/************************************
/*----------------------------------
/*  SUPERTEMPLATE 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-size:var(--font-size-h4);
	color:var(--color-white);
    margin: 1rem;
}
.card__main {
	padding:2.5rem 2rem 0;
	display:flex;
	flex-direction:column;
	flex-grow:1;
}
.card__text {
}
.card__foot {
	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;
}

/************************************
/*----------------------------------
/*  SUPERTEMPLATE CARDS MEDIA 
/*----------------------------------
/*************************************/


.card__media {
	pointer-events:none;
}
.card__img {
	display:block;
	width:100%;
}
.card__head--for-media-card {
	background:transparent;
	padding:0.5rem 1rem 0;
}
.card__title--for-media-card {
	color:inherit;
}
.card__main--for-media-card {
	padding:0 2rem;
}


/************************************
/*----------------------------------
/*  TIMELINES
/*----------------------------------
/*************************************/


.timeline {
    position:relative;
    padding-top:3rem;
    margin-bottom:1.875rem;
}
.timeline::before {
    display:block;
    width:0.250rem;
    height:100%;
    content:'';
    background-color:var(--color-primary);
    position:absolute;
    top:0;
    left:0;
}
.timeline::after {
    display:block;
    width:0.250rem;
    height:50px;
    content:'';
    background-image:linear-gradient(to bottom, rgba(var(--color-white-rgb), 0), rgba(var(--color-white-rgb),1));
    position:absolute;
    bottom:0;
    left:0;
}
.timeline__item {
    position:relative;
    padding-bottom:2rem;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}
.timeline__content,
.timeline__media {
    -ms-flex:0 0 100%;
    flex:0 0 100%;
    max-width:100%;
    padding-left:1.5rem;
    padding-right:1.5rem;
}
.timeline__content {
    position:relative;
}
.timeline__content::before {
    display:block;
    width:0;
    height:0;
    content:'';
    line-height:0; /* Remove whitespace */
    border-bottom:8px solid transparent;
    border-top:8px solid transparent;
    border-left:10px solid var(--color-primary);
    position:absolute;
    top:0.563rem;
    left:0.250rem;
}
.timeline__title {
    line-height:1.33;
    text-transform:initial; /* Reset */
    letter-spacing:initial; /* Reset */
    font-family:var(--font-tertiary);
    font-weight:500;
    /* Default h5 size. Set size so can use whatever header is appropriate */
    font-size:var(--font-size-h4);
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--color-base);   
}
.timeline__text {
}
.timeline__img {
}
@media all and (min-width:1024px) {
    .timeline::before,
    .timeline::after {
        left:50%;
        -webkit-transform:translateX(-50%);
        -ms-transform:translateX(-50%);
        transform:translateX(-50%);
    }
    .timeline__content,
    .timeline__media {
        -ms-flex:0 0 50%;
        flex:0 0 50%;
        max-width:50%;
    }
    .timeline__item--invert {
        -ms-flex-pack:end;
        justify-content:flex-end;
    }
    .timeline__content--invert {
        -ms-flex-order:2;
        order:2;
    }
    .timeline__content--invert::before {
        left:0.125rem;
    }
    .timeline__content:not(.timeline__content--invert)::before {
        border-left:0;
        border-right:10px solid var(--color-primary);
        left:auto;
        right:0.125rem;
    }
    .timeline__media--invert,
    .timeline__content:not(.timeline__content--invert) {
        padding-left:0;
        text-align:right;
    }
    .timeline__content--invert,
    .timeline__media:not(.timeline__media--invert) {
        padding-right:0;
    }
}
/*---> TImeline Bubble <---*/
.timeline__content--has-plot::before {
    display:none;
}
.timeline__plot {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content:center;
    width:90px;
    height:90px;
    background:var(--color-primary);
    position:relative;
    left:-2rem;
    margin-bottom:2rem;
    border:0.250rem solid var(--color-primary);
    border-radius:100%;
}
.timeline__plot::after {
    display:block;
    width:0;
    height:0;
    content:'';
    line-height:0; /* Remove whitespace */
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-top:10px solid var(--color-primary);
    position:absolute;
    top:calc(100% + 0.188rem);
    left:50%;
    -webkit-transform:translateX(-50%);
    -ms-transform:translateX(-50%);
    transform:translateX(-50%);
}
.plot__number {
    margin-bottom:0;
    text-transform:initial; /* Reset */
    letter-spacing:initial; /* Reset */
    /* Set size so can use whatever header is appropriate */
    font-size:var(--font-size-h5);
    font-family:var(--font-primary);
    font-weight:600;
    text-transform:uppercase;
    text-align:center;
    color:var(--color-white);
}
.plot__icon {
    max-width:80%;
    max-height:80%;
}
@media all and (min-width:1024px) {
    .timeline__content--has-plot,
    .timeline__media--for-plot {
        padding-top:28px;
    }
    .timeline__content--has-plot:not(.timeline__content--invert) {
        padding-right:80px;
    }
    .timeline__content--has-plot.timeline__content--invert {
        padding-left:80px;
    }
    .timeline__plot {
        margin-bottom:initial;
        position:absolute;
        top:0;
        right:-45px;
        left:initial;
    }
    .timeline__plot:not(.timeline__plot--invert) {
        left:initial;
        right:-45px;
    }
    .timeline__plot--invert {
        left:-45px;
    }
    .timeline__plot::after {
        border-bottom:8px solid transparent;
        border-top:8px solid transparent;
        top:50%;
        -webkit-transform:translateY(-50%);
        -ms-transform:translateY(-50%);
        transform:translateY(-50%);
    }
    .timeline__plot:not(.timeline__plot--invert)::after {
        border-right:10px solid var(--color-primary);
        left:-21px;
    }
    .timeline__plot--invert::after {
        border-left:10px solid var(--color-primary);
        left:initial;
        right:-21px;
    }
    .timeline__media--for-plot:not(.timeline__media--invert) {
        padding-left:80px;
    }
    .timeline__media--for-plot.timeline__media--invert {
        padding-right:80px;
    }
}


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


.cmForm {
}
.formElements h2 {
	/* Resets to match default h2 styling from baseStyles.css */
	font-size:var(--font-size-h2);
	color:var(--color-base);
	margin-bottom:1.875rem;
}
.formElements h2,
.formElements p,
.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.25rem;
    font-family:var(--font-tertiary);
	font-weight:500;
}
.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:is([type="submit"], [type="button"]) {
    margin-top:0.5rem;
}
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;
	}
}


/************************************
/*----------------------------------
/*  HUBSPOT FORMS
/*----------------------------------
/*************************************/

/* Hubspot Form Styles */
.hs-form-radio-display {
    display: flex;
    align-items: flex-start;    
}
/* .hs-form-booleancheckbox-display input[type='checkbox'], .hs-form-radio-display input[type='radio'] {
  margin-top: .388rem;
} */
.hs-form textarea, .hs-form .legal-consent-container, .hs-recaptcha {
  margin-bottom: 1rem;
}
/* @media (max-width: 400px), (min-device-width: 320px) and (max-device-width: 480px) {
} */
.hbspt-form .hs-form fieldset.form-columns-1 .hs-input:not([type='checkbox'], [type='radio']), .hbspt-form form.hs-form:not(.hs-video-form) .form-columns-2 .hs-form-field .hs-input, .hbspt-form form.hs-form:not(.hs-video-form) .form-columns-3 .hs-form-field .hs-input {
  width: 100%;
}
.hbspt-form .hs-form fieldset.form-columns-1 .input, .hbspt-form .hs-form fieldset.form-columns-2 .input, .hbspt-form .hs-form fieldset.form-columns-3 .input {
  margin-right: 0;
}
.hbspt-form .hs-form fieldset {
  max-width: 100%;
}
.hs-form-field {
    margin-top: .5rem;
    margin-bottom: .5rem;
}
@media all and (min-width: 48rem) {
  .hbspt-form .hs-form fieldset {
    display: flex;
    gap: 20px;
  }
  .hs-form-field {
    width: 100%;
  }
}
.hs-form-field label {
  font-size: 1rem;
  color: var(--color-primary);
  font-weight: bold;
}
.hs-form-field .hs-form-radio-display, .hs-form-field .hs-form-booleancheckbox-display {
  color: #262b11;
  font-weight: normal;
}
.hs-form .inputs-list {
    list-style: none;
    margin: 0;
}
.hs-form .inputs-list li {
    margin-bottom: .5rem;
}
/* .hs-form input[type=submit] {
  background: #a17623;
  border-radius: 0;
  border: 0 none;
  color: #ffffff;
  font-size: .875rem;
  font-weight: 700;
  padding: .5rem 2rem;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: all 200ms cubic-bezier(0.61, 0, 0.79, 0.23);
  -o-transition: all 200ms cubic-bezier(0.61, 0, 0.79, 0.23);
  transition: all 200ms cubic-bezier(0.61, 0, 0.79, 0.23);
}
.hs-form input[type=submit]:hover {
  background: var(--color-primary);
  -webkit-transition: all 200ms ease-out;
  -o-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
} */


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


.lightBoxImgs {
	margin:0 -0.625rem; /* pull margins to accommodate .lbThumb margins */
	display:-ms-flexbox;
	display:flex;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;
    align-items: center;
    justify-content: center;
}
.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);
	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);
	}
}
/*---> Gallery Collage <---*/
.gallery-collage {
}
.gallery-collage .lightBoxImgs {
    display:grid;
    grid-template-rows: repeat(4,1fr);
    grid-template-columns: repeat(2,1fr);
    grid-column-gap:1.25rem;
    grid-row-gap:1.25rem;
    margin:0;
}
.gallery-collage .lbThumb {
    max-width:100%; 
    margin:0;
}
.gallery-collage .lbThumb:first-of-type {
    grid-column-start:1;
    grid-column-end:3;
    grid-row-start:1;
    grid-row-end:3;
}
.gallery-collage .lbThumb img {
    object-fit:cover;
    height:100%;
}
@media all and (min-width:1024px) {
    .gallery-collage .lightBoxImgs {
        grid-template-rows: repeat(2,1fr);
        grid-template-columns: repeat(4,1fr);
    }
}


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


.colophon {
    padding:3.750rem 0 0 0;
    background-color:var(--color-base);
    color:var(--color-white);
}
.branding-link--for-colophon {
	max-width:173px;
    margin:0 auto;
}
.colophon__card {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-flow:row wrap;
    flex-flow:row wrap;
    -ms-flex-align:center;
    align-items:center;
}
.colophon__card__header,
.colophon__card__body {
    -ms-flex:0 0 100%;
    flex:0 0 100%;
}
.colophon__card__circle {
    width:80px;
    height:80px;
}
.colophon__card__circle,
.colophon__text {
    margin-bottom:1rem;
}
.colophon__text {
    font-size:var(--font-size-small);
    text-align:center;
}
.colophon__text:not(:is(.colophon__text--has-copyright, .colophon__text--has-division)) {
    font-weight:700;
}
.colophon__text--has-division {
    padding-top:0.875rem;
    margin-top:0.875rem;
    margin-bottom:1.750rem;
    font-family:var(--font-secondary);
    position:relative;
}
.colophon__text--has-division:before {
    width:115px;
    height:2px;
    background:rgba(var(--color-white-rgb),0.75);
    position:absolute;
    top:0;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
    content:"";
}
.colophon__text--has-division small {
    display:block;
    font-family:var(--font-primary);
    font-weight:600;
    letter-spacing:0.10em;
    text-transform:uppercase;
}
.colophon__link {
    font-weight:inherit;
    color:inherit;
}
.colophon__footer {
    margin-top:2rem;
    padding:3rem 0 2rem;
    border-top:1px solid rgba(var(--color-white-rgb), 0.25);
}
.social-list--for-colophon {
    margin-bottom:1.750rem;
    justify-content:center;
}
.social-link--for-colophon:not(:hover, :active) .social-link__icon--for-colophon {
    fill:var(--color-white);
}
@media all and (min-width:1024px) {
    .colophon__text--has-copyright {
        text-align:left;
    }
    .colophon__text--has-division {
        margin-bottom:0;
    }
    .social-list--for-colophon {
        margin-bottom:1rem;
        justify-content:flex-end;
    }
    .colophon__footer {
        margin-top:2.750rem;
        padding:2.750rem 0 1.750rem;
    }   
}