/*
Theme Name: People Path Custom Theme
Theme URI: http://www.peoplepath.com
Version: 1.0
Description: A custom theme built for People Path.
Author: Gerard Agency
Author URI: http://www.gerardagency.com
template: bb-theme
*/

:root
{
	--white: #ffffff;
	--gray-025: #F9F9F9;
	--gray-035: #F5F5F5;
	--gray-035-rgb0: rgba(245,245,245,0.0);
	--gray-035-rgb100: rgba(245,245,245,1.0);
	--gray-050: #EFEFEF;
	--gray-050-rgb: rgb(239,239,239);
	--gray-050-rgb0: rgba(239,239,239,0);
	--gray-050-rgb50: rgba(239,239,239,0.5);
	--gray-050-rgb100: rgba(239,239,239,1.0);
	--gray-075: #EAEAEA;
	--gray-075-rgb: rgba(234,234,234,1.0);
	--gray-075-rgb0: rgba(234,234,234,0.0);
    --gray-100: #e6e6e6;
	--gray-125: #cecece;
    --gray-150: #bebebe;
    --gray-200: #B5B5B5;
    --gray-400: #939393;
	--gray-500: #888888;
	--gray-525: #7d7d7d;
	--gray-525-rgb: rgba(125,125,125,1.0);
	--gray-535:	#7c7c7c;
    --gray-550: #707070; 
	--gray-600: #555555;
	--gray-700: #4B4B4B;
	--gray-800: #414141;
	--gray-800-rgb: rgba(65,65,65,1.0);
	--gray-900: #262626;
	--black: #000000;
	
	--purple-rgb: rgba(76,74,224,1.0);
	--blue-lt: #4685EC;
	--blue-rgb: rgba(36,105,224,1.0);
	--blue-rgb-0: rgba(36,105,224,0);
	--grad-purple-blue: linear-gradient(90deg, var(--purple-rgb) 0%, var(--blue-rgb) 25%);
	--grad-purple-blue-v: linear-gradient(180deg, var(--purple-rgb) 0%, var(--blue-rgb) 25%);

	--teal-dark: #00B8AF;
	--teal-light: #00DEC3;
	--main-text-link: var(--teal-dark);
	--main-text-link-hover: var(--teal-light);
	--grad-teal: linear-gradient(90deg, var(--teal-dark) 0%, var(--teal-light) 100%);
	--grad-teal-v: linear-gradient(180deg, var(--teal-dark) 0%, var(--teal-light) 100%);
	--grad-teal-h: linear-gradient(90deg, var(--teal-dark) 0%, var(--teal-light) 100%);

	/* top color first, bottom color second */
	--grad-gray75-2-white-v: linear-gradient(180deg, var(--gray-075-rgb) 0%, var(--gray-075-rgb0) 100%);
	--grad-white-2-gray75-v: linear-gradient(0deg, var(--gray-075-rgb) 0%, var(--gray-075-rgb0) 100%);
	--grad-gray35-0-2-1000-v: linear-gradient(0deg, var(--gray-035-rgb100) 0%, var(--gray-035-rgb0) 100%);
	--grad-gray35-100-2-0-v: linear-gradient(0deg, var(--gray-035-rgb0) 0%, var(--gray-035-rgb100) 100%);

	--shadow-color: rgba(0, 0, 0, 0.3);
	--drop-shadow: 0px 5px 10px 0px var(--shadow-color);
	--shadow-color-2: rgba(0, 0, 0, 0.2);
	--drop-shadow-2: 0px 10px 10px 0px var(--shadow-color-2);
	--primary-color: var(--accent-color); /*  - via functions.php - pulling from WP customizer */
	--primary-wt-medium: 500;
	--primary-wt-light: 400;
	--secondary-wt-bold: 700;
    --secondary-wt-regular: 600;
	--secondary-wt-light: 500;
	--spacer: 1rem;
	--ctnr-w-px: 540px;
	--pg-subtitle-fsz: 16px;
	--hero-img-mht: 225px;
	--hero-img-mw: 669px;
	--post-item-w: 100%;
    --sctn-spacing: calc( var(--spacer) * 1.875 );  /* 30px */
	--transition: ease-in 0.2s;
	--bg-dots-ds: 15px; /* ds = dimension short */
	--bg-dots-dl: 60px; /* dl = dimension long */
	--bg-b-arrow-ds: 75px;
	--bg-b-arrow-solid-ds: 75px;
	--bg-dots-t-corner-ds: 150px;
	--story-slider-content-pl: calc( var(--spacer) * 3);
	--story-slider-quote-fsz: 100px;
	--filter-bar-spacing: calc( var(--spacer) * 0.5);
	--copy-mb: calc( var(--spacer) * 1.25);
	--img-overlap-offset: calc( var(--spacer) * -1.5);
	--focus-ring-color: #2260c5;
}

@media (min-width: 576px) 
{
	:root
	{
		--post-item-w: 50%;
	}
}

@media (min-width: 768px)
{
	:root 
	{
		--sctn-spacing: calc( var(--spacer) * 2.8125 ); /* 45px */
		--cntr-w-px: 720px;
		--hero-img-mht: 250px;
		--hero-img-mw: 743px;
		--post-item-w: 33.33333%;
		--pg-subtitle-fsz: 18px;
		--bg-dots-ds: 22px; /* ds = dimension short */
		--bg-dots-dl: 90px; /* dl = dimension long */
		--bg-b-arrow-ds: 100px;
		--bg-b-arrow-solid-ds: 100px;
		--bg-dots-t-corner-ds: 190px;
		--story-slider-content-pl: calc( var(--spacer) * 3.5);
		--story-slider-quote-fsz: 110px;
		--filter-bar-spacing: var(--spacer);
	}
}

@media (min-width: 992px)
{
	:root 
	{
		--sctn-spacing: calc( var(--spacer) * 3.75 ); /* 60px */
		--cntr-w-px: 960px;
		--hero-img-mht: 300px;
		--hero-img-mw: 892px;
		--pg-subtitle-fsz: 21px;
		--bg-dots-ds: 30px; /* ds = dimension short */
		--bg-dots-dl: 120px; /* dl = dimension long */
		--bg-b-arrow-ds: 139px;
		--bg-b-arrow-solid-ds: 140px;
		--bg-dots-t-corner-ds: 228px;
		--story-slider-content-pl: calc( var(--spacer) * 4);
		--story-slider-quote-fsz: 120px;
		--img-overlap-offset: calc( var(--spacer) * -3);
	}
}

@media (min-width: 1200px)
{
	:root 
	{
		--cntr-w-px: 1140px;
		--hero-img-mht: 370px;
		--hero-img-mw: 1100px;
		--pg-subtitle-fsz: 24px;
		--bg-dots-t-corner-ds: 265px;
	}
}

/* hide admin bar on mobile */
@media (max-width: 767px)
{
	#wpadminbar 
	{
		display: none;
	}
}

@media screen and (max-width: 782px)
{
	body.logged-in 
	{
		margin-top: -46px !important; /* compensate for html inline style for adminbar */
	}
} 


/* START grid ------------------------------------------------ */
.no-gutters
{
	margin-right: 0;
	margin-left: 0;
}

.no-gutters .col,
.no-gutters [class*="col-"]
{
  padding-right: 0;
  padding-left: 0;
}

.cg-jc-center .fl-col-group
{
	justify-content: center;
	display: flex;
    flex-wrap: wrap;
}

.cg-jc-center .fl-col-group .fl-col 
{
	float: none;
}

[class*='col-cc-'] 
{
	float: none;
	display: flex;
}

.col-cc-6 .fl-col-content
{
	max-width: calc( var(--cntr-w-px) * 0.5);
}

.cg-dflex .fl-col-group 
{
	display: flex;
}

@media (max-width: 768px) 
{
	.col-smo-mx-auto 
	{
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

@media (min-width: 992px)
{
	.col-cc-lg-6 .fl-col-content
	{
		max-width: calc( var(--cntr-w-px) * 0.5);
	}
}

[class*='mh-'] 
{
    transition: min-height var(--transition);
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto 
{
	width: 100% !important;
}

@media (min-width: 576px) 
{
	.col-sm-6,
	.cols-sm-6 .fl-col 
	{
		max-width: 50% !important;
		flex: 0 0 50% !important;
	}
}

@media (min-width: 768px)
{
    .mh-md-200 
    {
        min-height: 200px;
    }

    .mh-md-300 
    {
        min-height: 300px;
    }
    
    .mh-md-400 
    {
        min-height: 400px;
	}
	
	.cg-md-d-flex .fl-col-group,
	.cg-md-dflex .fl-col-group 
	{
		display: flex;
		flex-wrap: wrap;
	}

	.cg-md-jc-center .fl-col-group
	{
		justify-content: center !important;
	}

	.cg-md-jc-end .fl-col-group
	{
		justify-content: flex-end !important;
	}

	.cg-md-d-flex .fl-col 
	{
		float: none;
	}
	
	.cg2-md-dflex .fl-row-content > .fl-col-group:nth-child(2) 
	{
		display: flex;
	}
	
	.col-md-7
	{
		flex: 0 0 58.333333% !important;
		max-width: 58.333333% !important;
	}

	.col-md-6,
	.cols-md-6 .fl-col 
	{
		max-width: 50% !important;
		flex: 0 0 50% !important;
	}

	.col-md-4,
	.cols-md-4 .fl-col 
	{
		max-width: 33.33333% !important;
		flex: 0 0 33.33333% !important;
	}

	.col-md-3,
	.cols-md-3 .fl-col 
	{
		max-width: 25% !important;
		flex: 0 0 25% !important;
	}
}

@media (min-width: 992px)
{
    .mh-lg-300 
    {
        min-height: 300px;
    }
    
    .mh-lg-400 
    {
        min-height: 400px;
    }
	
	.cg-lg-dflex .fl-col-group 
	{
		display: flex;
	}
	
	.cg2-lg-dflex .fl-row-content > .fl-col-group:nth-child(2) 
	{
		display: flex;
	}

	.col-lg-6,
	.cols-lg-6 .fl-col 
	{
		max-width: 50% !important;
		flex: 0 0 50%;
	}

	.col-lg-4,
	.cols-lg-4 .fl-col 
	{
		max-width: 33.33333% !important;
		flex: 0 0 33.33333% !important;
	}

	.col-lg-3,
	.cols-lg-3 .fl-col 
	{
		max-width: 25% !important;
		flex: 0 0 25% !important;
	}
}

@media (min-width: 1200px)
{
    .mh-xl-400 
    {
        min-height: 400px;
    }
}

.mc-mr-0 .fl-module-content
{
	margin-right: 0;
}

@media (min-width: 768px) 
{
	.mc-md-mr-0 .fl-module-content
	{
		margin-right: 0;
	}
}

@media (min-width: 992px) 
{
	.mc-lg-mr-0 .fl-module-content
	{
		margin-right: 0;
	}
}

/* END grid -------------------------------------------------- */



/* START typo ------------------------------------------------ */
/* 
	Beaver Builder only allots for up to 992 screen widths with responsive options
	I'm adding 1200 h1-h4 since at 992 the screen size is still too small and the desired font size too large
*/
@media (min-width: 1200px)
{
	/* 12, 14, 16, 18 */
	body 
	{
		font-size: calc( var(--body-fsz) * 1.125); /* 16 x 1.125 = 18 */
	}
	
	/* h1: 29, 36, 44 (48), 60 */
	h1 
	{
		font-size: calc( var(--h1-fsz) * 1.31); /* 44 x 1.31 = 55-ish */
	}

	/* h2: 26, 32, 40, 50 */
	h2 
	{
		font-size: calc( var(--h2-fsz) * 1.15); /* 40 x 1.25 = 50, 40 x 1.15 = 46 */
	}

	/* h3: 22, 24, 26, 32 */
	h3 
	{
		font-size: calc( var(--h3-fsz) * 1.23); /* 26 x 1.23 = 32 */
	}

	/* h4: 16, 18, 21, 24 */
	h4 
	{
		font-size: calc( var(--h4-fsz) * 1.142857); /* 21 x 1.14 = 24ish */
	}

	h5 
	{
		font-size: calc( var(--h5-fsz) * 1.142857); /* 21 x 1.14 = 24ish */
	}

	h6 
	{
		font-size: calc( var(--h6-fsz) * 1.142857); /* 21 x 1.14 = 24ish */
	}
}

p, ul, ol 
{
	margin-bottom: var(--copy-mb);
}

#fl-main-content ul > li:not(:last-child),
#fl-main-content ol > li:not(:last-child) 
{
	margin-bottom: calc( var(--spacer) * 0.5);
}

h1 > a, h1 > a:visited,
h2 > a, h2 > a:visited,
h3 > a, h3 > a:visited,
h4 > a, h4 > a:visited,
h5 > a, h5 > a:visited,
h6 > a, h6 > a:visited
{
	color: inherit;
	transition: color var(--transition);
}

h1 > a:hover, h1 > a:focus, h1 > a:focus-visible,
h2 > a:hover, h2 > a:focus, h2 > a:focus-visible,
h3 > a:hover, h3 > a:focus, h3 > a:focus-visible,
h4 > a:hover, h4 > a:focus, h4 > a:focus-visible,
h5 > a:hover, h5 > a:focus, h5 > a:focus-visible,
h6 > a:hover, h6 > a:focus, h6 > a:focus-visible
{
	color: var(--accent-color-hover);
}

.h1 .fl-heading 
{
	font-size: var(--h1-fsz);
}

.h2 .fl-heading 
{
	font-size: var(--h2-fsz);
}

.h3 .fl-heading 
{
	font-size: var(--h3-fsz);
}

.h3-4 .fl-heading 
{
	font-size: calc( (var(--h3-fsz) + var(--h4-fsz)) * 0.5 );
}

.h4 .fl-heading 
{
	font-size: var(--h4-fsz);
}

.h5 .fl-heading 
{
	font-size: var(--h5-fsz);
}

.h6 .fl-heading 
{
	font-size: var(--h6-fsz);
}

@media (min-width: 1200px) 
{
	.h1 .fl-heading 
	{
		font-size: calc( var(--h1-fsz) * 1.31);
	}

	.h2 .fl-heading 
	{
		font-size: calc( var(--h2-fsz) * 1.15);
	}

	.h3 .fl-heading 
	{
		font-size: calc( var(--h3-fsz) * 1.23);
	}

	.h3-4 .fl-heading 
	{
		--fsz: calc( (var(--h3-fsz) + var(--h4-fsz)) / 2);
		font-size: calc( var(--fsz) * 1.18);
	}

	.h4 .fl-heading 
	{
		font-size: calc( var(--h4-fsz) * 1.142857);
	}

	.h5 .fl-heading 
	{
		font-size: calc( var(--h5-fsz) * 1.142857);
	}

	.h6 .fl-heading 
	{
		font-size: calc( var(--h6-fsz) * 1.142857);
	}
}

#page-subtitle,
#page-subtitle .fl-rich-text > p
{
	margin-bottom: 0;
	font-family: var(--secondary-ff);
	font-weight: var(--secondary-wt-light);
	font-size: var(--pg-subtitle-fsz);
	line-height: 1;
	letter-spacing: 1px;
	transition: font-size var(--transition);
}

#page-title-category .fl-heading
{
	font-size: var(--body-fsz);
	color: var(--white);
}

.text-white,
.text-white .fl-heading 
{
	color: var(--white) !important;
}

.text-gray,
.text-gray .fl-heading 
{
	color: var(--gray-800) !important;
}

.text-purple,
.text-purple .fl-heading 
{
	color: var(--purple-rgb) !important;
}

.lead 
{
	font-size: 110%;
}

.lead-title,
.lead-title .fl-heading 
{
	color: var(--gray-800) !important;
}

.fl-heading a 
{
	transition: color var(--transition);
}

::-moz-focus-inner
{
	border: 0;
}

:focus-visible
{
    outline: var(--focus-ring-color) auto 1px;
}

/* customizing regular text links */
#fl-main-content section:not(#hero):not(#cta):not(.text-white) .fl-module-rich-text a,
#fl-main-content .fl-tabs-panel-content a,
#fl-main-content .fl-accordion-content a,
#fl-main-content .accordion-body a,
#fl-main-content .fl-list-item-content a
{
	color: var(--main-text-link);
}

#fl-main-content section:not(#hero):not(#cta):not(.text-white) .text-white .fl-module-rich-text a 
{
	color: var(--accent-color);
}

#fl-main-content section .fl-module-rich-text a,
#fl-main-content .fl-tabs-panel-content a,
#fl-main-content .fl-accordion-content a,
#fl-main-content .fl-slide-text a
{
	text-decoration: underline;
}

#fl-main-content .fl-slide-text a:hover
{
	color: var(--accent-color-hover);
}

#fl-main-content section:not(#hero):not(#cta):not(.text-white) .fl-module-rich-text a:hover,
#fl-main-content .fl-tabs-panel-content a:hover,
#fl-main-content .fl-accordion-content a:hover,
#fl-main-content .accordion-body a:hover,
#fl-main-content .fl-list-item-content a:hover
{
	color: var(--main-text-link-hover);
}

#fl-main-content section:not(#hero):not(#cta):not(.text-white) .text-white .fl-module-rich-text a:hover 
{
	color: var(--accent-color-hover);
}

/* END typo -------------------------------------------------- */



/* START generic --------------------------------------------- */
.img-h-100 
{
	overflow: hidden;
	position: relative;
}

.img-h-100 .fl-photo-content,
.img-h-100 .fl-photo-content img
{
	height: 100%;
}

.img-w-auto .fl-photo-content,
.img-w-auto .fl-photo-content img 
{
	width: auto;
	max-width: inherit;
}

.last-child-mb-0 .fl-rich-text > *:last-child
{
	margin-bottom: 0;
}

.img-fluid img 
{
	max-width: 100%;
    height: auto;
}

/* END generic --------------------------------------------- */



/* START language switcher links --------------------------- */
.wpml-ls-item > a,
.wpml-ls-item > a:visited
{
	color: var(--teal-light) !important;
	font-weight: var(--secondary-wt-regular) !important;
	text-transform: uppercase;
	font-size: 90%;
}

.wpml-ls-item > a:hover,
.wpml-ls-item > a:focus,
.wpml-ls-item > a:focus-visible
{
	color: var(--teal-dark) !important;
	text-decoration: none;
}

.wpml-ls-statics-footer .wpml-ls-current-language:hover > a,
.wpml-ls-statics-footer .wpml-ls-current-language > a:focus,
.wpml-ls-statics-footer .wpml-ls-current-language > a:focus-visible,
.wpml-ls-statics-footer a:hover,
.wpml-ls-statics-footer a:focus,
.wpml-ls-statics-footer a:focus-visible 
{
	background-color: transparent;
}
/* END language switcher links --------------------------- */



/* START buttons --------------------------------------------- */
a.fl-button,
.fl-button-a > a,
.fl-button-a > a:visited
a.fl-button:visited,
a.fl-post-grid-more,
a.fl-post-grid-more:visited,
#filter-bar input[type=submit]
{
	text-transform: uppercase;
	color: var(--black);
	padding: calc( var(--spacer) * 0.5) calc( var(--spacer) * 1.5) !important;
	border-radius: calc( var(--spacer) * 1.5) !important;
	font-size: 16px;
	line-height: 1;
	background-color: var(--accent-color);
	border: 1px solid var(--accent-color);
	transition: background-color var(--transition), border-color var(--transition);
	cursor: pointer;
}

#menu-primary-hdr .menu-item.fl-button-a > a
{
	transition: background-color var(--transition), color var(--transition);
}

@media (min-width: 768px) and (max-width: 991px) 
{
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item.fl-button-a:not(.wpml-ls-menu-item) > a
	{
		display: inline-block;
	}
}

@media (max-width: 991px) 
{
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item.fl-button-a:not(.wpml-ls-menu-item) > a
	{
		margin: 1rem;
		text-align: center;
		padding: calc( var(--spacer) * 0.75) calc( var(--spacer) * 1.75) !important;
		border-radius: calc( var(--spacer) * 1.5) !important;
		font-size: 16px;
		line-height: 1;
		background: unset;
		background-color: var(--accent-color);
		border: 1px solid var(--accent-color);
		transition: background-color var(--transition), border-color var(--transition);
	}
}

@media(min-width: 992px) 
{
	.fl-menu-responsive-toggle-medium-mobile .menu .fl-button-a:not(:last-child) 
	{
		margin-right: 1em;
	}
}


a.fl-button:hover,
.fl-button-a > a:hover,
a.fl-post-grid-more:hover,
#filter-bar input[type=submit]:hover,
#filter-bar input[type=submit]:focus,
a.fl-button:focus-visible,
a.fl-post-grid-more:focus-visible,
#filter-bar input[type=submit]:focus-visible
{
	background-color: var(--accent-color-hover);
	border-color: var(--accent-color-hover);
}

#menu-primary-hdr .menu-item.fl-button-a > a:hover
{
	color: #000;
} 

a.fl-button:active,
.fl-button-a > a:active,
a.fl-post-grid-more:active,
#filter-bar input[type=submit]:active 
{
	background-color: var(--accent-color-hover);
	border-color: var(--accent-color-hover);
	box-shadow: var(--drop-shadow);
}

.icon-arrow-round 
{
	--btn-size: 42px;
	--icon-w: 27px;
	--icon-h: 19px;
	--btn-px: calc( var(--btn-size) - var(--icon-w) );
	--btn-py: calc( var(--btn-size) - var(--icon-h) );
	--btn-radius: calc( var(--btn-size) * 0.5);
	position: relative;
	margin-left: var(--spacer);
	width: var(--btn-size);
	height: var(--btn-size);
	padding: calc( var(--btn-py) * 0.5) calc( var(--btn-px) * 0.5);
	display: inline-block;
	background-color: var(--accent-color);
	transition: background-color var(--transition);
}

a:hover .icon-arrow-round,
a:active .icon-arrow-round,
a:focus-visible .icon-arrow-round
{
	background-color: var(--accent-color-hover);
}

/* END buttons ----------------------------------------------- */



/* START images ---------------------------------------------- */
[class*='img-bg-'] .fl-photo-content
{
	position: relative;
	padding: calc( var(--spacer) * 0.5) calc( var(--spacer) * 2) calc( var(--spacer) * 3) var(--spacer);
}

[class*='img-bg-'] .fl-photo-content:after 
{
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

[class*='img-bg-'] .fl-photo-img
{
	border-radius: 50%;
	position: relative;
	display: inline-block;
	z-index: 1;
}

.img-bg-01 .fl-photo-content 
{
	padding: var(--spacer) calc( var(--spacer) * 3) var(--spacer) var(--spacer);
}

.img-bg-01 .fl-photo-content:after 
{
	background: url('imgs/bg-img-art-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.img-bg-02 .fl-photo-content 
{
	padding: var(--spacer) calc( var(--spacer) * 3) var(--spacer) var(--spacer);
}

.img-bg-02 .fl-photo-content:after 
{
	background: url('imgs/bg-img-art-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.img-bg-03 .fl-photo-content:after 
{
	background: url('imgs/bg-img-art-03.svg') no-repeat center center;
	background-size: 100% auto;
}

/* background dots drop shadow */
.img-bg-dots .fl-photo-content
{
	position: relative;
	padding: 0 var(--spacer) calc( var(--spacer) * 2) var(--spacer);
}

.img-bg-dots .fl-photo-content:after 
{
	display: block;
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.07);
	-webkit-mask: url('imgs/bg-dot-circle.svg') no-repeat center center;
	mask: url('imgs/bg-dot-circle.svg') no-repeat center center;
	mask-size: auto 100%;
}

/* match slider portrait style */
.img-bg-dots-l .fl-photo-content:after 
{
	background-color: rgba(0,0,0,0.2);
	-webkit-mask: url('imgs/bg-dot-circle.svg') no-repeat top left;
	mask: url('imgs/bg-dot-circle.svg') no-repeat top left;
	mask-size: auto 100%;
}

.img-bg-dots .fl-photo-img,
.img-bg-dots .wp-post-image
{
	border-radius: 50%;
	position: relative;
	display: inline-block;
	z-index: 1;
}

.img-bg-dots-l .fl-photo-img
{
	border-radius: 50%;
	position: relative;
	display: inline-block;
	z-index: 1;
}

/* crop the left and right of landscape images, but set their min height also */
/* pgi = post grid items */
.imgs-crop-w .fl-photo-content,
.pgi-crop-w .fl-post-grid-image
{
	overflow: hidden;
    position: relative;
    width: 100%;
}

.pgi-crop-w .fl-post-grid-image > a 
{
	position: relative;
	height: 100%;
	width: 100%;
	display: block;
}

.imgs-crop-w .fl-photo-content .fl-photo-img,
.pgi-crop-w .fl-post-grid-image .wp-post-image,
.pgi-crop-w .fl-post-grid-image .attachment-threecols-post-thumb
{
	height: 100% !important;
	width: auto !important;
	max-width: unset;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* pc = .fl-photo-content */
.mh-180,
.pc-mh-180 .fl-photo-content
{
	min-height: 180px;
}

.mh-200,
.pc-mh-200 .fl-photo-content
{
	min-height: 200px;
}

.mh-220,
.pc-mh-220 .fl-photo-content
{
	min-height: 220px;
}

.mh-240,
.pc-mh-240 .fl-photo-content
{
	min-height: 240px;
}

[class*='pc-mh-'] .fl-photo-content 
{
	transition: min-height var(--transition);
}

/* set height */
.h-180,
.pc-h-180 .fl-photo-content,
.pgi-h-180 .fl-post-grid-image
{
	height: 180px;
}

.h-200,
.pc-h-200 .fl-photo-content
{
	height: 200px;
}

.h-220,
.pc-h-220 .fl-photo-content
{
	height: 220px;
}

.h-240,
.pc-h-240 .fl-photo-content
{
	height: 240px;
}

[class*='pc-h-'] .fl-photo-content,
[class*='pc-h-'] .fl-post-grid-image
{
	transition: height var(--transition);
}

@media (min-width: 576px) 
{
	.imgs-crop-sm-w .fl-photo-content,
	.pc-crop-sm-w .fl-photo-content,
	.pgi-crop-sm-w .fl-post-grid-image
	{
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.pgi-crop-sm-w .fl-post-grid-image > a 
	{
		position: relative;
		height: 100%;
		width: 100%;
		display: block;
	}

	.imgs-crop-sm-w .fl-photo-content .fl-photo-img,
	.pc-crop-sm-w .fl-photo-content .fl-photo-img,
	.pgi-crop-sm-w .fl-post-grid-image .wp-post-image
	{
		height: 100% !important;
		width: auto !important;
		max-width: unset;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.h-sm-180,
	.pc-h-sm-180 .fl-photo-content,
	.pgi-h-sm-180 .fl-post-grid-image
	{
		height: 180px;
	}

	.mh-sm-180,
	.pc-mh-sm-180 .fl-photo-content,
	.pgi-mh-sm-180 .fl-post-grid-image
	{
		min-height: 180px;
	}
}

@media (min-width: 768px) 
{
	.imgs-crop-md-w .fl-photo-content
	{
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.imgs-crop-md-w .fl-photo-content .fl-photo-img
	{
		height: 100%;
		width: auto;
		max-width: unset;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.pc-mh-md_1-1 .fl-photo-content 
	{
		min-height: 1.111em;
	}
	
	.mh-md-180,
	.pc-mh-md-180 .fl-photo-content
	{
		min-height: 180px;
	}
	
	.mh-md-200,
	.pc-mh-md-200 .fl-photo-content
	{
		min-height: 200px;
	}
	
	.mh-md-220,
	.pc-mh-md-220 .fl-photo-content
	{
		min-height: 220px;
	}
	
	.mh-md-240,
	.pc-mh-md-240 .fl-photo-content 
	{
		min-height: 240px;
	}

	.pc-h-md_1-1 .fl-photo-content 
	{
		height: 1.111em;
	}
	
	.h-md-200,
	.pc-h-md-200 .fl-photo-content
	{
		min-height: 200px;
	}
	
	.h-md-220,
	.pc-h-md-220 .fl-photo-content
	{
		min-height: 220px;
	}
	
	.h-md-240,
	.pc-h-md-240 .fl-photo-content 
	{
		min-height: 240px;
	}
}

@media (min-width: 992px) 
{
	.pc-mh-lg_1-2 .fl-photo-content 
	{
		min-height: 1.222em;
	}

	.mh-lg-200,
	.pc-mh-lg-200 .fl-photo-content
	{
		min-height: 200px;
	}
	
	.mh-lg-220,
	.pc-mh-lg-220 .fl-photo-content
	{
		min-height: 220px;
	}
	
	.mh-lg-240,
	.pc-mh-lg-240 .fl-photo-content 
	{
		min-height: 240px;
	}

	.pc-h-lg_1-2 .fl-photo-content 
	{
		height: 1.222em;
	}

	.h-lg-200,
	.pc-h-lg-200 .fl-photo-content
	{
		height: 200px;
	}
	
	.h-lg-220,
	.pc-h-lg-220 .fl-photo-content
	{
		height: 220px;
	}
	
	.h-lg-240,
	.pc-h-lg-240 .fl-photo-content 
	{
		height: 240px;
	}
}

@media (min-width: 1200px) 
{
	.pc-mh-xl_1-3 .fl-photo-content 
	{
		min-height: 1.333em;
	}

	.mh-xl-200,
	.pc-mh-xl-200 .fl-photo-content 
	{
		min-height: 200px;
	}
	
	.mh-xl-220,
	.pc-mh-xl-220 .fl-photo-content
	{
		min-height: 220px;
	}
	
	.mh-xl-240,
	.pc-mh-xl-240 .fl-photo-content
	{
		min-height: 240px;
	}

	.pc-h-xl_1-3 .fl-photo-content 
	{
		height: 1.333em;
	}

	.h-xl-200,
	.pc-h-xl-200 .fl-photo-content 
	{
		height: 200px;
	}
	
	.h-xl-220,
	.pc-h-xl-220 .fl-photo-content
	{
		height: 220px;
	}
	
	.h-xl-240,
	.pc-h-xl-240 .fl-photo-content
	{
		height: 240px;
	}
}

/* END images ---------------------------------------------- */



/* START general ------------------------------------------- */
.shadow,
.cc-shadow .fl-col-content 
{
	box-shadow: var(--drop-shadow);
}

.shadow-2,
.cc-shadow-2 .fl-col-content 
{
	box-shadow: var(--drop-shadow-2);
}
/* END general --------------------------------------------- */



/* START hdg circles ---------------------------------------- */
[class*='hdg-circles-'] 
{
	position: relative;
	min-height: 235px;
	display: flex;
	align-items: center !important;
	justify-content: center !important;
}

[class*='hdg-circles-']:after 
{
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

[class*="hdg-circles-"] .fl-heading 
{
	font-size: var(--h1-fsz);
	font-weight: var(--secondary-wt-bold);
	text-align: center;
	line-height: 0.5;
}

[class*="hdg-circles-"] .fl-heading small
{
	font-size: 50%;
	font-weight: var(--secondary-wt-light);
}

.hdg-circles-01 
{
	background: url('imgs/bg-info-art-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.hdg-circles-02 
{
	background: url('imgs/bg-info-art-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.hdg-circles-03 
{
	background: url('imgs/bg-info-art-03.svg') no-repeat center center;
	background-size: auto 100%;
}

.hdg-circles-white-01 
{
	background: url('imgs/bg-info-art-white-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.hdg-circles-white-02 
{
	background: url('imgs/bg-info-art-white-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.hdg-circles-white-03 
{
	background: url('imgs/bg-info-art-white-03.svg') no-repeat center center;
	background-size: auto 100%;
}

/* END hdg circles ------------------------------------------ */



/* START info items ---------------------------------------- */
[class*='info-item-'] 
{
	position: relative;
}

[class*='info-item-']:after 
{
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

[class*="info-item-"] .fl-heading 
{
	font-size: var(--h1-fsz);
	font-weight: var(--secondary-wt-bold);
	text-align: center;
	line-height: 0.5;
}

[class*="info-item-"] .fl-heading small
{
	font-size: 50%;
	font-weight: var(--secondary-wt-light);
}

.info-item-01 
{
	background: url('imgs/bg-info-art-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.info-item-02 
{
	background: url('imgs/bg-info-art-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.info-item-03 
{
	background: url('imgs/bg-info-art-03.svg') no-repeat center center;
	background-size: auto 100%;
}

.info-item-white-01 
{
	background: url('imgs/bg-info-art-white-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.info-item-white-02 
{
	background: url('imgs/bg-info-art-white-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.info-item-white-03 
{
	background: url('imgs/bg-info-art-white-03.svg') no-repeat center center;
	background-size: auto 100%;
}

/* END info items ------------------------------------------ */



/* START icon items ---------------------------------------- */
.icon-item-01 .fl-module-content
{
	background: url('imgs/bg-info-art-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-02 .fl-module-content
{
	background: url('imgs/bg-info-art-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-03 .fl-module-content 
{
	background: url('imgs/bg-info-art-03.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-04 .fl-module-content 
{
	background: url('imgs/bg-info-art-04.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-white-01 .fl-module-content 
{
	background: url('imgs/bg-info-art-white-01.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-white-02 .fl-module-content 
{
	background: url('imgs/bg-info-art-white-02.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-white-03 .fl-module-content 
{
	background: url('imgs/bg-info-art-white-03.svg') no-repeat center center;
	background-size: auto 100%;
}

.icon-item-white-04 .fl-module-content 
{
	background: url('imgs/bg-info-art-white-04.svg') no-repeat center center;
	background-size: auto 100%;
}

[class*='icon-item-'] .fl-photo-content 
{
	margin: calc( var(--spacer) * 2);
}

/* END icon items ------------------------------------------ */



/* START shadow box ------------------------------- */
.col-shadow-box,
.cg2-shadow-box .fl-row-content > .fl-col-group:nth-child(2),
.cg3-shadow-box .fl-row-content > .fl-col-group:nth-child(3) 
{
	padding: var(--sctn-spacing);
	transition: padding var(--transition);
	background-color: var(--white);
	box-shadow: var(--drop-shadow);
}
/* END shadow box --------------------------------- */



/* START backgrounds ----------------------------------------- */

/* solid backgrounds */
.bgc-gray035 
{
    background-color: var(--gray-035);
}

.bgc-gray050 
{
    background-color: var(--gray-050);
}

.bgc-gray075 
{
    background-color: var(--gray-075);
}

.bgc-gray100 
{
    background-color: var(--gray-100);
}

.bgc-gray600 
{
	background-color: var(--gray-600);
}

.bgc-gray700 
{
	background-color: var(--gray-700);
}

.bgc-gray800 
{
	background-color: var(--gray-800);
}

.bgc-purple,
.bgc-rc-purple .fl-row-content 
{
    background-color: var(--purple-rgb);
}

/* Gradient backgrounds */
.bgg-gray035 
{
	background: var(--gray-035);
	background: var(--grad-gray35-100-2-0-v);
}

.bgg-to-gray050 
{
	background: var(--gray-050);
	background: linear-gradient(180deg, var(--gray-050-rgb0) 0%, var(--gray-050-rgb100) 50%);
}

.bgg-gray050-a050-to-a100
{
	background: var(--gray-050);
	background: linear-gradient(180deg, var(--gray-050-rgb50) 0%, var(--gray-050-rgb100) 50%);
}

.bgg-gray800-2-550-v
{
	background: var(--gray-600);
	background: linear-gradient(180deg, rgba(65,65,65,1) 0%, rgba(112,112,112,1) 100%);
}

.bgg-gray075-2-white-v 
{
	background: var(--grad-gray75-2-white-v);
}

.bgg-white-2-gray075-v 
{
	background: var(--grad-white-2-gray75-v);
}

.bgg-65-112,
.bgg-cc-65-112 .fl-col-content,
.bgg-rc-65-112 .fl-row-content
{
	background: rgba(112,112,112,1);
	background: linear-gradient(90deg, rgba(65,65,65,1) 0%, rgba(112,112,112,1) 100%)
}

.bgg-gray075-wht,
.bgg-cc-gray075-wht .fl-col-content,
.bgg-rc-gray075-wht .fl-row-content
{
	background: linear-gradient(180deg, var(--gray-075-rgb0) 75%, var(--gray-075-rgb) 100%);
}

.bgg-gray075-wht-gray075,
.bgg-cc-gray075-wht-gray075 .fl-col-content,
.bgg-rc-gray075-wht-gray075 .fl-row-content
{
	background: linear-gradient(180deg, var(--gray-075-rgb) 0%, var(--gray-075-rgb0) 20%, var(--gray-075-rgb0) 75%, var(--gray-075-rgb) 100%);
}

.bgg-teal-dark-to-light-h,
.bgg-teal-d2l-h,
.bgg-cc-teal-dark-to-light-h .fl-col-content,
.bgg-cc-teal-d2l-h .fl-col-content
{
	background: var(--teal-dark);
	background: var(--grad-teal-h);
}

.bgg-teal-dark-to-light,
.bgg-teal-dark-to-light-v,
.bgg-teal-d2l,
.bgg-teal-d2l-v,
.bgg-cc-teal-dark-to-light .fl-col-content,
.bgg-cc-teal-dark-to-light-v .fl-col-content,
.bgg-cc-teal-d2l .fl-col-content,
.bgg-cc-teal-d2l-v .fl-col-content
{
	background: var(--teal-dark);
	background: var(--grad-teal-v);
}

.bgg-purple2blue,
.bgg-rc-purple2blue .fl-row-content
{
	background: var(--purple-rgb);
	background: var(--grad-purple-blue);
}

.bgg-purple2blue-v,
.bgg-rc-purple2blue-v .fl-row-content,
.bgg-cc-purple2blue-v .fl-col-content,
.bgg-mc-purple2blue-v .modal-content
{
	background: var(--purple-rgb);
	background: var(--grad-purple-blue-v);
}

.bgg-purple2blue-v .fl-heading,
.bgg-rc-purple2blue-v .fl-row-content .fl-heading,
.bgg-cc-purple2blue-v .fl-col-content .fl-heading,
.bgg-purple2blue-v .modal-title
{
	color: var(--white);
}

.bgg-rc-purple2blue-v .fl-row-content .sub-title,
.bgg-cc-purple2blue-v .fl-col-content .sub-title,
.bgg-purple2blue-v .sub-title
{
	color: var(--primary-color);
}

.bgg-purple2blue-v .close,
.bgg-purple2blue-v .close:visited
{
	color: var(--accent-color);
	opacity: 1;
}

.bgg-purple2blue-v .close:not(:disabled):not(.disabled):focus,
.bgg-purple2blue-v .close:not(:disabled):not(.disabled):hover
{
	color: var(--accent-color-hover);
	opacity: 1;
}

/* dot pattern backgrounds - bgd = background dots, bv = bottom vertical */
.bgd-bv-gray050 
{
	position: relative;
	margin-bottom: calc( var(--sctn-spacing) + var(--bg-dots-dl) );
}

.bgd-bv-gray050:after 
{
	display: block;
	position: absolute;
	content: "";
	height: var(--bg-dots-dl);
	bottom: calc( var(--bg-dots-dl) * -1);
	left: 0;
	right: 0;
	background: url('imgs/dots-to-bottom.svg') repeat-x left bottom;
	background-size: var(--bg-dots-ds) auto;
}

.bgd-b-grid,
.bgd-rc-b-grid .fl-row-content
{
	position: relative;
	padding-bottom: var(--sctn-spacing);
}

.bgd-b-grid:after,
.bgd-rc-b-grid .fl-row-content:after
{
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: var(--sctn-spacing);
	background: url('imgs/bg-dot-grid_17px_50.svg') top left;
	background-size: 17px auto;
}

/* background gradient + dots */
.bggd-teal-d2l-dotgrid 
{
	background: 
		url('imgs/bg-dot-grid_24px_19.svg'),
		var(--grad-teal-v);

	background-size:
		24px,	
		auto;
}

.bgd-top-corners 
{
	position: relative;
}

.bgd-top-corners:before 
{
	display: block;
	position: absolute;
	content: "";
	background-color: rgba(0,0,0,0.07);
	
	-webkit-mask:
		url('imgs/bg-dot-tl.svg') no-repeat top left,
		url('imgs/bg-dot-tr.svg') no-repeat top right;

	mask: 
		url('imgs/bg-dot-tl.svg') no-repeat top left,
		url('imgs/bg-dot-tr.svg') no-repeat top right;

	mask-size: 
		var(--bg-dots-t-corner-ds) auto,
		var(--bg-dots-t-corner-ds) auto;

	height: var(--bg-dots-t-corner-ds);
	top: 0;
	left: 0;
	right: 0;
}

@media (min-width: 768px)
{
	.bgd-top-md-corners 
	{
		position: relative;
	}
	
	.bgd-top-md-corners:before 
	{
		display: block;
		position: absolute;
		content: "";
		background-color: rgba(0,0,0,0.07);
		
		-webkit-mask:
			url('imgs/bg-dot-tl.svg') no-repeat top left,
			url('imgs/bg-dot-tr.svg') no-repeat top right;

		mask: 
			url('imgs/bg-dot-tl.svg') no-repeat top left,
			url('imgs/bg-dot-tr.svg') no-repeat top right;

		mask-size: 
			var(--bg-dots-t-corner-ds) auto,
			var(--bg-dots-t-corner-ds) auto;

		height: var(--bg-dots-t-corner-ds);
		top: 0;
		left: 0;
		right: 0;
	}
}

@media (min-width: 992px)
{
	.bgd-top-lg-corners 
	{
		position: relative;
	}
	
	.bgd-top-lg-corners:before 
	{
		display: block;
		position: absolute;
		content: "";
		background-color: rgba(0,0,0,0.07);
		
		-webkit-mask:
			url('imgs/bg-dot-tl.svg') no-repeat top left,
			url('imgs/bg-dot-tr.svg') no-repeat top right;

		mask: 
			url('imgs/bg-dot-tl.svg') no-repeat top left,
			url('imgs/bg-dot-tr.svg') no-repeat top right;

		mask-size: 
			var(--bg-dots-t-corner-ds) auto,
			var(--bg-dots-t-corner-ds) auto;

		height: var(--bg-dots-t-corner-ds);
		top: 0;
		left: 0;
		right: 0;
	}
}


/* section bottom edge embellishments */
.bg-b-arrow 
{
	position: relative;
	padding-bottom: calc( var(--bg-b-arrow-ds) * 0.5);
}

.bg-b-arrow:after 
{
	display: block;
	position: absolute;
	content: "";
	bottom: -1px;
	left: 0;
	right: 0;
	height: var(--bg-b-arrow-ds);
	background: url('imgs/bg-b-arrow.svg') no-repeat bottom center;
	background-size: 100% var(--bg-b-arrow-ds);
}

.bg-b-arrow-solid 
{
	position: relative;
	z-index: 1;
}

.bg-b-arrow-solid .fl-row-content-wrap
{
	background-color: var(--white);
}

.bg-b-arrow-solid:after 
{
	display: block;
	position: absolute;
	content: "";
	bottom: calc( var(--bg-b-arrow-solid-ds) * -1 );
	left: 0;
	right: 0;
	height: var(--bg-b-arrow-solid-ds);
	background: url('imgs/bg-b-arrow_solid.svg') no-repeat bottom center;
	background-size: 100% var(--bg-b-arrow-solid-ds);
}

.bg-b-arrow-solid + .sctn-py,
.bg-b-arrow-solid + .sctn-pt
{
	padding-top: calc( var(--sctn-spacing) * 2);
}

/* END backgrounds ------------------------------------------- */



/* START sections -------------------------------------------- */

/* tweaking an existing class wrapper with css, so removing the class goes back to theme defaults - no need to manually edit this in BB */
/* my = margin top & bottom, just like Bootstrap - this is meant for transparent background sections without background images */
.sctn-my > .fl-row-content-wrap
{
	padding-top: 0px;
	padding-bottom: 0px;
}

.sctn-mt > .fl-row-content-wrap 
{
	padding-top: 0;
}

.sctn-mb > .fl-row-content-wrap 
{
	padding-bottom: 0;
}

.sctn-my
{
	margin-top: var(--sctn-spacing); /* --sctn-spacing has built in responsive support, see :root above */
	margin-bottom: var(--sctn-spacing);
	transition: margin-top var(--transition), margin-bottom var(--transition);
}

.sctn-mt
{
	margin-top: var(--sctn-spacing);
	transition: margin-top var(--transition);
}

.sctn-mb,
.sctn-cg1-mb .fl-col-group:nth-child(1),
.sctn-cg2-mb .fl-col-group:nth-child(2),
.sctn-cg3-mb .fl-col-group:nth-child(3)
{
	margin-bottom: var(--sctn-spacing);
	transition: margin-bottom var(--transition);
}

.sctn-mb-half,
.sctn-cg1-mb-half .fl-col-group:nth-child(1),
.sctn-cg2-mb-half .fl-col-group:nth-child(2),
.sctn-cg3-mb-half .fl-col-group:nth-child(3)
{
	margin-bottom: calc( var(--sctn-spacing) * 0.5);
	transition: margin-bottom var(--transition);
}

/* standard section padding, py = padding top & bottom */
.sctn-py > .fl-row-content-wrap,
.sctn-rc-py > .fl-row-content-wrap > .fl-row-content
{
	padding-top: var(--sctn-spacing);
	padding-bottom: var(--sctn-spacing);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}

.sctn-py-half > .fl-row-content-wrap
{
	padding-top: calc( var(--sctn-spacing) * 0.5);
	padding-bottom: calc( var(--sctn-spacing) * 0.5);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}

.sctn-pt > .fl-row-content-wrap,
.sctn-rc-pt > .fl-row-content-wrap > .fl-row-content 
{
	padding-top: var(--sctn-spacing) !important;
	transition: padding-top var(--transition);
}

.sctn-pb > .fl-row-content-wrap,
.sctn-rc-pb > .fl-row-content-wrap > .fl-row-content 
{
	padding-bottom: var(--sctn-spacing) !important;
	transition: padding-bottom var(--transition);
}

/* END sections ---------------------------------------------- */



/* START blocks ---------------------------------------------- */
.rounded-corners 
{
	border-radius: var(--spacer);
}
/* END blocks ---------------------------------------------- */



/* START primary menu ---------------------------------------- */

/* hamburger icon */
.fl-menu .fl-menu-mobile-toggle.hamburger .hamburger-menu rect,
.fl-menu .fl-menu-mobile-toggle.hamburger-label .hamburger-menu rect
{
	fill: var(--gray-150);
	height: 60px;
}

#menu-primary-hdr .menu-item-search > a[href="#"] 
{
	position: absolute!important;
    width: 1px!important;
    height: 1px!important;
    padding: 0!important;
    margin: -1px!important;
    overflow: hidden!important;
    clip: rect(0,0,0,0)!important;
    white-space: nowrap!important;
    border: 0!important;
}

#menu-primary-hdr .menu-item-search input.form-control::placeholder,
#menu-primary-hdr .menu-item-search input.form-control 
{
	--link-color: var(--gray-800);
	--link-color-hover: var(--accent-color);
	color: var(--link-color) !important;
	font-family: var(--link-ff) !important;
}

#menu-primary-hdr .menu-item 
{
	margin-bottom: -1px;
}

#menu-primary-hdr .menu-item a,
#menu-primary-hdr .menu-item a:visited
{
	--link-color: var(--gray-800);
	--link-color-hover: var(--accent-color);
	--link-ff: var(--secondary-ff);
	color: var(--link-color);
	font-family: var(--link-ff);
	font-weight: var(--link-fw);
	transition: color var(--transition);
}

#menu-primary-hdr .menu-item a:hover,
#menu-primary-hdr .menu-item a:focus,
#menu-primary-hdr .menu-item a:focus-visible,
#menu-primary-hdr .menu-item-has-children:hover > .fl-has-submenu-container > a,
#menu-primary-hdr .menu-item-has-children:focus > .fl-has-submenu-container > a,
#menu-primary-hdr .menu-item-has-children:focus-visible > .fl-has-submenu-container > a
{
	color: var(--link-color-hover);
}

#menu-primary-hdr .sub-menu a,
#menu-primary-hdr .sub-menu a:visited 
{
	background-color: var(--white);
	border-bottom: 1px solid var(--gray-125) !important;
}

#menu-primary-hdr .sub-menu a:hover,
#menu-primary-hdr .sub-menu a:focus,
#menu-primary-hdr .sub-menu a:focus-visible
{
	background-color: var(--gray-100);
	color: var(--link-color);
}

#menu-primary-hdr .fl-menu-toggle:before,
#menu-primary-hdr .fl-menu-toggle:after 
{
	border-width: 1px;
}

@media (max-width: 991px)
{
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item:not(.wpml-ls-menu-item) > a,
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item:not(.wpml-ls-menu-item) > a:visited,
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item:not(.wpml-ls-menu-item) > .fl-has-submenu-container > a,
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item:not(.wpml-ls-menu-item) > .fl-has-submenu-container > a:visited
	{
		background: #5bc9ba;
		background: var(--grad-teal-v);
		border-bottom: 1px solid var(--white) !important;
	}

	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item:not(.wpml-ls-menu-item) > a:hover,
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item:not(.wpml-ls-menu-item) > a:focus,
	#menu-primary-hdr.fl-menu-mobile-clone .menu > .menu-item.fl-active:not(.wpml-ls-menu-item) > .fl-has-submenu-container > a,
	#menu-primary-hdr.fl-menu-mobile-clone .menu-item-has-children:hover > .fl-has-submenu-container > a,
	#menu-primary-hdr.fl-menu-mobile-clone .menu-item-has-children:focus > .fl-has-submenu-container > a 
	{
		--link-color-hover: var(--white);
		color: var(--link-color-hover);
	}

	/* re-position plus icon */
	#menu-primary-hdr.fl-menu-mobile-clone .fl-menu-horizontal.fl-toggle-plus .fl-has-submenu-container a
	{
		padding-right: calc( var(--spacer) * 3);
	}

	#menu-primary-hdr.fl-menu-mobile-clone .fl-menu-horizontal.fl-toggle-plus .fl-menu-toggle,
	#menu-primary-hdr.fl-menu-mobile-clone .fl-menu-vertical.fl-toggle-plus .fl-menu-toggle 
	{
		right: var(--spacer);
	}

	#menu-primary-hdr.fl-menu-mobile-clone .menu-item-search 
	{
		/* display: none; hide search on mobile menu */
		background: #5bc9ba;
		background: var(--grad-teal-v);
		padding: 0.75rem;
	}

	#menu-primary-hdr.fl-menu-mobile-clone .menu-item-search input.form-control 
	{
		background-color: rgba(255,255,255,0.65);
		border-color: var(--white);
	}
	
	#menu-primary-hdr.fl-menu-mobile-clone .menu-item-search input.form-control::placeholder,
	#menu-primary-hdr.fl-menu-mobile-clone .menu-item-search input.form-control 
	{
		--link-ff: var(--secondary-ff);
		font-family: var(--link-ff);
		font-size: 16px;
		height: calc(2.5em + 0.75rem + 2px);
	}
}

/* hide plus symbols when menu has expanded */
@media (min-width: 992px) 
{
	.hide-lg-submenu-icon .fl-menu-toggle
	{
		display: none;
	}

	.hide-lg-submenu-icon .fl-has-submenu-container a 
	{
		padding-right: var(--spacer);
	}

	.hide-lg-submenu-icon .fl-menu-horizontal.fl-toggle-plus .fl-has-submenu-container a 
	{
		padding-right: var(--spacer);
	}

	#menu-primary-hdr .menu-item-search .menu-description-content 
	{
		padding-right: 1em;
	}
}

/* END primary menu ------------------------------------------ */



/* START #site-topbar ---------------------------------------- */
#site-topbar 
{
	background: var(--teal-dark);
	background: var(--grad-teal);
	color: var(--white);
	text-align: center;
	padding: calc( var(--spacer) * 0.5) 20px;
}

@media (min-width: 768px) 
{
	#site-topbar 
	{
		padding: var(--spacer) 20px;
	}
}

#site-topbar .fl-rich-text 
{
	text-align: center;
	color: var(--white);
}

#site-topbar p 
{
	margin-bottom: 0;
	text-align: center;
	color: var(--white);
	line-height: 1.1;
}

#site-topbar a,
#site-topbar a:visited
{
	font-weight: bold;
	color: var(--white);
}

#site-topbar a:hover,
#site-topbar a:focus,
#site-topbar a:focus-visible
{
	color: var(--white);
	text-decoration: underline;
}

/* END #site-topbar ---------------------------------------- */



/* START #hero ----------------------------------------------- */
#hero 
{
	background: var(--blue-rgb);
	background: linear-gradient(90deg, var(--purple-rgb) 41.666667%, var(--blue-rgb) 41.666667%);
	color: var(--white);
}

#hero .fl-col 
{
	float: none;
}

#hero .hero-col-text
{
	padding-top: var(--sctn-spacing);
	padding-bottom: var(--sctn-spacing);
	background: var(--blue-rgb);
	background: linear-gradient(90deg, var(--purple-rgb) 0%, var(--blue-rgb) 100%);
	position: relative;
}

#hero .hero-col-img .fl-module-photo 
{
	overflow: hidden;
	position: relative;
	height: 100%;
}

#hero .hero-col-img .fl-module-content
{
	height: 100%;
}

#hero .hero-col-img .fl-photo
{
	display: flex;
	justify-content: flex-end;
	height: 100%;
	position: relative;
}

#hero .hero-col-img .fl-photo-content:before
{
	content: "";
	position: absolute;
	z-index: 1;
	width: var(--bg-dots-dl);
	left: -1px; /* calc( var(--bg-dots-dl) * -1) */
	top: 0;
	bottom: 0;
	background-color: var(--blue-rgb);
	-webkit-mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask-size: var(--bg-dots-dl) var(--bg-dots-ds);
}

#hero .hero-col-img .fl-photo-content 
{
	position: relative;
	height: 100%;
	width: 100%;
	overflow: hidden;
}

#hero .hero-col-img .fl-photo-content > img 
{
	min-height: 100%;
	min-width: auto;
	max-width: unset;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: min-height var(--transition), min-width var(--transition);
}

/* at screen width of >= 1900, width of hero image gets outpaced, we need to then do 100% width and auto height */
@media (min-width: 1900px)
{
	#hero .hero-col-img .fl-photo-content > img 
	{
		min-height: auto;
		min-width: 100%;
	}
}


/* gradient variations ---- */
#hero.bgg-blue2purple 
{
	background: var(--purple-rgb);
	background: linear-gradient(90deg, var(--blue-rgb) 41.666667%, var(--purple-rgb)  41.666667%);
}

#hero.bgg-blue2purple .hero-col-text
{
	background: var(--purple-rgb);
	background: linear-gradient(90deg, var(--blue-rgb) 0%, var(--purple-rgb) 100%);
}

#hero.bgg-blue2purple .hero-col-img .fl-photo-content:before 
{
	background-color: var(--purple-rgb);
	-webkit-mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask-size: var(--bg-dots-dl) var(--bg-dots-ds);
}

/* dark to mid gray */
#hero.bgg-gray800-525 
{
	background: var(--gray-525-rgb);
	background: linear-gradient(90deg, var(--gray-800-rgb) 41.666667%, var(--gray-525-rgb) 41.666667%);
}

#hero.bgg-gray800-525 .hero-col-text
{
	background: var(--gray-525-rgb);
	background: linear-gradient(90deg, var(--gray-800-rgb) 0%, var(--gray-525-rgb) 100%);
}

#hero.bgg-gray800-525 .hero-col-img .fl-photo-content:before 
{
	background-color: var(--gray-525-rgb);
	-webkit-mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask-size: var(--bg-dots-dl) var(--bg-dots-ds);
}

/* teal */
#hero.bgg-teal 
{
	background: var(--teal-dark);
	background: linear-gradient(90deg, var(--teal-dark) 41.666667%, var(--teal-light)  41.666667%);
}

#hero.bgg-teal .hero-col-text
{
	background: var(--teal-dark);
	background: linear-gradient(90deg, var(--teal-dark) 0%, var(--teal-light) 100%);
}

#hero.bgg-teal .hero-col-img .fl-photo-content:before 
{
	background-color: var(--teal-light);
	-webkit-mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask: url('imgs/dots-to-right.svg') repeat-y top right;
	mask-size: var(--bg-dots-dl) var(--bg-dots-ds);
}

/* END #hero --------------------------------------------------- */



/* START #cta --------------------------------------------------- */
#cta 
{
	--bgc: var(--teal-dark);
	--bgg: linear-gradient(90deg, var(--teal-dark) 50%, var(--teal-light) 50%);
	background: var(--bgc);
	background: var(--bgg);
	position: relative;
}

#cta:before,
#cta:after 
{
	position: absolute;
	content: "";
	background-size: auto 576px;
	width: 50%;
	height: 100%;
	bottom: 0;
}

#cta:before 
{
	background: url('imgs/bg-dotline-v-sm2lg_white60_v2.svg') repeat-x bottom left;
	left: 0;
}

#cta:after 
{
	background: url('imgs/bg-dotline-v-lg2sm_white60_v2.svg') repeat-x bottom right;
	right: 0;
}

#cta > .fl-row-content-wrap
{
	padding-top: 0;
	padding-bottom: 0;
}

@media (max-width: 768px)
{
	/* overriding default BB style */
	#cta .fl-col-content
	{
		padding-bottom: 0 !important;
	}
}


#cta > .fl-row-content-wrap > .fl-row-content 
{
	--bgc: var(--teal-dark);
	--bgg: var(--grad-teal);
	background: var(--bgc);
	background: var(--bgg);
	padding-top: var(--sctn-spacing);
	padding-bottom: var(--sctn-spacing);
	transition: padding-top var(--transition), padding-bottom var(--transition);
	position: relative;
	z-index: 1;
}

@media (min-width: 769px) 
{
	#cta > .fl-row-content-wrap > .fl-row-content 
	{
		padding-top: calc( var(--sctn-spacing) * 0.5);
		padding-bottom: calc( var(--sctn-spacing) * 0.5);
	}
}

#cta .fl-heading 
{
	color: var(--white);
}

#cta [class*='img-bg-'] .fl-photo-content 
{
	margin: var(--spacer);
	width: auto;
	max-width: 100%;
}

/* START #cta --------------------------------------------------- */




/* START #footer ----------------------------------------------- */
#site-footer 
{
	--bgc: var(--gray-800);
	--footer-color: var(--gray-150);
	background-color: var(--bgc);
	color: var(--footer-color);
	font-size: 12px;
}

#site-footer > .fl-row-content-wrap
{
	padding-top: calc( var(--sctn-spacing) * 0.5);
	padding-bottom: calc( var(--sctn-spacing) * 0.5);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}

#menu-primary-ftr .menu
{
    display: flex !important;
    flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end !important;
}

#menu-primary-ftr .menu.fl-menu-horizontal 
{
	align-items: unset;
}

#menu-primary-ftr .sub-menu
{
    visibility: visible;
    display: flex !important;
    opacity: 1 !important;
    position: relative !important;
    top: auto;
    left: auto;
    z-index: 1;
    background-color: transparent;
    flex-direction: column;
	min-width: 100%;
	height: auto !important;
}

#menu-primary-ftr .wpml-ls-item 
{
	display: none;
}

#menu-primary-ftr .menu > .menu-item
{
    flex: 0 0 50%;
    max-width: 50%;
}

@media (min-width: 576px)
{
	#menu-primary-ftr .menu > .menu-item
	{
		flex-basis: 0;
		flex-grow: 1;
		width: 20%;
	}
}

@media (min-width: 992px)
{
	#menu-primary-ftr .menu > .menu-item
	{
		max-width: 20%;
	}
}

#menu-primary-ftr .menu > .menu-item > a,
#menu-primary-ftr .menu > .menu-item > .fl-has-submenu-container > a
{
	font-size: 14px;
	text-align: left;
	padding: var(--spacer) 20px calc( var(--spacer) * 0.5) 20px; /* var(--spacer) var(--spacer) calc( var(--spacer) * 0.5) var(--spacer) */
}

#menu-primary-ftr .sub-menu > .menu-item > a 
{
	font-size: 12px;
	padding: calc( var(--spacer) * 0.5) 20px; /* calc( var(--spacer) * 0.5) var(--spacer) */
}

#menu-primary-ftr a,
#menu-primary-ftr a:visited
{
	--link-color: var(--gray-150);
	--link-color-hover: var(--white);
	color: var(--link-color);
	transition: color var(--transition);
}

#menu-primary-ftr a:hover,
#menu-primary-ftr a:focus,
#menu-primary-ftr a:focus-visible
{
	color: var(--link-color-hover);
}

#menu-primary-ftr a[href="#"] 
{
	cursor: default;
}

#menu-primary-ftr a[href="#"]:hover,
#menu-primary-ftr a[href="#"]:focus,
#menu-primary-ftr a[href="#"]:focus-visible
{
	color: var(--link-color);
}

@media (min-width: 992px)
{
	#menu-primary-hdr .fl-menu-responsive-toggle-medium-mobile .wpml-ls-menu-item > a 
	{
		padding-left: calc( var(--spacer) * 0.25 );
		padding-right: calc( var(--spacer) * 0.25 );
	}
}

/* END #footer ------------------------------------------------- */



/* START #site-social -------------------------------------------- */
#site-social 
{
	font-size: 12px;
	color: var(--gray-700);
	background-color: var(--gray-050);
}

#site-social a,
#site-social a:visited
{
	font-size: 12px;
	color: var(--gray-700);
	transition: color var(--transition);
}

#site-social a:hover,
#site-social a:focus,
#site-social a:focus-visible
{
	color: var(--accent-color-hover);
}

#site-social > .fl-row-content-wrap
{
	padding-top: calc( var(--sctn-spacing) * 0.25);
	padding-bottom: calc( var(--sctn-spacing) * 0.25);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}
/* END #site-social ---------------------------------------------- */



/* START #site-copyright -------------------------------------------- */
#site-copyright 
{
	font-size: 12px;
	color: var(--gray-700);
}

#site-copyright a,
#site-copyright a:visited
{
	font-size: 12px;
	color: var(--gray-700);
	transition: color var(--transition);
}

#site-copyright a:hover,
#site-copyright a:focus,
#site-copyright a:focus-visible
{
	color: var(--accent-color-hover);
}

#site-copyright > .fl-row-content-wrap
{
	padding-top: calc( var(--sctn-spacing) * 0.25);
	padding-bottom: calc( var(--sctn-spacing) * 0.25);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}

/* social menu */
#menu-social li,
#menu-social-de li 
{
	display: inline-block;
}

#menu-social span,
#menu-social-de span
{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

[class*="socialicon-"] > a 
{
    position: relative;
    text-align: center;
}

[class*="socialicon-"] > a:before
{
    font-family: "Font Awesome 5 Brands";
    font-size: 20px;
    width: 40px;
	height: 40px;
	border-radius: 20px;
    padding: 10px;
    display: inline-block;
    color: var(--white);
    background-color: var(--gray-900);
    transition: color var(--transition), background-color var(--transition);
    line-height: 1.1;
    margin: 0 auto;
}

[class*="socialicon-"] > a:hover:before,
[class*="socialicon-"] > a:focus:before,
[class*="socialicon-"] > a:focus-visible:before
{
    color: var(--white);
    background-color: var(--accent-color-hover);
}

.socialicon-facebook > a:before
{
    content: "\f39e";
}

.socialicon-linkedin > a:before
{
    content: "\f0e1";
}

.socialicon-twitter > a:before
{
    content: "\f099";
}

.socialicon-youtube > a:before
{
	content: "\f167";
	padding-left: 9px;
}

#menu-copyright li,
#menu-copyright-de li
{
	display: inline-block;
}

/* END #sitecopyright ---------------------------------------------- */



/* START logo slider ----------------------------------------------- */
.scw-100 .fl-slide-content-wrap 
{
	width: 100% !important;
}

.sc-my-0 .fl-slide-content
{
	margin-top: 0 !important; /* relying on containing section spacing */
	margin-bottom: 0 !important;
}

.sctn-sc-py .fl-slide-content 
{
	padding-top: var(--sctn-spacing);
	padding-bottom: var(--sctn-spacing);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}

.sctn-sc-pt-half .fl-slide-content 
{
	padding-top: calc( var(--sctn-spacing) * 0.5);
	transition: padding-top var(--transition);
}

.sctn-sc-pt .fl-slide-content 
{
	padding-top: var(--sctn-spacing);
	transition: padding-top var(--transition);
}

.sctn-sc-pb .fl-slide-content 
{
	padding-bottom: var(--sctn-spacing);
	transition: padding-bottom var(--transition);
}

.bxvp-100h .bx-viewport
{
	height: 100% !important;
}

@media (max-width: 768px) 
{
	.logo-slider-wrap .fl-slide-content 
	{
		background-color: transparent !important;
	}
}

.logo-slider-wrap .fl-slide 
{
	display: flex;
	align-items: center;
}

.logo-slider-wrap .fl-slide-text p
{
	text-align: center;
	margin-bottom: 0;
}

.logo-slider-wrap .fl-slide-text p a 
{
	display: inline-block;
	margin: calc( var(--spacer) * 0.5) var(--spacer);
}

/* END logo slider ------------------------------------------------- */



/* START story slider ----------------------------------------------- */
.story-slider-wrap
{
	background:
		url('imgs/dots-from-bottom_white.svg') repeat-x left bottom,
		var(--gray-600);
	
	background:
		url('imgs/dots-from-bottom_white.svg') repeat-x left bottom,
		linear-gradient(180deg, rgba(65,65,65,1) 0%, rgba(112,112,112,1) 100%);
	
	background-size:
		auto var(--sctn-spacing),
		auto 100%;
	color: var(--white);
	padding-top: var(--sctn-spacing);
	padding-bottom: calc( var(--sctn-spacing) * 1.5);
	transition: padding-top var(--transition), padding-bottom var(--transition);
}

.story-slider-wrap .fl-slide-foreground 
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.story-slider-wrap .fl-slide-content-wrap,
.story-slider-wrap .fl-slide-photo-wrap 
{
	float: none;
}

@media (max-width: 768px) 
{
	.story-slider-wrap .fl-slide-content-wrap 
	{
		text-align: left !important;
	}
}

@media (min-width: 992px) 
{
	.story-slider-wrap .fl-slide-content-wrap 
	{
		flex: 0 0 58.333333%;
		width: auto !important;
    	max-width: 58.333333%;
	}

	.story-slider-wrap .fl-slide-photo-wrap
	{
		flex: 0 0 41.666667%;
		width: auto !important;
		max-width: 41.666667%;
	}
}

.story-slider-wrap .fl-slide-content 
{
	margin: 0 calc( var(--spacer) * 2) calc( var(--spacer) * 2) 0 !important;
	padding: 0 !important;
	background-color: transparent !important;
}

.story-slider-wrap .fl-heading 
{
	color: var(--white);
	padding-left: var(--story-slider-content-pl) !important;
	transition: padding-left var(--transition);
}

.story-slider-wrap .fl-slide-photo,
.story-slider-wrap .fl-slide-mobile-photo 
{
	margin: 0 calc( var(--spacer) * 2) calc( var(--spacer) * 2) calc( var(--spacer) * 2) !important;
	padding: var(--spacer) 0 calc( var(--spacer) * 0.5) calc( var(--spacer) * 2.5);
	position: relative;
}

.story-slider-wrap .fl-slide-photo:after,
.story-slider-wrap .fl-slide-mobile-photo:after 
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	display: block;
	background-color: rgba(0,0,0,0.2);
	-webkit-mask: url('imgs/bg-dot-circle.svg') no-repeat top left;
	mask: url('imgs/bg-dot-circle.svg') no-repeat top left;
	mask-size: auto 100%;
}

.story-slider-wrap .fl-slide-photo-img,
.story-slider-wrap .fl-slide-mobile-photo-img 
{
	border-radius: 50%;
	position: relative;
	z-index: 1;
}

.story-slider-wrap .fl-slide-text 
{
	padding-left: var(--story-slider-content-pl);
	transition: padding-left var(--transition);
}

.story-slider-wrap blockquote 
{
	position: relative;
}

.story-slider-wrap blockquote:before 
{
	position: absolute;
	content: "“";
	top: calc( var(--spacer) * -0.35);
	left: calc( var(--story-slider-content-pl) * -1);
	color: rgba(0,0,0,0.35);
	font-size: var(--story-slider-quote-fsz);
	line-height: 1;
	font-weight: bold;
	transition: left var(--transition), font-size var(--transition);
}

.story-slider-wrap .bq-author 
{
	font-weight: var(--secondary-wt-bold);
}

.story-slider-wrap .bq-author-title 
{
	font-size: 80%;
}

.story-slider-wrap .bx-wrapper .bx-pager 
{
	text-align: left;
	padding-left: var(--story-slider-content-pl);
}

.story-slider-wrap .bx-wrapper .bx-pager.bx-default-pager a.active,
.story-slider-wrap .bx-wrapper .bx-pager.bx-default-pager a:hover,
.story-slider-wrap .bx-wrapper .bx-pager.bx-default-pager a:focus,
.story-slider-wrap .bx-wrapper .bx-pager.bx-default-pager a:focus-visible
{
    background: var(--primary-color);
}

.story-slider-wrap .bx-wrapper .bx-pager.bx-default-pager a
{
	--ht: 10px;
	background: rgba(255,255,255,0.5);
    width: 40px;
    height: var(--ht);
    margin: 0 5px;
    outline: 0;
    -moz-border-radius: calc( var(--ht) * 0.5);
    -webkit-border-radius: calc( var(--ht) * 0.5);
    border-radius: calc( var(--ht) * 0.5);
}

/* END story slider ------------------------------------------------- */



/* START accordions ------------------------------------------------- */
.fl-accordion-item 
{
	border: 0 !important;
}

.fl-accordion-button 
{
	border-bottom: 1px solid var(--blue-rgb);
}

.fl-accordion-content 
{
	padding: var(--spacer) !important;
	background: var(--gray-025);
	background: linear-gradient(180deg, rgba(245,245,245,1) 0%, rgba(245,245,245,0) 100%);
	border-bottom: 1px solid var(--blue-rgb);
}

.fl-accordion-button-label,
.fl-accordion-button-label:visited
{
	color: var(--gray-800);
	transition: color var(--transition);
}

.fl-accordion-button-label:hover,
.fl-accordion-button-label:focus,
.fl-accordion-button-label:focus-visible
{
	color: var(--accent-color-hover);
}

a.fl-accordion-button-icon 
{
	--btn-fsz: 12px;
	--btn-h: calc( var(--btn-fsz) * 2 );
	--btn-w: var(--btn-h);
	--btn-rad: calc( var(--btn-w) * 0.5);
	font-size: var(--btn-fsz);
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--btn-w);
	height: var(--btn-h);
	border-radius: var(--btn-rad);
	background-color: var(--gray-800);
	color: var(--white);
	transition: background-color var(--transition);
	padding-left: 0;
	text-align: center;
}

a.fl-accordion-button-icon:visited 
{
	background-color: var(--gray-800);
	color: var(--white);
} 

a.fl-accordion-button-icon:hover,
a.fl-accordion-button-icon:focus,
a.fl-accordion-button-icon:focus-visible
{
	background-color: var(--accent-color-hover);
	color: var(--white);
} 

i.fl-accordion-button-icon 
{
	padding-left: 0;
	opacity: 1.0 !important;
	display: block;
}

@media (min-width: 576px)
{
	.fl-accordion-content > p:nth-child(2) 
	{
		padding-top: var(--spacer);
		padding-left: calc( var(--sctn-spacing) - var(--spacer) );
	}
}

/* END accordions --------------------------------------------------- */



/* START filter-bar ------------------------------------------------- */
#filter-bar 
{
	text-align: center;
}

#filter-bar .filter-label 
{
	display: inline-block;
	margin-bottom: var(--filter-bar-spacing);
}

#filter-bar form.searchandfilter
{
	display: inline-block;
}

#filter-bar form.searchandfilter .postform 
{
	font-size: 100%;
	padding: calc( var(--spacer) * 0.4);
	border-color: var(--gray-550);
}

@media (min-width: 768px)
{
	#filter-bar form.searchandfilter .postform 
	{
		font-size: 80%;
	}
}

#filter-bar ul
{
	padding-left: 10px;
	margin-bottom: var(--filter-bar-spacing);
}

/* START filter-bar ------------------------------------------------- */



/* START news item columns ------------------------------------------ */
h2.fl-post-grid-title 
{
	font-size: var(--h2-fsz);
}

h3.fl-post-grid-title 
{
	font-size: var(--h3-fsz);
}

.fl-post-grid-title a 
{
	transition: color var(--transition);
}

.post-items .fl-post-grid 
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-left: 0;
    margin-right: 0;
}

.post-items .fl-post-column 
{
	width: var(--post-item-w); 
	transition: width var(--transition);
	float: none;
	clear: none !important;
}

.post-items .fl-post-grid-post
{
	border: 0;
	background: transparent;
}

.post-items .fl-post-grid-text 
{
	padding: var(--spacer) 0 0 0;
}

.post-items a.fl-post-grid-more 
{
	margin-top: calc( var(--spacer) * 1.25);
}


/* shadowed items ---- */
.post-items-shadowed .fl-post-grid 
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-left: 0;
    margin-right: 0;
}

.post-items-shadowed .fl-post-column 
{
	width: var(--post-item-w); 
	transition: width var(--transition);
	float: none;
	clear: none !important;
}

.post-items-shadowed .fl-post-grid-post 
{
	border: 0;
	box-shadow: var(--drop-shadow-2);
}

@media (max-width: 767px) 
{
	.post-items-shadowed .fl-post-column 
	{
		padding: 20px;
	}
}

.post-items-shadowed .fl-post-grid-text
{
	padding: 20px 20px 30px 20px;
}

.post-items-shadowed a.fl-post-grid-more 
{
	margin-top: calc( var(--spacer) * 1.25);
} 


/* START position post item button on the bottom */
.post-item,
.item-btn-b 
{
	display: flex;
    flex-direction: column;
}

.post-item .fl-post-grid-text,
.item-btn-b .fl-post-text 
{
	flex-grow: 1;
	display: flex;
    flex-direction: column;
}

.post-item .fl-post-grid-content
{
	display: flex;
    flex-direction: column;
	flex-grow: 1;
	justify-content: space-between !important;
}

.post-item a.fl-post-grid-more,
.item-btn-b a.fl-button
{
	align-self: flex-start; /* otherwise button stretches to fit container width */
}

.item-btn-b a.fl-button 
{
	margin-top: auto;
}
/* END position post item button on the bottom */


.fl-builder-pagination li a.page-numbers, 
.fl-builder-pagination li span.page-numbers
{
	border: 0;
}

.fl-builder-pagination span.page-numbers.current 
{
	color: var(--accent-color);
	background: none !important;
}

.fl-builder-pagination a.page-numbers,
.fl-builder-pagination a.page-numbers:visited
{
	color: var(--body-color);
	transition: color var(--transition);
}

.fl-builder-pagination a.page-numbers:hover,
.fl-builder-pagination a.page-numbers:focus,
.fl-builder-pagination a.page-numbers:focus-visible
{
	color: var(--accent-color-hover);
	background: none !important;
}

/* Image dot treatments --- */
.pgi-dot-overlay .fl-post-grid-image 
{
	position: relative;
}

.pgi-dot-overlay .fl-post-grid-image:after 
{
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	right: 0;
	height: calc( var(--sctn-spacing) * 0.75);
	background: url('imgs/dots-from-bottom_white.svg') repeat-x left bottom;
	background-size: auto calc( var(--sctn-spacing) * 0.75);
}

.pgi-dot-after .fl-post-grid-image 
{
	padding-bottom: 22px;
    background: url('imgs/bg-3dotrows-br.svg') no-repeat bottom right;
    background-size: auto 20px;
}

/* END news item columns -------------------------------------------- */



/* START image overlap blocks ---------------------------------------- */
.img-overlap-blocks .fl-post-column 
{
	margin-bottom: calc( var(--img-overlap-offset) * -2 ); /* overlap is negative */
}

@media (min-width: 576px) 
{
	.img-overlap-blocks .fl-post-column 
	{
		width: 50%;
	}

	.img-overlap-blocks .fl-post-column:nth-child(1n + 2)
	{
		clear: none !important;
	}
}

@media (min-width: 769px) 
{
	.img-overlap-blocks .fl-post-column 
	{
		width: 33.333333333333%;
	}

	.img-overlap-blocks .fl-post-column:nth-child(3n + 1)
	{
		clear: none !important;
	}
}

.img-overlap-cc-block .fl-col-content,
.img-overlap-block
{
	border: none;
	overflow: inherit;
	display: flex;
	flex-direction: column;
}

.img-overlap-block .fl-post-image,
.img-overlap-cc-block .fl-module-photo
{
	margin-top: var(--img-overlap-offset);
	transition: margin-top var(--transition);
	text-align: center;
}

/* END image overlap blocks ------------------------------------------ */



/* START blog item pages -------------------------------------------- */
#post-page-title .fl-heading 
{
	color: var(--hdr-color);
	text-align: center;
	font-size: var(--h2-fsz);
}

#post-excerpt 
{
	font-size: 130%;
}

#post-excerpt p:last-child 
{
	margin-bottom: 0;
}

#post-item-terms-list .fl-html
{
	border-top: 1px solid var(--gray-050);
	padding-top: 20px;
	border-bottom: 1px solid var(--gray-050);
	padding-bottom: 20px;
}

#post-item-terms-list .terms-list-label 
{
	font-weight: bold;
}

#post-item-terms-list a,
#post-item-terms-list a:visited 
{
	color: var(--body-color);
	transition: color var(--transition);
}

#post-item-terms-list a:hover,
#post-item-terms-list a:focus,
#post-item-terms-list a:focus-visible
{
	color: var(--accent-color-hover);
}

#post-item-content h2:not(:first-child) 
{
	padding-top: calc( var(--spacer) * 0.5);
}

#post-item-content h2 
{
	margin-bottom: calc( var(--spacer) * 1.5);
}

#post-item-content h3,
#post-item-content h4,
#post-item-content h5,
#post-item-content h6,
.page-item-content h3,
.page-item-content h4,
.page-item-content h5,
.page-item-content h6,
.text-body-color .fl-heading,
.text-body-color
{
	color: var(--body-color);
}

/* END blog item pages ---------------------------------------------- */


/* START related items ---------------------------------------------- */
#post-items.related-items .fl-post-grid
{
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/* END related items ---------------------------------------------- */


/* START gallery ---------------------------------------------------- */
.gallery-rows-center-hv .fl-mosaicflow 
{
	margin-left: -10px;
}

.gallery-rows-center-hv .fl-mosaicflow-col
{
	float: none;
	width: 100% !important;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.gallery-rows-center-hv .fl-mosaicflow-item 
{
	margin: 10px;
	flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

@media (min-width: 992px) 
{
	.gallery-rows-center-hv.galcol-lg-2 .fl-mosaicflow-item 
	{
		flex: 0 0 16.666667%;
    	max-width: 16.666667%; 
	}
}

.gallery-rows-center-hv img
{
	min-width: 149px; /* SVGs have to get a width set */
}

/* END gallery ------------------------------------------------------ */



/* START #teamModal ------------------------------------------------- */
.modal .close 
{
	text-shadow: none;
}

.modal button:hover,
.modal input[type=button]:hover,
.modal input[type=submit]:hover 
{
	background-color: transparent;
	border: none;
}

.modal-content 
{
	border-radius: 0;
}

.modal-content.bgg-purple2blue-v 
{
	border: none;
}

#teamModal .modal-header
{
	border-bottom: none;
	padding-bottom: calc( var(--spacer) * 0.5);
}

#teamModal .modal-body 
{
	padding-top: calc( var(--spacer) * 0.5);
}

#teamModal .bgg-purple2blue-v .modal-body-content > *:last-child 
{
	padding-top: var(--spacer);
	border-top: 1px solid rgba(255,255,255,0.3);
	margin-top: var(--spacer);
}

/* END #teamModal --------------------------------------------------- */



/* START tabs ------------------------------------------------------- */
/* NOTE! - tabs convert to accordions @ <= 768 */

.fl-module-tabs .fl-tabs-panels 
{
	border-width: 3px;
	border-color: var(--gray-200);
	border-radius: var(--spacer);
}

.fl-module-tabs .fl-tabs-panel-content 
{
	border-radius: var(--spacer);
}

.fl-module-tabs .fl-tabs .fl-tabs-labels .fl-tabs-label.fl-tab-active
{
	border-width: 3px 3px 0 3px;
	border-color: var(--gray-200);
	border-radius: var(--spacer) var(--spacer) 0 0;
}

@media (max-width: 768px)
{
	/* dont need to round bottom of last panel border as that is handled by fl-tabs-panels */
	.fl-tabs-panel:not(:last-child)
	{
		border-bottom-style: solid;
		border-bottom-width: 3px;
		border-radius: 0 0 var(--spacer) var(--spacer);
		border-bottom-color: var(--gray-200);
	}

	/* when tabs turn into accordions, these labels are then visible as the first child of .fl-tabs-panel */
	.fl-tabs-panel > .fl-tabs-label 
	{
		border-radius: var(--spacer);
	}

	.fl-tabs-panel-content
	{
		padding: 0 var(--spacer) var(--spacer) var(--spacer);
	}
}

@media (min-width: 769px) 
{
	.fl-module-tabs .fl-tabs-horizontal .fl-tabs-labels /* labels plural is only in use at >= 768 */
	{
		margin-bottom: -2px;
		text-align: center;
	}

	/* we have to select label as a direct child of labels or the in-panel label appears */
	.fl-module-tabs .fl-tabs-horizontal .fl-tabs-labels > .fl-tabs-label 
	{
		float: none;
		display: inline-block;
	}
}

/* timeline tabs --- */
.fl-module-tabs.tabs-timeline .fl-tabs-panel-content 
{
	padding: var(--spacer) var(--sctn-spacing);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dl 
{
	display: flex;
	flex-wrap: wrap;
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dt
{
	flex: 0 0 20%;
	max-width: 20%;
	padding: var(--spacer) calc( var(--spacer) * 0.5) var(--spacer) 0;
}

@media (min-width: 992px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dt
	{
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
}

@media (min-width: 1200px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dt
	{
		flex: 0 0 8.333333%;
    	max-width: 8.333333%;
	}
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dt:not(:last-of-type)
{
	border-bottom: 1px solid var(--gray-050);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dd
{
	flex: 0 0 80%;
	max-width: 80%;
	padding: var(--spacer) 0 var(--spacer) calc( var(--spacer) * 0.5);
	margin-bottom: 0;
}

@media (min-width: 992px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dd
	{
		flex: 0 0 83.333333%;
    	max-width: 83.333333%;
	}
}

@media (min-width: 1200px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dd
	{
		flex: 0 0 91.666667%;
    	max-width: 91.666667%;
	}
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel-content dd:not(:last-of-type)
{
	border-bottom: 1px solid var(--gray-050);
}


/* --> we have color coordinated each of the three tabs in this panel */
.tabs-timeline 
{
	--color-tab-01: var(--gray-535);
	--color-tab-02: var(--blue-lt);
	--color-tab-03: var(--teal-light);
}

/* reset which panel element has a border - by default the outer .panels class has a border, 
we need to turn this off and let individual panels have a border instead to color coordinate them to their respective tabs */
@media (min-width: 769px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs-panels 
	{
		border-width: 0;
		border-color: transparent;
	}

	.fl-module-tabs.tabs-timeline .fl-tabs-panel-content.fl-tab-active 
	{
		border-color: var(--gray-200);
		border-width: 3px;
		border-style: solid;
	}
}

/* =---> tab 01 colors */
.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(1) .fl-tabs-label,
.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(1) dt,
.fl-module-tabs.tabs-timeline .fl-tabs-labels > a.fl-tabs-label:nth-child(1),
.fl-module-tabs.tabs-timeline .fl-tabs-labels > a.fl-tabs-label:visited:nth-child(1)
{
	color: var(--color-tab-01);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(1) .fl-tabs-panel-content dt:not(:last-of-type) 
{
	border-bottom-color: var(--color-tab-01);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(1) .fl-tabs-panel-content dd:not(:last-of-type) 
{
	border-bottom-color: var(--color-tab-01);
}

/* breakpoint at which accordions turn into tabs */
@media (min-width: 769px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs .fl-tabs-labels .fl-tabs-label:nth-child(1).fl-tab-active,
	.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(1) .fl-tabs-panel-content.fl-tab-active 
	{
		border-color: var(--color-tab-01);
	}
}

/* =---> tab 02 colors */
.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(2) .fl-tabs-label,
.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(2) dt,
.fl-module-tabs.tabs-timeline .fl-tabs-labels > a.fl-tabs-label:nth-child(2),
.fl-module-tabs.tabs-timeline .fl-tabs-labels > a.fl-tabs-label:visited:nth-child(2)
{
	color: var(--color-tab-02);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(2) .fl-tabs-panel-content dt:not(:last-of-type) 
{
	border-bottom-color: var(--color-tab-02);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(2) .fl-tabs-panel-content dd:not(:last-of-type) 
{
	border-bottom-color: var(--color-tab-02);
}

@media (min-width: 769px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs .fl-tabs-labels .fl-tabs-label:nth-child(2).fl-tab-active,
	.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(2) .fl-tabs-panel-content.fl-tab-active
	{
		border-color: var(--color-tab-02);
	}
}

/* =---> tab 03 colors */
.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(3) .fl-tabs-label,
.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(3) dt,
.fl-module-tabs.tabs-timeline .fl-tabs-labels > a.fl-tabs-label:nth-child(3),
.fl-module-tabs.tabs-timeline .fl-tabs-labels > a.fl-tabs-label:visited:nth-child(3)
{
	color: var(--color-tab-03);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(3) .fl-tabs-panel-content dt:not(:last-of-type) 
{
	border-bottom-color: var(--color-tab-03);
}

.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(3) .fl-tabs-panel-content dd:not(:last-of-type) 
{
	border-bottom-color: var(--color-tab-03);
}

@media (min-width: 769px) 
{
	.fl-module-tabs.tabs-timeline .fl-tabs .fl-tabs-labels .fl-tabs-label:nth-child(3).fl-tab-active,
	.fl-module-tabs.tabs-timeline .fl-tabs-panel:nth-child(3) .fl-tabs-panel-content.fl-tab-active
	{
		border-color: var(--color-tab-03);
	}
}


/* END tabs --------------------------------------------------------- */