@charset "UTF-8";
/* All clamps 320 - 1200 unless noted */


:root {

	--ws-dark: #040404;

	--ws-purple: #6B307D;
	--ws-purple-rgb: 107,48,125;

	--ws-lt-purple: #F5F1F6;

	--ws-light: #F5F1F6;
	--ws-light-rgb: 245,241,246;

	--ws-light-2: #ECDAF1;

	--ws-text-55: clamp(2.25em, 1.818em + 2.16vw, 3.438em);  /* 36 - 55px */
	--ws-text-45: clamp(2em, 1.705em + 1.48vw, 2.813em);     /* 32 - 45px */
	--ws-text-38: clamp(1.75em, 1.523em + 1.14vw, 2.375em);  /* 28 - 38px */
	--ws-text-36: clamp(1.688em, 1.483em + 1.02vw, 2.25em);  /* 27 - 36px */
	--ws-text-34: clamp(1.625em, 1.443em + 0.91vw, 2.125em); /* 26 - 34px */
	--ws-text-32: clamp(1.563em, 1.403em + 0.8vw, 2em);      /* 25 - 32px */
	--ws-text-30: clamp(1.5em, 1.364em + 0.68vw, 1.875em);   /* 24 - 30px */
	--ws-text-28: clamp(1.438em, 1.324em + 0.57vw, 1.75em);  /* 23 - 28px */
	--ws-text-27: clamp(1.375em, 1.261em + 0.57vw, 1.688em); /* 22 - 27px */
	--ws-text-24: clamp(1.313em, 1.244em + 0.34vw, 1.5em);   /* 21 - 24px */
	--ws-text-23: clamp(1.25em, 1.182em + 0.34vw, 1.438em);  /* 20 - 23px */
	--ws-text-22: clamp(1.188em, 1.119em + 0.34vw, 1.375em); /* 19 - 22px */
	--ws-text-20: clamp(1.125em, 1.08em + 0.23vw, 1.25em);   /* 18 - 20px */
	--ws-text-18: clamp(1.063em, 1.04em + 0.11vw, 1.125em);  /* 17 - 18px */
	--ws-text-17: clamp(1em, 0.977em + 0.11vw, 1.063em);     /* 16 - 17px */

	--ws-gap: 1.5em;
	--ws-max-content-width: calc(74em + 2 * var(--ws-gap));
	--ws-transition: all .3s ease;

}



/* inter-300 - latin */
@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	src: url('/includes/fonts/inter-v19-latin-300.woff2') format('woff2');
}

/* inter-300italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: italic;
	font-weight: 300;
	src: url('/includes/fonts/inter-v19-latin-300italic.woff2') format('woff2');
}

/* inter-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	src: url('/includes/fonts/inter-v19-latin-regular.woff2') format('woff2');
}

/* inter-italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: italic;
	font-weight: 400;
	src: url('/includes/fonts/inter-v19-latin-italic.woff2') format('woff2');
}

/* inter-500 - latin */
@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	src: url('/includes/fonts/inter-v19-latin-500.woff2') format('woff2');
}

/* libre-caslon-display-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Libre Caslon Display';
	font-style: normal;
	font-weight: 400;
	src: url('/includes/fonts/libre-caslon-display-v17-latin-regular.woff2') format('woff2');
}

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: top;
}

body>header>aside {
	position: absolute;
}

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

#skipNavigation:is(:hover, :focus-visible) {
	top: 0;
}



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

/* inter-300 - latin */
h1>span, h2>span, #sidenav a, p, .content :is(ol, ul) li, body>footer {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
}

/* inter-300italic - latin */
figcaption, cite {
	font-family: 'Inter';
	font-style: italic;
	font-weight: 300;
}

/* inter-regular - latin */
#mainnav>ul>li>ul>li>a, body>footer #web-solutions a, .cta p {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
}

/* inter-italic - latin */
.no-class {
	font-family: 'Inter';
	font-style: italic;
	font-weight: 400;
}

/* inter-500 - latin */
.content :is(h2, h3, h4, h5, h6), .highlight.v2 h2, #mainnav>ul>li>a, #sidenav>ul>li>a,
:is(button,.button):is(.lt-purple-2, .purple-2), .content a:not(.button), .callouts span.learn-more, .callouts strong.title {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
}

/* libre-caslon-display-regular - latin */
h1, h2, .highlight h2, blockquote p, .content .intro p, .content p.intro, .content .intro p a, .content p.intro a,
button, .button, input:is([type="button"], [type="submit"], [type="reset"]), body>footer strong.title, .callouts p, .packages.ws-flex div h3 {
	font-family: 'Libre Caslon Display';
	font-style: normal;
	font-weight: 400;
}



/* TYPOGRAPHY ------------------------------ */

.content h1 { color: #000; font-size: var(--ws-text-45); text-transform: uppercase; }
.content .highlight h2 { color: var(--ws-purple); font-size: var(--ws-text-38); }
.content h2 { color: var(--ws-purple); font-size: var(--ws-text-36); }
.content h3 { color: var(--ws-purple); font-size: var(--ws-text-30); }
.content h4 { color: #000; font-size: var(--ws-text-24); }
.content h5 { color: var(--ws-purple); font-size: var(--ws-text-20); }
.content .highlight.v2 h2 {color: #FFF; font-size: var(--ws-text-28); margin: 0; }
.content h6 { color: #000; font-size: var(--ws-text-18); }


a {
	color: var(--ws-purple);
	text-decoration: none;
}

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

.content a[target="_blank"]::after {
  background: currentColor;
  content: '';
  mask: url('/images/icons/external-link.svg') no-repeat center / 100% 100%;
  padding-left: 1.125em;
}


p, h1, h2, h3, h4, h5, h6, hr, .content :is(ul, ol), .contentEditor :is(ul, ol), blockquote, dd {
	margin-block: 0 1rem;
}

h1, h2, h3, h4, h5, h6, th {
	line-height: 1.1;
}

:is(p, ul, ol, blockquote, aside, div, section) + :is(h2, h3, h4, h5, h6) {
	margin-top: 2rem;
}

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

b, strong {
	font-weight: 500;
}

u {
	text-decoration: none;
}

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

p {
	text-wrap: pretty;
}

.content p {
	font-size: var(--ws-text-18)
}

:is(ol, ul, p):last-child {
	margin-bottom: 0;
}

.content .intro p,
.content p.intro {
	color: #000;
	font-size: var(--ws-text-24);
	line-height: 1.2;
	margin: 0 0 1em;
}

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-gap: 2em;
}

:is(.twoCol, .threeCol, .resCol) li {
	break-inside: avoid-column;
}

.req {
	color: #C00;
}

.muted {
	opacity: 0.5;
}

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

.content table {
	width: 100%;
}


/* Imagery */

figure {
	margin: 0;
	line-height: 0;
}

figcaption {
	font-size: .9375em;
	line-height: 1.5;
	margin-top: .5em;
}

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

.content :is(.photoright, .photoleft) img {
	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;
}



/* Blockquote */
blockquote {
	border: 1px solid rgba(var(--ws-purple-rgb), .4);
	outline: 1px solid rgba(var(--ws-purple-rgb), .4);
	outline-offset: -4px;
	padding: 1.5em 1.875em 1em;
	margin: 2.5em 0;
}

.content blockquote p {
	color: #000;
	font-size: var(--ws-text-24);
	line-height: 1.1;
}

blockquote p>:is(b, strong, span) {
	color: var(--ws-purple);
}

blockquote :is(cite, footer) {
	color: #333;
	display: block;
	font-size: .875em;
	font-style: normal;
	text-align: right;
}

blockquote cite::before,
blockquote footer::before {
	content: '\2013\00A0';
}

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

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


/* Highlights */

.highlight {
	border: 1px solid #F0F0F0;
	clear: both;
	margin: 2.5em 0;
	padding: 1em 1.5em 1em 3.5em;
	position: relative;
}

.highlight:not(.v2)::before {
	background: url('/images/patterns/diamonds.svg') repeat left center / auto 2.25em;
	border-right: 1px solid #F0F0F0;
	content: '';
	inset: 0 auto 0 0;
	position: absolute;
	width: 2em;
}

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

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

/* Highlight v2 */
.highlight.v2 {
	background: var(--ws-purple);
	border: 0;
	padding: 0;
}

.highlight.v2 .heading {
	padding: .5em .875em;
}

.highlight.v2 .highlight-content {
	background: var(--ws-light);
	padding: 1em 1.5em 2em;
}

.content .highlight.v2 ul li::before {
	aspect-ratio: 1;
	background: var(--ws-purple);
	content: '';
	width: .25em;
	inset: .625em auto auto 1em;
	outline: 1px solid var(--ws-purple);
	outline-offset: 1px;
	transform: rotate(-45deg);
}




/* WRAP ------------------------------ */

.wrap {
	margin-inline: auto;
	max-width: var(--ws-max-content-width);
	padding-inline: var(--ws-gap);
	width: 100%;
}




/* 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(article,div,li) {
	width: calc( 99.9% / var(--ws-column-count) - ( var(--ws-gap) * ( var(--ws-column-count) - 1 ) / var(--ws-column-count) ) );
}




/* MAIN ------------------------------ */

main {
	background: #FFF;
	position: relative;
	z-index: 0;
}

.home main {
	overflow: hidden;
}

.pageheader {
	background: url('/images/pageheader.webp') no-repeat center / cover;
	border-top: 1px solid #FFF;
	position: relative;
	height: clamp(3.75em, 3.295em + 2.27vw, 5em);
}

.pageheader::before {
	background: var(--ws-purple);
	content: '';
	inset: 0;
	opacity: .8;
	position: absolute;
}


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



/* sidenav */
#sidenav {
	overflow: hidden;
	width: 100%;
}

#sidenav ul {
	padding: 0;
}

#sidenav li {
	height: 1%;
	overflow: hidden;
}

#sidenav li a {
	display: block;
}



/* t2 */
#sidenav>ul {

}

#sidenav>ul>li:not(:first-of-type) {
	border-top: 1px solid var(--ws-light);
}

#sidenav>ul>li>a {
	color: #000;
	font-size: var(--ws-text-18);
	padding: .1875em .75em 0.1875em .75em;
}

#sidenav>ul>li.on>a {
	background: var(--ws-purple);
	color: #FFF;
	padding-right: 2em;
	position: relative;
}

#sidenav>ul>li.on>a::after {
	aspect-ratio: 1;
	background: #FFF;
	content: '';
	height: .25em;
	inset: .8125em 1em auto auto;
	outline: 1px solid #FFF;
	outline-offset: 1px;
	transform: rotate(-45deg);
	position: absolute;
}

/* t3 */
#sidenav>ul>li>ul {
	background: var(--ws-lt-purple);
}

#sidenav>ul>li>ul>li>a {
	color: #000;
	font-size: .9375em;
	padding: .1875em .5em .1875em 1em;
}

#sidenav>ul>li>ul>li.on>a {
	background: #FFF;
}



/* t4 */
#sidenav>ul>li>ul>li>ul {
	background: #FFF;
}

#sidenav>ul>li>ul>li>ul>li {

}

#sidenav>ul>li>ul>li>ul>li>a  {
	color: #888;
	font-size: .9375em;
	padding: .125em .5em .125em 2em;
}


#sidenav>ul>li>ul>li>ul>li.on>a {
	background: #000;
	color: #FFF;
}




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

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

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





/* CMS PAGE ELEMENTS ------------------------------ */

/* lists */
.content :where(ol,ul) li {
	font-size: var(--ws-text-18);
	margin: 0 0 .5em;
}

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

.content ol ol li {
	list-style: lower-alpha;
}

.content ul li {
	padding-left: 2em;
	position: relative;
}

.content ul li::before {
	color: var(--ws-purple);
	content: '\2022';
	left: .75em;
	position: absolute;
	top: -.125em;
	width: 1em;
}

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

.content :is(ol, ul) li li {
	font-size: 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%;
}

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

#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;
}


.packages.ws-flex div {background: var(--ws-light);padding:2em 1em;border-bottom: .3125em solid var(--ws-purple);border-top: .3125em solid var(--ws-purple);}
.packages.ws-flex div h3 {color: #000;}
/* SHARE ICONS ------------------------------ */

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

.shareIcons a {
	background-position: center;
	background-repeat: no-repeat;
	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');
}





/* FORMS AND INPUTS ------------------------------ */

input, select, textarea {
	font-size: 1em;
	line-height: 1.2em;
}

input:not(:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"])), select, textarea {
	width: 100%;
}

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: rgba(0,0,0,.03);
	border: 1px solid #DDD;
	padding: .5em .75em;
}

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

textarea {
	display: block;
	resize: vertical;
}

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

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

select option {
	padding: 0 .2em;
}


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

.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%;
}

/* Hide the 'X' from Chrome search inputs */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}


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

#ContactForm fieldset legend {
	padding: 0;
}

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


.subjClass {
	display: none !important;
}

#Captcha label {
	padding-left: 0;
}

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

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

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

.formTable.right td {
	width: auto;
}


/* New contact form markup */

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;
}




/* BUTTONS ------------------------------ */

button, .button, input:is([type="button"], [type="submit"], [type="reset"]) {
	background: var(--ws-purple);
	border: 1px solid var(--ws-purple);
	color: #FFF;
	cursor: pointer;
	display: inline-block;
	font-size: var(--ws-text-23);
	height: 2.217em;
	line-height: 1;
	padding: .565em .85em;
	text-transform: uppercase;
}

.wsLightbox :is(button, .button, input[type="button"]),
form :is(input[type="submit"], input[type="button"], input[type="reset"]),
form :is(button[type="submit"], button[type="button"], button[type="reset"]) {
	height: auto !important;
	font-size: var(--ws-text-20);
}

:is(button,.button).purple-2 {
	font-size: var(--ws-text-20);
	height: 2.55em;
	padding-block: .725em;
}

:is(button,.button).black {
	background: #000;
	border-color: #000;
}

:is(button,.button).outline {
	background: #FFF;
	border-color: #000;
	color: var(--ws-purple);
}

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

:is(button,.button).lt-purple-2 {
	background: var(--ws-lt-purple);
	border-color: var(--ws-lt-purple);
	color: var(--ws-purple);
	font-size: var(--ws-text-20);
	height: 2.55em;
	padding-block: .725em;
}


.button {
	display: inline-block;
}

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

.buttons {
	margin-block: 2em;
}

.buttons:last-child {
	margin-bottom: 0;
}


.buttons :is(button, .button, input[type="button"], input[type="submit"], input[type="reset"]) {
	margin: .25em .25em .25em 0;
}



/* 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;
}




/* PAGEHEADER ------------------------------ */

.pageHeader {
	width: 100%;
	height: auto;
	margin-bottom: 2em;
}




/* FORM ERRORS ------------------------------ */

.form-error {
	color: #EE0000;
	font-size: 0.9375em;
}

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

.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;
}




/* FOOTER ------------------------------ */

body>footer {
	background: #000;
	color: #FFF;
	position: relative;
	text-align: center;
	z-index: 0;
}

body>footer .top {
	padding-block: 3em 2.5em;
}

body>footer a {
	color: #FFF;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 2px;
}

body>footer :is(a.on, .on>a) {
	color: #FFF;
	text-decoration-color: #FFF;
}

body>footer :is(address span, nav a, .copyright span) {
	font-size: .875em;
}

body>footer strong.title {
	display: block;
	font-size: var(--ws-text-30);
	margin: 0 0 .25em;
	text-transform: uppercase;
}

body>footer address {
	margin: 0 0 1em;
}

body>footer address span {
	display: inline-block;
}

body>footer .social {
	display: flex;
	justify-content: center;
	gap: .625em;
}

body>footer .social {
	margin: 0 0 1.75em;
}

body>footer .social a {
	aspect-ratio: 1;
	background: var(--ws-purple);
	display: block;
	height: 1.875em;
	position: relative;
	text-decoration: none;
}

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

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


body>footer .copyright {
	background: #FFF;
	color: #000;
	padding-block: .5em;
}

body>footer .copyright a {
	color: #000;
}

body>footer :is(nav a, address span):not(:last-of-type) {
	display: inline-block;
	position: relative;
}

body>footer :is(nav a, address span):not(:last-of-type)::after {
	aspect-ratio: 1;
	background: var(--ws-purple);
	content: '';
	display: inline-block;
	height: .25em;
	margin-inline: 1em .75em;
	outline: 1px solid var(--ws-purple);
	outline-offset: 1px;
	position: relative;
	top: -.25em;
	transform: rotate(-45deg);
}



/* TRANSITIONS ------------------------------ */

a, a *, button, .button, input:is([type="button"], [type="submit"], [type="reset"]),
input, select, textarea,  #navContainer li, #popover .close {
	transition: var(--ws-transition);
}

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



/* HOMEPAGE HERO RIBBON ------------------------------ */

.hero {
	background: var(--ws-purple);
	border-block: 1px solid #FFF;
	position: relative;
}

.hero button.play-pause {
	aspect-ratio: 1;
	background: var(--ws-purple);
	border: 0;
	cursor: pointer;
	display: table;
	height: 1.5em;
  inset: auto auto clamp(0.5em, 0.318em + 0.91vw, 1em) clamp(0.5em, 0.318em + 0.91vw, 1em);
	padding: 0;
	position: absolute;
	z-index: 3;
}

.hero button.play-pause::after {
	aspect-ratio: 1;
	background: #FFF;
	content: '';
	height: .6875em;
	inset: 50% auto auto 50%;
	mask: url('/images/icons/pause.svg') no-repeat center / contain;
	position: absolute;
	transform: translate(-50%,-50%);
}

button.play-pause.paused::after  {
	mask-image: url('/images/icons/play.svg');
}

.hero h1 {
	color: #FFF;
	line-height: .9;
	text-align: center;
	text-transform: uppercase;
}

.hero h1>span {
	display: block;
	line-height: 1.2;
	text-transform: none;
	text-wrap: pretty;
}

.hero h1>span::before {
	background: #FFF;
	content: '';
	display: block;
	height: .125rem;
	width: 4.6875rem;
}



/* HOMEPAGE CALLOUTS RIBBON ------------------------------ */

.callouts {
	border-top: .3125em solid var(--ws-purple);
	padding-block: 1.875em clamp(2.5em, 1.818em + 3.41vw, 4.375em);
	position: relative;
	z-index: 0;
}

.callouts::before {
	background: url('/images/cta-bg.webp') no-repeat center / cover;;
	content: '';
	inset: 0;
	opacity: .1;
	filter: grayscale(100%);
	position: absolute;
	z-index: -2;
}

.callouts::after {
	background: linear-gradient(90deg, rgba(var(--ws-light-rgb), 1) max(10em, 40%), rgba(var(--ws-light-rgb), 0) 100% );
	content: '';
	inset: 0;
	position: absolute;
	z-index: -1;
}

.callouts h2 {
	color: #000;
	font-size: var(--ws-text-45);
	margin: 0 0 1em;
	text-transform: uppercase;
}

.callouts h2>span {
	color: var(--ws-purple);
	display: block;
	text-transform: none;
}


.callouts ul.ws-flex {
	justify-content: space-between;
}

.callouts ul.ws-flex>li {
	background: #FFF;
}

.callouts ul.ws-flex>li>a {
	background: #FFF;
	border: 1px solid var(--ws-purple);
	height: 100%;
	outline: 1px solid var(--ws-purple);
	outline-offset: 0.25em;
	padding: 1.5em 1.5em clamp(1.75em, 1.295em + 2.27vw, 3em);
	position: relative;
}

.callouts ul.ws-flex>li>a:focus-visible {
  background: rgba(var(--ws-purple-rgb), .15);
  border-color: #000;
  outline-color: #000;
	outline-width: .1875em;
}


.callouts ul.ws-flex>li>a::after {
	aspect-ratio: 1;
	background: var(--ws-purple);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	content: '';
	inset: auto -.3125em -.3125em auto;
	height: 2.1875em;
	position: absolute;
	transition: var(--ws-transition);
}

.callouts strong.title {
	color: var(--ws-purple);
	font-size: var(--ws-text-22);
	letter-spacing: 1.5px;
	line-height: 1.091;
	margin: 0 0 .5em;
	text-transform: uppercase;
}

.callouts p {
	color: #000;
	font-size: var(--ws-text-20);
	line-height: 1.1;
}

.callouts span.learn-more {
	align-self: start;
	color: #000;
	border-bottom: 2px solid var(--ws-purple);
	text-transform: uppercase;
}

.callouts .button.black {
	display: table;
	margin: 1.5em auto 0;
}





/* HOMEPAGE WELCOME RIBBON ------------------------------ */

.welcome {
	--ws-width: clamp(2em, 1.273em + 3.64vw, 4em);
	position: relative;
	z-index: 0;
}

.welcome::before {
	background: url('/images/patterns/diamonds.svg') repeat left center / auto 2.25em;
	content: '';
	inset: 0;
	opacity: .5;
	position: absolute;
	z-index: -2;
}

.welcome::after {
	background-image: linear-gradient(180deg, #FFF 0%, rgba(255,255,255,0) 100%);
	content: '';
	inset: 0;
	position: absolute;
	z-index: -1;
}

.welcome figure img {
	aspect-ratio: 580 / 600;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.welcome .textbox {
  padding-left: var(--ws-width);
	position: relative;
}

.welcome .textbox::before,
.welcome .textbox::after {
  content: '';
	inset: 0 auto 0 0;
	position: absolute;
	width: var(--ws-width);
}

.welcome .textbox::before {
	background: url('/images/welcome-side.webp') no-repeat center / cover;
}

.welcome .textbox::after {
	background: var(--ws-purple);
	opacity: .8;
}

.welcome h2 {
	color: #000;
	font-size: var(--ws-text-45);
	line-height: 1.11;
	text-transform: uppercase;
}

.welcome h2>span {
	color: var(--ws-purple);
	display: block;
	text-transform: none;
}

.welcome p {
	color: #333;
	font-size: var(--ws-text-20);
}

.welcome p :is(b, strong) {
	color: #000;
}

.welcome p .button {
	font-size: 1.15em;
}




/* CTA RIBBON ------------------------------ */

.cta {
	position: relative;
}

.cta .images {
	display: flex;
}

.cta .images figure {
	position: relative;
	width: 50%;
}

.cta .images img {
	aspect-ratio: 370 / 500;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cta .images figure:last-child::after {
	background: var(--ws-purple);
	content: '';
	inset: 0;
	opacity: .6;
	position: absolute;
}

.cta .images figure:last-child img {
	filter: grayscale(100%);
}

.cta .textbox {
	padding-inline: var(--ws-gap);
	position: relative;
	z-index: 0;
}

.cta .textbox::before {
	background: url('/images/cta-bg.webp') no-repeat center / cover;;
	content: '';
	inset: 0;
	opacity: .1;
	filter: grayscale(100%);
	position: absolute;
	z-index: -2;
}

.cta .textbox::after {
	background: linear-gradient(90deg, rgba(var(--ws-light-rgb), 1) max(10em, 40%), rgba(var(--ws-light-rgb), 0) 100% );
	content: '';
	inset: 0;
	position: absolute;
	z-index: -1;
}

.cta h2 {
	color: #000;
	font-size: var(--ws-text-45);
	line-height: 1.11;
	text-transform: uppercase;
}

.cta h2>span {
	color: var(--ws-purple);
	display: block;
	text-transform: none;
}

.cta p {
	color: #000;
	font-size: var(--ws-text-20);
}

.cta .button {
	margin-top: .25em;
}

.cta p .button {
	font-size: 1.15em;
}




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