@charset "UTF-8";
/*

    Theme Name: Joshua Tree
    Theme URI: https://esassoc.com/
    Author: OBW
    Author URI: https://esassoc.com/
    Description: Version 1.0 of Joshua Tree, a WordPress theme for OBW
    Version: 1.0

*/
/* HTML5 */
@import url("https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&amp;display=swap");
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
}

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

/* HTML & BODY */
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

html, button, input, select, textarea {
  font-family: sans-serif;
}

body {
  margin: 0;
  font-size: 1em;
  line-height: 1;
}

/* Links */
a {
  text-decoration: none;
}

a:hover abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: 600;
}

i, em {
  font-style: italic;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

ins {
  background: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background: #ff0;
  color: #000;
}

p, pre {
  margin: 1em 0;
}

code, kbd, pre, samp {
  font-family: monospace, serif;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before, q:after {
  content: "";
  content: none;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  font-weight: normal;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
}

/* Lists */
dd {
  margin: 0 0 0 40px;
}

ul, ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}

/* Embedded Content */
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: middle;
}

svg:not(:root) {
  overflow: hidden;
}

/* Figure */
figure {
  margin: 0;
}

/* Forms */
form {
  margin: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

label {
  cursor: pointer;
}

legend {
  border: 0;
  *margin-left: -7px;
  padding: 0;
  white-space: normal;
}

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button, input {
  line-height: normal;
}

button, input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

button[disabled], input[disabled] {
  cursor: default;
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
  *width: 13px;
  *height: 13px;
}

input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

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

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td {
  vertical-align: top;
}

/* Absolute Positioning */
div, article, section, header, footer, nav, figure, li {
  position: relative;
}

/* Border-Box */
* {
  box-sizing: border-box;
}

/* Responsive Image */
img {
  display: block;
  max-width: 100%;
  height: auto;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-ultralight.woff2) format("woff2"), url(helveticaneue-ultralight.woff) format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-ultralightitalic.woff2) format("woff2"), url(helveticaneue-ultralightitalic.woff) format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-light.woff2) format("woff2"), url(helveticaneue-light.woff) format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-lightitalic.woff2) format("woff2"), url(helveticaneue-lightitalic.woff) format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue.woff2) format("woff2"), url(helveticaneue.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-italic.woff2) format("woff2"), url(helveticaneue-italic.woff) format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-medium.woff2) format("woff2"), url(helveticaneue-medium.woff) format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-bold.woff2) format("woff2"), url(helveticaneue-bold.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url(helveticaneue-bolditalic.woff2) format("woff2"), url(helveticaneue-bolditalic.woff) format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
body,
button,
input,
select,
optgroup,
textarea {
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a {
  color: #00A69C;
  transition: all 0.2s ease;
}

::-moz-selection {
  background: #F9A134;
  color: #fff;
  text-shadow: none;
}

::selection {
  background: #F9A134;
  color: #fff;
  text-shadow: none;
}

.section-header {
  padding-bottom: 3rem;
}
.section-header h2 {
  font-weight: 700;
  font-size: clamp(3rem, 3.4vw, 3.75rem);
  line-height: 1.125em;
}
.section-header h2.special {
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: clamp(1.125rem, 1.2vw, 1.25rem);
}

.page-title {
  color: #000;
  font-weight: 700;
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  line-height: 1.125em;
}

.title-headline {
  font-size: clamp(1.75rem, 2vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25em;
}
.title-headline.small {
  font-size: clamp(1.375rem, 1.5vw, 1.75rem);
}
.title-headline.x-small {
  font-size: clamp(1.25rem, 1.4vw, 1.5rem);
}

.section-headline {
  font-size: clamp(2.5rem, 3vw, 3rem);
  font-weight: 700;
  line-height: 1.25em;
}
.section-headline.small {
  font-size: clamp(2rem, 2.5vw, 2.75rem);
}
.section-headline.x-small {
  font-size: clamp(1.75rem, 2vw, 2.25rem);
}

.copy-1 {
  font-size: clamp(1.375rem, 1.4vw, 1.625rem);
  line-height: 1.5em;
}
.copy-1.extended > * {
  margin-bottom: 2rem;
}
.copy-2 {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.5em;
}
.copy-2.extended > * {
  margin-bottom: 2rem;
}
.copy-3 {
  font-size: clamp(0.875rem, 0.9vw, 1rem);
  line-height: 1.375em;
}
.copy-3.extended > * {
  margin-bottom: 1rem;
}
.copy-1 a, .copy-2 a, .copy-3 a {
  color: #00A69C;
  font-weight: bold;
}
.copy-1 a:hover, .copy-2 a:hover, .copy-3 a:hover {
  text-decoration: underline;
}
.copy-1.extended h1,
.copy-1.extended h2,
.copy-1.extended h3,
.copy-1.extended h4,
.copy-1.extended h5,
.copy-1.extended h6, .copy-2.extended h1,
.copy-2.extended h2,
.copy-2.extended h3,
.copy-2.extended h4,
.copy-2.extended h5,
.copy-2.extended h6, .copy-3.extended h1,
.copy-3.extended h2,
.copy-3.extended h3,
.copy-3.extended h4,
.copy-3.extended h5,
.copy-3.extended h6 {
  line-height: 1.375em;
}
.copy-1.extended h1, .copy-2.extended h1, .copy-3.extended h1 {
  font-weight: 800;
  font-size: clamp(3rem, 5vw, 4rem);
}
.copy-1.extended h2, .copy-2.extended h2, .copy-3.extended h2 {
  font-size: clamp(2.5rem, 3vw, 3rem);
  font-weight: 700;
}
.copy-1.extended h3, .copy-2.extended h3, .copy-3.extended h3 {
  font-weight: 700;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
}
.copy-1.extended h4, .copy-2.extended h4, .copy-3.extended h4 {
  font-weight: normal;
  font-size: clamp(1.25rem, 1.75vw, 1.625rem);
}
.copy-1.extended .section-headline, .copy-2.extended .section-headline, .copy-3.extended .section-headline {
  font-size: clamp(2.5rem, 3vw, 3rem);
}
.copy-1.extended h5, .copy-2.extended h5, .copy-3.extended h5 {
  font-size: clamp(1.375rem, 1.6vw, 1.75rem);
  font-weight: 700;
  margin-bottom: 0.75rem;
  padding-top: 1rem;
}
.copy-1.extended h6, .copy-2.extended h6, .copy-3.extended h6 {
  font-weight: normal;
  font-size: clamp(1.25rem, 1.75vw, 1.625rem);
}
.copy-1.extended ul, .copy-2.extended ul, .copy-3.extended ul {
  list-style-type: disc;
}
.copy-1.extended ol, .copy-2.extended ol, .copy-3.extended ol {
  list-style-type: decimal;
}
.copy-1.extended ul,
.copy-1.extended ol, .copy-2.extended ul,
.copy-2.extended ol, .copy-3.extended ul,
.copy-3.extended ol {
  padding-left: 1.5rem;
}
.copy-1.extended ul li + li,
.copy-1.extended ol li + li, .copy-2.extended ul li + li,
.copy-2.extended ol li + li, .copy-3.extended ul li + li,
.copy-3.extended ol li + li {
  padding-top: 0.5rem;
}
.copy-1.extended ul li p + p,
.copy-1.extended ol li p + p, .copy-2.extended ul li p + p,
.copy-2.extended ol li p + p, .copy-3.extended ul li p + p,
.copy-3.extended ol li p + p {
  padding-top: 1rem;
}
.copy-1 .wp-caption-text, .copy-2 .wp-caption-text, .copy-3 .wp-caption-text {
  font-size: clamp(0.66rem, 0.58rem + 0.48vw, 0.88rem);
  line-height: 1.375em;
  color: #6D6E71;
  font-style: italic;
  padding: 0.75rem 0 2rem;
}

html {
  scroll-behavior: smooth;
}

body {
  background: #fff;
  overflow-x: hidden;
}
body.overflow-hidden {
  overflow: hidden;
}

.site-header,
.site-content,
.site-footer {
  transition: all 0.2s ease;
}

@media screen and (min-width: 992px) {
  .site-content > * {
    scroll-margin-top: 133px;
  }
}
img[src$=".svg"] {
  width: 100%;
}

img.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

img.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

div.alignright,
figure.alignright {
  float: right;
  margin: 0 0 1em 1em !important;
}

div.alignleft,
figure.alignleft {
  float: left;
  margin: 0 1em 1em 0 !important;
}

div.aligncenter,
figure.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.grid {
  display: grid;
  gap: 0 2rem;
  grid-template-columns: minmax(0, auto) repeat(4, minmax(auto, 1fr)) minmax(0, auto);
}
@media screen and (min-width: 480px) {
  .grid {
    grid-template-columns: minmax(0, auto) repeat(8, minmax(auto, 1fr)) minmax(0, auto);
  }
}
@media screen and (min-width: 992px) {
  .grid {
    grid-template-columns: minmax(0, auto) repeat(12, minmax(0, 4.5rem)) minmax(0, auto);
  }
}
.grid > * {
  grid-column: 2/span 4;
}
@media screen and (min-width: 480px) {
  .grid > * {
    grid-column: 2/span 8;
  }
}
@media screen and (min-width: 992px) {
  .grid > * {
    grid-column: 2/span 12;
  }
}

.four-col-grid {
  display: grid;
  gap: 4rem 2rem;
}
@media screen and (min-width: 480px) {
  .four-col-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .four-col-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .four-col-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.sub-grid {
  display: grid;
  gap: 0 2rem;
  grid-template-columns: repeat(4, minmax(auto, 1fr));
}
@media screen and (min-width: 480px) {
  .sub-grid {
    grid-template-columns: repeat(8, minmax(auto, 1fr));
  }
}
@media screen and (min-width: 992px) {
  .sub-grid {
    grid-template-columns: repeat(12, minmax(0, 4.5rem));
  }
}
.sub-grid > * {
  grid-column: 1/span 4;
}
@media screen and (min-width: 480px) {
  .sub-grid > * {
    grid-column: 1/span 8;
  }
}
@media screen and (min-width: 992px) {
  .sub-grid > * {
    grid-column: 1/span 12;
  }
}

.three-col-grid {
  display: grid;
  gap: 4rem 2rem;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 480px) {
  .three-col-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .three-col-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  src: url("../slick.html");
  src: url("../slickd41d.html?#iefix") format("embedded-opentype"), url("../slick-2.html") format("woff"), url("../slick-3.html") format("truetype"), url("../slick-4.html#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 36px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: calc(50% - 18px);
  padding: 0;
  border: none;
  z-index: 10;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 1;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -20px;
}
@media screen and (min-width: 992px) {
  .slick-prev {
    left: -40px;
  }
}
.slick-prev:before {
  background: url(left-arrow.svg) no-repeat 0 0;
  width: 20px;
  height: 36px;
  content: "";
  display: block;
}

.slick-next {
  right: -20px;
}
@media screen and (min-width: 992px) {
  .slick-next {
    right: -40px;
  }
}
.slick-next:before {
  background: url(right-arrow.svg) no-repeat 0 0;
  width: 20px;
  height: 36px;
  content: "";
  display: block;
}

/* Dots */
.slick-dots {
  position: absolute;
  bottom: -40px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  z-index: 10;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 12px;
  width: 12px;
  margin: 0 5px;
  padding: 0 !important;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 12px;
  width: 12px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 6px;
  height: 6px;
  line-height: 20px;
  text-align: center;
  background: #fff;
  border: 2px solid #00A69C;
  border-radius: 50%;
}
.slick-dots li.slick-active button:before {
  background: #00A69C;
  border-color: #00A69C;
}

.top-btn {
  position: fixed;
  bottom: -2rem;
  right: 2rem;
  z-index: 10;
  opacity: 0;
  transition: all 0.3s ease-in;
}
.top-btn a {
  display: block;
  background: #A0CF67;
  padding: 0.5rem;
  border-radius: 2px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
}
.top-btn a img {
  width: 1rem;
  height: 1rem;
  -o-object-fit: contain;
     object-fit: contain;
}

body.show-top-btn .top-btn {
  bottom: 2rem;
  opacity: 1;
}

.cta {
  display: flex;
}
.cta .btn {
  display: flex;
  align-items: center;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 1rem 1.5rem 0.875rem;
  border: 2px solid #fff;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  transition: all 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .cta .btn {
    padding: 1.5rem 2rem 1.375rem;
  }
}
.cta .btn:after {
  content: ">>";
  display: inline-block;
  font-size: clamp(0.875rem, 0.9vw, 1rem);
  padding-left: 0.5rem;
}
.cta .btn-green {
  background: #A0CF67;
  color: #fff;
}
.cta .btn-green:hover {
  color: #000;
}
.cta .btn-teal {
  background: #00A69C;
  color: #fff;
}
.cta .btn-teal:hover {
  color: #000;
}
.cta .btn-white-green {
  padding: 0;
  color: #A0CF67;
}
.cta .underline {
  border-bottom: 3px solid;
  display: inline-block;
}

.back .cta .btn:after {
  display: none;
}
.back .cta .btn:before {
  content: "«";
  display: inline-block;
  font-size: clamp(0.875rem, 0.9vw, 1rem);
  padding-right: 0.5rem;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.sub-nav {
  display: none;
}
@media screen and (min-width: 992px) {
  .sub-nav {
    display: grid;
  }
}
.sub-nav.bottom {
  padding-bottom: 3rem;
}
.sub-nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.sub-nav li {
  border-top: 1px solid #d5d5d5;
  padding: 1.5rem 1.5rem;
}
@media screen and (min-width: 1280px) {
  .sub-nav li {
    padding: 1.5rem 2rem;
  }
}
.sub-nav li:last-of-type {
  padding-right: 0;
}
.sub-nav a {
  text-transform: uppercase;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.page-header {
  padding: 3rem 0;
}
@media screen and (min-width: 992px) {
  .page-header > * {
    grid-column: 2/span 8;
  }
}
.page-header .copy-1 {
  padding: 2rem 0;
}
.page-header .photo {
  padding-top: 2rem;
}
@media screen and (min-width: 992px) {
  .page-header .photo {
    grid-column: 2/span 12;
  }
}
.page-header .photo img {
  width: 100%;
}
.page-header .cta {
  padding-top: 2rem;
}
@media screen and (min-width: 992px) {
  .page-header .cta {
    grid-column: 10/span 4;
    grid-row: 2;
    align-self: start;
    justify-self: end;
  }
}
.page-header .page-count {
  padding-top: 0.5rem;
}
.page-header .page-count h4 {
  color: #6D6E71;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tab-links {
  padding-top: 2rem;
  display: flex;
  flex-wrap: wrap;
}
.tab-links .link {
  width: 50%;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 480px) {
  .tab-links .link {
    width: 33.3333%;
  }
}
@media screen and (min-width: 768px) {
  .tab-links .link {
    width: auto;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .tab-links .link + .link {
    margin-left: 2rem;
  }
}
.tab-links .link a {
  display: inline-block;
  color: #000;
  font-weight: bold;
  font-size: clamp(0.8125rem, 0.9vw, 1rem);
  padding-bottom: 0.25rem;
  border-bottom: 4px solid transparent;
}
@media screen and (min-width: 768px) {
  .tab-links .link a {
    padding-bottom: 0.75rem;
  }
}
.tab-links .link a:hover, .tab-links .link a.active {
  border-bottom: 4px solid #F9A134;
}

.tab-content {
  padding-top: 1rem;
}
@media screen and (min-width: 768px) {
  .tab-content {
    padding-top: 3rem;
  }
}
.tab-content .tab {
  display: none;
}
.tab-content .tab.active {
  display: block;
}
.tab-content .tab-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .tab-content .tab-flex .photo {
    order: -1;
  }
  .tab-content .tab-flex .info {
    flex: 1;
    padding-left: 3rem;
    padding-bottom: 0;
  }
}
.tab-content .tab .info {
  padding-bottom: 1rem;
}
.tab-content .tab .info .headline {
  padding-bottom: 2rem;
}
.tab-content .tab .info .headline h4 {
  font-weight: bold;
  font-size: clamp(1rem, 1.1vw, 1.125rem);
}

.profile {
  text-align: center;
}
.profile .photo {
  aspect-ratio: 1/1;
  max-width: 12rem;
  margin: 0 auto;
}
.profile .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.profile .photo a {
  display: block;
  width: 100%;
  height: 100%;
}
.profile .photo img {
  border-radius: 50%;
}
.profile .info {
  padding-top: 1rem;
}
.profile .info a {
  color: #00A69C;
}
.profile .info a:hover {
  text-decoration: underline;
}
.profile .info .name h3 {
  font-weight: bold;
  font-size: clamp(0.875rem, 1.1vw, 1rem);
}
.profile .info .vital {
  padding-top: 0.375rem;
}
.profile .info .vital p {
  font-size: clamp(0.875rem, 1vw, 1rem);
}
.profile .info .contact {
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile .info .contact .phone + .email {
  padding-left: 0.5rem;
  border-left: 1px solid #000;
  margin-left: 0.5rem;
}

.more-projects {
  background: #EDEDED;
  padding: 4rem 0 3rem 0;
}
@media screen and (min-width: 768px) {
  .more-projects {
    padding: 6rem 0;
  }
}
@media screen and (min-width: 992px) {
  .more-projects .section-header,
  .more-projects .more-projects-slider-wrapper {
    grid-column: 3/span 10;
  }
}
@media screen and (min-width: 992px) {
  .more-projects .section-header__grid {
    grid-column: 2/span 12;
  }
}
.more-projects .project {
  width: calc(50% - 1rem);
  margin: 0 1rem;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
  background: #414141;
  border-radius: 3px;
  transition: all 0.2s ease;
}
.more-projects .project a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.more-projects .project .photo {
  aspect-ratio: 1/1;
}
.more-projects .project .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 480px) {
  .more-projects .project .photo {
    aspect-ratio: 4/3;
  }
}
.more-projects .project .photo img {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.more-projects .project .info {
  color: #fff;
  padding: 2rem;
}
.more-projects .project .info a {
  color: #fff;
}
.more-projects .project .info a:hover {
  color: #fff;
}
.more-projects .project .info .market {
  padding-bottom: 0.5rem;
}
.more-projects .project .info .market h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
}
.more-projects .project .info .location {
  padding-top: 1rem;
}
.more-projects .project .info .location h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: clamp(0.6125rem, 0.8vw, 0.75rem);
}
.more-projects .project:hover {
  background: #F9A134;
}

.projects-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media screen and (min-width: 768px) {
  .projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  .projects-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.projects-grid .project {
  width: unset;
  margin: unset;
}

section.news {
  padding: 4rem 0;
}

.news-item .photo {
  aspect-ratio: 16/9;
}
.news-item .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-item .photo a {
  display: block;
  width: 100%;
  height: 100%;
}
.news-item .info {
  padding-top: 2rem;
}
.news-item em.date {
  display: block;
  padding-bottom: 0.5rem;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
}
.news-item .headline a {
  color: #000;
}
.news-item .excerpt {
  padding-top: 1rem;
}
.news-item .cta {
  padding-top: 2rem;
}
.news-item .cta .underline {
  display: inline-block;
  padding-bottom: 0.25rem;
  font-weight: bold;
  border-bottom-width: 2px;
}

.news-grid {
  display: grid;
  gap: 4rem 2rem;
}
@media screen and (min-width: 768px) {
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  .news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.news-item .info {
  padding-top: 1rem;
}
.news-item .cta {
  padding-top: 1rem;
}

.pagination {
  border-top: 1px solid #EDEDED;
  margin: 6rem 0 3rem 0;
  padding: 2rem 0 0 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .pagination {
    margin: 6rem 0 6rem 0;
  }
}
.pagination a {
  font-weight: bold;
  display: block;
  padding: 0.5rem 0.75rem;
  border: 2px solid;
  margin: 0 0.5rem;
  font-size: 0.875rem;
}
.pagination a:hover {
  background: #00A69C;
  color: #fff;
  text-decoration: none;
  border: 2px solid #00A69C;
}
.pagination span.current {
  font-weight: bold;
  display: block;
  padding: 0.5rem 0.75rem;
  border: 2px solid #00A69C;
  margin: 0 0.5rem;
  color: #fff;
  background: #00A69C;
  font-size: 0.875rem;
}

.expert .region em {
  display: inline-block;
  font-size: clamp(0.75em, 1vw, 0.875rem);
}
.expert .social {
  display: flex;
  justify-content: center;
  padding-top: 0.5rem;
}
.expert .linkedin {
  width: 1.5rem;
  height: 1.5rem;
}
.expert .linkedin img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.cat-nav {
  margin-top: 1rem;
  border-top: 1px solid #eaeaea;
  padding-top: 1.5rem;
}
@media screen and (min-width: 992px) {
  .cat-nav {
    grid-column: 2/span 12;
  }
}
.cat-nav__featured {
  display: flex;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 1280px) {
  .cat-nav__featured {
    gap: 1rem 2rem;
  }
}
.cat-nav__featured-item {
  white-space: nowrap;
}
.cat-nav__featured-header {
  font-weight: 700;
}
.cat-nav__featured.inactive .cat-nav__more {
  text-align: left;
  width: unset;
}
.cat-nav__featured.inactive .cat-nav__dropdown {
  left: 0;
  right: unset;
}
.cat-nav__link:hover {
  text-decoration: underline;
}
.cat-nav__more {
  position: relative;
  width: 100%;
  text-align: right;
}
@media screen and (min-width: 1280px) {
  .cat-nav__more {
    width: auto;
  }
}
.cat-nav__dropdown {
  position: absolute;
  top: 32px;
  right: 0;
  width: 14rem;
  height: 12rem;
  z-index: 1000;
  background-color: #414141;
  border: 1px solid #3a3a3a;
  border-radius: 0.125rem;
  box-shadow: 54px 117px 36px 0px rgba(0, 0, 0, 0), 35px 75px 33px 0px rgba(0, 0, 0, 0.01), 20px 42px 28px 0px rgba(0, 0, 0, 0.05), 9px 19px 21px 0px rgba(0, 0, 0, 0.09), 2px 5px 11px 0px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  display: none;
}
.cat-nav__dropdown.active {
  display: block;
}
.cat-nav__dropdown-target-icon svg {
  transform: translateY(-1px);
}
.cat-nav__dropdown-item {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.cat-nav__dropdown-item + .cat-nav__dropdown-item {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.cat-nav__dropdown-item:first-child a {
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem;
}
.cat-nav__dropdown-link {
  display: block;
  padding: 0.75rem 0.75rem;
  font-size: 0.75rem;
  text-overflow: ellipsis;
  overflow: hidden;
  color: #fff;
}
.cat-nav__dropdown-link:hover {
  background: #00A69C;
  color: #fff;
}

.site-header {
  padding: 2rem 0;
  transition: all 0.3s ease-in;
  background: #fff;
}
@media screen and (min-width: 992px) {
  .site-header {
    padding: 0;
  }
}
.site-header .nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.site-header .site-logo a {
  display: block;
}
.site-header .site-logo a img {
  width: 100%;
  max-width: 6.5rem;
}
.site-header .site-nav {
  display: none;
}
@media screen and (min-width: 992px) {
  .site-header .site-nav {
    display: block;
    margin-left: auto;
  }
}
.site-header .site-nav ul {
  display: flex;
  align-items: center;
}
.site-header .site-nav ul li + li {
  padding-left: 2rem;
}
@media screen and (min-width: 1280px) {
  .site-header .site-nav ul li + li {
    padding-left: 3rem;
  }
}
.site-header .site-nav ul li a {
  color: #6D6E71;
  display: block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.875rem;
  transition: all 0.2s ease-in;
}
@media screen and (min-width: 992px) {
  .site-header .site-nav ul li a {
    padding: 3.25rem 0;
    border-top: 0.375rem solid transparent;
    border-bottom: 0.375rem solid transparent;
  }
  .site-header .site-nav ul li a:hover, .site-header .site-nav ul li a.active {
    border-bottom-color: #F9A134;
    color: #000;
  }
}
@media screen and (min-width: 1280px) {
  .site-header .site-nav ul li a {
    font-size: 1rem;
  }
}
.site-header .site-nav ul li a:hover {
  color: #000;
}
.site-header .site-search {
  padding-left: 3rem;
  margin-left: auto;
}
@media screen and (min-width: 992px) {
  .site-header .site-search {
    margin-left: 0;
  }
}
.site-header .site-search a {
  display: block;
}
.site-header .site-search a:hover {
  cursor: pointer;
}
.site-header .site-search a img {
  width: 100%;
  max-width: 1.25rem;
}
.site-header .hamburger {
  padding-left: 2rem;
}
@media screen and (min-width: 992px) {
  .site-header .hamburger {
    display: none;
  }
}
.site-header .hamburger a {
  width: 2rem;
  height: 22px;
  display: flex;
  align-items: center;
  margin-left: auto;
}
.site-header .hamburger a .patty {
  width: 2rem;
  height: 2px;
  background: #6D6E71;
  border-radius: 2px;
  margin-left: auto;
  transition: all 0.2s;
}
.site-header .hamburger a .patty:after, .site-header .hamburger a .patty:before {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #6D6E71;
  position: absolute;
  z-index: 1;
  border-radius: 2px;
  transition: all 0.2s;
}
.site-header .hamburger a .patty:before {
  top: -8px;
}
.site-header .hamburger a .patty:after {
  top: 8px;
}

.mobile-nav {
  position: fixed;
  z-index: 10;
  top: 0;
  left: -80vw;
  width: 80vw;
  max-width: 30rem;
  height: 100vh;
  background: #fff;
  transition: all 0.2s ease-in-out;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.35) 0px 8px 16px -8px;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .mobile-nav {
    left: -28rem;
    width: 28rem;
  }
}
.mobile-nav-wrapper {
  height: 100vh;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4rem;
}
.mobile-nav-wrapper::-webkit-scrollbar {
  display: none;
}
.mobile-nav .logo {
  padding: 2rem;
}
.mobile-nav .logo a {
  display: block;
}
.mobile-nav .logo a img {
  width: 100%;
  max-width: 6.5rem;
}
.mobile-nav ul.sub-links {
  display: none;
}
.mobile-nav ul.sub-links.active .sub-link:last-child {
  padding-bottom: 1rem;
}
.mobile-nav ul li a {
  color: #6D6E71;
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.2s ease-in;
}
.mobile-nav ul li a:hover {
  color: #F9A134;
}
.mobile-nav ul li.main-link > a {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1rem 2rem;
}
.mobile-nav ul li.sub-link > a {
  padding: 0.5rem 1rem 0.5rem 3rem;
}
.mobile-nav ul li .section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mobile-nav ul li .section-header .arrow {
  margin-top: 1px;
  display: block;
  width: 0.875rem;
  height: 0.4375rem;
  margin-left: 0.5rem;
}
.mobile-nav ul li .section-header .arrow img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: grayscale(100%);
  transition: all 0.2s ease-in;
}
.mobile-nav ul li .section-header:hover .arrow img {
  filter: grayscale(0);
}
.mobile-nav ul li.dropdown.active .section-header {
  color: #F9A134;
}
.mobile-nav ul li.dropdown.active .section-header .arrow img {
  transform: rotate(180deg);
  filter: grayscale(0);
}
.mobile-nav ul li .divider {
  padding: 0.5rem 3rem;
}
.mobile-nav ul li .divider-object {
  width: 100%;
  height: 1px;
  background: #DCDDDE;
}

body.nav-overlay-open .site-content,
body.nav-overlay-open .site-footer {
  opacity: 0.25;
}
body.nav-overlay-open .hamburger {
  z-index: 100;
}
body.nav-overlay-open .hamburger a .patty {
  background: none;
}
body.nav-overlay-open .hamburger a .patty:after {
  top: 0;
  transform: rotate(45deg);
}
body.nav-overlay-open .hamburger a .patty:before {
  top: 0;
  transform: rotate(-45deg);
}
body.nav-overlay-open .mobile-nav {
  left: 0;
  opacity: 1;
}

.work-nav {
  background: #414141;
  color: #fff;
  height: 0;
  overflow: hidden;
  opacity: 0.8;
  transition: all 0.2s ease-in;
  grid-column: 1/-1;
}
.work-nav.active {
  padding: 3rem 0;
  height: auto;
  overflow: auto;
  opacity: 1;
  z-index: 1000;
}
@media screen and (min-width: 768px) {
  .work-nav.active {
    padding: 6rem 0;
  }
}
.work-nav a {
  color: #fff;
}
.work-nav a:hover {
  color: #00A69C;
}
.work-nav .nav-section-header {
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 992px) {
  .work-nav .nav-section-header {
    padding-bottom: 3rem;
  }
}
.work-nav .nav-header {
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25em;
}
@media screen and (min-width: 768px) {
  .work-nav .markets {
    grid-column: 2/span 4;
  }
}
@media screen and (min-width: 992px) {
  .work-nav .markets {
    grid-column: 2/span 4;
  }
}
.work-nav .markets .link + .link {
  padding-top: 1.5rem;
}
.work-nav .markets .link a {
  display: inline-block;
  font-size: clamp(1.125rem, 1.25vw, 1.5rem);
  font-weight: 300;
}
.work-nav .services {
  padding-top: 4rem;
}
@media screen and (min-width: 768px) {
  .work-nav .services {
    grid-column: 6/span 4;
    padding-top: 0;
  }
}
.work-nav .services .link {
  padding-bottom: 1.5rem;
}
.work-nav .services .link a {
  font-size: clamp(1.125rem, 1.2vw, 1.25rem);
  display: flex;
  align-items: center;
  line-height: 1.25em;
}
.work-nav .services .link a .label {
  display: block;
  padding-left: 1rem;
}
.work-nav .services .link a .icon {
  display: flex;
  justify-content: center;
  width: 1.5rem;
}
.work-nav .services .link a svg g,
.work-nav .services .link a svg path,
.work-nav .services .link a svg rect {
  transition: all 0.2s ease;
}
.work-nav .services .link a:hover svg g,
.work-nav .services .link a:hover svg path,
.work-nav .services .link a:hover svg rect {
  fill: #00A69C;
}
@media screen and (min-width: 992px) {
  .work-nav .services {
    grid-column: 7/span 7;
  }
  .work-nav .services .links {
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
  .work-nav .services .links .link {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}
.work-nav .projects .cta .btn,
.work-nav .clients .cta .btn {
  padding: 0;
  border: none;
}
.work-nav .projects {
  padding-top: 4rem;
}
.work-nav .clients {
  padding-top: 2rem;
}
@media screen and (max-height: 1024px) and (min-width: 768px) {
  .work-nav.active {
    padding: 3rem 0;
  }
  .work-nav .nav-section-header {
    padding-bottom: 1.5rem;
  }
  .work-nav .markets .link + .link {
    padding-top: 1rem;
  }
  .work-nav .markets .link a {
    font-size: clamp(1rem, 1vw, 1.125rem);
  }
  .work-nav .services .link {
    padding-bottom: 1rem;
  }
  .work-nav .services .link a {
    font-size: clamp(1rem, 1vw, 1.125rem);
  }
  .work-nav .cta .btn {
    font-size: clamp(0.875rem, 1vw, 1rem);
  }
}

nav.search-nav {
  background: #fff;
  padding: 2rem 0;
  position: fixed;
  z-index: -1;
  left: 0;
  width: 100%;
  top: -8rem;
  height: 8rem;
  transition: all 0.2s ease-in-out;
  border-bottom: 1px solid #DCDDDE;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  nav.search-nav {
    min-height: 136px;
  }
}
nav.search-nav form {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
}
@media screen and (min-width: 480px) {
  nav.search-nav form {
    grid-column: 3/span 6;
  }
}
@media screen and (min-width: 992px) {
  nav.search-nav form {
    grid-column: 4/span 8;
  }
}
nav.search-nav form label {
  flex: 1;
  padding-right: 1rem;
}
nav.search-nav form label input {
  width: 100%;
  border: 2px solid #6D6E71;
  border-radius: 0;
  padding: 0 0.75rem;
  height: 3rem;
  line-height: 1em;
  color: #6D6E71;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  font-weight: 500;
}
nav.search-nav form label input:focus, nav.search-nav form label input:active {
  outline: none;
}
nav.search-nav form label input::-webkit-input-placeholder {
  color: #ADAFB2;
}
nav.search-nav form label input::-moz-placeholder {
  color: #ADAFB2;
}
nav.search-nav form label input:-moz-placeholder {
  color: #ADAFB2;
}
nav.search-nav form label input:-ms-input-placeholder {
  color: #ADAFB2;
}
nav.search-nav form .search-submit {
  background: #00A69C;
  color: #fff;
  border: none;
  border-radius: 0;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  padding: 0 1rem;
  height: 3rem;
  font-weight: 700;
  font-size: clamp(0.875rem, 1vw, 1rem);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  nav.search-nav form .search-submit {
    padding: 0 2rem;
  }
}
nav.search-nav form .search-submit:focus, nav.search-nav form .search-submit:active {
  outline-color: #699CC6;
}

body.search-overlay-open .site-content,
body.search-overlay-open .site-footer {
  opacity: 0.5;
}
body.search-overlay-open .search-nav {
  top: 0;
  opacity: 1;
  z-index: 1000;
}

@media screen and (min-width: 992px) {
  body.show-top-btn .site-header {
    position: sticky;
    width: 100%;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid #DCDDDE;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  }
}

.page-template-about .site-header .site-nav ul li a.link-about,
.parent-pageid-171 .site-header .site-nav ul li a.link-about,
.single-leadership .site-header .site-nav ul li a.link-about,
.category-employee-owner-spotlight .site-header .site-nav ul li a.link-about {
  border-bottom-color: #F9A134;
}

.page-template-join-us .site-header .site-nav ul li a.link-join-us,
.parent-pageid-183 .site-header .site-nav ul li a.link-join-us {
  border-bottom-color: #F9A134;
}

.single-market .site-header .site-nav ul li a.link-our-work,
.single-service .site-header .site-nav ul li a.link-our-work,
.post-type-archive-projects .site-header .site-nav ul li a.link-our-work,
.post-type-archive-service .site-header .site-nav ul li a.link-our-work,
.single-projects .site-header .site-nav ul li a.link-our-work {
  border-bottom-color: #F9A134;
}

.blog .site-header .site-nav ul li a.link-news-ideas,
.category:not(.category-employee-owner-spotlight) .site-header .site-nav ul li a.link-news-ideas,
.single-post .site-header .site-nav ul li a.link-news-ideas {
  border-bottom-color: #F9A134;
}

.page-template-contact .site-header .site-nav ul li a.link-contact {
  border-bottom-color: #F9A134;
}

.site-footer {
  padding: clamp(4rem, 5vh, 8rem) 0;
  color: #fff;
  background: #414141;
}
.site-footer a {
  color: #fff;
}
.site-footer a:hover {
  color: #F9A134;
}
.site-footer .footer-nav {
  color: #fff;
  display: grid;
  gap: 2rem 6rem;
}
@media screen and (min-width: 480px) {
  .site-footer .footer-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .site-footer .footer-nav {
    grid-template-columns: repeat(4, 1fr);
  }
}
.site-footer .footer-logo {
  padding-bottom: 3rem;
}
.site-footer .footer-logo a {
  display: block;
  max-width: 7.5rem;
}
.site-footer .link-group + .link-group {
  padding-top: 3rem;
}
.site-footer .link-group .header-link {
  padding-bottom: 0.5rem;
}
.site-footer .link-group .header-link a {
  font-weight: bold;
  font-size: 1.125rem;
}
.site-footer .link-group .sub-links .link {
  padding: 0.375rem 0;
}
.site-footer .link-group .sub-links .link a {
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1.375em;
}
.site-footer .utilities {
  margin-top: 3rem;
  border-top: 1px solid #5b5b5b;
  padding-top: 3rem;
  font-size: 0.8125rem;
}
@media screen and (min-width: 480px) {
  .site-footer .utilities {
    gap: 0 6rem;
  }
}
@media screen and (min-width: 992px) {
  .site-footer .utilities .copyright {
    grid-column: 1/span 6;
  }
}
.site-footer .utilities .copyright .copy {
  padding-bottom: 0.75rem;
}
.site-footer .utilities .copyright .links {
  display: flex;
  align-items: center;
}
.site-footer .utilities .copyright .links .link + .link {
  padding-left: 0.5rem;
  border-left: 1px solid #fff;
  margin-left: 0.5rem;
}
.site-footer .utilities .ownership {
  padding-top: 2rem;
}
@media screen and (min-width: 992px) {
  .site-footer .utilities .ownership {
    padding-top: 0;
    grid-column: 7/span 6;
  }
}
.site-footer .utilities .ownership p {
  line-height: 1.25rem;
}

.sign-up {
  padding: 3rem 0;
  background: #00A69C;
  color: #fff;
}
@media screen and (min-width: 992px) {
  .sign-up {
    padding: 6rem 0;
  }
}
@media screen and (min-width: 992px) {
  .sign-up .sub-grid {
    gap: 0 6rem;
  }
}
.sign-up a {
  color: #fff;
}
.sign-up .headline {
  padding-bottom: 2rem;
}
@media screen and (min-width: 992px) {
  .sign-up .headline {
    grid-column: 1/span 6;
  }
}
.sign-up .headline h3 {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 2.25rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 992px) {
  .sign-up .cta {
    grid-column: 1/span 6;
    align-self: center;
  }
}
.sign-up .cta a {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: bold;
}
.sign-up .cta a:before {
  display: inline-block;
  content: ">>";
  background: #fff;
  color: #00A69C;
  padding: 0.5rem;
  margin-right: 1rem;
}
.sign-up .cta a:hover {
  text-decoration: underline;
}
.sign-up .social-links {
  display: flex;
  align-items: center;
  padding-top: 3rem;
}
@media screen and (min-width: 992px) {
  .sign-up .social-links {
    border-left: 7px double #fff;
    padding: 2rem 3rem;
    grid-column: 7/span 6;
  }
}
.sign-up .social-links .link + .link {
  padding-left: 2rem;
}
.sign-up .social-links .link a {
  display: block;
}
.sign-up .social-links .link a img {
  width: 1.5rem;
  height: 1.5rem;
  -o-object-fit: contain;
     object-fit: contain;
}

body.page-template-new-home section.about .headline {
  padding: 4.5rem 0;
  text-align: center;
}
@media screen and (min-width: 992px) {
  body.page-template-new-home section.about .headline {
    padding: 9rem 0;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-new-home section.about .headline {
    grid-column: 3/span 10;
  }
}
body.page-template-new-home section.about .headline h1 {
  font-size: clamp(2rem, 5vw, 4.5rem);
  font-weight: 100;
  line-height: 1.125em;
  letter-spacing: 0.02em;
  color: #6D6E71;
}
body.page-template-new-home section.about .headline h1 em {
  color: #F9A134;
  font-style: normal;
}
body.page-template-new-home section.featured-projects {
  max-width: 1920px;
  margin: 0 auto;
}
body.page-template-new-home section.featured-projects .section-header {
  padding-bottom: 1rem;
}
body.page-template-new-home section.featured-projects .section-header h2 {
  color: #6D6E71;
}
body.page-template-new-home section.featured-projects .slider-wrapper {
  grid-column: 1/-1;
}
body.page-template-new-home section.featured-projects .project .info {
  max-width: 1216px;
  width: calc(100% - 4rem);
  margin: 0 auto;
  transform: translateY(-2rem);
}
body.page-template-new-home section.featured-projects .project .info-wrapper {
  max-width: 800px;
  background: #fff;
  padding: 2rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
  border-radius: 3px;
}
body.page-template-new-home section.featured-projects .project .market {
  padding-bottom: 0.5rem;
}
body.page-template-new-home section.featured-projects .project .market span.label {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
}
body.page-template-new-home section.featured-projects .project .market span.label a {
  color: #00A69C;
}
body.page-template-new-home section.featured-projects .project .headline h3 {
  line-height: 1em;
}
body.page-template-new-home section.featured-projects .project .headline h3 a {
  color: #000;
}
body.page-template-new-home section.featured-projects .project .location {
  padding: 1rem 0 1rem 0;
}
body.page-template-new-home section.featured-projects .project .location h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #767676;
}
body.page-template-new-home section.featured-projects .project .copy strong {
  font-weight: normal;
}
body.page-template-new-home section.featured-projects .slick-dots {
  bottom: -3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
body.page-template-new-home section.featured-projects .slick-dots li {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-template-new-home section.featured-projects .slick-dots li button:before {
  border-color: #F9A134;
  position: relative;
  display: block;
}
body.page-template-new-home section.featured-projects .slick-dots li.slick-active button:before {
  background: #F9A134;
}
body.page-template-new-home section.featured-projects .slick-arrow {
  top: 0;
  padding: 0 1rem;
  width: auto;
}
@media screen and (min-width: 992px) {
  body.page-template-new-home section.featured-projects .slick-arrow {
    padding: 0 2rem;
  }
}
body.page-template-new-home section.featured-projects .slick-prev {
  left: 0;
}
body.page-template-new-home section.featured-projects .slick-prev:before {
  background-image: url(left-arrow-white.svg);
}
body.page-template-new-home section.featured-projects .slick-next {
  right: 0;
}
body.page-template-new-home section.featured-projects .slick-next:before {
  background-image: url(right-arrow-white.svg);
}
body.page-template-new-home section.esa {
  padding: 4.5rem 0;
  max-width: 1920px;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  body.page-template-new-home section.esa {
    padding: 9rem 0;
  }
}
body.page-template-new-home section.esa .section-header {
  padding-bottom: 1rem;
}
body.page-template-new-home section.esa .esa-grid {
  grid-column: 1/-1;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(1, 1fr);
  grid-template-areas: "message" "people-1" "cta-1" "people-2" "cta-2" "photo-1";
}
@media screen and (min-width: 768px) {
  body.page-template-new-home section.esa .esa-grid {
    grid-template-rows: repeat(6, minmax(10rem, 16rem));
    grid-template-columns: repeat(4, 1fr);
    grid-template-areas: "people-1 people-1 message message" "people-1 people-1 message message" "cta-1 cta-1 message message" "photo-1 photo-1 message message" "photo-1 photo-1 cta-2 people-2" "photo-1 photo-1 cta-2 people-2";
  }
}
@media screen and (min-width: 1280px) {
  body.page-template-new-home section.esa .esa-grid {
    grid-template-rows: repeat(3, minmax(16rem, 20rem));
    grid-template-columns: repeat(5, 1fr);
    grid-template-areas: "people-1 photo-1 photo-1 message message" "cta-1 photo-1 photo-1 message message" "people-2 people-2 cta-2 message message";
  }
}
body.page-template-new-home section.esa .esa-grid .cta {
  background: rgba(0, 114, 143, 0.25);
}
body.page-template-new-home section.esa .esa-grid .cta a {
  color: #000;
}
body.page-template-new-home section.esa .esa-grid .cta-2 {
  background: rgba(0, 166, 156, 0.25);
}
body.page-template-new-home section.esa .esa-grid .cta a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 2rem;
}
body.page-template-new-home section.esa .esa-grid .cta .copy {
  padding-top: 0.5rem;
}
body.page-template-new-home section.esa .esa-grid .cta .more {
  display: inline-block;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  border-bottom: 2px solid;
}
body.page-template-new-home section.esa .logo {
  margin-bottom: 2rem;
  max-width: 5rem;
}
@media screen and (min-width: 768px) {
  body.page-template-new-home section.esa .logo {
    max-width: 8rem;
  }
}
body.page-template-new-home section.esa .message {
  grid-area: message;
  background: #00A69C;
  color: #fff;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (min-width: 992px) {
  body.page-template-new-home section.esa .message {
    padding: 5rem;
  }
}
body.page-template-new-home section.esa .message p {
  margin: 0;
  padding: 0;
  font-size: clamp(1.75rem, 2vw, 2.25rem);
  line-height: 1.5em;
}
body.page-template-new-home section.esa .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-new-home section.esa .people {
  background: rgba(0, 166, 156, 0.5);
}
body.page-template-new-home section.esa .people a {
  display: block;
  width: 100%;
  height: 100%;
}
body.page-template-new-home section.esa .people .photo {
  width: 100%;
  height: 100%;
}
body.page-template-new-home section.esa .people .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-new-home section.esa .people .info {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  background: rgba(0, 0, 0, 0.25);
  padding: 1rem;
  width: 100%;
}
body.page-template-new-home section.esa .people .info .headline h4 {
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: clamp(0.75em, 1vw, 0.875rem);
}
body.page-template-new-home section.esa .cta-1 {
  grid-area: cta-1;
}
body.page-template-new-home section.esa .cta-2 {
  grid-area: cta-2;
}
body.page-template-new-home section.esa .cta-3 {
  grid-area: cta-3;
}
body.page-template-new-home section.esa .people-1 {
  grid-area: people-1;
}
body.page-template-new-home section.esa .people-2 {
  grid-area: people-2;
}
body.page-template-new-home section.esa .people-3 {
  grid-area: people-3;
}
body.page-template-new-home section.esa .people-4 {
  grid-area: people-4;
}
body.page-template-new-home section.esa .people-1 img {
  -o-object-position: left center;
     object-position: left center;
}
body.page-template-new-home section.esa .photo-1 {
  grid-area: photo-1;
}
body.page-template-new-home section.esa .photo-2 {
  grid-area: photo-2;
}
body.page-template-new-home section.esa .photo-3 {
  grid-area: photo-3;
}
body.page-template-new-home section.esa .photo-4 {
  grid-area: photo-4;
}
body.page-template-new-home .join-us {
  padding-top: 4.5rem;
  z-index: 10;
}
@media screen and (min-width: 480px) {
  body.page-template-new-home .join-us {
    grid-column: 3/span 6;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-new-home .join-us {
    grid-column: 4/span 8;
  }
}
body.page-template-new-home .join-us .wrapper {
  border: 1px solid #DCDDDE;
  background: #fff;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
  padding: 2rem;
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media screen and (min-width: 768px) {
  body.page-template-new-home .join-us .wrapper {
    grid-template-columns: 1fr 2fr;
  }
}
body.page-template-new-home .join-us .photo {
  aspect-ratio: 1/1;
}
body.page-template-new-home .join-us .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-new-home .join-us .photo img {
  -o-object-position: top center;
     object-position: top center;
}
body.page-template-new-home .join-us .section-header .special {
  font-weight: bold;
}
body.page-template-new-home .join-us .cta {
  padding-top: 2rem;
  display: block;
}
body.page-template-new-home .join-us .cta .underline {
  color: #F9A134;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-bottom: 4px;
  border-width: 2px;
  font-weight: bold;
}
body.page-template-new-home .join-us .cta .underline:hover {
  cursor: pointer;
}
@media screen and (min-width: 992px) {
  body.page-template-new-home section.news {
    padding-bottom: 8rem;
  }
}

body.page-template-about section.history {
  background: #EDEDED;
  padding: 6rem 0;
}
body.page-template-about section.history .deck {
  padding: 2rem 0;
}
body.page-template-about section.history .caption {
  padding-top: 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-about section.history .copy-2 {
    grid-column: 2/span 8;
  }
}
body.page-template-about section.values {
  padding: 6rem 0;
}

body.page-template-leadership .page-header,
body.page-template-leadership-sub-group .page-header {
  gap: 2rem;
}
body.page-template-leadership .page-header .photo,
body.page-template-leadership-sub-group .page-header .photo {
  aspect-ratio: 1;
}
@media screen and (min-width: 480px) {
  body.page-template-leadership .page-header .photo,
  body.page-template-leadership-sub-group .page-header .photo {
    grid-column: 3/span 6;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-leadership .page-header .photo,
  body.page-template-leadership-sub-group .page-header .photo {
    grid-column: 2/span 4;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-leadership .page-header .photo,
  body.page-template-leadership-sub-group .page-header .photo {
    grid-column: 2/span 4;
  }
}
body.page-template-leadership .page-header .photo img,
body.page-template-leadership-sub-group .page-header .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 480px) {
  body.page-template-leadership .page-header .copy,
  body.page-template-leadership-sub-group .page-header .copy {
    grid-column: 3/span 6;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-leadership .page-header .copy,
  body.page-template-leadership-sub-group .page-header .copy {
    grid-column: 6/span 4;
    align-self: end;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-leadership .page-header .copy,
  body.page-template-leadership-sub-group .page-header .copy {
    grid-column: 6/span 7;
    align-self: center;
  }
}
body.page-template-leadership .leadership-sub-nav,
body.page-template-leadership-sub-group .leadership-sub-nav {
  padding-top: 3rem;
  padding-bottom: 6rem;
}
body.page-template-leadership .leadership-sub-nav ul,
body.page-template-leadership-sub-group .leadership-sub-nav ul {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (min-width: 992px) {
  body.page-template-leadership .leadership-sub-nav ul,
  body.page-template-leadership-sub-group .leadership-sub-nav ul {
    grid-column: 2/span 8;
  }
}
body.page-template-leadership .leadership-sub-nav a,
body.page-template-leadership-sub-group .leadership-sub-nav a {
  color: #000;
  font-weight: bold;
  display: block;
  padding-bottom: 1rem;
  line-height: 1.375em;
  border-bottom: 0.25rem solid transparent;
}
body.page-template-leadership .leadership-sub-nav a:hover, body.page-template-leadership .leadership-sub-nav a.active,
body.page-template-leadership-sub-group .leadership-sub-nav a:hover,
body.page-template-leadership-sub-group .leadership-sub-nav a.active {
  border-bottom: 0.25rem solid #F9A134;
}
body.page-template-leadership .leaders-grid,
body.page-template-leadership-sub-group .leaders-grid {
  display: grid;
  gap: 2rem 4rem;
  grid-template-columns: repeat(1, 1fr);
  padding-bottom: 6rem;
}
@media screen and (min-width: 480px) {
  body.page-template-leadership .leaders-grid,
  body.page-template-leadership-sub-group .leaders-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) {
  body.page-template-leadership .leaders-grid,
  body.page-template-leadership-sub-group .leaders-grid {
    grid-template-columns: repeat(12, 1fr);
    gap: 3rem 6rem;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-leadership .leaders-grid.executives .executive,
  body.page-template-leadership-sub-group .leaders-grid.executives .executive {
    grid-column: span 4;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-leadership .leaders-grid .leader,
  body.page-template-leadership-sub-group .leaders-grid .leader {
    grid-column: span 3;
  }
}
body.page-template-leadership .leaders-grid .leader a,
body.page-template-leadership-sub-group .leaders-grid .leader a {
  display: block;
}
body.page-template-leadership .leaders-grid .leader .photo img,
body.page-template-leadership-sub-group .leaders-grid .leader .photo img {
  border-radius: 50%;
}
body.page-template-leadership .leaders-grid .leader .info,
body.page-template-leadership-sub-group .leaders-grid .leader .info {
  padding-top: 1rem;
  text-align: center;
}
body.page-template-leadership .leaders-grid .leader .info .name h3,
body.page-template-leadership-sub-group .leaders-grid .leader .info .name h3 {
  font-weight: bold;
  color: #00A69C;
  font-size: clamp(1rem, 1vw, 1.125rem);
}
body.page-template-leadership .leaders-grid .leader .info .position,
body.page-template-leadership-sub-group .leaders-grid .leader .info .position {
  padding-top: 0.5rem;
}
body.page-template-leadership .leaders-grid .leader .info .position p,
body.page-template-leadership-sub-group .leaders-grid .leader .info .position p {
  color: #000;
  font-size: clamp(0.75em, 1vw, 0.875rem);
  line-height: 1.25em;
  font-style: italic;
}
body.page-template-leadership .leadership-gallery,
body.page-template-leadership-sub-group .leadership-gallery {
  padding-top: 3rem;
  padding-bottom: 6rem;
}
body.page-template-leadership .leadership-gallery .caption,
body.page-template-leadership-sub-group .leadership-gallery .caption {
  padding-top: 1rem;
}

body.single-leadership .leadership-hero {
  padding-top: 3rem;
}
body.single-leadership .leadership-hero .photo {
  grid-column: 1/-1;
  grid-row: 1;
}
body.single-leadership .leadership-hero .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.single-leadership .leadership-hero .page-header {
  grid-row: 1;
  z-index: 2;
  display: flex;
  padding: 0 0 1rem 0;
}
@media screen and (min-width: 992px) {
  body.single-leadership .leadership-hero .page-header {
    padding-bottom: 3.5rem;
  }
}
body.single-leadership .leadership-hero .page-header .page-title {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  align-self: flex-end;
  font-size: clamp(1.75rem, 2vw, 2.25rem);
}
@media screen and (min-width: 992px) {
  body.single-leadership .leadership-hero .page-header .page-title {
    font-size: clamp(3.5rem, 4vw, 4.5rem);
  }
}
body.single-leadership section.profile {
  padding-bottom: 3rem;
  text-align: left;
}
body.single-leadership .biography {
  background: #fff;
  padding: 2rem 0;
}
@media screen and (min-width: 992px) {
  body.single-leadership .biography {
    grid-column: 2/span 8;
    transform: translateY(-3em);
    padding: 2rem;
  }
}
@media screen and (min-width: 992px) {
  body.single-leadership .sidebar {
    padding-top: 3rem;
    grid-column: 10/span 4;
    padding-left: 1rem;
  }
}
body.single-leadership .sidebar a {
  font-weight: normal;
}
body.single-leadership .sidebar .vital + .vital {
  padding-top: 2rem;
}
body.single-leadership .sidebar .vital h4 {
  color: #000;
  font-weight: bold;
}
body.single-leadership .sidebar .vital p {
  font-size: 0.875em;
  line-height: 1.375em;
}
body.single-leadership .sidebar .education-item + .education-item {
  padding-top: 1.25rem;
}
body.single-leadership .sidebar .education-item span {
  display: block;
}
body.single-leadership .sidebar .contact .links {
  padding-top: 0.5rem;
  display: flex;
  align-items: center;
}
body.single-leadership .sidebar .contact .links .link + .link {
  margin-left: 2rem;
}
body.single-leadership .sidebar .contact .links .link.email .small-btn {
  font-weight: bold;
  display: inline-block;
  border-bottom: 2px solid transparent;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-bottom: 0;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  transition: all 0.2s ease-in-out;
}
body.single-leadership .sidebar .contact .links .link.email .small-btn:hover {
  text-decoration: none;
  border-bottom: 2px solid #00A69C;
}
body.single-leadership .sidebar .contact .links .link.linkedin a {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
body.single-leadership .sidebar .contact .links .link.linkedin a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

body.page-template-esop section.features {
  padding: 0 0 3rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-esop section.features {
    padding: 3rem 0 6rem 0;
  }
}
body.page-template-esop section.features .deck {
  padding-top: 1rem;
}
@media screen and (min-width: 992px) {
  body.page-template-esop section.features .deck {
    grid-column: 2/span 8;
  }
}
body.page-template-esop section.features .sub-features {
  padding-top: 3rem;
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-esop section.features .sub-features {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}
body.page-template-esop section.features .sub-feature .headline {
  padding-bottom: 0.5rem;
}
body.page-template-esop section.features .sub-feature .headline h3 {
  font-weight: bold;
  color: #000;
}
body.page-template-esop section.whats-an-esop {
  padding-bottom: 3rem;
}
@media screen and (min-width: 992px) {
  body.page-template-esop section.whats-an-esop {
    padding-bottom: 6rem;
  }
}
body.page-template-esop section.whats-an-esop .info {
  background: #EDEDED;
  padding: 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-esop section.whats-an-esop .info {
    padding: 4rem;
    grid-column: 8/-1;
  }
}
body.page-template-esop section.whats-an-esop .headline {
  padding-bottom: 1rem;
}
body.page-template-esop section.whats-an-esop .deck {
  max-width: 575px;
}
body.page-template-esop section.benefits {
  padding-bottom: 6rem;
}

body.page-template-employee-owner-spotlight .page-header {
  padding-bottom: 0;
}
body.page-template-employee-owner-spotlight .featured-owners {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-employee-owner-spotlight .featured-owners {
    padding: 9rem 0;
  }
}
body.page-template-employee-owner-spotlight .featured-owners .owner {
  display: grid;
  gap: 2rem 4rem;
}
@media screen and (min-width: 768px) {
  body.page-template-employee-owner-spotlight .featured-owners .owner {
    grid-template-columns: 1fr 3fr;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-employee-owner-spotlight .featured-owners .owner {
    grid-template-columns: 20rem 1fr;
  }
}
body.page-template-employee-owner-spotlight .featured-owners .owner + .owner {
  padding-top: 4rem;
  border-top: 4px double #72CCD2;
  margin-top: 4rem;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .photo-link {
  display: flex;
  justify-content: center;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .photo-link img {
  border-radius: 50%;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .name {
  text-align: center;
  padding-top: 2rem;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .name h3 {
  font-weight: bold;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .name h3 a {
  color: #000;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .info {
  align-self: center;
}
body.page-template-employee-owner-spotlight .featured-owners .owner .info .copy-2 + .cta {
  margin-top: 2rem;
}
body.page-template-employee-owner-spotlight .more-owners {
  padding: 4.5rem 0;
  padding-top: 0 !important;
}
@media screen and (min-width: 992px) {
  body.page-template-employee-owner-spotlight .more-owners {
    padding: 9rem 0;
  }
}
body.page-template-employee-owner-spotlight .more-owners .section-header {
  border-top: 4px double #72CCD2;
  padding-top: 4.5rem;
}
@media screen and (min-width: 992px) {
  body.page-template-employee-owner-spotlight .more-owners .section-header {
    padding-top: 9rem;
  }
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid {
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 480px) {
  body.page-template-employee-owner-spotlight .more-owners .employee-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  body.page-template-employee-owner-spotlight .more-owners .employee-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .photo a {
  display: block;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .photo img {
  border-radius: 50%;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .info {
  padding-top: 2rem;
  text-align: center;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .name h3 {
  font-size: clamp(1.125rem, 1.2vw, 1.25rem);
  text-transform: uppercase;
  font-weight: bold;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .name h3 a {
  color: #000;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .position {
  padding-top: 0.5rem;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .position h4 {
  font-style: italic;
  font-size: 0.875rem;
  line-height: 1.25em;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .position + .cta {
  padding-top: 1rem;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .copy-2 {
  padding: 1rem 0;
}
body.page-template-employee-owner-spotlight .more-owners .employee-grid .owner .cta {
  display: flex;
  justify-content: center;
}

body.single-employee section.profile {
  padding-bottom: 6rem;
  text-align: left;
}
body.single-employee .employee-hero {
  padding-top: 3rem;
}
body.single-employee .employee-hero .photo {
  grid-column: 1/-1;
  grid-row: 1;
}
body.single-employee .employee-hero .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.single-employee .employee-hero .page-header {
  grid-row: 1;
  z-index: 2;
  display: flex;
  padding: 0 0 1rem 0;
}
@media screen and (min-width: 992px) {
  body.single-employee .employee-hero .page-header {
    padding-bottom: 3.5rem;
  }
}
body.single-employee .employee-hero .page-header .page-title {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  align-self: flex-end;
  font-size: clamp(1.75rem, 2vw, 2.25rem);
}
@media screen and (min-width: 992px) {
  body.single-employee .employee-hero .page-header .page-title {
    font-size: clamp(3.5rem, 4vw, 4.5rem);
    max-width: 48rem;
  }
}
body.single-employee .biography {
  background: #fff;
  padding: 2rem 0;
}
@media screen and (min-width: 992px) {
  body.single-employee .biography {
    grid-column: 2/span 8;
    transform: translateY(-3em);
    padding: 2rem;
  }
}
@media screen and (min-width: 992px) {
  body.single-employee .sidebar {
    padding-top: 3rem;
    grid-column: 10/span 4;
    padding-left: 1rem;
  }
}
body.single-employee .sidebar a {
  font-weight: normal;
}
body.single-employee .sidebar .vital + .vital {
  padding-top: 2rem;
}
body.single-employee .sidebar .vital h4 {
  color: #000;
  font-weight: bold;
}
body.single-employee .sidebar .vital p {
  font-size: 0.875em;
  line-height: 1.375em;
}
body.single-employee .sidebar .education-item + .education-item {
  padding-top: 1.25rem;
}
body.single-employee .sidebar .education-item span {
  display: block;
}
body.single-employee .sidebar .contact .links {
  padding-top: 0.5rem;
  display: flex;
  align-items: center;
}
body.single-employee .sidebar .contact .links .link + .link {
  margin-left: 2rem;
}
body.single-employee .sidebar .contact .links .link.email .small-btn {
  font-weight: bold;
  display: inline-block;
  border-bottom: 2px solid transparent;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-bottom: 0;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  transition: all 0.2s ease-in-out;
}
body.single-employee .sidebar .contact .links .link.email .small-btn:hover {
  text-decoration: none;
  border-bottom: 2px solid #00A69C;
}
body.single-employee .sidebar .contact .links .link.linkedin a {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
body.single-employee .sidebar .contact .links .link.linkedin a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

body.page-template-culture .page-header {
  padding-bottom: 0;
}
body.page-template-culture section.dei {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.dei {
    padding: 9rem 0;
  }
}
body.page-template-culture section.dei .section-header {
  text-align: center;
}
@media screen and (min-width: 768px) {
  body.page-template-culture section.dei .photo {
    grid-column: 2/span 4;
  }
}
body.page-template-culture section.dei .photo img {
  width: 100%;
}
body.page-template-culture section.dei .photo .caption {
  padding-top: 1rem;
}
body.page-template-culture section.dei .photo .caption p {
  font-size: 0.875rem;
  line-height: 1.25em;
  font-style: italic;
}
body.page-template-culture section.dei .info {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-culture section.dei .info {
    padding-top: 0;
    grid-column: 6/span 4;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.dei .info {
    grid-column: 6/span 8;
  }
}
body.page-template-culture section.dei .info strong.copy-headline {
  display: block;
}
body.page-template-culture section.sustainability {
  background: #EDEDED;
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.sustainability {
    padding: 9rem 0;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-culture section.sustainability .info {
    grid-column: 2/span 6;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.sustainability .info {
    grid-column: 2/span 8;
  }
}
body.page-template-culture section.sustainability .info strong.copy-headline {
  display: block;
}
body.page-template-culture section.sustainability .photo {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-culture section.sustainability .photo {
    padding-top: 0;
    grid-column: 8/span 2;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.sustainability .photo {
    grid-column: 10/span 4;
  }
}
body.page-template-culture section.sustainability .photo img {
  width: 100%;
  max-width: 10rem;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.sustainability .photo img {
    max-width: 16rem;
    margin: 0;
  }
}
body.page-template-culture section.fun-traditions {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.fun-traditions {
    padding: 9rem 0;
  }
}
body.page-template-culture section.fun-traditions .section-header {
  text-align: center;
}
@media screen and (min-width: 992px) {
  body.page-template-culture section.fun-traditions .section-header {
    grid-column: 4/span 8;
  }
}
body.page-template-culture section.fun-traditions .section-header .deck {
  padding-top: 2rem;
}
body.page-template-culture section.fun-traditions .tradition .photo {
  aspect-ratio: 4/3;
}
body.page-template-culture section.fun-traditions .tradition .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-culture section.fun-traditions .tradition .info {
  padding-top: 1rem;
}
body.page-template-culture section.fun-traditions .tradition .info .headline {
  padding-bottom: 0.5rem;
}
body.page-template-culture section.fun-traditions .tradition .info .headline h4 {
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1.125rem;
}

body.page-template-history section.timeline {
  padding-bottom: 6rem;
}
body.page-template-history section.timeline .event {
  display: flex;
  align-items: flex-start;
}
@media screen and (min-width: 992px) {
  body.page-template-history section.timeline .event {
    grid-column: 2/span 10;
  }
}
body.page-template-history section.timeline .event + .event {
  padding-top: 3rem;
  border-top: 1px solid #EDEDED;
  margin-top: 3rem;
}
body.page-template-history section.timeline .event .date {
  width: 6rem;
  padding-right: 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-history section.timeline .event .date {
    width: 12rem;
  }
}
body.page-template-history section.timeline .event .date h5 {
  font-weight: bold;
  color: #000;
}
body.page-template-history section.timeline .event .description {
  flex: 1;
}

body.page-template-jedi section.page-header {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi section.page-header {
    padding: 9rem 0;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-jedi section.page-header .copy {
    grid-column: 2/span 9;
  }
}
body.page-template-jedi section.page-header .copy p:first-of-type {
  font-size: 1.125em;
}
body.page-template-jedi section.page-header .photo {
  padding-top: 0;
}
body.page-template-jedi .plan__content {
  background: #007aa5;
  color: #fff;
  align-items: center;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .plan .photo {
    grid-column: 2/span 4;
  }
}
body.page-template-jedi .plan .photo img {
  max-width: 16rem;
  transform: translateY(-2rem);
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .plan .photo img {
    max-width: unset;
    transform: scale(1.2);
    transform-origin: right center;
  }
}
body.page-template-jedi .plan .info {
  padding-bottom: 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .plan .info {
    padding-bottom: 0;
    grid-column: 7/span 7;
  }
}
body.page-template-jedi .plan .headline {
  padding-bottom: 1rem;
}
body.page-template-jedi .gallery {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .gallery {
    padding: 9rem 0;
  }
}
body.page-template-jedi .gallery .slick-slide {
  margin: 0 0.5rem !important;
}
body.page-template-jedi .gallery__photo {
  aspect-ratio: 1/1;
}
body.page-template-jedi .gallery__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-jedi .looks-like {
  padding-bottom: 4.5rem;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .looks-like {
    padding-bottom: 9rem;
  }
}
body.page-template-jedi .looks-like .jedi-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: flex-end;
  gap: 0 2rem;
  padding-bottom: 3rem;
}
body.page-template-jedi .looks-like .jedi-tabs__link {
  display: block;
  color: #000;
  padding-bottom: 1rem;
  border-bottom: 6px solid #DCDDDE;
  font-weight: bold;
  font-size: clamp(0.87rem, 0.74rem + 0.62vw, 1.13rem);
}
body.page-template-jedi .looks-like .jedi-tabs__link.active {
  border-color: #F9A134;
}
body.page-template-jedi .looks-like .jedi-tab-sections__item {
  display: none;
}
body.page-template-jedi .looks-like .jedi-tab-sections__item.active {
  display: block;
}
body.page-template-jedi .looks-like .has-photo.active {
  display: grid;
  align-items: center;
  gap: 2rem 4rem;
}
@media screen and (min-width: 768px) {
  body.page-template-jedi .looks-like .has-photo.active {
    grid-template-columns: 24rem minmax(0, 1fr);
  }
}
body.page-template-jedi .looks-like .photo {
  aspect-ratio: 1/1;
}
body.page-template-jedi .looks-like .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-jedi .quote {
  background: #005863;
  color: #fff;
  align-items: center;
  padding: 2.5rem 0;
  gap: 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .quote {
    padding: 4.5rem 0;
  }
}
body.page-template-jedi .quote .photo {
  aspect-ratio: 1/1;
  max-width: 16rem;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .quote .photo {
    grid-column: 2/span 4;
    max-width: unset;
  }
}
body.page-template-jedi .quote .photo a {
  display: block;
}
body.page-template-jedi .quote .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .quote .info {
    grid-column: 7/span 7;
  }
}
body.page-template-jedi .quote .source__name {
  font-weight: bold;
  font-size: clamp(0.87rem, 0.74rem + 0.62vw, 1.13rem);
  padding-bottom: 0.5rem;
}
body.page-template-jedi .quote .source__title {
  font-size: clamp(0.87rem, 0.74rem + 0.62vw, 1.13rem);
}
body.page-template-jedi .programs {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi .programs {
    padding: 9rem 0;
  }
}
body.page-template-jedi .programs__headline {
  padding-bottom: 2rem;
}
body.page-template-jedi .programs__headline .section-headline {
  font-weight: normal;
}
body.page-template-jedi .programs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1rem;
}
body.page-template-jedi .programs__item {
  display: grid;
  grid-template-rows: auto 1fr;
}
body.page-template-jedi .programs__photo a {
  display: block;
  aspect-ratio: 380/176;
}
body.page-template-jedi .programs__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-jedi .programs__link {
  background: #414141;
  height: 100%;
  align-items: center;
  display: flex;
}
body.page-template-jedi .programs__link a {
  font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
  font-weight: bold;
  display: block;
  color: #fff;
  padding: 1.5rem;
}

body.page-template-jedi-legacy section.page-header {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.page-header {
    padding: 9rem 0;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.page-header .copy {
    grid-column: 2/span 9;
  }
}
body.page-template-jedi-legacy section.page-header .copy p:first-of-type {
  font-size: 1.125em;
}
body.page-template-jedi-legacy section.page-header .photo {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  body.page-template-jedi-legacy .left-flow .photo {
    grid-row: 2;
    grid-column: 2/span 3;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy .left-flow .photo {
    grid-column: 2/span 5;
    padding-right: 2rem;
  }
}
body.page-template-jedi-legacy .left-flow .copy {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-jedi-legacy .left-flow .copy {
    padding-top: 0;
    grid-row: 2;
    grid-column: 5/span 5;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy .left-flow .copy {
    grid-column: 7/span 7;
  }
}
body.page-template-jedi-legacy section.ongoing-education {
  padding: 4.5rem 0;
  background: #D1EFF3;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.ongoing-education {
    padding: 9rem 0;
  }
}
body.page-template-jedi-legacy section.ongoing-education .copy p:first-of-type {
  font-size: 1.125em;
}
body.page-template-jedi-legacy section.outreach-and-internship {
  padding: 4.5rem 0;
  background: #fdf6dd;
  margin-top: 3rem;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.outreach-and-internship {
    padding: 9rem 0;
  }
}
body.page-template-jedi-legacy section.outreach-and-internship .copy p:first-of-type {
  font-size: 1.125em;
}
body.page-template-jedi-legacy section.scholarship {
  margin-top: 3rem;
  padding: 4.5rem 0;
  background: #DDF0E4;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.scholarship {
    padding: 9rem 0;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-jedi-legacy section.scholarship .photo {
    grid-column: 7/span 3;
    grid-row: 2;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.scholarship .photo {
    grid-column: 10/span 4;
  }
}
body.page-template-jedi-legacy section.scholarship .photo img {
  max-width: 24rem;
  margin: 0 auto;
}
body.page-template-jedi-legacy section.scholarship .copy {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-jedi-legacy section.scholarship .copy {
    padding-top: 0;
    grid-column: 2/span 5;
    grid-row: 2;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.scholarship .copy {
    grid-column: 2/span 7;
  }
}
body.page-template-jedi-legacy section.scholarship .copy p:first-of-type {
  font-size: 1.125em;
}
body.page-template-jedi-legacy section.scholarship ul li a {
  text-decoration: underline;
}
body.page-template-jedi-legacy section.scholarship ul li em {
  font-size: 0.8125em;
}
body.page-template-jedi-legacy section.statement {
  padding: 4.5rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.statement {
    padding: 9rem 0;
  }
}
body.page-template-jedi-legacy section.statement .copy p:first-of-type {
  font-size: 1.125em;
}
body.page-template-jedi-legacy section.news {
  padding-top: 0;
}
@media screen and (min-width: 992px) {
  body.page-template-jedi-legacy section.news {
    padding-bottom: 8rem;
  }
}

body.post-type-archive-projects section.filters {
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-projects section.filters {
    padding-top: 3rem;
  }
}
body.post-type-archive-projects section.filters .filters-header {
  padding-bottom: 2rem;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filter {
  width: 100%;
  margin-bottom: 1rem;
  max-width: 30rem;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filter--select {
  position: relative;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filter--select:after {
  position: absolute;
  top: 0.75rem;
  right: 0.5rem;
  content: "";
  display: inline-block;
  width: 1rem;
  height: 0.5rem;
  background: url("data:image/svg+xml,%3Csvg width='22px' height='13px' viewBox='0 0 22 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='4' fill='none' fill-rule='evenodd'%3E%3Cg id='down-svgrepo-com' transform='translate(1.000222, 1.000278)' stroke='%2300A69C' stroke-width='4'%3E%3Cpolyline id='Path' transform='translate(10.085739, 5.173763) scale(-1, 1) rotate(91.000000) translate(-10.085739, -5.173763) ' points='5.08573898 -4.82623746 15.085739 5.17376254 5.08573898 15.1737625'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0;
  background-size: contain;
}
body.post-type-archive-projects section.filters .alm-filters-container select {
  width: 100%;
  max-width: 30rem;
  height: 2rem;
  padding: 0 1.75rem 0.25rem 0.75rem;
  font-size: 1.25rem;
  border: none;
  border-bottom: 1px solid #DCDDDE;
  background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  overflow: visible;
}
body.post-type-archive-projects section.filters .alm-filters-container select:active, body.post-type-archive-projects section.filters .alm-filters-container select:focus {
  outline: none;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filters--reset {
  width: 100%;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filters--reset:before {
  content: "✕";
  display: inline-block;
  margin-right: 0.5rem;
  color: #ADAFB2;
  transition: all 0.2s ease;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filters--reset-button {
  background: transparent;
  border: none;
  padding: 0;
  font-size: 1.25rem;
  color: #ADAFB2;
  display: inline-block;
  transition: all 0.2s ease;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filters--reset:hover:before {
  color: #6D6E71;
}
body.post-type-archive-projects section.filters .alm-filters-container .alm-filters--reset:hover .alm-filters--reset-button {
  color: #6D6E71;
}
body.post-type-archive-projects .projects-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media screen and (min-width: 768px) {
  body.post-type-archive-projects .projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  body.post-type-archive-projects .projects-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
body.post-type-archive-projects section.projects {
  align-items: start;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-projects section.projects {
    min-height: 50vh;
  }
}
body.post-type-archive-projects .project {
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
  background: #414141;
  border-radius: 3px;
  transition: all 0.2s ease;
}
body.post-type-archive-projects .project a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.post-type-archive-projects .project .photo {
  aspect-ratio: 1/1;
}
body.post-type-archive-projects .project .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 480px) {
  body.post-type-archive-projects .project .photo {
    aspect-ratio: 4/3;
  }
}
body.post-type-archive-projects .project .photo img {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
body.post-type-archive-projects .project .info {
  color: #fff;
  padding: 2rem;
}
body.post-type-archive-projects .project .info a {
  color: #fff;
}
body.post-type-archive-projects .project .info a:hover {
  color: #fff;
}
body.post-type-archive-projects .project .info .market {
  padding-bottom: 0.5rem;
}
body.post-type-archive-projects .project .info .market h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
}
body.post-type-archive-projects .project .info .location {
  padding-top: 1rem;
  line-height: 1.25em;
}
body.post-type-archive-projects .project .info .location h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: clamp(0.6125rem, 0.8vw, 0.75rem);
}
body.post-type-archive-projects .project:hover {
  background: #00A69C;
}
body.post-type-archive-projects .alm-filters-edit {
  display: none;
}
body.post-type-archive-projects .alm-btn-wrap {
  margin: 0;
  height: 100%;
}
body.post-type-archive-projects .alm-btn-wrap .alm-load-more-btn {
  background: #00A69C;
  font-weight: bold;
  font-size: clamp(0.875rem, 1vw, 1rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  height: 3rem;
  line-height: 1em;
  padding: 0 3rem;
  border-radius: 2px;
  margin: 3rem 0;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-projects .alm-btn-wrap .alm-load-more-btn {
    margin-bottom: 6rem;
  }
}
body.post-type-archive-projects .alm-btn-wrap .alm-load-more-btn.done {
  display: none;
}
body.post-type-archive-projects .alm-btn-wrap .alm-load-more-btn.loading {
  position: absolute;
  left: calc(50% - 15px);
  top: calc(50% - 15px);
  background: transparent;
  color: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  display: none;
}
body.post-type-archive-projects .alm-results-text .no-results {
  padding: 2rem;
  border: 3px dashed #EDEDED;
  margin-bottom: 6rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-projects .alm-results-text .no-results {
    min-height: 50vh;
  }
}

@media screen and (min-width: 992px) {
  body.post-type-archive-service .page-header {
    padding-bottom: 6rem;
  }
}
body.post-type-archive-service .service + .service .header {
  margin-top: 4rem;
  border-top: 4px double #72CCD2;
  padding-top: 4rem;
}
@media screen and (min-width: 1280px) {
  body.post-type-archive-service .service + .service .header {
    margin-top: 6rem;
    padding-top: 6rem;
  }
}
body.post-type-archive-service .service:last-of-type {
  margin-bottom: 12rem;
}
body.post-type-archive-service .service .header h3 a {
  display: flex;
  align-items: center;
}
body.post-type-archive-service .service .header h3 a:hover .label {
  border-bottom: 4px solid #000;
}
body.post-type-archive-service .service .header .icon {
  display: block;
  width: 3rem;
  height: 3rem;
  margin-right: 0.5rem;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-service .service .header .icon {
    width: 5rem;
    height: 5rem;
  }
}
body.post-type-archive-service .service .header .icon svg {
  width: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
body.post-type-archive-service .service .header .icon svg * {
  fill: #00A69C;
}
body.post-type-archive-service .service .header .label {
  display: block;
  color: #000;
  padding-left: 0.5rem;
  font-size: clamp(1.25rem, 1.7vw, 1.5rem);
  line-height: 1em;
  border-bottom: 4px solid transparent;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-service .service .header .label {
    font-size: clamp(2rem, 2.5vw, 2.75rem);
  }
}
body.post-type-archive-service .sub-services {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-service .sub-services {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 768px) {
  body.post-type-archive-service .sub-services ul {
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (min-width: 992px) {
  body.post-type-archive-service .sub-services ul {
    -moz-columns: 3;
         columns: 3;
  }
}
body.post-type-archive-service .sub-services ul li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 1rem;
  line-height: 1.25em;
}
@media screen and (min-width: 992px) {
  body.post-type-archive-service .sub-services ul li {
    padding-right: 4rem;
  }
}
body.post-type-archive-service .sub-services ul li a {
  color: #000;
}
body.post-type-archive-service .sub-services ul li a:hover {
  text-decoration: none;
  color: #00A69C;
}

body.post-type-archive-client .client-tabs nav.clients-nav {
  display: flex;
  align-items: center;
}
body.post-type-archive-client .client-tabs nav.clients-nav .link + .link {
  padding-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-client .client-tabs nav.clients-nav .link + .link {
    padding-left: 4rem;
  }
}
body.post-type-archive-client .client-tabs nav.clients-nav .link a {
  color: #000;
  font-weight: bold;
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  padding-bottom: 0.25rem;
  border-bottom: 4px solid transparent;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-client .client-tabs nav.clients-nav .link a {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
  }
}
body.post-type-archive-client .client-tabs nav.clients-nav .link a:hover, body.post-type-archive-client .client-tabs nav.clients-nav .link a.active {
  border-color: #F9A134;
}
body.post-type-archive-client .client-type {
  display: none;
  padding: 3rem 0;
}
@media screen and (min-width: 768px) {
  body.post-type-archive-client .client-type {
    padding: 6rem 0;
    min-height: 60vh;
  }
}
body.post-type-archive-client .client-type.active {
  display: grid;
}
body.post-type-archive-client .client-type .client-list {
  display: grid;
  align-content: start;
  gap: 1.5rem 2rem;
}
@media screen and (min-width: 480px) {
  body.post-type-archive-client .client-type .client-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) {
  body.post-type-archive-client .client-type .client-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 992px) {
  body.post-type-archive-client .client-type .client-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 992px) {
  body.post-type-archive-client .client-type .client-list .client {
    padding-right: 4rem;
  }
}
body.post-type-archive-client .client-type .client-list .client .name {
  position: relative;
  line-height: 1.25em;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
}
body.post-type-archive-client .client-type .client-list .client.has-projects .name {
  border-bottom: 1px dotted rgba(0, 166, 156, 0.75);
}
body.post-type-archive-client .client-type .client-list .client.has-projects .name:after {
  position: absolute;
  bottom: 0.275rem;
  right: -1.25rem;
  content: "";
  display: inline-block;
  width: 0.875rem;
  height: 0.375rem;
  background: url("data:image/svg+xml,%3Csvg width='22px' height='13px' viewBox='0 0 22 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='4' fill='none' fill-rule='evenodd'%3E%3Cg id='down-svgrepo-com' transform='translate(1.000222, 1.000278)' stroke='%2300A69C' stroke-width='4'%3E%3Cpolyline id='Path' transform='translate(10.085739, 5.173763) scale(-1, 1) rotate(91.000000) translate(-10.085739, -5.173763) ' points='5.08573898 -4.82623746 15.085739 5.17376254 5.08573898 15.1737625'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0;
  background-size: contain;
  opacity: 0;
  transition: all 0.2s ease;
}
body.post-type-archive-client .client-type .client-list .client.has-projects .name:hover {
  cursor: pointer;
}
body.post-type-archive-client .client-type .client-list .client.has-projects .name:hover:after {
  opacity: 1;
}
body.post-type-archive-client .client-type .client-list .client.has-projects .name.active {
  border: none;
}
body.post-type-archive-client .client-type .client-list .client.has-projects .name.active:after {
  opacity: 1;
  transform: rotate(180deg) translateY(1px);
}
body.post-type-archive-client .client-type .client-list .projects {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  display: none;
}
body.post-type-archive-client .client-type .client-list .projects .project {
  display: grid;
  grid-template-columns: 1.25rem 1fr;
}
body.post-type-archive-client .client-type .client-list .projects .project:before {
  content: ">>";
  color: #00A69C;
  font-weight: bold;
  font-size: 0.75rem;
}
body.post-type-archive-client .client-type .client-list .projects .project + .project {
  margin-top: 1em;
}
body.post-type-archive-client .client-type .client-list .projects a {
  color: #00A69C;
  font-weight: bold;
  display: inline-block;
  line-height: 1.125em;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
}
body.post-type-archive-client .client-type .client-list .projects a:hover {
  text-decoration: underline;
}

body.single-projects .project-hero .photo {
  grid-column: 1/-1;
  grid-row: 1;
  z-index: 1;
  aspect-ratio: 4/3;
}
body.single-projects .project-hero .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  body.single-projects .project-hero .photo {
    aspect-ratio: unset;
    width: 100%;
    max-height: 70vh;
  }
}
body.single-projects .project-hero .page-header {
  grid-row: 1;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: 2rem 0;
}
@media screen and (min-width: 768px) {
  body.single-projects .project-hero .page-header {
    padding: 6rem 0;
  }
}
body.single-projects .project-hero .page-header h1 {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}
body.single-projects section.overview {
  padding: 2rem 0;
}
@media screen and (min-width: 768px) {
  body.single-projects section.overview {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  body.single-projects section.overview .copy-2 {
    margin-top: -4rem;
    background: #fff;
    padding: 2rem;
    z-index: 10;
    grid-column: 2/span 7;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.overview .copy-2 {
    padding: 2rem 3rem;
    grid-column: 2/span 8;
  }
}
body.single-projects section.overview .copy-2 * {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.single-projects section.about {
    grid-column: 2/span 5;
    padding-top: 2rem;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.about {
    grid-column: 2/span 8;
  }
}
body.single-projects section.about .content-section + .content-section {
  padding-top: 2rem;
}
body.single-projects section.about .content-section .headline {
  padding-bottom: 1rem;
}
body.single-projects section.about figure {
  max-width: 100% !important;
}
body.single-projects .gallery {
  padding: 3rem 0;
}
body.single-projects .gallery .section-header {
  padding-bottom: 0.5rem;
}
body.single-projects .gallery .copy {
  padding-bottom: 1rem;
}
body.single-projects .gallery .service-info__gallery {
  padding: 0 1rem;
}
@media screen and (min-width: 768px) {
  body.single-projects .gallery .service-info__gallery {
    padding: 0 2rem 1rem;
  }
}
body.single-projects .gallery .service-info__gallery-caption {
  padding: 1rem 0.5rem 0 0.5rem;
}
body.single-projects .gallery .service-info__gallery-caption p {
  font-size: 0.875rem;
  line-height: 1.25em;
  font-style: italic;
}
body.single-projects section.experts {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.single-projects section.experts {
    grid-column: 7/span 3;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.experts {
    grid-column: 10/span 4;
  }
}
body.single-projects section.experts .section-header {
  text-align: center;
  padding-bottom: 1rem;
}
body.single-projects section.experts .section-header .section-headline.small {
  font-size: clamp(1.5rem, 2vw, 2rem);
}
body.single-projects section.experts .expert + .expert {
  padding-top: 2rem;
}
body.single-projects section.testimonial {
  background: #EDEDED;
  padding: 3rem 0;
  margin: 3rem 0;
  align-items: center;
}
@media screen and (min-width: 768px) {
  body.single-projects section.testimonial {
    padding: 6rem 0;
  }
}
body.single-projects section.testimonial .icon {
  display: flex;
  justify-content: center;
  padding-bottom: 3rem;
  max-width: 268px;
}
@media screen and (min-width: 768px) {
  body.single-projects section.testimonial .icon {
    justify-content: flex-start;
    grid-column: 2/span 3;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.testimonial .icon {
    grid-column: 2/span 4;
  }
}
@media screen and (min-width: 768px) {
  body.single-projects section.testimonial .info {
    grid-column: 5/span 5;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.testimonial .info {
    grid-column: 6/span 6;
  }
}
body.single-projects section.testimonial .info blockquote {
  padding: 0;
  margin: 0;
}
body.single-projects section.testimonial .info .meta {
  padding-top: 2rem;
}
body.single-projects section.testimonial .info .meta .person h4 {
  font-weight: bold;
}
body.single-projects section.details {
  padding: 4rem 0;
}
body.single-projects section.details .section-header {
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  body.single-projects section.details .info {
    grid-column: 2/span 3;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.details .info {
    grid-column: 2/span 5;
  }
}
body.single-projects section.details .info .vital + .vital {
  padding-top: 2rem;
}
body.single-projects section.details .info .vital strong {
  display: block;
}
@media screen and (min-width: 768px) {
  body.single-projects section.details .photo {
    grid-column: 5/-1;
  }
}
@media screen and (min-width: 992px) {
  body.single-projects section.details .photo {
    grid-column: 8/span 6;
  }
}
body.single-projects section.details .photo .caption {
  padding-top: 0.5rem;
}
body.single-projects section.details .photo .caption p {
  font-size: clamp(0.66rem, 0.58rem + 0.48vw, 0.88rem);
  line-height: 1.375em;
  color: #6D6E71;
  font-style: italic;
}

.single-market .page-header .parent-market {
  padding-bottom: 1rem;
}
.single-market .featured-projects .project a {
  display: grid;
  color: #000;
}
.single-market .featured-projects .project .photo {
  grid-row: 1;
  grid-column: 1/-1;
  aspect-ratio: 1/1;
}
.single-market .featured-projects .project .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 480px) {
  .single-market .featured-projects .project .photo {
    aspect-ratio: 4/3;
  }
}
@media screen and (min-width: 768px) {
  .single-market .featured-projects .project .photo {
    aspect-ratio: 16/9;
  }
}
.single-market .featured-projects .project .info {
  grid-row: 1;
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 1rem;
}
@media screen and (min-width: 992px) {
  .single-market .featured-projects .project .info {
    padding: 2rem;
  }
}
.single-market .featured-projects .project .info__wrapper {
  background: rgba(255, 255, 255, 0.95);
  padding: 2rem;
}
@media screen and (min-width: 480px) {
  .single-market .featured-projects .project .info__wrapper {
    width: 100%;
    max-width: 30rem;
  }
}
.single-market .featured-projects .project .info__wrapper:before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 100%;
  background: #F9A134;
  position: absolute;
  left: -0.5rem;
  top: 0;
}
@media screen and (min-width: 768px) {
  .single-market .featured-projects .project .info__wrapper:before {
    left: -1rem;
    width: 0.5rem;
  }
}
.single-market .featured-projects .project .info .headline h3 {
  font-weight: bold;
  font-size: clamp(1.25rem, 1.5vw, 1.5rem);
  line-height: 1.25em;
}
.single-market .featured-projects .project .info .copy-3 {
  display: none;
  padding: 1rem 0 0 0;
}
@media screen and (min-width: 768px) {
  .single-market .featured-projects .project .info .copy-3 {
    display: block;
  }
}
.single-market .featured-projects .project .info .copy-3 strong {
  font-weight: normal;
}
.single-market .featured-projects .project .info .location {
  padding: 1rem 0;
}
.single-market .featured-projects .project .info .location h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: clamp(0.875rem, 1vw, 1rem);
  line-height: 1.5em;
}
.single-market .featured-projects .project .info .client {
  max-width: 16rem;
}
.single-market .featured-projects .project .info .client h5 {
  font-size: clamp(0.875rem, 1vw, 1rem);
  line-height: 1.25em;
}
.single-market .featured-projects .project .info .client h5 strong {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.single-market .market-info {
  padding: 6rem 0;
}
@media screen and (min-width: 768px) {
  .single-market .market-info .about {
    grid-column: 3/span 6;
  }
}
@media screen and (min-width: 992px) {
  .single-market .market-info .about {
    grid-column: 2/span 8;
  }
}
.single-market .market-info .about .sub-markets h4,
.single-market .market-info .about .services h4 {
  font-weight: bold;
  margin: 0;
  padding-bottom: 0.5rem;
}
.single-market .market-info .about .sub-markets ul,
.single-market .market-info .about .services ul {
  list-style-type: none;
  padding: 0;
}
.single-market .market-info .about .sub-markets ul li,
.single-market .market-info .about .services ul li {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 992px) {
  .single-market .market-info .about .services {
    padding-top: 1.5rem;
  }
}
@media screen and (min-width: 992px) {
  .single-market .market-info .market-leaders {
    padding-top: 3rem;
  }
}
.single-market .market-info .leader-grid {
  display: grid;
  gap: 2rem;
  /*      .leader:first-of-type {
      grid-row: 1 / span 2;
      grid-column: 1 / span 2;
      //background: rgba($teal, 0.2);

      .photo {
          max-width: 24rem;
      }
      .photo img {
          //border: 0.5rem solid $teal;
      }

      .info a {
          //color: $teal;
      }
  }
  */
}
@media screen and (min-width: 480px) {
  .single-market .market-info .leader-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .single-market .market-info .leader-grid {
    grid-template-columns: repeat(3, 1fr);
    padding-bottom: 6rem;
  }
}
@media screen and (min-width: 992px) {
  .single-market .market-info .leader-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.single-market .more-projects.legacy {
  background: #EDEDED;
  padding: 4rem 0 3rem 0;
}
@media screen and (min-width: 768px) {
  .single-market .more-projects.legacy {
    padding: 6rem 0;
  }
}
@media screen and (min-width: 992px) {
  .single-market .more-projects.legacy .section-header,
  .single-market .more-projects.legacy .more-projects-slider-wrapper {
    grid-column: 3/span 10;
  }
}
.single-market .more-projects.legacy .project {
  width: calc(50% - 1rem);
  margin: 0 1rem;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
  background: #414141;
  border-radius: 3px;
  transition: all 0.2s ease;
}
.single-market .more-projects.legacy .project a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.single-market .more-projects.legacy .project .photo {
  aspect-ratio: 1/1;
}
.single-market .more-projects.legacy .project .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 480px) {
  .single-market .more-projects.legacy .project .photo {
    aspect-ratio: 4/3;
  }
}
.single-market .more-projects.legacy .project .photo img {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.single-market .more-projects.legacy .project .info {
  color: #fff;
  padding: 2rem;
}
.single-market .more-projects.legacy .project .info a {
  color: #fff;
}
.single-market .more-projects.legacy .project .info a:hover {
  color: #fff;
}
.single-market .more-projects.legacy .project .info .market {
  padding-bottom: 0.5rem;
}
.single-market .more-projects.legacy .project .info .market h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
}
.single-market .more-projects.legacy .project .info .location {
  padding-top: 1rem;
}
.single-market .more-projects.legacy .project .info .location h4 {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: clamp(0.6125rem, 0.8vw, 0.75rem);
}
.single-market .more-projects.legacy .project:hover {
  background: #F9A134;
}

.market-template-market .market-hero__info {
  grid-row: 1;
  z-index: 2;
  align-self: end;
  padding-bottom: 2rem;
}
.market-template-market .market-hero__title {
  color: #fff;
  font-size: clamp(2.59rem, 2.22rem + 1.85vw, 3.37rem);
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 1280px) {
  .market-template-market .market-hero__title {
    font-size: clamp(3.11rem, 2.67rem + 2.22vw, 4.04rem);
  }
}
.market-template-market .market-hero__photo {
  grid-row: 1;
  z-index: 1;
  grid-column: 1/-1;
  aspect-ratio: 4/3;
  transition: all 300ms ease;
}
.market-template-market .market-hero__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .market-template-market .market-hero__photo {
    aspect-ratio: unset;
    max-height: 540px;
  }
}
@media (height <= 768px) {
  .market-template-market .market-hero__photo {
    aspect-ratio: unset;
    max-height: 50vh;
  }
}
.market-template-market .market-sub-nav {
  padding: 2rem 0;
  border-bottom: 1px solid #e5e5e5;
}
@media screen and (min-width: 768px) {
  .market-template-market .market-sub-nav {
    padding: 3rem 0 1.5rem 0;
  }
}
.market-template-market .market-sub-nav ul {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .market-template-market .market-sub-nav ul {
    gap: 2rem 4rem;
    display: flex;
  }
}
.market-template-market .market-sub-nav a {
  display: inline-block;
  color: #414141;
  font-weight: bold;
  font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
}
.market-template-market .market-sub-nav a:hover {
  color: #00A69C;
}
.market-template-market .market-sub-nav a:after {
  display: inline-block;
  content: " »";
  padding-left: 0.25rem;
}
.market-template-market .market-about {
  padding: 2rem 0;
}
@media screen and (min-width: 992px) {
  .market-template-market .market-about > * {
    grid-column: 2/span 10;
  }
}
.market-template-market .market-about__title {
  padding-bottom: 2rem;
  line-height: 1.5em;
}
.market-template-market .market-info {
  padding: 0 0 3rem 0;
}

@media screen and (min-width: 992px) {
  .sub-market-about > * {
    grid-column: 2/span 10;
  }
}
.sub-market-about__breadcrumbs {
  padding-top: 3rem;
  display: flex;
  gap: 0 1rem;
}
.sub-market-about__breadcrumbs a,
.sub-market-about__breadcrumbs span {
  font-weight: bold;
  font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
  display: inline-block;
}
.sub-market-about__breadcrumbs span {
  color: #414141;
}
.sub-market-about__breadcrumbs a:hover {
  text-decoration: underline;
}
.sub-market-about__title {
  padding: 1.5rem 0 0.5rem 0;
}
.sub-market-about__sub-title {
  color: #414141;
}
.sub-market-about__photo {
  padding: 1.5rem 0;
}
@media screen and (min-width: 992px) {
  .sub-market-about__photo {
    padding: 3rem 0;
  }
}

.market-template-sub-market .market-info {
  padding: 0 0 3rem 0;
}

body.single-service .service-hero .photo {
  grid-column: 1/-1;
  grid-row: 1;
  z-index: 1;
  aspect-ratio: 4/3;
}
body.single-service .service-hero .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  body.single-service .service-hero .photo {
    aspect-ratio: unset;
    max-height: 70vh;
    width: 100%;
  }
}
body.single-service .service-hero .page-header {
  grid-row: 1;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.single-service .service-hero .page-header {
    padding: 6rem 0;
  }
}
body.single-service .service-hero .page-header h1 {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 768px) {
  body.single-service .service-info .about {
    grid-column: 2/span 6;
  }
}
@media screen and (min-width: 768px) {
  body.single-service .service-info .about {
    grid-column: 2/span 9;
  }
}
body.single-service .service-info .about .copy-2 {
  background: #fff;
  z-index: 10;
  padding: 1rem 1rem 0 1rem;
}
@media screen and (min-width: 768px) {
  body.single-service .service-info .about .copy-2 {
    padding: 2rem 2rem 1rem 2rem;
  }
}
body.single-service .service-info .about__main {
  margin-top: -3rem;
}
@media screen and (min-width: 768px) {
  body.single-service .service-info .about__main {
    margin-top: -6rem;
  }
}
body.single-service .service-info .about .sub-services {
  padding: 0 1rem 3rem 1rem;
}
@media screen and (min-width: 768px) {
  body.single-service .service-info .about .sub-services {
    padding: 0 2rem 3rem 2rem;
  }
}
body.single-service .service-info .about .sub-services h4 {
  font-weight: bold;
  margin: 0;
  padding-bottom: 1rem;
}
body.single-service .service-info .about .sub-services ul {
  list-style-type: disc;
  margin-left: 1.25rem;
}
body.single-service .service-info .about .sub-services ul li {
  padding-bottom: 0.5rem;
}
body.single-service .service-info__gallery {
  padding: 0 1rem 0 1rem;
}
@media screen and (min-width: 768px) {
  body.single-service .service-info__gallery {
    padding: 0 2rem 1rem 2rem;
  }
}
body.single-service .service-info__gallery-caption {
  padding: 1rem 0 0 0.5rem;
}
body.single-service .service-info__gallery-caption p {
  font-size: 0.875rem;
  line-height: 1.25em;
  font-style: italic;
}
body.single-service .experts {
  padding: 3rem 0;
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 480px) {
  body.single-service .experts {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) {
  body.single-service .experts {
    grid-template-columns: repeat(3, 1fr);
    padding-bottom: 6rem;
  }
}
@media screen and (min-width: 992px) {
  body.single-service .experts {
    grid-template-columns: repeat(4, 1fr);
  }
}
body.single-service .experts .section-header {
  grid-column: 1/-1;
  padding-bottom: 0;
  padding-left: 1rem;
}
@media screen and (min-width: 768px) {
  body.single-service .experts .section-header {
    padding-left: 2rem;
  }
}
body.single-service .projects-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media screen and (min-width: 768px) {
  body.single-service .projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  body.single-service .projects-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
body.single-service .projects-grid .project {
  width: unset;
  margin: unset;
}

body.service-template-platforms section.platforms-cta {
  padding: 3rem 0;
}
body.service-template-platforms section.platforms-cta .cta {
  padding: 2rem;
  background: #00A69C;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.service-template-platforms section.platforms-cta h3 {
  padding-right: 2rem;
  font-size: clamp(1.125rem, 1.25vw, 1.25rem);
  line-height: 1.25em;
}
body.service-template-platforms section.platforms-cta .btn {
  color: #fff;
  line-height: 1.25em;
  font-size: clamp(0.875rem, 1vw, 1rem);
}
body.service-template-platforms section.platforms-cta .btn:hover {
  background: #fff;
  color: #00A69C;
}
body.service-template-platforms section.platforms {
  gap: 2rem;
  padding: 3rem 0;
}
@media screen and (min-width: 992px) {
  body.service-template-platforms section.platforms {
    padding: 6rem 0;
  }
}
body.service-template-platforms section.platforms .section-header {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  body.service-template-platforms .platform:nth-child(even) {
    grid-column: 2/span 4;
  }
}
@media screen and (min-width: 992px) {
  body.service-template-platforms .platform:nth-child(even) {
    grid-column: 2/span 6;
  }
}
@media screen and (min-width: 768px) {
  body.service-template-platforms .platform:nth-child(odd) {
    grid-column: 6/span 4;
  }
}
@media screen and (min-width: 992px) {
  body.service-template-platforms .platform:nth-child(odd) {
    grid-column: 8/span 6;
  }
}
body.service-template-platforms .platform .info {
  padding: 1rem;
  margin-top: -4rem;
}
@media screen and (min-width: 992px) {
  body.service-template-platforms .platform .info {
    padding: 2rem;
  }
}
body.service-template-platforms .platform .info__wrapper {
  padding: 1.5rem;
  background: #fff;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 992px) {
  body.service-template-platforms .platform .info__wrapper {
    padding: 2rem;
  }
}
body.service-template-platforms .platform .copy {
  padding-top: 0.5rem;
}
body.service-template-platforms .platform .cta {
  padding-top: 1rem;
}
body.service-template-platforms .platform .cta .btn {
  font-size: clamp(0.875rem, 1vw, 1rem);
}

@media screen and (min-width: 768px) {
  body.service-template-platform-detail .service-hero .photo {
    max-height: 50vh;
  }
}
body.service-template-platform-detail .about .copy-2.extended {
  padding-bottom: 0 !important;
}
body.service-template-platform-detail .about .copy-2.extended p:last-of-type {
  margin-bottom: 0;
}
body.service-template-platform-detail .platform-section {
  padding: 3rem 0;
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .platform-section {
    padding: 4.5rem 0;
  }
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .platform-section > * {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
body.service-template-platform-detail .three-column__wrapper {
  display: grid;
  gap: 0.5rem 0;
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .three-column__wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
body.service-template-platform-detail .three-column .section-headline {
  color: #3da79d;
}
body.service-template-platform-detail .three-column .column {
  border-left: 1rem solid;
  aspect-ratio: 16/6;
  display: flex;
  align-items: center;
}
body.service-template-platform-detail .three-column .column p {
  padding: 0 1rem 0 0.5rem;
  font-weight: bold;
}
body.service-template-platform-detail .three-column .column:nth-child(1) {
  color: #94cda2;
  border-color: #94cda2;
}
body.service-template-platform-detail .three-column .column:nth-child(2) {
  color: #3da79d;
  border-color: #3da79d;
}
body.service-template-platform-detail .three-column .column:nth-child(3) {
  color: #29777b;
  border-color: #29777b;
}
body.service-template-platform-detail .graphic .caption {
  padding-bottom: 3rem;
  max-width: 48rem;
}
body.service-template-platform-detail .graphic .caption p {
  font-weight: bold;
}
body.service-template-platform-detail .graphic .image img {
  margin: 0 auto;
}
body.service-template-platform-detail .gray-text {
  background: #EDEDED;
}
body.service-template-platform-detail .gray-text .copy-2.extended {
  padding-bottom: 0 !important;
  max-width: 48rem;
}
body.service-template-platform-detail .gray-text .copy-2.extended *:last-of-type {
  margin-bottom: 0;
}
body.service-template-platform-detail .tabbed-features .section-header {
  padding-bottom: 0;
}
body.service-template-platform-detail .tabbed-features .section-header .copy-2 {
  max-width: 48rem;
  padding-top: 1rem;
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .tabbed-features .tab-content .tab-flex .copy-3 {
    max-width: 24rem;
  }
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .tabbed-features .tab-content .tab-flex .photo {
    width: 50%;
  }
}
body.service-template-platform-detail .tabbed-features + .cta-section {
  padding-top: 0;
}
body.service-template-platform-detail .cta-section .cta {
  justify-content: center;
}
body.service-template-platform-detail .quote {
  background: #00A69C;
  color: #fff;
}
body.service-template-platform-detail .quote__icon {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .quote__icon {
    padding: 0 !important;
    grid-column: 2/span 2;
  }
}
@media screen and (min-width: 992px) {
  body.service-template-platform-detail .quote__icon {
    grid-column: 3/span 2;
  }
}
body.service-template-platform-detail .quote__icon-wrapper {
  aspect-ratio: 185/167;
  max-width: 6rem;
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .quote__icon-wrapper {
    max-width: 8rem;
  }
}
body.service-template-platform-detail .quote__icon svg {
  display: block;
  opacity: 0.25;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body.service-template-platform-detail .quote__info {
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  body.service-template-platform-detail .quote__info {
    padding: 0 !important;
    grid-column: 4/span 6;
  }
}
@media screen and (min-width: 992px) {
  body.service-template-platform-detail .quote__info {
    grid-column: 5/span 8;
  }
}
body.service-template-platform-detail .quote__text {
  padding: 0;
  margin: 0;
}
body.service-template-platform-detail .quote__text p {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
  font-style: italic;
  line-height: 1.375em;
}
body.service-template-platform-detail .quote__source {
  padding-top: 1rem;
  opacity: 0.7;
}
body.service-template-platform-detail .gallery__items {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
body.service-template-platform-detail .gallery__item-image {
  display: flex;
  justify-content: center;
  aspect-ratio: 16/9;
  max-width: 12rem;
  margin: 0 auto;
}
body.service-template-platform-detail .gallery__item-image img {
  filter: grayscale(100%);
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 300ms ease;
}
body.service-template-platform-detail .gallery__item:hover .gallery__item-image img {
  filter: grayscale(0%);
}
body.service-template-platform-detail .gallery__item-copy {
  text-align: center;
}
body.service-template-platform-detail .experts-section .section-header {
  padding-bottom: 1.5rem;
}
body.service-template-platform-detail .experts-section .experts {
  padding: 0 0 6rem 0;
}

body.page-template-join-us section.why-we-work-here {
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  body.page-template-join-us section.why-we-work-here {
    padding-top: 6rem;
  }
}
body.page-template-join-us section.why-we-work-here .section-header {
  padding-bottom: 1.5rem;
}
body.page-template-join-us section.why-we-work-here .item .headline {
  padding: 1rem 0;
  text-align: center;
}
body.page-template-join-us section.why-we-work-here .item .headline h4 {
  font-weight: bold;
}
body.page-template-join-us section.why-we-work-here .item .copy {
  text-align: center;
}
body.page-template-join-us section.features {
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  body.page-template-join-us section.features {
    padding-top: 6rem;
  }
}
body.page-template-join-us section.features .two-col-grid {
  padding: 3rem 0;
  border-top: 4px double #72CCD2;
  display: grid;
  gap: 4rem 2rem;
}
@media screen and (min-width: 768px) {
  body.page-template-join-us section.features .two-col-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 6rem 0;
  }
}
body.page-template-join-us section.features .photo {
  aspect-ratio: 4/3;
}
body.page-template-join-us section.features .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-join-us section.features .headline {
  padding-bottom: 0.5rem;
}
body.page-template-join-us section.features .copy {
  padding: 1rem 0 2rem 0;
}

body.page-template-benefits section.details .two-col-grid {
  display: grid;
  gap: 2rem;
  padding: 3rem 0;
  border-bottom: 4px double #72CCD2;
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.details .two-col-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 3rem 0 6rem 0;
  }
}
body.page-template-benefits section.details .two-col-grid .copy h3 {
  font-weight: bold;
  padding-bottom: 0.5rem;
  font-size: clamp(1.375rem, 1.5vw, 1.75rem);
}
body.page-template-benefits section.details .two-col-grid .copy ul + h3, body.page-template-benefits section.details .two-col-grid .copy p + h3 {
  padding-top: 3rem;
}
body.page-template-benefits section.features {
  padding: 3rem 0;
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.features {
    padding: 6rem 0;
  }
}
body.page-template-benefits section.features .feature {
  display: grid;
  gap: 2rem;
  align-items: center;
}
body.page-template-benefits section.features .feature .info .copy {
  padding: 1rem 0;
}
body.page-template-benefits section.features .feature + .feature {
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.features .feature + .feature {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.features .feature:nth-child(odd) .photo {
    grid-column: 2/span 3;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-benefits section.features .feature:nth-child(odd) .photo {
    grid-column: 2/span 4;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.features .feature:nth-child(odd) .info {
    grid-column: 5/span 5;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-benefits section.features .feature:nth-child(odd) .info {
    grid-column: 6/span 8;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.features .feature:nth-child(even) .photo {
    grid-column: 7/span 3;
    grid-row: 1;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-benefits section.features .feature:nth-child(even) .photo {
    grid-column: 10/span 4;
  }
}
@media screen and (min-width: 768px) {
  body.page-template-benefits section.features .feature:nth-child(even) .info {
    grid-column: 2/span 5;
    grid-row: 1;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-benefits section.features .feature:nth-child(even) .info {
    grid-column: 2/span 8;
  }
}

body.page-template-job-openings section.listings iframe {
  border: none;
  width: 100%;
  height: 1200px;
}

body.page-template-job-openings-greenhouse .info {
  gap: 1rem 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .info {
    gap: 1rem;
    grid-template-columns: minmax(0, auto) repeat(12, minmax(0, 5.5rem)) minmax(0, auto);
  }
}
body.page-template-job-openings-greenhouse .mission {
  background: #00A69C;
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .mission {
    grid-column: 2/span 6;
  }
}
body.page-template-job-openings-greenhouse .mission__link {
  padding: 3rem;
  display: block;
}
body.page-template-job-openings-greenhouse .mission__logo {
  width: 8rem;
  height: 8rem;
}
body.page-template-job-openings-greenhouse .mission__logo svg {
  display: block;
  width: 100%;
  height: 100%;
}
body.page-template-job-openings-greenhouse .mission__copy {
  padding-top: 1rem;
  color: #fff;
}
body.page-template-job-openings-greenhouse .spotlight {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  body.page-template-job-openings-greenhouse .spotlight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .spotlight {
    grid-column: 8/span 6;
  }
}
body.page-template-job-openings-greenhouse .spotlight__link {
  display: grid;
  height: 100%;
}
body.page-template-job-openings-greenhouse .spotlight__link:hover .spotlight__caption {
  background: rgba(249, 161, 52, 0.8);
}
body.page-template-job-openings-greenhouse .spotlight__photo {
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
}
body.page-template-job-openings-greenhouse .spotlight__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-job-openings-greenhouse .spotlight__caption {
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  align-self: end;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 0.75rem;
  transition: all 200ms ease;
}
body.page-template-job-openings-greenhouse .rich-links {
  margin-top: 1rem;
  gap: 1rem 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .rich-links {
    gap: 1rem;
    grid-template-columns: minmax(0, auto) repeat(12, minmax(0, 5.5rem)) minmax(0, auto);
  }
}
body.page-template-job-openings-greenhouse .rich-links__grid {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  body.page-template-job-openings-greenhouse .rich-links__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .rich-links__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
body.page-template-job-openings-greenhouse .rich-links__link {
  display: grid;
  align-items: center;
  height: 100%;
  padding: 2rem;
  background: #d4eff4;
  color: #000;
  gap: 1rem;
}
body.page-template-job-openings-greenhouse .rich-links__title {
  font-weight: bold;
  font-size: clamp(0.87rem, 0.74rem + 0.62vw, 1.13rem);
}
body.page-template-job-openings-greenhouse .rich-links__cta {
  font-size: clamp(0.6rem, 0.52rem + 0.43vw, 0.78rem);
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: underline;
}
body.page-template-job-openings-greenhouse .job-listings {
  padding: 3rem 0 6rem 0;
}
body.page-template-job-openings-greenhouse .job-listings__header {
  padding-bottom: 1.5rem;
}
body.page-template-job-openings-greenhouse .job-listings__header h3 {
  font-weight: bold;
  font-size: clamp(1.25rem, 1.07rem + 0.89vw, 1.63rem);
}
body.page-template-job-openings-greenhouse .job-listings__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .job-listings__filters {
    grid-column: 2/span 8;
  }
}
body.page-template-job-openings-greenhouse .job-listings__filter {
  height: 2rem;
}
body.page-template-job-openings-greenhouse .job-listings__clear-link {
  color: #6D6E71;
  transition: all 200ms ease;
}
body.page-template-job-openings-greenhouse .job-listings__clear-link:hover {
  color: #F9A134;
  text-decoration: underline;
}
body.page-template-job-openings-greenhouse .job-listings__list {
  padding-top: 3rem;
  min-height: 25vh;
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 992px) {
  body.page-template-job-openings-greenhouse .job-listings__list {
    grid-column: 2/span 8;
  }
}
body.page-template-job-openings-greenhouse .job-listings .no-results {
  padding: 2rem;
  border: 2px dashed #DCDDDE;
  border-radius: 0.25rem;
  align-self: start;
}
body.page-template-job-openings-greenhouse .practice-header {
  padding-bottom: 1rem;
}
body.page-template-job-openings-greenhouse .practice-header h3 {
  font-weight: bold;
  font-size: clamp(1.25rem, 1.07rem + 0.89vw, 1.63rem);
}
body.page-template-job-openings-greenhouse .hr {
  height: 1px;
  width: 100%;
  background: #eee;
}
body.page-template-job-openings-greenhouse .hr:last-of-type {
  display: none;
}
body.page-template-job-openings-greenhouse .job-listing__title {
  font-weight: bold;
  padding-bottom: 0.5rem;
  font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
}
body.page-template-job-openings-greenhouse .job-listing__title a:hover {
  text-decoration: underline;
}
body.page-template-job-openings-greenhouse .job-listing__meta {
  font-size: clamp(0.66rem, 0.58rem + 0.48vw, 0.88rem);
  color: #6D6E71;
}
body.page-template-job-openings-greenhouse .job-listing .divider {
  color: #00A69C;
  padding: 0 0.25rem;
}

@media screen and (min-width: 992px) {
  .page-template-internship .page-header .headline {
    grid-column: 2/span 10;
  }
}
@media screen and (min-width: 992px) {
  .page-template-internship .page-header .copy-1 {
    padding-bottom: 0;
  }
}
.page-template-internship .page-header .cta {
  padding-top: 0;
}
@media screen and (min-width: 992px) {
  .page-template-internship .page-header .cta {
    align-self: end;
  }
}
.page-template-internship .testimonial {
  padding: 3rem 0;
}
@media screen and (min-width: 992px) {
  .page-template-internship .testimonial {
    grid-column: 2/span 12;
  }
}
.page-template-internship .testimonial__slide-wrapper {
  width: 100%;
  display: grid;
  background: #414141;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .page-template-internship .testimonial__slide-wrapper {
    grid-template-columns: repeat(2, minmax(auto, 1fr));
  }
}
@media screen and (min-width: 992px) {
  .page-template-internship .testimonial__slide-wrapper {
    grid-template-columns: 2fr 1fr;
  }
}
.page-template-internship .testimonial__photo {
  aspect-ratio: 1/1;
}
.page-template-internship .testimonial__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-template-internship .testimonial__quote {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
@media screen and (min-width: 992px) {
  .page-template-internship .testimonial__quote {
    padding: 4rem;
  }
}
.page-template-internship .testimonial__text {
  font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
  font-weight: bold;
  line-height: 1.375em;
}
.page-template-internship .testimonial__source {
  padding-top: 1rem;
  font-size: clamp(0.72rem, 0.62rem + 0.52vw, 0.94rem);
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
.page-template-internship .what-to-expect {
  background: #EDEDED;
  padding: 3rem 0;
}
@media screen and (min-width: 992px) {
  .page-template-internship .what-to-expect {
    padding: 6rem 0;
  }
}
.page-template-internship .what-to-expect .photo {
  padding-bottom: 2rem;
}
@media screen and (min-width: 992px) {
  .page-template-internship .what-to-expect .photo {
    padding-bottom: 0;
    grid-row: 2;
    grid-column: 8/span 6;
  }
}
@media screen and (min-width: 992px) {
  .page-template-internship .what-to-expect .copy-2 {
    grid-row: 2;
    grid-column: 2/span 6;
  }
}
.page-template-internship .how-to-apply {
  padding: 6rem 0;
}
@media screen and (min-width: 992px) {
  .page-template-internship .how-to-apply .info {
    grid-column: 2/span 8;
  }
}
.page-template-internship .how-to-apply .photo {
  aspect-ratio: 16/9;
  margin-bottom: 2rem;
}
.page-template-internship .how-to-apply .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-template-internship .how-to-apply .study-areas {
  background: #00728F;
  color: #fff;
  padding: 2rem;
  margin-top: 2rem;
  max-width: 32rem;
}
@media screen and (min-width: 992px) {
  .page-template-internship .how-to-apply .study-areas {
    grid-column: 10/span 4;
    margin-top: 0;
  }
}
.page-template-internship .how-to-apply .study-areas .headline {
  padding-bottom: 1rem;
}
.page-template-internship .how-to-apply .study-areas .headline h3 {
  font-size: clamp(1.04rem, 0.89rem + 0.74vw, 1.35rem);
  font-weight: bold;
  line-height: 1.25em;
}

@media screen and (min-width: 992px) {
  body.blog .page-header > *,
  body.category .page-header > * {
    grid-column: 2/span 12;
  }
}
body.blog .page-header h4.sub-head,
body.category .page-header h4.sub-head {
  display: inline-block;
  color: #ADAFB2;
  font-weight: bold;
  font-size: clamp(1.125rem, 1.4vw, 1.25rem);
  padding-bottom: 0.5rem;
}
body.blog .page-header h4.sub-head a,
body.category .page-header h4.sub-head a {
  color: #ADAFB2;
}
body.blog .page-header h4.sub-head a:hover,
body.category .page-header h4.sub-head a:hover {
  text-decoration: underline;
}
body.blog section.featured-posts,
body.category section.featured-posts {
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  body.blog section.featured-posts,
  body.category section.featured-posts {
    padding-bottom: 4rem;
  }
}
body.blog section.featured-posts .featured-grid,
body.category section.featured-posts .featured-grid {
  display: grid;
  gap: 2rem;
  grid-column: 1/-1;
  grid-template-areas: "featured-1" "featured-2" "featured-3";
}
@media screen and (min-width: 768px) {
  body.blog section.featured-posts .featured-grid,
  body.category section.featured-posts .featured-grid {
    grid-column: 2/span 8;
    grid-template-areas: "featured-1 featured-1" "featured-2 featured-3";
  }
}
@media screen and (min-width: 992px) {
  body.blog section.featured-posts .featured-grid,
  body.category section.featured-posts .featured-grid {
    grid-column: 2/span 12;
  }
}
body.blog section.featured-posts .news-item .info,
body.category section.featured-posts .news-item .info {
  padding: 1rem;
  margin-top: -4rem;
}
@media screen and (min-width: 992px) {
  body.blog section.featured-posts .news-item .info,
  body.category section.featured-posts .news-item .info {
    padding: 2rem;
  }
}
body.blog section.featured-posts .news-item .info__wrapper,
body.category section.featured-posts .news-item .info__wrapper {
  padding: 1.5rem;
  background: #fff;
}
@media screen and (min-width: 992px) {
  body.blog section.featured-posts .news-item .info__wrapper,
  body.category section.featured-posts .news-item .info__wrapper {
    padding: 2rem;
  }
}
body.blog section.featured-posts .featured-1,
body.category section.featured-posts .featured-1 {
  grid-area: featured-1;
}
@media screen and (min-width: 768px) {
  body.blog section.featured-posts .featured-1 .info__wrapper,
  body.category section.featured-posts .featured-1 .info__wrapper {
    max-width: 75%;
  }
}
body.blog section.featured-posts .featured-2,
body.category section.featured-posts .featured-2 {
  grid-area: featured-2;
}
body.blog section.featured-posts .featured-4,
body.category section.featured-posts .featured-4 {
  grid-area: featured-3;
}
body.blog .post-list,
body.category .post-list {
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  body.blog .post-list,
  body.category .post-list {
    padding-bottom: 6rem;
  }
}

body.single-post .article-header .featured-image {
  grid-column: 1/-1;
  aspect-ratio: 16/12;
  grid-row: 1;
  max-height: 95vh;
}
body.single-post .article-header .featured-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 992px) {
  body.single-post .article-header .featured-image {
    aspect-ratio: 16/7;
  }
}
@media screen and (min-width: 1280px) {
  body.single-post .article-header .featured-image {
    aspect-ratio: unset;
    max-height: 90vh;
    width: 100%;
  }
}
body.single-post .article-header .info {
  grid-row: 1;
  z-index: 10;
  align-self: center;
}
@media screen and (min-width: 768px) {
  body.single-post .article-header .info {
    align-self: end;
    transform: translateY(calc(-5vh - 2rem));
  }
}
@media screen and (min-width: 992px) {
  body.single-post .article-header .info {
    grid-column: 2/span 10;
    transform: translateY(calc(-10vh - 2rem));
  }
}
body.single-post .article-header .post-title {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.66);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.125em;
}
@media screen and (min-width: 768px) {
  body.single-post .article-header .post-title {
    font-size: clamp(3rem, 5vw, 4.5rem);
  }
}
body.single-post .article-header .post-title.no-shadow {
  text-shadow: none;
}
body.single-post .article-body {
  align-items: start;
}
body.single-post .article-body .copy {
  background: #fff;
  padding: 2rem;
  margin-top: -5vh;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  body.single-post .article-body .copy {
    grid-column: 2/span 6;
  }
}
@media screen and (min-width: 992px) {
  body.single-post .article-body .copy {
    grid-column: 2/span 8;
    margin-top: -10vh;
  }
}
body.single-post .article-body .copy .alignleft {
  float: left;
  margin: 0 2rem 2rem 0;
}
body.single-post .article-body .copy .alignright {
  float: right;
  margin: 0 0 2rem 2rem;
}
body.single-post .article-body .copy .blue-callout {
  float: right;
  max-width: 430px;
  background-color: #d5edef;
  margin: 20px 0 20px 20px;
  padding: 30px;
}
body.single-post .article-body .copy .blue-callout h6 {
  font-size: clamp(1.25rem, 1.75vw, 1.625rem);
  line-height: 1.7em;
}
body.single-post .article-body .sidebar {
  padding-top: 5vh;
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.5em;
  padding: 0 2rem 6rem 2rem;
}
@media screen and (min-width: 768px) {
  body.single-post .article-body .sidebar {
    grid-column: 8/span 2;
    padding: 0 0 3rem 0;
    padding-top: 7.5vh;
    border-bottom: 4px double #72CCD2;
  }
}
@media screen and (min-width: 992px) {
  body.single-post .article-body .sidebar {
    grid-column: 10/span 3;
  }
}
body.single-post .article-body .sidebar h4 {
  font-weight: bold;
}
body.single-post .article-body .sidebar p {
  font-size: clamp(0.75rem, 1vw, 0.875rem);
}
body.single-post .article-body .sidebar a {
  font-weight: normal;
}
body.single-post .article-body .sidebar a:hover {
  text-decoration: underline;
}
body.single-post .article-body .sidebar .module + .module {
  padding-top: 3rem;
}
body.single-post .article-body .sidebar .categories p {
  font-weight: bold;
}
body.single-post .article-body .sidebar .authors h4 {
  padding-bottom: 0.5rem;
}
body.single-post .article-body .sidebar .authors .author {
  display: flex;
  align-items: center;
}
body.single-post .article-body .sidebar .authors .author + .author {
  padding-top: 1rem;
}
body.single-post .article-body .sidebar .authors .author .photo {
  aspect-ratio: 1/1;
  width: 2.5rem;
  height: 2.5rem;
}
body.single-post .article-body .sidebar .authors .author .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.single-post .article-body .sidebar .authors .author .photo a {
  display: block;
  width: 100%;
  height: 100%;
}
body.single-post .article-body .sidebar .authors .author .photo img {
  border-radius: 50%;
}
body.single-post .article-body .sidebar .authors .author .photo .placeholder {
  display: block;
  background: #72CCD2;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
}
body.single-post .article-body .sidebar .authors .author .info {
  padding-left: 0.5rem;
}
body.single-post .article-body .sidebar .authors .author .info p {
  font-weight: bold;
}
body.single-post .article-body .sidebar .authors .author .info p a:hover {
  text-decoration: underline;
}
body.single-post .article-body .sidebar .social-share .links {
  padding-top: 0.5rem;
  display: flex;
  align-items: center;
}
body.single-post .article-body .sidebar .social-share .links .link + .link {
  margin-left: 1.5rem;
}
body.single-post .article-body .sidebar .social-share .links a {
  display: flex;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
}
body.single-post .article-body .sidebar .social-share svg {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
body.single-post .article-body .sidebar .social-share svg g,
body.single-post .article-body .sidebar .social-share svg path {
  fill: #DCDDDE;
  transition: all 0.2s ease;
}
body.single-post .article-body .sidebar .social-share svg:hover g,
body.single-post .article-body .sidebar .social-share svg:hover path {
  fill: #00A69C;
}
body.single-post .article-body .wp-block-group.sidebar {
  padding: 2rem 2rem 1rem 2rem;
}
@media screen and (min-width: 768px) {
  body.single-post .article-body .wp-block-group.sidebar {
    float: right;
    max-width: 50%;
    margin: 0 0 2rem 2rem;
    font-size: 0.875em;
  }
}
body.single-post .article-body .wp-block-group__inner-container > * {
  margin-bottom: 1rem;
}
body.single-post .article-body .wp-element-caption {
  font-size: clamp(0.66rem, 0.58rem + 0.48vw, 0.88rem);
  line-height: 1.375em;
  color: #6D6E71;
  font-style: italic;
  padding-bottom: 1rem;
}
body.single-post .article-footer {
  padding-bottom: 3rem;
  padding-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  body.single-post .article-footer {
    padding-bottom: 6rem;
  }
}
@media screen and (min-width: 1280px) {
  body.single-post .article-footer {
    padding-left: 3rem;
  }
}

body.page-template-contact .site-content .section-header {
  padding-top: 3rem;
  border-top: 4px double #72CCD2;
}
body.page-template-contact section.offices {
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  body.page-template-contact section.offices {
    padding-bottom: 6rem;
  }
}
body.page-template-contact section.offices .office .headline {
  padding-bottom: 0.25rem;
}
body.page-template-contact section.offices .office .headline h4 {
  font-weight: bold;
  font-size: clamp(0.875rem, 0.9vw, 1rem);
}

body.page-template-newsletter section.contact-form {
  padding: 0 0 3rem 0;
}
@media screen and (min-width: 768px) {
  body.page-template-newsletter section.contact-form {
    padding: 0 0 6rem 0;
  }
}
body.page-template-newsletter section.contact-form .headline {
  padding-top: 3rem;
  border-top: 4px double #72CCD2;
}
body.page-template-newsletter section.contact-form .copy {
  padding: 1rem 0 2rem 0;
}
@media screen and (min-width: 992px) {
  body.page-template-newsletter section.contact-form .copy {
    grid-column: 2/span 8;
  }
}
@media screen and (min-width: 992px) {
  body.page-template-newsletter section.contact-form .form-embed {
    grid-column: 2/span 8;
  }
}
body.page-template-newsletter section.contact-form .form-embed fieldset > div {
  margin-top: 0.25rem;
}

body.page-template-making-waves .making-waves-header {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto;
  padding: 3rem 1.25rem 0;
}
body.page-template-making-waves .making-waves-header .headline h1 {
  font-weight: 100;
  color: #72CCD2;
  padding-bottom: 1rem;
}
body.page-template-making-waves .making-waves-header .headline h2 {
  font-weight: 100;
  color: #00728F;
}
body.page-template-making-waves .making-waves-header .copy {
  padding-top: 2rem;
  font-style: italic;
}
body.page-template-making-waves .making-waves-body {
  padding: 4rem 1.25rem 6rem;
  position: relative;
}
body.page-template-making-waves .making-waves-body:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  max-height: 50vh;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100%;
}
body.page-template-making-waves .sign-up-form {
  position: relative;
  z-index: 1;
  max-width: 30rem;
  margin: 0 auto;
  background: #fff;
  padding: 3rem;
  border-radius: 5px;
  box-shadow: rgba(50, 50, 93, 0.1) 0px 4px 27px -5px, rgba(0, 0, 0, 0.15) 0px 2px 16px -8px;
}
body.page-template-making-waves .sign-up-form .field + .field {
  padding-top: 2rem;
}
body.page-template-making-waves .sign-up-form .field label {
  display: block;
  font-weight: bold;
  padding-bottom: 0.5rem;
}
body.page-template-making-waves .sign-up-form .field input[type=text],
body.page-template-making-waves .sign-up-form .field input[type=email] {
  width: 100%;
  color: #666;
  padding: 0.75rem;
  height: auto;
  border: 1px solid #eaeaea;
  border-radius: 2px;
  background: #fafafa;
}
body.page-template-making-waves .sign-up-form .other-list {
  display: flex;
}
body.page-template-making-waves .sign-up-form .other-list input {
  display: block;
  margin-top: 6px;
}
body.page-template-making-waves .sign-up-form .other-list label {
  padding-left: 0.5rem;
  font-size: clamp(0.875rem, 0.9vw, 1rem);
  line-height: 1.25em;
  font-weight: normal;
  font-style: italic;
}
body.page-template-making-waves .sign-up-form .submit button {
  color: #fff;
  background: #1193BA;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 1rem 1.5rem 0.875rem;
  border: 2px solid #fff;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  transition: all 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  body.page-template-making-waves .sign-up-form .submit button {
    padding: 1.5rem 2rem 1.375rem;
  }
}

body.search .archived-posts.search-results .search-form-wrapper {
  background: #EDEDED;
  grid-column: 1/-1;
  padding: 3rem 0;
}
@media screen and (min-width: 992px) {
  body.search .archived-posts.search-results .search-form-wrapper {
    padding: 4rem 0;
  }
}
body.search .archived-posts.search-results form {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 992px) {
  body.search .archived-posts.search-results form {
    grid-column: 2/span 9;
  }
}
body.search .archived-posts.search-results form label {
  display: block;
  width: 100%;
  padding-right: 1rem;
}
body.search .archived-posts.search-results form label input {
  width: 100%;
  border: none;
  border-radius: 3px;
  padding: 0 0.75rem;
  height: 3rem;
  line-height: 1em;
  color: #000;
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  body.search .archived-posts.search-results form label input {
    height: 4rem;
  }
}
body.search .archived-posts.search-results form label input:focus, body.search .archived-posts.search-results form label input:active {
  outline-color: #F9A134;
}
body.search .archived-posts.search-results form label input::-webkit-input-placeholder {
  color: #ADAFB2;
}
body.search .archived-posts.search-results form label input::-moz-placeholder {
  color: #ADAFB2;
}
body.search .archived-posts.search-results form label input:-moz-placeholder {
  color: #ADAFB2;
}
body.search .archived-posts.search-results form label input:-ms-input-placeholder {
  color: #ADAFB2;
}
body.search .archived-posts.search-results form .search-submit {
  background: #00A69C;
  color: #fff;
  border: none;
  border-radius: 3px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  padding: 0 2rem;
  height: 3rem;
  font-weight: 700;
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  body.search .archived-posts.search-results form .search-submit {
    height: 4rem;
    padding: 0 3rem;
  }
}
body.search .archived-posts.search-results form .search-submit:focus, body.search .archived-posts.search-results form .search-submit:active {
  outline-color: #699CC6;
}
body.search .archived-posts.search-results .results-count {
  padding-top: 3rem;
}
body.search .archived-posts.search-results .results-count p {
  display: inline-block;
  color: #ADAFB2;
  font-weight: bold;
  font-size: clamp(1.375rem, 1.8vw, 1.675rem);
}
body.search .search-results-list {
  padding-top: 3rem;
  min-height: 50vh;
}
@media screen and (min-width: 768px) {
  body.search .search-results-list {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 992px) {
  body.search .search-results-list {
    grid-column: 2/span 12;
  }
}
body.search .search-results-list article + article {
  margin-top: 3rem;
  border-top: 1px solid #EDEDED;
  padding-top: 3rem;
}
@media screen and (min-width: 992px) {
  body.search .search-results-list article .info {
    max-width: 75%;
  }
}
body.search .search-results-list article .info .type {
  padding-bottom: 0.5rem;
}
body.search .search-results-list article .info .type h5 {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: bold;
  color: #6D6E71;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
}
body.search .search-results-list article .info .headline h4 br {
  display: none;
}
body.search .search-results-list article .info .headline h4 a {
  color: #000;
}
body.search .search-results-list article .info .headline h4 a:hover {
  text-decoration: none;
  color: #00A69C;
}
body.search .search-results-list article .info .copy {
  padding-top: 1rem;
}
body.search .search-results-list article .info .copy em.date {
  display: block;
  color: #6D6E71;
}
body.search .search-results-list article .info .cta {
  padding-top: 2rem;
}
body.search .search-results-list article .info .cta a.underline {
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}
body.search .search-results-list article.service .content {
  display: flex;
  justify-content: center;
  align-items: center;
}
body.search .search-results-list article.service svg {
  width: 200px !important;
}
body.search .search-results-list article.service svg, body.search .search-results-list article.service g {
  fill: #00728F;
}
body.search .search-results-list .no-results .info {
  padding: 0;
  width: 100%;
}

@media screen and (min-width: 992px) {
  body.page-template-default .page-header {
    padding-top: 4rem;
  }
}
body.page-template-default .default-page {
  padding-bottom: 6rem;
}
@media screen and (min-width: 992px) {
  body.page-template-default .default-page .copy {
    grid-column: 2/span 9;
  }
}
body.page-template-default .default-page .copy h1, body.page-template-default .default-page .copy h2, body.page-template-default .default-page .copy h3, body.page-template-default .default-page .copy h4, body.page-template-default .default-page .copy h5, body.page-template-default .default-page .copy h6 {
  font-weight: bold;
}
body.page-template-default .default-page .copy > h1, body.page-template-default .default-page .copy > h2, body.page-template-default .default-page .copy > h3, body.page-template-default .default-page .copy > h4, body.page-template-default .default-page .copy > h5, body.page-template-default .default-page .copy > h6 {
  margin-bottom: 0.5rem;
}
body.page-template-default .default-page .copy h1 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}
body.page-template-default .default-page .copy h2 {
  font-size: clamp(1.375rem, 2vw, 1.625rem);
}
body.page-template-default .default-page .copy h3 {
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
}
body.page-template-default .default-page .copy h4 {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
}
body.page-template-default .default-page .copy h5 {
  font-size: clamp(0.875rem, 1vw, 1rem);
}
body.page-template-default .default-page .copy h6 {
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
}

@media screen and (min-width: 992px) {
  body.page-template-landing-page .page-wrapper > *:not(.esa-hero, .esa-featured-projects) {
    grid-column: 2/span 8;
  }
}

@media screen and (min-width: 768px) {
  body.error404 .site-content {
    min-height: 60vh;
  }
}
body.error404 .site-content nav.search-nav {
  min-height: unset;
  position: relative;
  top: unset;
  z-index: unset;
  box-shadow: unset;
  border-bottom: unset;
  background: unset;
  padding: unset;
  opacity: 1;
}
@media screen and (min-width: 480px) {
  body.error404 .site-content nav.search-nav form {
    grid-column: 2/span 8;
  }
}
@media screen and (min-width: 992px) {
  body.error404 .site-content nav.search-nav form {
    grid-column: 2/span 8;
  }
}
body.error404 .page-header {
  padding-bottom: 0;
}
@media screen and (min-width: 992px) {
  body.error404 .page-header {
    padding-top: 6rem;
  }
  body.error404 .page-header .page-title {
    grid-column: 2/span 12;
  }
}
body.error404 .page-header .copy {
  padding-top: 2rem;
}

.copy-2.extended .esa-sidebar {
  width: 100%;
  padding: 2rem 2rem 1rem 2rem;
  background-color: #D5EDEF;
}
@media screen and (min-width: 992px) {
  .copy-2.extended .esa-sidebar {
    max-width: 26rem;
  }
}
.copy-2.extended .esa-sidebar h4 {
  font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
  line-height: 1.5em !important;
  font-weight: bold;
}
.copy-2.extended .esa-sidebar > * {
  margin-bottom: 1rem;
}

.esa-contacts {
  padding-bottom: 2rem;
}
.esa-contacts__header {
  border-bottom: 2px solid #00A69C;
  margin-bottom: 1.5rem;
}
.esa-contacts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 2rem;
}
.esa-contacts__card-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.esa-contacts__card-header .linkedin {
  width: 1rem;
}
.esa-contacts__card-meta .region {
  font-style: italic;
  color: #6D6E71;
  font-size: clamp(0.66rem, 0.58rem + 0.48vw, 0.88rem);
  line-height: 1.25em;
}
.esa-contacts__card-meta .email a {
  color: #F9A134;
  font-weight: 600;
  font-size: clamp(0.6rem, 0.52rem + 0.43vw, 0.78rem);
  text-decoration: underline;
}

.esa-hero {
  grid-column: 1/-1;
}
.esa-hero .featured-image {
  grid-column: 1/-1;
  aspect-ratio: 16/12;
  grid-row: 1;
  max-height: 95vh;
}
.esa-hero .featured-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 992px) {
  .esa-hero .featured-image {
    aspect-ratio: 16/7;
  }
}
@media screen and (min-width: 1280px) {
  .esa-hero .featured-image {
    aspect-ratio: unset;
    max-height: 90vh;
    width: 100%;
  }
}
.esa-hero .info {
  grid-row: 1;
  z-index: 10;
  align-self: center;
}
@media screen and (min-width: 768px) {
  .esa-hero .info {
    align-self: end;
    transform: translateY(calc(-5vh - 2rem));
  }
}
@media screen and (min-width: 992px) {
  .esa-hero .info {
    grid-column: 2/span 10;
  }
}
.esa-hero .post-title {
  color: #fff;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.66);
  font-weight: 700 !important;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.125em;
}
@media screen and (min-width: 768px) {
  .esa-hero .post-title {
    font-size: clamp(3rem, 5vw, 4.5rem);
  }
}

.esa-featured-projects {
  grid-column: 1/-1;
  margin-bottom: 0 !important;
}
.esa-featured-projects a:hover {
  text-decoration: none;
}