/**
 *  Styles
 */
/**
 *  Configuration
 */
/**
 *  Media Queries and Breakpoints
 */
/**
 *  Colors3
 */
/**
 *  Library
 * 
 *  Contains mixins and functions.
 */
/**
 *  Layout
 */
/**
 *  Settings
 */
/**
 *  Center element
 *  NB: parent element must have position: relative;
 *
 *  @variables: xy, x, y
 *  Default: xy
 */
/**
 *  Border Radius
 *
 *  @variables: $radius (px, em, rem value)
 */
/**
 *  Font Smoothing
 */
/**
 *  Font size map by Jonathan Suh
 *  https://www.smashingmagazine.com/2015/06/responsive-typography-with-sass-maps/
 */
/**
 *  Media Query Mixins.
 *  Sorted by Minimum, Maximum and Between
 */
/**
 *  Minimums
 * eg. 
 * @include minimum(tablet){ @content }; 
 * css will be active on tablet size and beyond
 * 
 * @variables: tablet, small-desktop, desktop
 */
/**
 *  Maximums
 * eg. 
 * @include maximum(tablet){ @content };
 * css will be active on tablet size size and beyond
 * 
 * @variables: mobile, tablet, small-desktop, desktop
 */
/**
 *  Betweens
 * eg. 
 * @include between(tablet,desktop){ @content }; 
 * css will be active between tablet and desktop breakpoints.
 * 
 * @variables: tablet, desktop
 */
/**
 *  Silent Classes
 */
/*
 *	%example{
 *		
 *	}
 *
 *  @extend %example;
 *
 */
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

.view--current {
  -webkit-transition: 2000ms -webkit-transform;
  transition: 2000ms -webkit-transform;
  transition: 2000ms transform;
  transition: 2000ms transform, 2000ms -webkit-transform; }

.view--new {
  -webkit-transition: 1500ms -webkit-transform;
  transition: 1500ms -webkit-transform;
  transition: 1500ms transform;
  transition: 1500ms transform, 1500ms -webkit-transform; }

.o-container {
  width: 100%;
  margin: 0 15px;
  padding-bottom: 20px;
  min-height: calc(100vh - 50px);
  margin: 0px auto;
  position: relative; }
  .o-container::after {
    clear: both;
    content: "";
    display: block; }
  @media only screen and (min-width: 915px) {
    .o-container {
      width: initial;
      min-height: calc(100vh - 168px);
      max-width: calc(100vw - 55px);
      padding-bottom: 0px; } }
  .o-container::after {
    clear: both;
    content: "";
    display: table; }

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

.column-1 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-1 {
      width: calc(12.5% - 67.5px);
      float: left;
      margin-left: 60px; } }

.column-2 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-2 {
      width: calc(25% - 75px);
      float: left;
      margin-left: 60px; } }

.column-3 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-3 {
      width: calc(37.5% - 82.5px);
      float: left;
      margin-left: 60px; } }

.column-4 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-4 {
      width: calc(50% - 90px);
      float: left;
      margin-left: 60px; } }

.column-5 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-5 {
      width: calc(62.5% - 97.5px);
      float: left;
      margin-left: 60px; } }

.column-6 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-6 {
      width: calc(75% - 105px);
      float: left;
      margin-left: 60px; } }

.column-7 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-7 {
      width: calc(87.5% - 112.5px);
      float: left;
      margin-left: 60px; } }

.column-8 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 915px) {
    .column-8 {
      width: calc(100% - 120px);
      float: left;
      margin-left: 60px; } }

@media only screen and (min-width: 915px) {
  .left-1 {
    margin-left: calc(-12.5% - 52.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-2 {
    margin-left: calc(-25% - 45px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-3 {
    margin-left: calc(-37.5% - 37.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-4 {
    margin-left: calc(-50% - 30px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-5 {
    margin-left: calc(-62.5% - 22.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-6 {
    margin-left: calc(-75% - 15px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-7 {
    margin-left: calc(-87.5% - 7.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .left-8 {
    margin-left: calc(-100% - 0px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-1 {
    margin-left: calc(12.5% - 67.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-2 {
    margin-left: calc(25% - 75px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-3 {
    margin-left: calc(37.5% - 82.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-4 {
    margin-left: calc(50% - 90px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-5 {
    margin-left: calc(62.5% - 97.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-6 {
    margin-left: calc(75% - 105px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-7 {
    margin-left: calc(87.5% - 112.5px + 120px); } }

@media only screen and (min-width: 915px) {
  .right-8 {
    margin-left: calc(100% - 120px + 120px); } }

.column-2 p:first-child {
  margin-top: 0; }

@media only screen and (min-width: 915px) {
  .profile-awards-title {
    width: calc(12.5% - 67.5px);
    float: left;
    margin-left: 60px;
    margin-left: calc(37.5% - 82.5px + 120px); }
    .profile-awards-title h3 {
      float: right; } }

.description-column-1 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-1 {
      width: calc(12.5% - 67.5px);
      float: left;
      margin-left: 60px; } }

.description-column-2 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-2 {
      width: calc(25% - 75px);
      float: left;
      margin-left: 60px; } }

.description-column-3 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-3 {
      width: calc(37.5% - 82.5px);
      float: left;
      margin-left: 60px; } }

.description-column-4 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-4 {
      width: calc(50% - 90px);
      float: left;
      margin-left: 60px; } }

.description-column-5 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-5 {
      width: calc(62.5% - 97.5px);
      float: left;
      margin-left: 60px; } }

.description-column-6 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-6 {
      width: calc(75% - 105px);
      float: left;
      margin-left: 60px; } }

.description-column-7 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-7 {
      width: calc(87.5% - 112.5px);
      float: left;
      margin-left: 60px; } }

.description-column-8 {
  width: calc(100% - 40px);
  float: left;
  margin-left: 20px; }
  @media only screen and (min-width: 1300px) {
    .description-column-8 {
      width: calc(100% - 120px);
      float: left;
      margin-left: 60px; } }

@media only screen and (min-width: 1300px) {
  .description-right-1 {
    margin-left: calc(12.5% - 67.5px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-2 {
    margin-left: calc(25% - 75px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-3 {
    margin-left: calc(37.5% - 82.5px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-4 {
    margin-left: calc(50% - 90px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-5 {
    margin-left: calc(62.5% - 97.5px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-6 {
    margin-left: calc(75% - 105px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-7 {
    margin-left: calc(87.5% - 112.5px + 120px); } }

@media only screen and (min-width: 1300px) {
  .description-right-8 {
    margin-left: calc(100% - 120px + 120px); } }

/**
 *  Typography
 */
@font-face {
  font-family: 'walsheim';
  src: url("../fonts/SuisseIntl-Regular-WebM?#iefix") format("embedded-opentype"), url("../fonts/SuisseIntl-Regular-WebM.woff") format("woff"), url("../fonts/SuisseIntl-Regular-WebM.ttf") format("truetype");
  /* Safari, Android, iOS */
  font-weight: oblique;
  font-style: oblique; }

@font-face {
  font-family: 'walsheim';
  src: url("../fonts/SuisseIntl-Regular-WebM.eot?#iefix") format("embedded-opentype"), url("../fonts/SuisseIntl-Regular-WebM.woff") format("woff"), url("../fonts/SuisseIntl-Regular-WebM.ttf") format("truetype");
  /* Safari, Android, iOS */
  font-weight: normal;
  font-style: normal; }

/**
 *  Font weight variables
 */
/**
 *  Font sizes
 *	
 *	Map options: null, x-small, small, medium, large, x-large
 *
 */
/**
 *  General
 */
* {
  -webkit-font-smoothing: antialiased;
  font-family: "walsheim", Helvetica, sans-serif; }

html {
  font-size: 62.5%;
  height: 100%;
  overflow-x: hidden; }

body {
  margin: 0px;
  height: 100%; }

header {
  z-index: 100; }

p, h1, h2, h3, h4, h5 {
  font-family: "walsheim", Helvetica, sans-serif; }

a {
  font-size: 1.5rem;
  line-height: 1.8rem;
  text-decoration: none;
  color: #000000; }
  @media screen and (min-width: 915px) {
    a {
      font-size: 2rem;
      line-height: 2.4rem; } }
  @media screen and (min-width: 1100px) {
    a {
      font-size: 2rem;
      line-height: 2.4rem; } }

a.animate--padding {
  -webkit-transition: padding 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: padding 800ms cubic-bezier(0.165, 0.84, 0.44, 1); }
  @media only screen and (min-width: 915px) {
    a.animate--padding:hover {
      padding-left: 18px; } }

p, span {
  font-size: 1.5rem;
  line-height: 1.8rem;
  font-weight: normal;
  letter-spacing: -0.0025em;
  margin: 0.7em 0; }
  @media screen and (min-width: 915px) {
    p, span {
      font-size: 2rem;
      line-height: 2.4rem; } }
  @media screen and (min-width: 1100px) {
    p, span {
      font-size: 2rem;
      line-height: 2.4rem; } }

h1 {
  font-size: 3.2em;
  line-height: 38px;
  font-weight: normal;
  letter-spacing: -0.0025em; }
  @media screen and (min-width: 915px) {
    h1 {
      font-size: 3.2em; } }
  @media screen and (min-width: 1100px) {
    h1 {
      font-size: 3.2em; } }

h2 {
  font-size: 2.2em;
  line-height: 27px;
  font-weight: normal;
  letter-spacing: -0.0025em; }
  @media screen and (min-width: 915px) {
    h2 {
      font-size: 2.2em; } }
  @media screen and (min-width: 1100px) {
    h2 {
      font-size: 2.2em; } }

h3 {
  font-size: 2.2em;
  line-height: 27px;
  font-weight: normal;
  margin: 0px;
  letter-spacing: -0.0025em; }
  @media screen and (min-width: 915px) {
    h3 {
      font-size: 2.2em; } }
  @media screen and (min-width: 1100px) {
    h3 {
      font-size: 2.2em; } }

h4 {
  font-size: 18px;
  line-height: 1.4;
  font-weight: normal;
  letter-spacing: -0.0025em; }
  @media screen and (min-width: 915px) {
    h4 {
      font-size: 17px; } }
  @media screen and (min-width: 1100px) {
    h4 {
      font-size: 20px; } }

h5 {
  font-size: 1.4em;
  line-height: 15px;
  color: #333;
  font-weight: normal;
  margin: 0;
  letter-spacing: -0.0025em; }
  @media screen and (min-width: 915px) {
    h5 {
      font-size: 1.4em; } }
  @media screen and (min-width: 1100px) {
    h5 {
      font-size: 1.4em; } }

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

.content--lt-grey {
  background: #FAFAFA; }

img {
  pointer-events: none;
  max-width: 100%; }

table th {
  border: 1px solid #333;
  font-weight: normal; }

table td {
  border: 1px solid #333; }

video {
  -o-object-fit: fill;
  object-fit: fill; }

.cls-1 {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%; }

/**
 *  Cursor
 */
html, a {
  cursor: url("../images/cursor/cursor.svg") 5 5, auto; }

/**
 *  Objects
 */
.a-clearfix:after {
  content: " ";
  /* Older browser do not support empty content */
  visibility: hidden;
  display: block;
  height: 0;
  line-height: 0;
  clear: both; }

/**
 *  Objects
 */
.body--noevents a {
  pointer-events: none; }

.main {
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
  padding-top: 35px;
  z-index: 5; }
  @media only screen and (min-width: 915px) {
    .main {
      padding-top: 80px; } }
  .main--closed {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }

.template__content {
  position: relative;
  z-index: 2; }
  .template__content::after {
    clear: both;
    content: "";
    display: table; }

.title__fixed {
  position: fixed;
  z-index: 1;
  width: calc(100vw - 40px);
  height: 0; }
  .title__fixed--profile {
    width: calc(100vw - 40px); }

.page__title {
  font-size: 1.5rem;
  line-height: 1.8rem;
  font-weight: normal;
  letter-spacing: -0.00025em;
  display: inline; }
  @media screen and (min-width: 915px) {
    .page__title {
      font-size: 2rem;
      line-height: 2.4rem; } }
  @media screen and (min-width: 1100px) {
    .page__title {
      font-size: 2rem;
      line-height: 2.4rem; } }

/**
 *  Objects
 */
.header {
  position: fixed;
  width: 100%;
  padding: 15px 0 5px;
  will-change: transform, background;
  -webkit-transition: 0.75s background, 0.75s -webkit-transform;
  transition: 0.75s background, 0.75s -webkit-transform;
  transition: 0.75s transform, 0.75s background;
  transition: 0.75s transform, 0.75s background, 0.75s -webkit-transform; }
  @media only screen and (min-width: 915px) {
    .header {
      will-change: none;
      -webkit-transition: none;
      transition: none;
      padding: 60px 0 0;
      background: none; } }
  .header__container {
    width: 100%;
    margin: 0; }
    .header__container::after {
      clear: both;
      content: "";
      display: block; }
    @media only screen and (min-width: 915px) {
      .header__container {
        max-width: calc(100vw - 55px);
        margin: 0 auto; } }
  .header--scrolled {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
    @media only screen and (min-width: 915px) {
      .header--scrolled {
        -webkit-transform: none;
        transform: none; } }
  .header--top {
    background: none; }
  .header--nottop {
    background: #ffffff;
    -webkit-transition: 0s 0.75s background, 0.75s -webkit-transform;
    transition: 0s 0.75s background, 0.75s -webkit-transform;
    transition: 0.75s transform, 0s 0.75s background;
    transition: 0.75s transform, 0s 0.75s background, 0.75s -webkit-transform; }
    @media only screen and (min-width: 915px) {
      .header--nottop {
        background: none; } }
  .header--absolute {
    position: absolute; }

.logo__link {
  display: block;
  float: left; }

/**
 *  Menu Object
 */
.menu {
  height: calc(100% - 88px);
  width: calc(100vw - 40px);
  padding: 75px 0 0 0;
  position: fixed;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  z-index: 99; }
  .menu::after {
    clear: both;
    content: "";
    display: block; }
  @media only screen and (min-width: 915px) {
    .menu {
      margin: 0;
      padding: 88px 0 0 0; } }
  .menu ul {
    height: calc(100% - 28px);
    position: relative;
    margin-top: 0px;
    margin-bottom: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(66.66667% - 33.33333px);
    float: left;
    margin-left: 20px;
    list-style: none;
    padding: 0; }
    @media only screen and (min-width: 915px) {
      .menu ul {
        width: calc(87.5% - 112.5px);
        float: left;
        margin-left: 60px;
        margin-left: calc(12.5% - 67.5px + 120px);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; } }
  .menu--open {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transition-delay: 0s;
    transition-delay: 0s; }
  .menu__toggle {
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    height: 22px;
    width: 22px;
    padding: 15px 20px 10px 0;
    -webkit-transition: 0.75s -webkit-transform;
    transition: 0.75s -webkit-transform;
    transition: 0.75s transform;
    transition: 0.75s transform, 0.75s -webkit-transform; }
    @media only screen and (min-width: 915px) {
      .menu__toggle {
        height: 100%;
        margin: 0;
        left: 0;
        right: inherit;
        -webkit-transition: none;
        transition: none; } }
    .menu__toggle--scrolled {
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%); }
      @media only screen and (min-width: 915px) {
        .menu__toggle--scrolled {
          -webkit-transform: none;
          transform: none; } }
    .menu__toggle--top {
      background: none; }
    .menu__toggle--cross {
      position: absolute; }
      @media only screen and (min-width: 915px) {
        .menu__toggle--cross {
          top: 50%;
          right: -46px;
          -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%); } }
      .menu__toggle--cross #cross {
        height: 22px;
        width: 22px; }
        @media only screen and (min-width: 915px) {
          .menu__toggle--cross #cross {
            height: 40px;
            width: 40px; } }
  .menu__link {
    font-size: 5rem;
    line-height: 5.6rem; }
    @media screen and (min-width: 915px) {
      .menu__link {
        font-size: 9vh;
        line-height: 9vh; } }
    @media screen and (min-width: 1100px) {
      .menu__link {
        font-size: 9vh;
        line-height: 9vh; } }

/**
 *  Slider Object
 */
.flickity-viewport {
  max-height: 100%;
  min-height: 100%; }

.flickity-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.slider {
  height: calc(100vh - 228px);
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: opacity 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: opacity 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .slider.flickity-enabled {
    display: block; }
    .slider.flickity-enabled .slider__block--video .video {
      visibility: initial; }
  .slider__column {
    position: relative; }
  @media only screen and (min-width: 915px) {
    .slider__col-one {
      width: calc(37.5% - 82.5px);
      float: left;
      margin-left: 60px; } }
  @media only screen and (min-width: 1100px) {
    .slider__col-one {
      width: calc(25% - 75px);
      float: left;
      margin-left: 60px; } }
  @media only screen and (min-width: 915px) {
    .slider__col-two {
      width: calc(37.5% - 82.5px);
      float: left;
      margin-left: 60px; } }
  @media only screen and (min-width: 1100px) {
    .slider__col-two {
      width: calc(50% - 90px);
      float: left;
      margin-left: 60px; } }
  @media only screen and (min-width: 915px) {
    .slider__col-three {
      width: calc(12.5% - 67.5px);
      float: left;
      margin-left: 60px; } }
  @media only screen and (min-width: 915px) {
    .slider__col-four {
      width: calc(12.5% - 67.5px);
      float: left;
      margin-left: 60px; } }
  .slider img {
    max-height: 100%;
    -ms-flex-item-align: center;
    align-self: center; }
  .slider.flickity-enabled__block {
    position: absolute;
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .slider__block {
    margin-left: 30px;
    margin-right: 30px;
    max-height: calc(100vh - 228px); }
    .slider__block:first-child {
      margin-left: 0px; }
    .slider__block:last-child {
      margin-right: 0px; }
    .slider__block--video {
      max-width: 100%;
      visibility: hidden;
      min-width: 56.25%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: absolute;
      top: 50%;
      bottom: auto;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media (max-height: 660px) {
        .slider__block--video {
          min-width: 36.25%; } }
      .slider__block--video iframe {
        position: absolute;
        top: 0;
        left: 0; }
  .slider__prev {
    display: block; }
  .slider__next {
    display: block; }
  .slider__controls {
    padding-top: 30px;
    float: left;
    width: 100%; }
    .slider__controls::after {
      clear: both;
      content: "";
      display: table; }
  .slider__preloader {
    width: 30px;
    height: 30px;
    position: absolute;
    border-radius: 50%;
    background: #ff4b00;
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: opacity 1s linear;
    transition: opacity 1s linear; }
    .slider__preloader--animated {
      -webkit-animation: flash 3s infinite;
      animation: flash 3s infinite; }

@-webkit-keyframes flash {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5); } }

@keyframes flash {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5); } }

.video {
  position: relative;
  overflow: hidden;
  margin: 0;
  max-width: 100%;
  min-width: 100%;
  padding-left: 0;
  padding-top: 56.18%; }
  .video iframe, .video object, .video embed {
    min-width: 100%;
    min-height: 100%; }

/**
 *  Footer Objects
 */
.bg {
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1; }

/**
 *  Home Template
 */
.home {
  padding-top: 25px;
  min-height: calc(100vh - 50px); }
  @media only screen and (min-width: 915px) {
    .home {
      padding-top: 60px;
      min-height: calc(100vh - 140px); } }
  .home__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .home__text p {
      font-size: 2rem;
      line-height: 2.3rem;
      font-weight: normal;
      letter-spacing: -0.00025em; }
      @media screen and (min-width: 915px) {
        .home__text p {
          font-size: 4.5vh;
          line-height: 5vh; } }
      @media screen and (min-width: 1100px) {
        .home__text p {
          font-size: 4.5vh;
          line-height: 5vh; } }

/**
 *  Projects Template
 */
.people {
  padding-top: 45px; }
  @media only screen and (min-width: 915px) {
    .people {
      padding-top: 60px; } }
  .people__row {
    margin-bottom: 45px; }
    .people__row:last-child {
      margin-bottom: 0px; }
    @media only screen and (min-width: 915px) {
      .people__row {
        margin-bottom: 120px; }
        .people__row:last-child {
          margin-bottom: 120px; } }
  .people a {
    display: block;
    -webkit-transition: -webkit-transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: -webkit-transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1); }
    @media only screen and (min-width: 915px) {
      .people a:hover {
        -webkit-transform: translateX(18px);
        transform: translateX(18px); } }

.person--nomarg {
  margin: 0; }

.person__image {
  padding-bottom: 30px; }

/**
 *  Profile Template
 */
.profile {
  padding-top: 45px; }
  @media only screen and (min-width: 915px) {
    .profile {
      padding-top: 60px; } }
  .profile a {
    text-decoration: underline; }
  .profile__fixed {
    position: fixed;
    width: calc(100vw - 40px); }
  .profile__awardsrecognition {
    padding-top: 27px; }
    @media only screen and (min-width: 915px) {
      .profile__awardsrecognition {
        padding-top: 0px; } }

/**
 *  Projects Template
 */
.projects {
  padding-top: 45px; }
  @media only screen and (min-width: 915px) {
    .projects {
      padding-top: 60px; } }
  .projects__link {
    display: block; }
    .projects__link:hover .projects__overlay {
      opacity: 1; }
    .projects__link:hover .projects__overlay-text {
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
      opacity: 1; }
  .projects__mobiletitle {
    padding-bottom: 26px; }
  .projects__title {
    display: block; }
    @media only screen and (min-width: 915px) {
      .projects__title {
        z-index: 1;
        display: block;
        margin: 0;
        padding: 20px 0; } }
    @media only screen and (min-width: 1100px) {
      .projects__title {
        padding: 30px 0; } }
  .projects__imagecontainer {
    padding-bottom: 15px; }
  .projects__image {
    position: relative;
    z-index: 1; }
  .projects__overlay {
    display: none; }
    @media only screen and (min-width: 915px) {
      .projects__overlay {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        display: block;
        opacity: 0;
        -webkit-transition: opacity 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: opacity 800ms cubic-bezier(0.165, 0.84, 0.44, 1); } }
  .projects__overlay-text {
    display: block;
    color: white;
    padding: 2.43vw;
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
    -webkit-transition: opacity 1200ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 900ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 1200ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 900ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 900ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1200ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 900ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1200ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 900ms cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .projects__overlay-text p {
      margin: 0px;
      font-size: 2rem;
      line-height: 2.4rem; }
      @media only screen and (min-width: 915px) {
        .projects__overlay-text p {
          font-size: 2.2rem;
          line-height: 2.4rem; } }
      @media only screen and (min-width: 1100px) {
        .projects__overlay-text p {
          line-height: 1.2em;
          font-size: 2.28vw; } }

/**
 *  Projects Template
 */
.project {
  padding-top: 45px; }
  @media only screen and (min-width: 915px) {
    .project {
      padding-top: 30px; } }
  .project__data {
    display: none; }
  .project__infotrigger {
    display: none; }
    @media only screen and (min-width: 915px) {
      .project__infotrigger {
        display: block;
        opacity: 0;
        -webkit-transition: 1s opacity;
        transition: 1s opacity;
        pointer-events: none; }
        .project__infotrigger--visible {
          pointer-events: initial;
          opacity: 1;
          -webkit-transition: 1s opacity;
          transition: 1s opacity; } }
    .project__infotrigger a {
      font-size: 1.5rem;
      line-height: 1.8rem; }
      @media screen and (min-width: 915px) {
        .project__infotrigger a {
          font-size: 2rem;
          line-height: 2.4rem; } }
      @media screen and (min-width: 1100px) {
        .project__infotrigger a {
          font-size: 2rem;
          line-height: 2.4rem; } }
  .project__info {
    display: none;
    width: 100%;
    min-height: 100%;
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    top: 0;
    left: 0;
    padding: 140px 20px 70px 20px;
    z-index: -10;
    background: #ffffff;
    opacity: 0;
    -webkit-transition: 0.5s opacity, 0s 1s z-index;
    transition: 0.5s opacity, 0s 1s z-index; }
    @media only screen and (min-width: 915px) {
      .project__info {
        display: block; } }
    .project__info--visible {
      position: absolute;
      z-index: 50;
      opacity: 1;
      -webkit-transition: 0.5s opacity, 0s 0s z-index;
      transition: 0.5s opacity, 0s 0s z-index; }
  .project__info-small-spacing {
    width: 20%;
    float: left; }
    @media only screen and (min-width: 1300px) {
      .project__info-small-spacing {
        display: none; } }
  .project__info-quarter {
    width: 40%;
    float: left; }
    @media only screen and (min-width: 1300px) {
      .project__info-quarter {
        width: 50%; } }
  .project__title--desktop {
    display: none; }
    .project__title--desktop p {
      margin: 0; }
  .project__fixedtitle {
    position: fixed;
    width: 100%;
    top: calc(100vh - 228px + 140px); }
  .project__mobilecolumn .lzy__ratio {
    margin-bottom: 18px; }
    .project__mobilecolumn .lzy__ratio:first-child {
      margin-top: 18px; }
    .project__mobilecolumn .lzy__ratio:last-child {
      margin-bottom: 0; }
  .project__mobilecolumn .video {
    margin-bottom: 18px;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%; }
    .project__mobilecolumn .video:first-child {
      margin-top: 18px; }
    .project__mobilecolumn .video:last-child {
      margin-bottom: 0; }
  .project__mobilecolumn .video iframe, .project__mobilecolumn .video object, .project__mobilecolumn .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .project__mobilecolumn .video {
    padding-top: 0; }
  .project__nextproject {
    margin-top: 18px;
    display: block; }
  .project--imagewidth {
    min-width: 100%; }
  .project__localvideo {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    -ms-flex-item-align: center;
    align-self: center;
    margin-bottom: 18px; }
    .project__localvideo:first-child {
      margin-top: 18px; }
    @media only screen and (min-width: 915px) {
      .project__localvideo {
        max-width: 100%;
        margin-bottom: 0px; }
        .project__localvideo:first-child {
          margin-top: 0px; } }

.project-data {
  display: none; }

/**
 *  Projects Template
 */
.contact {
  padding-top: 45px; }
  @media only screen and (min-width: 915px) {
    .contact {
      padding-top: 60px; } }
  .contact p {
    word-break: break-word; }
  .contact__imageone {
    display: block; }
    @media only screen and (min-width: 915px) {
      .contact__imageone {
        padding: 200px 0 0 0; } }
  .contact__imagetwo {
    display: block; }
    @media only screen and (min-width: 915px) {
      .contact__imagetwo {
        padding: 60px 0 0 0; } }
  .contact a {
    display: block;
    -webkit-transition: -webkit-transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: -webkit-transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 800ms cubic-bezier(0.165, 0.84, 0.44, 1); }
    @media only screen and (min-width: 915px) {
      .contact a:hover {
        -webkit-transform: translateX(18px);
        transform: translateX(18px); } }

@-webkit-keyframes containerFadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes containerFadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.containerFadeOut {
  -webkit-animation-name: containerFadeOut;
  animation-name: containerFadeOut; }

@-webkit-keyframes containerFadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes containerFadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.containerFadeIn {
  -webkit-animation-name: containerFadeIn;
  animation-name: containerFadeIn; }

/**
 *  Components
 */
.lzy__ratio {
  min-width: 100%;
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
  overflow: hidden; }
  .lzy__ratio img {
    display: block;
    min-width: 100%; }

.lzy__main {
  position: absolute;
  top: 0;
  left: 0; }

.lzy--fade {
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms; }
  .lzy--fade.lazyload {
    opacity: 0; }
  .lzy--fade.lazyloading {
    opacity: 0; }
  .lzy--fade.lazyloaded {
    opacity: 1; }

.lzy--blur {
  -webkit-filter: url("#blur"); }

.lzy__projectratio {
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
  overflow: hidden; }
  .lzy__projectratio img {
    display: block; }

.lzy__main {
  position: absolute;
  top: 0;
  left: 0; }

.lzy--fade {
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms; }
  .lzy--fade.lazyload {
    opacity: 0; }
  .lzy--fade.lazyloading {
    opacity: 0; }
  .lzy--fade.lazyloaded {
    opacity: 1; }

.lzy--blur {
  -webkit-filter: url("#blur"); }

.image-ratio {
  background: #d8d8d8; }
  .image-ratio--people {
    padding-top: 111.59%; }
  .image-ratio--regular {
    padding-top: 68.58%; }

.fade-box .lazyload,
.fade-box .lazyloading {
  opacity: 0;
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms; }

.fade-box img.lazyloaded {
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms;
  opacity: 1; }

.embed, .embed iframe, .embed img, .embed object {
  max-width: 100%; }

.embed {
  position: relative;
  margin: 0;
  padding: 0; }

.embed img {
  display: block;
  height: auto; }

.embed--video iframe, .embed--video object, .embed__thumb {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute; }

.embed--video {
  background-color: #ddd;
  overflow: hidden; }

.embed--error {
  font-size: .8em; }

.embed__thumb {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  cursor: pointer; }

.embed__thumb > img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25%;
  min-width: 75px;
  max-width: 175px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out;
  opacity: .65; }

.embed__thumb:hover > img {
  opacity: 1; }

.flickity-enabled {
  position: relative; }

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

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

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

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

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

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

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: white;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.flickity-prev-next-button:hover {
  background: white; }

.flickity-prev-next-button:focus {
  outline: none;
  -webkit-box-shadow: 0 0 0 5px #09F;
  box-shadow: 0 0 0 5px #09F; }

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

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

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

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

.flickity-prev-next-button:disabled {
  opacity: 0.3;
  cursor: auto; }

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

.flickity-prev-next-button .arrow {
  fill: #333; }

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

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

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

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

.hoverslide {
  position: relative;
  z-index: 1; }

.hoverslide .lzy__ratio {
  position: absolute;
  max-width: 100%;
  top: 0;
  left: 0; }

.hoverslide img:first-child {
  display: block; }

.hoverslide__hcontainer {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: table;
  top: 0;
  left: 0; }

.hoverslide__hcontainer div {
  display: table-cell;
  height: 100%;
  padding-top: 68.66%; }

/**
 *  Alterations
 */
.center {
  text-align: center; }

.hidden--mobile {
  display: none; }
  @media only screen and (min-width: 915px) {
    .hidden--mobile {
      display: block; } }

.hidden--desktop {
  display: block; }
  @media only screen and (min-width: 915px) {
    .hidden--desktop {
      display: none; } }

.padding__top--15 {
  padding-top: 15px; }
