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


:root {
  --ws-blue: #004E7C;
  --ws-blue-2: #527EB3;
  --ws-gray: #4A4A4A;
  --ws-gray-2: #615D59;
  --ws-green: #AEBD36;
  --ws-light: #E8EDF3;
  --ws-light-2: #F5F7FA;
  --ws-light-blue: #7F8EAD;
  --ws-light-blue-rgb: 127,142,173;
  --ws-off-white: #F3F6FA;
  --ws-off-white-rgb: 243,246,250;
  --ws-orange: #F79121;
  --ws-pale-blue: #7F8EAD;
  --ws-purple: #9B5BA4;
  --ws-yellow: #FFDE00;

  --ws-gutter: 1.5em;
  --ws-column-width: 7.5em;
}


html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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;
  vertical-align: middle;
  text-align: left;
}

.td-align-top :where(td, th) {
  vertical-align: top;
}

body {
  background: #FFF;
  overflow-x: hidden;
}

body>header>aside {
  position: absolute;
}

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

#skipNavigation:is(:focus, :active) {
  top: 0;
}

iframe[src="/management/login/persistSession.aspx"] {
  display: none;
}

/*page widths*/
body>header, #mainnav, main, body>footer, #alertApp {
  clear: both;
  display: block;
  width: 100%;
}

.wrap {
  margin-inline: auto;
  max-width: calc(74em + 2 * var(--ws-gutter));
  padding-inline: var(--ws-gutter);
  position: relative;
  width: 100%;
}


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

/* Proxima Nova Thin */
.pageHeader strong>span:nth-child(1) {
  font-style: normal;
  font-weight: 200;
}

/* Proxima Nova Light */
p, .content li,
h2.bigger>span,
blockquote p:first-of-type:before,
blockquote p:last-of-type:after {
  font-style: normal;
  font-weight: 300;
}

/* Proxima Nova Regular */
.intro p, p.intro, .content p>a:not(.button), .content a:not(.button), blockquote cite, #at-a-glance :is(.number, .info) {
  font-style: normal;
  font-weight: 400;
}

/* Proxima Nova Normal Italic */
::placeholder {
  font-style: italic;
  font-weight: 400;
}

/* Proxima Nova Medium */
h1, h2, h3, h4, h5, h6,
#hero span>b, :is(#cta, #values, #welcome, #bg-callout) p>:is(b, strong),
.pageHeader strong>span:nth-child(2) {
  font-style: normal;
  font-weight: 500;
}

/* Proxima Nova Medium Italic */
blockquote, blockquote p {
  font-style: italic;
  font-weight: 500;
}

/* Proxima Nova Semibold */
#at-a-glance .info b,
#grid-section .section-body p>b {
  font-style: normal;
  font-weight: 600;
}

/* Proxima Nova Bold */
#ancillary a,
#navContainer .menu span,
#mainnav>ul>li:last-child a,
button, .button, input:is([type="button"], [type="submit"], [type="reset"]) {
  font-style: normal;
  font-weight: 700;
}

/* FONT SIZES (375 - 1400) ----------------------------- */
h1 { font-size: clamp(1.75em, 1.476em + 1.17vw, 2.5em); }
h2 { font-size: clamp(1.5em, 1.271em + 0.98vw, 2.125em) }
h3 { font-size: clamp(1.375em, 1.192em + 0.78vw, 1.875em); }
h4 { font-size: clamp(1.25em, 1.159em + 0.39vw, 1.5em); }
h5, th { font-size: 1.1875em; }
h6 { font-size: 1.125em; }

.highlight h2 { font-size: clamp(1.5em, 1.317em + 0.78vw, 2em); }

p, .content li{ font-size: clamp(1em, 0.954em + 0.2vw, 1.125em); }

.intro {
  font-size: clamp(1.25em, 1.159em + 0.39vw, 1.5em);
  line-height: 1.25;
}

h2.bigger {
  color: var(--ws-blue);
  font-size: clamp(1.875em, 1.646em + 0.98vw, 2.5em);
  line-height: .875;
  margin: 0 0 .5em;
  text-transform: uppercase
}

h2.bigger>span {
  color: var(--ws-gray-2);
  display: block;
  font-size: .85em;
  line-height: 1.375;
  text-transform: none;
}

/* TEXT ----------------------------- */
body, .text, input, button, select, textarea {
  color: var(--ws-gray);
  font-family: proxima-nova,sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, .highlight>:is(h1,h2,h3) h4 { color: var(--ws-blue); }
h2, h5, .intro, .intro p { color: var(--ws-blue-2); }
h3, h6 { color: var(--ws-purple); }

p { color: var(--ws-gray); }

p.intro, .intro p:last-of-type {
  margin: 0 0 1.5em;
}

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

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

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


h1 h2, h3, h4, h5, h6, p,
#content ul,.contentEditor ul, blockquote, dd, ol {
  margin-bottom: 1rem;
  margin-top: 0;
}

h1, h2, h3, h4, h5, h6, th {
  line-height: 1.2;
  margin-block: 0 1rem;
}

.content h1 {
  margin-block: 0 .5rem;
  text-transform: uppercase
}

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

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-block: 1em;
  padding-top: 1px;
}

.textColor {
  color: var(--ws-purple);
}


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

 ul.ws-flex li,
.content ul.ws-flex li  {
   padding: 0;
   width: calc( 100% / var(--ws-column-count) - ( var(--ws-gap) * ( var(--ws-column-count) - 1 ) / var(--ws-column-count) ) );
 }

 .content ul.ws-flex li::before {
   display: none;
 }

  .content ul.ws-flex li {
    line-height: 1;
    margin: 0;
    padding: 0;
  }

::placeholder {
  color: rgba(255,255,255,.7);
  font-size: .875em;
}

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

sup {
  bottom: 1ex;
}

sub {
  top: .5ex;
}

:is(table.manage, #tblSubmissions) colgroup col {
  width: max-content !important;
}


/* HEADER ------------------------------ */
#ancillary input {
  background: rgba(255,255,255,.14);
  border: 0;
  border-radius: .1875em 0 0 .1875em;
  color: #FFF;
}

#ancillary button {
  background: var(--ws-yellow);
  border: 0;
  border-radius: 0 .1875em .1875em 0;
  color: var(--ws-blue);
  cursor: pointer;
  font-size: .875em;
  padding: .125em .75em 0;
}


/* SOCIAL ------------------------------ */
.social svg {
  fill: rgba(255,255,255,.6);
  height: auto;
  transition: none;
}

.facebook svg {width: .625em;}
.instagram svg { width: 1.125em; }
.twitter svg { width: 1.125em; }
.youtube svg { width: 1.25em; }
.linkedin svg { width: 1.125em; }
.vimeo svg { width: 1.125em; }



/* MAIN ------------------------------ */
main {
  background: linear-gradient(180deg, var(--ws-light-2) 0%, #FFF 100%) no-repeat center top clamp(0em, -8.654em + 38.46vw, 25em) / 100% 75em;
  overflow: hidden;
}

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

.contentEditor img {
	height: auto;
	max-width: calc(100% - 4em);
}

.content .threeColImage {width: 100%;display: block;}
.content .threeColImage a { display: block; line-height: 1.2; }
.content .threeColImage li { line-height: 1.2; text-align: center;padding-left: 0; }
.content .threeColImage li:before {display: none;}
.content .threeColImage li img { width: auto; max-height: 6em; max-width: 10em;}

/* SIDEBAR CALLOUTS ------------------------------ */
aside .callout {
  margin: 0 0 2em;
}

aside .callout + .callout {
  border-top: 1px solid #666;
  padding-top: 2em;
}

aside .callout h2 {
  color: var(--ws-blue);
  font-size: 1.125em;
  margin: 0 0 .25rem;
}

aside .callout p {
  color: var(--ws-gray);
  font-size: 1em;
}

aside .callout .button {
  display: block;
  font-size: 1em;
  margin: .375em 0 0;
  padding: .5em 1em;
  text-align: center;
}

aside .callout img {
  display: block;
  margin: 1em auto;
}

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

#sidenav ul {
  margin: 0;
  padding: 0;
}

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

#sidenav>ul>li>a {
  color: var(--ws-gray-2);
  font-size: 1em;
  font-weight: 700;
  padding: .4375em .5625em;
}

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

#sidenav>ul>li>a:hover {
  color: var(--ws-blue);
}

#sidenav>ul>li.on>a:before {
  background: url('/theme-two/images/icons/caret-down.svg') no-repeat center / contain;
  content: '';
  height: 1rem;
  position: absolute;
  right: .625rem;
  top: .4375rem;
  width: .625rem;
}

#sidenav>ul>li.on {
  background: #FFF;
  position: relative;
  margin: 6px 0
}

#sidenav>ul>li.on:before,
#sidenav>ul>li.on:after {
  background: var(--ws-green);
  border-radius: 2.5px;
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
}

#sidenav>ul>li.on:before {
  top: -6px;
}

#sidenav>ul>li.on:after {
  bottom: -6px;
}

#sidenav li.on ul li a {
  color: var(--ws-gray);
  font-size: .9375rem;
  padding: .3em 1rem;
}

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

#sidenav li ul li.on ul li a {
  color: var(--ws-gray);
  font-size: .8125rem;
  padding-left: 1.5rem;
}

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

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

#sidenav li ul li ul li ul li a:hover,
#sidenav li ul li ul li a:active,
#sidenav li ul li ul li ul li.on>a {
  background: #F5F5F5;
  color: #000;
}


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

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

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


.content .photoright,.content .photoleft {
  width: 43%;
  height: auto
}

.content .photoleft img {
  max-width: 100%;
  height: auto;
  margin: 0;
  float: none
}

.content img.phototreatment {
  max-width: 50%;
  height: auto
}

.content figure.phototreatment {
  clear: both;
  margin: 3.5em 0;
  position: relative;
  width: 100%;
  text-align: center
}

.content figure.phototreatment img {
  max-width: 100%;
  width: 100%;
  height: auto
}

img.phototreatment,
img.photoright,
img.photoleft,
.photoright img,
.photoleft img {
  max-width: 100%;
  height: auto
}

.phototreatment::before,
.phototreatment::after {
  background: var(--ws-purple);
}

main .content blockquote figure.phototreatment {
  margin: 0;
}

blockquote .phototreatment::before,
blockquote .phototreatment::after {
  display: none;
}

.photoright {
  float: right;
  clear: right
}

.photoright:not(img),.photoleft:not(img) {
  position: relative;
  height: 0;
  padding-bottom: 43%
}

img.photoright,img.photoleft {
  margin-top: 1rem
}

.content *:not(figure)>img.photoright,.content *:not(figure) img.photoleft {
  max-width: 43%;
  width: auto
}

.content *:not(figure)>img.photoright.small,
.content *:not(figure) img.photoleft.small {
  max-width: min(14em, 43%);
}

.photoright figcaption,
.photoleft figcaption {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 103%;
  font-size: .8125rem;
  font-weight: 300;
  font-style: italic
}

.photoleft {
  float: left;
  clear: left
}

.photoright img,.photoright img.photoright,

.photoleft img,.photoleft img.photoleft, blockquote .phototreatment img {
  background: #FFF;
  border: 1px dashed var(--ws-pale-blue);
  border-radius: 50%;
  float: none;
  height: 100%;
  left: 0;
  margin: 0;
  object-fit: cover;
  padding: 10px;
  position: absolute;
  top: 0;
  width: 100%;
}

main .content blockquote figure.phototreatment img {
  aspect-ratio: 1;
  position: static;
  max-width: 15em;
}

.muted {
  opacity: 0.5;
}

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

.content table {
  width: 100%
}


/* --------------------------------- */
.highlight,
.content .highlight {
  margin: 3.125rem 0
}

.highlight .highlight-content::before  {
  background: var(--ws-yellow);
}

.highlight>:is(h1,h2, h3) {
  color: var(--ws-blue);
}

.highlight .highlight-content {
  margin-top: .6875rem;
  position: relative;
  padding: 20px 25px;
  background: rgba(var(--ws-light-blue-rgb),.15);
  border-radius: 0 0 20px 20px;
}

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

.shareIcons a {
  display: block;
  float: left;
  margin: 0 .5em 1em 0;
  height: 20px;
  width: 20px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: .2em;
  -webkit-box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, .2);
  box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, .2)
}

.shareIcons a:hover {
  background-color: var(--ws-purple);
}

.shareFacebook {
  background-color: #3b5998;
  background-image: url(../../images/icons/64x64/facebook.png)
}

.shareTwitter {
  background-color: #00aced;
  background-image: url(../../images/icons/64x64/twitter.png)
}

.shareLinkedin {
  background-color: #007bb6;
  background-image: url(../../images/icons/64x64/linkedin.png)
}

.shareGoogle {
  background-color: #dd4b39;
  background-image: url(../../images/icons/64x64/google-plus.png)
}

/* list */
.content ol {
  margin: 1.5em 0 1em 0;
}

.content ol li {
  margin: 0 0 1em;
}

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

.content ul {
  margin: 1.5em 0 1em 0;
}

.content ul li {
  margin: 0 0 1em;
  position: relative;
  padding-left: 1.875em;
}

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

.content ul li::before {
  background: var(--ws-blue-2);
  border-radius: 50%;
  content: '';
  height: 0.3125em;
  left: 1em;
  position: absolute;
  top: 0.6875em;
  width: 0.3125em;
}

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

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

#tinymce ul li {
  list-style: disc;
  list-style-position: inside;
  padding-left: 1em;
}


/* addon classes */
.clearFloats {
  clear: both
}

.nobr {
  white-space: nowrap
}

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

.req {
  color: #C00
}

.textIcon {
  background-color: rgba(0,0,0,.2);
  border-radius: .5em;
  color: #FFF;
  display: inline-block;
  font-size: .8em;
  line-height: 1em;
  padding: .2em .4em;
}

.textIcon:is(:hover, :focus) {
  background: #666;
  background-color: rgba(0,0,0,.4);
  color: #FFF;
}

.clearfix:after {
  clear: both;
  content: '';
  display: table;
}

.videoContainer {
  height: 0;
  line-height: 0;
  padding-top: 56.25%; /* 16:9 */
  position: relative;
  width: 100%;
}

.videoContainer.ratio-4-3 {
  padding-top: 75%; 	/* 4:3 full-frame */
}

.videoContainer iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

iframe {
  border: 0;
}


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

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"],
input[type="search"], input[type="button"], input[type="submit"], input[type="reset"] textarea, select {
  border-radius: 0;
  font-size: 1em;
  outline: none;
  -webkit-appearance: none;
}

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], textarea, select {
  border: 1px solid rgba(0,0,0,.15);
  background-color: rgba(0,0,0,.01);
  padding: .5em .75em;
  width: 100%;
}

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

textarea {
  display: block;
  resize: vertical;
}

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

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


select option {
  padding: 0 .2em;
}

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


main button,.button,input[type=button],input[type=submit],input[type=reset] {
  background: #FFF;
  display: inline-block;
  color: var(--ws-blue);
  border: 3px solid var(--ws-yellow);
  padding: .723em 1.25em;
  line-height: 1em;
  cursor: pointer;
  font-size: 1.125em;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 1.5625em;
  letter-spacing: .5px
}

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

.manage~.manageLinks button {
  font-size: .875rem;
  padding: .723em .75em;
  margin: 3px
}

.button.yellow-solid {
  background: var(--ws-yellow);
}

.button.purple {
  background: var(--ws-off-white);
  border-color: var(--ws-purple)
}

.button.purple-solid {
  background: var(--ws-purple);
  border-color: var(--ws-purple);
  color: #FFF;
}

.button.orange {
  background: var(--ws-off-white);
  border-color: var(--ws-orange);
}

.button.orange-solid {
  background: var(--ws-orange);
  border-color: var(--ws-orange);
  color: #FFF;
}

.button.green {
  background: var(--ws-off-white);
  border-color: var(--ws-green);
}

.button.green-solid {
  background: var(--ws-green);
  border-color: var(--ws-green);
  color: #FFF;
}

.button.solid-blue-light {
  background: var(--ws-blue-2);
  border-color: var(--ws-blue-2);
  color: #FFF;
}

.button.solid-blue {
  background: var(--ws-blue);
  border-color: var(--ws-blue);
  color: #FFF;
}


/* BUTTON HOVERS */
button:is(:hover, :focus),
.button:is(:hover, :focus),
.button:is(.purple, .orange, .green):is(:hover, :focus),
input[type=button]:is(:hover, :focus),
input[type=submit]:is(:hover, :focus),
input[type=reset]:is(:hover, :focus) {
  background-color: var(--ws-yellow);
  color: var(--ws-blue);
}

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

.button.purple-solid:is(:hover, :focus) {
  background: #FFF;
  color: var(--ws-purple);
}

.button.orange-solid:is(:hover, :focus) {
  background: #FFF;
  color: var(--ws-orange);
}

.button.green-solid:is(:hover, :focus) {
  background: #FFF;
  color: var(--ws-green);
}

.button.yellow-solid:is(:hover, :focus) {
  background: #FFF;
  border-color: var(--ws-yellow);
}

.button.solid-blue-light:is(:hover, :focus) {
  background: var(--ws-off-white);
  color: var(--ws-light-blue);
}

.button.solid-blue:is(:hover, :focus) {
  background: var(--ws-off-white);
  color: var(--ws-blue);
}

.buttons .button {
  margin: 5px 3px;
}

:is(h2, h3, h4, h5, h6) + :is(.button, button) {
  margin-top: 1em;
}

.button {
  display: inline-block;
}

.content .button {
  margin-block: .0625em;
}

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

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

.formTable, .formTable table {
  display: block;
  width: 100%;
}

.formTable :is(input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], textarea) {
  width: 100%
}

.formTable table td,
.formTable table td:first-child {
  padding-bottom: 0
}

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

.formTable.right td {
  width: auto
}

.subjClass {
  display: none !important;
}

#Captcha label {
  padding-left: 0
}

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

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

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


blockquote {
  margin: 3rem 0;
  padding: 1.375em 1.5em 1em;
  position: relative;
}

blockquote p {
  position: relative;
  display: table;
  color: var(--ws-blue);
  font-size: 1.5rem;
  line-height: 1.25;
  padding: 0 1.75rem;
  margin-bottom: .5rem
}

blockquote::before,
blockquote::after {
  background: var(--ws-green);
}

blockquote cite {
  color: var(--ws-gray-2);
  display: block;
  font-style: normal;
  margin: 1em 0 0;
  text-align: right;
}

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

blockquote p:first-of-type:before,
blockquote p:last-of-type:after {
  color: var(--ws-blue-2);
  line-height: .625;
  opacity: .5;
  position: absolute;
}

blockquote p {
  quotes: '\201c' '\201d';
}

blockquote p:first-of-type::before {
  content: open-quote;
  left: -.065em;
}

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

blockquote p:before,
blockquote p:after {
  font-size: 5rem;
}


/* ALERT APP ---------------------------- */
#alertApp {
  background: var(--ws-yellow);
  cursor: pointer;
  font-size: 1rem;
  position: relative;
  width: 100%;
  padding: .75rem var(--ws-gutter);
  z-index: 1;
}

#alertApp.alertOpen,
#alertApp:not(.alertStatic):hover {
  background: var(--ws-orange);
}

#alertApp.alertStatic {
  pointer-events: none;
}

#alertApp strong {
  color: #000;
  display: block;
  font-size: 1.25em;
  line-height: 1.25rem;
  margin: 0 auto;
  padding: .1875rem 0;
  text-align: center;
}

#alertApp #alertDesc {
  height: 0;
  overflow: hidden;
}

#alertApp.alertOpen #alertDesc {
  height: auto;
}

#alertApp p {
  color: #000;
  font-size: 1em;
  line-height: 1.5;
  margin: 0;
  padding: .5rem 0 .75rem;
  position: relative;
  text-align: center;
  z-index: 1;
}

/* management overrides */
#wysiwygBody {
  background: #FFF
}

/* management table */
hr + .manage {
  margin-top: -1em
}

.manage {
  width: 100%;
  line-height: 1.3em;
  margin-bottom: 1rem;
}

.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 {
  position: relative;
  bottom: -2px
}

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

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

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

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

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

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

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

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

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

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

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

.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 {
  position: relative;
  bottom: -2px
}

.manageLinks button {
  margin-left: 5px
}

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

.wsReturnToButton {
  float: right;
  font-size: 1em;
  margin-top: -3.375em;
  padding: .5em 1em;
}

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


/* TRANSITIONS ------------------------------ */
a, a *,a::before, a::after, button, .button, input[type="button"], input[type="submit"], .rsFullscreenBtn, #alertApp, #alertApp span, #alertDesc, #navContainer li, .hamburger, #mobilenav span, #mobilenav span svg path {
  -webkit-transition: all .3s ease;
  transition: all .3s ease
}

input:focus, select:focus, textarea:focus {
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease
}

/* FORM ERROR ------------------------------ */
.formError {
  background-color: Black;
  border: 0;
  padding: 5px 10px;
  color: #FFF;
  display: none;
  margin: 0 0 2px;
  z-index: 9999;
  border-radius: 10px;
  -moz-box-shadow: 0 2px 2px #333;
  -webkit-box-shadow: 0 2px 2px #333;
}

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

.formError em {
  border: 10px solid;
  border-color: Black transparent transparent;
  bottom: -17px;
  display: block;
  height: 0;
  left: 40px;
  position: absolute;
  width: 0;
}


/* FOOTER ------------------------------ */
body>footer {
  background: var(--ws-blue);
  clear: both;
  color: #FFF;
  padding-block: 3em 1.5em;
}

body>footer a {
  color: #FFF;
}

body>footer a.on {
  text-decoration: none;
  color: var(--ws-orange);
}

body>footer strong {
  letter-spacing: .5px;
  text-transform: uppercase;
}

body>footer address {
  color: #FFF;
  font-size: .875em;
  line-height: 1.875;
}

body>footer address a {
  color: var(--ws-yellow);
}

body>footer .fatFooter {
  align-items: start;
  display: flex;
  justify-content: space-between;
}

body>footer .fatFooter .column-1 img {
  margin: 1em 0 0;
  max-width: 10em
}

body>footer .fatFooter .column-2:empty {
  display: none;
}

body>footer .logos>img {
  max-width: 12em;
  padding-inline: 1em;
}

body>footer .logos>a {
  display: inline-block;
  max-width: 12em;
  padding-inline: 1em;
}

body>footer .logos>a img{
  max-height: 6em;
  height: auto;
}

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

body>footer .copyright p {
  color: rgba(255,255,255,.7);
  margin: 0 0 .5em;
}

body>footer nav span::before {
  color: rgba(255,255,255,.7);
  content: '\00A0\00A0\007C\00A0\00A0';
}

body>footer .form-social {
  max-width: 17.875em;
}

body>footer form {
  display: flex;
  flex-wrap: wrap;
}

body>footer form strong {
  display: block;
  margin: 0 0 0.125rem;
  width: 100%;
}

body>footer form input[type='email'] {
  background: rgba(255,255,255,.14);
  border: 0;
  border-radius: .1875em 0 0 .1875em;
  padding: .25em 1em;
  width: calc(100% - 4.6875em);
}

body>footer form button {
  background: var(--ws-yellow);
  border: 0;
  border-radius: 0 .1875em .1875em 0;
  color: var(--ws-blue);
  height: 2.5em;
  padding-inline: .25em;
  width: 4.6875em;
}

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

body>footer ul {
  margin: 0;
}



/* SHARED ------------------------------ */
.ws-grid {
  grid-gap: 1em;
  display: grid;
}

.ws-grid {
  grid-template-columns: var(--ws-grid);
}

:where(footer.ws-grid, main .ws-grid, main.ws-grid) > * {
  grid-column: wrap-start / wrap-end;
}


ul.ws-columns.ws-flex {
  align-items: center;
  --ws-gap: 1.5em;
}

ul.ws-columns.ws-flex li {
  display: flex;
  justify-content: center;
}


/* Colored borders ------ */
.border-top {
  position: relative;
}

.border-top::before {
  background: url('/theme-two/images/multicolor-border.svg') repeat-x left top / auto 100%;
  content: '';
  height: .3125em;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* Ribbon padding ------ */
.section-padding {
  background: #FFF;
  padding-block: clamp(2.5em, 1.311em + 5.07vw, 5.75em); /* 375 - 1400 */
}

/* Circle images ------ */
.circle-image {
  line-height: 1;
  padding: clamp(1em, 0.748em + 1.07vw, 1.675em); /* 375 - 1400 */
  position: relative;
}

.circle-image::before {
  content: '';
  display: block;
  padding: 0 0 100%;
}

.circle-image img {
  border-radius: 50%;
  height: calc(100% - clamp(2em, 1.497em + 2.15vw, 3.375em)); /* 375 - 1400 */
  left: 50%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: calc(100% - clamp(2em, 1.497em + 2.15vw, 3.375em));  /* 375 - 1400 */
  z-index: 1;
}

.circle-image::after {
  backface-visibility: hidden;
  border-radius: 50%;
  border: 1px dashed var(--ws-light-blue);
  bottom: 0;
  content: '';
  left: 0;
  perspective: 1px;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate3d(0,0,0);
  transform-style: preserve-3d;
  z-index: 0;
}

.circle-image.animated::after,
.animated .circle-image::after {
  animation: rotate 50s linear infinite;
}

.circle-image.small {
  padding: clamp(0.75em, 0.681em + 0.29vw, 0.9375em); /* 375 - 1400 */
}

.circle-image.small img {
  height: calc(100% - clamp(1.5em, 1.363em + 0.59vw, 1.875em)); /* 375 - 1400 */
  width: calc(100% - clamp(1.5em, 1.363em + 0.59vw, 1.875em));  /* 375 - 1400 */
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* BORDER STRIPES (SHARED) ------------------------------ */
blockquote::before,
blockquote::after,
.phototreatment::after,
.phototreatment::before,
.text-image .image::after,
.text-image .image::before,
#at-a-glance .number::after,
#at-a-glance .number::before,
#grid-section .section-top::after,
#grid-section .section-top::before,
#blog .blog-content::before,
.highlight .highlight-content::before {
  border-radius: 2.5px;
  content: '';
  height: 0.3125rem;
  left: 0;
  position: absolute;
  right: 0;
}

blockquote::before,
.phototreatment::before,
.highlight .highlight-content::before {
  top: -0.6875rem;
}

blockquote::after,
.phototreatment::after {
  bottom: -0.125rem;
}

#grid-section .section-top:before,
#at-a-glance .number:before {
  top: 0
}

#grid-section .section-top:after,
#at-a-glance .number:after {
  bottom: 0
}

.text-image .image::before,
#blog .blog-content:before,
.highlight .highlight-content:before {
  top: -.625rem;
}

.text-image .image::after {
  bottom: -.625rem;
}


/* PAGEHEADER ------------------------------ */
.pageHeader {
  height: auto;
  grid-column: 1 / -1;
  margin-bottom: 0;
  position: relative;
  width: 100%;
}

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

.pageHeader:after {
  background: url('/theme-two/images/curve.svg') no-repeat center bottom / 100% 100%;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.pageHeader strong {
  display: block;
  padding-block: clamp(4em, 1.988em + 8.59vw, 15em); /* 375 - 2425 */
  position: relative;
  left: clamp(1.5rem, 1.317rem + 0.78vw, 2rem);
  z-index: 1;
}

.pageHeader span {
  background: var(--ws-blue);
  border-radius: 1.5625em;
  display: table;
  font-size: clamp(1.125em, 0.759em + 1.56vw, 2.125em); /* 375 - 1400 */
  line-height: 1.2;
  padding: .136em .75em;
}

.pageHeader strong>span:nth-child(1) {
  color: #FFF;
  margin: 0 0 .25rem clamp(0.25rem, -0.024rem + 1.17vw, 1rem); /* 375 - 1400 */
}

.pageHeader strong>span:nth-child(2) {
  color: var(--ws-yellow);
  text-transform: uppercase;
  transition-delay: .15s;
}


.pageHeader strong>span:empty {
  display: block;
	height: clamp(1.125em, 0.759em + 1.56vw, 2.125em);
	visibility: hidden;
}


/* WS FADER (HOME HERO)------------------------------ */
.fader {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.fader::after {
  background: url('/theme-two/images/curve.svg') no-repeat center bottom / 100% 100%;
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fader>div {
  background: no-repeat center / cover;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.fader .prev {
  opacity: 1;
  z-index: -1;
}

.fader .on {
  opacity: 1;
  position: static;
  transition: opacity 1s ease;
  z-index: 2;
}


/* HERO (HOME)----------------------------- */
#hero {
  margin-bottom: -.25em;
  position: relative;
  z-index: 0;
}

#hero .textbox {
  /* Top / bottom: 500 - 2300 (top: 11.5em @ 1400, bottom: 8.75em @ 1400 )*/
  /* Left / right: 500 - 1400 */
  padding: clamp(4em, 0.889em + 9.96vw, 15.2em) clamp(0.5rem, -0.472rem + 3.11vw, 2.25em) clamp(3em, 0.556em + 7.82vw, 11.8em);
  position: relative;
  z-index: 1;
}

#hero h1>span {
  background: var(--ws-blue);
  border-radius: 1.5625em;
  color: #FFF;
  display: table;
  font-weight: 200;
  line-height: 1.2;
  margin-bottom: .25rem;
  padding: 0.136em 0.75em;
}

#hero h1>span:nth-of-type(1) {
  margin-left: clamp(0.5em, 0.317em + 0.78vw, 1em); /* 375 - 1400 */
}

#hero h1>span:nth-of-type(2) {
  margin-left: clamp(0.25em, 0.067em + 0.78vw, 0.75em); /* 375 - 1400 */
  transition-delay: .15s;
}

#hero h1>span:nth-of-type(3) {
  margin-left: clamp(0em, -0.183em + 0.78vw, 0.5em); /* 375 - 1400 */
  transition-delay: .3s;
}

#hero span>b {
  color: var(--ws-yellow);
  text-transform: uppercase;
}

#hero .buttons {
  transition-delay: .45s;
}


/* TEXT IMAGE (HOME 'PROGRAM MODEL' & 'FEATURED VIDEO', LANDING PAGE 'ABOUT US')----------------------------- */
.text-image {
  padding-block: clamp(2.8125em, 2.675em + 0.59vw, 3.1875em) clamp(2.5rem, 2.363rem + 0.59vw, 2.875rem); /* 375 - 1400 */
}

.text-image :is(.video, .image) {
  aspect-ratio: 16 / 9;
  background: no-repeat center / cover;
  position: relative;
}

.text-image .image::before,
.text-image .image::after {
  background: var(--ws-purple);
}

.text-image .video::after {
  background: url('/theme-two/images/icons/play.svg') no-repeat center / contain;
  content: '';
  height: 4.125em;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 4.125em;
  z-index: 0;
}

.text-image .video iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.text-image h2 + h3 {
  margin-top: 1.25em;
}

.text-image h3 {
  color: var(--ws-blue-2);
  font-size: clamp(1.375rem, 1.329rem + 0.2vw, 1.5rem); /* 375 - 1400 */
  margin-bottom: .5em;
}

.text-image p {
  color: var(--ws-gray-2);
  font-size: clamp(1.125em, 0.988em + 0.59vw, 1.5em); /* 375 - 1400 */
  line-height: 1.25;
}

.text-image .button {
  margin: 1em 0 0;
}

.text-image p .button {
  font-size: .75em;
}

/* Overrides */
#program-model {
  padding-top: 1em;
  position: relative;
  z-index: 1;
}

#featured-video.text-image {
  background: var(--ws-light);
}


/* ALBUM (PHOTO GALLERY) (HOME)----------------------------- */
#album #photo-gallery {
  padding: 0;
}

#album>div {
  max-width: 49em;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

#album .button {
  display: table;
  margin: 1.5em auto 0;
}

#album #gallery-nav button {
  border: 0;
}

#album #gallery .slide .image {
  aspect-ratio: 783 / 521;
  padding-bottom: 0;
}

#album #gallery-nav {
  margin: 1.5rem auto 0;
  max-width: 34em;
  padding: 0;
}

#album #gallery-nav .slick-list {
  max-width: 505px;
  margin: 0 auto;
  padding: 0 !important;
}

#album #gallery-nav .thumbnail {
  aspect-ratio: 1;
}

#album #gallery-nav .thumbnail img {
  height: 100%;
}

#album #gallery-nav .slick-arrow {
  height: 1.5em;
  width: 1.5em;
}

/* AT A GLANCE (HOME)----------------------------- */
#at-a-glance h2 {
  color: var(--ws-blue);
  grid-column: wrap-start / wrap-end;
}

#at-a-glance h2>span {
  color: var(--ws-gray-2);
}

#at-a-glance ul {
  grid-column: wrap-start / wrap-end;
  display: grid;
  position: relative;
}

#at-a-glance ul li p {
  font-size: 1em;
  text-align: center;
  margin-bottom: 0;
  height: 100%;
  display: flex;
  flex-direction: column
}

#at-a-glance .number {
  color: var(--ws-blue);
  display: block;
  font-size: clamp(3em, 2.583em + 1.33vw, 3.75em); /* 500 - 1400 */
  position: relative;
  margin-bottom: .25rem;
  line-height: 1.45;
  background-color: #fff
}

#at-a-glance .info {
  background: var(--ws-light);
  display: block;
  color: var(--ws-gray-2);
  flex: 1 0 auto;
  font-size: clamp(1.125em, 1.056em + 0.22vw, 1.25em); /* 500 - 1400 */
  border-radius: 0 0 20px 20px;
  line-height: 1.4;
  position: relative;
}

#at-a-glance .info b {
  color: var(--ws-blue);
}

#at-a-glance li {
  position: relative;
}

#at-a-glance .button {
  bottom: 0;
  left: 50%;
  position: absolute;
  transform: translate(-50%,50%);
  white-space: nowrap;
}

#at-a-glance ul li:nth-of-type(4n+1) p .number:before,
#at-a-glance ul li:nth-of-type(4n+1) p .number:after {
  background: var(--ws-purple)
}

#at-a-glance ul li:nth-of-type(4n+2) p .number:before,
#at-a-glance ul li:nth-of-type(4n+2) p .number:after {
  background: var(--ws-orange)
}

#at-a-glance ul li:nth-of-type(4n+3) p .number:before,
#at-a-glance ul li:nth-of-type(4n+3) p .number:after {
  background: var(--ws-green)
}

#at-a-glance ul li:nth-of-type(4n+4) p .number:before,
#at-a-glance ul li:nth-of-type(4n+4) p .number:after {
  background: var(--ws-yellow)
}

/* SOCIAL FEED ---------------------------- */
#media .instagram ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ws-gap);
  --ws-columns: 2;
  --ws-gap: clamp(0.875em, 0.745em + 0.58vw, 1.25em);
}

#media .instagram li {
  line-height: 0;
  width: calc( 100% / var(--ws-columns) - ( var(--ws-gap) * ( var(--ws-columns) - 1 ) / var(--ws-columns) ) );
}

#media .instagram a {
  aspect-ratio: 1;
  display: block;
  position: relative;
  width: 100%;
}

#media .instagram a::after {
  background: url('/theme-two/images/icons/instagram-white.svg') no-repeat center / cover;
  bottom: .5em;
  content: '';
  height: 1.0625em;
  pointer-events: none;
  position: absolute;
  right: .5em;
  width: 1.0625em;
}

#media .instagram img {
  height: 100%;
  max-height: 100% !important;
  max-width: 100% !important;
  object-fit: cover;
  width: 100%;
}

#media .crt-widget button {
  background: #fff;
  border: 3px solid var(--ws-yellow);
  color: var(--ws-blue);
}

#media .crt-widget button:is(:hover, :focus-visible) {
  background: var(--ws-yellow);
}

#media .crt-widget button svg {
  color: var(--ws-blue);
}


/* HORIZON BLOG (HOME)----------------------------- */
#blog {
  background: no-repeat center / cover;
  position: relative;
  z-index: 0;
}

#blog::after {
  background: var(--ws-blue);
  bottom: 0;
  content: '';
  left: 0;
  opacity: .9;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

#blog h2 {
  color: #FFF;
  grid-column: wrap-start / wrap-end;
  line-height: .875;
}

#blog h2 {
  color: var(--ws-yellow);
}

#blog h2 span {
  color: #FFF;
}

#blog ul {
  grid-column: wrap-start / wrap-end;
  display: grid;
  margin-bottom: 2em;
}

#blog li {
  text-align: center;
  position: relative;
  display: grid
}

#blog img {
  height: 12.5em;
  width: 12.5em;
  border-radius: 50%;
  border: 1px solid #FFF;
  object-fit: cover;
  object-position: center;
  display: block;
  position: absolute;
  z-index: 1;
  right: 50%;
  transform: translateX(50%);
  top: 0;
}

#blog .blog-content {
  background: #FFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin-top: 8.6875rem;
  padding: 4.875em 1.25em 2.5em;
  border-radius: 0 0 1.25em 1.25em;
}

#blog ul li:nth-of-type(3n+1) .blog-content::before {
  background: var(--ws-orange);
}

#blog ul li:nth-of-type(3n+2) .blog-content::before {
  background: var(--ws-purple);
}

#blog ul li:nth-of-type(3n+3) .blog-content::before {
  background: var(--ws-green);
}

#blog ul li:nth-of-type(3n+1) .button {
  border-color: var(--ws-orange);
}

#blog ul li:nth-of-type(3n+2) .button {
  border-color: var(--ws-purple);
}

#blog ul li:nth-of-type(3n+3) .button {
  border-color: var(--ws-green);
}

#blog .blog-header {
  color: var(--ws-blue);
  font-size: 1.5em;
  line-height: 1.17;
  margin: .25em auto 1em;
  padding: 0 .25rem;
}

#blog .blog-description {
  color: var(--ws-gray-2);
  font-size: 1.125em;
  font-weight: 300;
  line-height: 1.33;
}

#blog ul li .button {
  position: absolute;
  right: 50%;
  transform: translateX(50%);
  bottom: -1.5625em;
  background: var(--ws-off-white);
  white-space: nowrap;
}


/* MEDIA (HOME)----------------------------- */
#media h3 {
  color: var(--ws-blue);
  font-size: clamp(1.125em, 0.988em + 0.59vw, 1.5em); /* 375 - 1400 */
  line-height: 1.08;
}

#media p {
  color: var(--ws-gray-2);
  font-size: clamp(1em, 0.954rm + 0.2vw, 1.125em); /* 375 - 1400 */
  line-height: 1.55;
}

#media .button {
  margin-top: .5em;
}

#media article {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1em;
  margin-top: 2em;
}

#media .logo {
  grid-column: 1 / 2;
  padding-inline: .5em;
}

#media .logo>div {
  background: url('/theme-two/images/logo-people.svg') no-repeat center top / contain;
  height: 100%;
  width: 100%;
}

#media .brief {
  grid-column: 2 / 5;
}

#media :is(.left, .right)>div {
  max-width: 100%;
}

/* overrides for FB widgit */
:is(.fb-page, .fb_iframe_widget span, .fb_iframe_widget_fluid span, iframe) {
  max-width: 100%;
  width: 100%;
}

:is(.fb_iframe_widget, .fb_iframe_widget_fluid) span {
  display: block !important;
  margin: 0 auto;
}


/* WELCOME (HOME)----------------------------- */
#welcome {
  background-image: linear-gradient(180deg, var(--ws-light), #FFF 100%);
}

#welcome .circle-image::after {
  background: #FFF;
}

#welcome h2 {
  font-size: clamp(1.25em, 0.93em + 1.37vw, 2.125em); /* 375 - 1400 */
  margin-block: 0 .75em;
}

#welcome h2>span {
  background: var(--ws-blue);
  border-radius: 1.5625em;
  display: table;
  line-height: 1.2;
  padding: 0.136em 0.75em;
}

#welcome h2>span:nth-of-type(1) {
  color: var(--ws-yellow);
  margin: 0 0 .25rem clamp(0.25rem, -0.024rem + 1.17vw, 1rem); /* 375 - 1400 */
  text-transform: uppercase;
}

#welcome h2>span:nth-of-type(2) {
  color: #FFF;
  font-weight: 200;
}

#welcome p {
  color: var(--ws-gray-2);
  font-size: clamp(1.125em, 0.988em + 0.59vw, 1.5em); /* 375 - 1400 */
  line-height: 1.25;
}

#welcome p>:is(b, strong) {
  color: var(--ws-blue-2);
}

#welcome .button {
  margin: 1em 0 0;
}

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

#welcome .image {
  position: relative;
}

#welcome .image>div:first-of-type {
  margin-top: auto;
  margin-left: auto;
  max-width: 35.75em;
  width: 100%;
}

#welcome .image>div:last-of-type {
  bottom: 0;
  left: 0;
  max-width: 15.625em;
  position: absolute;
  width: 38%;
  z-index: 1;
}


/* OUR VALUES (LANDING) ----------------------------- */
#values {
  background: var(--ws-blue);
}

#values h2 {
  color: var(--ws-yellow);
  margin: 0 0 .875em;
  text-transform: uppercase;
}

#values h3 {
  color: var(--ws-orange);
}

#values :is(p, li) {
  color: #FFF;
  font-size: clamp(1em, 0.909em + 0.39vw, 1.25em); /* 375 - 1400 */
  line-height: 1.5;
}

#values .content ul li:before {
  background-color: var(--ws-orange);
}

#values .circle-image {
  max-width: 35.75em;
}

#values :where(a, a *):not(:hover, :focus) {
  color: var(--ws-yellow);
}


/* OUR HISTORY (LANDING) ----------------------------- */
#history {
  background: var(--ws-off-white);
}

#history h2 {
  color: var(--ws-blue);
  margin: 0 0 .875em;
  text-transform: uppercase;
}

#history h3 {
  color: var(--ws-blue-2);
  font-size: clamp(1.25em, 1.159em + 0.39vw, 1.5em); /* 375 - 1400 */
}

#history :is(p, li) {
  font-size: clamp(1em, 0.909em + 0.39vw, 1.25em); /* 375 - 1400 */
  line-height: 1.5;
}

#history .phototreatment {
  float: right;
  margin: 0 0 2em 2em;
  max-width: 32.3125em;
  width: 50%;
}


/* SECTION GRID (LANDING) ----------------------------- */
#grid-section {
  background: #FFF;
}

#grid-section h2 {
  color: var(--ws-blue);
  font-size: clamp(1.5em, 1.134em + 1.56vw, 2.5em); /* 375 - 1400 */
  margin: 0;
  text-transform: uppercase;
}

#grid-section>div {
  display: grid;
  margin-top: 5px;
  padding-block: clamp(2.5em, 1.7em + 3.41vw, 4.688em);
  position: relative;
}

#grid-section .section-top {
  padding: .6875em 0;
  position: relative;
}

#grid-section .section-top img {
  aspect-ratio: 537 / 280;
  object-fit: cover;
  width: 100%;
}

#grid-section .section-body p {
  font-size: clamp(1.125em, 1.079em + 0.2vw, 1.25em); /* 375 - 1400 */
  font-weight: 300;
  line-height: 1.5;
}

#grid-section .section-body p>b {
  color: var(--ws-blue);
}

#grid-section section:nth-of-type(4n+1) .section-top:before,
#grid-section section:nth-of-type(4n+1) .section-top:after {
  background: var(--ws-purple);
}

#grid-section section:nth-of-type(4n+2) .section-top:before,
#grid-section section:nth-of-type(4n+2) .section-top:after {
  background: var(--ws-orange);
}

#grid-section section:nth-of-type(4n+3) .section-top:before,
#grid-section section:nth-of-type(4n+3) .section-top:after {
  background: var(--ws-yellow);
}

#grid-section section:nth-of-type(4n+4) .section-top:before,
#grid-section section:nth-of-type(4n+4) .section-top:after {
  background: var(--ws-green);
}

#grid-section .section-body .button {
  background: var(--ws-off-white);
  margin: .5em 0 0;
}

#grid-section section:nth-of-type(4n+1) .section-body .button {	border-color: var(--ws-purple); }
#grid-section section:nth-of-type(4n+2) .section-body .button { border-color: var(--ws-orange); }
#grid-section section:nth-of-type(4n+3) .section-body .button { border-color: var(--ws-yellow); }
#grid-section section:nth-of-type(4n+4) .section-body .button {	border-color: var(--ws-green); }


/* BG-CALLOUT (LANDING) ----------------------------- */
#bg-callout {
  background: var(--ws-light);
  padding-block: clamp(2.5em, 1.7em + 3.41vw, 4.688em) clamp(1.5em, 0.334em + 4.98vw, 4.688em); /* 375 - 1400 */
  position: relative;
  z-index: 0;
}

#bg-callout::after {
  bottom: 0;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

#bg-callout h2 {
  margin: 0 0 .5em;
}

#bg-callout p {
  font-size: clamp(1.125em, 0.988em + 0.59vw, 1.5em);
  line-height: 1.25;
}

#bg-callout p>:is(b, strong) {
  color: var(--ws-blue);
}

#bg-callout .button {
  font-size: .75em;
  margin: 1em 0 0;
}

#bg-callout .image {
  background: no-repeat right center / cover;
  bottom: 0;
  position: absolute;
  top: 0;
  z-index: -1;
}


/* CALL-TO-ACTION (LANDING) ----------------------------- */
#cta {
  background: no-repeat center / cover;
  grid-column: 1 / -1;
  padding-block: clamp(3em, 2.588em + 1.76vw, 4.125em); /* 375 - 1400 */
  z-index: 0;
}

#cta::after {
  background: var(--ws-blue-2);
  bottom: 0;
  content: '';
  left: 0;
  opacity: .9;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

#cta .circle-image::after {
  border-color: #FFF;
}

#cta .circle-image img {
  border: .1875em solid #FFF;
}

#cta .textbox {
  position: relative;
  z-index: 1;
}

#cta h2 {
  font-size: clamp(1.375em, 1.055em + 1.37vw, 2.25em); /* 375 - 1400 */
  margin-block: 0 .875em;
}

#cta h2>span {
  background: var(--ws-blue);
  border-radius: 1.5625em;
  display: table;
  line-height: 1.2;
  padding: 0.136em 0.75em;
}

#cta h2>span:nth-of-type(1) {
  color: #FFF;
  font-weight: 200;
}

#cta h2>span:nth-of-type(2) {
  color: var(--ws-yellow);
  margin: .25rem 0 0 clamp(0.25rem, -0.024rem + 1.17vw, 1rem);
  text-transform: uppercase;
}

#cta p {
  color: rgba(255,255,255,.8);
  font-size: clamp(1.125em, 0.988em + 0.59vw, 1.5em);
  line-height: 1.25;
}

#cta p>:is(b, strong) {
  color: #FFF;
}


#cta .button {
  margin: 1em 0 0;
}

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


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


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

.scale-in,
.translate-up,
.translate-down,
.translate-left,
.translate-right,
#hero h1>span, #cta h2>span, #welcome h2>span,
.pageHeader strong>span {
  opacity: 0;
  transition: all 1s ease;
}

.scale-in {
  transform: scale(.8);
}

.scale-in.animated {
  opacity: 1;
  transform: scale(1);
}

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

#hero h1>span, #cta h2>span, #welcome h2>span,
.pageHeader strong>span,
.translate-right {
  transform: translate(-3rem,0);
}

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

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

.animated + #program-model .translate-up,
#hero h1.animated>span, #cta h2.animated>span,
#welcome h2.animated>span, .pageHeader strong.animated>span,
:is(.translate-up, .translate-down, .translate-left, .translate-right).animated {
  opacity: 1;
  transform: translate(0,0);
}


/* ALT COLOR SCHEME OVERRIDES ------------------------------ */
.alt :is(#hero h1>span, #hero h1>span>:is(b, strong), #cta h2>span, #welcome h2>span, .pageHeader strong>span) {
  background: var(--ws-yellow);
  color: var(--ws-blue);
}

.alt .fader::after {
  background-image: url('/theme-two/images/curve-alt.svg');
}

.alt #program-model {
  background: var(--ws-blue);
}

.alt #program-model :is(h2, p) {
  color: #FFF;
}

.alt #media .button:not(:is(:hover, :focus)) {
  background: var(--ws-blue);
  border-color: var(--ws-blue);
  color: #FFF;
}


/* COLORED SQUARES (Impact Page)------------------------------ */
#colored-squares.ws-flex {
  --ws-gap: 1em;
}

#colored-squares.ws-flex img {
  width: 100%;
}

/* ************ STYLE.CSS ************ */
