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


:root {

	--ws-gap: 1.5em;
	--ws-transition: all .3s ease;

	--ws-color-1: #0B2942;
	--ws-color-2: #AE5C5B;
	--ws-color-3: #CAAEA0;
	--ws-color-4: #FF0000;
	--ws-color-5: #FFF9F1;
	--ws-color-6: #CEC29A;
	--ws-color-7: #F6F3EC;

	--ws-font-family-1: "Fustat", sans-serif;
  --ws-font-family-2: "Playfair", serif;

}

/* playfair-display-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/playfair-display-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/Playfair144ptSemiCondensed-Bold.woff') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-sc-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display SC';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/playfair-display-sc-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* fustat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fustat';
  font-style: normal;
  font-weight: 300;
  src: url('./fonts/fustat-v4-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* fustat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fustat';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/fustat-v4-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fustat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fustat';
  font-style: normal;
  font-weight: 500;
  src: url('./fonts/fustat-v4-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fustat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fustat';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/fustat-v4-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* fustat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fustat';
  font-style: normal;
  font-weight: 800;
  src: url('./fonts/fustat-v4-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


html {
	box-sizing: border-box;
}

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

body {
	background: var(--ws-color-1);
	margin: 0;
	overflow-x: hidden;
	padding: 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
}

body:has(.youtube-modal.is-open) > header {
	position: static;
}

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

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

#skipNavigation:focus {
	top: 0;
}


/* text */
body, .text, input, button, select, textarea {
	font-family: var(--ws-font-family-1);
	line-height: 1.6;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.intro {
	line-height: 1.45;
}

.text {
	font-size: 1rem;
}

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

.content a:not(.button) {
	font-weight: 600
}

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

a[target="_blank"]::after {
  content: "";
	display: inline-block;
	vertical-align: middle;
  mask: url("/images/icons/square-up-right-regular-full.svg") no-repeat center / contain;
  width: 1.25em;
  height: 1.25em;
  background-color: #fff;
}

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

h1, h2, h3, h4, h5, h6, th {
	line-height: 1.2;
	font-weight: 700;
}

/* may come back to this! removed per design review */

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

.textColor, h1, h3, h4, h5, h6, th, dt {
	color: var(--ws-color-1);
}

h1, h3 {
	font-family: var(--ws-font-family-2);
}

h2 {
	color: var(--ws-color-2);
}

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);
	clear: both;
	margin: 1em 0;
	padding-top: 1px;
}

p {
	font-size: 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-rule: 1px outset rgba(0,0,0,.15); */
	column-gap: 2em;
}

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

.req {
	color: #C00;
}

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

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

.content figcaption {
	font-weight: 300;
}

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

.photoright figcaption {
	text-align: right;
}

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

.muted {
	opacity: 0.5;
}

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

.content table {
	width: 100%;
}


blockquote {
	color: red;
	float: right;
	line-height: 1.1;
	margin: 1em 0 1em 3em;
	max-width: 50%;
	text-align: right;
	width: 18.75em;
}

blockquote p {
	color: red;
	font-size: 1.375em;
	quotes: '\201c' '\201d';
}

blockquote :is(cite, footer) {
	color: #888;
	font-size: 1rem;
}

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

blockquote p:first-of-type::before {
	content: open-quote;
}

blockquote p:last-of-type::after {
	content: close-quote;
}


.highlight,
.content .highlight {
	background: var(--ws-color-5);
	margin: 2em 0;
	padding: 1em;
}

.highlight-1 h2 {
	background: var(--ws-color-1);
	color: #FFF;
	margin: -1rem -1rem 1rem;
	padding: 1rem;
}

.highlight-2,
.content .highlight-2 {
	border: 2px solid var(--ws-color-2);
	background-color: rgba(174, 92, 91, 0.1);
}

.highlight-2 h2 {
	color: var(--ws-color-1);
	font-family: var(--ws-font-family-2);
}

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




/* WRAP ------------------------------ */
.wrap,
body>footer .fatFooter {
	margin-inline: auto;
	max-width: calc(77em + 2 * var(--ws-gap));
	padding-inline: var(--ws-gap);
	width: 100%;
}




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

.interior main {
	padding-bottom: 1em;
}

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

/* sidenav */
#sidenav {
  margin-block: 2em;
  padding: 0 0.3125em 0.625em;
  overflow: hidden;
  width: 100%;
}

#sidenav ul {
  padding: 0;
}

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

#sidenav li a {
  display: block;
  line-height: 1.1;
  padding: 0.5em;
}

#sidenav li a:is(:hover, :focus),
#sidenav > ul > li.on > a:is(:hover, :focus) {
  background: var(--ws-color-1);
  color: #fff;
}

#sidenav > ul > li > a {
  display: flex;
  justify-content: space-between;
  color: var(--ws-color-1);
  font-weight: 700;
  font-size: 1.125em;
}

#sidenav > ul > li.on > ul > li > a:is(:hover, :focus),
#sidenav > ul > li.on > a:is(:hover, :focus) {
	background: var(--ws-color-2);;
	color: #fff
}

#sidenav > ul > li.on > a:after {
  content: "";
  padding-left: 1em;
  mask: url(/images/icons/chevron-down-solid-full.svg) center/contain no-repeat;
  background-color: #fff;
}

/* t2 */

#sidenav li ul a {
  color: #000;
}

#sidenav > ul > li.on {
  background-color: var(--ws-color-1);
}

#sidenav > ul > li.on > a {
  background-color: var(--ws-color-1);
  color: #fff;
}

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

#sidenav>ul>li>ul>li:not(.on) a {
  color: #fff;
}

#sidenav li.on ul li a {
  padding: 0.3em 0.5rem 0.3em 0.5rem;
}

#sidenav > ul > li.on > ul > li {
  margin: 0 0.3125em;
}

#sidenav > ul > li.on > ul > li.on {
  background-color: #fff
}

/* t3 */

#sidenav li ul li.on ul {
  padding-inline: 0.3125em;
}

#sidenav li ul li.on ul li {
  position: relative;
  border: 0;
}

#sidenav li ul li.on ul li.on:before,
#sidenav li ul li.on ul li:is(:hover, :focus-within):before {
  background-color: var(--white);
}

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

/* t4 */
#sidenav li ul li ul li.on ul li a {
}



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

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

.content ul li::before {
	content: '';
	display: inline-block;
	height: 0.375em;
	left: 1.25em;
	position: absolute;
	text-align: center;
	top: 0.5625em;
	width: 0.375em;
	background: var(--ws-color-2);
}

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

#tinymce .inline-widget .mce-preview-object {
	position: relative;
}

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

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,.05);
	border: 1px solid rgba(0,0,0,.2);
	box-shadow: inset 0px 2px 4px 0px rgba(0, 0, 0, .2);
	padding: 3px 5px;
}

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

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

textarea {
	display: block;
}

select option {
	padding: 0 .2em;
}

button, .button, input:is([type="button"], [type="submit"], [type="reset"]) {
	background: var(--ws-color-2);
	border: 0;
	color: #FFF;
	cursor: pointer;
	display: inline-block;
	line-height: 1;
	padding: 0.625em 0.875em 0.5625em;
	margin-inline: 0.09375em;
	text-transform: uppercase;
	font-weight: 900;
	box-shadow: 0 0 0 1.5px var(--ws-color-2) , 0 0 0 1.5px var(--ws-color-2) , 0 0 0 0.75px inset rgba(255, 255, 255, 1) , 0 0 0 0.75px rgba(255, 255, 255, 1)
}

.button.button-dark {
	background: var(--ws-color-1);
	box-shadow: 0 0 0 1.5px var(--ws-color-1) , 0 0 0 1.5px var(--ws-color-1) , 0 0 0 0.75px inset rgba(255, 255, 255, 1) , 0 0 0 0.75px rgba(255, 255, 255, 1)
}

:is(button, .button, input:is([type="button"], [type="submit"], [type="reset"])):is(:hover, :focus) {
	background-color: var(--ws-color-1);
	color: #FFF;
	box-shadow: 0 0 0 1.5px var(--ws-color-1) , 0 0 0 1.5px var(--ws-color-1) , 0 0 0 0.75px inset rgba(255, 255, 255, 1) , 0 0 0 0.75px rgba(255, 255, 255, 1)
}

.button.button-dark:is(:hover, :focus) {
	background-color: var(--ws-color-2);
	box-shadow: 0 0 0 1.5px var(--ws-color-2) , 0 0 0 1.5px var(--ws-color-2) , 0 0 0 0.75px inset rgba(255, 255, 255, 1) , 0 0 0 0.75px rgba(255, 255, 255, 1)
}

.button-list {
	margin-block: 2em;
}

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

.button {
	display: inline-block;
}

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


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


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



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

#wsManagementBar a[target="_blank"]::after {
	display: none;
}


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


/* PAGEHEADER ------------------------------ */
.pageHeader {
	width: 100%;
	height: auto;
	margin-bottom: 5em;
	background-color: var(--ws-color-1);
}

#brand {
	max-width: 12em;
	width: 272px;
}

#brand img {
	display: block;
}

/* GENERIC POPOVER WITH WYSIWYG AREA ------------------------------ */
#popover {
	align-items: center;
	background: rgba(0,0,0,0.9);
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	padding: 1em;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
}

#popover .container {
	max-width: 40em;
	position: relative;
}

#popover  .close {
	color: #FFF;
	cursor: pointer;
	height: 1.5em;
	font-size: 2.25em;
	line-height: 1.5em;
	position: absolute;
	right: 0;
	text-align: right;
	top: -1.5em;
	width: 1.5em;
}

#popover .popover-wrap {
	background: #FFF;
	border-radius: 4px;
	max-width: 40em;
	padding: 2em;
	text-align: left;
}

#popover .popover-content {
	max-height: 75vh;
	overflow: auto;
}

#popover :is(h1, h2, h3, h4) {
	margin: 0 auto 0.75rem
}

#popover img {
	height: auto;
	margin: 0 auto 1rem;
	max-width: 100%;
}



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

.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 {
	color: #DADADA;
	padding-block: 2rem;
	position: relative;
	z-index: 0;
}

body>footer a {
	color: #fff;
}

body>footer a:is(:hover, :focus) {
	text-decoration: underline;
}

body>footer :is(a.on, .on>a) {
	color: var(--ws-color-3);
}

body>footer .fatFooter {
	margin-bottom: 3em;
}

body>footer>.wrap {
	clear: both;
	overflow: visible;
}

body>footer>.wrap nav {
	display: inline;
}

.fatFooter > nav > ul:first-child a {
	font-weight: 700;
	font-size: 1.25em;
	color: var(--ws-color-5);
}

.fatFooter > nav > ul:first-child li a:after {
	content: '';
	display: inline-block;
	height: 1em;
	width: 1em;
	margin-left: .25em;
	vertical-align: middle;
	background: #C18481;
}

.fatFooter > nav > ul:first-child li a[href*='youtube']:after {
	mask: url('/images/icons/youtube-brands-solid-full.svg') no-repeat center / contain;
}

.fatFooter > nav > ul:first-child li a[href='/ask-me-anything/']:after {
	mask: url('/images/icons/comment-sharp-solid-full.svg') no-repeat center / contain;
}

.fatFooter > nav > ul:first-child li a[href='/contact/']:after {
	mask: url('/images/icons/envelope-sharp-solid-full.svg') no-repeat center / contain;
}

/* FAQ DETAILS --------------------------- */

.faqs {
	margin-block: 2em;
}

.faqs h2 {
	font-family: var(--ws-font-family-2);
	color: var(--ws-color-1);
}

details {
  background: var(--ws-color-1);
  margin-bottom: 0.25em;
}

details[open] {
  background-color: var(--ws-color-5);
  border: 2px solid var(--ws-color-1);
}

details[open]>summary {
  color: var(--ws-color-2);
}

details>summary {
  align-items: center;
  border-radius: 0.5em;
  cursor: pointer;
  display: flex;
  font-weight: 600;
  gap: 1em;
  justify-content: space-between;
  list-style: none;
  padding: 0.39em 1em;
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 1.375em;
}

details>summary::-webkit-details-marker {
  display: none;
}

details:not([open])>summary:is(:hover, :focus-visible) {
  background-color: var(--ws-color-dark-blue);
}

.details-icon {
  display: block;
  flex-shrink: 0;
  height: 2em;
  position: relative;
  width: 2em;
}

.details-icon:before,
.details-icon:after {
  background-color: #fff;
  content: "";
  display: block;
  height: 0.125em;
  left: 50%;
  position: absolute;
  top: 50%;
  transform-origin: center center;
  width: 40%;
}

.details-icon:before {
    transform: translate(-50%, -50%) rotate(90deg);
}

details[open] .details-icon:before {
    transform: translate(-50%, -50%) rotate(0deg);
}

details[open] .details-icon:before,
details[open] .details-icon:after {
  background-color: var(--ws-color-2);
}

.details-icon:after {
    transform: translate(-50%, -50%);
}

.details-content {
  border-top: 1px solid #ddd;
	padding: 1em;
}

.faq-answer {
  padding: 0 2.5em 2em;
}

/* Home Hero --------------------------- */

.hero {
  position: relative;
  
  overflow: hidden;
	
	background: var(--ws-color-1);
}

.hero h1 {
	font-family: var(--ws-font-family-1);
	color: var(--ws-color-2);
	font-weight: 400;
	line-height: 1;
}

.hero h1 em {
	display: block;
	font-family: var(--ws-font-family-2);
	color: var(--ws-color-1);
	font-style: normal;
	font-weight: 700;
}

.hero-text {
	font-weight: 300;
}

.hero:before,
.hero:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60%;
	height: 100%;
}

.hero:before {
  background: rgba(255, 249, 241, 0.8);
	clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	width: 57%;
}

.hero::after {
	clip-path: polygon(0 0, 75% 0, 100% 100%, 0% 100%);
	background: rgba(255, 249, 241, 0.8);
}

.hero-right {
	padding-top: 1em;
}

.hero-left,
.hero-right {
	position: relative;
	z-index: 1;
	width: 50%;
}

/* .hero-left {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5em 2em 5em 0;
}

.hero-right {
	display: flex;
	align-items: flex-end;
  position: relative;
} */

.hero-right img {
	display: block;
	object-fit: cover;
	max-height: 35.3125em;
	margin-left: auto;
}

.hero-buttons a,
.about-buttons a,
.video-buttons-footer a,
.about-buttons a {
	margin-bottom: 0.625em;
}

:is(.about-buttons, .hero-buttons) p {
	margin-bottom: 0;
}

/* Session CTA ------------------------------ */

.session-cta {
	padding-block: 2.5em;
	text-align: center;
}

.session-cta h2 {
	font-family: var(--ws-font-family-2);
	color: var(--ws-color-1);
	font-weight: 700;
}

.session-cta h2 span {
	font-family: var(--ws-font-family-1);
	color: var(--ws-color-2);
	text-transform: uppercase;
}
.session-cta h2 span:before,
.session-cta h2 span:after {
	content: '|';
	color: var(--ws-color-1);
	font-weight: 300;
}

.session-cta h2 span:before,
.session-cta h2 span:after {
	margin-inline: .5rem;
}

.session-cta h3 {
	margin-bottom: 2.625rem;
}

.session-cta-intro {
	max-width: 46.25em;
	margin: 0 auto 2.75em;
}

.session-cta-list {
	background: #F5F2EA;
	padding-block: 1.5em 2.125em;
	padding-inline: 1.25em;
	margin-bottom: 3.125em;
}

.session-cta-list ul {
	display: flex;
	justify-content: space-between;
	gap: 2em;
}

.session-cta-list ul li {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 220px;
	line-height: 1.3;
}

.session-cta-list ul li::before {
	content: '';
	display: block;
	height: 45px;
	width: 45px;
	margin-bottom: 0.625em;
	background: var(--ws-color-2);
}

.session-cta-list ul li:first-child:before {
	mask: url('/images/icons/hands-holding-heart-sharp-regular-full.svg') no-repeat center / contain;
}

.session-cta-list ul li:nth-child(2):before {
	mask: url('/images/icons/arrows-rotate-sharp-regular-full.svg') no-repeat center / contain;
}

.session-cta-list ul li:nth-child(3):before {
	mask: url('/images/icons/chart-mixed-up-circle-dollar-sharp-regular-full.svg') no-repeat center / contain;
}

.session-cta-list ul li:last-child:before {
	mask: url('/images/icons/clipboard-list-check-sharp-regular-full.svg') no-repeat center / contain;
}

.session-cta-list ul li::after {
	content: '';
	display: block;
	height: 2px;
	width: 3.125em;
	margin-top: 0.625em;
	background: var(--ws-color-2);
}

.session-cta-rate {
	font-size: 1.25em;
	color: var(--ws-color-2);
	font-weight: 700;
	/* margin-right: 2rem; */
}

.session-cta-rate span {
	font-size: 1.75rem;
	color: var(--ws-color-1);
	font-family: var(--ws-font-family-2);
}

.session-cta-rate span::after {
	content: '|';
	color: var(--ws-color-1);
	font-family: var(--ws-font-family-1);
	font-weight: 300;
	font-size: 1.5rem;
	margin-left: .3rem;
}

.session-cta-footer {
	gap: 0 2rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

/* About ------------------------------ */
.about {
	position: relative;
	display: flex;
	overflow: hidden;
	background-color: rgba(174, 92, 91, 0.9);
}

.about h2 {
	text-transform: uppercase;
	font-weight: 700;
}

.about h2 span {
	font-family: var(--ws-font-family-2);
	text-transform: none;
	color: var(--ws-color-1);
}

.about-right {
  width: 50%;
  position: relative;
  z-index: 2;
  background: rgba(255, 249, 241, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3em 5em 5em 10%;
	clip-path: polygon(16% 0, 100% 0, 100% 100%, 0% 100%)
}

.about-left {
	display: flex;
  width: 50%;
  position: relative;
}

.about-left img {
	display: block;
	object-fit: cover;

	/* max-height: 28.125em;
	margin: auto auto 0; */
}

.about-left::before {
	content: "";
  position: absolute;
	background: rgba(255, 249, 241, 0.8);
	top: 0;
	left: 106%;
	width: 100%;
	height: 100%;
	clip-path: polygon(4% 0, 100% 0, 100% 100%, 0% 100%);
}

/* Video Ribbon ------------------------------ */

.video-buttons {
	background: #E4D6CF;
	padding-block: 5em;
	text-align: center;
}

.video-buttons h2 {
	text-transform: uppercase;
}

.video-buttons h2 span {
	font-family: var(--ws-font-family-2);
	color: var(--ws-color-1);
	text-transform: none;
}

.video-buttons-intro {
	max-width: 46.25em;
	margin: 0 auto 2.75em;
}

.video-buttons-list {
	display: flex;
	justify-content: center;
	gap: 2em;
	margin-bottom: 4.5em;
}

 .video-buttons-footer a[href*='youtube'] {
	position: relative;
	padding-right: 2.5em;
 }
 
 .video-buttons-footer a[href*='youtube']::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25em;
	height: 1.25em;
	margin-left: .25em;
	background: #fff;
	mask: url(/images/icons/youtube-brands-solid-full.svg) center/contain no-repeat; 
 }

.youtube-embed { 
	position: relative; 
	padding: 0; 
	border: 1px solid var(--ws-color-1);; 
	background: var(--ws-color-1); 
	box-shadow: none;
	cursor: pointer; 
	display: inline-block; 
	overflow: hidden; 
}
.youtube-embed .youtube-thumb { 
	display: block; 
	width: 100%; 
	height: 100%;
	object-fit: cover;
}
.youtube-embed .youtube-play-icon {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 52px; height: 52px; border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.9);
	color: #fff; font-size: 24px;
	display: flex; align-items: center; justify-content: center;
	pointer-events: none;
}

.youtube-embed .youtube-play-icon:before {
	content: '';
	display: block;
	width: 0; height: 0;
	border-left: 20px solid var(--ws-color-1);
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	transform: translateX(0.2rem);
}

.youtube-embed:hover .youtube-play-icon { background: rgba(255,0,0,0.85); }

.youtube-embed:hover .youtube-play-icon:before { 
	border-left-color: #fff;
}

.youtube-modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.youtube-modal.is-open { display: flex; }
.youtube-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.85); }
.youtube-modal-content {
	position: relative; max-width: 1100px; width: 90%;
	margin: auto; background: #000;
}
.youtube-modal-frame { position: relative; padding-bottom: 56.25%; height: 0; }
.youtube-modal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.youtube-modal-close {
	position: absolute; 
	top: -3.75rem;
	left: 0;
	border: 0; 
	color: #fff; 
	font-size: 1.375em; 
	cursor: pointer;
}

.youtube-duration {
	position: absolute;
	bottom: 0.5rem; 
	right: 0.5rem;
	background: rgba(0,0,0,0.6);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 0.25rem 0.375rem;
	border-radius: 0.25rem;
	pointer-events: none;
}
.youtube-duration:empty { display: none; }



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

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

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



/* ANIMATIONS ------------------------------ */

@media screen and (prefers-reduced-motion: no-preference) {

	.translate-up,
	.translate-down,
	.translate-left,
	.translate-right {
		opacity: 0;
		transition: all 1s ease;
	}

	.translate-up {
		transform: translate(0,3rem);
	}

	.translate-down {
		transform: translate(0,-3rem);
	}

	.translate-left {
		transform: translate(3rem,0);
	}

	.translate-right {
		transform: translate(-3rem,0);
	}

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

}

.inline-widget {
	margin-block: 2.5em;
}