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

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
} /* This resets box-model to honour widths: useful for responsive sites - NOTE: requires IE.7 hack */
.selector-with-border-radius {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}

.selector-with-bigger-border-radius {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}

/*
    This font software is the property of Commercial Type.

    You may not modify the font software, use it on another website, or install it on a computer.

    License information is available at http://commercialtype.com/eula
    For more information please visit Commercial Type at http://commercialtype.com or email us at info[at]commercialtype.com

    Copyright (C) 2016 Schwartzco Inc.
    License: 1606-EJKNDU     
*/
@font-face {
  font-family: "Haas Grot Regular";
  src: url("/assets/fonts/NeueHaasGrotDisp-55Roman-Web.eot");
  src: url("/assets/fonts/NeueHaasGrotDisp-55Roman-Web.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/NeueHaasGrotDisp-55Roman-Web.woff2") format("woff2"), url("/assets/fonts/NeueHaasGrotDisp-55Roman-Web.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Haas Grot Medium";
  src: url("/assets/fonts/NeueHaasGroteskDisplay-65Medium-Web.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Haas Grot Bold";
  src: url("/assets/fonts/NeueHaasGrotDisp-75Bold-Web.eot");
  src: url("/assets/fonts/NeueHaasGrotDisp-75Bold-Web.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/NeueHaasGrotDisp-75Bold-Web.woff2") format("woff2"), url("/assets/fonts/NeueHaasGrotDisp-75Bold-Web.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
.f_mega {
  font-size: 8rem;
}

.f_g {
  font-size: 6.5rem;
}

.f_xl {
  font-size: 5.5rem;
}

.f_l {
  font-size: 2.75rem;
}

.f_ml {
  font-size: 2rem;
}

.f_m, .f_m p {
  font-size: 1.85rem;
}

.f_s {
  font-size: 1.3rem;
}

.f_ss {
  font-size: 1.15rem;
}

.f_xs {
  font-size: 0.8rem;
}

.bolder {
  font-family: "Haas Grot Medium", helvetica, arial, sans-serif;
}

.normal {
  font-family: "Haas Grot Regular", helvetica, arial, sans-serif;
}

::selection {
  background: gold !important;
  color: #1B1B1B !important;
}

html, body {
  position: relative;
  min-width: 320px;
  min-height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Haas Grot Regular", helvetica, arial, sans-serif;
  color: #1B1B1B;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6, p, blockquote, li {
  margin: 0;
  padding: 0 0 1vw 0;
  border: 0;
  line-height: 1.45em;
  font-weight: normal;
}

h1 {
  font-size: 5.5rem;
  line-height: 1em;
  font-family: "Haas Grot Regular", helvetica, arial, sans-serif;
}

h2 {
  font-size: calc(5.5rem - 1.8em);
  line-height: 1em;
  font-family: "Haas Grot Medium", helvetica, arial, sans-serif;
}
h2.f_xl {
  font-family: "Haas Grot Regular", helvetica, arial, sans-serif;
}
h2.leader {
  margin-bottom: 0;
  padding-bottom: 1vw;
}

h3 {
  font-size: 1.6em;
  max-width: 960px;
}

h4 {
  font-size: 1.85rem;
}

h5 {
  font-size: 1.85rem;
}

h6 {
  font-size: 1.3rem;
  text-transform: uppercase;
}

p {
  font-size: 1.3rem;
  letter-spacing: 0;
}

@media (max-width: 1024px) {
  h1, h2, h3, h4, h5, h6, p, blockquote, li {
    padding: 0 0 calc(1vw * 2) 0;
  }
  h2 {
    font-size: 1.85rem;
  }
  h2 br {
    display: none !important;
  }
  h4, h5, h6, p, li, address, label, input, select, textarea {
    font-size: 1.15rem !important;
  }
}
@media (max-width: 768px) {
  h1, h2, h3, h4, h5, h6, p, blockquote, li {
    padding: 0 0 calc(1vw * 3) 0;
  }
  h2.leader {
    margin-bottom: 0;
    padding-bottom: calc(1vw * 3) !important;
  }
}
a {
  outline: 0;
  color: #1B1B1B;
  text-decoration: none;
}
a.h_line {
  text-decoration: none !important;
}
a.h_line.rev:after {
  width: 100%;
}
a.h_line.rev:hover:after {
  width: 0;
}
a.h_line {
  position: relative;
}
a.h_line:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 1px;
  width: 0;
  transition: width 0.25s cubic-bezier(0.87, 0, 0.13, 1);
  background: white;
}
a.h_line:hover:after {
  width: 100%;
}

.light a.h_line:after, .layer_white a.h_line:after {
  background: #1B1B1B;
}

ul, ol {
  padding: 0;
}

li {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-weight: normal;
  font-size: 1.3rem;
  line-height: 1.45em;
}

ol li {
  list-style-type: decimal-leading-zero;
  margin: 0 0 0 calc(1vw * 3);
}

table {
  margin: 0 0 calc(1vw * 2) 0;
}

th, td {
  font-size: 1.15rem;
  line-height: 1.45em;
  padding: 1vw calc(1vw * 2) 1vw 0;
}

th {
  font-family: "Haas Grot Bold", helvetica, arial, sans-serif;
  font-weight: normal;
  text-align: left;
}

em {
  font-style: italic;
}

strong {
  font-weight: normal;
  font-family: "Haas Grot Bold", helvetica, arial, sans-serif;
}

address {
  font-weight: normal;
  font-size: 1.3rem;
  line-height: 1.45em;
}

.dark blockquote {
  color: white;
}

blockquote {
  font-size: 1.85rem;
  text-align: center;
  margin: 0;
  max-width: 1024px;
}

blockquote p {
  padding: calc(1vw * 2) 0 0 0;
  font-size: 1.3rem;
}

@media (max-width: 1024px) {
  blockquote {
    padding: calc(1vw * 4) calc(1vw * 8);
  }
}
@media (max-width: 768px) {
  blockquote {
    font-size: 1.3rem;
  }
}
img, video {
  width: 100%;
  display: block;
  background: url(/images/system/stand_icon_loader_grey.svg) no-repeat center center;
}

hr {
  height: 1px;
  background: #BEBEBE;
  box-shadow: none;
  border: 0;
  padding: 0;
  margin: 1vw 0 calc(1vw * 2);
}

sub, sup {
  font-size: smaller;
}

sub {
  vertical-align: sub;
}

sup {
  vertical-align: super;
}

.underline {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

fieldset {
  margin: 0 0 calc(1vw * 2) 0;
  padding: 0;
}

label {
  padding: 1vw 0 0 0;
  font-weight: normal;
  font-size: 1.3rem;
  line-height: 1.45em;
}

input, select, textarea {
  font-size: 1.85rem;
  font-family: "Haas Grot Regular", helvetica, arial, sans-serif;
  line-height: 1.45em;
}

input[type=text],
input[type=search],
input[type=password],
input[type=email],
input[type=tel],
input[type=submit],
input[type=file] {
  margin: 0 0 24px 0;
  border: 0;
  border-bottom: 1px solid #BEBEBE;
  padding: 24px 0;
  -webkit-appearance: none;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 white;
  background: none;
  display: block;
  width: 100%;
}

input[type=submit] {
  font-size: 1.3rem;
  -webkit-appearance: button;
  border-radius: 50px;
  border: 1px solid #1B1B1B;
  background: white;
  color: #1B1B1B;
  padding: 3px 32px 2px;
  margin: calc(1vw * 2) 0 0 0;
  transition: background 0.1s ease;
  align-self: flex-end;
}

input[type=submit]:hover,
input[type=submit]:focus {
  background: #1B1B1B;
  outline: none;
  color: white;
}

input[type=text],
input[type=search],
input[type=password],
input[type=email],
input[type=tel],
input[type=file] {
  -webkit-appearance: textfield;
  -webkit-box-shadow: 0;
  background: white;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(hsla(0, 0%, 100%, 0)), to(hsla(0, 0%, 100%, 0)));
  background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
}

input[type=text]:focus, input[type=search]:focus, input[type=password]:focus, input[type=email]:focus, input[type=tel]:focus {
  outline: none;
  border-bottom: 1px solid #1B1B1B;
}

input[type=checkbox] {
  -webkit-appearance: checkbox;
  margin: 0 5px 1vw 0;
}

input[type=radio] {
  -webkit-appearance: radio;
  margin: 0 5px 1vw 0;
}

x:-o-prefocus, input[type=checkbox], input[type=radio] {
  margin: 0 1px 1vw 0px;
}

input[type=submit]::-moz-focus-inner {
  border: none;
}

select {
  margin: 0 0 24px 0;
  border: 0;
  border-bottom: 1px solid #BEBEBE;
  padding: 24px;
  line-height: 1.45em;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  outline: 0;
  width: 100%;
  background: white url(/images/system/select-arrow.png) no-repeat calc(100% - 0px) center;
}

select:focus {
  border-bottom: 1px solid #1B1B1B;
  outline: 0;
}

textarea {
  margin: 0 0 24px 0;
  border: 0;
  border-bottom: 1px solid #BEBEBE;
  padding: 24px 0;
  min-height: 200px;
  border-radius: 0;
  width: 100%;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(hsla(0, 0%, 100%, 0)), to(hsla(0, 0%, 100%, 0)));
  background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
}

textarea:focus {
  outline: none;
  border-bottom: 1px solid #1B1B1B;
}

input[type=submit] {
  width: auto;
}

.form-group.radios,
.form-group.checkboxes {
  margin: 0 auto 24px auto;
  clear: both;
  padding: 0;
  display: block;
}

.form-group-container {
  display: inline-block;
  position: relative;
  padding: 2px 6px 0 35px;
  margin: 0 12px 0 0;
  background: #eee;
  border-radius: 24px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.form-group-container input {
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 24px;
  width: 24px;
  background-color: transparent;
  border: 3px solid #1B1B1B;
}

.form-group.radios .checkmark {
  border-radius: 24px;
}

.form-group-container:hover input ~ .checkmark,
.form-group-container input:focus + .checkmark {
  background-color: #fff;
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.form-group-container input:checked ~ .checkmark:after {
  display: block;
}

.form-group-container .checkmark:after {
  left: 5px;
  top: 1px;
  width: 5px;
  height: 1vw;
  border: solid #1B1B1B;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.form-group.radios .form-group-container .checkmark:after {
  border-radius: 24px;
  left: 4px;
  top: 4px;
  width: 1vw;
  height: 1vw;
  border-width: 0;
  background: #1B1B1B;
}

input.dark::-webkit-input-placeholder {
  color: white;
  opacity: 1;
}

input.dark::-moz-placeholder {
  color: white;
  opacity: 1;
}

input.dark:-moz-placeholder {
  color: white;
  opacity: 1;
}

input.dark:-ms-input-placeholder {
  color: white;
  opacity: 1;
}

input.dark[placeholder], .dark[placeholder] {
  color: white;
  opacity: 1;
}

.form_ui label, .form_ui .enter {
  position: relative;
  z-index: 2;
  background: transparent;
  display: block;
}
.form_ui label {
  width: 100%;
  z-index: 1;
  transform: translateY(32px);
  transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
  padding: 0;
  margin: 0;
}
.form_ui label.show {
  font-size: 16px;
  z-index: 1;
  transform: translateY(0);
  color: #aaa;
}
.form_ui label abbr {
  border: 0 !important;
  outline: none !important;
  color: #aaa;
  text-decoration: none !important;
}
.form_ui .enter:focus::-webkit-input-placeholder {
  opacity: 0;
}
.form_ui .enter:focus::-moz-placeholder {
  opacity: 0;
}
.form_ui .enter:focus:-moz-placeholder {
  opacity: 0;
}
.form_ui .enter:focus::placeholder {
  opacity: 0;
}
.form_ui .enter {
  border: 0;
  border-bottom: 1px solid #BEBEBE;
  height: 36px;
  line-height: 36px;
  background: transparent;
  padding: 0;
  margin: 0 0 21px 0;
  transition: all 1s cubic-bezier(0.87, 0, 0.13, 1);
  min-height: 0;
}
.form_ui texarea {
  resize: none;
}
.form_ui textarea.enter.activate {
  height: 200px;
}
.form_ui label.required_field:after {
  color: #999999;
  opacity: 0;
  content: "(Required Field)";
  position: relative;
  font-size: 12px;
  width: auto;
  transition: opacity 0.15s 0s ease;
  display: inline-block;
  padding-left: 5px;
}
.form_ui label.required_field.show:after {
  transition: opacity 0.15s 0.75s ease;
  opacity: 1;
}
.form_ui input[type=submit] {
  margin-left: -4px;
}

.resize header {
  opacity: 0;
}

.menu_open.resize header {
  opacity: 1 !important;
}

.once header {
  opacity: 0 !important;
}

header {
  opacity: 1 !important;
}

header {
  transform: translateY(-103vh);
  transition: transform 1.5s cubic-bezier(0.87, 0, 0.13, 1), opacity 0.15s ease;
  position: fixed;
  height: 100vh;
  height: 100svh;
  width: 100%;
  background: #707070;
  padding: calc(1vw * 8);
  z-index: 7;
  top: -26px;
}
header nav {
  width: 100%;
  padding: 0;
}
header nav li {
  font-size: 5.5rem;
  display: block;
  margin: 0;
  padding: 0;
  list-style-type: none;
  line-height: 1.3em;
}
header nav li a {
  text-decoration: none !important;
  transition: all 0.25s ease;
  position: relative;
}
header nav li a:after {
  display: block;
  content: "";
  width: 0;
  position: absolute;
  bottom: 0;
  left: 4px;
  height: 4px;
  background: white;
  transition: width 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
header nav li a:hover:after {
  width: calc(100% - 4px);
}
header nav li a:hover {
  text-decoration: none !important;
}
header nav super {
  display: block;
  font-size: 30px;
}
header nav super a:after {
  display: none;
}
header ul {
  position: absolute;
  left: calc(1vw * 3);
  bottom: calc(1vw * 4);
  opacity: 0;
  transition: opacity 1s 0s ease;
  padding: 0;
  margin: 0;
}
header ul li {
  padding: 0;
}
header ul.follow {
  right: calc(1vw * 3);
  bottom: calc(1vw * 4);
  left: auto;
  width: auto;
}
header ul.follow li {
  font-size: 1.85rem;
  list-style-type: none;
  text-align: right;
}
header a, header li {
  color: white !important;
}

.menu_open header {
  z-index: 7;
  transform: translateY(26px);
}
.menu_open header ul {
  transition: opacity 1s 1s ease;
  opacity: 1;
  transform: translateY(0px);
}

.menu {
  position: fixed;
  z-index: 99;
  width: calc(1vw * 5);
  height: calc(1vw * 5);
  top: 26px;
  right: 26px;
  display: flex;
  justify-content: center;
  align-content: center;
  text-align: center;
  line-height: calc(1vw * 5);
  font-size: 60px;
  transform: rotate(0);
  transition: all 0.75s cubic-bezier(0.86, 0, 0.07, 1);
}

.light .logo svg path {
  fill: #1B1B1B;
}

.logo {
  position: fixed;
  z-index: 99;
  top: calc(calc(1vw * 4) + 8px);
  left: 1.7vw;
  width: 96px;
  height: 40px;
  transform-origin: 50% 50%;
  transform: rotate(-90deg);
  transition: transform 0.75s cubic-bezier(0.86, 0, 0.07, 1);
}
.logo svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.logo svg path {
  transition: fill 0.75s ease;
  fill: #1B1B1B;
}

.dark .logo svg path {
  fill: white;
}
.dark .menu {
  color: white;
}

.nearWhite .logo svg path {
  fill: #1B1B1B;
}

.menu.nearWhite {
  color: #1B1B1B;
}

.ping {
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 1px;
  background: transparent;
}

.menu_open .logo {
  transform: rotate(0) translate(1.4vw, -1.3vw);
}
.menu_open .logo svg path {
  fill: white;
  transition: fill 0.75s ease;
}
.menu_open .menu {
  transform: rotate(-45deg);
  color: white;
}

@media (max-width: 1440px) {
  .logo {
    width: 90px;
    height: 36px;
  }
}
@media (max-width: 1024px) {
  header nav li {
    font-size: 5.5rem !important;
  }
  header nav li a:after {
    left: 1px;
    height: 2px;
  }
  .logo {
    width: 68px;
    height: 28px;
  }
  .menu {
    line-height: calc(1vw * 5);
    font-size: 44px;
  }
}
@media (max-width: 768px) {
  .menu_open .logo {
    transform: rotate(0);
    left: calc(1vw * 9);
  }
  .logo {
    transform: rotate(0);
    left: calc(1vw * 9);
  }
  .menu {
    right: calc(1vw * 9);
    top: calc(1vw * 6);
  }
  header ul {
    left: auto;
    bottom: calc(1vw * 9);
  }
  header ul li {
    padding: 0;
    font-size: 2.75rem !important;
  }
  header ul super {
    display: none;
  }
  header ul.follow {
    display: none;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
  }
  header ul.follow li {
    font-size: 1.3rem;
    text-align: left;
  }
}
body.menu_open {
  overflow: hidden;
}
body {
  transition: color 0.5s ease, background-color 0.5s ease;
}
body a {
  transition: color 0.5s ease;
}
body#home {
  background-color: #1B1B1B;
}
body#process {
  background-color: #1B1B1B;
}
body#work {
  background-color: #1B1B1B;
}
body#journal {
  background-color: #F2F2F2;
}
body#contact {
  background-color: white;
}

.dark a:not(.menu) {
  color: white;
}

.light main a {
  color: black;
}

.nav_key.active {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.5;
  text-decoration: none !important;
}

.logo.nav_key {
  opacity: 1;
}

body.light {
  color: #1B1B1B;
}

body.dark {
  color: white;
}

.menu_open .transit {
  transform: translateY(100vh);
}

.transit {
  transition: transform 1.8s cubic-bezier(0.86, 0, 0.07, 1);
}

.anim_out {
  position: relative;
}

.layer_white {
  background: white;
  color: #1B1B1B;
}
.layer_white a {
  color: #1B1B1B !important;
}

.layer_black {
  background: #1B1B1B;
  color: white;
}
.layer_black a {
  color: white;
}

.layer_grey {
  background: #666;
  color: white;
}
.layer_grey a {
  color: white;
}

.white {
  background: white;
  color: #1B1B1B;
}
.white a {
  color: #1B1B1B;
}

.grey {
  background: #999999;
  color: black;
}

.menu_open main {
  transform: translateY(100vh);
}

main {
  visibility: hidden;
  transition: transform 1.65s cubic-bezier(0.87, 0, 0.13, 1);
  position: static;
  width: 100%;
  padding: 0;
}

img.ani {
  width: 40vw;
  max-width: 700px;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  position: absolute;
  right: 30vw;
  top: calc(4vw + 30px);
  z-index: 1;
}

.machine .yo {
  padding: 0;
  letter-spacing: -0.01em;
  font-feature-settings: unset;
  -webkit-text-rendering: optimizeSpeed;
  text-rendering: optimizeSpeed;
  -webkit-transform: translateZ(0);
  font-kerning: none !important;
  font-weight: normal;
  position: relative;
  line-height: calc(1em + 5px);
  z-index: 2;
}
.machine .yo-parent {
  overflow: hidden;
  display: block;
}
.machine .yo-child {
  display: inline-block;
}

#transit {
  display: flex;
  height: 100vh;
  width: 100%;
  z-index: 5;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
#transit ul {
  padding: 0;
  margin: 0;
}
#transit li {
  list-style-type: none;
  width: calc(100vw + 2px);
  padding: 0;
  margin: 0;
  margin-left: -1px;
  transform: scaleY(0);
  position: relative;
  background: #1B1B1B;
}

.mega {
  position: relative;
  top: 0;
  left: 0;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
.mega .col-group {
  padding: 0 calc(1vw * 18);
}

h1.super {
  pointer-events: none;
  font-size: 6.5rem;
  padding: 0 0 1vw;
  max-width: 75vw;
  margin: 0;
  margin-left: -3px !important;
}
h1.super.masthead_heading {
  padding: 0 3vw 0 9vw;
  position: relative;
  z-index: 3;
}

.super-pad {
  margin: 1vw 0 !important;
  padding: 0 !important;
  font-size: 1.3rem;
}

.col.strapline {
  padding: 0 1vw calc(1vw * 2) 1vw;
  max-width: 63vw;
}

@media (max-width: 1440px) {
  .mega .col-group {
    width: 100%;
    margin: 0;
    padding: calc(1vw * 9);
    z-index: 2;
  }
  h1.super,
  .col.strapline {
    max-width: 100%;
    font-size: 5.5rem;
    margin-left: -2px !important;
  }
}
@media (max-width: 1280px) {
  .col.strapline {
    font-size: 4rem;
  }
  .masthead .strapline {
    padding-top: calc(1vw * 8);
  }
}
@media (max-width: 1024px) {
  .mega, .swiper-container.massive {
    height: 56.25vh !important;
  }
  h1.super,
  .col.strapline {
    line-height: 1.2em;
    font-size: 2.75rem;
  }
  .super-pad {
    font-size: 1.15rem;
  }
}
@media (max-width: 540px) {
  .mega, .swiper-container.massive {
    height: 50vh !important;
  }
  h1.super, .col.strapline {
    font-size: calc(1.85rem + 0.5rem);
    max-width: 100vw;
    margin-left: 0 !important;
  }
  .col.strapline {
    margin: 0;
    width: 100%;
    margin: calc(1vw * 16) 1vw calc(1vw * 4) !important;
    padding: 0 0 calc(1vw * 8) 0 !important;
  }
}
.flow_container.projects {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.4s 0.25s cubic-bezier(0.65, 0, 0.35, 1);
}

.flow_container.projects.awaiting_data {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.cat_switcher {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  opacity: 1;
  transition: opacity 0.4s ease;
  margin: calc(1vw * 4) 0 calc(1vw * 6) 0;
}
.cat_switcher .col {
  margin: 0;
  padding: 1vw;
}
.cat_switcher .col a {
  display: block;
  padding-right: calc(1vw * 2);
  transition: opacity 0.4s ease;
}
.cat_switcher .col a:not(.isActive) {
  opacity: 0.25;
}
.cat_switcher .col a.isActive {
  opacity: 1 !important;
}
.cat_switcher h2 {
  display: inline-block;
  padding: 0;
  position: relative;
  padding-right: 80px;
  margin-bottom: 1vw;
  display: inbline-block;
  background: url("/images/system/stand_icon_arr_bk.svg") calc(100% - 25px) 52% no-repeat;
  background-size: 40px;
  transition: background-position 0.3s cubic-bezier(0.87, 0, 0.13, 1);
}
.cat_switcher .col:hover h2 {
  background-position-x: 100%;
}

.dark .cat_switcher h2 {
  background-image: url("/images/system/stand_icon_arr_w.svg");
}

.cat_switcher .col a {
  opacity: 0.25;
}

.cat_switcher:hover .col a {
  opacity: 0.25 !important;
}

.cat_switcher .col:hover a {
  opacity: 1 !important;
}

@media screen and (max-width: 768px) {
  .strapline.cat_switcher_leader {
    padding-top: 10vw !important;
  }
}
.text {
  padding-bottom: calc(1vw * 4);
}
.text h2 {
  font-size: 2.75rem;
}
.text h3 {
  font-size: 1.85rem;
}
.text h4 {
  font-size: 1.15rem;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.text ul, .text ol {
  padding: 0 0 calc(1vw * 2) 0;
}
.text li {
  margin: 0 0 0 1vw;
  padding: 0 0 0 1vw;
  list-style-type: disc;
  font-weight: normal;
  font-size: 1.3rem;
  line-height: 1.45em;
}
.text ol li {
  list-style-type: decimal;
}
.text a {
  text-decoration: underline;
}
.text a:hover, .text a:focus {
  text-decoration: none;
  color: #707070;
}

h3.mini_links {
  width: 100% !important;
  font-size: 1.15rem;
  margin: 0 0 calc(1vw * 2);
  border-bottom: 1px solid rgba(100, 100, 100, 0.4);
}
h3.mini_links a, h3.mini_links span {
  display: inline-block;
  margin-right: 30px;
}

.hero {
  position: relative;
  width: 100vw;
  height: 100%;
  margin-bottom: 0;
  padding: 0;
}
.hero img {
  display: block;
  width: 100%;
  height: auto;
}

/*
#home .hero {

		top:0;
		left:0;
	//	opacity:0.75;
		width:100vw;
		height:100vh;
		z-index:1;
		}
*/
.video_clip {
  padding-bottom: 0 !important;
}

.col3-2 iframe.video {
  height: 30.5vw;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  iframe.video {
    height: 46.1vw !important;
  }
}
iframe.video {
  display: block;
  height: 46.1vw;
  width: 100%;
  background: url(/images/system/stand_icon_loader_grey.svg) center center no-repeat;
  background-size: 48px;
  position: relative;
  z-index: 1;
  margin: 0;
}

@media screen and (min-width: 1px) {
  .masthead_video_clip {
    width: 100%;
    height: 100vh;
    height: 100svh;
    display: flex;
    align-items: center;
    position: relative;
  }
  .masthead_video_clip .bg_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    z-index: 1;
  }
  video.masthead_video {
    padding: 0;
    margin: 0;
    width: 100vw;
    height: 100svh !important;
    overflow: hidden;
    position: absolute;
    z-index: 2;
    object-fit: cover !important;
    opacity: 100%;
  }
}
.bg_img {
  display: none !important;
}

.bg_img.show {
  display: block !important;
}

.process_video.video_clip {
  padding: calc(1vw * 10) calc(1vw * 9) 0;
}

@media (max-width: 768px) {
  .process_video.video_clip {
    padding: calc(1vw * 21) calc(1vw * 9) 0;
  }
  .title_block h2 {
    font-size: 2.75rem;
  }
  .title_block p {
    font-size: 1.85rem;
  }
}
.video_controls_container:hover .video_btn {
  opacity: 1;
}

.video_btn {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 72px;
  height: 72px;
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background: center center no-repeat;
  background-size: 48px 48px;
  transition: opacity 0.2s ease;
  opacity: 0;
}

.video_btn.play {
  opacity: 1;
  transition: 0s;
  display: block;
  width: calc(100% - calc(1vw * 2) + 1px);
  height: 100%;
  left: 1vw;
  right: 0;
  background: #2b2b2b;
  background-size: cover;
  z-index: 2;
}
.video_btn.play:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  background: center center no-repeat;
  background-size: 54px 54px;
  background-image: url(/images/system/stand_icon_video_play.svg);
  z-index: 3;
}

.video_btn.stop {
  left: -1px !important;
  background-image: url(/images/system/stand_icon_video_stop.svg);
  background-position: right center;
  z-index: 2;
  width: 76px;
}

.video_btn.pause {
  left: 18px;
  display: none;
  background-image: url(/images/system/stand_icon_video_pause.svg);
}

.video_btn.mute {
  left: 76px;
  display: block;
}
.video_btn.mute.muted {
  background-image: url(/images/system/stand_icon_video_mute.svg);
}
.video_btn.mute.audible {
  background-image: url(/images/system/stand_icon_video_unmute.svg);
}

.process_video .video_btn.play {
  width: calc(100% + 1px);
  height: 100%;
  left: -1px;
  right: auto;
}
.process_video .video_btn.pause, .process_video .video_btn.stop {
  left: 0;
}
.process_video .video_btn.mute {
  left: 60px;
}

@media (max-width: 768px) {
  .device .video_btn.mute {
    display: none !important;
  }
  .device .video_btn.pause, .device .video_btn.stop {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
  }
}
.title_block {
  padding: calc(1vw * 9);
}
.title_block h2 {
  margin-left: -2px;
  padding: 0;
  margin-right: calc(1vw * 3);
}
.title_block p {
  line-height: 1.3em;
  font-size: 2.75rem;
}
.title_block p:first-child {
  padding-top: 20px;
}

.meta_block {
  padding: calc(1vw * 8) calc(1vw * 8) calc(1vw * 6) !important;
}
.meta_block .col {
  padding-top: 0;
  padding-bottom: 0;
}
.meta_block h1 {
  margin-left: -4px;
  font-size: 5.5rem;
  padding: 0 calc(1vw * 2) calc(1vw * 2) 0 !important;
}
.meta_block h3.category {
  padding-bottom: calc(1vw * 2);
}

.project_intro {
  padding-top: 1vw !important;
}
.project_intro p:first-child {
  margin-top: 2px !important;
}
.project_intro p {
  padding-right: calc(1vw * 8);
}

.more {
  margin-top: calc(1vw * 2);
  display: grid;
  grid-template-rows: 0fr;
  transition: padding 0.75s cubic-bezier(0.87, 0, 0.13, 1), grid-template-rows 0.75s cubic-bezier(0.87, 0, 0.13, 1);
  overflow: hidden;
}
.more .more_clip {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.more h4 {
  font-size: 1.3rem;
  font-family: "Haas Grot Bold", helvetica, arial, sans-serif;
}
.more p {
  padding-right: calc(1vw * 2);
}
.read_more {
  text-decoration: none !important;
  margin-top: 1vw;
  display: inline-block;
}
.read_more span:after {
  content: "more";
  display: inline-block;
}
.read_more span:after:hover {
  text-decoration: underline;
}

.open_read_more .more {
  grid-template-rows: 1fr;
}
.open_read_more .read_more span:after {
  content: "less";
}

#journal .meta_block .col3-2 {
  padding-left: calc(1vw * 8);
}

@media (max-width: 1280px) {
  .meta_block {
    padding-top: calc(1vw * 12) !important;
  }
  .meta_block h1 {
    font-size: calc(5.5rem - 1rem);
  }
  #journal .meta_block .col3-2, #journal .meta_block .col3-1 {
    width: 50% !important;
  }
  .open_read_more .more {
    padding-bottom: calc(1vw * 9);
  }
}
@media (max-width: 1024px) {
  .more_clip .col.col3-1 p:last-child {
    padding-bottom: 0 !important;
  }
  #journal .meta_block .col3-2 {
    padding-left: 1vw;
  }
  #journal .meta_block .col3-2, #journal .meta_block .col3-1 {
    width: 100% !important;
  }
  .more h4 {
    font-size: 1.3rem;
    font-family: "Haas Grot Bold", helvetica, arial, sans-serif;
  }
  .more p:last-child {
    padding-bottom: 0;
  }
  .meta_block {
    padding-top: calc(1vw * 15) !important;
  }
  .meta_block h3.category {
    font-size: 1.3rem;
  }
  .meta_block h1 {
    font-size: 2.75rem;
    margin-left: -2px;
    padding: calc(1vw * 2) 0 calc(1vw * 4) !important;
  }
}
@media (max-width: 768px) {
  .meta_block {
    padding-top: calc(1vw * 21) !important;
  }
  .meta_block h1 {
    font-size: 2.75rem;
  }
}
.stagger_anim {
  opacity: 0;
  transform: translateY(140px);
}

@media (max-width: 1024px) {
  .stagger_anim {
    opacity: 1;
    transform: translateY(0);
  }
}
.clip_anim {
  opacity: 1;
}

.flow_container img, .flow_container video {
  transition: filter 0.75s ease;
  filter: grayscale(0%);
}
.flow_container div.mask {
  transition: transform 0.35s cubic-bezier(0.45, 0, 0.55, 1);
  background: rgba(0, 0, 0, 0.5) url(/images/system/stand_icon_loader_grey.svg) no-repeat center center;
  overflow: hidden;
}
.flow_container a {
  position: relative;
  display: block;
}
.flow_container a:hover {
  transition: border-color 0.35s ease;
  border-color: #1B1B1B;
}
.flow_container a:hover div.mask img, .flow_container a:hover div.mask video {
  filter: grayscale(100%);
}
#more_content {
  padding: 0;
  clear: both;
  display: flex;
  flex-wrap: wrap;
  transition: padding 0.3s ease;
}
#more_content.load_done {
  padding-top: calc(1vw * 5);
}

#more_content.loadin {
  opacity: 0;
  transition: opacity 3s ease;
}

#more_content.loadin.show {
  opacity: 1;
}

.light .flow_container.projects a:before {
  background: rgba(0, 0, 0, 0.85);
}

.flow_container.projects {
  margin: 0 9vw;
  padding: 0 0 14vw 0;
  clear: both;
  display: flex;
  flex-wrap: wrap;
}
.flow_container.projects li {
  width: calc(50% - 1vw);
  position: relative;
  margin-bottom: 3vw;
}
.flow_container.projects li a {
  padding-top: calc(1vw * 2);
}
.flow_container.projects li a:before {
  content: "";
  display: block;
  height: 2px;
  background: #E8E8E8;
  width: 100%;
  top: 0;
  position: absolute;
  transition: transform 0.35s cubic-bezier(0.45, 0, 0.55, 1);
}
.flow_container.projects li a {
  position: relative;
  padding-top: calc(1vw * 2);
  display: block;
  transition: border-color 0.25s 0.25s ease;
}
.flow_container.projects li:nth-child(odd) {
  margin-right: 16vw;
}
.flow_container.projects li.one {
  width: calc(50% - 15vw);
}
.flow_container.projects li.two {
  margin-top: 0;
}
.flow_container.projects h3, .flow_container.projects p {
  transition: transform 0.35s cubic-bezier(0.45, 0, 0.55, 1);
}
.flow_container.projects h3 {
  padding: 0 calc(1vw * 2) 0 0;
  font-size: 1.15rem;
  opacity: 0.5;
}
.flow_container.projects p {
  padding: 1vw calc(1vw * 3) 0 0;
  font-size: 1.6rem;
}

@media (max-width: 1024px) {
  .flow_container.projects {
    margin: 0 9vw;
    padding: 0 0 14vw 0;
  }
  .flow_container.projects li {
    width: 100%;
    margin: 0 0 calc(1vw * 6) 0 !important;
    padding: 0 0 0 0 !important;
  }
  .flow_container.projects li.one {
    width: 100%;
    margin-top: -3vw;
  }
  .flow_container.projects li.two {
    margin-top: 0;
  }
  .flow_container.projects li a:before {
    top: -24px;
  }
  .flow_container.projects li a {
    padding: 0;
  }
  .flow_container.projects p {
    padding: calc(1vw * 3) calc(1vw * 3) 1vw 0;
  }
}
@media (max-width: 768px) {
  .flow_container.projects li {
    margin: 0 0 calc(1vw * 18) 0 !important;
  }
}
.flow_container.journal {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 calc(1vw * 9);
  padding: 0 0 calc(1vw * 18) 0;
  width: calc(100% - calc(1vw * 18));
}
.flow_container.journal li {
  margin-right: calc(1vw * 2);
  border: 0;
  width: 26vw;
  padding: 0;
  background: none !important;
  margin-bottom: calc(1vw * 7);
}
.flow_container.journal li:nth-child(9n+1) {
  width: 33vw;
  margin-right: -6vw;
  margin-left: 0;
}
.flow_container.journal li:nth-child(9n+2) {
  width: 28vw;
  margin-top: 2vw;
  margin-left: 1vw;
}
.flow_container.journal li:nth-child(9n+3) {
  width: 22vw;
  margin-right: 0;
  margin-left: 0;
  margin-top: 3vw;
}
.flow_container.journal li:nth-child(9n+4) {
  width: 27vw;
  margin-top: -6vw;
}
.flow_container.journal li:nth-child(9n+5) {
  width: 29vw;
  margin-left: -4vw;
}
.flow_container.journal li:nth-child(9n+6) {
  width: 32vw;
  margin-right: 0;
  margin-left: -6vw;
}
.flow_container.journal li:nth-child(9n+7) {
  width: 44vw;
  margin-top: -3vw;
}
.flow_container.journal li:nth-child(9n+8) {
  width: 47vw;
  margin-left: 0;
}
.flow_container.journal li:nth-child(9n+9) {
  width: 32vw;
  margin-right: 0;
  margin-left: -6vw;
}
.flow_container.journal li video {
  width: 100%;
  height: auto;
  padding: 0;
}
.flow_container.journal li img {
  display: block;
  position: relative;
  top: 0;
  z-index: 1;
}
.flow_container.journal li .squib {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 15%, rgba(0, 0, 0, 0.75) 110%);
}
.flow_container.journal li .squib:before {
  transition: opacity 0.5s ease;
  opacity: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 110%);
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
}
.flow_container.journal li .squib {
  top: 0;
  position: absolute;
  z-index: 2;
  margin: 0;
  padding: calc(1vw * 2) calc(1vw * 5) calc(1vw * 4) calc(1vw * 2);
  color: white;
  width: 100%;
}
.flow_container.journal li a:hover .squib:before {
  opacity: 1;
}
.flow_container.journal li h3, .flow_container.journal li h4 {
  transition: all 0.35s cubic-bezier(0.45, 0, 0.55, 1);
}
.flow_container.journal li h3 {
  padding: 0;
  font-size: 1.3rem;
  font-family: "Haas Grot Bold", helvetica, arial, sans-serif;
}
.flow_container.journal li h4 {
  padding: 0;
  font-size: 1.3rem;
}

@media (max-width: 1024px) {
  .flow_container.journal {
    width: 100%;
    margin: 0;
    padding: 0 0 30vh 0;
  }
  .flow_container.journal li {
    margin-bottom: 0 !important;
    margin-right: 0 !important;
  }
  .flow_container.journal li:nth-child(6n+1) {
    width: 70vw;
    margin-left: 9vw;
  }
  .flow_container.journal li:nth-child(6n+2) {
    width: 60vw;
    margin-left: 30vw;
  }
  .flow_container.journal li:nth-child(6n+3) {
    width: 100vw;
    margin-left: 0;
  }
  .flow_container.journal li:nth-child(6n+4) {
    width: 60vw;
    margin-top: 0;
  }
  .flow_container.journal li:nth-child(6n+5) {
    width: 80vw;
    margin-left: 20vw;
  }
  .flow_container.journal li:nth-child(6n+6) {
    width: 92vw;
    margin-left: 0;
  }
  .flow_container.journal li .squib {
    padding: calc(1vw * 3) calc(1vw * 4);
  }
}
.pagination.black {
  background: #1B1B1B;
}
.pagination.grey {
  background: #F2F2F2;
}
.pagination {
  background: white;
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(100, 100, 100, 0.4);
  padding: calc(1vw * 4) 0 !important;
  width: calc(100% - 6vw) !important;
  margin: 0 0 0 3vw !important;
  display: flex;
  flex-wrap: wrap;
}
.pagination li {
  margin: 0;
  list-style-type: none;
  font-size: 2rem;
  padding: 0 !important;
  float: none;
}
.pagination .next {
  text-align: right;
  align-self: flex-end !important;
}
.pagination .load_more {
  text-align: center;
  width: 100%;
}

@media (max-width: 768px) {
  .pagination {
    width: calc(100% - 18vw) !important;
    margin: 0 0 0 9vw !important;
    padding: calc(1vw * 4) 0 calc(1vw * 12) !important;
  }
  .pagination li {
    font-size: 1.3rem;
    width: 50%;
  }
}
.pin_base {
  z-index: 1;
  position: fixed;
  bottom: 0; /* corresponds to height */
  width: 25px;
  height: calc(1vw * 3);
  left: calc(calc(1vw * 2) - 1px);
}
.pin_base.right {
  left: auto;
  right: calc(calc(1vw * 4) + 13px);
}
.pin_base a {
  line-height: 1.45em;
  font-size: 1.3rem;
}
.pin_base a:after {
  display: none;
}
.pin_base a:hover {
  text-decoration: underline;
}
.pin_base a.filter_open, .pin_base a.share_open {
  padding: 0 1vw 0 calc(1vw * 2);
  display: inline-block;
  position: relative;
  z-index: 2;
  text-decoration: none !important;
  left: -15px;
  top: 29px;
}
.pin_base .single {
  position: relative;
  left: -15px;
  top: 29px;
  margin: 0 0 0 32px;
}
.pin_base ul {
  display: inline-block;
  padding: 0;
  margin: 0 0 0 72px;
  width: calc(100vh - 300px);
  overflow: hidden;
}
.pin_base .share ul {
  margin: 0 0 0 80px;
}
.pin_base li {
  display: inline-block;
  list-style-type: none;
  padding: 0 0 0 1vw;
  margin: 0;
  pointer-events: none;
  position: relative;
  z-index: 1;
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1), opacity 1s ease;
  transform: translateX(-500px);
}
.pin_base.nearWhite .share a, .pin_base.nearWhite .filters a {
  color: black !important;
}

.dark .pin_base a {
  color: white !important;
}

.filters, .share {
  transform: rotate(-90deg);
  transform-origin: 0 0;
}
.filters.open_filter li, .filters.open_share li, .share.open_filter li, .share.open_share li {
  pointer-events: auto;
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.75s cubic-bezier(0.87, 0, 0.13, 1), opacity 1s ease;
}

@media (max-width: 1024px) {
  .pin_base {
    display: none;
    z-index: 1;
    position: relative;
    bottom: auto;
    width: auto;
    padding: calc(1vw * 4) calc(1vw * 9) calc(1vw * 9);
    left: auto;
  }
  .pin_base.right {
    display: none;
    left: auto;
    right: calc(calc(1vw * 3) + 5px);
  }
  .pin_base li {
    background: #f2f2f2;
    display: block;
    list-style-type: none;
    padding: 10px 0 10px;
    margin: -1px 0 0 0;
    position: relative;
    z-index: 1;
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1), opacity 0.25s ease !important;
    transform: translateX(0);
  }
  .pin_base li:nth-child(2) {
    padding-top: 20px;
  }
  .pin_base li:last-child {
    padding-bottom: 20px;
  }
  .filters, .share {
    background: blue;
    overflow: hidden;
    height: 50px;
    transform: rotate(0);
  }
  .filters.open_filter {
    height: auto;
    overflow: auto;
    background: green;
  }
}
.filter_heading {
  text-transform: capitalize;
}
.filter_heading span {
  text-transform: none;
}

.mob.filter_menu {
  display: none;
  font-size: 1.3rem;
  padding: 1vw;
}
.mob.filter_menu a.trigger {
  margin-bottom: 1vw;
  display: inline-block;
}
.mob.filter_menu ul {
  max-height: 0;
  overflow: hidden;
}
.mob.filter_menu ul li {
  font-size: 1.3rem !important;
}
.mob.filter_menu ul {
  transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
.mob.filter_menu.open_filter ul {
  max-height: 1000px;
  transition: all 0.75s cubic-bezier(0.87, 0, 0.13, 1);
}

.mob_share {
  display: none !important;
  padding-bottom: calc(1vw * 6) !important;
}
.mob_share .col {
  margin-bottom: -3px;
}
.mob_share a {
  display: inline-block;
  margin-left: 1vw;
  text-decoration: underline;
}
.mob_share a:after {
  display: none;
}
.mob_share a:hover {
  text-decoration: none;
}

@media (max-width: 1024px) {
  .mob.filter_menu, .mob_share {
    display: block !important;
  }
}
#contact .location {
  padding-top: calc(1vw * 8);
  padding-bottom: 0;
}
#contact .location:first-child {
  padding-bottom: calc(1vw * 4);
}
#contact .location .col {
  padding-bottom: 0;
  margin-bottom: 0 !important;
}

#contact h2 {
  font-size: calc(5.5rem - 1vw);
  margin-left: -2px;
}

.col.contact_form_col_1 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.col.contact_form_col_1 h3, .col.contact_form_col_1 .social_pin, .col.contact_form_col_1 p {
  width: 100%;
  padding: 0;
}

.social_pin {
  align-self: flex-end;
}

#contact .clocks {
  display: block;
}

.clocks {
  display: none;
}

#contact .form_ui input[type=submit]:disabled {
  background: #E8E8E8;
  color: #707070;
  border-color: #707070;
}
#contact .form_ui ul.errors.help-block {
  padding: 0;
  margin: 0;
}
#contact .form_ui ul.errors.help-block li {
  color: #ff4900;
  font-size: 1.15rem;
  margin: -5px 0 0 0;
  padding: 0 0 12px;
}
#contact .form_ui {
  /* -- from ajaxify

  .alert {
  	margin:0 0 $base_unit; 
  	padding:18px;
  	border:1px solid $black;
  	width:100%;
  	border-radius:50px;
  	p {
  		padding:0 0 4px 12px;
  		}
  	&.alert-danger p {
  		color:$nay;
  		}
  	&.alert-success p {
  		color:$yay;
  		}
  	}
  */
}

.map {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-right: 0 !important;
}

.map_canvas {
  width: 100%;
  height: 380px;
  background: #E8E8E8;
  clear: both;
  margin: 0;
  border: 1px solid #BEBEBE;
}

@media (max-width: 1440px) {
  #contact h2 {
    font-size: 2.75rem;
    margin-left: -1px;
  }
}
@media (max-width: 1280px) {
  .map {
    padding: 0 1vw !important;
  }
  .map_canvas {
    height: 280px;
    margin: 0 0 calc(1vw * 4) 0;
  }
}
@media (max-width: 1024px) {
  #contact .location {
    margin-bottom: calc(1vw * 4) !important;
    padding-top: calc(1vw * 24);
  }
  #contact .location .col {
    width: 50%;
  }
  #contact .location .col.map {
    width: 100%;
  }
  .map_canvas {
    height: 480px;
  }
}
@media (max-width: 768px) {
  #contact .location .col {
    width: 100%;
  }
  .map_canvas {
    height: 240px;
    margin: calc(1vw * 8) 0;
  }
}
.firefox div.col-group {
  overflow: hidden;
}

section.col-group {
  padding: calc(1vw * 12) calc(1vw * 7) 0;
}

.col-group {
  padding: calc(1vw * 8);
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.col-group.centre {
  justify-content: center;
  align-items: center;
}
.col-group.full_right {
  width: calc(100% - 1vw);
  padding-right: 0;
}
.col-group.no_pad {
  padding: 0;
  width: 100%;
}
.col-group.project_top_section {
  padding-bottom: 0;
}
.col-group.project_bottom_section blockquote {
  color: #1B1B1B;
}

.col {
  width: 100%;
  margin: calc(1vw * 2) 0;
  padding: 0 1vw calc(1vw * 2) 1vw;
}
.col.align_top {
  align-self: auto;
}
.col.align_middle {
  align-self: center;
}
.col.align_baseline {
  align-self: flex-end;
}
.col.full_width {
  flex: none;
  display: block;
  width: calc(100% + 1vw * 16);
  position: relative;
  left: -8vw;
  padding: 0 !important;
}
.col.full_width img {
  display: block;
  width: 100%;
}
.col.almost_full_width {
  flex: none;
  display: block;
  width: calc(100vw - calc(1vw * 6));
  position: relative;
  left: -5vw;
  padding: calc(1vw * 4) 0;
}
.col.key_info {
  padding-left: 2.5vw;
}
.col p:first-child {
  margin-top: -6px;
  margin-bottom: 6px;
}
.col p a {
  text-decoration: underline;
}
.col p a:hover, .col a:active, .col a:focus {
  text-decoration: none;
}
.col p i {
  font-style: italic;
}

@media (min-width: 1024px) {
  .col p:last-child {
    padding-bottom: 0;
    margin-bottom: -6px;
  }
}
@media (max-width: 1024px) {
  .col.key_info {
    padding-left: 1vw;
  }
}
.col4-4 {
  width: 100%;
}

.col4-3 {
  width: 75%;
}

.col4-2 {
  width: 50%;
}

.col4-1 {
  width: 25%;
}

.col3-1 {
  width: 33.333%;
}

.col3-2 {
  width: 66.666%;
}

.col3-3 {
  width: 100%;
}

.col.stats {
  padding: 0;
  margin: calc(1vw * 4) 0;
}
.col.stats h3.super {
  font-size: 8rem;
  border-top: 1px solid white;
  padding: 1vw 0 0 0;
  margin-right: 0;
  position: relative;
}
.col.stats h3.super sup {
  font-size: 3.75rem;
  margin: 0;
  position: relative;
  top: -4px;
  left: 8px;
}
.col.stats h3.super sup.pref {
  margin: 0 5px 0 0;
  left: 0;
}
.col.stats.light h3.super {
  border-top-color: #1B1B1B;
}
.col.stats.light {
  color: #1B1B1B;
}
.col.stats.dark h3.super {
  border-top-color: white;
}
.col.stats.dark {
  color: white !important;
}
.col.stats .col {
  padding-right: 1vw;
}
.col.stats p {
  padding-right: calc(1vw * 2);
}

.col.stats + .col.full_width,
.col.full_width + .col.stats {
  margin-top: -4vw;
}

@media (max-width: 1280px) {
  .col.stats h3.super {
    font-size: 5.5rem;
  }
  .col.stats h3.super sup {
    font-size: 2.75rem;
    position: relative;
    top: 2px;
  }
}
.col-group.centre_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 75vh;
  border: 1px solid #ddd;
  padding: calc(1vw * 2);
}
.col-group.centre_flex .col:nth-child(2n+0), .col-group.centre_flex .col:last-child {
  border-right: 1px solid #ddd;
}
.col-group.centre_flex .col:nth-child(1n+0) {
  border-top: 1px solid #ddd;
}

.col_count_3 {
  padding: calc(1vw * 2);
  border: 1px solid #ddd;
  column-count: 3;
  column-gap: calc(1vw * 4);
  margin-bottom: calc(1vw * 4);
}

.project_top_section .col-group.blockquote, .project_bottom_section .col-group.blockquote {
  margin: 0;
  padding: calc(1vw * 4) 0;
}

@media (max-width: 1024px) {
  .project_bottom_section .stats, .project_bottom_section .full_width {
    z-index: 1;
  }
}
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

html.device #cursor, html.older #cursor {
  display: none !important;
}
html.device body, html.device a, html.device input, html.device select, html.device textarea, html.older body, html.older a, html.older input, html.older select, html.older textarea {
  cursor: auto !important;
}
html.device a, html.older a {
  cursor: pointer !important;
}
html.device .journal_slides .swiper-button-prev, html.device .journal_slides .swiper-button-next, html.device .mini_slider .swiper-button-prev, html.device .mini_slider .swiper-button-next, html.older .journal_slides .swiper-button-prev, html.older .journal_slides .swiper-button-next, html.older .mini_slider .swiper-button-prev, html.older .mini_slider .swiper-button-next {
  background: none !important;
}

@media (pointer: coarse) {
  #cursor {
    display: none;
  }
  body, a, input, select, textarea {
    cursor: auto;
  }
}
html.machine #cursor {
  display: block;
}
html.machine body, html.machine a, html.machine input, html.machine select, html.machine textarea {
  cursor: none;
}

@media (pointer: fine) {
  #cursor {
    display: block;
  }
  body, a, input, select, textarea {
    cursor: none !important;
  }
}
body.nearWhite #cursor.logo_menu_hover, body.nearWhite_menu #cursor.logo_menu_hover {
  background: #1B1B1B !important;
}

body.nearWhite.menu_open #cursor.logo_menu_hover, body.nearWhite_menu.menu_open #cursor.logo_menu_hover {
  background: white !important;
}

.ready #cursor {
  opacity: 1;
}

#cursor {
  opacity: 0;
  pointer-events: none;
  z-index: 1001;
  position: fixed;
  height: 15px;
  width: 15px;
  background: black;
  border-radius: 15px;
  transition: width 0.25s cubic-bezier(0.65, 0, 0.35, 1), height 0.25s cubic-bezier(0.65, 0, 0.35, 1), background 0.5s ease, opacity 0.5s ease-out;
}
#cursor.on_white {
  background: #1B1B1B;
}
#cursor.lr_scroll {
  background: white;
  width: 72px !important;
  height: 12px !important;
}
#cursor.cursor_white {
  background: white !important;
}
#cursor.active {
  transition: width 0.5s cubic-bezier(0.65, 0, 0.35, 1), height 0.5s cubic-bezier(0.65, 0, 0.35, 1), background 0.15s ease;
  width: 29px;
  height: 29px;
}
#cursor.next, #cursor.prev {
  background: white !important;
}
#cursor.hidden {
  opacity: 0;
}

.light #cursor {
  background: #1B1B1B;
}

.dark.menu_open #cursor, .light.menu_open #cursor, .dark #cursor {
  background: white;
}
.dark.menu_open #cursor.on_white, .light.menu_open #cursor.on_white, .dark #cursor.on_white {
  background: #1B1B1B;
}
.super_list li {
  padding-bottom: calc(1vw * 6);
}
.super_list li h4 {
  width: calc(33.3% + 75px);
}
.super_list li p {
  padding-top: calc(1vw + 10px);
  width: calc(66.66% - 150px);
  color: #383223;
}

@media screen and (max-width: 1024px) {
  .super_list li {
    padding-left: calc(1vw * 10);
    position: relative;
  }
  .super_list li:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0.8em;
    left: 0;
    background: #1B1B1B;
    border-radius: 10px;
  }
  .super_list li h4 {
    width: 100%;
    font-size: 1.85rem !important;
  }
  .super_list li p {
    padding-top: 0;
    width: 100%;
  }
}
.swiper-slide {
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}

.swiper-button-prev,
.swiper-button-next {
  background: blue;
  height: 100px;
  width: 100px;
  top: calc(52% - 30px);
  left: 0;
  cursor: none;
  background: center center no-repeat;
  background-size: 60px;
}
.swiper-button-prev:focus,
.swiper-button-next:focus {
  outline: none;
}
.swiper-button-prev:after, .swiper-button-prev:before,
.swiper-button-next:after,
.swiper-button-next:before {
  display: none;
}

.swiper-button-next {
  left: auto;
  right: 0;
  background-image: url(/images/system/stand_icon_arr_lrg_r.svg);
}

.swiper-button-prev {
  background-image: url(/images/system/stand_icon_arr_lrg_l.svg);
}

@media (max-width: 1024px) {
  .swiper-button-prev,
  .swiper-button-next {
    height: 68px;
    width: 68px;
    top: calc(50% - 10px);
    background-size: 40px;
  }
}
.swiper-slide {
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 45vh;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.swiper-slide img:not([src]) {
  visibility: hidden;
}
.swiper-slide iframe {
  background: #010101;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.swiper-container.project_slides {
  width: 100%;
  aspect-ratio: 16/10;
  padding: 0 0 110px 0;
  margin: 0 1vw calc(1vw * 8);
  opacity: 1;
  overflow: hidden;
}
.swiper-container.project_slides .swiper-slide {
  overflow: visible;
  width: 100%;
  height: 100%;
  display: block;
  flex-wrap: wrap;
  background: transparent;
  text-align: left;
}
.swiper-container.project_slides .swiper-slide img, .swiper-container.project_slides .swiper-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.swiper-container.project_slides .swiper-slide h4 {
  margin: 10px 0 0;
  font-size: 1.3rem;
}
.swiper-container.project_slides .swiper-slide h4 strong {
  display: block;
}
.swiper-container.project_slides .swiper-slide.swiper-slide-active h4 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s 0.6s ease;
}
.swiper-container.project_slides .swiper-button-prev,
.swiper-container.project_slides .swiper-button-next {
  top: calc(50% - 66px);
}

@media screen and (max-width: 1024px) {
  .swiper-container.project_slides {
    aspect-ratio: 4/3;
  }
}
@media screen and (max-width: 768px) {
  .swiper-container.project_slides {
    aspect-ratio: 4/3.85;
  }
}
.swiper-container.massive {
  width: 100%;
  height: 100vh;
  padding: 0;
  background: #1B1B1B;
  margin: 0 0 calc(1vw * 6) 0;
  top: 0;
  position: absolute;
}
.swiper-container.massive .swiper-slide {
  opacity: 0.5;
  width: 100%;
  height: 100%;
}
.swiper-container.massive .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
  background: #1B1B1B;
}
.swiper-container.massive .swiper-slide img {
  object-fit: cover;
}

.mini_slides {
  padding-right: 0 !important;
}
.mini_slides .show_grip {
  margin-top: 0;
  margin: 0;
}
.mini_slides .outside_col {
  padding-left: 1.1vw;
  margin-top: 0;
  min-height: 440px;
}
.mini_slides .swiper-container.mini_slider {
  overflow: hidden !important;
  height: 0;
  opacity: 0;
  transition: opacity 0.5s 0.35s ease;
  padding: 0 !important;
}
.mini_slides .swiper-container.mini_slider .swiper-slide {
  width: 30vw;
  margin-right: calc(1vw * 2);
}
.mini_slides .swiper-container.mini_slider.active {
  height: 20vw;
  opacity: 1;
}
@media (max-width: 1024px) {
  .mini_slides .outside_col {
    margin-left: 1vw;
    min-height: 0;
  }
  .mini_slides .swiper-container.mini_slider.active {
    height: 60vw;
  }
  .mini_slides .swiper-container.mini_slider {
    margin: 1vw 0 0 1vw;
  }
  .mini_slides .swiper-container.mini_slider .swiper-slide {
    width: 78vw;
    margin-right: calc(1vw * 3);
  }
}
.mini_slides {
  /**/
}
.mini_slides .swiper-container {
  max-width: 100%;
  height: 400px;
  position: relative;
  margin: 0;
}
@media (min-width: 768px) {
  .mini_slides .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
  }
}
.mini_slides .swiper-slide {
  background: #555;
  padding: 0;
  height: 100%;
}
.mini_slides .swiper-slide:nth-child(even) {
  background: #444;
}
.mini_slides .flex {
  background: lightgrey;
}
.mini_slides .numbering {
  font-size: 5.5rem;
  border-top: 1px solid transparent;
  padding: 10px 0 0 0;
  margin: 0 0 30px;
}
.mini_slides .outside {
  margin-left: 0;
  padding: 0;
}
.mini_slides .outside h3 {
  text-indent: -1px;
  font-family: "Haas Grot Bold", helvetica, arial, sans-serif;
  font-size: 1.3rem;
  line-height: 1.1em;
  padding: 0;
  margin: 0;
}
.mini_slides .outside h3 {
  position: relative;
}
.mini_slides .outside h3:before {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  left: -24px;
  position: absolute;
  top: 2px;
  background: url(/images/system/stand_icon_arr_r.svg) no-repeat left center;
  background-size: 11px 11px;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.mini_slides .outside.active h3:before {
  opacity: 1;
  transform: translateX(0);
}
.mini_slides .outside p {
  max-height: 0;
  transition: max-height 0.5s cubic-bezier(0.87, 0, 0.13, 1);
  overflow: hidden;
  padding: 0 24px 0 0;
  margin: 10px 0 10px;
  max-width: 520px;
}
.mini_slides .outside.active p {
  max-height: 200px;
}

@media (max-width: 768px) {
  .mini_slides .swiper-container.process_slides,
  .mini_slides .swiper-container.team_slides {
    padding: calc(1vw * 2) 0 !important;
    width: 100%;
    margin-left: 1vw;
  }
  .mini_slides .swiper-container {
    height: 40vh;
  }
  .mini_slides .outside_col {
    padding-left: calc(1vw * 12);
    width: 100%;
    min-height: 0;
  }
  .mini_slides .swiper-wrapper {
    transition-timing-function: ease-in-out;
  }
  .mini_slides .col {
    padding: 0 !important;
  }
  .mini_slides .swiper-container {
    padding: calc(1vw * 4) 0 calc(1vw * 8) calc(1vw * 5) !important;
  }
}
.full_right h2 {
  margin: 0 0 calc(1vw * 3) 1vw;
  padding: 0 0 calc(1vw * 2);
}

.journal_slides .swiper-button-next, .journal_slides .swiper-button-prev {
  position: absolute;
  z-index: 20;
  width: 100px;
  height: 100px;
  text-indent: -999em;
  overflow: hidden;
  top: calc(50% - 100px);
  background-color: rgba(0, 0, 0, 0.2);
  transition: opacity 0.25s ease;
  opacity: 0;
}
.journal_slides .swiper-button-next.swiper-button-disabled, .journal_slides .swiper-button-prev.swiper-button-disabled {
  opacity: 0 !important;
}
.journal_slides:hover .swiper-button-next, .journal_slides:hover .swiper-button-prev {
  opacity: 1;
}
.journal_slides {
  margin: 0 0 1vw 1vw;
  height: auto;
}
.journal_slides .swiper-slide {
  height: auto;
  width: 600px;
  align-items: flex-start;
}
.journal_slides img {
  display: block;
  width: calc(100% - calc(1vw * 3));
  height: 450px;
  padding-bottom: 20px;
  object-fit: cover;
  object-position: center center;
}
.journal_slides a {
  display: block;
  width: 100%;
}
.journal_slides h3, .journal_slides h4 {
  max-width: 500px;
  padding: 0 calc(1vw * 4) 0 0;
  text-align: left;
  font-size: 1.3rem;
}
.journal_slides h4 {
  color: #707070;
}

@media (max-width: 1024px) {
  .full_right h2 {
    margin: 0 0 calc(1vw * 8) 1vw;
    padding: 0 0 calc(1vw * 2);
  }
}
@media (max-width: 768px) {
  .full_right h2 {
    font-size: 2.75rem;
  }
  .journal_slides h3, .journal_slides h4 {
    max-width: 375px;
  }
  .journal_slides .swiper-slide {
    width: 82vw;
  }
  .journal_slides img {
    height: 300px;
  }
  .journal_slides {
    /**/
  }
}
.gallery_frame {
  padding: 0;
  width: 100%;
  margin: 1vw 1vw calc(1vw * 4);
  padding-bottom: 56.25%;
  position: relative;
  overflow: hidden;
}

.gallery_slides {
  left: -3px;
  top: -1px;
  width: calc(100% + 3px);
  height: calc(100% + 2px);
  position: absolute;
}
.gallery_slides .swiper-slide {
  height: auto;
  width: 100% !important;
  background: center center no-repeat;
  background-size: cover;
  -webkit-transform: translate3d(0, 0, 0);
}
.gallery_slides img {
  opacity: 1;
  width: 109%;
  object-fit: cover;
}

.dark footer.transparent, .light footer.transparent {
  background: transparent !important;
}

.layer_white footer a {
  color: #1B1B1B;
}

#work.project_entry footer {
  background: white;
}

#journal .section_entry {
  width: 100%;
}

#journal footer {
  background: #F2F2F2;
}

#journal .section_entry footer, #journal .section_entry .pagination {
  background: white;
}

footer {
  margin: 0 calc(1vw * 3);
  border-top: 1px solid rgba(100, 100, 100, 0.4);
  clear: both;
  overflow: hidden;
  z-index: 2;
  position: relative;
}
footer .col-group {
  padding: calc(1vw * 4) 0 calc(1vw * 8) 0;
  margin: 0;
  width: 100%;
}
footer .col {
  padding: 0;
  margin: 0 0 0 1vw;
}
footer .col:nth-child(1) {
  margin: 0 1vw 0 0;
  width: 25vw;
}
footer .col:nth-child(2) {
  margin: 0 1vw;
  width: 19vw;
}
footer .col:nth-child(3) {
  margin: 0 1vw;
  width: 26vw;
}
footer .col:nth-child(4) {
  margin: 0 0 0 1vw;
  width: 18vw;
}
footer .col {
  width: calc(25% - 1vw);
}
footer ul {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
}
footer li {
  max-width: 100px;
  list-style-type: none;
  margin: 0;
  padding: calc(1vw * 3) 1vw 0 0;
  background: red;
}
footer p, footer h4 {
  font-size: 1.3rem;
  padding: 0;
}
footer address {
  padding: 1vw 0;
  font-size: 1.3rem;
}
footer form {
  padding-top: 1vw;
}
footer a {
  text-decoration: underline;
}
footer a:hover, footer a:focus {
  text-decoration: none;
  color: #707070 !important;
}
footer {
  /*
  input[type="email"], input[type="email"]:focus, input[type="submit"], input[type="submit"]:focus, {
  	padding:0;
  	border:0;
  	margin:0;
  	line-height:1.3em;
  	background:none;
  	color:$black;
  	}	
  */
}

@media (max-width: 768px) {
  footer {
    padding-top: 1vw;
    margin: 0 calc(1vw * 9);
  }
  footer p, footer h4, footer address {
    font-size: 1.1rem;
  }
  footer .col {
    width: 100%;
    margin: 0 0 calc(1vw * 5) 0 !important;
  }
  footer .col:nth-child(1) {
    width: 60%;
  }
  footer .col:nth-child(2) {
    width: 40%;
  }
  footer .col:nth-child(3), footer .col:nth-child(4) {
    padding-top: calc(1vw * 4);
    border-top: 1px solid rgba(100, 100, 100, 0.4);
    width: 100%;
  }
  footer .col:nth-child(4) {
    margin: 0 !important;
  }
}
#run_clock {
  display: none;
}

.noscript {
  background: #000;
  color: #eee;
  margin: 0;
  padding: 18px;
  text-align: center;
  width: 100%;
}
.noscript a {
  color: white;
  text-decoration: underline;
}

.cookiebar {
  display: none;
  padding: 6px 0;
  left: calc(1vw * 9);
  position: fixed;
  z-index: 99;
  background: rgba(0, 0, 0, 0.8);
  bottom: 0;
  width: calc(100% - 1vw * 18);
  color: #E8E8E8;
  transition: bottom 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
.cookiebar p {
  padding: 6px 24px 4px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: row;
}
.cookiebar a {
  color: #E8E8E8 !important;
  text-decoration: underline;
  text-decoration: none;
}
.cookiebar a:hover {
  text-decoration: underline !important;
}
.cookiebar span {
  width: calc(100% - 240px);
  padding-right: calc(1vw * 2);
}
.cookiebar a.accept {
  border-left: 1px solid grey;
  padding: 6px 24px;
  width: 240px;
  text-align: center;
}
.cookiebar.hide {
  bottom: -200px;
}

@media (max-width: 768px) {
  .cookiebar {
    left: 0;
    width: 100%;
    padding-bottom: 30px;
    background: black;
  }
  .cookiebar p {
    padding: 24px calc(1vw * 9) 12px;
  }
  .cookiebar span {
    width: 100%;
    padding: 0 0 12px;
  }
  .cookiebar a.accept {
    border-top: 1px solid #E8E8E8;
    border-left: none;
    padding: 12px 0;
    width: 100%;
    text-align: left;
  }
}
* html .clear {
  height: 1%;
}

.clear {
  display: block;
  clear: both;
}

.clear:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.bye {
  margin: 0;
  padding: 0;
  position: absolute;
  top: -999em;
  left: -999em;
  height: 1px;
  width: 1px;
  z-index: -1;
  text-indent: -999em;
  overflow: hidden;
}

.relative {
  position: relative;
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.alert {
  border: 1px solid black;
  padding: 20px 30px !important;
  border-radius: 40px !important;
}

.alert.yay {
  color: #0c0;
}

.no_pad {
  padding: 0 !important;
}

.no_pad_top {
  padding-top: 0 !important;
}

.no_pad_btm {
  padding-bottom: 0 !important;
}

.no_pad_left {
  padding-left: 0 !important;
}

.no_pad_right {
  padding-right: 0 !important;
}

.pad {
  padding: calc(1vw * 8) !important;
}

.pad_top {
  padding-top: calc(1vw * 8) !important;
}

.pad_top_s {
  padding-top: calc(1vw * 2) !important;
}

.pad_btm {
  padding-bottom: calc(1vw * 8) !important;
}

.pad_left {
  padding-left: calc(1vw * 8) !important;
}

.pad_right {
  padding-right: calc(1vw * 8) !important;
}

.no_mrg {
  margin: 0 !important;
}

.no_mrg_top {
  margin-top: 0 !important;
}

.no_mrg_btm {
  margin-bottom: 0 !important;
}

.no_mrg_left {
  margin-left: 0 !important;
}

.no_mrg_right {
  margin-right: 0 !important;
}

.mrg {
  margin: calc(1vw * 8) !important;
}

.mrg_top {
  margin-top: calc(1vw * 8) !important;
}

.mrg_btm {
  margin-bottom: calc(1vw * 8) !important;
}

.mrg_left {
  margin-left: calc(1vw * 8) !important;
}

.mrg_right {
  margin-right: calc(1vw * 8) !important;
}

.multiply {
  mix-blend-mode: multiply !important;
}

.difference {
  mix-blend-mode: difference !important;
}

.sentence {
  text-transform: capitalize;
}

.lighten {
  opacity: 0.25;
}

.flt_right {
  float: right;
}

.mw_1440 {
  max-width: 1440px;
}

.mw_1280 {
  max-width: 1280px;
}

.mw_1024 {
  max-width: 1024px;
}

.mw_960 {
  max-width: 960px;
}

.mw_768 {
  max-width: 768px;
}

.mw_540 {
  max-width: 620px;
}

.rarr_d {
  position: relative;
  padding-right: 80px;
  display: inbline-block;
  background: url("/images/system/stand_icon_arr_bk.svg") calc(100% - 25px) 52% no-repeat;
  background-size: 40px;
  transition: background-position 0.3s cubic-bezier(0.87, 0, 0.13, 1);
}
.rarr_d:hover {
  background-position-x: 100%;
}

@media screen and (max-width: 1024px) {
  .rarr_d {
    background-position: calc(100% - 15px) 52%;
    padding-right: 62px;
    background-size: 28px;
  }
}
.mob_yo {
  display: none;
}

.mob_no {
  display: block;
}

@media screen and (max-width: 1024px) {
  .mob_yo {
    display: block;
  }
  .mob_no {
    display: none;
  }
}
@media (max-width: 1024px) {
  .col4-1, .col4-2, .col4-3 {
    width: 50%;
  }
  .meta_block .col4-2, .col3-1, .col3-2 {
    width: 100%;
  }
  .col_count_3 {
    column-count: 2;
    column-gap: calc(1vw * 3);
  }
}
@media (max-width: 768px) {
  .col4-1, .col4-2, .col4-3, .col3-1, .col3-2 {
    width: 100%;
  }
  .col_count_3 {
    column-count: 1;
  }
}
@media (max-width: 520px) {
  #content {
    min-width: 320px;
    width: 100%;
  }
}
html.preview a.logo.main.nav_key,
html.preview a#menu.menu,
html.preview .filters a,
html.preview .share a,
html.preview .pagination a,
html.preview footer a {
  pointer-events: none !important;
}
html.preview #cursor, html.preview header, html.preview .load_in, html.preview .tablet {
  display: none !important;
}
html.preview main {
  visibility: visible !important;
}
html.preview body, html.preview a, html.preview input, html.preview select, html.preview textarea {
  cursor: auto !important;
}

a.tablet {
  overflow: hidden;
  position: fixed;
  z-index: 9999;
  top: calc(50vh - 18px);
  left: 0;
  width: 32px;
  height: 32px;
  line-height: 33px;
  border-radius: 0 32px 32px 0;
  display: block;
  padding: 0 20px 0 8px;
  font-size: 12px;
  color: #999 !important;
  text-decoration: none;
  letter-spacing: 1px;
  transition: all cubic-bezier(0.87, 0, 0.13, 1) 0.5s;
}
a.tablet.single_entry span {
  display: inline-block;
}
a.tablet span {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  padding-left: 12px;
  margin-left: 12px;
  height: 32px;
  width: 120px;
  background: rgba(255, 255, 255, 0.5);
  display: none;
  transition: all cubic-bezier(0.87, 0, 0.13, 1) 0.25s 0s;
}
a.tablet strong {
  font-weight: normal !important;
}
a.tablet:hover {
  width: 76px;
  cursor: pointer !important;
}
a.tablet.single_entry:hover {
  width: 190px;
}
a.tablet:hover span {
  opacity: 1;
  transition: all cubic-bezier(0.87, 0, 0.13, 1) 0.5s 0.25s;
}
a.tablet.draft {
  background: rgba(0, 0, 0, 0.75);
}
a.tablet.draft span {
  color: white;
}
a.tablet.draft strong {
  color: black;
}
a.tablet.published {
  background: #f7f7fb;
}
a.tablet.published span {
  color: rgba(255, 255, 255, 0.75);
  background: #01c571;
}
a.tablet.published strong {
  color: white;
}

@media screen and (max-width: 1024px) {
  a.tablet {
    display: none;
    width: 190px;
    top: auto;
    bottom: 0;
    left: 0;
    line-height: 32px;
    border-radius: 0;
  }
  a.tablet span {
    opacity: 1;
  }
}
