/*! main.scss for RangeMe - last updated 2015.08.26 */
/**
 * 1. All units are in rems as this unit of measurement is supported in all
 *    required browsers. Media queries however use em units as rem units can
 *    be buggy in some browsers. 
 * 2. Parts of the code contained within may change before concluding 
 *    frontend development.
 *
 * ========================================================================== 
 *
 * Dependent on normalize.css - see git.io/normalize
 *
 */
#wpadminbar,
#ajax-links,
#body-classes {
  display: none !important; }

body {
  image-rendering: crisp-edges;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* Webfonts */
/* ========================================================================== */
@font-face {
  font-family: 'Maison Neue';
  src: url("../fonts/MaisonNeue-Medium.woff2") format("woff2"), url("../fonts/MaisonNeue-Medium.woff") format("woff"), url("../fonts/MaisonNeue-Medium.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-stretch: normal; }

@font-face {
  font-family: 'Maison Neue';
  src: url("../fonts/MaisonNeue-Book.woff2") format("woff2"), url("../fonts/MaisonNeue-Book.woff") format("woff"), url("../fonts/MaisonNeue-Book.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal; }

@font-face {
  font-family: 'Maison Neue';
  src: url("../fonts/MaisonNeue-Light.woff2") format("woff2"), url("../fonts/MaisonNeue-Light.woff") format("woff"), url("../fonts/MaisonNeue-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal; }

/* Functions */
/* ========================================================================== */
/* strip units from calculations */
/* Site Variables */
/* ========================================================================== */
/* Define Animation Lengths - please note this will NOT affect Javascript Animations */
/* Page Margins */
/* Header & Footer Height */
/* Font size */
/* Line Height */
/* Break Points */
/* Mixins */
/* ========================================================================== */
/* media queries */
/* CSS box-sizing */
/* border-radius */
/* text overflow */
/* transition */
/* transform */
/* background-size */
/* no select */
/* fill-parent */
/* horizontal-center */
/* Additional Resets */
/* ========================================================================== */
#js,
html,
body {
  margin: 0 !important;
  padding: 0 !important; }

body {
  background-color: #FCFCFC; }

article,
div,
fieldset,
figure,
form,
footer,
header,
nav,
section {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
  border: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a {
  outline: none !important;
  text-decoration: none;
  color: inherit; }

h1,
h2,
h3,
h4,
h5,
h6,
li,
p,
ol,
ul,
blockquote {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-style: normal; }

figure {
  line-height: 0;
  background-color: transparent; }

img,
video,
iframe {
  max-width: 100%;
  max-height: none;
  height: auto;
  width: auto; }

mark {
  background-color: transparent; }

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-position: center;
  background-repeat: no-repeat;
  -ms-transform-origin: center;
  -webkit-transform-origin: center;
  transform-origin: center;
  outline: none !important; }

ul,
li {
  list-style: none; }

.clear {
  height: 1px !important;
  width: 100% !important;
  margin-bottom: -1px !important;
  position: relative;
  display: block !important;
  clear: both !important; }

html,
body {
  width: 100%; }

input,
button,
textarea {
  outline: none !important;
  border-radius: 0 !important; }

svg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute; }

/* Indicators - used by JS to determine media queries and screen size */
/* ========================================================================== */
#screen-size,
#cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#cover {
  background-color: #FCFCFC;
  z-index: 10000; }

#desktop-indicator,
#tablet-indicator {
  height: 1px;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  display: none; }
  @media screen and (min-width: 40em) {
    #desktop-indicator,
    #tablet-indicator {
      display: block; } }
@media screen and (min-width: 64rem) {
  #desktop-indicator {
    display: block; } }

/* Site Wrappers Wrappers */
/* ========================================================================== */
html,
body {
  height: 100%; }

#site-inner-wrapper {
  overflow: hidden; }

#site-cover {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  position: fixed;
  background-color: #FCFCFC;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 250ms, visibility 0ms linear 0ms;
  -moz-transition: opacity 250ms, visibility 0ms linear 0ms;
  -ms-transition: opacity 250ms, visibility 0ms linear 0ms;
  transition: opacity 250ms, visibility 0ms linear 0ms;
  /* resolves blurry elements on webkit */
  z-index: 9999; }

#site-cover.loaded {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 250ms, visibility 0ms linear 250ms;
  -moz-transition: opacity 250ms, visibility 0ms linear 250ms;
  -ms-transition: opacity 250ms, visibility 0ms linear 250ms;
  transition: opacity 250ms, visibility 0ms linear 250ms;
  /* resolves blurry elements on webkit */ }

#site-cover.page-overlay {
  z-index: 7000; }

#page-loader {
  z-index: 10010;
  background-color: #2D2D2D;
  width: 0;
  position: fixed;
  top: 0;
  left: 0;
  height: 0.125rem;
  display: none; }

/* Standard Wrappers */
/* ========================================================================== */
.media-wrapper,
.image-wrapper,
figure,
video,
img {
  max-width: 9999px;
  max-height: 9999px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute; }

.media-wrapper {
  overflow: hidden;
  background-color: #f9f9f9; }

.media-wrapper img,
.media-wrapper video {
  object-fit: cover;
  transition: opacity 250ms !important;
  opacity: 0 !important; }

.media-wrapper.object-contain img,
.media-wrapper.object-contain video {
  object-fit: contain; }

.media-loaded img,
.media-loaded video {
  opacity: 1 !important; }

.slider .media-wrapper {
  background-color: transparent; }

/* Basic Typography */
/* ========================================================================== */
body,
p,
ul,
ol,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
input {
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  color: black;
  text-align: left;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  font-family: 'Maison Neue', sans-serif;
  letter-spacing: 0.02em;
  font-weight: normal;
  font-weight: 400;
  margin: 0;
  padding: 0;
  color: #2D2D2D; }
  @media screen and (min-width: 40em) {
    body,
    p,
    ul,
    ol,
    blockquote,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input {
      font-size: 1.125rem;
      line-height: 1.3125rem; } }
  @media screen and (min-width: 64rem) {
    body,
    p,
    ul,
    ol,
    blockquote,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input {
      font-size: 1.125rem;
      line-height: 1.3125rem; } }
  @media screen and (min-width: 100rem) {
    body,
    p,
    ul,
    ol,
    blockquote,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input {
      font-size: 1.25rem;
      line-height: 1.4375rem; } }
.text-block p,
.text-block ul,
.text-block ol,
.text-block blockquote,
.text-block h1,
.text-block h2,
.text-block h3,
.text-block h4,
.text-block h5,
.text-block h6 {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .text-block p,
    .text-block ul,
    .text-block ol,
    .text-block blockquote,
    .text-block h1,
    .text-block h2,
    .text-block h3,
    .text-block h4,
    .text-block h5,
    .text-block h6 {
      padding-bottom: 1.3125rem; } }
  @media screen and (min-width: 64rem) {
    .text-block p,
    .text-block ul,
    .text-block ol,
    .text-block blockquote,
    .text-block h1,
    .text-block h2,
    .text-block h3,
    .text-block h4,
    .text-block h5,
    .text-block h6 {
      padding-bottom: 1.3125rem; } }
  @media screen and (min-width: 100rem) {
    .text-block p,
    .text-block ul,
    .text-block ol,
    .text-block blockquote,
    .text-block h1,
    .text-block h2,
    .text-block h3,
    .text-block h4,
    .text-block h5,
    .text-block h6 {
      padding-bottom: 1.4375rem; } }
.text-block #gform_wrapper_2 form {
  width: 100% !important;
  max-width: 30rem !important; }

.text-block .gform_wrapper .gfield_time_hour, .text-block .gform_wrapper .gfield_time_minute {
  max-width: 9999px;
  width: calc(50% - 2rem); }

.text-block .gform_wrapper .gfield_time_minute input {
  text-indent: 0.25rem !important; }

.text-block .gform_wrapper .gfield_time_hour i {
  position: absolute;
  bottom: 0.1875rem !important;
  left: auto !important;
  right: 0 !important; }

.text-block .gform_wrapper .gfield_time_ampm {
  width: 2.5rem !important;
  max-width: 9999px; }
  .text-block .gform_wrapper .gfield_time_ampm select {
    border: none !important;
    border-bottom: 1px solid black !important;
    width: 4rem !important;
    box-sizing: border-box !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    -webkit-appearance: none !important;
    background-color: transparent !important;
    line-height: 1 !important;
    text-align: right !important;
    border-radius: 0 !important; }

.text-block .gform_wrapper form label {
  display: none !important; }

.text-block .gform_wrapper form textarea,
.text-block .gform_wrapper form input {
  margin: 0;
  padding: 0 !important;
  border: none !important;
  border-bottom: 1px solid #2D2D2D !important;
  -webkit-appearance: none;
  appearance: none;
  width: 100% !important;
  max-width: 100% !important;
  background-color: transparent !important;
  padding-top: 0.3125rem !important; }
  .text-block .gform_wrapper form textarea.button,
  .text-block .gform_wrapper form input.button {
    width: auto !important;
    border-bottom: none !important;
    margin-top: 0.1875rem !important;
    background-color: transparent !important; }

.text-block .gform_wrapper form ::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #2D2D2D; }

.text-block .gform_wrapper form ::-moz-placeholder {
  /* Firefox 19+ */
  color: #2D2D2D; }

.text-block .gform_wrapper form :-ms-input-placeholder {
  /* IE 10+ */
  color: #2D2D2D; }

.text-block .gform_wrapper form :-moz-placeholder {
  /* Firefox 18- */
  color: #2D2D2D; }

.text-block .gform_wrapper {
  margin: 0 !important;
  padding: 0 !important; }
  .text-block .gform_wrapper * {
    margin: 0 !important;
    padding: 0 !important; }

.text-block .gform_ajax_spinner {
  display: none !important; }

/* Site Header */
/* ========================================================================== */
#site-header {
  position: absolute;
  z-index: 8000;
  top: 0.8125rem;
  left: 1rem; }
  @media screen and (min-width: 40em) {
    #site-header {
      top: 0.9375rem;
      left: 1rem; } }
  @media screen and (min-width: 64rem) {
    #site-header {
      top: 0.875rem;
      left: 1rem; } }
  @media screen and (min-width: 100rem) {
    #site-header {
      top: 0.9375rem;
      left: 1rem; } }
  #site-header h1 {
    font-weight: 700; }
  .menu-open #site-header {
    position: fixed; }
  #site-header a {
    color: #2D2D2D;
    -webkit-transition: color 200ms;
    -moz-transition: color 200ms;
    -ms-transition: color 200ms;
    transition: color 200ms;
    /* resolves blurry elements on webkit */ }
    .state-carousel-shown #site-header a {
      -webkit-transition: color 250ms;
      -moz-transition: color 250ms;
      -ms-transition: color 250ms;
      transition: color 250ms;
      /* resolves blurry elements on webkit */ }
    @media screen and (min-width: 64rem) {
      .state-clr-logo-white #site-header a {
        color: white; } }
    .state-carousel-shown.state-clr-logo-white #site-header a {
      color: white; }
    .menu-open #site-header a {
      -webkit-transition: color 200ms;
      -moz-transition: color 200ms;
      -ms-transition: color 200ms;
      transition: color 200ms;
      /* resolves blurry elements on webkit */ }
      @media screen and (max-width: 64rem) {
        .menu-open #site-header a {
          color: #2D2D2D !important; } }
    .show-info #site-header a {
      color: #2D2D2D !important; }
    .show-index #site-header a {
      color: #2D2D2D !important; }

/* Menu */
/* ========================================================================== */
#menu-button {
  width: 3rem;
  height: 3rem;
  background-color: transparent !important;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 8000;
  text-indent: -9999px;
  overflow: hidden; }
  #menu-button:after {
    content: '-';
    text-indent: -9999px;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 1rem;
    height: 1rem;
    background-color: #2D2D2D;
    -webkit-transition: background-color 200ms;
    -moz-transition: background-color 200ms;
    -ms-transition: background-color 200ms;
    transition: background-color 200ms;
    /* resolves blurry elements on webkit */ }
    @media screen and (min-width: 40em) {
      #menu-button:after {
        right: 1rem;
        top: 1rem; } }
    @media screen and (min-width: 64rem) {
      #menu-button:after {
        right: 1rem;
        top: 1rem;
        width: 0.75rem;
        height: 0.75rem; } }
    @media screen and (min-width: 100rem) {
      #menu-button:after {
        right: 1rem;
        top: 1rem;
        width: 1rem;
        height: 1rem; } }
  .state-carousel-shown #menu-button:after {
    -webkit-transition: background-color 250ms;
    -moz-transition: background-color 250ms;
    -ms-transition: background-color 250ms;
    transition: background-color 250ms;
    /* resolves blurry elements on webkit */ }
  @media screen and (min-width: 64rem) {
    .state-clr-logo-white #menu-button:after {
      background-color: white; } }
  .state-carousel-shown.state-clr-logo-white #menu-button:after {
    background-color: white; }
  .show-info #menu-button:after {
    background-color: #2D2D2D !important; }
  .show-index #menu-button:after {
    background-color: #2D2D2D !important; }
  @media screen and (min-width: 40em) {
    #menu-button {
      width: 3rem;
      height: 3rem; } }
  @media screen and (min-width: 64rem) {
    #menu-button {
      width: 2.75rem;
      height: 2.75rem; } }
  @media screen and (min-width: 100rem) {
    #menu-button {
      width: 3rem;
      height: 3rem; } }
  .menu-open #menu-button {
    position: fixed; }
    @media screen and (max-width: 64rem) {
      .menu-open #menu-button:after {
        background-color: #2D2D2D !important;
        -webkit-transition: background-color 200ms;
        -moz-transition: background-color 200ms;
        -ms-transition: background-color 200ms;
        transition: background-color 200ms;
        /* resolves blurry elements on webkit */ } }
#site-menu {
  padding: 3.125rem 1rem;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  position: fixed;
  background-color: white;
  z-index: 7000;
  display: block;
  visibility: hidden;
  opacity: 0;
  transition: opacity 200ms, visibility 0ms linear 200ms; }
  .menu-open #site-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    transition: opacity 200ms, visibility 200ms linear 0ms; }
  @media screen and (min-width: 40em) {
    #site-menu {
      position: absolute;
      top: 0.9375rem;
      right: 3rem;
      background-color: transparent;
      padding: 0;
      width: auto;
      height: auto;
      left: auto; } }
  @media screen and (min-width: 64rem) {
    #site-menu {
      top: 0.875rem;
      right: 2.75rem; } }
  @media screen and (min-width: 100rem) {
    #site-menu {
      top: 0.9375rem;
      right: 3rem; } }
  #site-menu nav ul {
    width: 100%;
    display: block; }
    @media screen and (min-width: 40em) {
      #site-menu nav ul {
        width: auto; } }
    #site-menu nav ul li {
      display: block;
      width: 100%;
      clear: both; }
      @media screen and (min-width: 40em) {
        #site-menu nav ul li {
          display: inline-block;
          float: left;
          margin-left: 1rem;
          width: auto;
          position: relative;
          clear: none; } }
      #site-menu nav ul li a {
        position: relative;
        z-index: 10;
        display: inline-block;
        float: right;
        color: #2D2D2D;
        -webkit-transition: color 200ms;
        -moz-transition: color 200ms;
        -ms-transition: color 200ms;
        transition: color 200ms;
        /* resolves blurry elements on webkit */ }
        .touch #site-menu nav ul li a {
          padding-bottom: 0.75em; }
        @media screen and (min-width: 40em) {
          #site-menu nav ul li a {
            display: block;
            float: none;
            clear: both; } }
        @media screen and (min-width: 64rem) {
          .state-clr-menu-white #site-menu nav ul li a {
            color: white; } }
        .show-info #site-menu nav ul li a {
          color: #2D2D2D !important; }
        .show-index #site-menu nav ul li a {
          color: #2D2D2D !important; }
        .state-carousel-shown #site-menu nav ul li a {
          -webkit-transition: color 250ms;
          -moz-transition: color 250ms;
          -ms-transition: color 250ms;
          transition: color 250ms;
          /* resolves blurry elements on webkit */ }

/* Page Object */
/* ========================================================================== */
.page-object {
  opacity: 1;
  overflow: hidden !important;
  max-height: 99999px;
  -webkit-transition: max-height 0ms linear 200ms, opacity 0ms linear 200ms;
  -moz-transition: max-height 0ms linear 200ms, opacity 0ms linear 200ms;
  -ms-transition: max-height 0ms linear 200ms, opacity 0ms linear 200ms;
  transition: max-height 0ms linear 200ms, opacity 0ms linear 200ms;
  /* resolves blurry elements on webkit */ }
  .page-object.inactive {
    opacity: 0;
    max-height: 0;
    -webkit-transition: max-height 0ms linear 200ms, opacity 200ms;
    -moz-transition: max-height 0ms linear 200ms, opacity 200ms;
    -ms-transition: max-height 0ms linear 200ms, opacity 200ms;
    transition: max-height 0ms linear 200ms, opacity 200ms;
    /* resolves blurry elements on webkit */ }

/* Standard Content Wrapper */
/* ========================================================================== */
.standard-page {
  border-top: 3.125rem solid #FCFCFC;
  border-bottom: 4.125rem solid #FCFCFC;
  border-left: 1rem solid #FCFCFC;
  border-right: 1rem solid #FCFCFC;
  min-height: 100vh;
  overflow: visible;
  width: 100%; }
  @media screen and (min-width: 40em) {
    .standard-page {
      border-top: 3.75rem solid #FCFCFC;
      border-bottom: 3.75rem solid #FCFCFC;
      border-left: 1rem solid #FCFCFC;
      border-right: 1rem solid #FCFCFC; } }
  @media screen and (min-width: 64rem) {
    .standard-page {
      border-top: 3.75rem solid #FCFCFC;
      border-bottom: 3.75rem solid #FCFCFC;
      border-left: 1rem solid #FCFCFC;
      border-right: 1rem solid #FCFCFC; } }
  @media screen and (min-width: 100rem) {
    .standard-page {
      border-top: 3.75rem solid #FCFCFC;
      border-bottom: 3.75rem solid #FCFCFC;
      border-left: 1rem solid #FCFCFC;
      border-right: 1rem solid #FCFCFC; } }
/* Function Buttons */
/* ========================================================================== */
.site-privacy,
.site-copyright,
.page-top,
.project-info-cats,
.project-info-counter,
.project-info-buttons,
.project-info-count,
.project-info-title,
.project-info-close,
.project-info-slide-title {
  z-index: 1000;
  position: absolute;
  bottom: 2rem;
  left: 1rem; }
  @media screen and (min-width: 40em) {
    .site-privacy,
    .site-copyright,
    .page-top,
    .project-info-cats,
    .project-info-counter,
    .project-info-buttons,
    .project-info-count,
    .project-info-title,
    .project-info-close,
    .project-info-slide-title {
      position: absolute;
      bottom: 1rem;
      left: 1rem; } }
  @media screen and (min-width: 64rem) {
    .site-privacy,
    .site-copyright,
    .page-top,
    .project-info-cats,
    .project-info-counter,
    .project-info-buttons,
    .project-info-count,
    .project-info-title,
    .project-info-close,
    .project-info-slide-title {
      position: absolute;
      bottom: 1rem;
      left: 1rem; } }
  @media screen and (min-width: 100rem) {
    .site-privacy,
    .site-copyright,
    .page-top,
    .project-info-cats,
    .project-info-counter,
    .project-info-buttons,
    .project-info-count,
    .project-info-title,
    .project-info-close,
    .project-info-slide-title {
      position: absolute;
      bottom: 1rem;
      left: 1rem; } }
.project-info-counter,
.project-info-slide-title {
  bottom: 1rem; }
  @media screen and (min-width: 40em) {
    .project-info-counter,
    .project-info-slide-title {
      bottom: 1rem; } }
  @media screen and (min-width: 64rem) {
    .project-info-counter,
    .project-info-slide-title {
      bottom: 1rem; } }
  @media screen and (min-width: 100rem) {
    .project-info-counter,
    .project-info-slide-title {
      bottom: 1rem; } }
.site-privacy {
  left: calc(57% - 4.125rem); }
  @media screen and (min-width: 40em) {
    .site-privacy {
      left: calc(25% + 0.25rem); } }
  @media screen and (min-width: 64rem) {
    .site-privacy {
      left: calc(25% + 0.25rem); } }
  @media screen and (min-width: 100rem) {
    .site-privacy {
      left: calc(25% + 0.25rem); } }
.site-copyright,
.project-info-counter,
.project-info-count {
  display: none; }
  @media screen and (min-width: 40em) {
    .site-copyright,
    .project-info-counter,
    .project-info-count {
      display: block; } }
  .site-copyright.show-mobile,
  .project-info-counter.show-mobile,
  .project-info-count.show-mobile {
    display: block !important; }

@media screen and (min-width: 40em) {
  .project-info-buttons,
  .project-info-title {
    left: calc(25% + 0.75rem); } }

@media screen and (min-width: 64rem) {
  .project-info-buttons,
  .project-info-title {
    left: calc(12.5% + 0.875rem); } }

@media screen and (min-width: 100rem) {
  .project-info-buttons,
  .project-info-title {
    left: calc(12.5% + 0.875rem); } }

.project-info-cats {
  display: none; }
  @media screen and (min-width: 64rem) {
    .project-info-cats {
      display: block;
      left: calc(68.75% + 0.3125rem); } }
  @media screen and (min-width: 100rem) {
    .project-info-cats {
      left: calc(68.75% + 0.3125rem); } }
.page-top,
.project-info-slide-title,
.project-info-close {
  left: auto;
  right: 1rem; }
  @media screen and (min-width: 40em) {
    .page-top,
    .project-info-slide-title,
    .project-info-close {
      right: 1rem; } }
  @media screen and (min-width: 64rem) {
    .page-top,
    .project-info-slide-title,
    .project-info-close {
      right: 1rem; } }
  @media screen and (min-width: 100rem) {
    .page-top,
    .project-info-slide-title,
    .project-info-close {
      right: 1rem; } }
.project-info-counter {
  -webkit-transition: color 200ms;
  -moz-transition: color 200ms;
  -ms-transition: color 200ms;
  transition: color 200ms;
  /* resolves blurry elements on webkit */ }
  @media screen and (min-width: 64rem) {
    .state-clr-btm-left-white .project-info-counter {
      color: white; } }
  .state-carousel-shown .project-info-counter {
    -webkit-transition: color 250ms;
    -moz-transition: color 250ms;
    -ms-transition: color 250ms;
    transition: color 250ms;
    /* resolves blurry elements on webkit */ }
  .project-info-counter.force-white {
    color: white !important; }
  .project-info-counter.force-black {
    color: #2D2D2D !important; }

.project-info-buttons {
  -webkit-transition: color 200ms;
  -moz-transition: color 200ms;
  -ms-transition: color 200ms;
  transition: color 200ms;
  /* resolves blurry elements on webkit */ }
  @media screen and (min-width: 64rem) {
    .state-clr-btm-left-white .project-info-buttons {
      color: white; } }
.project-info-close {
  -webkit-transition: color 200ms;
  -moz-transition: color 200ms;
  -ms-transition: color 200ms;
  transition: color 200ms;
  /* resolves blurry elements on webkit */ }
  @media screen and (min-width: 64rem) {
    .state-clr-btm-right-white .project-info-close {
      color: white; } }
  .work-info .project-info-close {
    color: #2D2D2D !important; }

.project-info-slide-title {
  -webkit-transition: color 200ms;
  -moz-transition: color 200ms;
  -ms-transition: color 200ms;
  transition: color 200ms;
  /* resolves blurry elements on webkit */ }
  @media screen and (min-width: 64rem) {
    .state-clr-btm-right-white .project-info-slide-title {
      color: white; } }
  .state-carousel-shown .project-info-slide-title {
    -webkit-transition: color 250ms;
    -moz-transition: color 250ms;
    -ms-transition: color 250ms;
    transition: color 250ms;
    /* resolves blurry elements on webkit */ }
  .project-info-slide-title.force-white {
    color: white !important; }
  .project-info-slide-title.force-black {
    color: #2D2D2D !important; }

.slide-info-wrapper {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10; }
  .slide .slide-info-wrapper {
    transform: translateY(calc(-100% + 3.125rem));
    transition: transform 250ms ease-in-out 50ms; }
    @media screen and (min-width: 40em) {
      .slide .slide-info-wrapper {
        transform: translateY(calc(-100% + 3.75rem)); } }
    @media screen and (min-width: 64rem) {
      .slide .slide-info-wrapper {
        transform: translateY(calc(-100% + 3.75rem)); } }
    @media screen and (min-width: greater-than-xhd) {
      .slide .slide-info-wrapper {
        transform: translateY(calc(-100% + 3.75rem)); } }
  .slick-active .slide-info-wrapper {
    transform: translateY(0) !important; }
  .slick-before-active .slide-info-wrapper {
    transform: translateY(0) !important; }

/* Single Work/Carousel Page */
/* ========================================================================== */
@media screen and (max-width: 40em) {
  .carousel-wrapper {
    border-bottom: none !important; } }

.carousel-wrapper > .work-info,
.carousel-wrapper > .work-index,
.carousel-wrapper > .slider-wrapper {
  margin: 0;
  overflow: hidden;
  width: calc(100% + 2rem);
  margin-left: -1rem;
  margin-top: -3.125rem; }
  @media screen and (min-width: 40em) {
    .carousel-wrapper > .work-info,
    .carousel-wrapper > .work-index,
    .carousel-wrapper > .slider-wrapper {
      margin: 0;
      position: absolute;
      width: calc(100% + 2rem);
      height: calc(100% + 7.5rem);
      left: -1rem;
      top: -3.75rem; } }
  @media screen and (min-width: 64rem) {
    .carousel-wrapper > .work-info,
    .carousel-wrapper > .work-index,
    .carousel-wrapper > .slider-wrapper {
      width: calc(100% + 2rem);
      height: calc(100% + 7.5rem);
      left: -1rem;
      top: -3.75rem; } }
  @media screen and (min-width: 100rem) {
    .carousel-wrapper > .work-info,
    .carousel-wrapper > .work-index,
    .carousel-wrapper > .slider-wrapper {
      width: calc(100% + 2rem);
      height: calc(100% + 7.5rem);
      left: -1rem;
      top: -3.75rem; } }
.carousel-wrapper > .slider-wrapper {
  display: block;
  visibility: visible;
  opacity: 1;
  max-height: 99999px;
  -webkit-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  -moz-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  -ms-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  /* resolves blurry elements on webkit */ }
  .show-info .carousel-wrapper > .slider-wrapper {
    visibility: hidden;
    opacity: 0;
    max-height: 0 !important;
    -webkit-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -moz-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -ms-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    /* resolves blurry elements on webkit */ }
  .show-index .carousel-wrapper > .slider-wrapper {
    visibility: hidden;
    opacity: 0;
    max-height: 0 !important;
    -webkit-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -moz-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -ms-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    /* resolves blurry elements on webkit */ }

.carousel-wrapper .slick-list,
.carousel-wrapper .slick-slide,
.carousel-wrapper .inner-slide {
  margin-top: 0;
  margin-left: 0;
  max-height: none;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: visible !important; }

.carousel-wrapper .slider:not(.full) .slick-track {
  margin-top: 0;
  margin-left: 0;
  max-height: none;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: visible !important; }

.carousel-wrapper .slider {
  margin-bottom: 4.125rem;
  margin-top: 3.125rem;
  margin-left: 1rem;
  width: calc(100% - 2rem);
  height: 100%;
  max-height: 68vw; }
  @media screen and (min-width: 40em) {
    .carousel-wrapper .slider {
      height: 100%;
      max-height: 68vw;
      margin-top: 3.75rem;
      margin-left: 1rem;
      width: calc(100% - 2rem); } }
  @media screen and (min-width: 64rem) {
    .carousel-wrapper .slider {
      margin-bottom: 0;
      margin-top: 0;
      margin-left: 0;
      max-height: none;
      width: 100% !important;
      height: 100% !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      overflow: visible !important; } }
.carousel-wrapper .slick-slide {
  background-color: white; }

@media screen and (min-width: 40em) {
  .carousel-wrapper .outer-media-wrapper {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    padding: 0 !important; } }

.carousel-wrapper .slick-slide:last-child .inner-slide {
  margin-bottom: 0 !important; }

@media screen and (min-width: 64rem) {
  .carousel-wrapper .inner-slide {
    position: absolute; } }

@media screen and (max-width: 64rem) {
  .carousel-wrapper .inner-slide video,
  .carousel-wrapper .inner-slide img {
    object-position: 50% 0% !important; } }

@media screen and (min-width: 64rem) {
  .carousel-wrapper .inner-slide.large {
    width: calc(100% - 2rem) !important;
    height: calc(100% - 7.5rem) !important;
    left: 1rem !important;
    top: 3.75rem !important; } }

@media screen and (min-width: 100rem) {
  .carousel-wrapper .inner-slide.large {
    width: calc(100% - 2rem) !important;
    height: calc(100% - 7.5rem) !important;
    left: 1rem !important;
    top: 3.75rem !important; } }

@media screen and (min-width: 64rem) {
  .carousel-wrapper .inner-slide.small {
    width: calc(100% - 2rem - 10.75rem) !important;
    height: calc(100% - 7.5rem - 10.75rem) !important;
    left: 6.375rem !important;
    top: 9.125rem !important; } }

@media screen and (min-width: 100rem) {
  .carousel-wrapper .inner-slide.small {
    width: calc(100% - 2rem - 10.75rem) !important;
    height: calc(100% - 7.5rem - 10.75rem) !important;
    left: 6.375rem !important;
    top: 9.125rem !important; } }

@media screen and (max-width: 64rem) {
  .carousel-wrapper .inner-slide.small video,
  .carousel-wrapper .inner-slide.small img {
    object-position: 50% 0% !important; } }

.carousel-wrapper .inner-slide.left video,
.carousel-wrapper .inner-slide.left img {
  object-position: 50% 0%; }

@media screen and (min-width: 64rem) {
  .carousel-wrapper .inner-slide.left {
    width: calc(50% - 1.5rem) !important;
    height: calc(100% - 7.5rem) !important;
    left: 1rem !important;
    top: 3.75rem !important; }
    .carousel-wrapper .inner-slide.left video,
    .carousel-wrapper .inner-slide.left img {
      object-position: 100% 50%; } }

@media screen and (min-width: 100rem) {
  .carousel-wrapper .inner-slide.left {
    width: calc(50% - 1.5rem) !important;
    height: calc(100% - 7.5rem) !important;
    left: 1rem !important;
    top: 3.75rem !important; } }

.carousel-wrapper .inner-slide.right video,
.carousel-wrapper .inner-slide.right img {
  object-position: 50% 0%; }

@media screen and (min-width: 40em) {
  .carousel-wrapper .inner-slide.right {
    display: none; } }

@media screen and (min-width: 64rem) {
  .carousel-wrapper .inner-slide.right {
    display: block;
    width: calc(50% - 1.5rem) !important;
    height: calc(100% - 7.5rem) !important;
    right: 1rem !important;
    top: 3.75rem !important;
    left: auto !important; }
    .carousel-wrapper .inner-slide.right video,
    .carousel-wrapper .inner-slide.right img {
      object-position: 0% 50%; } }

@media screen and (min-width: 100rem) {
  .carousel-wrapper .inner-slide.right {
    width: calc(50% - 1.5rem) !important;
    height: calc(100% - 7.5rem) !important;
    right: 1rem !important;
    top: 3.75rem !important; } }

@media screen and (max-width: 40em) {
  .carousel-wrapper .slider-wrapper.no-mobile {
    height: auto !important;
    max-height: none !important;
    margin-top: 0 !important; }
    .show-info .carousel-wrapper .slider-wrapper.no-mobile {
      visibility: hidden;
      opacity: 0;
      max-height: 0 !important;
      -webkit-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      -moz-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      -ms-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      /* resolves blurry elements on webkit */ }
    .show-index .carousel-wrapper .slider-wrapper.no-mobile {
      visibility: hidden;
      opacity: 0;
      max-height: 0 !important;
      -webkit-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      -moz-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      -ms-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
      /* resolves blurry elements on webkit */ } }

@media screen and (max-width: 40em) {
  .carousel-wrapper .slider.no-mobile {
    height: auto !important;
    position: relative !important;
    max-height: none !important;
    margin-top: 0 !important; }
    .carousel-wrapper .slider.no-mobile .slick-list,
    .carousel-wrapper .slider.no-mobile .slick-track,
    .carousel-wrapper .slider.no-mobile .slick-slide,
    .carousel-wrapper .slider.no-mobile .inner-slide {
      height: auto !important;
      position: relative !important;
      left: auto !important;
      top: auto !important; }
    .carousel-wrapper .slider.no-mobile .slick-slide {
      opacity: 1 !important;
      z-index: 0 !important; }
    .carousel-wrapper .slider.no-mobile .inner-slide {
      margin-bottom: 1rem !important; } }

.carousel-wrapper .prev-control {
  height: 100%;
  width: 50%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 1000;
  display: block;
  cursor: url("../img/left-x1.png"), auto;
  cursor: -webkit-image-set(url("../img/left-x1.png") 1x, url("../img/left-x2.png") 2x), auto; }
  .carousel-wrapper .prev-control:focus, .carousel-wrapper .prev-control:active {
    cursor: url("../img/left-x1.png"), auto;
    cursor: -webkit-image-set(url("../img/left-x1.png") 1x, url("../img/left-x2.png") 2x), auto; }
  @media screen and (max-width: 40em) {
    .carousel-wrapper .prev-control.no-mobile {
      display: none; } }
  @media screen and (min-width: 40em) {
    .carousel-wrapper .prev-control {
      height: calc(100% - 7.5rem);
      top: 3.75rem; } }
  @media screen and (min-width: 64rem) {
    .carousel-wrapper .prev-control {
      height: calc(100% - 7.5rem);
      top: 3.75rem; } }
  @media screen and (min-width: 100rem) {
    .carousel-wrapper .prev-control {
      height: calc(100% - 7.5rem);
      top: 3.75rem; } }
  .touch .carousel-wrapper .prev-control {
    display: none !important; }

.carousel-wrapper .next-control {
  height: 100%;
  width: 50%;
  right: 0;
  top: 0;
  position: absolute;
  z-index: 1000;
  display: block;
  cursor: url("../img/right-x1.png"), auto;
  cursor: -webkit-image-set(url("../img/right-x1.png") 1x, url("../img/right-x2.png") 2x), auto; }
  .carousel-wrapper .next-control:focus, .carousel-wrapper .next-control:active {
    cursor: url("../img/right-x1.png"), auto;
    cursor: -webkit-image-set(url("../img/right-x1.png") 1x, url("../img/right-x2.png") 2x), auto; }
  @media screen and (max-width: 40em) {
    .carousel-wrapper .next-control.no-mobile {
      display: none; } }
  @media screen and (min-width: 40em) {
    .carousel-wrapper .next-control {
      height: calc(100% - 7.5rem);
      top: 3.75rem; } }
  @media screen and (min-width: 64rem) {
    .carousel-wrapper .next-control {
      height: calc(100% - 7.5rem);
      top: 3.75rem; } }
  @media screen and (min-width: 100rem) {
    .carousel-wrapper .next-control {
      height: calc(100% - 7.5rem);
      top: 3.75rem; } }
  .touch .carousel-wrapper .next-control {
    display: none !important; }

.carousel-wrapper > .slider-wrapper.full .slider.full {
  width: 100% !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important; }
  .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list {
    position: absolute !important;
    height: 100% !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important; }
    .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track {
      width: 100% !important; }
      .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide {
        height: calc(100vh - 3.125rem) !important;
        position: relative !important;
        width: 100% !important;
        opacity: 1 !important;
        max-height: 100vh !important;
        min-height: 0vh !important;
        overflow: hidden !important;
        display: block !important; }
        @media screen and (min-width: 40em) {
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide {
            height: calc(100vh - 3.75rem) !important; } }
        @media screen and (min-width: 64rem) {
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide {
            height: calc(100vh - 3.75rem) !important; } }
        @media screen and (min-width: 100rem) {
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide {
            height: calc(100vh - 3.75rem) !important; } }
        .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .inner-slide.full .outer-media-wrapper {
          width: 100% !important;
          height: 100% !important;
          position: absolute !important;
          top: 0 !important;
          left: 0 !important;
          padding: 0 !important; }
        .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .media-wrapper img,
        .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .media-wrapper video {
          object-position: 50% 50% !important; }
        @media screen and (max-width: 64rem) {
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .inner-slide.large .outer-media-wrapper,
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .inner-slide.small .outer-media-wrapper {
            width: calc(100% - 2rem) !important;
            height: calc(100% - 7.5rem) !important;
            position: absolute !important;
            top: 3.75rem;
            left: 1rem;
            padding: 0 !important; } }
        @media screen and (max-width: 64rem) {
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .inner-slide.large .outer-media-wrapper,
          .carousel-wrapper > .slider-wrapper.full .slider.full .slick-list .slick-track .slide .inner-slide.small .outer-media-wrapper {
            top: 3.125rem;
            left: 1rem;
            width: calc(100% - 2rem) !important;
            height: calc(100% - 6.25rem) !important; } }
.carousel-wrapper .work-info,
.carousel-wrapper .work-index {
  display: none;
  z-index: 5000;
  background-color: white;
  overflow: auto; }
  .carousel-wrapper .work-info > div,
  .carousel-wrapper .work-index > div {
    min-height: calc(100vh - 3.125rem);
    flex-wrap: wrap;
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 3.125rem;
    padding-left: 1rem; }
    @media screen and (min-width: 40em) {
      .carousel-wrapper .work-info > div,
      .carousel-wrapper .work-index > div {
        padding-top: 3.75rem;
        padding-bottom: 3.75rem;
        padding-left: 1rem;
        min-height: 100vh; } }
    @media screen and (min-width: 64rem) {
      .carousel-wrapper .work-info > div,
      .carousel-wrapper .work-index > div {
        padding-top: 3.75rem;
        padding-bottom: 3.75rem;
        padding-left: 1rem; } }
    @media screen and (min-width: 100rem) {
      .carousel-wrapper .work-info > div,
      .carousel-wrapper .work-index > div {
        padding-top: 3.75rem;
        padding-bottom: 3.75rem;
        padding-left: 1rem; } }
    .carousel-wrapper .work-info > div .slide-index-control-wrap,
    .carousel-wrapper .work-index > div .slide-index-control-wrap {
      width: 50%;
      border-right: 1rem solid #fff;
      border-bottom: 1rem solid #fff; }
      @media screen and (min-width: 40em) {
        .carousel-wrapper .work-info > div .slide-index-control-wrap,
        .carousel-wrapper .work-index > div .slide-index-control-wrap {
          width: 25%;
          border-right: 1rem solid #fff;
          border-bottom: 1rem solid #fff; } }
      @media screen and (min-width: 64rem) {
        .carousel-wrapper .work-info > div .slide-index-control-wrap,
        .carousel-wrapper .work-index > div .slide-index-control-wrap {
          width: 20%;
          border-right: 1rem solid #fff;
          border-bottom: 1rem solid #fff; } }
      @media screen and (min-width: 100rem) {
        .carousel-wrapper .work-info > div .slide-index-control-wrap,
        .carousel-wrapper .work-index > div .slide-index-control-wrap {
          width: 16.667%;
          border-right: 1rem solid #fff;
          border-bottom: 1rem solid #fff; } }
      .carousel-wrapper .work-info > div .slide-index-control-wrap > a,
      .carousel-wrapper .work-index > div .slide-index-control-wrap > a {
        display: block;
        position: relative;
        overflow: hidden;
        padding-top: 66.667%; }
        .carousel-wrapper .work-info > div .slide-index-control-wrap > a > *,
        .carousel-wrapper .work-index > div .slide-index-control-wrap > a > * {
          position: absolute !important;
          top: 0 !important;
          left: 0 !important;
          width: 100% !important;
          height: 100% !important; }
    .carousel-wrapper .work-info > div .text-block,
    .carousel-wrapper .work-index > div .text-block {
      padding-right: 1rem; }
      @media screen and (min-width: 40em) {
        .carousel-wrapper .work-info > div .text-block,
        .carousel-wrapper .work-index > div .text-block {
          width: 100%;
          justify-content: space-between;
          display: flex;
          padding-right: 1rem; } }
      @media screen and (min-width: 64rem) {
        .carousel-wrapper .work-info > div .text-block,
        .carousel-wrapper .work-index > div .text-block {
          padding-right: 1rem; } }
      @media screen and (min-width: 100rem) {
        .carousel-wrapper .work-info > div .text-block,
        .carousel-wrapper .work-index > div .text-block {
          padding-right: 1rem; } }
      @media screen and (min-width: 40em) {
        .carousel-wrapper .work-info > div .text-block .left-column,
        .carousel-wrapper .work-index > div .text-block .left-column {
          width: calc(50% - 0.5rem); } }
      @media screen and (min-width: 64rem) {
        .carousel-wrapper .work-info > div .text-block .left-column,
        .carousel-wrapper .work-index > div .text-block .left-column {
          max-width: 46rem;
          width: calc(68.75% - 0.5rem); } }
      @media screen and (min-width: 100rem) {
        .carousel-wrapper .work-info > div .text-block .left-column,
        .carousel-wrapper .work-index > div .text-block .left-column {
          max-width: 57.5rem;
          width: calc(68.75% - 0.5rem); } }
      @media screen and (min-width: 40em) {
        .carousel-wrapper .work-info > div .text-block .right-column,
        .carousel-wrapper .work-index > div .text-block .right-column {
          width: calc(50% - 0.5rem); } }
      @media screen and (min-width: 64rem) {
        .carousel-wrapper .work-info > div .text-block .right-column,
        .carousel-wrapper .work-index > div .text-block .right-column {
          width: calc(31.25% - 0.5rem); } }
      @media screen and (min-width: 100rem) {
        .carousel-wrapper .work-info > div .text-block .right-column,
        .carousel-wrapper .work-index > div .text-block .right-column {
          width: calc(31.25% - 0.5rem); } }
.carousel-wrapper .work-info {
  display: block;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  -moz-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  -ms-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  /* resolves blurry elements on webkit */ }
  @media screen and (max-width: 40em) {
    .carousel-wrapper .work-info {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      overflow: visible; } }
  .show-info .carousel-wrapper .work-info {
    visibility: visible;
    opacity: 1;
    max-height: 99999px;
    -webkit-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -moz-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -ms-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    /* resolves blurry elements on webkit */ }

.carousel-wrapper .work-index {
  display: block;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  -moz-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  -ms-transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  transition: opacity 200ms linear 0ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
  /* resolves blurry elements on webkit */ }
  @media screen and (max-width: 40em) {
    .carousel-wrapper .work-index {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      overflow: visible; } }
  .show-index .carousel-wrapper .work-index {
    visibility: visible;
    opacity: 1;
    max-height: 99999px;
    -webkit-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -moz-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    -ms-transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    transition: opacity 200ms linear 200ms, visibility 0ms linear 200ms, max-height 0ms linear 200ms, margin-top 0ms linear 200ms, margin-bottom 0ms linear 200ms;
    /* resolves blurry elements on webkit */ }

/* Profile Page */
/* ========================================================================== */
@media screen and (min-width: 64rem) {
  .profile-page .top-text-wrapper {
    display: flex;
    justify-content: space-between; } }

.profile-page .top-text-wrapper .profile {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .profile-page .top-text-wrapper .profile {
      padding-bottom: 3.9375rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .top-text-wrapper .profile {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
  @media screen and (min-width: 100rem) {
    .profile-page .top-text-wrapper .profile {
      padding-bottom: 4.3125rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
.profile-page .top-text-wrapper .team {
  padding-bottom: 2.625rem; }
  @media screen and (min-width: 40em) {
    .profile-page .top-text-wrapper .team {
      padding-bottom: 5.25rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .top-text-wrapper .team {
      padding-bottom: 5.25rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 100rem) {
    .profile-page .top-text-wrapper .team {
      padding-bottom: 5.75rem;
      width: calc(50% - 0.5rem); } }
  .profile-page .top-text-wrapper .team .team-member {
    padding-bottom: 0.65625rem;
    padding-top: 0.65625rem;
    border-bottom: 1px solid #2D2D2D; }
    @media screen and (min-width: 40em) {
      .profile-page .top-text-wrapper .team .team-member {
        padding-bottom: 0.65625rem;
        padding-top: 0.65625rem;
        position: relative; } }
    @media screen and (min-width: 64rem) {
      .profile-page .top-text-wrapper .team .team-member {
        padding-bottom: 0.65625rem;
        padding-top: 0.65625rem;
        position: relative; } }
    @media screen and (min-width: 100rem) {
      .profile-page .top-text-wrapper .team .team-member {
        padding-bottom: 0.71875rem;
        padding-top: 0.71875rem;
        position: relative; } }
    @media screen and (min-width: 40em) {
      .profile-page .top-text-wrapper .team .team-member h5 {
        display: inline-block;
        float: left;
        width: calc(50% + 0.5rem); } }
    @media screen and (min-width: 64rem) {
      .profile-page .top-text-wrapper .team .team-member h5 {
        width: calc(50% + 0.5rem); } }
    @media screen and (min-width: 100rem) {
      .profile-page .top-text-wrapper .team .team-member h5 {
        width: calc(50% + 0.5rem); } }
    @media screen and (min-width: 40em) {
      .profile-page .top-text-wrapper .team .team-member h6 {
        display: inline-block;
        float: left;
        width: calc(50% + 0.5rem - 8rem); } }
    @media screen and (min-width: 64rem) {
      .profile-page .top-text-wrapper .team .team-member h6 {
        width: calc(50% + 0.5rem - 8rem); } }
    @media screen and (min-width: 100rem) {
      .profile-page .top-text-wrapper .team .team-member h6 {
        width: calc(50% + 0.5rem - 8rem); } }
    @media screen and (min-width: 40em) {
      .profile-page .top-text-wrapper .team .team-member a {
        position: absolute;
        display: inline-block;
        top: 0.65625rem;
        right: 0; } }
    @media screen and (min-width: 64rem) {
      .profile-page .top-text-wrapper .team .team-member a {
        top: 0.65625rem; } }
    @media screen and (min-width: 100rem) {
      .profile-page .top-text-wrapper .team .team-member a {
        top: 0.71875rem; } }
    @media screen and (min-width: 40em) {
      .profile-page .top-text-wrapper .team .team-member:after {
        content: '-';
        text-indent: -9999px;
        height: 1px;
        width: 100%;
        display: block;
        clear: both;
        margin-bottom: -1px; } }
    .profile-page .top-text-wrapper .team .team-member:first-child {
      padding-top: 0 !important; }
      @media screen and (min-width: 40em) {
        .profile-page .top-text-wrapper .team .team-member:first-child a {
          top: 0 !important; } }
    .profile-page .top-text-wrapper .team .team-member:last-child {
      padding-bottom: 0 !important;
      border-bottom: none !important; }

@media screen and (min-width: 64rem) {
  .profile-page .bottom-text-wrapper {
    display: flex;
    justify-content: space-between; } }

.profile-page .bottom-text-wrapper .services {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .profile-page .bottom-text-wrapper .services {
      padding-bottom: 2.625rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .bottom-text-wrapper .services {
      padding-bottom: 2.625rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 100rem) {
    .profile-page .bottom-text-wrapper .services {
      padding-bottom: 2.875rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 40em) {
    .profile-page .bottom-text-wrapper .services section {
      display: flex;
      justify-content: space-between;
      padding-bottom: 1.3125rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .bottom-text-wrapper .services section {
      padding-bottom: 1.3125rem; } }
  @media screen and (min-width: 100rem) {
    .profile-page .bottom-text-wrapper .services section {
      padding-bottom: 1.4375rem; } }
  @media screen and (min-width: 40em) {
    .profile-page .bottom-text-wrapper .services section header {
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 64rem) {
    .profile-page .bottom-text-wrapper .services section header {
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 100rem) {
    .profile-page .bottom-text-wrapper .services section header {
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 40em) {
    .profile-page .bottom-text-wrapper .services section .text-block {
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 64rem) {
    .profile-page .bottom-text-wrapper .services section .text-block {
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 100rem) {
    .profile-page .bottom-text-wrapper .services section .text-block {
      width: calc(50% - 0.5rem); } }
.profile-page .bottom-text-wrapper .clients {
  padding-bottom: 2.625rem; }
  @media screen and (min-width: 40em) {
    .profile-page .bottom-text-wrapper .clients {
      padding-bottom: 5.25rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .bottom-text-wrapper .clients {
      padding-bottom: 5.25rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 100rem) {
    .profile-page .bottom-text-wrapper .clients {
      padding-bottom: 5.75rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 40em) {
    .profile-page .bottom-text-wrapper .clients ul {
      column-count: 2;
      column-gap: 1rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .bottom-text-wrapper .clients ul {
      column-gap: 1rem; } }
  @media screen and (min-width: 100rem) {
    .profile-page .bottom-text-wrapper .clients ul {
      column-gap: 1rem; } }
.profile-page .profile-image-wrapper {
  margin-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .profile-page .profile-image-wrapper {
      margin-bottom: 3.9375rem; } }
  @media screen and (min-width: 64rem) {
    .profile-page .profile-image-wrapper {
      margin-bottom: 3.9375rem; } }
  @media screen and (min-width: 100rem) {
    .profile-page .profile-image-wrapper {
      margin-bottom: 4.3125rem; } }
/* Profile Page */
/* ========================================================================== */
@media screen and (min-width: 40em) {
  .contact-page .top-text-wrapper {
    display: flex;
    justify-content: space-between; } }

.contact-page .top-text-wrapper .address {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .contact-page .top-text-wrapper .address {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 64rem) {
    .contact-page .top-text-wrapper .address {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
  @media screen and (min-width: 100rem) {
    .contact-page .top-text-wrapper .address {
      padding-bottom: 4.3125rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
  .contact-page .top-text-wrapper .address .contact {
    padding-top: 1.3125rem; }
    @media screen and (min-width: 40em) {
      .contact-page .top-text-wrapper .address .contact {
        display: none; } }
.contact-page .top-text-wrapper .social {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .contact-page .top-text-wrapper .social {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 64rem) {
    .contact-page .top-text-wrapper .social {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 100rem) {
    .contact-page .top-text-wrapper .social {
      padding-bottom: 4.3125rem;
      width: calc(50% - 0.5rem); } }
@media screen and (min-width: 40em) {
  .contact-page .bottom-text-wrapper {
    display: flex;
    justify-content: space-between; } }

.contact-page .bottom-text-wrapper .contact {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .contact-page .bottom-text-wrapper .contact {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 64rem) {
    .contact-page .bottom-text-wrapper .contact {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
  @media screen and (min-width: 100rem) {
    .contact-page .bottom-text-wrapper .contact {
      padding-bottom: 4.3125rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
  .contact-page .bottom-text-wrapper .contact .contact {
    padding-top: 1.3125rem; }
    @media screen and (min-width: 40em) {
      .contact-page .bottom-text-wrapper .contact .contact {
        display: none; } }
.contact-page .bottom-text-wrapper .subscribe {
  padding-bottom: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .contact-page .bottom-text-wrapper .subscribe {
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem); } }
  @media screen and (min-width: 64rem) {
    .contact-page .bottom-text-wrapper .subscribe {
      padding-right: 0rem;
      padding-bottom: 3.9375rem;
      width: calc(50% - 0.5rem);
      padding-right: 2rem; } }
  @media screen and (min-width: 100rem) {
    .contact-page .bottom-text-wrapper .subscribe {
      padding-bottom: 4.3125rem;
      width: calc(50% - 0.5rem); } }
  .contact-page .bottom-text-wrapper .subscribe form {
    margin: 0; }
    @media screen and (min-width: 40em) {
      .contact-page .bottom-text-wrapper .subscribe form {
        padding-right: 3rem; } }
    @media screen and (min-width: 64rem) {
      .contact-page .bottom-text-wrapper .subscribe form {
        width: calc(37.5% - 0.375rem); } }
    @media screen and (min-width: 100rem) {
      .contact-page .bottom-text-wrapper .subscribe form {
        width: calc(37.5% - 0.375rem); } }
/* Work Archive Page */
/* ========================================================================== */
@media screen and (min-width: 64rem) {
  .work-thumbs-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; } }

.work-thumbs-wrapper .work-thumb {
  padding-bottom: 2.625rem; }
  @media screen and (min-width: 40em) {
    .work-thumbs-wrapper .work-thumb {
      padding-bottom: 2.625rem; } }
  @media screen and (min-width: 64rem) {
    .work-thumbs-wrapper .work-thumb {
      width: calc(50% - 0.5rem);
      padding-bottom: 2.625rem; } }
  @media screen and (min-width: 100rem) {
    .work-thumbs-wrapper .work-thumb {
      width: calc(50% - 0.5rem);
      padding-bottom: 2.875rem; } }
  .work-thumbs-wrapper .work-thumb > a {
    display: block;
    position: relative;
    padding-top: 66.667%;
    margin-bottom: 0.5625rem; }
    .work-thumbs-wrapper .work-thumb > a > * {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      position: absolute; }
  .work-thumbs-wrapper .work-thumb > div {
    padding-left: 0; }
    @media screen and (min-width: 40em) {
      .work-thumbs-wrapper .work-thumb > div {
        padding-left: calc(25% + 0.75rem); } }
    @media screen and (min-width: 64rem) {
      .work-thumbs-wrapper .work-thumb > div {
        padding-left: calc(25% + 0.75rem); } }
    @media screen and (min-width: 100rem) {
      .work-thumbs-wrapper .work-thumb > div {
        padding-left: calc(25% + 0.75rem); } }
    @media screen and (min-width: 40em) {
      .work-thumbs-wrapper .work-thumb > div > p {
        position: absolute;
        top: 0;
        left: 0; } }
    @media screen and (min-width: 40em) {
      .work-thumbs-wrapper .work-thumb > div > p span {
        display: none; } }
    @media screen and (min-width: 40em) {
      .work-thumbs-wrapper .work-thumb > div > div {
        display: flex;
        justify-content: space-between; } }
    .work-thumbs-wrapper .work-thumb > div h3 {
      display: none; }
      @media screen and (min-width: 40em) {
        .work-thumbs-wrapper .work-thumb > div h3 {
          display: block; } }
    .work-thumbs-wrapper .work-thumb > div ul {
      display: block; }
      .work-thumbs-wrapper .work-thumb > div ul li {
        display: inline-block;
        float: left; }
    .work-thumbs-wrapper .work-thumb > div:after {
      content: '-';
      text-indent: -9999px;
      width: 100%;
      height: 1px;
      display: block;
      clear: both;
      margin-bottom: -1px; }

/* Utility Page */
/* ========================================================================== */
@media screen and (min-width: 40em) {
  .utility-page > div {
    display: flex;
    justify-content: space-between; } }

@media screen and (min-width: 40em) {
  .utility-page > div .left-column {
    width: calc(33% - 0.5rem); } }

@media screen and (min-width: 64rem) {
  .utility-page > div .left-column {
    width: calc(25% - 0.5rem); } }

@media screen and (min-width: 100rem) {
  .utility-page > div .left-column {
    width: calc(25% - 0.5rem); } }

@media screen and (min-width: 40em) {
  .utility-page > div .right-column {
    width: calc(66% - 0.5rem); } }

@media screen and (min-width: 64rem) {
  .utility-page > div .right-column {
    width: calc(50% - 0.5rem); } }

@media screen and (min-width: 100rem) {
  .utility-page > div .right-column {
    width: calc(50% - 0.5rem); } }

.utility-page > div .right-column > * {
  max-width: 40rem; }

.utility-page > div .right-column h1, .utility-page > div .right-column h2, .utility-page > div .right-column h3, .utility-page > div .right-column h4, .utility-page > div .right-column h5, .utility-page > div .right-column h6 {
  padding-bottom: 0; }

.utility-page > div .right-column h1,
.utility-page > div .right-column h2 {
  border-top: 1px solid #2D2D2D;
  padding-top: 1.3125rem; }
  @media screen and (min-width: 40em) {
    .utility-page > div .right-column h1,
    .utility-page > div .right-column h2 {
      padding-top: 1.3125rem; } }
  @media screen and (min-width: 64rem) {
    .utility-page > div .right-column h1,
    .utility-page > div .right-column h2 {
      padding-top: 1.3125rem; } }
  @media screen and (min-width: 100rem) {
    .utility-page > div .right-column h1,
    .utility-page > div .right-column h2 {
      padding-top: 1.4375rem; } }
  .utility-page > div .right-column h1:first-child,
  .utility-page > div .right-column h2:first-child {
    border-top: none !important;
    padding: 0 !important; }

.gfield_description.validation_message,
.validation_error {
  display: none !important; }
