@charset "UTF-8";

.grecaptcha-badge { display: none !important; }

.vh-100 {
	min-height: calc(100vh - 95px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* uncomment to make all emojis black and white */
/*main { font-variant-emoji: text; }*/ 

/* THEME COLORS */
/*
#A41034 - corporate red
#AC022B - corp red:hover
#004180 - blue gradient dark
#009DE5 - sky blue
#009DE5 - blue gradient light
#E4EDF6 - light blue nav bg
#0E2C46 - darkest blue
#1C1C1C - body copy almost black
#D7FC01 - acid green
*/
:root {
	--bs-blue: #009DE5;
	--bs-warning: #b44612;
	--bs-muted: #808080;
	--bs-primary: #1c1c1c;
	--bs-danger: #A41034;
	--bs-danger-bright: #AC022B;
	--bs-acid-green: #D7FC01;
	--bs-gray: #666;
	--bs-dark: #00407E;
	--bs-darker: #0E2C46;
	--bs-dark-lighter: #20588F;
	--bs-secondary-light: #E4EDF6;
	--light-grey: #d1d1d1;
	--lightest-grey: #eee;
	--bs-body: var(--bs-black);
  --p-margins: 0.125em 0 0.875em 0;
	--p-margins-first: 0 0 1.255em 0;
  --li-margin-bottom: 0.875em;
	--corp-blue: var(--bs-dark);
	--corp-light-blue: var(--bs-blue);
	--corp-sky-blue: #D4E8FA;
	--corp-red: #9E0019;
	--corp-chartreuse: var(--bs-acid-green);
	--hero-gradient-dark: linear-gradient(to bottom, var(--bs-dark), var(--bs-blue));
	--max-container-width: 1140px;
	--copy-max-width: 768px;
	--bs-btn-radius: 7px;
	
	--base-font-family: 'Inter', 'Helvetica', sans-serif;
	--base-font-size: 18px;
	--base-mobile-font-size: 16px;
	--base-font-weight: 400;
	--font-weight-thin: 100;
	--font-weight-lighter:200;
	--font-weight-light: 300;
	--font-weight-regular: var(--base-font-weight);
	--font-weight-medium: 500;
	--font-weight-heavy:600;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;
	--font-weight-black: 900;
	--base-box-shadow: 1px 2px 0 rgba(0,0,0,0.15);

	--gradient-under-header-dark-color: #e1e1e1;
	--gradient-under-header: linear-gradient(to bottom, var(--gradient-under-header-dark-color), transparent 45px);
	--gradient-under-header-mobile: linear-gradient(to bottom, var(--gradient-under-header-dark-color), transparent 32px);
	
	--hero-gradient-light: var(--gradient-under-header);
}
@media(max-width:767px) {
	:root {
		--gradient-under-header: var(--gradient-under-header-mobile);
		--hero-gradient-light: var(--gradient-under-header-mobile);
	}
}
._dark-header {
	--gradient-under-header: none;
	--hero-gradient-light: none;
}


.text-black { color: #000 !important; }
.text-copy { color: var(--bs-body) !important; }
.text-white, .text-white *, .bg-dark, .bg-dark *, .bg-primary, .bg-primary *, .bg-darker *, .bg-dark-lighter * { color:#fff; }
.text-light { color: rgba(255,255,255,0.75) !important; }
.text-white a:not(.btn), .text-white label, .text-white h1, .text-white h2, .text-white h3, .text-white h4 { color: white !important;  }
.text-light a, .text-light label, .text-light h1, .text-light h2, .text-light h3, .text-light h4 { color: rgba(255,255,255,0.75) !important;  }
main .text-white a, main .text-light a { text-decoration: underline; text-decoration-color: rgba(255,255,255,0.5) ; }
.text-white a.tel { color: #D9B4C0 !important; text-decoration-color: initial !important; }
.text-white a:not(.btn), .bg-dark a:not(.btn), .bg-primary a:not(.btn) { color: inherit !important; }

body, .text-default, .text-body { color: var(--bs-body); }
.text-muted { color: var(--bs-muted) !important; }
.text-grey { color: var(--bs-gray) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-dark { color: var(--bs-dark) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-primary { color: inherit !important; }
.text-bright { color: var(--corp-chartreuse) !important; }
.text-white .text-muted { color: rgba(255,255,255,0.5) !important; }

.border-light { border-color: rgba(255,255,255,0.35) !important; }
.bg-blue { background-color: var(--bs-blue); color: #fff;  }
.bg-primary { background-color: var(--corp-blue) !important; color: #fff; }
.bg-dark { background-color: var(--bs-dark) !important; }
.bg-darker { background-color: var(--bs-darker) !important; }
.bg-dark-lighter { background-color: var(--bs-dark-lighter) !important; }
.bg-dark-grey { background-color: #424547 !important; }
.bg-grey { background-color: var(--bs-gray); }
.bg-light-grey { background-color: var(--light-grey)}
.bg-lightest-grey { background-color: var(--lightest-grey); }
.bg-lightest-grey-white-gradient { background: linear-gradient(to bottom, #eee, #fff)}
.bg-black { background-color: #000; }
.bg-white { background-color: #fff; }
.bg-secondary { background-color: var(--bs-secondary-light) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-lighter { background-color: rgba(255,255,255,0.125)}
.bg-lightest { background-color: rgba(255,255,255,0.2)}
.bg-primary-light { background-color: var(--bs-blue) !important; color: #fff; }
.bg-bright { background-color: var(--corp-chartreuse) !important; }
.bg-gradient-light-blue { background: var(--hero-gradient); }

.spacer-sm { display: block; clear: both; min-height: 0.5rem; }
.spacer-1 { display: block; clear: both; min-height: 1rem; }
.spacer-2 { display: block; clear: both; min-height: 2rem; }
.spacer-3 { display: block; clear: both; min-height: 3rem; }
.spacer-4 { display: block; clear: both; min-height: 4rem; }
.spacer-5 { display: block; clear: both; min-height: 5rem; }

/* GLOBAL SETUP STYLES */
html { font-size: var(--base-font-size); }
body { font-size: 100%; margin: 0; padding: 0; }
@media(min-width:1200px) {
main .container, main .container-md { max-width: var(--max-container-width); }
}

form, object, embed, .block { display: block; margin: 0px; padding: 0px; }
img { border: 0; font-family: monospace; }
.max-copy-width { max-width: var(--copy-max-width); margin-left:auto; margin-right: auto;}
/* default link styles */
a.tel, a.icon, a.tel:hover, a.icon:hover { color: inherit !important; text-decoration: none !important; border: none; }
a.noline, a.noline:hover .noline { text-decoration: none; border: none; text-decoration-color: white; }
.noline:hover { text-decoration: underline !important; }
.list-group-item a { text-decoration: none !important; }
main a, main a:link { color: var(--corp-blue); }

table, table.table {
	--border: solid 1px var(--bs-border-color);
	--rad: 6px;
	font-size: 0.875em;
	margin: 2rem 0;
	border: none;
	border-collapse:collapse;
	border-radius: var(--rad);
	td { border: solid 1px white; line-height: normal; font-size: 0.875em; padding-top: 1.25em; padding-bottom: 1.25em; }
	th { font-weight: var(--font-weight-heavy); background: var(--corp-blue); color: white; }
	th:not(:last-child) { border-right: solid 1px rgba(255,255,255,0.2)}
	th:first-child { border-radius:var(--rad) 0 0 0; }
	th:last-child { border-radius: 0 var(--rad) 0 0; }
	> tbody > tr:nth-child(odd) > td {
		background: var(--bs-gray-100);
	}
	> tbody > tr:nth-child(even) > td {
		background: var(--bs-gray-200);
	}

}

/* default font family */
body, .default-font { font-family:var(--base-font-family); scroll-behavior: smooth; font-weight: var(--base-font-weight); font-display: swap; }

/* default font styles */
.alt-font, h1, .h1, h2, .h2, h3, .h3, h4, .h4 { 
	font-weight: 600;
	.color { /*color:var(--bs-blue)*/ }
}
h1>a, h2>a, h3 >a, .h1 >a { text-decoration: none !important; color: inherit !important; display: block; }
h4>a, h5>a, h6>a { display: block; }
h1, .h1 {
	font-size: 2.25em; margin-bottom: 0.125em; line-height: 0.99; font-weight: 900;
}
h1.sm { font-size: 2em; letter-spacing: 1px; }
h1.lg { font-size: 3em; letter-spacing: 1px; }
h2, .h2 {  font-size: 1.9875em; line-height: 1.125em; margin-top: 0; margin-bottom: 0.5em; font-weight: 800;  }
h2.lg { font-size: 2.25em; }
h3, .h3 { font-size: 1.3875em; line-height: 1.25em; margin-bottom: 0.5em; font-weight: 700;  }
h4, .h4 { font-size: 1.125em; line-height: 1.25em; font-weight: normal;  }
h5, .h5 { font-size: 1em; line-height: 1.125em; font-weight: 600; margin-bottom: 0.75em; }
h6, .h6 { font-size: 0.875em; }
h1 sup, h2 sup, h3 sup, h4 sup { position: relative; top: -2px; font-size: 9px !important; vertical-align: super; opacity: 0.5; }
@media(max-width: 1199px) {
  h1, .h1 { font-size: 2.5rem; }
}
@media(max-width: 991px) {
  h1, .h1 { font-size: 2.25em; }
	h1.lg { font-size: 2.5em; font-size: clamp(2em, 6vw, 2.5em);}
  h1.sm { font-size: 2em; }
  h2, .h2 { font-size: 1.6em; }
  h3, .h3 { font-size: 1.1875em; }
}
@media(max-width: 575px) {
  h1, .h1 { font-size: 2.125em; line-height:1.025; margin-bottom: 1rem; font-weight: var(--font-weight-black); letter-spacing: 0.25px }
  h1.sm { font-size: 1.5em; }
  h2, .h2 { font-size: 1.75em; line-height:1.125; }
  h3, .h3 { font-size: 1.45em; line-height: 1.125; }
}
strong, b, .text-bold { font-weight: bold;}
input, select, textarea, option { color: #474747 !important; }

.font-wt-100 { font-weight: 100 !important; }
.font-wt-200 { font-weight: 200 !important; }
.font-wt-300 { font-weight: 300 !important;}
.font-wt-400 { font-weight: 400 !important;}
.font-wt-500 { font-weight: 500 !important;}
.font-wt-600 { font-weight: 600 !important;}
.font-wt-700 { font-weight: 700 !important;}
.font-wt-800 { font-weight: 800 !important;}
.font-wt-900 { font-weight: 900 !important;}

@media(min-width:576px) {
.text-align-justify { text-align: justify; } /* justified text begins to look wonky at smaller screen widths */
}
strong .alt-font, b .alt-font, .alt-font b, .alt-font strong, .alt-font.bold, .alt-font .bold { font-weight: bold; }
em, i, .italic { font-style: italic; }
hr { height: 2px; margin: 1.5em 0 1.5em; background: rgba(14,15,18,0.35); border: none; clear: both; display: block; }
.bg-dark hr, .bg-darker hr, .bg-dark-lighter hr, hr.light, .text-white hr { background: rgba(252,253,255, 0.75); }
hr.thin { height: 1px; }
hr.short { margin: 1em 0; }
hr.thick { height: 5px; }
hr.thicker { height: 0.5em; }
hr.thickest { height: 0.75em; }
hr.bg-bright { opacity: 1 !important; }
hr.compact { margin: 0.5em 0; }
hr.bg-danger { opacity: 1 !important; }
hr.acid-green { background: var(--corp-chartreuse); opacity: 1; }
iframe { border: 0; }
cite, figcaption { display: block; }
h1 + h2 { font-size: 1.25em; margin-bottom: 0.875em; }
p { padding: 0; margin: var(--p-margins); }
p + h2, p + h3, p + h4, p + h5 { margin-top: 1.5em !important; }
.text-large { font-size: 1.125em; }
.text-larger { font-size: 1.5em; }
.text-largest { font-size: 1.75em; }
.text-normal { font-size: 1em; line-height: inherit; }
.text-small { font-size: 0.9125em; }
.text-smaller { font-size: 0.775em; }
.text-smallest { font-size: 0.5925em; }
.text-shadow { text-shadow: 1px 1px 3px rgba(0,0,0,0.2); }
.text-shadow.text-shadow-faint { text-shadow: 1px 1px 3px rgba(0,0,0,0.1); }
.text-shadow.text-shadow-heavy {text-shadow: 1px 1px 2px rgba(0,0,0,0.35); }
.expanded p, p.expanded { line-height: 2 }
.comfortable p, p.comfortable { line-height: 1.75; }

section .grad-horz, section.grad-horz {
		background: linear-gradient(-1deg, white 25%, #e6e6e6 50%, white 75%) !important;
}
.ucase { text-transform: uppercase; }
.uline { text-decoration: underline !important; }
.noline, a.noline, .noline a { text-decoration: none !important; }
.nowrap, nowrap, .nobr { white-space: nowrap; }
.nolink { color: inherit; text-decoration: none !important; }
ul + h3, p + h3, ul + h4, p + h4, h4 + h4 { margin-top: 1.5em; }
.definition { text-decoration: underline; text-decoration-style: double; text-decoration-color: #ccc; }
.definition[data-toggle] { cursor: help; }
.wide-spacing { letter-spacing: 0.1em; }
blockquote q { quotes: none; }
blockquote:not(.testimonial):not(.plain) q, blockquote:not(.testimonial):not(.plain) p { font-weight: var(--font-weight-medium); font-style: italic; font-size: 1.125em;}
blockquote:not(.testimonial):not(.plain) {
	line-height: 1.5;
	border-radius: 6px;
	padding-left: 1.25em;
	padding-right: 1.25rem;
	margin-left: 1em;
	margin-top: 2rem;
	margin-bottom: 2rem;
	border-left: solid 5px var(--bs-blue);
	> p { margin: 0; line-height: inherit; }
}
.d-none-empty:empty { display: none; }
a sup { text-decoration: none !important; display: inline-block; }
/* IMAGES */
img, object, embed, .wp-post-image { max-width: 100%; height: auto; /* makes images scale to container */ }
img.fit { width: 100%; height: auto; }
img.fit.vert { height: 100%; width: auto; }


/* UI */
*[data-defer-bg]:not(.skip-loading-transition), *[data-defer]:not(.skip-loading-transition) { opacity:0;  }
*[data-defer-bg].loaded, *[data-defer].loaded { opacity: 1; transform: translateY(0); }
*[data-defer-bg].loaded:not(.skip-loading-transition) , *[data-defer].loaded:not(.skip-loading-transition) { transition:opacity 0.2s; }
.ht-100 { min-height: 100%; }

.animate-spin { animation: spin 2s infinite linear !important; display: inline-block; }
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(359deg);
  }
}

/* MISC */

.unfinished, :not(header) a[href='#'] { text-decoration: underline !important; text-decoration-style: wavy !important; text-decoration-color: rgba(255,100,0,0.5) !important;  }
span.badge-new {position: relative; line-height: 1em;}
span.badge-new:before { content: 'New';  vertical-align:middle; border-radius: 2px; top: 0;display:inline-block; line-height: 1; background: var(--bs-blue); color: white; font-size: 11px; padding: 2px 4px; }
.box-shadow { box-shadow: var(--base-box-shadow); }
.note, .notes { font-size: 13px; font-style: italic; line-height: 1.4em; display: inline-block; }
.caption { line-height: 1.25; font-size: 0.75em; font-style: italic; color: #545454; display: block; margin-top: 10px; }
.text-white .caption { color: inherit;}
p sup, a sup, .btn sup { color: inherit; font-size: 0.65em;}
sup.cite { opacity: 1; font-size: 10px !important; font-weight: normal !important; vertical-align: middle; margin-left: 2px }
ol.citation { font-style: italic; font-size: 12px; }
ol.citation li:target {  background: lightyellow; }
ul ul { margin-top: 0.75em; }
ul.nolist { list-style: none; list-style-image: none; padding: 0; }
ul.list.disc { list-style:disc; }
ul.list.circle { list-style:circle;}
ol > li { margin-bottom: var(--li-margin-bottom); }

.bg-dark ul.list > li:before { color: white !important; }
ul.list > li.active { font-weight: bold; }
ul.list > li.active > a { text-decoration-color: inherit; }
ul.blog > li { margin-bottom:var(--li-margin-bottom); }

body:not(.single) {
	ul.list.arrow >	li:before { content: '\e804'; font-family: 'Fontello'; font-size: 50%; line-height: 1.65em; color: var(--bs-gray); position: absolute; top: 0.5em; left: 0; }
	ul.list.arrow > li.active:before { content: '\e817'; }
}

ul.list.nav-list { padding-left: 0.9875em; }
ul.nav-list { line-height: 1.25; }
ul.nav-list li { padding-top: 0.125em; padding-bottom: 0.125em; }
ul.nav-list a {  text-decoration: none; }
ul.nav-list a:hover { text-decoration: underline; }
ul.nav-list li.active a { font-style: italic; }
ul.list.css-col-2 { max-width: 992px; }
ul.compact > li, ol.compact > li { margin-bottom: 0; }
ul.comfortable > li, ol.comfortable > li { margin-bottom: 0.6em !important; }
ul.expanded > li, ol.expanded > li { margin-bottom: 1em !important; }
ul.flush, ol.flush {
	padding-left: 1em !important;
}
ul.custom-list { 
	list-style: none;
	list-style-image: unset;
	padding: 0; 
}
ul.custom-list.checklist-o.flush {
	padding-left: 1.55em !important;
}
ul.custom-list.checklist-o,
ul.custom-list.checkbox-list-o {
	padding-left: 2.5em;
	> li { margin-bottom: 0.25em; position: relative; }
	> li:before { 
		content: '\f06d'; 
		color: var(--bs-copy); 
		font-family: 'fontello'; 
		font-size: 0.9em; 
		display: block;
		border-radius: 1em; 
		line-height: 1; 
		position: absolute;
		top: 0.32em;
		left: -1.75em; 
	}
}
.bg-dark ul.custom-list.checklist-o,
.bg-dark ul.custom-list.checkbox-list-o {
	> li:before { background: var(--bs-black); }
}

/* LAYOUT */
@media(min-width: 1200px) {
  main {
		font-size: 108%;
		
	}
}
@media(max-width: 991px) {
  html { font-size: 17px; }

}

@media(max-width: 575px) {
  html { font-size: 16px; }
	a.email-button {
		--border: 0 !important;
		--font-size: 22px !important;
		--padding: 0 !important;
		--line-height: 0 !important;
	}
}

/* HEADER */
header.main { background: #fff; position: relative; }
header.main :not(.site-cutline) a, .logo-col a { text-decoration: none !important; position: relative; color: inherit; }
header.main .logo-col { 
	min-width: 160px; 
	max-width: 210px;
	width: 28%; 
}

header.main {
	a.tel {
		display: flex;
		flex-wrap: nowrap;
		white-space: nowrap;
		align-items: center;
		font-size: 0.875em;
		font-weight: var(--font-weight-heavy);
		column-gap: 6px;
		svg { width: 1em; }
	}
	a.email-button { 
		--border: 1px;
		--font-size: 13px;
		--padding: 5px 12px;
		--line-height: 1;
		background: var(--bs-black); 
		color: white !important; 
		font-size: var(--font-size); 
		border-radius:calc(var(--bs-border-radius) - 1px); 
		border-width: var(--border);
		padding: var(--padding); 
		line-height: var(--line-height);
	}
}



/* TOPBAR */
#topbar { font-size: 0.75rem; background: var(--bs-black); font-weight: 300; color: white; padding: 0.3875rem 0; }
#topbar {
	a { color: inherit; text-decoration: underline; }
	button[data-dismiss] { background: white; border: none; font-size: 0.6875em; padding: 0; border-radius: 1em; width: calc(2em - 2px); height: calc(2em - 2px); line-height: calc(1em - 2px);}
}
header.main .site-cutline { font-weight: 500; }
header.main .site-cutline > a { text-decoration: underline !important; text-decoration-thickness:1px !important; text-decoration-color: rgba(255,255,255,0.6) !important}


/* MAIN NAV */
nav.navbar {
	padding: 0; margin: 0;
	.nav-item.active > a {
		font-weight: var(--font-weight-bold);
	}
	a.nav-link { font-size: 0.875em; }
	.dropdown-toggle:after, main a[data-bs-toggle]:after { font-family: 'fontello'; content: '\e806'; font-size: 0.65em; margin-left: 0.5em; display: inline-block; line-height: 1; transform: translateY(25%); border: 0; }
	.dropdown-toggle.show:after, main a[data-bs-toggle]:not(.collapsed):after { content: '\e807'; }
	.dropdown-menu { border: none; border-radius: 0; line-height: 1; }
	.dropdown-menu li > a { padding: 0.5rem 1rem; }
	.dropdown-menu ul.list-circle a.active { font-weight: var(--font-weight-heavy); color: var(--bs-body)}
	.dropdown-menu li > a.active {
		h6 { font-weight: var(--font-weight-heavy); color: var(--bs-body)}
		h6:before { background: var(--corp-blue)}
	}
	.navbar-toggler:focus {
		text-decoration:none;
		outline:wavy 0 var(--corp-light-blue);
		box-shadow: 0 0 1px var(--corp-light-blue)
	}
	.nav-link.active, .navbar-nav .nav-link.show {
		color: var(--corp-blue) !important;
	}
}
.mega-menu-body {
	h5 { color: var(--bs-gray-600); font-weight: var(--font-weight-normal); margin-bottom: 1rem;}
	ul.list-circle {
		display: block;
		margin:0.5rem 0 1rem;
		padding: 0 0 0 1.0875rem;
		list-style: none;
		font-size: 0.75em;
		> li {
			position: relative;
			margin-bottom:0.5em;
			> a { text-decoration: underline !important; color:var(--corp-blue)}
		}
		> li:before {
			position: absolute;
			content: '•';
			font-size:0.875em;
		}
	}
}

ul.nav-flex-list.w-100 {
	display: block;
	> li { max-width: unset; margin-bottom: 0; }
}
ul.nav-flex-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 1rem;
	> li {
		max-width: calc(50% - 1rem);
		flex-grow: 1;
		padding: 0;
		margin: 0 0 0.75rem;
		font-size:0.75rem;
		> a:hover {
			h6 {
				text-decoration-color: var(--bs-blue);
			}
		}
		> a {
			display: block;
			text-decoration: none;
			line-height: normal;
			h6 { 
				font-size: 1.2em;
				font-weight: var(--font-weight-heavy);
				margin-bottom: 10px;
				color: var(--corp-blue); 
				text-decoration: underline;
				-text-decoration-color: var(--bs-blue);
				position: relative;
				line-height: normal;
			}
			h6:before {
				content: '';
				position: absolute;
				left: -1rem;
				top: 0;
				width: 3px;
				height: calc(1em + 3px);
				background-color: var(--bs-blue);
			}
			
		}
	}
}

@media(min-width: 1400px) {
	.navbar-nav { padding: 0 2rem; }

}
@media(min-width:1200px) {
	nav.navbar .dropdown-mega-menu { left: -290px !important; right: -240px !important; }
	
}
@media(min-width:1400px) {
	nav.navbar .dropdown-mega-menu { left: -345px !important; right: -240px !important; }
}
@media(min-width: 992px) and (max-width:1199px) {
	header.main #main-header-phone-icon { display: none; }
	#mainbar .col-auto { font-size: 0.875em;}
	nav.navbar .navbar-nav {
		.nav-item { font-size: 0.8rem; }
		
	}
	nav.navbar .dropdown-mega-menu { left: -240px !important; right: -240px !important; }
}
@media(min-width: 992px) {
	#mainbar > .container { position: relative; }
	.navbar-nav { justify-content:space-around; width: 100%; }
	.nav-item.dropdown { position: static; }
	nav.navbar .navbar-nav > .nav-item > a { padding-top: 1rem; padding-bottom: 1rem; }
	nav.navbar .navbar-nav > .nav-item > a.show:before { opacity: 1; }
	nav.navbar .navbar-nav > .nav-item > a:hover:before { opacity: 0.25; }
	nav.navbar .navbar-nav > .nav-item > a:hover:before, nav.navbar .navbar-nav > .nav-item > a.show:before { content: ''; position: absolute; z-index: 1; background: var(--corp-blue); height: 4px; right: 0; top: 100%; width: 100%; }
	nav.navbar .dropdown-menu { margin-top: 0; display: none; box-shadow: 0px 6px 16px rgba(0,0,0,0.2);  }
	nav.navbar .dropdown-menu.show { z-index: 1099; display: block; }
	nav.navbar .dropdown-mega-menu { left: -100px; right: -100px;  padding: 0; }
	nav.navbar a.dropdown-item { font-size: 0.875em; display: block; padding-top: 0.75em !important; padding-bottom: 0.75em !important; padding-right: 2rem !important; }
	.mega-menu-body {
		padding:2rem 1.5rem;
	}
	.mega-menu-body > .row {
		
		> div:not(:first-child) {
			position: relative;
		}
		> div:not(:first-child):before {
			content: '';
			position: absolute;
			left: -1rem;
			top: 0;
			bottom: 0;
			width: 1px;
			background: var(--bs-border-color)
		}
	}
	
	#nav-link-mainnav-solutions + .dropdown-mega-menu {
		min-width: var(--copy-max-width);
		>.mega-menu-body>.row>div:before{display:none;}
	}
	#mega-menu-mainnav-about {
	background: linear-gradient(to right, var(--bs-gray-100) 30%, transparent 30%);
	> .row > div:nth-child(2):before { display:none }
	.cta-about-menu {
		h5 { color: var(--bs-body); font-size: 1.25em; padding-right: 1rem; margin-bottom: 1em; }
		a.btn { font-size:0.875em; padding: 0.5em 2em; }
	}
}
}
@media(min-width:768px) {
	#nav-link-mainnav-solutions + .dropdown-mega-menu {
		max-width: 100%;
		margin-left: auto;
		margin-right:auto;
	}
}
@media(max-width: 1199px) and (min-width: 992px) {

	ul.nav-flex-list {
		column-gap: 0;
		
		> li {
			min-width: 50%;
			a > h6 { font-size: 13px;}
			a > span { font-size: 12px;}
		}
	}

}
@media(max-width: 991px) {

	nav.navbar button.navbar-toggler[aria-expanded=false] span.icon-cancel-1 { display: none !important; }
	nav.navbar button.navbar-toggler[aria-expanded=true] span.icon-menu { display: none !important;  }
	nav.navbar .navbar-collapse { z-index: 1000; position: absolute; background: white !important; margin: 0 !important; padding:0.5rem 2rem 0 !important; min-width: unset !important; max-width: unset !important; width: unset !important; top: calc( 100% + 2px ); left: 0; right: 0; border-style: solid; border-width:0 1px 1px; 
		border-image: linear-gradient(
      to top, 
      rgba(200,200,200,0.25), 
      rgba(200,200,200,0)
    ) 1 10%;
		box-shadow: 0 6px 6px rgba(0,0,0,0.05);
	}
	nav.navbar { position: static; }
	nav.navbar .navbar-toggler { margin-right: 0; margin-left:auto; border: none; }
	nav.navbar .navbar-nav > .nav-item { width: 100%; max-width: 700px; padding: 0.5rem 0; margin-left:auto; margin-right: auto; display: block; opacity: 1; position: static; border-bottom: solid 1px #999; }
	nav.navbar .navbar-nav > .nav-item:last-child { border-bottom: unset; }
	
	#mainbar {
		.col:not(.logo-col) { padding-right: 0;}
		.col-auto { padding-left: 0}
		.logo-col { padding: 5px 0 ; }
		button.navbar-toggler { padding-right: 5px; padding-left: 5px; }
	}
}
@media(max-width:575px) {
	header.main > div#mainbar { padding-top: 0.25em; padding-bottom: 0.25em; }
	nav.navbar .navbar-nav > .nav-item { max-width: unset; padding: 0.5rem 1rem; }
	nav.navbar .navbar-collapse { top: 100%; border-top: solid 1px #004786; width: 100%; left: 0; }
	#mainbar a.tel { display: none; }
	nav.navbar {
		h5 { margin-top: 1rem; margin-bottom: 0.5rem;}
		ul.nav-flex-list {
			display: block;
			margin-bottom: rem;
			> li { max-width: unset; margin-bottom: 0; }
		}
	}
}


/* EXPERIMENTAL: DARK HEADER */
.dark-header {
	--dropdown-gradient: linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0.1) 7px, rgba(0,0,0,0) 16px);
	--dropdown-shadow: var(--dropdown-gradient);
	--bg-color: black;
	--text-color: white;
}
@media(max-width: 991px) {
	/* mobile css variables */
	.dark-header{
		--dropdown-shadow: transparent !important;
		--text-color: var(--bs-body);
	}
}
.dark-header {

	#topbar {
		background: var(--bs-gray-900)
	}
	header.main {
		background: var(--bg-color);
		color: var(--text-color);
		padding: 0.5rem 0;
		img.logo-img, svg#main-header-phone-icon { filter: invert()}
		nav.navbar {
			.navbar-toggler:focus {
				outline: unset;
				box-shadow: unset;
			}
			a.nav-link { color: var(--text-color) !important; }
			.dropdown-menu {
				margin-top: 0.5rem;
			}
			.navbar-collapse { color: var(--bs-body); }
			.dropdown-menu:after {
				content: '';
				position: absolute;
				left: 0;
				right: 0;
				top: 0;
				height: 20px;
				background: var(--dropdown-shadow);
			}
		
		}
		nav.navbar .navbar-nav > .nav-item {
			> a.nav-link:hover:before {
				background: var(--bs-blue) !important;
				opacity: 0.5;
			} 
			> a.nav-link.show:before {
				background: var(--bs-blue) !important;
				opacity: 1;
			}
		}
		a.tel,
		.navbar-toggler {
  		color: white !important; /* these items remain in the black bar */
		}
	}
	
}

/* CONTENT */
/*section.content { background: var(--hero-gradient); }*/ /* removed in this version */
.content-header { padding-top: 1.6875rem; margin-bottom: 1.5rem; }
.content-header .content-header-pre-title { font-weight: 500; margin-bottom: 0.5em;}
.content-header.bg-dark .content-header-pre-title:empty { display:none; }
.content-header h1 { font-size: 2.75em; margin: 0; line-height: 1; }
.content-header h3 { margin-bottom: 0; font-weight: 600; font-size: 1.35em; }
.content-header h1 + h3 { margin-top: 0.25em !important; }
.content-header .content-header-excerpt { padding-top: 1rem; }
.content-header.bg-dark { padding-top: 1.75rem; padding-bottom: 1.75rem; }

hgroup.hero {
	h1 {
		font-size: 3em;
		margin-bottom: 1.5rem;
		> .color { /*color: var(--bs-blue)*/}
	}
	p.fluff { font-size:1.125em; margin: 0; font-weight: var(--font-weight-heavy)}
}
hgroup + .mb-5:empty { display: none; }
@media(max-width:550px) {
	hgroup.hero h1 { font-size: 2.5em;}
}
.hero-gradient {
	padding-top: 50px;
	padding-bottom: 1rem;
}
@media(min-width:992px) {
	.content-header .border-start-lg { border-left: solid 1px white; }
	.hero-gradient {
		padding-top: 66px !important;
		background: var(--gradient-under-header);
	}
}
@media(max-width: 991px) {
  .content-header { font-size: 0.875em; padding-top: 0; margin-bottom: 1.25rem; } 
	.hero-gradient {
		background: var(--gradient-under-header-mobile);
	}
}


.hero-bg { 
	color: white; 
	background: var(--hero-gradient-dark); 
	background-size: auto 100%; 
	padding: 4% 0 2%;
	* { color: white; }
}


/* sidebar */
.sidebar h3, .sidebar h4 { line-height: 1em; margin-bottom: 0.875em; }

blockquote.review { border: none !important; padding: 0 !important; margin: 0 0 1em !important; font-size: 0.9875em; font-weight: normal; }
blockquote q { font-size: 1em !important; quotes: '“' '”' !important; font-style: normal !important; font-weight: 300 !important; }
blockquote.review figcaption { font-style: normal !important; font-size: 0.875em; font-weight: 500 !important; text-align: right; margin-top: 1rem;  }
blockquote.review .related { font-size: 0.75em; padding-top: 0.75em; margin-top: 0.75em; border-top: solid 1px #ececec; }
blockquote.review .logo { text-align: center; min-height: 150px; }
blockquote.review .logo img { max-height: 150px; }
blockquote.review:target::before { display: none; }


/* recent articles */
#blog-articles  {
	h5 { font-size: 1.125em; margin-bottom: 1em; line-height: normal; font-weight: 600 !important; }
	h5 a { text-decoration-thickness: 1.25px; }
	.post-excerpt { font-size: 0.925em; }
	.article-meta {font-weight: 300; font-size: 0.875rem;   }
	.post-categories { overflow: hidden; height: 0;}
	.post-author a { display: flex; align-items: center; }
	.author-thumb { margin-right: 10px;}
}


/* FOOTER */

ul.footer-nav { list-style: none; padding: 0; font-size: 0.875em; }
ul.footer-nav li { margin-bottom: 0.5em; }
ul.footer-nav li a { text-decoration: none; color: inherit; }
ul.footer-nav li a:hover { text-decoration: underline; }
footer.site-footer address { font-size: 0.875em; line-height: 2; }
footer .main-footer-supplemental { padding: 1em 0; font-size: 0.75em; font-weight: 300; }
footer .logo-wordmark { width :100%; opacity: 0.25 !important; }

/* COMPONENTS */
.well { border-radius: unset; padding: 1.25em; border: solid 1px rgb(120,120,150,0.18) }
.well.bg-lightest-grey { border-color: var(--lightest-grey)}
.bg-lightest-grey .well, .bg-dark .well { background-color: #fff; border-color: #fff; }
.breadcrumbs { font-size: 0.6875rem; }
.breadcrumbs a {  text-decoration: none; }
.breadcrumbs strong { font-weight: 700;  }
.breadcrumbs-container > .row > div > nav  { border: solid 1px var(--bs-border-color); border-width: 1px 0; margin: 3rem 0 2rem; padding: 0.5rem }
.breadcrumbs .dropdown { display: inline-block; }
.breadcrumbs .dropdown-menu { box-shadow: 2px 2px 8px rgba(0,0,0,0.1)}
.breadcrumbs .dropdown button.btn { font-size: inherit; display: inline-block !important; padding: unset; font-weight: normal; background: none; border-color: transparent !important; color: var(--bs-dark) !important; }
.breadcrumbs .dropdown-menu li { margin-bottom: 0.25em;}
.breadcrumbs .dropdown-header { padding-bottom: 0; color: var(--bs-body); font-size: 0.75em; }
.breadcrumbs .dropdown-item { font-size: 0.75em; color: var(--bs-dark); padding-top: 0; padding-bottom: 0; padding-left: 30px; }
.breadcrumbs .dropdown-item.active { font-style: italic; background: none; }

aside.logo-gallery { 
	color: var(--bs-body) !important; 
	padding: 1rem 0; 
	.d-flex { column-gap: 0.875rem; row-gap: 0.5rem; }
	h5 { font-size: 0.875em; margin-bottom: 0; }
	img { margin-left: auto; margin-right: auto; width: 100%; max-width: 120px; max-height: 65px; }
}
aside.logo-gallery.logo-gallery-lg {
	.d-flex { flex-wrap: wrap; column-gap: 2rem; }
	
}
hgroup aside.logo-gallery {
	background: white;
	text-align: center;
	padding-top: 1rem;
	border-radius: var(--bs-border-radius);
	border-bottom: none;
}
@media(max-width:576px) {
	aside.logo-gallery {
		.d-flex {
			column-gap: 1rem;
			row-gap: 1rem;
			> .logo-item { width: calc(25% - 1rem); text-align: center; }
			img {max-height: unset !important; max-width: unset !important; }
		}

	}
}

#cta-two-col-list  { max-width: 1080px; margin-left: auto; margin-right:auto; }
#cta-two-col-list {
	h3, h4 { max-width: 75%}
	h3 { font-size: 1.5em; margin-bottom: 0.25em; }
	h4 { font-size: 1.125em; }
	.border-start { border-left-width: 4px !important; }
	.two-column-title-paragraph.active .border-start { transition: border-color 600ms; border-left-color: var(--bs-blue) !important; }
}

@media(max-width:991px) {
	#cta-two-col-list {
		.row > .border-start { border: none !important; border-bottom: solid 1px #ddd !important; }
	}
}

/* FORM */
form#general-contact-form {
	max-width: var(--copy-max-width);
	margin-left: auto;
	margin-right: auto;
	label { font-size: 0.875rem; margin-bottom: 3px; }
	input, select, textarea { font-size: 0.875em; }
	[type=text], [type=email], [type=number], [type=tel] { padding:10px 5px; }
	textarea { padding: 5px; }
}

/* for FreeForm honeypots */
form .ff-hp { overflow:hidden; height:0; width:0; position: absolute; }

.share-buttons a { display: inline-block; margin-right: 0.5em; margin-top: 0.25em; margin-bottom: 0.25em; }
.text-start .share-buttons a { margin-left: 0.25em; margin-right: 0.25em; }
.text-end .share-buttons a { margin-left: 0.5em; margin-right: 0; }

.post-hero-title { margin-top: 0; margin-bottom: 2em; text-align:center; }
.post-hero-title:empty { display: none; }
.post-hero-title h3 { font-size:1.3rem !important; display: inline-block; padding: 0.25em 3em; margin: 0; font-weight: 500; }

@media(min-width:575px){

.center-lined { position: relative; z-index:1; display: inline-block; }
.center-lined:before { content: ''; z-index: -2; border-bottom: solid 1px #999; left: -4rem; right: -4rem; position: absolute; top: 50%; }
.center-lined:after { content: ''; z-index: -1; position: absolute; background: #fff; left: -10px; right: -10px; height: 100%; }
}
@media(min-width:768px) {
  .center-lined:before { left: -7rem; right: -7rem; }
}
@media(max-width:1199px) {
	.post-hero-title > h3 { font-size: 0.875em !important;}
	aside.logo-gallery {
		.d-flex { flex-wrap: wrap; }
		img { max-width: 100px; max-height: 66px}
	}
}
@media(max-width:574px) {
	.grid-list img.grid-list-icon { max-width: 40px; max-height: 40px; }
.grid-list-icon-col { min-width: 60px !important;}
	.post-hero-title h3 { font-size:1.125rem !important; }

}
a:hover img[src$='.svg'].ba-icon, a:hover img[src$='.png'].ba-icon { background: var(--bs-blue);}
img[src$='.svg'].ba-icon, img[src$='.png'].ba-icon { background: var(--bs-dark); border-radius: 10%; padding: 3%;}
nav#mainnavbar img[src$='.svg'].ba-icon, nav#mainnavbar  img[src$='.png'].ba-icon { border-radius: 0.325em; padding: 0.45em;}


.icon-rounded { vertical-align: middle; font-size: 0.75rem; position: relative; color: var(--corp-blue); z-index: 1; display: inline-block; width: 0.875rem; height: 0.875rem; line-height: 1rem; }
.icon-rounded:after { position: absolute; left: -15%; top: -18%; z-index: -1; content: ''; border-radius: 50%; line-height: 0.875rem; border: solid 1px #95A8C2; color: #fff;  width:1.25rem; height: 1.25rem; text-align:center; }
.icon-dark { color: var(--bs-dark); }
.icon-dark:after{ background: #fff; }
.icon-outlined { padding: 0; vertical-align: middle; position: relative; color: var(--bs-gray); border: solid 1px #afafaf; border-radius: 50%; display: inline-block; width:1.5rem;  height: 1.5rem;line-height: 1; }
.icon-outlined:before { font-size: 90%; margin-top: 0.25em; margin-left: 0.275em !important;}

.social-dark-mode .social > a { color: var(--corp-blue) !important; margin-right: 1rem !important; }
.social-dark-mode .social > a span.icon-rounded:after { left: 0; margin: -0.126em; background: rgba(255,255,255,0.75); width: 1.75em; height: 1.75em; }
.social-dark-mode .social > a span.icon-rounded { color: #0064A6; }
.bg-dark .social-dark-mode .social > a span.icon-rounded { color: var(--corp-blue); }
.bg-darker .social-dark-mode .social > a span.icon-rounded { color: var(--corp-blueer); }
.social-dark-mode .social-share-icons-label { font-weight: bold; }
.text-white .social > a span.icon-rounded:after { background: white; }

aside.share-buttons {
	display: flex;
	align-items: center;
	gap: 1em;
	line-height: 1;
	border-radius: var(--bs-border-radius);
	.social-share-icons-label { color: inherit; font-size: 0.875em; }
	a {
		position: relative;
		display: block;
		max-width: 1em;
		min-height: 1em;
		line-height: 0.75em;
		font-size: 1em;
		color: inherit;
		text-decoration: none !important;
		padding: 0;
		flex: 1;
		svg-icon {
			font-size: 0.9em;
		}
	}
	a:before {
		--pad:8px;
		--half-pad: calc(var(--pad) * 0.5);
		--dim: calc(1em + var(--pad));
		content: '';
		position: absolute;
		margin-left: calc(0px - 0.75px - var(--half-pad));
		margin-top: calc(0px - var(--half-pad));
		width: var(--dim);
		height: var(--dim);
		border: solid 1.25px var(--bs-border-color);
		border-radius: 1.5em;
	}
}


.podcast-bright-title { font-size: 2.5em; }
.podcast-bright-title > * { padding-top: 0; padding-bottom: 0; line-height: 1.25; text-transform: uppercase; display: inline-block; background-color: var(--corp-chartreuse); color: var(--bs-primary) !important; }
.podcast-bright-title > span { padding-left: 3rem; padding-right: 0.5rem; margin-left: -2rem; }
.podcast-bright-title > strong { padding-left: 0.5rem; padding-right: 1.5rem; margin-left: 0.5rem; font-size: 105%; margin-top: -2px; padding-top: 0; padding-bottom: 0; }

/* pagination */
.pagination {
	font-size: 0.875em;
	text-align: center;
	gap: 2px;
	border: solid 1px var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	justify-content: space-between !important;
	a { color: var(--corp-blue) !important; }
	> li {
		flex: 1 0;
	}
	.page-link {
		border-color: transparent;
		background: transparent;
		padding: clamp(0.5em, 1em, 15%);
	}
	a.page-link:hover { background: var(--bs-gray-100)}
	.page-item.active > .page-link { background: var(--corp-blue); border-color: var(--corp-blue); }
}
@media(max-width:767px) {
	.pagination {
		> li:not(.dots) { min-width:46px;}
		> .page-number:not(.active):not(:last-child){ display: none; }
		> .page-number.active + .page-number, 
		> .page-item.dots + .page-number,
		> .page-prev + .page-number
		{ display: inline-block !important; }
	}
}


/* SEARCH FORM & RESULTS */
button.btn-search { padding: 0.5em 5px 0.45em; margin-left: 0; line-height: 1em; position: relative; font-size: 15px; background:#FF544D; color: #fff;  }
@media(max-width: 767px) {
button.btn-search { padding: 0.4em 5px 0.4em}
}
form.main-site-search { position: relative; }
form.main-site-search input { border: none; font-size: 0.875em; padding: 2px 28px 2px 2px; width: 150px; color: #555759; }
form.main-site-search button { font-size: 16px; background: none; padding: 0px; line-height: 1em; color: #ccc; left: 100%; top: 50%; margin-left: -20px; margin-top: -8px; position: absolute; }
.search-results article { margin-top: 1em; }
.search-results article h5, body.search-results article .post-info { display: inline-block; margin: 0 1em 0 0; }
.search-results article h5 { font-size: 1.25em; }
.search-results article.page .post-info { display: none; }
.search-results article .post-info { font-size: 0.75em; color: #999; }

/* FORM */
form.bold-labels *:not(.form-floating) label { font-weight: var(--font-weight-heavy); font-size: 0.825em; }
form.medium-labels *:not(.form-floating) label { font-weight: 500; }
.form-floating label { font-weight: normal !important; color: var(--bs-muted) }
.form-msg { display: block; text-align: center; color: white; font-weight: 500; margin-bottom: 1em !important; font-size: 0.875rem; padding: 0.5em 1em; line-height: 1; border-radius: 3px;}
.form-warning { background: darkorange; }
.form-success { background:#D9FF00; color: #313131; }
.form-error { background:var(--bs-danger); color: #F6FCB5; }
.form-validation-error { padding: 2px 1.5em; position: absolute; margin-top: 3px;  font-size: 0.65rem;  }
form *[aria-invalid=true] { box-shadow:0 0 0 1px orangered; }
.form-control, select.form-select, .form-check-input[type=checkbox] { border-radius: unset !important; }
.form-check-input:checked { background-color: #009DE5; }
.text-white .form-check-input:checked { outline: solid 1px rgba(255,255,255,0.5)}
form label span.req { color: cornflowerblue; display: inline-block; margin-left: 3px; }
.text-white form *:not(.form-floating) label span.req { color: rgba(255,255,255,0.5); }

#footer-newsletter { opacity: 0; }
#footer-newsletter.loaded { opacity: 1; transition: opacity 0.3s linear; }
#footer-newsletter form { max-width: 360px; padding: 0;}
#footer-newsletter form input { width: 78%; display: inline-block !important; margin: 0; line-height: 1; height: 2.5rem; padding-top:0 !important; padding-bottom:0 !important; }
#footer-newsletter form button { width: 21%; padding: auto; padding: 0; height: 2.5rem; margin-left: -3px; line-height: 1; border: solid 1px var(--corp-blue); display: inline-block !important; }
@media(max-width: 991px) { #footer-newsletter form {  margin-left:auto; margin-right:auto; }}

/* WORDPRESS / TINYMCE MODS */
img.alignnone { display: inline; vertical-align: middle; }
img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

@media(min-width:768px) {
img.alignright { float: right; margin: 0 0 1em 1em; max-width: 66.666%; }
img.alignleft { float: left; margin: 0 1em 1em 0; max-width: 66.666%; }
.alignright { float: right; }
.alignleft { float: left; }
}

/* BOOTSTRAP MODS */

/* this cancels the bootstrap version of the ratio in favor of components.css */
.ratio:before { display: none !important; }

.placeholder { background: radial-gradient(rgba(0,0,0,0.02), rgba(0,0,0,0.15) ); }
.ratio .placeholder { font-size: 12px; color: #666; }
.ratio .placeholder:after { content: 'DEVELOPMENT MODE - VIDEO NOT LOADED'; font-weight: bold; color: white; font-size: 130%; position: absolute; top: 50%; transform: translateY(-50%); width: 100%; text-align: center;  }
.ratio .placeholder > span { position: absolute; bottom: 5px; right: 15px;}
ul.nav li:before { content:''; display: none; }

/* CARD */
.card.box-shadow {
	border-color: var(--bs-gray-200);
	.card-body { padding: 1.5em; }
 }
/* Modern Accordion */
.accordion.modern > .accordion-item.active {
	border-left-color: var(--bs-blue);
}
ul.accordion.modern {
	list-style: none;
	list-style-image: unset;
	margin: 0;
	padding: 0;
	> .accordion-item {
		margin: 0 0 0.75rem;
		padding: 0;
		> .accordion-collapse > div {
			font-size: 0.875em;
			padding:0 3rem 1rem 1.25rem;
			max-width: 991px;
			p:last-child { margin-bottom: 0; }
		}
	}
	
}
.accordion.modern > .accordion-item {
	border: solid 1px var(--bs-gray-200);
	border-left: solid 6px var(--bs-gray-200);
	box-shadow: var(--base-box-shadow);
	border-radius: var(--bs-border-radius);
	margin-bottom: 1rem;

	.accordion-header {
		.accordion-button {
			font-weight: var(--font-weight-bold);
			color: var(--bs-gray-600);
			background: transparent !important;
			box-shadow: unset;
		}
		.accordion-button[aria-expanded='true'] {
			color: var(--bs-body);
			background: transparent !important;

		}
	}
	.accordion-body {
		padding-top: 0;
		font-size: 0.875em;
	}
}

/* FAQ Accordion */
ul.accordion.faq-list {
	list-style: none;
	margin: 0;
	padding: 0;
	> li.accordion-item {
		border: unset;
		border-bottom: solid 1px var(--bs-border-color);
		border-radius: unset;
		.accordion-header {
			position: relative;
			font-size: 1.125em; 
			font-weight: normal; 
			padding: 1em 0.5em;
		}
		.accordion-header::after {
			font-family: 'fontello';
			content: '\e806';
			position: absolute;
			right: 0;
			top: 50%;
			transform: translateY(-50%);
			background-color: var(--bs-gray-400);
			color: white;
			width: 1.25rem;
			height: 1.25rem;
			border-radius: 50%;
			font-size: 0.6875em;
			text-align: center;
		}
		.accordion-header[aria-expanded="true"]::after {
			content: '\e807';
			line-height: 1.5;
			background-color: var(--bs-gray-800);
			filter: brightness(1.25);
			
		}
		.accordion-collapse {
			border-radius: unset;
			padding: 0 5em 0 1.5em;
			font-weight: 300;
		}

	}
}

/* carousel */

.carousel figure {
	blockquote {
		margin: 0 auto !important;
		padding: 0 !important;
		border: unset !important;
		max-width: 767px;
	}
	blockquote q:before { margin-right: 1px; }
	blockquote q:before, blockquote q:after { font-family: inherit; font-weight: var(--font-weight-black); font-size: 120%; }
	figcaption {
		text-align: center; 
		margin: 0 auto; 
		max-width: 320px; 
		font-size: 0.75em; 
		line-height: normal; 
		font-weight: var(--font-weight-heavy);
		padding: 2rem 0;
	}
}
.reviews-carousel {
	padding-top: 3rem;
	.carousel-indicators {
		top: 0;
		bottom: unset;
		column-gap: 0.5rem;
		button {
			background: var(--bs-gray-500);
			width: 12px;
			height: 12px;
			border: unset;
			border-radius: 6px; 
			opacity: 1;
		}
		button.active {
			background: var(--bs-body)
		}
	}
	
}


/* buttons */

main a.btn { min-width: 160px; /* cta buttons should not be too small */ }
button.btn, a.btn, .btn { font-size: 0.75em; font-weight: var(--font-weight-heavy); text-decoration: none !important; border: solid 1px inherit; padding: 0.5rem 1.875em; border-radius: var(--bs-btn-radius); }
.btn, .btn-outline-light { background: white; color: var(--bs-body) !important; border-width: 1px; border-color: inherit !important; }
.btn:hover, .btn.btn-outline-light:hover { color: white !important; background: var(--bs-blue); border-color: var(--bs-blue) !important }

.btn.reversed, .btn.bg-dark, .btn.btn-solid { 
	color: white !important; 
	background: var(--bs-blue) !important; 
	border-color: var(--bs-blue) !important;
}
.btn.reversed:hover, .btn.bg-dark:hover, .btn.btn-solid:hover { 
filter:brightness(1.1)
}

.bg-dark .btn { border-color: var(--bs-dark) !important;}
.bg-blue .btn { border-color: var(--bs-blue) !important; }


.btn.btn-block { display: block; }
.btn.btn-lg { font-size: 1.125em; }
.btn.btn-med { font-size: 0.925em;}
.btn.btn-sm { font-size: 0.75em; padding: 0.3875em 1.5em !important; min-width: unset; }
.btn-icon, .btn-none { box-shadow: unset !important; background: transparent; border: none; padding: 0; display: inline-block; line-height: 1; }
.tooltip-inner { line-height: 1; font-size: 0.875em; padding: 0.5em; }
.btn.submitting, .btn:active { background-color: var(--bs-gray-500) !important; }
.btn.submitting {  pointer-events: none; }

/* dropdowns */
a.dropdown-toggle { cursor: pointer; }
.dropdown-item a, a.dropdown-item, .dropdown-item:hover a, a.dropdown-item:hover { color: inherit; text-decoration: none !important; }
.dropdown-item a[data-selected], a.dropdown-item[data-selected], .dropdown-item a.selected, a.dropdown-item.selected { font-weight: bold; color: inherit; }
.dropdown-button button { color: white !important; background: rgba(0,0,0,0.25); line-height: 1; padding: 0.65em 1em; border: solid 1px rgba(0,0,0,0.5); }
.bg-primary .dropdown-button button { color: inherit !important; background: rgba(255,255,255,0.25); border-color: rgba(255,255,255,0.25);  }
.dropdown-button .dropdown-menu { border-radius: unset;}
.dropdown-button .dropdown-item { color: #333 !important; font-size: 0.875em; padding:0.25em 2em 0.25em 1.5em; }
.dropdown-button .dropdown-item.active { color: white !important; background-color: var(--corp-blue); }

/* accordion */
.accordion-body p:last-child { margin-bottom: 0; }
.accordion-button { text-align: left; line-height: normal; }

/* misc */
*:not(.form-floating) ::placeholder { color: #999; letter-spacing: 0.01rem; text-shadow: unset; font-size: 15px; font-style: italic; }

/* modal */
.modal-fullscreen .modal-content { background: transparent; }
.modal-fullscreen .modal-header button { background-color: rgb(180,180,180); border-radius: 3em; position: static; top: 10px; right: 10px; font-size: 0.75em; }
.modal-fullscreen .modal-header { background: transparent; border: none; color: white; }

.modal-search .modal-body { text-align: center; }
.modal-search form { display :block; position: absolute; left: 0; right: 0; top: 45vh !important; transform: translateY(-50%); }
.modal-search form input { outline: none !important; width: 100%; max-width: 480px; vertical-align: middle; font-family: 'Open Sans Condensed'; font-size: 1.25em !important; letter-spacing: 0.08rem; padding: 0.5em 2em 0.5em 1em; border: none !important; border-radius: 2em; background: var(--bs-gray); color: white !important; }
.modal-search form button { font-size: 2em; position: absolute; vertical-align: middle; padding: 0.25em 0; margin-left: -1.5em; }
.modal-search form button:hover { color: #F5CF40;}
.modal-search form input::placeholder { font-size: 1em; }
.modal-search form input:focus { outline: none !important; box-shadow: unset !important; }

/* users - authors */
.author-thumb { border-radius: 50%; width: 42px; height: 42px; padding: 0 !important; }

.post-authors {
	display: flex;
	align-items: center; 
	gap: 1rem;
	.post-author > a {
		display: flex;
		text-decoration: none;
		align-items: center;
		column-gap: 0.5rem;
		color: var(--bs-body);
	}
	.post-author a:hover {
		text-decoration: underline;
		color: var(--corp-blue);
	}
}

/* bg images - the image url is provided as a style attribute inline */
.img-circle {  border-radius: 50%; }


/* Everything's loaded - transition opacity */
body.loaded #outer { opacity: 1;  -o-transition: opacity 250ms linear; -webkit-transition: opacity 250ms linear; -ms-transition: opacity 250ms linear; transition: opacity 250ms linear; }
