@charset "UTF-8";
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
 * HTML5 display definitions
 * ========================================================================== */
/* Corrects `block` display not defined in IE 8/9. */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block; }

/* Corrects `inline-block` display not defined in IE 8/9. */
audio, canvas, video {
  display: inline-block; }

/* Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices. */
audio:not([controls]) {
  display: none;
  height: 0; }

/* Addresses styling for `hidden` attribute not present in IE 8/9. */
[hidden] {
  display: none; }

/* ==========================================================================
 * Base
 * ========================================================================== */
/* 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom. */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

/* Removes default margin. */
body {
  margin: 0; }

/* ==========================================================================
 * Links
 * ========================================================================== */
/* Addresses `outline` inconsistency between Chrome and other browsers. */
a:focus {
  outline: thin dotted; }
a:active, a:hover {
  outline: 0; }

/* Improves readability when focused and also mouse hovered in all browsers. */
/* ==========================================================================
 * Typography
 * ========================================================================== */
/* Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome. */
h1 {
  font-size: 2em; }

/* Addresses styling not present in IE 8/9, Safari 5, and Chrome. */
abbr[title] {
  border-bottom: 1px dotted; }

/* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
b, strong {
  font-weight: bold; }

/* Addresses styling not present in Safari 5 and Chrome. */
dfn {
  font-style: italic; }

/* Addresses styling not present in IE 8/9. */
mark {
  background: #ff0;
  color: #000; }

/* Corrects font family set oddly in Safari 5 and Chrome. */
code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em; }

/* Improves readability of pre-formatted text in all browsers. */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/* Sets consistent quote types. */
q {
  quotes: "“" "”" "‘" "’"; }

/* Addresses inconsistent and variable font size in all browsers. */
small {
  font-size: 80%; }

/* Prevents `sub` and `sup` affecting `line-height` in all browsers. */
sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
 * Embedded content
 * ========================================================================== */
/* Removes border when inside `a` element in IE 8/9. */
img {
  border: 0; }

/* Corrects overflow displayed oddly in IE 9. */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
 * Figures
 * ========================================================================== */
/* Addresses margin not present in IE 8/9 and Safari 5. */
figure {
  margin: 0; }

/* ==========================================================================
 * Forms
 * ========================================================================== */
/* Define consistent border, margin, and padding. */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/* 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/* 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome */
button, input, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet. */
button, input {
  line-height: normal; }

/* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others. */
button, html input[type="button"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/* Re-set default cursor for disabled elements. */
button[disabled] {
  cursor: default; }

input[disabled] {
  cursor: default; }
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/* 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9. */
/* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof). */
/* Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X. */
/* Removes inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers. */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
 * Tables
 * ========================================================================== */
/* Remove most spacing between table cells. */
table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.btn, .btn-outline, .matrix-file a, .basic-404-wrap a {
  display: inline-block;
  padding: 1.25em 2.25em;
  color: #fff;
  font-family: "Raleway", sans-serif;
  font-size: 1em;
  font-weight: normal;
  line-height: 1em;
  border: none; }
  .btn:hover, .btn-outline:hover, .matrix-file a:hover, .basic-404-wrap a:hover {
    color: #fff; }
  .btn:focus, .btn-outline:focus, .matrix-file a:focus, .basic-404-wrap a:focus, .btn:active, .btn-outline:active, .matrix-file a:active, .basic-404-wrap a:active {
    outline: none; }

html {
  -webkit-font-smoothing: antialiased; }

body {
  font: normal 100%/1.5 "Raleway", sans-serif;
  font-weight: 500;
  color: #484b51; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.025em; }

@media screen and (min-width: 320px) {
  body {
    font-size: 105%; } }
@media screen and (min-width: 500px) {
  body {
    font-size: 110%; } }
@media screen and (min-width: 768px) {
  body {
    font-size: 115%; } }
@media screen and (min-width: 980px) {
  body {
    font-size: 120%; } }
.container {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1em; }
  .container:after {
    content: "";
    display: table;
    clear: both; }
  .container.medium {
    max-width: 54em; }
  .container.narrow {
    max-width: 36em; }

@media screen and (min-width: 980px) {
  .columns {
    display: flex; } }

.row {
  display: block; }
  .row:after {
    content: "";
    display: table;
    clear: both; }

.btn {
  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s;
  background-color: #0f63c0; }
  .btn:hover {
    -webkit-transition: background-color 0.2s;
    -moz-transition: background-color 0.2s;
    transition: background-color 0.2s;
    background-color: #337ac9; }

.btn-small {
  padding: 0.75em 1.5em;
  font-size: 0.675em; }
  @media screen and (min-width: 768px) {
    .btn-small {
      font-size: 0.575em; } }

.btn-outline {
  -webkit-transition: border-color 0.2s, color 0.2s;
  -moz-transition: border-color 0.2s, color 0.2s;
  transition: border-color 0.2s, color 0.2s;
  padding: 1.15em 2.15em;
  background: none;
  border: 2px solid #0f63c0;
  color: #0f63c0; }
  .btn-outline:hover {
    -webkit-transition: background 0.2s, border-color 0.2s, color 0.2s;
    -moz-transition: background 0.2s, border-color 0.2s, color 0.2s;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    background: none;
    border-color: #0d54a3;
    color: #0b4b91; }

body {
  background: #fcfeff; }
  @media screen and (min-width: 768px) {
    body {
      background: #fcfeff url("../img/bg-tree.jpg") no-repeat fixed; } }

body.homepage {
  background: #000000; }

.main-content {
  padding-bottom: 4rem;
  background: url("../img/dots-line.svg") repeat-x center -1em;
  background-size: auto 180px; }

p {
  margin-top: 0; }

a {
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
  color: #0f63c0;
  text-decoration: none; }
  a:hover {
    -webkit-transition: color 0.2s;
    -moz-transition: color 0.2s;
    transition: color 0.2s;
    color: #0b4b91; }

img {
  vertical-align: bottom;
  max-width: 100%; }

ul {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

b {
  font-weight: 900; }

hr {
  margin: 1em 0;
  border: none;
  border-bottom: 1px solid;
  border-color: #ddddde; }
  hr.left-hr {
    border-width: 0.075em;
    margin-right: 50%; }
  hr.narrow {
    margin: auto 20%; }

blockquote {
  margin: 2rem 0;
  padding: 0 0 0 1rem;
  border-left: 0.25em solid #0f63c0; }
  blockquote p {
    margin-bottom: 0.25rem;
    font-size: 1.175em;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.015em; }
  blockquote cite {
    font-size: 0.675em;
    color: #484b51; }
  @media screen and (min-width: 768px) {
    blockquote {
      margin: 2rem 0 2.5rem -2rem;
      padding-left: 2rem;
      font-size: 1.275em; } }

.body-content-bg {
  overflow: visible; }

.read-more {
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em; }
  .read-more i {
    margin-left: 0.2rem; }

.dots-border {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  z-index: 100;
  transform: translateY(-50%);
  height: 240px;
  width: 100%;
  background: url("../img/dots-line.svg") repeat-x center center;
  background-size: auto 50%; }
  .dots-border--faded {
    opacity: 0.65; }

.map {
  width: 100%;
  height: 500px; }

.page-header {
  padding: 3rem 0 0;
  position: relative;
  text-align: center; }
  .page-header:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .page-header h1 {
    position: relative;
    z-index: 10;
    margin: 0 0 1rem;
    font-size: 2em;
    font-weight: 300;
    color: #1a1e25; }
  .page-header .broken-circle {
    position: absolute;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    z-index: 0;
    height: 4em;
    width: auto;
    margin: -1.35em 0 0 -2em;
    font-size: 2em;
    color: #484b51; }
  @media screen and (max-width: 768px) {
    .page-header {
      background-position: 0 -40px; } }
  @media screen and (min-width: 768px) {
    .page-header h1 {
      font-size: 2.575em; }
    .page-header .broken-circle {
      position: absolute;
      top: 50%;
      right: auto;
      bottom: auto;
      left: 50%;
      z-index: 0;
      height: 5em;
      width: auto;
      margin: -2em 0 0 -2.5em; } }

.news-listing-wrap {
  padding: 3rem 0; }
  @media screen and (min-width: 768px) {
    .news-listing-wrap {
      padding: 6rem 0; }
      .news-listing-wrap:first-of-type {
        padding-top: 4em; } }
  @media screen and (min-width: 768px) {
    .news-listing-wrap .news-entry {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .news-listing-wrap .news-entry:last-child {
        margin-right: 0; }
      .news-listing-wrap .news-entry:nth-child(2n) {
        margin-right: 0; }
      .news-listing-wrap .news-entry:nth-child(2n+1) {
        clear: left; } }

.news-entry {
  position: relative;
  margin-top: 1.5rem;
  padding: 1rem 1rem 2.75rem;
  background: rgba(228, 239, 245, 0.5); }
  .news-entry p:last-of-type {
    margin-bottom: 0; }
  .news-entry:last-child {
    margin-bottom: 2.5rem; }
  .news-entry h3 {
    margin: 0;
    font-size: 1.375em;
    font-weight: 400; }
    .news-entry h3 a {
      -webkit-transition: color 0.2s;
      -moz-transition: color 0.2s;
      transition: color 0.2s;
      color: #1a1e25; }
      .news-entry h3 a:hover, .news-entry h3 a:active {
        -webkit-transition: color 0.2s;
        -moz-transition: color 0.2s;
        transition: color 0.2s;
        color: #0b4b91; }
  .news-entry .news-date {
    display: block;
    margin: 0.5rem 0;
    font-size: 0.775em;
    text-transform: uppercase; }
  .news-entry p {
    font-size: 0.875em; }
  .news-entry .read-more {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 1rem;
    left: 1rem;
    line-height: 1; }
  @media screen and (max-width: 768px) {
    .news-entry {
      height: auto !important; } }
  @media screen and (min-width: 768px) {
    .news-entry {
      padding: 1.5rem 1.5rem 3.5rem; }
      .news-entry .read-more {
        position: absolute;
        top: auto;
        right: auto;
        bottom: 1.5rem;
        left: 1.5rem; } }

.products-intro {
  text-align: center; }
  .products-intro h3 {
    font-weight: 400;
    font-size: 2em; }

.product-entry {
  margin-top: 2rem;
  text-align: center; }
  .product-entry .product-image-link {
    display: block; }
  .product-entry figure {
    display: inline-block;
    position: relative; }
    .product-entry figure span {
      display: inline-block;
      position: absolute;
      top: 1rem;
      right: auto;
      bottom: auto;
      left: 1rem;
      z-index: 10;
      background: #d41e53;
      padding: 0.25rem 0.5rem;
      font-size: 0.75rem;
      font-weight: 600;
      color: #ffffff; }
    .product-entry figure img {
      padding: 0.5rem;
      background: #ffffff !important;
      box-shadow: #e3e3e3 0 0 100px 0; }
  .product-entry h4 {
    margin: 1rem 0 0.5rem;
    font-weight: 600; }
  .product-entry p {
    margin: 0;
    font-size: 1rem; }
  .product-entry .product-link {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase; }

@media screen and (min-width: 768px) {
  .products-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .products-wrap .product-entry {
      padding: 1.5rem; } }

.site-header {
  -webkit-transition: padding 0.3s;
  -moz-transition: padding 0.3s;
  transition: padding 0.3s;
  padding: 1rem; }
  .site-header .columns {
    display: inherit; }
  .site-header .site-logo {
    display: flex;
    align-items: center;
    float: left; }
    .site-header .site-logo .logo-wings {
      height: 2.5em;
      width: auto;
      transform: rotate(-3deg);
      opacity: 0.85; }
    .site-header .site-logo .logo-brand {
      height: 1.25em;
      width: auto;
      margin-left: 1rem; }
  .site-header .menu-action {
    float: right;
    font-size: 1.25em; }
    .site-header .menu-action span {
      display: none;
      margin-right: 0.5em;
      font-size: 0.775em;
      font-weight: 600; }
  @media screen and (max-width: 1120px) {
    .site-header .column:first-child {
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .site-header .site-nav {
      -webkit-transition: max-height 0.4s;
      -moz-transition: max-height 0.4s;
      transition: max-height 0.4s;
      overflow: hidden;
      max-height: 0; }
      .site-header .site-nav.open {
        max-height: 300px; }
      .site-header .site-nav a {
        display: block;
        text-transform: uppercase;
        padding: 0.25rem 0; }
        .site-header .site-nav a:not(:last-child) {
          border-bottom: 1px solid #ddddde; }
        .site-header .site-nav a:first-child {
          padding-top: 1.25rem; } }
  @media screen and (min-width: 1120px) {
    .site-header .columns {
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .site-header .menu-action {
      display: none; }
    .site-header .site-nav {
      margin-top: 0.25rem; }
      .site-header .site-nav a {
        -webkit-transition: color 0.2s;
        -moz-transition: color 0.2s;
        transition: color 0.2s;
        color: #1c2027;
        display: inline-block;
        margin: 0 0 0 0.5rem;
        font-size: 0.775em;
        line-height: 1;
        letter-spacing: 0.025em;
        text-transform: uppercase; }
        .site-header .site-nav a:hover, .site-header .site-nav a:active {
          -webkit-transition: color 0.2s;
          -moz-transition: color 0.2s;
          transition: color 0.2s;
          color: #0b4b91; }
        .site-header .site-nav a.current {
          color: #0f63c0; } }
  @media screen and (min-width: 980px) {
    .site-header {
      padding: 1.5rem 2.5rem; } }

.homepage .site-header .logo-brand {
  display: none; }
@media screen and (min-width: 768px) {
  .homepage .site-header .site-nav a {
    -webkit-transition: color 0.2s;
    -moz-transition: color 0.2s;
    transition: color 0.2s;
    color: #a3a5a8; }
    .homepage .site-header .site-nav a:hover, .homepage .site-header .site-nav a:active {
      -webkit-transition: color 0.2s;
      -moz-transition: color 0.2s;
      transition: color 0.2s;
      color: #0b4b91; } }
@media screen and (max-width: 1120px) {
  .homepage .site-header .site-nav a:not(:last-child) {
    border-bottom: 1px solid #1a1e25; } }

.homepage .site-footer::before {
  display: none; }

.site-footer {
  position: relative;
  background: #000000; }
  .site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    z-index: 100;
    height: 80px;
    width: 100%;
    margin-top: -70px;
    background: url("../img/bg-leaves.svg") repeat-x center bottom;
    background-size: auto 100%; }
  @media screen and (max-width: 768px) {
    .site-footer {
      padding: 0;
      text-align: center; }
      .site-footer .footer-image {
        height: 350px;
        width: 100%;
        background: #000000 url("../img/bg-footer-sm.jpg") no-repeat top right;
        background-size: 100% auto; }
      .site-footer .company-logos {
        margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .site-footer {
      padding: 1.5rem 0 2rem;
      background: #000000 url("../img/bg-footer.jpg") no-repeat bottom right;
      background-size: auto 90%; }
      .site-footer .company-logos {
        max-width: 760px;
        margin: 0 auto 12rem;
        filter: drop-shadow(#1a1e25 0 0 15px); } }
  .site-footer .contact-info span {
    display: inline-block;
    width: 8em;
    padding-right: 1rem;
    text-align: right;
    font-weight: 600; }
  @media screen and (min-width: 768px) {
    .site-footer .contact-info {
      margin-left: -1rem; }
      .site-footer .contact-info:after {
        content: "";
        display: table;
        clear: both; }
      .site-footer .contact-info .contact-entry {
        float: left; }
        .site-footer .contact-info .contact-entry:last-child {
          margin-left: 2rem; } }
  .site-footer .contact-entry {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.75); }
    @media screen and (min-width: 768px) {
      .site-footer .contact-entry {
        width: 30%; } }
    @media screen and (min-width: 1120px) {
      .site-footer .contact-entry {
        width: auto; } }
    .site-footer .contact-entry h4 {
      margin: 0 0 0.5rem;
      color: #ffc308; }
    .site-footer .contact-entry p, .site-footer .contact-entry a {
      margin: 0.25rem 0;
      line-height: 1.2; }
    .site-footer .contact-entry p {
      color: #e8e9e9; }
      .site-footer .contact-entry p:nth-of-type(1) {
        text-transform: uppercase; }
      .site-footer .contact-entry p:nth-of-type(2) {
        font-weight: 600; }
  .site-footer .social-links {
    margin-bottom: 1rem; }
    .site-footer .social-links a {
      font-size: 2.5em;
      -webkit-transition: color 0.2s;
      -moz-transition: color 0.2s;
      transition: color 0.2s;
      color: #d41e53;
      margin-right: 1.5rem; }
      .site-footer .social-links a:hover, .site-footer .social-links a:active {
        -webkit-transition: color 0.2s;
        -moz-transition: color 0.2s;
        transition: color 0.2s;
        color: #0b4b91; }
  .site-footer .footer-nav {
    margin-bottom: 1.5rem; }
    .site-footer .footer-nav a {
      -webkit-transition: color 0.2s;
      -moz-transition: color 0.2s;
      transition: color 0.2s;
      color: #ddddde;
      font-size: 0.75rem;
      text-transform: uppercase;
      margin: 0 0.5rem;
      white-space: nowrap; }
      .site-footer .footer-nav a:hover, .site-footer .footer-nav a:active {
        -webkit-transition: color 0.2s;
        -moz-transition: color 0.2s;
        transition: color 0.2s;
        color: #0b4b91; }
      @media screen and (min-width: 768px) {
        .site-footer .footer-nav a {
          margin: 0 0.5rem 0 0; } }
  .site-footer .copyright {
    font-size: 0.675em;
    color: #484b51; }

.homepage-content {
  padding: 6rem 0 2rem; }
  @media screen and (min-width: 768px) {
    .homepage-content {
      padding: 12rem 0 2rem;
      background: #000000 url("../img/bg-jungle.jpg") no-repeat top center;
      background-size: cover; } }

.homepage-section {
  position: relative;
  color: #a3a5a8; }
  .homepage-section h2, .homepage-section h3 {
    margin-top: 0;
    font-weight: 400; }
  .homepage-section h3 {
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #16d762; }
  .homepage-section hr {
    border-bottom-color: #0f63c0; }
  .homepage-section .content,
  .homepage-section .section-image {
    position: relative;
    z-index: 10; }
  .homepage-section .section-image {
    display: inline-block;
    vertical-align: bottom;
    position: relative;
    z-index: 0; }
    .homepage-section .section-image img {
      max-width: 300px;
      height: auto;
      border-radius: 50%;
      overflow: hidden; }
  @media screen and (max-width: 768px) {
    .homepage-section {
      text-align: center; }
      .homepage-section .section-image {
        margin-bottom: 2rem; }
        .homepage-section .section-image img {
          height: 200px;
          width: 200px; } }
  @media screen and (min-width: 768px) {
    .homepage-section .columns {
      display: flex;
      align-items: center; }
    .homepage-section .column:first-child {
      width: 30%;
      text-align: center; }
    .homepage-section .column:last-child {
      width: 65%;
      margin-left: 5%; }
    .homepage-section .content {
      padding: 2rem;
      font-size: 1.125em;
      line-height: 1.6;
      text-shadow: #000000 0 0 25px, #000000 0 0 55px; } }

.homepage-hero {
  position: relative;
  -webkit-transition: height 0.3s;
  -moz-transition: height 0.3s;
  transition: height 0.3s;
  background: #000000;
  color: #ddddde; }
  .homepage-hero p:last-of-type {
    margin-bottom: 0; }
  .homepage-hero p {
    margin-top: 2rem;
    text-shadow: #000000 0 0 25px; }
    .homepage-hero p small {
      display: block;
      margin-top: 0.5rem;
      font-size: 0.675em;
      text-align: right; }
    @media screen and (max-width: 768px) {
      .homepage-hero p small {
        text-align: center; }
      .homepage-hero p span {
        display: block; } }
  .homepage-hero .festival-logos {
    display: flex;
    align-items: center;
    margin-top: 1.5rem; }
    .homepage-hero .festival-logos img {
      margin: 0 1rem; }
  .homepage-hero .sundance-logo {
    height: 3rem;
    width: auto; }
  .homepage-hero .venice-logo {
    height: 5rem;
    width: auto; }
  @media screen and (max-width: 768px) {
    .homepage-hero {
      background: #000000 url("../img/hero-home-sm.jpg") no-repeat top center;
      background-size: 100% auto;
      text-align: center; }
      .homepage-hero .column {
        padding: 18rem 3rem 0; } }
  @media screen and (min-width: 768px) {
    .homepage-hero {
      background: #000000 url("../img/hero-home.jpg") no-repeat center center;
      background-size: auto 100%; }
      .homepage-hero .columns {
        height: 670px;
        align-items: center; }
      .homepage-hero .column {
        width: 40%;
        margin-left: 10%; }
      .homepage-hero p {
        font-size: 1.25rem; }
      .homepage-hero .sundance-logo {
        height: 3rem;
        width: auto; } }

.homepage-technology {
  padding: 3rem 0;
  background: url("../img/dots-line.svg") repeat-x center center;
  background-size: auto 45%; }
  @media screen and (min-width: 768px) {
    .homepage-technology {
      padding: 6rem 0; }
      .homepage-technology:first-of-type {
        padding-top: 4em; } }
  @media screen and (min-width: 768px) {
    .homepage-technology .columns {
      flex-direction: row-reverse; }
    .homepage-technology .column:last-child {
      margin-left: 0;
      margin-right: 5%; }
    .homepage-technology p {
      background: rgba(0, 0, 0, 0.5); } }

@media screen and (max-width: 768px) {
  .homepage-yawnawa {
    padding: 2rem 1rem;
    margin-top: -3rem; }
    .homepage-yawnawa .section-image {
      height: 260px;
      width: 260px;
      margin: 0 auto 2rem;
      background: url("../img/bg-yawanawa-sm.jpg") no-repeat center center;
      background-size: cover;
      border-radius: 50%; } }
@media screen and (min-width: 768px) {
  .homepage-yawnawa {
    background: #000000 url("../img/bg-yawanawa.jpg") no-repeat center left;
    background-size: cover; }
    .homepage-yawnawa .section-image {
      display: none; }
    .homepage-yawnawa .section-content {
      transition: width 0.3s;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      height: 50vh;
      min-height: 650;
      width: 60%;
      padding: 2rem;
      background: radial-gradient(#04140a, rgba(4, 20, 10, 0.35)); }
    .homepage-yawnawa .content {
      max-width: 32em;
      margin: 0 auto;
      font-size: 1em;
      color: #a3a5a8; } }
@media screen and (min-width: 1120px) {
  .homepage-yawnawa .section-content {
    width: 50%;
    padding: 3rem; } }
@media screen and (min-width: 1600px) {
  .homepage-yawnawa .section-content {
    min-height: 60vh; } }
.homepage-yawnawa .shop-callout {
  display: flex;
  align-items: center;
  margin-top: 1.5rem;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  transition: color 0.2s;
  color: #d41e53;
  background: rgba(0, 0, 0, 0.5); }
  .homepage-yawnawa .shop-callout:hover, .homepage-yawnawa .shop-callout:active {
    -webkit-transition: color 0.2s;
    -moz-transition: color 0.2s;
    transition: color 0.2s;
    color: #e6e6e6; }
  .homepage-yawnawa .shop-callout figure {
    height: 100px;
    width: 100px;
    margin-right: 1.5rem; }
  .homepage-yawnawa .shop-callout h5 {
    color: #ffc308;
    font-weight: 700;
    margin: 0 0 0.5rem; }
  .homepage-yawnawa .shop-callout p {
    margin: 0;
    font-size: 1rem; }

.homepage-callouts {
  padding: 1.5rem 0;
  color: #6f7276; }
  @media screen and (min-width: 768px) {
    .homepage-callouts {
      padding: 3.5rem 0; } }
  .homepage-callouts h4 {
    margin: 0 0 1rem;
    color: #ffc308; }
  .homepage-callouts h5 {
    margin: 0 0 1rem;
    font-size: 1.25em; }
  .homepage-callouts .column {
    padding: 1rem;
    background: #121212; }
  @media screen and (max-width: 768px) {
    .homepage-callouts .column {
      margin-bottom: 2rem; } }
  @media screen and (min-width: 768px) {
    .homepage-callouts {
      padding-bottom: 0; }
      .homepage-callouts .columns {
        display: flex; }
      .homepage-callouts .column {
        width: 46%;
        margin: 0 2%;
        padding: 2rem; } }

.emmy-wrap {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem; }
  .emmy-wrap .emmy-logo {
    height: 5rem;
    width: auto;
    margin-right: 1rem; }
  .emmy-wrap p {
    margin: 0;
    color: #BB8D2D; }

.basic-matrix-page {
  padding: 3rem 0; }
  @media screen and (min-width: 768px) {
    .basic-matrix-page {
      padding: 6rem 0; }
      .basic-matrix-page:first-of-type {
        padding-top: 4em; } }

.intro-matrix-text {
  font-size: 1em; }
  @media screen and (min-width: 768px) {
    .intro-matrix-text {
      margin: 0 -2rem 3rem;
      font-size: 1.5em;
      font-weight: 300; } }

.matrix-text p:last-of-type {
  margin-bottom: 0; }
.matrix-text ul {
  margin: 1rem 0 1.5rem 1.5rem; }
.matrix-text li {
  margin-bottom: 0.75rem;
  line-height: 1.4; }
.matrix-text ul li {
  list-style: disc; }
.matrix-text ol li {
  list-style: decimal; }

.matrix-section-heading {
  margin-bottom: 0.75em;
  font-size: 1.25em;
  font-weight: 400;
  text-align: center;
  color: #484b51; }
  .matrix-section-heading + hr {
    margin-bottom: 2em; }
  @media screen and (min-width: 768px) {
    .matrix-section-heading {
      margin-top: 3rem;
      font-size: 1.5em; } }

.martix-video-wrap {
  margin: 3rem 0; }

.matrix-image figcaption,
.matrix-video-caption {
  padding: 0.5rem;
  margin: 0.5rem 0 1.5rem;
  font-size: 0.775em;
  line-height: 1.3;
  font-style: italic;
  color: #787d87; }

.matrix-image {
  text-align: center;
  margin: 2rem auto; }
  .matrix-image img {
    padding: 0.5rem;
    background: #ffffff !important;
    box-shadow: #e3e3e3 0 0 100px 0; }
  @media screen and (min-width: 1120px) {
    .matrix-image {
      margin: 2rem -2rem; }
      .matrix-image:first-child {
        margin-top: 0; } }

.container + .matrix-image {
  margin-top: 0; }

.matrix-gallery {
  display: block;
  margin: 1.5rem 0; }
  .matrix-gallery:after {
    content: "";
    display: table;
    clear: both; }

.matrix-gallery-image {
  text-align: center; }
  .matrix-gallery-image img {
    padding: 1rem; }
  @media screen and (min-width: 768px) {
    .matrix-gallery-image {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .matrix-gallery-image:last-child {
        margin-right: 0; }
      .matrix-gallery-image:nth-child(2n) {
        margin-right: 0; }
      .matrix-gallery-image:nth-child(2n+1) {
        clear: left; } }

.matrix-file {
  margin: 1rem 0;
  padding: 0.5rem;
  background: whitesmoke;
  text-align: center; }
  .matrix-file a, .matrix-file span {
    display: block; }
  .matrix-file span {
    margin-top: 0.5rem;
    font-style: italic; }
  .matrix-file a {
    -webkit-transition: background-color 0.2s;
    -moz-transition: background-color 0.2s;
    transition: background-color 0.2s;
    background-color: #0f63c0;
    padding: 0.75em 1.5em;
    font-size: 0.675em;
    box-shadow: none; }
    .matrix-file a:hover {
      -webkit-transition: background-color 0.2s;
      -moz-transition: background-color 0.2s;
      transition: background-color 0.2s;
      background-color: #337ac9; }
    @media screen and (min-width: 768px) {
      .matrix-file a {
        font-size: 0.575em; } }
    .matrix-file a i {
      margin-left: 0.5em;
      font-size: 1.15em; }
  @media screen and (min-width: 768px) {
    .matrix-file {
      text-align: left; }
      .matrix-file a, .matrix-file span {
        display: inline-block;
        vertical-align: middle;
        line-height: 1; }
      .matrix-file span {
        margin: 0 0 0 0.75rem; } }

.matrix-link i {
  margin-left: 0.25em;
  font-size: 0.775em;
  vertical-align: middle; }

.styleguide-wrap {
  margin-top: 2rem;
  margin-bottom: 4rem; }
  .styleguide-wrap .logo {
    height: 2em;
    width: auto; }
  .styleguide-wrap section:last-of-type {
    margin-bottom: 3rem; }
  .styleguide-wrap .add-bottom-pad {
    padding-bottom: 1rem; }

.styleguide-font-block {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 31.76157%;
  padding-bottom: 1.5rem; }
  .styleguide-font-block:last-child {
    margin-right: 0; }
  .styleguide-font-block p {
    margin: 0.5rem 0 0;
    font-size: 1.5em;
    line-height: 1.2; }
  .styleguide-font-block .small {
    font-size: 0.675rem;
    color: #a3a5a8; }
  .styleguide-font-block .headline-font {
    letter-spacing: -0.03em; }
  .styleguide-font-block .fa {
    display: inline-block;
    width: 1.25em;
    margin-top: 0.5rem; }

.styleguide-color-block {
  float: left;
  margin-bottom: 1rem;
  padding: 0.5em;
  border: 1px solid #e8e9e9; }
  .styleguide-color-block:not(:last-of-type) {
    margin-right: 1rem; }
  .styleguide-color-block span {
    display: block;
    height: 5em;
    width: 5em; }
  .styleguide-color-block p {
    font-size: 0.775em;
    margin: 0.5rem 0 0; }
  .styleguide-color-block .small + .small {
    font-size: 0.675rem;
    color: #a3a5a8; }

.site-tones div:nth-child(1) span {
  background: #ffffff; }
.site-tones div:nth-child(2) span {
  background: #fcfeff; }
.site-tones div:nth-child(3) span {
  background: whitesmoke; }
.site-tones div:nth-child(4) span {
  background: #e8e9e9; }
.site-tones div:nth-child(5) span {
  background: #ddddde; }
.site-tones div:nth-child(6) span {
  background: #a3a5a8; }
.site-tones div:nth-child(7) span {
  background: #484b51; }
.site-tones div:nth-child(8) span {
  background: #1a1e25; }

.site-colors div:nth-child(1) span {
  background: #F03A47; }
.site-colors div:nth-child(2) span {
  background: #16d762; }
.site-colors div:nth-child(3) span {
  background: #0f63c0; }
.site-colors div:nth-child(4) span {
  background: #ffc308; }
.site-colors div:nth-child(5) span {
  background: #d4813d; }
.site-colors div:nth-child(6) span {
  background: #a3a5a8; }
.site-colors div:nth-child(7) span {
  background: #484b51; }
.site-colors div:nth-child(8) span {
  background: #1a1e25; }

.press-materials-section {
  padding: 1.5rem 0;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .press-materials-section {
      padding: 3.5rem 0; } }
  .press-materials-section p:last-of-type {
    margin-bottom: 0; }
  .press-materials-section:first-of-type {
    padding-top: 4rem !important; }
  .press-materials-section h4 {
    margin-top: 0; }
  @media screen and (min-width: 768px) {
    .press-materials-section:first-of-type {
      padding-top: 5rem !important; }
    .press-materials-section:not(:first-child) h3 {
      margin-top: 0; } }
  .press-materials-section .section-header {
    margin-bottom: 0.75em;
    font-size: 1.5em;
    font-weight: 300;
    text-align: center;
    color: #484b51; }
    .press-materials-section .section-header + hr {
      margin-bottom: 2em; }
  .press-materials-section hr + p {
    margin-bottom: 2rem !important; }
  .press-materials-section .contact-entry {
    margin-bottom: 1.5rem; }
    .press-materials-section .contact-entry h4 {
      margin: 0 0 0.25rem; }
    .press-materials-section .contact-entry p {
      margin: 0.25rem 0;
      line-height: 1.2; }
      .press-materials-section .contact-entry p:nth-of-type(1) {
        text-transform: uppercase; }
      .press-materials-section .contact-entry p:nth-of-type(2) {
        font-weight: 600; }
    @media screen and (min-width: 768px) {
      .press-materials-section .contact-entry {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .press-materials-section .contact-entry:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 980px) {
      .press-materials-section .contact-entry {
        margin-bottom: 0; } }
  @media screen and (min-width: 768px) {
    .press-materials-section .image-download-wrap {
      display: flex;
      flex-flow: wrap; } }
  .press-materials-section .press-image-download {
    text-align: center; }
    .press-materials-section .press-image-download:not(:last-of-type) {
      margin-bottom: 1rem; }
    .press-materials-section .press-image-download img {
      margin-bottom: 0.75rem;
      max-height: 230px; }
    .press-materials-section .press-image-download p {
      line-height: 1.1; }
    @media screen and (min-width: 768px) {
      .press-materials-section .press-image-download {
        width: calc(100% / 3);
        padding: 1rem; } }
  .press-materials-section .press-download-link {
    font-size: 1.175em; }
  .press-materials-section .press-video-wrap {
    margin-bottom: 3rem; }
    .press-materials-section .press-video-wrap p {
      padding: 0.5rem;
      margin: 0.5rem 0 1.5rem;
      font-size: 0.775em;
      line-height: 1.3;
      color: #787d87; }
  .press-materials-section.contact-download-section .subsection:last-of-type {
    padding-top: 1.5rem; }
  @media screen and (min-width: 980px) {
    .press-materials-section.contact-download-section .subsection {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .press-materials-section.contact-download-section .subsection:last-child {
        margin-right: 0; }
      .press-materials-section.contact-download-section .subsection:last-of-type {
        padding-top: 0; } }

.temp-page {
  background: #000000; }
  .temp-page .site-header,
  .temp-page .site-footer {
    display: none; }
  .temp-page .temp-section {
    background: #ece4dd;
    padding-top: 5rem;
    text-align: center; }
    .temp-page .temp-section .logo {
      height: 7em;
      width: auto;
      margin-bottom: 2rem; }

.team-members {
  padding: 3rem 0; }
  @media screen and (min-width: 768px) {
    .team-members {
      padding: 6rem 0; }
      .team-members:first-of-type {
        padding-top: 4em; } }

.team-member {
  max-width: 30em;
  margin: 2rem auto 0; }
  .team-member img {
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #484b51;
    padding: 2px; }
  .team-member h4 {
    margin: 0;
    font-weight: 400;
    font-size: 1.5em;
    color: #1a1e25; }
  .team-member h5 {
    margin: 0.5rem 0 0;
    text-transform: uppercase;
    font-weight: 600;
    color: #16d762; }
  @media screen and (max-width: 768px) {
    .team-member .team-member-name-position {
      margin-bottom: 1rem;
      text-align: center; }
    .team-member figure {
      text-align: center;
      margin-bottom: 2rem; } }
  @media screen and (min-width: 768px) {
    .team-member {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%;
      padding: 0 1rem; }
      .team-member:last-child {
        margin-right: 0; }
      .team-member:nth-child(2n) {
        margin-right: 0; }
      .team-member:nth-child(2n+1) {
        clear: left; }
      .team-member .team-member-top {
        display: table;
        width: 100%; }
      .team-member p:first-of-type {
        padding-top: 2rem;
        font-size: 0.875em; }
      .team-member figure, .team-member .team-member-name-position {
        display: table-cell;
        vertical-align: middle; }
      .team-member figure {
        width: 180px; }
      .team-member hr {
        display: none; } }

.basic-404-wrap {
  padding: 2rem 0;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .basic-404-wrap {
      padding: 9rem 0; } }
  .basic-404-wrap h3 {
    font-size: 1.75em; }
  .basic-404-wrap a {
    -webkit-transition: background-color 0.2s;
    -moz-transition: background-color 0.2s;
    transition: background-color 0.2s;
    background-color: #0f63c0; }
    .basic-404-wrap a:hover {
      -webkit-transition: background-color 0.2s;
      -moz-transition: background-color 0.2s;
      transition: background-color 0.2s;
      background-color: #337ac9; }

@media screen and (min-width: 768px) {
  .emmy .homepage-section.homepage-hero {
    min-height: 600px;
    background-size: cover; }
    .emmy .homepage-section.homepage-hero .hero-bottom img {
      max-height: 6em; } }

.emmy-image {
  padding: 1rem 0;
  text-align: center;
  background: #000000; }

.emmy-content {
  padding: 3rem 0; }
  @media screen and (min-width: 768px) {
    .emmy-content {
      padding: 6rem 0; }
      .emmy-content:first-of-type {
        padding-top: 4em; } }
  .emmy-content span:first-of-type {
    text-transform: uppercase;
    font-size: 0.775em; }

.emmy-content-details {
  margin-bottom: 2rem;
  text-align: center; }
  .emmy-content-details img {
    margin-bottom: 1rem;
    padding: 0.5rem;
    border: 1px solid #a3a5a8; }
  .emmy-content-details p {
    margin: 0.75rem 0; }
  .emmy-content-details span {
    display: inline-block;
    vertical-align: top;
    width: 49%;
    padding: 0 0.5rem; }
    .emmy-content-details span:first-of-type {
      text-align: right; }
    .emmy-content-details span:last-of-type {
      text-align: left;
      font-weight: 800;
      line-height: 1.1; }

.emmy-content-essay span {
  display: block;
  margin: 1rem 0;
  text-align: center; }