@charset "UTF-8";
/* Web Solutions 4.0 Compatible */


:root {
	--ws-aqua: #00A3AD;
	--ws-blue: #0077C8;
	--ws-blue-2: #5178AA;
	--ws-dk-blue: #1D4F91;
	--ws-red: #E81515;
	--ws-green: #509E2F;
	--ws-green-aa: #428227;
	--ws-orange: #FFA300;
	--ws-magenta: #DA1884;
	--ws-purple: #8C4799;

	--ws-lt-blue: #D2DCE9;
	--ws-lt-blue-rgb: 210,220,233;

	--ws-lt-blue-2: #BAC9DD;
	--ws-lt-blue-3: #A5B9D3;
	--ws-lt-blue-4: #E4EAF2;
	--ws-lt-blue-5: #D5DEEA;
	--ws-lt-blue-6: #ECEFF3;
	--ws-lt-blue-7: #F2F5F9;

	--ws-gap: clamp(1.5em, 0.923em + 1.23vw, 2em); /* 750 - 1400 */
	--ws-max-content-width: calc(74em + 2 * var(--ws-gap));

	--ws-transition: all .3s ease;
}



/* TYPEFACES ------------------------------ */
/* roboto-condensed-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 400;
	src: url('/fonts/roboto-condensed-v25-latin-regular.woff2') format('woff2'),
	url('/fonts/roboto-condensed-v25-latin-regular.woff') format('woff');
}

/* roboto-condensed-italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto Condensed';
	font-style: italic;
	font-weight: 400;
	src: url('/fonts/roboto-condensed-v25-latin-italic.woff2') format('woff2'),
	url('/fonts/roboto-condensed-v25-latin-italic.woff') format('woff');
}

/* roboto-condensed-700 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 700;
	src: url('/fonts/roboto-condensed-v25-latin-700.woff2') format('woff2'),
	url('/fonts/roboto-condensed-v25-latin-700.woff') format('woff');
}

/* roboto-condensed-700italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto Condensed';
	font-style: italic;
	font-weight: 700;
	src: url('/fonts/roboto-condensed-v25-latin-700italic.woff2') format('woff2'),
	url('/fonts/roboto-condensed-v25-latin-700italic.woff') format('woff');
}

/* roboto-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('/fonts/roboto-v30-latin-regular.woff2') format('woff2'),
	url('/fonts/roboto-v30-latin-regular.woff') format('woff');
}

/* roboto-italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 400;
	src: url('/fonts/roboto-v30-latin-italic.woff2') format('woff2'),
	url('/fonts/roboto-v30-latin-italic.woff') format('woff');
}

/* roboto-500 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	src: url('/fonts/roboto-v30-latin-500.woff2') format('woff2'),
	url('/fonts/roboto-v30-latin-500.woff') format('woff');
}

/* roboto-500italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 500;
	src: url('/fonts/roboto-v30-latin-500italic.woff2') format('woff2'),
	url('/fonts/roboto-v30-latin-500italic.woff') format('woff');
}

/* roboto-700 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('/fonts/roboto-v30-latin-700.woff2') format('woff2'),
	url('/fonts/roboto-v30-latin-700.woff') format('woff');
}

/* roboto-900 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 900;
	src: url('/fonts/roboto-v30-latin-900.woff2') format('woff2'),
	url('/fonts/roboto-v30-latin-900.ttf') format('truetype');
}



/* RESET ------------------------------ */
html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	background: #FFF;
	margin: 0;
	overflow-x: hidden;
	padding: 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
}

ul {
	padding-left: 0;
}

ul li {
	list-style: none;
}

html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt,
dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, hr {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}

table {
	border-collapse: collapse;
}

td, th {
	empty-cells: show;
	text-align: left;
	vertical-align: middle;
}

#skipNavigation {
	background: #FFF;
	color: #000;
	left: 0;
	padding: .5em;
	position: absolute;
	top: -1000px;
	z-index: 10;
}

#skipNavigation:focus {
	top: 0;
}



/* FONTS ------------------------------ */
body, .text, input, button, select, textarea {
	color: #000;
	font-family: 'Roboto', sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Roboto Regular */
blockquote cite, blockquote footer, #mobilenav button, #navContainer button.menu {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 400;
}

/* Roboto Regular Italic */
figcaption {
	font-style: italic;
	font-weight: 400;
}

/* Roboto Medium */
.intro, .intro p, .content p>a:not(.button) {
	font-style: normal;
	font-weight: 500;
}

/* Roboto Medium Italic */
.no-class {
	font-style: italic;
	font-weight: 500;
}

/* Roboto Bold */
h3, h4, h5, h6, b, strong, #sidenav>ul>li>a, #text.home h2 {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-weight: 700;
}

/* Roboto Black */
#mainnav>ul>li:last-child>a {
	font-style: normal;
	font-weight: 900;
}

/* Roboto Condensed Regular */
:is(#callouts, #text, .cta, .megamenu, .callouts, .circle-text ) h2>span, h1.locations-heading>span, .card,
#callouts strong, .cta li strong, #text.centered h3:first-of-type, .footer-top p, .home #hero h1 {
	font-family: 'Roboto Condensed', sans-serif;
	font-style: normal;
	font-weight: 400;
}

/* Roboto Condensed Regular Italic */
.card :is(em, i) {
	font-family: 'Roboto Condensed', sans-serif;
	font-style: italic;
	font-weight: 400;
}


/* Roboto Condensed Bold */
h1, h2, #hero h1, .home #hero h1>b, .details h3, h1.locations-heading,
button, .button, input:is([type="button"], [type="submit"], [type="reset"]),
.footer-top p>strong, .footer-middle strong, .callouts strong,
.programs strong.heading-2, ul.blocks li>strong:first-child, label.heading-2  {
	font-family: 'Roboto Condensed', sans-serif;
	font-style: normal;
	font-weight: 700;
}

/* Roboto Condensed Bold Italic */
blockquote, blockquote p {
	font-family: 'Roboto Condensed', sans-serif;
	font-style: italic;
	font-weight: 700;
}




/* COLORS ------------------------------ */
.dk-blue, h1, h5, .highlight h2, :is(p, li)>:is(b, strong) { color: var(--ws-dk-blue); }
.blue, h2, h6, label.heading-2 { color: var(--ws-blue); }
.lt-blue { color: var(--ws-lt-blue-2); }
.purple, h3 { color: var(--ws-purple); }
.magenta, h4 { color: var(--ws-magenta); }
.green { color: var(--ws-green); }
.aqua  { color: var(--ws-aqua); }
.white { color: #FFF; }




/* TEXT ELEMENTS ------------------------------ */
h1, .h1-size { font-size: clamp(1.625em, 1.322em + 1.35vw, 2.5em); } 			/* 360 - 1400 */
h2, .h2-size, label.h2-size { font-size: clamp(1.5em, 1.327em + .77vw, 2em); } 	/* 360 - 1400 */
h3, .h3-size { font-size: clamp(1.375em, 1.288em + .38vw, 1.625em); } 			/* 360 - 1400 */
h4, th, .h4-size { font-size: clamp(1.25em, 1.207em + .19vw, 1.375em); } 		/* 360 - 1400 */
h5, .h5-size { font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em); } 			/* 360 - 1400 */
h6, .h6-size { font-size: 1.125em; }

.heading-2 { font-size: clamp(1.5em, 1.284em + 0.96vw, 2.125em); } 				/* 360 - 1400 */
.heading-3 { font-size: clamp(1.25em, 1.163em + 0.38vw, 1.5em); }					/* 360 - 1400 */

.highlight h2 { font-size: clamp(1.5em, 1.24em + 1.15vw, 2.25em); } 			/* 360 - 1400 */


.anchor {
	position: relative;
}

#ContactForm h2>em.text {
	display: block;
	font-weight: 500;
	font-size: 1rem;
}


/* stylized first word of h2 */
:where(#callouts, #text, .cta, .megamenu, .callouts, .circle-text ) h2,
h1.locations-heading {
	color: var(--ws-dk-blue);
	margin: 0 0 1em;
	text-transform: uppercase;
}

:is(#callouts, #text, .cta, .megamenu, .callouts, .circle-text ) h2,
h1.locations-heading {
	line-height: 1.1;
}

:where(#callouts, #text, .cta, .megamenu, .callouts, .circle-text ) h2>span,
h1.locations-heading>span {
	color: var(--ws-blue);
	text-decoration: underline;
	text-decoration-color: var(--ws-orange);
	text-decoration-thickness: .25rem;
	text-transform: lowercase;
	text-underline-offset: .2em;
}


@supports (-moz-appearance:none) {
	/* FIREFOX ONLY */
	:where(#callouts, #text, .cta, .megamenu) h2>span {
		text-underline-offset: .25em
	}
}


.megamenu h2>span {
	text-decoration: none;
}

.intro { font-size: clamp(1.125em, 1.082em + .19vw, 1.25em); margin: 0 0 1.75em; } /* 360 - 1400 */
p {font-size: clamp(1em, .957em + .19vw, 1.125em); /* 260 - 1400 */}

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 1em; }
.mb-2 { margin-bottom: 2em; }
.mb-3 { margin-bottom: 3em; }

.uppercase, h1 {
	text-transform: uppercase;
}

.text {
	font-size: 1em;
}

a, a * {
	color: var(--ws-blue);
	text-decoration: none;
}

.content a:not(.button) {
	text-decoration: underline;
}

a:is(:hover, :focus),
a:is(:hover, :focus) * {
	color: var(--ws-magenta);
}

label.heading-2 {
	display: block;
}

p, h1, h2, label.heading-2, h3, h4, h5, h6, hr, .content ul, .contentEditor ul, blockquote, dd, ol, h1.locations-heading {
	margin-block: 0 1.25rem;
}

h1, h2, label.heading-2, h3, h4, h5, h6, th {
	line-height: 1.125;
}

:is(p, ul, ol, blockquote, .highlight) + :is(h2, h3, h4, h5, h6) {
	margin-top: 2.5rem;
}

em, i, q, cite, .italic {
	font-style: italic;
}

b, strong {
	font-weight: 700;
}

u {
	text-decoration: none;
}

hr {
	border: 0;
	border-top: 1px solid rgba(0,0,0,.15);
	margin: 1em 0;
	padding-top: 1px;
}

sup, sub {
	font-size: .6em;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

.clearFloats {
	clear: both;
}

.nobr {
	white-space: nowrap;
}

.twoCol, .threeCol, .resCol {
	column-rule: 1px outset rgba(0,0,0,.15);
	column-gap: 2em;
}

:where(.twoCol, .threeCol, .resCol)>* {
	break-inside: avoid-column;
}

.req {
	color: #C00;
}

.content p {
	line-height: 1.6;
}

.content :is(.photoright, .photoleft) {
	height: auto;
	max-width: min(50%, 21.875em);
}

.content :is(.photoright, .photoleft) img {
	border-radius: .3125em;
	float: none;
	height: auto;
	margin: 0;
	max-width: 100%;
}

.content figure.photo-fullwidth {
	text-align: center;
	width: 100%;
}

.content figure.photo-fullwidth img {
	width: auto;
}

.photoright {
	clear: right;
	float: right;
}

.photoright figcaption {
	text-align: right;
}

.photoleft {
	clear: left;
	float: left;
}

.muted {
	opacity: .5;
}

small, .textSm {
	font-size: .8em;
}

.content table {
	width: 100%;
}

blockquote {
	color: var(--ws-purple);
	float: right;
	line-height: 1.33;
	margin: 1em 0 1em clamp(2em, 1.827em + 0.77vw, 2.5em); /* 360 - 1400 */
	max-width: 50%;
	text-align: right;
	width: 26.25em;
}

.content blockquote p {
	color: inherit;
	font-size: clamp(1.25rem, 1.163rem + 0.38vw, 1.5rem); /* 360 - 1400 */
	line-height: inherit;
	quotes: '\201c' '\201d';
}

blockquote :is(cite, footer) {
	color: #4A4A4A;
	font-size: 1em;
}

blockquote cite::before,
blockquote footer::before {
	content: '- ';
}

blockquote p:first-of-type::before {
	color: var(--ws-dk-blue);
	content: open-quote;
}

blockquote p:last-of-type::after {
	color: var(--ws-blue);
	content: close-quote;
}

.highlight,
.content .highlight {
	clear: both;
	margin: 2.5em 0;
	padding: 1em 0;
	position: relative;
}

.highlight-content {
	background: #FFF;
	padding: 1.75em clamp(1.5rem, 1.154rem + 1.54vw, 2.5rem) 2.5em; /* 360 - 1400 */
	position: relative;
	z-index: 0;
}

.highlight-content::before {
	background: rgba(var(--ws-lt-blue-rgb), .3);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.highlight-content::after {
	background-repeat: repeat-x;
	background-position: center top;
	bottom: -.4375em;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: -.4375em;
	z-index: 1;
}

.highlight .highlight-content :first-child {
	margin-top: 0;
}

.highlight .highlight-content :last-child,
.highlight .highlight-content ul:last-child li:last-child {
	margin-bottom: 0;
}

.no-flow {
	overflow: hidden;
}




/* HEADER ------------------------------ */

#mainnav>ul>li:last-child>a {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23DA1884" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.2 287.1c-14.9-14.9-23.2-35-23.2-56v-3.6c0-41.8 33.9-75.6 75.6-75.6c23 0 44.7 10.4 59.1 28.4l9.3 11.6 9.3-11.6c14.4-17.9 36.1-28.4 59.1-28.4c41.8 0 75.6 33.9 75.6 75.6v3.6c0 21-8.3 41.1-23.2 56L352 311.9l-96 96-96-96-24.8-24.8z" /></svg>');
	background-repeat: no-repeat;
	background-size: auto 1em;
	color: var(--ws-dk-blue);
	padding-left: 2em;
	text-transform: uppercase;
}

#mainnav>ul>li.on:last-child>a {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23FFF" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.2 287.1c-14.9-14.9-23.2-35-23.2-56v-3.6c0-41.8 33.9-75.6 75.6-75.6c23 0 44.7 10.4 59.1 28.4l9.3 11.6 9.3-11.6c14.4-17.9 36.1-28.4 59.1-28.4c41.8 0 75.6 33.9 75.6 75.6v3.6c0 21-8.3 41.1-23.2 56L352 311.9l-96 96-96-96-24.8-24.8z" /></svg>');
}



/* WRAP ------------------------------ */
.wrap,
.fatFooter {
	margin-inline: auto;
	max-width: var(--ws-max-content-width);
	padding-inline: var(--ws-gap);
	position: relative;
}




/* GRID COLUMNS ------------------------------ */
.ws-grid,
.ws-grid-inner {
	display: grid;
	gap: var(--ws-gap);
}

.ws-grid {
	grid-template-columns:
	minmax( 0, 1fr )
	[wrap-start]
	repeat( var(--ws-column-count), minmax( 0, calc( ( ( var(--ws-max-content-width) - ( ( var(--ws-column-count) - 1 ) * var(--ws-gap) ) ) / var(--ws-column-count) ) ) ) )
	[wrap-end]
	minmax( 0, 1fr );
}

.ws-grid-inner {
	grid-template-columns: [wrap-start] repeat( var(--ws-column-count), minmax(0,1fr) ) [wrap-end];
}




/* FLEXBOX COLUMNS ------------------------------ */
.ws-flex {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ws-gap);
}

.ws-flex>:is(li, div) {
	width: calc( 100% / var(--ws-column-count) - ( var(--ws-gap) * ( var(--ws-column-count) - 1 ) / var(--ws-column-count) ) );
}

@supports (-moz-appearance:none) {
	.ws-flex>:is(li, div) {
		width: calc( 99.9% / var(--ws-column-count) - ( var(--ws-gap) * ( var(--ws-column-count) - 1 ) / var(--ws-column-count) ) );
	}
}


/* MAIN ------------------------------ */
main {
	background: #FFF;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.contentEditor {
	background: #FFF;
	min-width: 100%;
}


/* sidenav */
#sidenav {
	width: 100%;
	overflow: hidden;
	margin: 0 0 3em;
}

#sidenav ul {
	border-radius: .25em;
	overflow: hidden;
	padding: 0
}

#sidenav li a {
	color: var(--ws-dk-blue);
	font-size: 1.125em;
	padding: .5em .75em;
	line-height: 1.1em;
	display: block;
	outline-offset: 0;
}

#sidenav li a:hover,
#sidenav li a:active,
#sidenav>ul>li.on>a:hover {
	background-color: var(--ws-purple);
	color: #FFF;
}

#sidenav>ul>li:not(.on) {
	border-bottom: 1px solid var(--ws-lt-blue);
}

#sidenav li.on>a {
	background: var(--ws-dk-blue) url('/images/icons/circle-chevron-down.svg') no-repeat right 1em top .625em / .875em auto;
	color: #FFF;
	padding: .5625em 2.5em .5625em .75em;
}

/* t2 */
#sidenav>ul>li.on>a {
	border-radius: .25rem .25rem 0 0;
	margin-top: 1px
}

#sidenav li.on ul {
	background: var(--ws-lt-blue-4);
	overflow: hidden;
}

#sidenav li.on ul li a {
	color: #000;
	font-size: 1.0625em;
	padding: .333em .75em;
}

#sidenav li ul li a:active,
#sidenav li ul li.on>a {
	color: #FFF;
	background: var(--ws-blue);
}

#sidenav li ul li:not(.on) a:is(:hover, :focus) {
	background-color: var(--ws-purple);
	color: #FFF;
}

/* t3 */
#sidenav li ul li.on ul {
	display: none;
	padding-bottom: .5em;
	border: 0;
}

#sidenav li ul li.on ul li {
	border: 0
}

#sidenav li ul li.on ul li a {
	padding-left: 1rem;
	font-size: .8em;
	color: #666
}

#sidenav li ul li ul li a:is(:hover, :focus),
#sidenav li ul li ul li.on>a {
	color: #000;
	background: #e5e5e5;
}

/* t4 */
#sidenav li ul li ul li.on ul li a {
	padding-left: 1.5rem;
	font-size: .7em;
	color: #666
}

#sidenav li ul li ul li ul li a:is(:hover, :focus),
#sidenav li ul li ul li ul li.on>a {
	color: #000;
	background: #f5f5f5;
}



/* breadcrumbs */
.breadcrumb {
	margin-bottom: 1em;
}

.breadcrumb a::after {
	content: "\00A0\00A0\203A\00A0";
}

/* content */
.content {
	word-wrap: break-word;
}

.shareIcons {
	display: inline-block;
	overflow: auto;
	position: relative;
}

.shareIcons a {
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border-radius: .2em;
	display: block;
	float: left;
	height: 20px;
	margin: 0 .5em 1em 0;
	width: 20px;
}

.shareFacebook {
	background-color: #1877F2;
	background-image: url('/images/icons/social/facebook.svg');
}

.shareTwitter {
	background-color: #1DA1F2;
	background-image: url('/images/icons/social/twitter.svg');
}

.shareLinkedin {
	background-color: #0A66C2;
	background-image: url('/images/icons/social/linkedin.svg');
}

/* do people still use google+ ? */
.shareGoogle {
	background-color: #DD4B39;
	background-image: url('/images/icons/social/google-plus.svg');
}

/* list */
.content ol ol li {
	list-style: lower-alpha;
	margin: 0 0 1em;
}

.bullets li,
.content ul li {
	margin: 0 0 1em;
	padding-left: clamp(1.75em, 1.663em + 0.38vw, 2em);
	position: relative;
}

.content :where(.bullets, ul) li {
	font-size: clamp(1em, .957em + .19vw, 1.125em); /* 360 - 1400 */
}

.content ol li {
	font-size: clamp(1em, .957em + .19vw, 1.125em); /* 360 - 1400 */
}

.bullets li::before,
.content ul li::before,
.megamenu>div>ul>li a::before {
	background: url('/images/icons/circle-right-blue.svg') no-repeat center / .75em auto; /* 360 - 1400 */
	content: '';
	display: inline-block;
	height: 1em;
	left: .5em;
	position: absolute;
	text-align: center;
	top: .15em;
	width: 1em;
}

.content ul li ul li:before {
	opacity: .5;
}

.content :is(ol, ul) li li {
	font-size: 1em;
}

.content :is(ol, ul) :is(ol, ul) {
	margin-top: 1em;
}


/* addon classes */
.clearfix::after {
	clear: both;
	content: '';
	display: table;
}

.videoContainer {
	aspect-ratio: 16 / 9;
	line-height: 0;
	position: relative;
	width: 100%;
}

.videoContainer.ratio-4-3 {
	aspect-ratio: 4 / 3; /* 4:3 full-frame */
}

/* Build out the space for videos when editing a CMS page */
#tinymce .videoContainer { aspect-ratio: 16 / 9 !important; }
#tinymce .videoContainer.ratio-4-3 { aspect-ratio: 4 / 3 !important; }


.videoContainer iframe,
#tinymce .mce-preview-object {
	border: 0;
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

body:not(.contentEditor) .sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

body.contentEditor .sr-only {
    outline: 1px dotted #31659B;
}

body.contentEditor .sr-only::before {
    content: "SR: ";
    font-style: italic;
    font-size: 0.65em;
    opacity: 0.6;
}


#wysiwygBody {
	background: #FFF;
}

.wsNew {
	background-color: #FFC700;
	color: #222;
	display: inline-block;
	font-size: .7em;
	font-style: italic;
	height: 1.5em;
	line-height: 1.5em;
	margin: .3em 0;
	overflow: visible;
	padding: 0 .3em;
	vertical-align: top;
}

td.right, th.right {
	text-align: right;
}




/* FORMS AND INPUTS ------------------------------ */
input, button, select, textarea {
	font-size: 1em;
	line-height: 1.1;
}

input:is([type="button"], [type="date"], [type="submit"], [type="text"], [type="reset"], [type="password"], [type="tel"], [type="number"], [type="email"], [type="url"], [type="search"]), textarea, select {
	border-radius: 0;
	outline: none;
}

input:is([type="text"], [type="date"], [type="password"], [type="tel"], [type="number"], [type="email"], [type="url"], [type="search"]), textarea, select {
	background-color: #FFF;
	border: 1px solid var(--ws-lt-blue);
	font-size: 1.125em;
	padding: .5625em .75em .4375em;
	width: 100%;
}

:is(input:is([type="text"], [type="date"], [type="password"], [type="tel"], [type="number"], [type="email"], [type="url"], [type="search"]), textarea, select):focus {
	border-color: var(--ws-lt-blue-3);
}

:is(button, .button, input:is([type="button"], [type="submit"], [type="reset"])):focus {
	background-color: #F03C5E;
	color: #FFF;
}

textarea {
	display: block;
	resize: vertical;
}

select::-ms-expand {
	display: none;
}

select {
	background-image: url('/images/icons/select-arrows.svg');
	background-repeat: no-repeat;
	background-position: calc(100% - .875em) calc(50% + .125rem);
	padding-right: 2.15rem;
	width: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
}

select option {
	padding: 0 .2em;
}




/* BUTTONS ------------------------------- */
button, .button, input:is([type="button"], [type="submit"], [type="reset"]) {
	background-color: var(--ws-dk-blue);
	border: 1px solid transparent;
	border-radius: .3125em;
	color: #FFF;
	cursor: pointer;
	display: inline-block;
	font-size: clamp(1rem, 0.957rem + 0.19vw, 1.125rem); /* 360 - 1400 */
	line-height: 1rem;
	margin-block: .25em;
	padding: 1rem 1.1rem;
	text-align: center;
	text-transform: uppercase;
}

:is(.button, button).outlined:not(.white) {
	background-color: transparent;
	border-color: var(--ws-dk-blue);
	color: var(--ws-dk-blue);
}

:is(.button, button).outlined.white {
	background-color: transparent;
	border-color: #FFF;
	color: #FFF;
}

:is(.button, button).outlined.blue {
	background-color: transparent;
	border-color: var(--ws-blue);
	color: var(--ws-blue);
}

:is(.button, button).blue {
	background-color: var(--ws-blue);
}

:is(.button, button).magenta {
	background-color: var(--ws-magenta);
}

:is(.button, button).purple {
	background-color: var(--ws-purple);
}

:is(.button, button).green {
	background-color: var(--ws-green);
}


.button.external {
	background-repeat: no-repeat;
	background-position: right 1.5em center;
	background-size: auto .875em;
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23FFF" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
	padding-right: 2.75em;
}


.buttons .button {
	margin-right: .25em;
}

:is(button, .button, input:is([type="button"], [type="submit"], [type="reset"])):is(:hover, :focus) {
	background-color: transparent;
	border-color: var(--ws-dk-blue);
	color: var(--ws-dk-blue);
}

:is(button, .button).external:is(:hover, :focus) {
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%231D4F91" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>')
}

:is(.button, button).outlined:not(.white):is(:hover, :focus) {
	background-color: var(--ws-dk-blue);
	color: #FFF;
}

:is(.button, button).outlined.white:is(:hover, :focus) {
	background-color: #FFF;
	color: var(--ws-dk-blue)
}

:is(.button, button).blue:is(:hover, :focus) {
	border-color: var(--ws-blue);
	color: var(--ws-blue);
}

:is(.button, button).pink:is(:hover, :focus) {
	border-color: var(--ws-magenta);
	color: var(--ws-magenta);
}

:is(.button, button).purple:is(:hover, :focus) {
	border-color: var(--ws-purple);
	color: var(--ws-purple);
}

:is(.button, button).green:is(:hover, :focus) {
	border-color: var(--ws-green);
	color: var(--ws-green);
}




/* FORM ------------------------------ */
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

button img {
	height: 1em;
	vertical-align: top;
	width: auto;
}

input.bulky, .bulky {
	font-size: 1.2em;
	padding: .4em .6em;
}

.formTable,
:where(.formTable, .form-flex) :where(input:where([type="text"], [type="password"], [type="tel"], [type="number"], [type="email"], [type="url"], [type="search"]), table, textarea, select) {
	width: 100%;
}

#ContactForm fieldset {
	margin: .5em 0 0;
	border: 0;
	padding: 0;
}

#ContactForm fieldset legend {
	padding: 0;
}

#ContactForm fieldset table {
	margin-left: 2em;
}

.formTable table td {
	padding-bottom: 0;
}

.formTable.right td:first-child {
	text-align: right;
	width: 1%;
}

.formTable.right td {
	width: auto;
}


/* Forms - without tables ----- */
form.narrow .form-flex,
.narrow.form-flex {
	max-width: 18.75em;
}

.form-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.form-flex fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	width: 100%;
}

.form-flex fieldset legend {
	float: left;
	width: 100%;
}

.form-flex>div {
	margin: 0 0 .75em;
}

.form-flex .full {
	width: 100%;
}

.form-flex>div>label:first-of-type {
	display: block;
}

/* Checkboxes, radios */
.form-flex>div>fieldset>label {
	display: inline-block;
}

.subjClass {
	display: none !important;
}

#Captcha label {
	padding-left: 0;
}

:is(.formEdit, .formBuilder) select {
	width: 40%;
}




/* MANAGEMENT ------------------------------ */
hr + .manage {
	margin-top: -1em;
}

.manage {
	border-bottom: 1px solid rgba(0,0,0,.2);
	line-height: 1.3;
	width: 100%;
}

.manage th {
	border-bottom: 1px solid rgba(0,0,0,.2);
	text-align: left;
}

.manage th.right {
	text-align: right;
}

.manage th.sort {
	cursor: pointer;
}

.manage th.sort img {
	margin-left: 5px;
}

.manage th img {
	bottom: -2px;
	position: relative;
}

.manage td,.manage th {
	padding: 5px 5px 5px 0;
}

.manage td:first-child {
	padding-left: .8em;
}

.manage img.preload {
	border: solid 1px #fff;
	display: none;
	position: absolute;
	top: 0;
	z-index: 10;
}

.manage td.icons img {
	bottom: -2px;
	margin-left: 5px;
	position: relative;
}

.manage td:first-child.icons img {
	margin-left: 0;
}

.manage td:first-child.icons {
	padding-inline: 3px;
}

.manage td:nth-child(2) {
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: break-word;
	word-wrap: break-word;
}

.manage td.icons a:first-child img {
	margin-left: 0;
}

.manage td.icons input {
	bottom: 2px;
	margin-left: 5px;
	position: relative;
}

.manage .hidden {
	color: #900;
	font-style: italic;
}

.manageButton {
	padding: 10px 0;
	text-align: right;
}

.alternate tbody tr:nth-child(even), .even {
	background: #FFF;
}

.alternate tbody tr:nth-child(odd), .odd {
	background: rgba(0,0,0,.06);
}

.manage + hr, .manage + .manageLinks + hr {
	margin-top: 50px;
}

.manageLinks {
	margin-top: 10px;
}

.manageLinks select {
	max-width: 20em;
}

.manageLinks a {
	white-space: nowrap;
}

.manageLinks a img {
	bottom: -2px;
	position: relative;
}

.manageLinks button {
	margin-left: 5px;
}

.manageButtons {
	padding: 10px 0;
	text-align: right;
}

.wsReturnToButton {
	float: right;
	margin-top: -3.5em;
}

.manage.rightFirstChild td:first-child {
	text-align: right;
}

.sortRow th {
	cursor: pointer;
}

.manageEllipsis {
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 200px;
}

.manage colgroup col {
	width: auto !important;
}


/* pagination */
.pagination {
	font-size: .95em;
	text-align: right;
}




/* FORM ERRORS ------------------------------ */
.form-error {
	color: #EE0000;
	font-size: 0.9375em;
}

.reverse .form-error {
	background: #EE0000;
	color: #FFF;
}

fieldset label:first-of-type input:focus {
	outline: 1px solid #FF0000;
}

.formError {
	background-color: #000;
	border: 0;
	border-radius: 10px;
	box-shadow: 0 2px 2px #333;
	color: #FFF;
	display: none;
	margin: 0 0 2px;
	padding: .3125em .625em;
	z-index: 5;
}

.formError p {
	font-size: .9em;
	margin: 0;
}

.formError em {
	border: 10px solid;
	border-color: #000 transparent transparent;
	bottom: -1.0625em;
	display: block;
	height: 0;
	left: 2.5em;
	position: absolute;
	width: 0;
}




/* TRANSITIONS ------------------------------ */
a, a *, button, .button, input:is([type="button"], [type="submit"], [type="reset"]),
:is(input, select, textarea):focus, #navContainer li, .circle a::before {
	transition: all .3s ease;
}

.stop-transitions * {
	transition: none !important;
}




/* FOOTER ------------------------------ */
body>footer.border-top {
	background: var(--ws-dk-blue);
	margin-top: 0;
	position: relative;
	z-index: 0;
}

body>footer .fatFooter {
	padding-block: clamp(2.5em, 2.219em + 1.25vw, 3.313em) clamp(3em, 2.589em + 1.83vw, 4.188em); /* 360- 1400 */
}

body>footer ul.social {
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
}

body>footer ul.social a {
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid #FFF;
	display: block;
	position: relative;
	width: clamp(2em, 1.8636em + .68vw, 2.375em);
}

body>footer ul.social a::after {
	aspect-ratio: 1;
	background: #FFF;
	content: '';
	inset: 50% auto auto 50%;
	mask: no-repeat center / cover;
	position: absolute;
	transform: translate(-50%,-50%);
	transition: var(--ws-transition);
	width: 60%;
}

body>footer ul.social a:focus-visible {
	background: #FFF;
}

body>footer ul.social a:focus-visible::after {
	background: var(--ws-dk-blue);
}

body>footer ul.social a.facebook::after { mask-image: url('/images/icons/social/facebook.svg'); }
body>footer ul.social a.instagram::after { mask-image: url('/images/icons/social/instagram.svg'); }
body>footer ul.social a.linkedin::after { mask-image: url('/images/icons/social/linkedin.svg'); }
body>footer ul.social a.youtube::after { mask-image: url('/images/icons/social/youtube.svg'); }
body>footer ul.social a.x-twitter::after { mask-image: url('/images/icons/social/x-twitter.svg'); }


.footer-middle strong {
	color: #FFF;
	display: block;
	margin: 0 0 .125em;
}

.footer-middle address {
	display: block;
	margin-inline: auto;
	max-width: 25em;
	text-align: center;
}

.footer-middle address>span {
	display: inline-block;
	margin: 0 0 .5em;
}

.footer-middle address>span:nth-of-type(odd)::after {
	color: #FFF;
	content: '\2022';
	display: inline-block;
	margin-inline: .625em .3125em;
}

.footer-right .button {
	font-size: .9375em;
	padding-block: .75em;
	white-space: nowrap;
}

.footer-middle a {
	color: #FFF;
	padding-block: 0.1875rem;
}

.footer-bottom {
	background: #FFF;
	padding-block: .75em;
}

.footer-bottom::before {
	top: 0;
}

.copyright :is(p, nav) {
	font-size: .9375em;
}

.footer-bottom a {
	color: var(--ws-dk-blue);
	white-space: nowrap;
	padding-block: 0.1875rem;
}

.footer-bottom a.on {
	color: var(--ws-red);
}

#exposure a {
	font-size: .9375em;
}


/* ANIMATIONS ------------------------------ */
.translate-left, .translate-right, .translate-up, .translate-down {
	opacity: 0;
	position: relative;
	transition: all 1s ease;
	z-index: 0;
}

.translate-left {
	transform: translate(4em,0);
}

.translate-right {
	transform: translate(-4em,0);
}

.translate-up {
	transform: translate(0,4em);
}

.translate-down {
	transform: translate(0,-4em);
}

.translate-left.animated, .translate-right.animated,
.translate-up.animated, .translate-down.animated {
	opacity: 1;
	transform: translate(0,0);
}





/* SHARED ELEMENTS ------------------------------ */

/* COLORED BORDERS ----- */
.border-top,
.border-bottom {
	position: relative;
}

.border-top { margin-top: 0.625em; }
.border-bottom { margin-bottom: .625em; }

.border-top::before,
.border-bottom::before {
	content: '';
	height: .5em;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 1;
}

.border-top::before {
	bottom: 100%;
}

.border-bottom::before {
	bottom: -.375em;
}


.home .cta.border-top::before {
	background-color: #FFF;
	background-position: center top;
	height: .6875em;
}


/* COLORED CIRCLES ------ *
- Homepage ribbon 4 (.cta ribbon)
*/
.circle a {
	align-items: center;
	aspect-ratio: 1;
	background: no-repeat center / cover;
	border-radius: 50%;
	display: inline-flex;
	justify-content: center;
	max-width: 17.75em;
	padding-inline: 1.5em;
	position: relative;
	width: 100%;
	z-index: 0;
}

.circle  a::before {
	border-radius: 50%;
	bottom: 0;
	content: '';
	left: 0;
	opacity: .9;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.circle a::after {
	border: 1px solid var(--ws-lt-blue);
	border-radius: 50%;
	content: '';
	opacity: .9;
	position: absolute;
	z-index: -1;
}

.circle strong {
	color: #FFF;
	line-height: 1.1;
	max-width: 8em;
	position: relative;
	text-transform: uppercase;
}

.circle strong::after {
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 285 285"><path fill="%23FFF" d="M282 76.5l-14.2-14.3a9 9 0 0 0-13.1 0L142.5 174.4 30.3 62.2a9 9 0 0 0-13.2 0L3 76.5a9 9 0 0 0 0 13.1l133 133a9 9 0 0 0 13.1 0l133-133a9 9 0 0 0 0-13z"/></svg>') no-repeat center  / cover;
	content: '';
	height: 1rem;
	left: 50%;
	opacity: .5;
	position: absolute;
	top: calc(100% + .25em);
	transform: translateX(-50%);
	width: 1rem;
}


/* COLORED CIRCLES ------ *
- Florida page ribbons 2 - 5
*/
.card {
	margin-block: 1.5em;
}

.card strong {
	font-size: clamp(1.25rem, 1.163rem + 0.38vw, 1.5rem);
	line-height: 1;
}

.card p {
	line-height: 1.4;
}

.card p {
	margin: 0;
}

.card p+p {
	margin-top: .375em;
}



/* PAGEHEADER ------------------------------ */
.pageheader {
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% 100%, cover;
	height: auto;
	margin-block: 0 2em;
	text-align: center;
	width: 100%;
}

.pageheader h1 {
	padding-block: 1.125em;
}




/* CTA RIBBON  ------------------------------ /
- Homepages ribbon 3 + 5
- Standard interior ribbon 3
- About ribbon 3
- Our locations ribbon 1
*/

.cta {
	background: #FFF;
	clear: both;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.cta.border-top {
	background: var(--ws-lt-blue-6);
	margin-block: .125em 0;
}

.cta::before {
	top: 0;
	z-index: 2;
}

.cta .wrap {
	z-index: 1;
}

.cta .textbox :is(p, .textbox ul>li) {
	font-size: clamp(1em, 0.712em + 0.62vw, 1.25em); /* 750 - 1400 */
}

.cta .textbox .button {
	margin-top: .75em;
}

.cta .image {
	background: no-repeat center / cover;
}

.cta .textbox ul>li {
	margin: 0 0 .75em;
}

.cta.overlap .ws-grid .map svg {
	pointer-events: all;
	transform-origin: right top;
}




/* HERO ------------------------------ */
#hero {
	position: relative;
	z-index: 3;
}

.home #hero h1 {
	color: rgba(255,255,255,.9);
	font-size: clamp(1.625em, 1.149em + 2.12vw, 3em); /* 360 - 1400 */
	margin: 0;
	text-transform: none;
}

#hero h1>b {
	color: #FFF;
	text-transform: uppercase;
}

#hero .image {
	background: no-repeat center / cover;
}

#hero .wrap {
	z-index: 1;
}

#hero .textbox {
	position: relative;
}

#hero .textbox p {
	color: rgba(255,255,255,.9);
	font-size: clamp(1em, 0.712em + 0.62vw, 1.25em); /* 750 - 1400 */
}

#hero .textbox p>:is(b, strong) {
	color: #FFF;
}

#hero a.scroll {
	background: url('/images/icons/scroll.svg') no-repeat center;
	border: 0;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
}


#hero button {
	background-color: var(--ws-dk-blue);
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="%23FFFFFF" d="M272 63.1l-32 0c-26.51 0-48 21.49-48 47.1v288c0 26.51 21.49 48 48 48L272 448c26.51 0 48-21.49 48-48v-288C320 85.49 298.5 63.1 272 63.1zM80 63.1l-32 0c-26.51 0-48 21.49-48 48v288C0 426.5 21.49 448 48 448l32 0c26.51 0 48-21.49 48-48v-288C128 85.49 106.5 63.1 80 63.1z"/></svg>');
	background-position: center;
	background-repeat: no-repeat;
	background-size: .625em auto;
	border: 0;
	bottom: 0.625em;
	cursor: pointer;
	display: table;
	opacity: .75;
	padding: .875em;
	position: absolute;
	right: 1em;
	z-index: 3;
}

#hero button.paused {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="%23FFFFFF" d="M361 215C375.3 223.8 384 239.3 384 256C384 272.7 375.3 288.2 361 296.1L73.03 472.1C58.21 482 39.66 482.4 24.52 473.9C9.377 465.4 0 449.4 0 432V80C0 62.64 9.377 46.63 24.52 38.13C39.66 29.64 58.21 29.99 73.03 39.04L361 215z"/></svg>');
}

#hero :is(button:hover, button:focus) {
	opacity: 1;
}




/* CALLOUTS (Homepage ribbon 4) ------------------------------ */

.callouts {
	background-image: url('/images/circles/callouts-left.svg'), url('/images/circles/callouts-right.svg');
	background-position: -23.5em calc(50% - 5em), calc(100% + 22em) -12em;
	background-repeat: no-repeat;
	background-size: clamp(35.875em, 28.952em + 14.77vw, 41.875em) auto, clamp(43em, 36.077em + 14.77vw, 49em) auto; /* 750 - 1400 */
	padding-block: clamp(3em, 2.308em + 3.08vw, 5em); /* 360 - 1400 */
	text-align: center;
}

.callouts .wrap {
	max-width: calc(61.5em + 2 * var(--ws-gap))
}

.callouts .textbox {
	margin: 0 auto 2em;
	max-width: 35.4375em;
}

.callouts ul.ws-flex:not(.no-margin) {
	justify-content: space-between;
}

.callouts ul.ws-flex.no-margin {
	justify-content: center;
}

.callouts li {
	max-width: 17.875em;
}

.callouts .ws-flex.no-margin li {
	max-width: 18.875em;
}

.callouts .image {
	aspect-ratio: 1;
	background: no-repeat center / cover;
	border-radius: 50%;
	margin: 0 0 1.25em;
	position: relative;
	width: 100%;
}

.callouts .image::after {
	border: 1px solid var(--ws-lt-blue);
	border-radius: 50%;
	content: '';
	height: 100%;
	opacity: .9;
	position: absolute;
	z-index: -1;
	width: 100%;
}

.callouts li:nth-child(1) .image::after { left: .6875em; top: -.6875em; }
.callouts li:nth-child(2) .image::after { left: .6875em; top: .6875em; }
.callouts li:nth-child(3) .image::after { left: 0; top: -.6875em; }

.callouts strong {
	line-height: 1;
}

.callouts .textbox p {
	font-size: clamp(1em, 0.712em + 0.62vw, 1.25em); /* 360 - 1400 */
}



/* TEXT ------------------------------ /
- Homepage ribbon 2
- About page ribbon 2
*/

#text {
	padding-block: clamp(3em, 2.308em + 3.08vw, 5em); /* 360 - 1400 */
	position: relative;
}

#text.centered {
	text-align: center;
}

#text.centered h2 {
	margin: 0;
}

#text p {
	font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em); /* 360 - 1400 */
}

#text .button {
	margin-top: 1em;
}

#text .button:not(:last-of-type) {
	margin-right: .5em;
}

.home #text h2 {
	text-transform: none;
}



/* CIRCLE-TEXT ------------------------------ /
- About page ribbon 4
*/

.circle-text {
	padding-block: clamp(3em, 1.832em + 5.19vw, 6.375em) 4em; /* 360 - 1400 */
}

.circle-text .image {
	padding: .625em;
	position: relative;
}

.circle-text .image>div {
	aspect-ratio: 1;
	background: no-repeat center / cover;
	border-radius: 50%;
}

.circle-text .image>div::after {
	border-radius: 50%;
	border: 1px dashed var(--ws-lt-blue-3);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.circle-text p {
	font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em); /* 360 - 1400 */
}





/* LOCATIONS ------------------------------ /
- Locations page ribbon 2
*/

.locations {
	background: var(--ws-lt-blue-7);
	overflow: auto;
	padding-block: clamp(6em, 5.654em + 1.54vw, 7em) 0;
}

.locations .wrap>div {
	margin: 0 0 clamp(6em, 5.416em + 2.6vw, 7.688em); /* 360 - 1400 */
	position: relative;
	z-index: 0;
}

.locations .wrap>div::before {
	background: #FFF;
	border-radius: 0.3125em 0.3125em 0 0;
	border: 1px solid var(--ws-lt-blue);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.locations .wrap>div::after {
	aspect-ratio: 1;
	border: 1px solid var(--ws-lt-blue);
	border-radius: 50%;
	content: '';
	height: clamp(8.75em, 8.058em + 3.08vw, 10.75em); /* 360 - 1400 */
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%,calc(-50% + .75em));
	z-index: -2;
}

.locations .wrap>div>div:not(.anchor) {
	padding: clamp(6em, 5.654em + 1.54vw, 7em) 1.6875em clamp(4em, 3.438em + 2.5vw, 5.625em); /* 360 - 1400 */
}

.locations .wrap>div>div:not(.anchor)::after {
	background: url('/images/stripes.svg') repeat calc(50% - 7.6875em) center;
	bottom: 0;
	content: '';
	height: .5em;
	left: 0;
	position: absolute;
	right: 0;
}

.locations .image {
	align-items: center;
	aspect-ratio: 1;
	border: clamp(0.75em, 0.685em + 0.29vw, 0.938em) solid #FFF;; /* 360 - 1400 */
	border-radius: 50%;
	display: flex;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%,calc(-50% + .75em));
	width: clamp(8.625em, 7.933em + 3.08vw, 10.625em); /* 360 - 1400 */
}

.locations .green .image { background: var(--ws-green); }
.locations .blue .image { background: var(--ws-blue); }
.locations .purple .image { background: var(--ws-purple); }
.locations .magenta .image { background: var(--ws-magenta); }
.locations .orange .image { background: var(--ws-orange); }

.locations .image img {
	object-fit: contain;
	max-height: calc(100% - 2em);
	max-width: calc(100% - 2em);
}

.locations .green .textbox img {
	margin: 0 0 1em;
}

.locations .ws-flex {
	margin: 2em 0 0;
}


.locations h2 {
	font-size: clamp(1.5em, 1.24em + 1.15vw, 2.25em); /* 360 - 1400 */
	margin: 0 0 .75rem;
}

.locations .green h2 {
	font-size: clamp(1.5em, 1.413em + 0.38vw, 1.75em); /* 360 - 1400 */
}

.locations p {
	color: #000;
}

.locations .button {
	background: var(--ws-lt-blue-7) no-repeat right 1.5em center / auto .875em;
	border: 1px solid var(--ws-lt-blue);
	color: var(--ws-dk-blue);
	padding: .75em 2.75em .75em 1em;
}

.locations .green .button {
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23509E2F" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
}

.locations .blue .button {
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%230077C8" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
}

.locations .purple .button {
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%238C4799" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
}

.locations .magenta .button {
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23DA1884" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
}

.locations .orange .button {
	background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23FFA300" d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
}





/* PROGRAMS ------------------------------ /
- Programs page ribbon 2
*/

.programs {
	padding-block: clamp(3em, 2.481em + 2.31vw, 4.5em); /* 360 - 1400 */
}

.programs li:not(:last-child) {
	margin: 0 0 4em;
}

.programs .image {
	aspect-ratio: 1;
	background: no-repeat center / cover;
	border: 5px solid #FFF;
	border-radius: 50%;
	max-width: 21.5625em;
	position: relative;
	z-index: 2;
}

.programs .image::after {
	border: 1px solid var(--ws-lt-blue);
	border-radius: 50%;
	bottom: clamp(0.75em, 0.707em + 0.19vw, 0.875em);
	content: '';
	height: 100%;
	left: clamp(0.75em, 0.707em + 0.19vw, 0.875em);
	position: absolute;
	width: 100%;
}

.programs .icon {
	align-items: center;
	aspect-ratio: 1;
	bottom: 0;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	position: absolute;
	right: 0;
	width: clamp(6em, 5.308em + 3.08vw, 8em); /* 360 - 1400 */
	z-index: 1;
}

.programs .icon.orange {
	background: var(--ws-orange);
}

.programs .icon.blue {
	background: var(--ws-blue);
}

.programs .icon img {
	object-fit: contain;
	max-height: calc(100% - 2.5em);
	max-width: calc(100% - 2.5em);
}

.programs .icon img[src*='shield.svg'] {
	width: 3.125em;
}

.programs .textbox {
	background: var(--ws-lt-blue-7);
}

.programs strong.heading-2 {
	display: block;
	line-height: .8;
	margin: 0 0 0.4em;
}

.programs p {
	line-height: 1.77;
}




/* DETAILS ------------------------------ /
- Florida page ribbons 3 - 5
*/

.details>div {
	background-color: #F2F5F9;
	padding-block: clamp(3em, 2.481em + 2.31vw, 4.5em); /* 360 - 1400 */
}

.details>div:nth-of-type(even) {
	background: #FFF;
}

.details h2 {
	color: var(--ws-dk-blue);
	font-size: clamp(1.5em, 1.24em + 1.15vw, 2.25em); /* 360 - 1400 */
	text-transform: uppercase;
}

.details h3 {
	color: var(--ws-blue);
}

.details p {
	font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em); /* 360 - 1400 */
}

address.card {
	background: var(--ws-dk-blue);
	border-radius: .3125em;
	padding: clamp(4em, 3.654em + 1.54vw, 5em) clamp(1.5em, 1.197em + 1.35vw, 2.375em) clamp(1.5em, 1.197em + 1.35vw, 2.375em); /* 360 - 1400 */
	position: relative;
}

address.card::before {
	aspect-ratio: 1;
	background: var(--ws-blue) url('/images/icons/address-card.svg') no-repeat center / auto 2.25em;
	border-radius: 50%;
	content: '';
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%,-50%);
	width: clamp(5em, 4.567em + 1.92vw, 6.25em); /* 360 - 1400 */
}

address.card p {
	color: rgba(255,255,255,.7);
	font-size: clamp(1.125em, 1.082em + 0.19vw, 1.25em); /* 360 - 1400 */
}

address.card :is(strong, a, p.white) {
	color: #FFF;
	display: block;
}

address.card strong {
	text-transform: uppercase;
}

.details .content :is(.photoright, .photoleft) {
	max-width: min(50%, 12.5em);
}

.details .content .photoright {
	margin: 0 0 1.25em 3em;
}

.details .content .photoleft {
	margin: 0 1.5em 1em 0;
}


/* Colored blocks */
ul.blocks {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	margin: 2.5em 0 0;
}

.content ul.blocks li {
	border-radius: 5px;
	color: #FFF;
	font-size: clamp(1.063em, 0.998em + 0.29vw, 1.25em); /* 360 - 1400 */
	line-height: 1.2;
	margin: 0;
	padding: 1.25em 1em;
	text-align: center;
}

.content ul.blocks li::before {
	display: none;
}

ul.blocks li.blue { background: var(--ws-blue); }
ul.blocks li.purple {	background: var(--ws-purple); }
ul.blocks li.magenta { background: var(--ws-magenta); }
ul.blocks li.green { background: var(--ws-green); }

ul.blocks li>strong:first-child {
	color: #FFF;
	display: block;
	font-size: 1.4em;
	margin: 0 0 .25em;
}



/* --------------~~~~~ STYLE.CSS ~~~~~-------------- */
