/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5,
h6, p, blockquote, pre, a, abbr, acronym, address, big,
cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small,
strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt,
dd, ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav,
output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth; }

a {
  text-decoration: none; }

img, svg, iframe {
  max-width: 100%; }

img,
fieldset,
a img {
  border: none; }

input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
textarea {
  -webkit-appearance: none; }

input[type="submit"],
button {
  cursor: pointer; }
  input[type="submit"]::-moz-focus-inner,
  button::-moz-focus-inner {
    padding: 0;
    border: 0; }

textarea {
  overflow: auto; }

input, button {
  margin: 0;
  padding: 0;
  border: 0; }

div, input, textarea, select, button,
h1, h2, h3, h4, h5, h6, a, span, a:focus {
  outline: none; }

table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse; }

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

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

html {
  font-family: 'InterFace';
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 1.6;
  color: #16274a; }
  @media (min-width: 768px) {
    html {
      font-size: 23px; } }

h1 {
  font-size: calc(2.5 * 1.2vmax + 1rem);
  font-weight: 300;
  line-height: 1;
  margin-bottom: 1em; }

h2 {
  font-size: calc(1.6 * 1.2vmax + 1rem);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
  margin-bottom: .5em; }

h3 {
  font-size: calc(0.8 * 1.2vmax + 1rem);
  line-height: 1.4;
  font-weight: 300;
  margin-bottom: 0.4em; }
  h3 strong {
    font-weight: 400; }

h4 {
  font-size: calc(0.4 * 1.2vmax + 1rem);
  line-height: 1.4;
  font-weight: 300;
  margin-bottom: 0.1em; }
  h4 strong {
    font-weight: 400; }

.large {
  font-size: 1.25em;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 768px) {
    .large {
      font-size: 1.5em; } }

.small {
  font-size: 0.8em; }

p + p {
  margin-top: 2em; }

@media (min-width: 1900px) {
  h1 {
    font-size: 80px; }
  h2 {
    font-size: 60px; }
  h3 {
    font-size: 40px; }
  h4 {
    font-size: 25px; } }

.bold {
  font-weight: 700; }

.light {
  font-weight: 300; }

.green {
  color: #81b920; }

.white {
  color: white; }

.text-center {
  text-align: center; }

.rte ul {
  list-style: disc; }

.rte ul, .rte ol {
  padding-left: 1em;
  margin-left: 1em; }
  .rte ul li, .rte ol li {
    padding-left: 1em;
    margin-bottom: 1em; }

.rte a:not(.btn) {
  color: #81b920; }

.rte:last-child {
  margin-bottom: 4em; }

html, body {
  background-color: #dddddd; }

.page {
  max-width: 1900px;
  margin-left: auto;
  margin-right: auto;
  background-color: white; }

.wrap {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 768px) {
    .wrap {
      padding-left: 40px;
      padding-right: 40px; } }
  @media (min-width: 1080px) {
    .wrap {
      padding-left: 60px;
      padding-right: 60px; } }
  @media (min-width: 1200px) {
    .wrap {
      padding-left: 80px;
      padding-right: 80px; } }
  @media (min-width: 1490px) {
    .wrap {
      max-width: 1410px;
      margin-left: auto;
      margin-right: auto; } }

header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  max-width: 1900px;
  margin: 0 auto;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 10px;
  -webkit-transition: all linear .3s;
  transition: all linear .3s;
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 768px) {
    header {
      padding-left: 40px;
      padding-right: 40px; } }
  @media (min-width: 1080px) {
    header {
      padding-left: 60px;
      padding-right: 60px; } }
  @media (min-width: 1200px) {
    header {
      padding-left: 80px;
      padding-right: 80px; } }
  header .brand {
    max-width: 90px; }
    @media (min-width: 480px) {
      header .brand {
        max-width: 115px; } }
    @media (min-width: 996px) {
      header .brand {
        max-width: 130px; } }
  header nav ul {
    list-style: none; }
    @media (min-width: 768px) {
      header nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
    header nav ul li {
      text-align: right;
      line-height: 1.2; }
      @media (min-width: 768px) {
        header nav ul li {
          text-align: left; }
          header nav ul li:not(:first-child) {
            margin-left: 30px; } }
      header nav ul li a {
        color: white;
        font-weight: 700;
        font-size: 20px;
        text-transform: uppercase;
        -webkit-transition: color linear .3s;
        transition: color linear .3s; }
      header nav ul li.on a, header nav ul li:hover a {
        color: #81b920; }
  @media (min-width: 768px) {
    header.sticky {
      position: fixed;
      z-index: 3; } }
  header.sticky.headroom--not-top {
    background-color: #16274a;
    -webkit-box-shadow: 0 10px 10px -10px #16274a;
            box-shadow: 0 10px 10px -10px #16274a; }

.hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--bg);
  height: 100vmax;
  padding-top: 30vmax; }
  .hero.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    max-width: 1900px;
    margin: 0 auto;
    z-index: -1;
    height: 100vh;
    padding-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  @media (min-width: 768px) {
    .hero {
      padding-top: 20vmax; } }
  .hero h1, .hero h3 {
    color: white;
    text-align: center;
    text-transform: uppercase; }
  .hero h1 {
    font-size: calc(2.8 * 1.2vmax + 1rem); }
    @media (min-width: 768px) {
      .hero h1 {
        font-size: calc(3.8 * 1.2vmax + 1rem); } }
    @media (min-width: 1900px) {
      .hero h1 {
        font-size: 110px; } }
  .hero h3 {
    font-weight: 700; }

.hero.fixed + div {
  margin-top: 100vh; }

.foci {
  background-color: #16274a; }
  .foci-intro {
    color: white;
    padding: 80px 0; }
    @media (min-width: 768px) {
      .foci-intro {
        padding: 120px 0 150px; } }
  .foci-body {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: var(--bg);
    position: relative; }
    .foci-body:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 100%;
      background: -webkit-gradient(linear, left top, left bottom, from(#16274a), to(rgba(22, 39, 74, 0.5)));
      background: linear-gradient(180deg, #16274a, rgba(22, 39, 74, 0.5)); }
    @media (min-width: 1080px) {
      .foci-body:before {
        content: none; } }
    .foci-body-columns {
      z-index: 1;
      position: relative;
      padding-bottom: 18vmax; }
      @media (min-width: 996px) {
        .foci-body-columns {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          padding-bottom: 30vmax; } }
      .foci-body-columns-item:not(:first-child) {
        margin-top: 50px; }
      @media (min-width: 996px) {
        .foci-body-columns-item {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 45%;
                  flex: 0 0 45%; }
          .foci-body-columns-item:not(:first-child) {
            margin-top: 0; } }
      .foci-body-columns-item h2 {
        letter-spacing: 5px; }
      .foci-body-columns-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 50px;
        grid-column-gap: 30px; }
        @media (min-width: 768px) {
          .foci-body-columns-grid {
            grid-column-gap: 40px; } }
        .foci-body-columns-grid p {
          margin: 0;
          line-height: 1.2; }

.people {
  padding: 80px 0; }
  .people-item:not(:last-child) {
    margin-bottom: 3em; }

.experience {
  margin-top: 70px;
  margin-bottom: 40px; }
  @media (min-width: 1080px) {
    .experience {
      margin-top: 100px;
      margin-bottom: 80px; } }
  .experience-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr); }
    @media (min-width: 768px) {
      .experience-grid {
        grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 996px) {
      .experience-grid {
        background-color: #81b920;
        grid-column-gap: 1px;
        grid-row-gap: 1px;
        grid-template-columns: repeat(3, 1fr); } }
    .experience-grid b {
      display: none; }
      @media (min-width: 996px) {
        .experience-grid b {
          display: block; } }
    .experience-grid-item {
      background-color: white;
      padding: 0 20px 20px;
      color: #16274a; }
      .experience-grid-item:not(:first-of-type) {
        border-top: 1px solid #81b920; }
      @media (min-width: 768px) {
        .experience-grid-item:not(:first-of-type) {
          border-top: none; }
        .experience-grid-item:not(:first-of-type):not(:nth-of-type(2)) {
          border-top: 1px solid #81b920; }
        .experience-grid-item:nth-child(odd) {
          border-right: 1px solid #81b920; } }
      @media (min-width: 996px) {
        .experience-grid-item {
          border: none !important; } }
      .experience-grid-item img {
        display: block;
        margin: 0 auto; }
      .experience-grid-item p {
        margin: 0;
        text-align: center; }
    .experience-grid b {
      background-color: white; }

.quote {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--bg);
  padding: 50px 0 80px; }
  @media (min-width: 768px) {
    .quote {
      padding: 120px 0 150px; } }

footer {
  overflow: hidden;
  padding: 50px 0;
  line-height: 1.2;
  background-color: #16274a; }
  @media (min-width: 996px) {
    footer {
      padding: 70px 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-image: var(--bg); } }
  @media (min-width: 996px) {
    footer .footer-cols {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  footer .footer-cols-col:first-child {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%;
    background-color: #16274a;
    position: relative; }
    @media (min-width: 996px) {
      footer .footer-cols-col:first-child {
        -webkit-box-shadow: -999px 0 0 1000px #16274a;
                box-shadow: -999px 0 0 1000px #16274a; } }
    footer .footer-cols-col:first-child h2 {
      margin: 0; }
    footer .footer-cols-col:first-child:before {
      position: absolute;
      top: -90px;
      right: -130px;
      bottom: -90px;
      width: 200px;
      -webkit-transform: skewX(12deg);
              transform: skewX(12deg);
      background-color: #16274a;
      -webkit-box-shadow: 10px 0 10px -10px #16274a;
              box-shadow: 10px 0 10px -10px #16274a; }
      @media (min-width: 996px) {
        footer .footer-cols-col:first-child:before {
          content: ''; } }
  footer .footer-cols-col:last-child {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 70%;
            flex: 0 0 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (min-width: 1600px) {
      footer .footer-cols-col:last-child {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 80%;
                flex: 0 0 80%; } }
    footer .footer-cols-col:last-child h1 {
      text-transform: uppercase;
      margin: 50px 0 0 auto; }
      @media (min-width: 996px) {
        footer .footer-cols-col:last-child h1 {
          text-align: right;
          max-width: 75%;
          margin: 0 0 0 auto; } }
  footer .footer-cols-col-inner {
    z-index: 1;
    position: relative; }
    footer .footer-cols-col-inner a {
      color: white; }
    footer .footer-cols-col-inner .address {
      font-size: 0.8em;
      margin-top: 2em;
      color: white;
      text-transform: uppercase; }

