/*!
Theme Name: airstrip
Theme URI: http://made.byaircraft.com.au/
Author: Aircraft Interactive
Author URI: http://made.byaircraft.com.au
Description: A starter theme for Aircraft projects
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: airstrip
*/
/*------------------------------------------------------------*/
/*--------------------------------------------------------------
## Layout
--------------------------------------------------------------*/
/*
## Breakpoints
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Typography
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Colours
--------------------------------------------------------------*/
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

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

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

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

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

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

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; }

img {
  border: 0; }

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

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

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

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

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

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

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Calibre font
--------------------------------------------------------------*/
/*
## Calibre Light
--------------------------------------------------------------*/
/*
## Calibre Regular
--------------------------------------------------------------*/
/*
## Calibre Medium
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Elements
--------------------------------------------------------------*/
*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: border-box; }

html {
  font-size: 75%;
  line-height: 1.42; }
  @media only screen and (min-width: 1024px) {
    html {
      font-size: 87.5%; } }

body {
  background: #000; }
  body.fixed {
    position: fixed; }

blockquote, q {
  quotes: "" ""; }
  blockquote:before, blockquote:after, q:before, q:after {
    content: ""; }

hr {
  background-color: #fff;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em; }

img, svg {
  display: block;
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
  line-height: 1; }

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */ }

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%; }

/*
## Lists
--------------------------------------------------------------*/
ul, ol {
  margin: 0 0 1.5em 3em; }

ul {
  list-style: disc; }

ol {
  list-style: decimal; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em; }

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

li {
  margin: 0 0 .5em; }
  li:first-child {
    margin-top: 0; }
  li:last-child {
    margin-bottom: 0; }

/*
## Tables
--------------------------------------------------------------*/
table {
  margin: 0 0 1.5em;
  width: 100%; }

/*--------------------------------------------------------------
## Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
  color: #fff;
  font-family: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/*
## Headings
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  clear: both;
  margin: .5em 0;
  font-size: 1em;
  font-weight: 700; }
  h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
    margin-top: 0; }
  h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
    margin-bottom: 0; }

/*
## Copy
--------------------------------------------------------------*/
p {
  margin: 1em 0; }
  p:first-child {
    margin-top: 0; }
  p:last-child {
    margin-bottom: 0; }

dfn, cite, em, i {
  font-style: italic; }

blockquote {
  margin: 0 1.5em; }

address {
  margin: 1em 0; }

pre {
  background: #fff;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 0.9375em;
  line-height: 1.42;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em; }

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.9375em; }

abbr, acronym {
  border-bottom: 1px dotted #fff;
  cursor: help; }

mark, ins {
  background: #fff;
  text-decoration: none; }

big {
  font-size: 125%; }

small {
  font-size: 75%; }

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: #fff;
  text-decoration: none;
  transition: all .4s linear;
  border-bottom: 1px solid transparent; }
  a:focus, a:active, a:visited {
    outline: none; }
  .no-touchevents a:hover {
    border-bottom: 1px solid #fff; }

/*--------------------------------------------------------------
## Forms
--------------------------------------------------------------*/
/*
## Buttons
--------------------------------------------------------------*/
button:hover, button:focus, button:active, button:visited {
  outline: none; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.btn {
  position: relative;
  display: inline-block;
  border: 2px solid tomato;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: .9em;
  line-height: 1;
  padding: 1em 2em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); }
  button:active, button:focus, button:visited,
  input[type="button"]:active,
  input[type="button"]:focus,
  input[type="button"]:visited,
  input[type="reset"]:active,
  input[type="reset"]:focus,
  input[type="reset"]:visited,
  input[type="submit"]:active,
  input[type="submit"]:focus,
  input[type="submit"]:visited,
  .btn:active,
  .btn:focus,
  .btn:visited {
    outline: 0; }
  button:hover,
  input[type="button"]:hover,
  input[type="reset"]:hover,
  input[type="submit"]:hover,
  .btn:hover {
    text-decoration: none; }

/*
## Fields
--------------------------------------------------------------*/
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
.ginput_container_select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: none;
  margin: 0;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: .5em .75em;
  width: 100%;
  height: auto;
  font-size: 1em; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="url"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="number"]:focus,
  input[type="tel"]:focus,
  input[type="range"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="week"]:focus,
  input[type="time"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="color"]:focus,
  textarea:focus,
  .ginput_container_select select:focus {
    z-index: 2;
    outline: 0; }

select {
  border: 1px solid #fff; }

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

input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="radio"],
input[type="checkbox"] {
  width: auto; }

input[type="radio"],
input[type="checkbox"] {
  margin-right: .5em;
  line-height: normal;
  cursor: pointer; }

input[type="checkbox"] {
  -webkit-appearance: checkbox; }

input[type="radio"] {
  -webkit-appearance: radio; }

input[type="file"] {
  border: none;
  font-size: 1em;
  line-height: 0em; }

::-webkit-input-placeholder {
  color: #fff;
  opacity: .25;
  font-size: 1em;
  line-height: 1.5; }

:-moz-placeholder {
  color: #fff;
  opacity: .25;
  font-size: 1em;
  line-height: 1.5; }

::-moz-placeholder {
  color: #fff;
  opacity: .25;
  font-size: 1em;
  line-height: 1.5; }

:-ms-input-placeholder {
  color: #fff;
  opacity: .25;
  font-size: 1em;
  line-height: 1.5; }

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## General site layout
--------------------------------------------------------------*/
.site-app {
  background-color: #000; }

.site {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  background-color: #000; }
  .is-loading .site {
    opacity: 0; }
  .is-loaded .site {
    opacity: 1; }

.wrap {
  margin: 0 gutter(("columns": susy-repeat(12), "gutters": 2rem, "spread": "narrow", "container-spread": "narrow")); }

.container {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px; }

/*
## Float layout
--------------------------------------------------------------*/
.float-wrap:after {
  content: "";
  display: block;
  clear: both; }

[class^="float-item"] {
  background-color: #f2f2f2;
  height: 300px; }

.float-item-0-2-3 {
  margin-bottom: gutter(); }
  @media only screen and (min-width: 768px) {
    .float-item-0-2-3 {
      float: left;
      margin-right: gutter();
      margin-bottom: gutter();
      width: span(6); }
      .float-item-0-2-3:nth-child(2n) {
        margin-right: 0; } }
  @media only screen and (min-width: 1024px) {
    .float-item-0-2-3, .float-item-0-2-3:nth-child(2n) {
      margin-right: gutter();
      width: span(4); }
    .float-item-0-2-3:nth-child(3n) {
      margin-right: 0; } }

/*
## Flex layout
--------------------------------------------------------------*/
[class^="flex-wrap"] {
  display: -ms-flexbox;
  display: flex; }

[class^="flex-item"] {
  background-color: #f2f2f2;
  min-height: 200px; }

.flex-wrap-gallery {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.flex-item-0-2-3 {
  margin: 0 0 gutter();
  width: 100%; }
  @media only screen and (min-width: 768px) {
    .flex-item-0-2-3 {
      width: span(6); } }
  @media only screen and (min-width: 1024px) {
    .flex-item-0-2-3 {
      width: span(4); } }

.flex-wrap-single-row {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (min-width: 768px) {
    .flex-wrap-single-row {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

.flex-item-0-5 {
  padding: gutter();
  width: 100%;
  background-color: tomato; }
  @media only screen and (min-width: 768px) {
    .flex-item-0-5 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      width: span(5 wide); } }
  @media only screen and (min-width: 1024px) {
    .flex-item-0-5 {
      -ms-flex-order: 1;
          order: 1; } }

.flex-item-0-7 {
  width: 100%;
  background-color: blue; }
  @media only screen and (min-width: 768px) {
    .flex-item-0-7 {
      width: span(7 wide); } }

/*
## Vertical Spacing
--------------------------------------------------------------*/
.vspace {
  margin-top: 4rem;
  margin-bottom: 4rem; }

.vspace-gutter {
  margin-top: gutter(("columns": susy-repeat(12), "gutters": 2rem, "spread": "narrow", "container-spread": "narrow"));
  margin-bottom: gutter(("columns": susy-repeat(12), "gutters": 2rem, "spread": "narrow", "container-spread": "narrow")); }

/*--------------------------------------------------------------
# Wordpress
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Gravity Forms (Wordpress)
--------------------------------------------------------------*/
.gform_validation_container {
  display: none; }

.gform_description {
  display: block;
  margin: 1.5em 0; }

.gsection {
  margin-top: 3em; }

.gform_fields {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .gform_fields:after {
    content: "";
    display: block;
    clear: both; }

/*
## Fields
--------------------------------------------------------------*/
.gfield {
  clear: both;
  margin-bottom: 1.5em; }
  .gfield:last-child {
    margin-bottom: 1.5em; }

.ginput_container_select select {
  background-color: #fff;
  background-image: url(images/dropdown-arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  background-size: 1em 1em; }

.gfield_checkbox,
.gfield_radio,
.ginput_container_fileupload {
  list-style-type: none;
  padding: 0;
  margin: 0;
  margin-top: .5rem; }

.ui-datepicker-trigger {
  position: absolute;
  z-index: 2;
  top: 1.5em;
  right: 1.5em;
  width: 18px;
  height: auto; }

.ginput_container_date {
  position: relative; }

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

.ginput_complex > span {
  width: span(6); }
  .ginput_complex > span:nth-child(2n) {
    float: right;
    margin-right: 0; }
  .ginput_complex > span label {
    font-size: 75%; }

.clear-multi:after {
  content: "";
  display: block;
  clear: both; }

.clear-multi > div {
  width: span(4); }
  .clear-multi > div label {
    font-size: 75%; }

.clear-multi .gfield_time_ampm {
  float: right;
  margin-right: 0; }

@media only screen and (min-width: 768px) {
  .field-half-left {
    clear: both !important;
    float: left;
    width: span(6); } }

@media only screen and (min-width: 768px) {
  .field-half-right {
    clear: right !important;
    float: right;
    width: span(6); }
    .field-half-right:after {
      content: '';
      position: relative;
      display: block;
      width: 100%;
      clear: both; } }

/*
## Messages / Feedback
--------------------------------------------------------------*/
.gfield_error input,
.gfield_error textarea {
  border: 1px solid red; }

.validation_error {
  margin-bottom: 1rem;
  padding: 1rem;
  background-color: rgba(255, 0, 0, 0.2);
  color: red; }

.validation_message {
  display: none;
  font-size: 75%;
  color: red; }

.gform_confirmation_message {
  text-align: center;
  padding: 2em;
  border: 2px solid #fff; }
  @media only screen and (min-width: 768px) {
    .gform_confirmation_message {
      padding: 2em; } }

/*
## Ajax spinner
--------------------------------------------------------------*/
.gform_ajax_spinner {
  display: inline-block;
  width: .75em;
  height: .75em;
  margin-left: .5em; }

/*--------------------------------------------------------------
## Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em; }

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

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .wp-caption .wp-caption-text {
    margin: 0.8075em 0; }

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

/*--------------------------------------------------------------
# Modules
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }
  .screen-reader-text:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #fff;
    display: block;
    font-size: 0.875em;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */ }

/*--------------------------------------------------------------
## Typography
--------------------------------------------------------------*/
.no-link {
  text-decoration: none; }
  .no-link:hover {
    text-decoration: underline; }

.reset-list {
  list-style-type: none;
  padding: 0;
  margin: 0; }

/*--------------------------------------------------------------
## Media
--------------------------------------------------------------*/
/*
## Lazy Load Images
--------------------------------------------------------------*/
/* Lazyload (Lazysizes) */
[data-src], [data-srcset] {
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1); }
  [data-src].lazyload, [data-src].lazyloading, [data-src].ls-is-cached, [data-srcset].lazyload, [data-srcset].lazyloading, [data-srcset].ls-is-cached {
    opacity: 0;
    /* @include better-blur(30); */ }
  [data-src].lazyloaded, [data-srcset].lazyloaded {
    opacity: 1;
    /* @include better-blur(0); */ }

.img-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.img-full {
  display: block;
  width: 100%;
  max-width: 9999em; }

.img-contain {
  display: block;
  width: 100%;
  object-fit: contain; }

.img-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.img-fx-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  transform: translate3d(0, 50%, 0);
  transition: transform .75s linear; }
  .play-scene .img-fx-wrap {
    transform: translate3d(0, 0, 0); }

.img-fx {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translate3d(0, -50%, 0);
  transition: transform .75s linear; }
  .play-scene .img-fx {
    transform: translate3d(0, 0, 0); }

/*--------------------------------------------------------------
## Additional Buttons
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Site Loader
--------------------------------------------------------------*/
@keyframes LOADER_IN {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes LOADER_OUT {
  0%, 20% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

.site-loader-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: fixed;
  background-color: #000;
  z-index: 1;
  transform: translateZ(0);
  opacity: 1; }
  .no-js .site-loader-wrap {
    display: none; }
  .is-loading .site-loader-wrap {
    transform: translate3d(0, 0, 0); }
  .is-loaded .site-loader-wrap {
    transform: translate3d(0, -100%, 0);
    animation: 1.8s LOADER_OUT cubic-bezier(0.19, 1, 0.22, 1); }

.loader-circle {
  stroke-dashoffset: 630;
  stroke-dasharray: 630;
  opacity: 0;
  transition: all .4s linear; }
  .is-loading .loader-circle {
    opacity: 1; }

.site-loader {
  position: relative;
  opacity: 0;
  transition: opacity .2s linear; }
  .is-loading .site-loader {
    opacity: 1; }

.site-loader__name {
  transform: translate3d(0, -3em, 0); }

.site-loader__progress {
  position: fixed;
  top: calc(50% + 3em);
  left: calc(50% - 3.5em);
  width: 7em;
  height: .2em;
  background-color: rgba(255, 255, 255, 0.2); }

.site-loader__bar {
  width: 0;
  height: .2em;
  background-color: #fff;
  transition: width 1s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*--------------------------------------------------------------
## Content Modules
--------------------------------------------------------------*/
/*
## Header
--------------------------------------------------------------*/
.site-header {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 7em;
  transition: opacity .4s linear; }
  .is-loading .site-header {
    opacity: 0; }
  .is-loaded .site-header {
    opacity: 1; }
  .fixed .site-header {
    background-color: #000; }
  @media only screen and (min-width: 1200px) {
    .site-header,
    .fixed .site-header {
      background-color: transparent; } }

.site-title {
  position: absolute;
  top: 2em;
  left: 2em; }
  .site-title .site-title__other {
    display: block;
    font-weight: 400; }
  .site-title .show-med {
    display: none; }
  @media only screen and (min-width: 1024px) {
    .site-title {
      left: 2em; }
      .site-title .site-title__other {
        display: inline-block; }
      .site-title .show-med {
        display: inline-block; } }

.header-links-desktop {
  position: absolute;
  top: 3.45em;
  right: 2em; }
  .header-links-desktop .desktop-link {
    display: none; }
  .header-links-desktop ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -ms-flexbox;
    display: flex; }
  @media only screen and (min-width: 1024px) {
    .header-links-desktop {
      top: 2em;
      right: 1em; }
      .header-links-desktop .desktop-link {
        display: block; }
      .header-links-desktop li {
        margin: 0 1em;
        -ms-flex-positive: 0;
            flex-grow: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
      .header-links-desktop a {
        display: block;
        font-weight: 700; } }

.about-handle {
  position: relative;
  width: 3em;
  border: none !important; }
  .no-touchevents .about-handle span {
    border-bottom: 1px solid transparent; }
  .no-touchevents .about-handle:hover span {
    border-bottom: 1px solid #fff; }
  @media only screen and (min-width: 1024px) {
    .about-handle {
      font-weight: 700; } }

.about-handle__open {
  position: absolute;
  right: 0;
  opacity: 1;
  transition: all .2s linear; }
  .fixed .about-handle__open {
    opacity: 0; }

.about-handle__close {
  position: absolute;
  right: 0;
  opacity: 0;
  transition: all .2s linear; }
  .fixed .about-handle__close {
    opacity: 1; }

/*
## Footer
--------------------------------------------------------------*/
.site-footer {
  padding: 2em;
  transition: opacity .4s linear; }
  .is-loading .site-footer {
    opacity: 0; }
  .is-loaded .site-footer {
    opacity: 1; }
  .site-footer a {
    position: relative;
    display: inline-block; }
  @media only screen and (min-width: 1024px) {
    .site-footer {
      position: absolute;
      bottom: 2em;
      left: 2em;
      padding: 0; } }

/*
## External Links
--------------------------------------------------------------*/
.blog-link {
  font-weight: 700;
  transition: all .4s linear; }
  .is-loading .blog-link {
    opacity: 0; }
  .is-loaded .blog-link {
    opacity: 1; }
  .blog-link.external-link-desktop {
    display: none; }
  @media only screen and (min-width: 1024px) {
    .blog-link.external-link-desktop {
      position: fixed;
      z-index: 2;
      display: block;
      transform: rotate(-90deg);
      bottom: calc(50vh - .5em);
      left: 1.25em; } }

.stphmf-link {
  font-weight: 700;
  transition: all .4s linear; }
  .is-loading .stphmf-link {
    opacity: 0; }
  .is-loaded .stphmf-link {
    opacity: 1; }
  .stphmf-link.external-link-desktop {
    display: none; }
  @media only screen and (min-width: 1024px) {
    .stphmf-link.external-link-desktop {
      position: fixed;
      z-index: 2;
      display: block;
      transform: rotate(90deg);
      bottom: calc(50vh - .5em);
      left: auto;
      right: -5.85em; } }

.external-links-mobile {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem; }
  @media only screen and (min-width: 1024px) {
    .external-links-mobile {
      display: none; } }

/*
## Hero
--------------------------------------------------------------*/
@keyframes HERO {
  0% {
    transform: translate3d(0, 0, 0) scale(1.5); }
  100% {
    transform: translate3d(0, 0, 0) scale(1); } }

.gallery {
  position: relative;
  margin: 7em .5em 0;
  background-color: #000; }
  @media only screen and (min-width: 1024px) {
    .gallery {
      overflow: hidden;
      margin: .5em;
      height: calc(100vh - 1em); } }

@media only screen and (min-width: 1024px) {
  .gallery__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(100vh - 1em); } }

.gallery__img {
  margin-bottom: .5em; }
  .gallery__img:last-child {
    margin-bottom: 0; }
  .gallery__img img {
    width: 100%;
    max-width: none; }
  @media only screen and (min-width: 1024px) {
    .gallery__img {
      margin-bottom: 0; }
      .gallery__img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: var(--obj-pos); } }

/*
## About
--------------------------------------------------------------*/
.bio-right {
  margin-bottom: 3em; }
  @media only screen and (min-width: 700px) {
    .bio-right {
      float: right;
      width: 37.5%; } }

.bio-left {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  text-transform: none;
  letter-spacing: normal;
  margin-bottom: 3em; }
  @media only screen and (min-width: 700px) {
    .bio-left {
      columns: 2;
      column-gap: 3em;
      /* Chrome, Safari, Opera */
      /* Firefox */
      break-inside: avoid;
      /* IE 10+ */ } }
  @media only screen and (min-width: 1024px) {
    .bio-left {
      margin-bottom: 6em; } }

.credits {
  margin-bottom: 3em; }
  .credits li {
    position: relative;
    padding-left: 3.25em; }
    .credits li span {
      position: absolute;
      left: 0; }
  @media only screen and (min-width: 1024px) {
    .credits {
      margin-bottom: 6em; } }

.credits-list {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  text-transform: none;
  letter-spacing: normal; }

/*--------------------------------------------------------------
## Site Header
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Site Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Site Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Slick Slider
--------------------------------------------------------------*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  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; }
  @media only screen and (min-width: 1024px) {
    .slick-list {
      height: calc(100vh - 1em); } }

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }
  @media only screen and (min-width: 1024px) {
    .slick-track {
      height: calc(100vh - 1em); } }

.slick-slide {
  float: left;
  height: 100%;
  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; }

/* 
Arrows
------------------------------------------------------------------------ */
.slick-arrow {
  position: absolute;
  top: 50%;
  z-index: 1000;
  display: block;
  padding: 0;
  width: 2em;
  height: 2em;
  border: none;
  border-radius: 0;
  line-height: 0;
  color: #fff;
  opacity: .5;
  transition: all .2s ease-in-out; }
  .slick-arrow:hover, .slick-arrow:focus {
    outline: none;
    opacity: 1; }

.slick-prev {
  left: 0; }

.slick-next {
  right: 0; }

/* 
Dots
------------------------------------------------------------------------ */
.slick-dots {
  list-style-type: none;
  padding: 0;
  margin: 0;
  position: absolute;
  height: 1em;
  right: 1.75em;
  bottom: 1.75em;
  text-align: center;
  transition: all .4s linear; }
  .slick-dots:hover {
    transition: all .2s linear;
    transform: translate3d(0, -0.6em, 0); }
    .slick-dots:hover button {
      transition: all .2s linear;
      height: .6em; }
  .slick-dots li {
    display: inline-block;
    margin: 0;
    height: 1em; }
  .slick-dots button {
    position: relative;
    display: block;
    padding: 0;
    width: 1em;
    height: .2em;
    border-radius: 0;
    border: none;
    text-indent: -9999em;
    background-color: #fff;
    opacity: .3;
    transition: all .4s linear; }
    .slick-dots button:hover {
      transition: all .2s linear;
      opacity: .6; }
  .slick-dots .slick-active button {
    opacity: 1; }

/*--------------------------------------------------------------
## Modals
--------------------------------------------------------------*/
.modal {
  position: fixed;
  transform: translate3d(0, -100%, 0);
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #000;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }
  .modal.is-open {
    transform: translate3d(0, 0, 0);
    transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); }
  .modal.is-closed {
    transform: translate3d(0, -100%, 0);
    transition: all 1s 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
  @media only screen and (min-width: 1024px) {
    .modal {
      position: absolute; } }

.modal-handle--close {
  position: absolute;
  top: 2em;
  right: 1em; }
  .modal-handle--close:hover {
    color: #fff; }

.modal__content {
  position: relative;
  margin: 10em auto 6em;
  width: calc(100vw - 4em);
  transform: translate3d(0, 3em, 0);
  opacity: 0;
  max-width: 54em; }
  .is-open .modal__content {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    transition: all .4s .6s ease-out; }
  .is-closed .modal__content {
    transform: translate3d(0, 3em, 0);
    opacity: 0;
    transition: all .4s ease-in; }
  @media only screen and (min-width: 768px) {
    .modal__content {
      width: calc(100vw - 8em); } }
  @media only screen and (min-width: 1024px) {
    .modal__content {
      margin: 12em auto; } }

/*--------------------------------------------------------------
# States (Overrides)
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Positioning
--------------------------------------------------------------*/
.pos-rel {
  position: relative; }

.pos-fixed {
  position: fixed; }

.pos-abs {
  position: absolute; }

/*--------------------------------------------------------------
## Spacing
--------------------------------------------------------------*/
.pad-tb {
  padding-top: 0;
  padding-bottom: 0; }

.pad-t {
  padding-top: 0; }

.pad-b {
  padding-bottom: 0; }

.mar-tb {
  margin-top: 0;
  margin-bottom: 0; }

.mar-t {
  margin-top: 0; }

.mar-b {
  margin-bottom: 0; }

/*--------------------------------------------------------------
## Typography
--------------------------------------------------------------*/
.text-center {
  text-align: center; }

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

.text-uppercase {
  text-transform: uppercase; }

.text-bold {
  font-weight: 700; }

.text-light {
  color: #fff; }

/*--------------------------------------------------------------
## Backgrounds
--------------------------------------------------------------*/
.bg-light {
  background-color: #f2f2f2; }

/*--------------------------------------------------------------
## Visibility
--------------------------------------------------------------*/
@media only screen and (min-width: 768px) {
  .hide-sml {
    display: none; } }

.show-sml {
  display: none; }
  @media only screen and (min-width: 768px) {
    .show-sml {
      display: block; } }

@media only screen and (min-width: 1024px) {
  .hide-med {
    display: none; } }

@media only screen and (min-width: 1200px) {
  .hide-lg {
    display: none; } }

.show-med {
  display: none; }
  @media only screen and (min-width: 1024px) {
    .show-med {
      display: block; } }

.show-lg {
  display: none; }
  @media only screen and (min-width: 1200px) {
    .show-lg {
      display: block; } }

.touchevents .hide-touch {
  display: none; }

.touchevents .show-touch {
  display: block; }

.no-touchevents .hide-no-touch {
  display: none; }

.no-touchevents .show-no-touch {
  display: block; }

.hide-always {
  display: none; }
