/*
Theme Name: Imperial
Author: Foresite Group
Author URI: https://foresitegrp.com
Version: 1.0

#2E7BB1 - header/footer blue
#5356D1 - light blue
#090C7C - dark blue
#53D162 - light green
#0F7C35 - dark green
#8D53D1 - light purple
#61097C - dark purple
#D15D53 - orange
#0A191F - black

font-family: 'Ligurino', sans-serif;
*/

@font-face {
  font-family: 'Ligurino';
  src: url('inc/fonts/LigurinoBold.woff2') format('woff2'),
       url('inc/fonts/LigurinoBold.woff') format('woff'),
       url('inc/fonts/LigurinoBold.otf') format('opentype');
  font-display: swap;
  font-weight: 700;
}

@font-face {
  font-family: 'Ligurino';
  src: url('inc/fonts/Ligurino.woff2') format('woff2'),
       url('inc/fonts/Ligurino.woff') format('woff'),
       url('inc/fonts/Ligurino.otf') format('opentype');
  font-display: swap;
  font-weight: 400;
}


BODY {
  margin: 0;
  padding: 0;
  background: #F4F4F4;
  color: #0A191F;
  font-weight: 400;
  font-family: 'Ligurino', sans-serif;
  font-size: 16px;
  line-height: 1;
  overflow-x: hidden;
}

IMG { border: 0; }

A { text-decoration: none; transition: all 0.2s; }

.site-width { width: 1266px; margin: 0 auto; }
.site-width-small { width: 1066px; margin: 0 auto; }

/* HEADER */
#nav-spacer { height: 8.75rem; }

HEADER {
  background: #2E7BB1;
  box-shadow: 0 0.1875rem 0.4375rem 0 rgba(0,0,0,0.3);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.site-header { display: flex; justify-content: space-between; }

.site-header NAV { display: flex; }

#header-logo {
  width: 8.125rem;
  height: 8.75rem;
  background: url(images/logo.webp) no-repeat center;
  background-size: contain;
}

LABEL[for="toggle-menu"],
#toggle-menu { display: none; }

.site-header NAV UL {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  font-size: 1.3rem;
  line-height: 1;
}

.site-header NAV UL LI { position: relative; }

.site-header NAV > UL > LI { display: flex; }

.site-header NAV > UL > LI:hover { background: #7FC3F2; }

.site-header NAV > UL > LI > A {
  display: flex;
  align-items: center;
  padding: 0 0.8em;
  color: #FFFFFF;
  font-weight: 700;
}

.site-header NAV > UL > LI.button { align-self: center; }

.site-header NAV > UL > LI.button:hover { background: transparent; }

.site-header NAV > UL > LI.button > A {
  margin-left: 0.8em;
  border-radius: 0.5rem;
  padding: 0.875em 1.45em;
  background: #090C7C;
  font-size: 76%;
}

.site-header NAV > UL > LI.button > A:hover { background: #7FC3F2; }

.site-header NAV UL LI UL {
  display: none;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  background: #FFFFFF;
  box-shadow: 0 0.1875rem 0.4375rem 0 rgba(0,0,0,0.3);
  padding: 0.875em 0;
}

.site-header NAV UL LI:hover UL { display: flex; }

.site-header NAV UL LI UL LI A {
  display: block;
  white-space: nowrap;
  padding: 0.875em 2.25em;
  color: #090C7C;
  font-size: 80%;
}

.site-header NAV UL LI UL LI A:hover { background: #7FC3F2; }

/* FOOTER */
FOOTER { background: #2E7BB1; color: #FFFFFF; padding: 0.9375rem 0 3.5rem; }

#footer-logo {
  display: block;
  margin: 0 auto 3.25rem;
  width: 6.125rem;
  height: 4rem;
  background: url(images/logo.webp) no-repeat center;
  background-size: contain;
}

.site-footer { display: flex; justify-content: space-between; }

.site-footer .footer-contact A { color: #FFFFFF; }
.site-footer .footer-contact A:hover { color: #090C7C; }

.site-footer .footer-contact H2 {
  margin: 0 0 1.5rem;
  font-size: 0.9375rem;
  line-height: 1;
  color: #FFFFFF;
  text-transform: uppercase;
  font-weight: 400;
}

.site-footer .footer-contact > DIV {
  margin-bottom: 1.6875rem;
  min-height: 1.875rem;
  line-height: 1.2;
  display: flex;
  align-items: center;
  padding-left: 3rem;
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 1.875rem auto;
  white-space: nowrap;
}

.site-footer .footer-contact .phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M20 22.621l-3.521-6.795c-.008.004-1.974.97-2.064 1.011-2.24 1.086-6.799-7.82-4.609-8.994l2.083-1.026-3.493-6.817-2.106 1.039c-7.202 3.755 4.233 25.982 11.6 22.615.121-.055 2.102-1.029 2.11-1.033z'/%3E%3C/svg%3E");
}

.site-footer .footer-contact .address {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 0c-4.198 0-8 3.403-8 7.602 0 4.198 3.469 9.21 8 16.398 4.531-7.188 8-12.2 8-16.398 0-4.199-3.801-7.602-8-7.602zm0 11c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3z'/%3E%3C/svg%3E");
}

.site-footer .footer-contact .email {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 12.713l-11.985-9.713h23.97l-11.985 9.713zm0 2.574l-12-9.725v15.438h24v-15.438l-12 9.725z'/%3E%3C/svg%3E");
}

.site-footer .footer-contact .button {
  display: inline-block;
  margin: 1.875rem 0;
  border: 0.1875rem solid #FFFFFF;
  border-radius: 0.75rem;
  padding: 0.7em 1em;
  font-size: 0.9375rem;
  line-height: 1;
  text-transform: uppercase;
}

.site-footer .footer-contact .button:hover { border-color: #090C7C; }

.site-footer .footer-contact .social {
  display: inline-block;
  margin-right: 1em;
  border-radius: 50%;
  width: 2.1875rem;
  height: 2.1875rem;
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50% auto;
}

.site-footer .footer-contact .social:hover { background-color: #090C7C; }

.site-footer .footer-contact .linkedin {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232E7BB1' d='M4.98 3.5c0 1.381-1.11 2.5-2.48 2.5s-2.48-1.119-2.48-2.5c0-1.38 1.11-2.5 2.48-2.5s2.48 1.12 2.48 2.5zm.02 4.5h-5v16h5v-16zm7.982 0h-4.968v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0v8.399h4.988v-10.131c0-7.88-8.922-7.593-11.018-3.714v-2.155z'/%3E%3C/svg%3E");
}

.site-footer NAV UL {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9375rem;
  line-height: 1;
}

.site-footer NAV.menu-footer-under-contact-container UL {
  flex-direction: column;
  margin-bottom: 1.5em;
}

.site-footer NAV UL LI.header { display: none; }

.site-footer NAV > UL > LI { padding-left: 3.75rem; }

.site-footer NAV.menu-footer-under-contact-container > UL > LI { padding: 0.5em 0; }

.site-footer NAV > UL > LI > A {
  color: #FFFFFF;
  text-transform: uppercase;
}

.site-footer NAV > UL > LI > A:hover { color: #090C7C; }

.site-footer NAV UL LI UL {
  flex-direction: column;
  padding-top: 1.25rem;
}

.site-footer NAV UL LI UL LI { padding-bottom: 1.25rem; }

.site-footer NAV UL LI UL LI A { color: #090C7C; }

.site-footer NAV UL LI UL LI A:hover { color: #FFFFFF; }

#bottom-links { display: flex; justify-content: flex-end; align-items: center; }

#menu-bottom-links {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

#menu-bottom-links LI { padding: 0.5rem 0; }

#menu-bottom-links A {
  display: block;
  box-sizing: border-box;
  width: 10.5rem;
  border-radius: 0.5rem;
  padding: 0.9em 1.5em;
  background: #FFFFFF;
  color: #2E7BB1;
  font-weight: 700;
  font-size: 0.625rem;
  line-height: 1;
  position: relative;
}

#menu-bottom-links A.pdf:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.25rem;
  transform: translateY(-50%);
  height: 70%;
  width: 1.875rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232E7BB1' d='M11.363 2c4.155 0 2.637 6 2.637 6s6-1.65 6 2.457v11.543h-16v-20h7.363zm.826-2h-10.189v24h20v-14.386c0-2.391-6.648-9.614-9.811-9.614zm4.811 13h-2.628v3.686h.907v-1.472h1.49v-.732h-1.49v-.698h1.721v-.784zm-4.9 0h-1.599v3.686h1.599c.537 0 .961-.181 1.262-.535.555-.658.587-2.034-.062-2.692-.298-.3-.712-.459-1.2-.459zm-.692.783h.496c.473 0 .802.173.915.644.064.267.077.679-.021.948-.128.351-.381.528-.754.528h-.637v-2.12zm-2.74-.783h-1.668v3.686h.907v-1.277h.761c.619 0 1.064-.277 1.224-.763.095-.291.095-.597 0-.885-.16-.484-.606-.761-1.224-.761zm-.761.732h.546c.235 0 .467.028.576.228.067.123.067.366 0 .489-.109.199-.341.227-.576.227h-.546v-.944z'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

#menu-bottom-links A:hover { opacity: 0.7; }

#menu-bottom-nav {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}

#menu-bottom-nav LI {
  height: 6.625rem;
  margin-left: 2.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#menu-bottom-nav LI.fsc {
  width: 6.875rem;
  background-image: url(images/fsc.webp);
}

#menu-bottom-nav LI.g7 {
  width: 5rem;
  background-image: url(images/g7.webp);
}

#menu-bottom-nav LI.gmi {
  width: 5rem;
  background-image: url(images/gmi.webp);
}

#menu-bottom-nav LI.glga {
  width: 7rem;
  background-image: url(images/GLGA-white.webp);
}

#menu-bottom-nav LI.ecovadis {
  width: 5rem;
  background-image: url(images/ecovadis.webp);
}

#menu-bottom-nav LI A {
  display: block;
  width: 100%;
  height: 100%;
}

#menu-bottom-nav LI A DIV { display: none; }

/* POPOUT */
#popout {
  position: fixed;
  z-index: 1001;
  top: 1.875rem;
  right: -28.125rem;
  width: 28.125rem;
  padding: 2.5rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  box-sizing: border-box;
  border-radius: 1.125rem 0 0 1.125rem;
  background: #FFFFFF;
  color: #A7ADAF;
  font-size: 1.25rem;
  line-height: 1.2;
  text-align: center;
}

#popout.shortscreen {
  top: 1vh;
  height: 98vh;
}

#popout-content { overflow-y: auto; height: 100%; }

#popout-toggle {
  position: absolute;
  top: 50%;
  left: 0;
  transform-origin: top left;
  transform: rotate(270deg) translateX(-50%) translateY(-100%);
  box-shadow: 0.0625rem -0.2rem 0.4375rem 0 rgba(0,0,0,0.16);
  border: 0;
  border-radius: 0.625rem 0.625rem 0 0;
  padding: 0.875rem 5.75rem;
  background: #FFFFFF;
  color: #090C7C;
  font-weight: 700;
  font-size: 1.125rem;
  white-space: nowrap;
  cursor: pointer;
}

#popout H2 {
  margin: 0 0 0.5em;
  padding: 0 5%;
  color: #0A191F;
  font-weight: 400;
  font-size: 130%;
  line-height: 1.2;
}

#popout #popout-fields { margin-top: 2.4rem; position: relative; }

#popout INPUT[type="text"],
#popout INPUT[type="email"],
#popout INPUT[type="tel"],
#popout TEXTAREA,
#contact INPUT[type="text"],
#contact INPUT[type="email"],
#contact INPUT[type="number"],
#contact TEXTAREA {
  outline: 0;
  margin-bottom: 1rem;
  border: 0.1875rem solid #D0D1F4;
  border-radius: 0;
  background: transparent;
  color: #0A191F;
  font-family: 'Ligurino', sans-serif;
  font-weight: 400;
  font-size: 85%;
  line-height: 1;
  padding: 0.625rem 1.1875rem;
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

#popout TEXTAREA, #contact TEXTAREA { height: 5.5rem; }

#contact INPUT[type="number"] { -moz-appearance: textfield; }
#contact INPUT::-webkit-outer-spin-button,
#contact INPUT::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#popout :-ms-input-placeholder,
#contact :-ms-input-placeholder { color: #A7ADAF; }
#popout ::placeholder, #contact ::placeholder,
TEXTAREA::placeholder { color: #A7ADAF; opacity: 1; }
#popout :focus::placeholder, #contact :focus::placeholder,
TEXTAREA:focus::placeholder { color: transparent; opacity: 0; }

#popout .alert, #contact .alert { border-color: #D15D53 !important; }
#popout .alert:-ms-input-placeholder,
#contact .alert:-ms-input-placeholder { color: #D15D53; }
#popout .alert::placeholder,
#contact .alert::placeholder { color: #D15D53; }

#popout .g-recaptcha, #contact .g-recaptcha { overflow: hidden; }

#popout BUTTON[type="submit"],
#contact BUTTON[type="submit"] {
  margin: 1rem 0 0;
  outline: 0;
  border: 0;
  border-radius: 0.5rem;
  box-sizing: border-box;
  padding: 0.65625rem 1em;
  background-image: linear-gradient(to right, #5356D1, #090C7C);
  color: #FFFFFF;
  font-family: 'Ligurino', sans-serif;
  font-weight: 700;
  font-size: 90%;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  width: 80%;
  position: relative;
  z-index: 1;
}

#popout BUTTON[type="submit"]:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, #090C7C, #5356D1);
  opacity: 0;
  transition: opacity 0.2s linear;
  border-radius: inherit;
}

#popout BUTTON[type="submit"]:hover:before { opacity: 1; }

#popout-feedback {
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  color: #D15D53;
}

#popout-feedback-content BUTTON {
  outline: 0;
  border: 0;
  border-radius: 0.5rem;
  box-sizing: border-box;
  padding: 0.65625rem 2em;
  background: #D15D53;
  color: #FFFFFF;
  font-family: 'Ligurino', sans-serif;
  font-weight: 700;
  font-size: 90%;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  transition: 0.2s;
}

#popout-feedback-content BUTTON:hover { background: #A43F2C }

#popout-feedback-content {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}

/* DEFAULT TEMPLATE */
.no-template {
  padding: 4.375rem 0;
  font-size: 1.25rem;
  line-height: 1.6;
}

.no-template H1 {
  margin: 0 0 0.25em;
  font-size: 230%;
  line-height: 1.1;
}

.no-template P { margin: 0 0 1.6em; }

/* HOME PAGE */
#home-header {
  padding: 5.1875rem 0 6.25rem;
  background-image: url(images/home-header-background.webp);
  background-repeat: no-repeat;
  background-position: center bottom 5.625rem;
  background-size: cover;
  color: #A7ADAF;
  font-size: 1.25rem;
  line-height: 1.2;
  text-align: center;
  position: relative;
}

.home-header-bg {
  border-radius: 1.5rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: linear-gradient(to right, #5356D1, #090C7C);
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

.home-header-bg:before { content: ""; display: block; padding-top: 18.5624%; }

#home-header H1 {
  margin: 0;
  color: #0A191F;
  font-weight: 700;
  font-size: 300%;
  line-height: 1.1;
  text-transform: uppercase;
}

#home-header .home-header-text {
  width: 68.7203%;
  margin: 0 auto;
}

#home-header .glightbox,
.subheader .image .glightbox {
  display: block;
  width: 78.6729%;
  margin: 4.75rem auto 0;
  border-radius: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 5;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

#home-header .glightbox:before,
.subheader .image .glightbox:before { content: ""; display: block; padding-top: 39.2570%; }

#home-header .glightbox:after,
.subheader .image .glightbox:after {
  content: "";
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, rgba(83,86,209,0.38), rgba(9,12,124,0.38));
}

#home-header .glightbox > DIV,
.subheader .image .glightbox > DIV {
  content: "";
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 20.7831%;
  border-radius: 50%;
  background: rgba(255,255,255,0.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M3 22v-20l18 10-18 10z'/%3E%3C/svg%3E") no-repeat center;
  background-size: 55% auto;
}

#home-header .glightbox > DIV:before,
.subheader .image .glightbox > DIV:before { content: ""; display: block; padding-top: 100%; }

#home-header .glightbox:hover > DIV,
.subheader .image .glightbox:hover > DIV {
  background-color: rgba(9,12,124,0.55);
}

#home-three-col { display: flex; justify-content: space-between; margin-top: 5rem; }

#home-three-col > DIV {
  display: flex;
  flex-direction: column;
  width: 28.2780%;
  border-radius: 1.5rem;
  margin-top: 6.25rem;
  padding: 11.25rem 1.875rem 1.375rem;
  box-sizing: border-box;
  color: #FFFFFF;
  font-size: 1.25rem;
  line-height: 1.3;
  text-align: center;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  position: relative;
}

#home-three-col > DIV.green {
  background-image: linear-gradient(45deg, #5AB1D2, #097C6F);
}
#home-three-col > DIV.blue {
  background-image: linear-gradient(45deg, #242645, #5F63EF);
}
#home-three-col > DIV.red {
  background-image: linear-gradient(45deg, #D15D53, #7C2409);
}

#home-three-col > DIV > DIV {
  width: 63.1284%;
  position: absolute;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 2.125rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#home-three-col > DIV > DIV:before {
  content: "";
  display: flex;
  padding-top: 106.1946%;
}

#home-three-col > DIV H2 {
  margin: 0 0 0.5em;
  font-size: 150%;
  line-height: 1;
}

#home-three-col > DIV P { margin: 0 0 1.375rem; }

#home-three-col > DIV .button {
  margin: auto auto 0;
  width: 7.5625rem;
  border-radius: 0.75rem;
  box-sizing: border-box;
  padding: 0.5em 1.5em;
  background: #FFFFFF;
  color: #0E1182;
  font-weight: 700;
  font-size: 75%;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

#home-three-col > DIV .button:hover {
  background: #0E1182;
  color: #FFFFFF;
}

#home-text-image { display: flex; justify-content: space-between; margin-top: 7.8125rem; }

#home-text-image .text {
  box-sizing: border-box;
  width: 50%;
  padding-left: 8%;
  font-size: 1.25rem;
  line-height: 1.9;
}

#home-text-image .text H2 {
  margin: 0 0 0.3em;
  color: #0F7C35;
  font-size: 310%;
  line-height: 1.2;
}

#home-text-image .text P { margin: 0 0 1.5rem; }

#home-text-image .text .button {
  display: inline-block;
  width: 61%;
  border-radius: 0.5rem;
  box-sizing: border-box;
  padding: 0.875rem 1em;
  background-image: linear-gradient(to right, #53D162, #097C35);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 115%;
  line-height: 1;
  text-align: center;
  position: relative;
  z-index: 1;
}

#home-text-image .text .button:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to left, #53D162, #097C35);
  opacity: 0;
  transition: opacity 0.2s linear;
  border-radius: inherit;
}

#home-text-image .text .button:hover:before { opacity: 1; }

#home-text-image .image {
  width: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#home-forest {
  margin-top: 7.1875rem;
  padding: 2.875rem 0;
  background-image: linear-gradient(to right, #8D53D1, #61097C);
  color: #FFFFFF;
}

#home-forest .site-width { display: flex; justify-content: space-between; }

#home-forest .image {
  width: 42%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#home-forest .text {
  box-sizing: border-box;
  width: 58%;
  padding-right: 8%;
  font-size: 1.25rem;
  line-height: 1.8;
  text-align: right;
}

#home-forest .text H2 {
  margin: 0 0 0.1em;
  font-size: 310%;
  line-height: 1.2;
}

#home-forest .text > DIV { padding-left: 15% }

#home-forest .text P { margin: 0 0 1.375rem; }

#home-forest .text .button {
  display: inline-block;
  border-radius: 0.75rem;
  padding: 0.5em 1.5em;
  background: #FFFFFF;
  color: #0E1182;
  font-weight: 700;
  font-size: 75%;
  line-height: 1;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

#home-forest .text .button:hover {
  background: #0E1182;
  color: #FFFFFF;
}

#home-testimonials { padding: 4.375rem 0 1.875rem; }

#home-testimonials H2 {
  width: 800px;
  margin: 0 auto 0.5em;
  color: #090C7C;
  font-size: 2.9375rem;
  line-height: 1.2;
  text-align: center;
}

#testimonials-box {
  display: flex;
  width: 1065px;
  margin: 0 auto;
  border-radius: 1.5rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

#testimonials-box .image {
  width: 50%;
  border-radius: 1.5rem 0 0 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#testimonials-box .text {
  width: 50%;
  border-radius: 0 1.5rem 1.5rem 0;
  box-sizing: border-box;
  padding: 3rem 4.6875rem 4.6875rem 3rem;
  background: #FFFFFF;
  color: #9699ED;
  font-size: 1.125rem;
  line-height: 1.9;
  position: relative;
}

#testimonials-box.noimg .text {
  width: 100%;
  border-radius: 1.5rem;
  padding: 3rem 4.6875rem 4.6875rem 4.6875rem;
}

#testimonials-box .text H3,
#testimonials-box .text H4,
#testimonials-box .text H5 {
/*  margin: 0 0 3rem;*/
  margin: 0 0 0.25em;
  color: #090C7C;
  font-size: 161.1111%;
  line-height: 1;
}

#testimonials-box .text H4 { font-size: 130%; font-style: italic; }
#testimonials-box .text H5 { font-size: 120%; }

#testimonials .flickity-page-dots {
  position: static;
  margin-top: 2rem;
  text-align: left;
}

#testimonials .flickity-page-dots LI {
  background: #D9D8D8;
  opacity: 1;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 0.5rem 0 0;
}

#testimonials .flickity-page-dots LI.is-selected { background: #090C7C; }

#testimonials-box .quote-icon {
  position: absolute;
  bottom: 0;
  left: 3rem;
  transform: translateY(50%);
  width: 4.125rem;
  height: 54px;
  background: url(images/quote-icon.webp) no-repeat center;
  background-size: contain;
}

#carousel { margin: 8.75rem 0; }

#carousel .image {
  width: 59.4436%;
  margin: 0 2.5%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  opacity: 0.45;
}

#carousel .image.is-selected { opacity: 1; }

#carousel .image:before {
  content: ''; display: block; padding-top: 54.1871%;
}

#carousel .flickity-button { background: #090C7C; color: #FFFFFF; }
#carousel .flickity-button:hover { background: #5356D1; }
#carousel .flickity-prev-next-button { width: 4rem; height: 4rem; }
#carousel .flickity-prev-next-button.previous { left: 65px; }
#carousel .flickity-prev-next-button.next { right: 65px; }

/* SUBHEADER */
.subheader {
  padding-top: 3.875rem;
  background: linear-gradient(#2E7BB1, #431E76);
  color: #D0D1F4;
  font-size: 0.875rem;
  line-height: 1.6;
  position: relative;
}

.subheader .site-width {
  width: 1066px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 5;
}

.subheader:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 13.6163%;
  background: url(images/subheader-mask.webp) no-repeat bottom center;
  background-size: contain;
}

.subheader:after { content: ""; display: block; padding-top: 11.7130%; }

.subheader.red { background-image: linear-gradient(#D15353, #7C1010); }
.subheader.orange { background-image: linear-gradient(#F78E15, #884717); }
.subheader.green { background: linear-gradient(#53D162, #167F3B); }
.subheader.blue { background: linear-gradient(#53AFD1, #107C6F); }
.subheader.sh-resources { background: linear-gradient(#BA1761, #EA892D); }

.subheader .flickity-viewport { overflow: visible; !important; }

.subheader .text { width: 55%; }
.subheader.noimg .text,
.subheader .site-width.noimg .text { width: 100%; }

.subheader H1 {
  display: inline-block;
  margin: 0 0 1.25rem;
  border: 0.1875rem solid #FFFFFF;
  border-radius: 0.5625rem;
  padding: 0.375rem 2em;
  color: #FFFFFF;
  font-size: 13px;
  line-height: 1;
}

.subheader H2 {
  margin: 0 0 0.2em;
  color: #FFFFFF;
  font-size: 46px;
  line-height: 1.2;
}

.subheader P { margin: 0 0 1.5em; }

.subheader .header-menu {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
}

.subheader .header-menu LI { padding: 1em 1em 0 0; }

.subheader .header-menu A {
  display: inline-block;
  border-radius: 0.5625rem;
  padding: 0.375rem 1.5em;
  background: #FFFFFF;
  color: #431E76;
  font-weight: 700;
  font-size: 81.25%;
  line-height: 1;
  text-transform: uppercase;
}

.subheader.red .header-menu A { color: #7C1010; }
.subheader.orange .header-menu A { color: #884717; }
.subheader.green .header-menu A { color: #167F3B; }
.subheader.blue .header-menu A { color: #107C6F; }

.subheader .header-menu A:hover { background: rgba(255,255,255,0.75); }

.subheader .image { width: 40%; position: relative; }
.subheader.noimg .image { display: none; }

.subheader .image IMG {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 100%;
  height: auto;
}

.subheader .image .glightbox { width: 100%; margin: 0; }

.subheader .image .glightbox:before { padding-top: 58.2417%; }

.subheader .image .glightbox > DIV { width: 30%; }

/* SECTIONS */
.sections-body { padding-bottom: 10.3125rem; }
.sections-body.readmore { padding-bottom: 0; }

.sections-body .site-width {
  width: 1066px;
  box-sizing: border-box;
  margin-top: 8.125rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 1.625rem;
  padding: 4.375rem 4.0625rem;
  background: #FFFFFF;
  font-size: 1.25rem;
  line-height: 1.8;
  position: relative;
  transform-style: preserve-3d;
  scroll-margin-top: 8.75rem;
}

.sections-body.readmore .site-width { margin-top: 3em; }

.sections-body .site-width:before {
  content: "";
  position: absolute;
  transform: translateZ(-1px);
  right: -6.25rem;
  bottom: -4.375rem;
  width: 22.375rem;
  height: 22.375rem;
  border-radius: 1.625rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

.sections-body .site-width:nth-child(even):before,
.sections-body.readmore .site-width:before {
  left: -6.25rem;
}

.sections-body.red .site-width:before { background: linear-gradient(#D15353, #7C1010); }
.sections-body.orange .site-width:before { background: linear-gradient(#F78E15, #884717); }
.sections-body.green .site-width:before { background: linear-gradient(#53D162, #167F3B); }
.sections-body.blue .site-width:before { background: linear-gradient(#53AFD1, #107C6F); }

.sections-body .site-width H2,
.sections-body .site-width H3 {
  margin: 0 0 0.25em;
  font-weight: 700;
  font-size: 230%;
  line-height: 1.2;
}

.sections-body .site-width H3 { font-size: 135%; margin: 0 0 0.1em; }

.sections-body.red .site-width H2,
.sections-body.red .site-width H3 { color: #AC3636; }
.sections-body.orange .site-width H2,
.sections-body.orange .site-width H3 { color: #F78E25; }
.sections-body.green .site-width H2,
.sections-body.green .site-width H3 { color: #0F7C35; }
.sections-body.blue .site-width H2,
.sections-body.blue .site-width H3 { color: #178179; }

.sections-body .site-width P { margin: 0 0 1.5em; }

.sections-body .site-width UL {
  margin: 0 0 1.5em 0.25em;
  padding: 0 0 0 0.75em;
}

.sections-body .site-width UL.col2 { columns: 2; column-gap: 10%; }
.sections-body .site-width UL.col3 { columns: 3; column-gap: 5%; }

.sections-body .site-width A { color: #2E7BB1; }
.sections-body .site-width A:hover { color: #090C7C; }

.sections-body.readmore .toggle-more { display: none; }

.sections-body.readmore .toggle-more + LABEL {
  display: inline-block;
  box-sizing: border-box;
  min-width: 17.375rem;
  border-radius: 0.8rem;
  padding: 0.66rem 2em;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 135%;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

.sections-body.readmore.red .toggle-more + LABEL { background: linear-gradient(to left, #D15353, #7C1010); }

.sections-body.readmore .toggle-more + LABEL:after { content: " More"; }
.sections-body.readmore .toggle-more:checked + LABEL:after { content: " Less"; }

.sections-body.readmore .toggle-more + LABEL + .more {
  height: 0; padding: 0; opacity: 0;
  transition: height 0.5s, padding 0.5s, opacity 0.25s;
}

.sections-body.readmore .toggle-more:checked + LABEL + .more {
  height: auto; padding: 0.25rem 0 0; opacity: 1;
}

/* RESOURCES */
.resource {
  box-sizing: border-box;
  margin-top: 8.125rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 1.625rem;
  padding: 3.125rem 4.0625rem;
  background: #FFFFFF;
  font-size: 1.25rem;
  line-height: 1.8;
  position: relative;
  transform-style: preserve-3d;
}

.resource:before {
  content: "";
  position: absolute;
  transform: translateZ(-1px);
  left: -3.625rem;
  bottom: -3.625rem;
  width: 22.375rem;
  height: 22.375rem;
  border-radius: 1.625rem;
  background: linear-gradient(225deg, #2E7BB1, #431E76);
}

.resource:nth-child(even):before { left: auto; right: -3.625rem; }

#video { margin-top: 4.375rem; }

#news { margin-bottom: 8.625rem; }

.resource H2 {
  margin: 0;
  color: #42237A;
  font-size: 2.875rem;
  line-height: 1;
}

.resource .viewmore {
  display: block;
  width: 17.5rem;
  box-sizing: border-box;
  margin: 3.0625rem auto 0;
  border-radius: 0.5rem;
  padding: 0.5em 1em;
  background: linear-gradient(to right, #5F63EF, #0B0D31);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1;
  text-align: center;
}

.resource .viewmore:hover { background: linear-gradient(to left, #5F63EF, #0B0D31); }

.resource .videos-index, .resource .news-index { padding-bottom: 0; }

.resources .news-index > DIV { margin-top: 2em; }
.resources .news-index > DIV .content { max-height: 7.8em; }

/* VIDEOS */
.subheader.videos .text { width: 45%; }
.subheader.videos .image { width: 53%; position: relative; }

.videos-menu UL {
  margin: 3rem 0 1rem; padding: 0; list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1;
}

.videos-menu UL LI { padding: 1em 1rem 0 0; }

.videos-menu UL LI A {
  display: inline-block;
  outline: 0.1875rem solid #9699ED;
  outline-offset: -0.1875rem;
  border-radius: 0.5rem;
  padding: 0.40625rem 1.5rem;
  color: #9699ED;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
}

.videos-menu UL LI A:hover,
.videos-menu UL LI A.current {
  outline-color: transparent;
  background: linear-gradient(to right, #53AFD1, #097C6F);
  color: #FFFFFF;
}

.videos-index {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 4rem;
}

.videos-index:after { content: ""; width: 31.8949%; }

.videos-index > DIV {
  width: 31.8949%;
  margin-top: 2rem;
  color: #A7ADAF;
  font-size: 0.625rem;
  line-height: 1.3;
}

.videos-index > DIV P { margin: 0 0 1.3em; }

.videos-index > DIV .image { box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3); }

.videos-index > DIV .image .glightbox {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 5;
}

.videos-index > DIV .image .glightbox:before {
  content: ""; display: block; padding-top: 56.7647%;
}

.videos-index > DIV .image .glightbox:after {
  content: "";
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 30%;
  height: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M3 22v-20l18 10-18 10z'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  opacity: 0.8;
}

.videos-index > DIV .image .glightbox:hover:after { opacity: 1; }

.videos-index > DIV .term,
.portfolio-index .glightbox .term {
  display: inline-block;
  box-sizing: border-box;
  margin-top: 1.0625rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 0.8rem;
  padding: 0.5em 2.5em;
  background: linear-gradient(to right, #53AFD1, #097C6F);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 150%;
  line-height: 1;
}

.videos-index > DIV .term.color0,
.portfolio-index .glightbox .term.color0 { background: linear-gradient(to right, #D15353, #7C1010); }
.videos-index > DIV .term.color1,
.portfolio-index .glightbox .term.color1 { background: linear-gradient(to right, #5F63EF, #0B0D31); }
.videos-index > DIV .term.color2,
.portfolio-index .glightbox .term.color2 { background: linear-gradient(to right, #8D53D1, #61097C); }
.videos-index > DIV .term.color3,
.portfolio-index .glightbox .term.color3 { background: linear-gradient(to right, #53D162, #167F3B); }

.videos-index > DIV H2 {
  margin: 0.75rem 0 0.8rem;
  color: #0A191F;
  font-size: 240%;
  line-height: 1.2;
}

.videos-index > DIV .date { font-weight: 700; font-size: 150%; line-height: 1; }

/* PORTFOLIO */
.subheader.portfolio .site-width { align-items: center; }
.subheader.portfolio .text { width: 42%; }
.subheader.portfolio .image { width: 54.5%; }

.subheader.portfolio .image .glightbox { border-radius: 0; }
.subheader.portfolio .image .glightbox:before { padding-top: 54.1284%; }
.subheader.portfolio .image .glightbox:after { background-image: none; }

#carousel { margin: 3rem 0; }

#carousel .image-wrap {
  width: 59.4436%;
  margin: 0 2.5%;
  font-weight: 700;
  font-size: 2.0625rem;
  line-height: 1.2;
  opacity: 0.45;
}

#carousel .image-wrap.is-selected { opacity: 1; }

#carousel.portfolio .image {
  width: 100%;
  margin: auto;
  margin-bottom: 1rem;
  opacity: 1;
}

.portfolio-index {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 1rem 0 7rem;
}

.portfolio-index:after { content: ""; width: 31.9887%; }

.portfolio-index .glightbox {
  width: 31.9887%;
  margin-top: 4rem;
  color: #0A191F;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.2;
}

.portfolio-index .glightbox .image {
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 0.5rem;
}

.portfolio-index .glightbox .image:before {
  content: ""; display: block; padding-top: 56.5982%;
}

.portfolio-index .glightbox .term { font-size: 60%; margin: 0.5rem 0 0.8rem; }

#portfolio H2 { margin-bottom: 2.25rem; }

#portfolio .portfolio-wrap {
  display: flex; justify-content: space-between; flex-direction: row-reverse;
}

#portfolio .portfolio-wrap .image1 {
  width: 77%;
  font-weight: 700;
  font-size: 2.0625rem;
}

#portfolio .portfolio-wrap .image3 { width: 19.7649%; }

#portfolio .glightboxp {
  display: block;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#portfolio .glightboxp:before {
  content: ""; display: block; padding-top: 54.2613%;
}

#portfolio .portfolio-wrap .image3 .glightboxp { margin-bottom: 26.059px; }

#portfolio .portfolio-wrap .image3 .glightboxp:before {
  content: ""; display: block; padding-top: 61.0810%;
}

.gslide-description { margin-top: 1rem !important; }

.glightbox-clean .gdesc-inner {
  display: flex; justify-content: space-between; align-items: center;
}

.glightbox-clean .gslide-title {
  margin: 0 !important;
  font-weight: bold !important;
  width: 20%;
}

.glightbox-clean .gslide-desc { width: 75%; }

/* NEWS */
.subheader.news .site-width { justify-content: space-between; align-items: center; }

.subheader.news.single .site-width { justify-content: space-between; }

.subheader.news .text { width: 32.6454%; }

.subheader.news > .site-width > .image {
  width: 58.8180%;
  border-radius: 2.25rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.subheader.news > .site-width > .image:before {
  content: ""; display: block; padding-top: 60%;
}

.subheader.news .post {
  display: flex;
  justify-content: space-between;
  width: 58.8180%;
  box-sizing: border-box;
  border-radius: 2.25rem;
  padding: 2.5rem 1.625rem;
  background: #FFFFFF;
  color: #D0D1F4;
  font-size: 1.125rem;
  line-height: 1.4;
}

.subheader.news .post .image {
  width: 36%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.subheader.news .post .content { width: 60%; }

.subheader.news .post H2 { color: #42237A; }

.subheader.news .post .button,
.news-index > DIV .button {
  display: inline-block;
  margin-top: 1em;
  border-radius: 0.5rem;
  padding: 0.5em 4.2em;
  background: linear-gradient(to right, #5F63EF, #0B0D31);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 83.3333%;
  line-height: 1;
}

.subheader.news .post .button:hover,
.news-index > DIV .button:hover {
  background: linear-gradient(to left, #5F63EF, #0B0D31);
}

.news-index {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 4rem;
}

.news-index:after { content: ""; width: 29.6435%; }

.news-index > DIV {
  display: flex;
  flex-direction: column;
  width: 29.6435%;
  margin-top: 3rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 0 0 2rem 2rem;
  background: #FFFFFF;
  color: #D0D1F4;
  font-size: 1.125rem;
  line-height: 1.3;
}

.news-index > DIV .image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.news-index > DIV .image:before { content: ""; display: block; padding-top: 61.0759%; }

.news-index > DIV H2 {
  margin: 0;
  padding: 1.5rem 3.125rem 0.25em;
  color: #42237A;
  font-size: 166.6666%;
  line-height: 1.2;
  text-align: center;
}

.news-index > DIV .content {
  margin-bottom: 1em;
  padding: 0 3.125rem;
  text-align: center;
  max-height: 9.1em;
  overflow: hidden;
}

.news-index > DIV .button {
  width: 10rem;
  margin: auto auto 1.5rem;
  box-sizing: border-box;
  text-align: center;
}

.news-single {
  box-sizing: border-box;
  margin: 3rem auto 4rem;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 2rem;
  padding: 2.125rem 3.125rem;
  background: #FFFFFF;
  color: #42237A;
  font-size: 1.125rem;
  line-height: 1.3;
}

/* DOWNLOADS */
#downloads-page {
  padding: 3rem 0 5rem;
  line-height: 1.5;
}

#downloads-page H1 {
  margin: 0 0 0.15em;
  color: #090C7C;;
  font-size: 2.875rem;
  line-height: 1;
}

#downloads-page P { margin: 0 0 1.5em; }

#downloads {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  box-sizing: border-box;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 1.625rem;
  padding: 3rem;
  background: #FFFFFF;
  font-size: 1.25rem;
  line-height: 1;
}

#downloads A.button {
  display: flex;
  align-items: center;
  width: 35%;
  min-width: 21.875rem;
  margin: 1em;
  box-sizing: border-box;
  border-radius: 0.5rem;
  padding: 0.9375rem 2.25em 0.9375rem 1.25rem;
  background: #090C7C;;
  color: #FFFFFF;
  font-size: 1.125rem;
  line-height: 1;
  position: relative;
}

#downloads A.button.pdf::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0.8rem;
  height: 100%;
  width: 1.875rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M11.363 2c4.155 0 2.637 6 2.637 6s6-1.65 6 2.457v11.543h-16v-20h7.363zm.826-2h-10.189v24h20v-14.386c0-2.391-6.648-9.614-9.811-9.614zm4.811 13h-2.628v3.686h.907v-1.472h1.49v-.732h-1.49v-.698h1.721v-.784zm-4.9 0h-1.599v3.686h1.599c.537 0 .961-.181 1.262-.535.555-.658.587-2.034-.062-2.692-.298-.3-.712-.459-1.2-.459zm-.692.783h.496c.473 0 .802.173.915.644.064.267.077.679-.021.948-.128.351-.381.528-.754.528h-.637v-2.12zm-2.74-.783h-1.668v3.686h.907v-1.277h.761c.619 0 1.064-.277 1.224-.763.095-.291.095-.597 0-.885-.16-.484-.606-.761-1.224-.761zm-.761.732h.546c.235 0 .467.028.576.228.067.123.067.366 0 .489-.109.199-.341.227-.576.227h-.546v-.944z'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

#downloads A.button:hover { background: #2E7BB1; }


/* CONTACT & CAREERS */
#has-sidebar-bg {
  padding-top: 3.875rem;
  background: linear-gradient(#53CCD1, #0F5F7C);
  position: absolute;
  top: 8.75rem;
  left: 0;
  width: 100%;
}

#has-sidebar-bg:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 13.6163%;
  background: url(images/subheader-mask.webp) no-repeat bottom center;
  background-size: contain;
}

.has-sidebar {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 5;
  padding: 3.875rem 0 4rem;
}

.has-sidebar .content {
  width: 32.8330%;
  min-width: 17.5625rem;
  display: flex;
  flex-direction: column;
}

.has-sidebar .content .top {
  padding-bottom: 10rem;
  color: #D0D1F4;
  font-size: 0.875rem;
  line-height: 1.6;
}

.has-sidebar .content .top H1 {
  display: inline-block;
  margin: 0 0 1.25rem;
  border: 0.1875rem solid #FFFFFF;
  border-radius: 0.5625rem;
  padding: 0.375rem 2em;
  color: #FFFFFF;
  font-size: 13px;
  line-height: 1;
}

.has-sidebar .content .top H2 {
  margin: 0 0 0.2em;
  color: #FFFFFF;
  font-size: 46px;
  line-height: 1.2;
}

.has-sidebar .content .bottom {
  margin: auto 0;
}

.has-sidebar .content .bottom UL {
  margin: 0; padding: 0; list-style-type: none;
  width: 17.5625rem;
}

.has-sidebar .content .bottom UL LI { padding: 0.75rem 0; }

.has-sidebar .content .bottom UL LI A,
.sidebar.careers .career A.button {
  display: block;
  border-radius: 0.5rem;
  padding: 0.9375rem 1.25rem;
  background: linear-gradient(to left, #53CCD1, #0F5F7C);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  position: relative;
}

.has-sidebar .content .bottom UL LI A.pdf:after,
.sidebar.careers .career A.button.pdf:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0.8rem;
  height: 100%;
  width: 1.875rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M11.363 2c4.155 0 2.637 6 2.637 6s6-1.65 6 2.457v11.543h-16v-20h7.363zm.826-2h-10.189v24h20v-14.386c0-2.391-6.648-9.614-9.811-9.614zm4.811 13h-2.628v3.686h.907v-1.472h1.49v-.732h-1.49v-.698h1.721v-.784zm-4.9 0h-1.599v3.686h1.599c.537 0 .961-.181 1.262-.535.555-.658.587-2.034-.062-2.692-.298-.3-.712-.459-1.2-.459zm-.692.783h.496c.473 0 .802.173.915.644.064.267.077.679-.021.948-.128.351-.381.528-.754.528h-.637v-2.12zm-2.74-.783h-1.668v3.686h.907v-1.277h.761c.619 0 1.064-.277 1.224-.763.095-.291.095-.597 0-.885-.16-.484-.606-.761-1.224-.761zm-.761.732h.546c.235 0 .467.028.576.228.067.123.067.366 0 .489-.109.199-.341.227-.576.227h-.546v-.944z'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

.has-sidebar .content .bottom UL LI A:hover,
.sidebar.careers .career A.button:hover {
  background: linear-gradient(to right, #53CCD1, #0F5F7C);
}

.has-sidebar .sidebar {
  width: 63.3208%;
  box-sizing: border-box;
  box-shadow: 0 0 0.4375rem 0 rgba(0,0,0,0.3);
  border-radius: 1.625rem;
  padding: 2.8125rem;
  background: #FFFFFF;
}

.has-sidebar .sidebar .mapaddr {
  display: flex; justify-content: space-between;
  margin-top: 3rem;
}

.has-sidebar .sidebar .mapaddr .map { width: 45%; position: relative; }

.has-sidebar .sidebar .mapaddr .map:before {
  content: ""; display: block; padding-top: 100%;
}

.has-sidebar .sidebar .mapaddr .map IFRAME {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.has-sidebar .sidebar .mapaddr .addr {
  width: 42%;
  color: #A7ADAF;
  font-size: 1.0625rem;
  line-height: 2;
  display: flex;
  flex-direction: column;
}

.has-sidebar .sidebar .mapaddr .addr .button {
  display: block;
  margin-top: auto;
  border-radius: 0.5rem;
  padding: 0.6em 1em;
  background: linear-gradient(to left, #53CCD1, #0F5F7C);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
}

.has-sidebar .sidebar .button:hover {
  background: linear-gradient(to right, #53CCD1, #0F5F7C);
}

/* CONTACT */
#contact H3 {
  margin: 0 0 0.5em;
  color: #4EC4CB;
  font-size: 2.875rem;
  line-height: 1;
}

#contact INPUT[type="radio"] { display: none; }

#contact INPUT[type="radio"] + LABEL { display: inline-block; margin-bottom: 24px; }

#contact INPUT[type="radio"] + LABEL:before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  border: 0.1875rem solid #707070;
  border-radius: 50%;
  margin-right: 0.73em;
  position: relative;
  top: 2px;
}

#contact INPUT[type="radio"]:checked + LABEL:before { background: #707070; }

#contact INPUT[type="text"],
#contact INPUT[type="email"],
#contact INPUT[type="number"],
#contact TEXTAREA {
  margin-bottom: 2rem;
  font-size: 1.0625rem;
}

#contact .col2 {
  display: flex; justify-content: space-between; flex-wrap: wrap;
  margin-top: 2rem;
}

#contact .col2 INPUT[type="text"],
#contact .col2 INPUT[type="email"],
#contact .col2 INPUT[type="number"] {
  width: 48%;
}

#contact BUTTON[type="submit"] {
  display: block;
  width: 13.9375rem;
  margin: 1.5rem auto;
  background: linear-gradient(to left, #53CCD1, #0F5F7C);
  font-size: 1.125rem;
}

#contact BUTTON[type="submit"]:hover {
  background: linear-gradient(to right, #53CCD1, #0F5F7C);
}

#modal {
  display: none;
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
}

#modal-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 31.25rem;
  box-sizing: border-box;
  padding: 1.75rem 2.25rem;
  background: #FFFFFF;
  color: #221F20;
  font-size: 1.5rem;
  line-height: 1.2;
}

@media only screen and (max-width: 550px) { #modal-box { width: 96%; } }

#modal-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 1.875rem;
  height: 1.875rem;
  cursor: pointer;
}

#modal-button:before {
  content: "\2715";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 70%;
}

/* CAREERS */
.sidebar.careers .intro {
  border-bottom: 1px solid #53CCD1;
  font-size: 20px;
  line-height: 1.8;
  text-align: center;
}

.sidebar.careers A { color: #2E7BB1; }
.sidebar.careers A:hover { color: #53CCD1; }

.sidebar.careers .career {
  border-bottom: 1px solid #53CCD1;
  padding: 30px 0 35px;
  font-size: 14px;
  line-height: 1.6;
}

.sidebar.careers .career H3 {
  margin: 0;
  color: #13617C;
  font-size: 214.2857%;
  line-height: 1;
}

.sidebar.careers .career A.button { width: 209px; font-size: 13px; }

.alignleft { float: left; margin: 0 3rem 1rem 0; max-width: 40%; height: auto; }
.alignright { float: right; margin: 0 0 1rem 3rem; max-width: 40%; height: auto; }

.alignleft.small, .alignright.small { max-width: 30%; }

.alignleft.logo, .alignright.logo { max-width: 184px; }


















@media only screen and (max-width: 1300px) {
  .site-width { width: 96%; }

  .site-header NAV UL { font-size: 1.6vw; }

  #home-header { padding-bottom: 7.692vw; }

  #home-three-col > DIV { padding-top: 13.846vw; }
  #home-three-col > DIV > DIV { top: -6.154vw; }
}

@media only screen and (max-width: 1140px) {
  .site-width-small, .subheader .site-width,
  .sections-body .site-width { width: 96%; }

  #portfolio .portfolio-wrap .image3 .glightboxp { margin-bottom: 2.286vw; }
}

@media only screen and (max-width: 1100px) {
  #testimonials-box { width: 96%; }
}

@media only screen and (max-width: 900px) {
  #home-three-col { flex-wrap: wrap; justify-content: space-around; margin-top: 7.778vw; }
  #home-three-col > DIV { width: 40%; margin-top: 13.333vw; padding-top: 19vw; }
  #home-three-col > DIV > DIV { top: -8.889vw; }

  #home-text-image .text { width: 48%; padding-left: 0; }

  #home-testimonials H2 { width: 96%; }

  #testimonials-box { flex-direction: column-reverse; }
  #testimonials-box .image { width: 100%; border-radius: 0 0 1.5rem 1.5rem; }
  #testimonials-box .image:before { content: ""; display: block; padding-top: 50%; }
  #testimonials-box .text { width: 100%; border-radius: 1.5rem 1.5rem 0 0; }

  .sections-body .site-width UL.col3 { columns: 2; }

  .has-sidebar { flex-direction: column; }
  .has-sidebar .content { width: 100%; }
  .has-sidebar .content .top { padding-bottom: 8rem; }
  .has-sidebar .sidebar { width: 100%; margin-top: 2rem; }
}

@media only screen and (max-width: 800px) {
  .subheader .site-width { flex-direction: column; }
  .subheader .text, .subheader.videos .text,
  .subheader.news .text, .subheader.news > .site-width > .image { width: 100%; }
  .subheader .image,
  .subheader.news .post { width: 100%; margin-top: 2rem; }
  .subheader .image IMG { position: static; transform: none; }

  .videos-index > DIV,
  .news-index > DIV { width: 48%; }

  .subheader.portfolio .text,
  .subheader.portfolio .image { width: 100%; }

  .portfolio-index .glightbox { width: 48%; }

  #portfolio .portfolio-wrap { flex-direction: column; }
  #portfolio .portfolio-wrap .image1 { width: 100%; }
  #portfolio .portfolio-wrap .image3 {
    width: 100%; margin-top: 2rem;
    display: flex; justify-content: space-between;
  }
  #portfolio .portfolio-wrap .image3 .glightboxp { width: 32%; }
}

@media only screen and (max-width: 750px) {
  .site-header { align-items: center; }

  LABEL[for="toggle-menu"] {
    display: inline-block;
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    cursor: pointer;
    margin: 0;
  }

  LABEL[for="toggle-menu"] DIV,
  LABEL[for="toggle-menu"] DIV:before,
  LABEL[for="toggle-menu"] DIV:after {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 0.375rem;
    width: 100%;
    background: #FFFFFF;
    transition: all 0.2s ease-in-out;
  }

  LABEL[for="toggle-menu"] DIV:before,
  LABEL[for="toggle-menu"] DIV:after {
    content: "";
    top: -0.75rem;
    transform: none;
    transform-origin: 0% 0%;
  }

  LABEL[for="toggle-menu"] DIV:after { top: 0.75rem; }

  #toggle-menu:checked + LABEL[for="toggle-menu"] DIV { background: transparent; }

  #toggle-menu:checked + LABEL[for="toggle-menu"] DIV:before,
  #toggle-menu:checked + LABEL[for="toggle-menu"] DIV:after {
    top: 50%;
    left: 50%;
    transform: rotate(45deg) translate(-50%,-50%);
  }

  #toggle-menu:checked + LABEL[for="toggle-menu"] DIV:after { transform: rotate(-45deg) translate(-50%,-50%); }

  #toggle-menu:checked + LABEL[for="toggle-menu"]:after { display: none; }

  #toggle-menu + LABEL[for="toggle-menu"] + NAV { display: none; }
  #toggle-menu:checked + LABEL[for="toggle-menu"] + NAV { display: flex; }
  
  .site-header NAV {
    position: absolute;
    top: 8.75rem;
    left: 0;
    z-index: 999;
    width: 100%;
    background: #2E7BB1;
  }

  .site-header NAV UL {
    width: 100%;
    flex-direction: column;
    font-size: 2rem;
    padding-bottom: 1em;
  }

  .site-header NAV UL LI:hover UL { display: none; }

  .site-header NAV > UL > LI > A {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5em 2%;
    text-align: center;
  }

  .site-header NAV > UL > LI.button > A { margin: 0.5em 0 0; }

  #home-text-image { flex-direction: column; }
  #home-text-image .text { width: 100%; }
  #home-text-image .image { width: 100%; margin-top: 3em; }
  #home-text-image .image:before { content: ""; display: block; padding-top: 61.25%; }

  #home-forest .site-width { flex-direction: column-reverse; }
  #home-forest .text { width: 100%; }
  #home-forest .image { width: 100%; margin-top: 3em; }
  #home-forest .image:before { content: ""; display: block; padding-top: 61.25%; }

  .sections-body .site-width UL.col2,
  .sections-body .site-width UL.col3 { columns: 1; column-gap: normal; }
}

@media only screen and (max-width: 650px) {
  .has-sidebar .sidebar .mapaddr .addr { width: 46%; }
}

@media only screen and (max-width: 600px) {
  #home-header H1 { font-size: 10.833vw; }
  #home-header .home-header-text { width: 90%; }

  #home-three-col > DIV { width: 100%; margin-top: 24vw; padding-top: 50vw; }
  #home-three-col > DIV > DIV { top: -17vw; }

  .videos-index > DIV,
  .news-index > DIV { width: 100%; }

  #contact .col2 INPUT[type="text"],
  #contact .col2 INPUT[type="email"],
  #contact .col2 INPUT[type="number"] {
    width: 100%;
  }
  
  .has-sidebar .sidebar .mapaddr { flex-direction: column; }
  .has-sidebar .sidebar .mapaddr .map { width: 100%; }
  .has-sidebar .sidebar .mapaddr .addr { width: 100%; margin-top: 2em; }
  .has-sidebar .sidebar .mapaddr .addr .button { margin-top: 2em; }

  .portfolio-index .glightbox { width: 100%; }

  #portfolio .portfolio-wrap .image3 { flex-direction: column; }
  #portfolio .portfolio-wrap .image3 .glightboxp { width: 100%; margin-bottom: 1rem; }

  .glightbox-clean .gdesc-inner { flex-direction: column; }
  .glightbox-clean .gslide-title { width: 100%; }
  .glightbox-clean .gslide-desc { width: 100%; margin-top: 0.5rem; }
}

@media only screen and (max-width: 520px) {
  #popout { right: -88%; width: 88%; }

  .site-footer { flex-direction: column; }

  .site-footer .menu-main-nav-container { margin: 2rem 0; }

  .site-footer NAV > UL > LI { padding-left: 0; width: 50%; }

  #bottom-links { flex-direction: column; justify-content: center; }

  #menu-bottom-nav { margin-top: 1rem; }
  #menu-bottom-nav LI:first-of-type { margin-left: 0; }
}