@charset "UTF-8";
/*!
Theme Name: Simple Focus Theme
Theme URI: http://simplefocus.com
Description: Starter theme for Simple Focus WordPress websites.
Author: Simple Focus
Author URI: http://simplefocus.com
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Version: 1.0
*/
/**
 *  http://meyerweb.com/eric/tools/css/reset/
 *  v2.0 | 20110126
 *  License: none (public domain)
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, .project-block .title, 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;
}

.cf {
  *zoom: 1;
}
.cf:before, .cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}

.hide-vis {
  position: absolute !important;
  overflow: hidden;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  padding: 0;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
}

.hide {
  display: none !important;
  visibility: hidden !important;
}

[class*=show-xxs] {
  display: none;
}

@media (min-width: 0) {
  .show-xxs-up {
    display: block !important;
  }
  .hide-xxs-up {
    display: none !important;
  }
}
@media (min-width: 0) and (max-width: 374px) {
  .show-xxs {
    display: block !important;
  }
  .hide-xxs {
    display: none !important;
  }
}
@media (max-width: 374px) {
  .show-xxs-down {
    display: block !important;
  }
  .hide-xxs-down {
    display: none !important;
  }
}
[class*=show-xs] {
  display: none;
}

@media (min-width: 375px) {
  .show-xs-up {
    display: block !important;
  }
  .hide-xs-up {
    display: none !important;
  }
}
@media (min-width: 375px) and (max-width: 479px) {
  .show-xs {
    display: block !important;
  }
  .hide-xs {
    display: none !important;
  }
}
@media (max-width: 479px) {
  .show-xs-down {
    display: block !important;
  }
  .hide-xs-down {
    display: none !important;
  }
}
[class*=show-s] {
  display: none;
}

@media (min-width: 480px) {
  .show-s-up {
    display: block !important;
  }
  .hide-s-up {
    display: none !important;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .show-s {
    display: block !important;
  }
  .hide-s {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .show-s-down {
    display: block !important;
  }
  .hide-s-down {
    display: none !important;
  }
}
[class*=show-m] {
  display: none;
}

@media (min-width: 768px) {
  .show-m-up {
    display: block !important;
  }
  .hide-m-up {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 999px) {
  .show-m {
    display: block !important;
  }
  .hide-m {
    display: none !important;
  }
}
@media (max-width: 999px) {
  .show-m-down {
    display: block !important;
  }
  .hide-m-down {
    display: none !important;
  }
}
[class*=show-l] {
  display: none;
}

@media (min-width: 1000px) {
  .show-l-up {
    display: block !important;
  }
  .hide-l-up {
    display: none !important;
  }
}
@media (min-width: 1000px) and (max-width: 1399px) {
  .show-l {
    display: block !important;
  }
  .hide-l {
    display: none !important;
  }
}
@media (max-width: 1399px) {
  .show-l-down {
    display: block !important;
  }
  .hide-l-down {
    display: none !important;
  }
}
[class*=show-xl] {
  display: none;
}

@media (min-width: 1400px) {
  .show-xl-up {
    display: block !important;
  }
  .hide-xl-up {
    display: none !important;
  }
}
@media (min-width: 1400px) and (max-width: 1999px) {
  .show-xl {
    display: block !important;
  }
  .hide-xl {
    display: none !important;
  }
}
@media (max-width: 1999px) {
  .show-xl-down {
    display: block !important;
  }
  .hide-xl-down {
    display: none !important;
  }
}
[class*=show-xxl] {
  display: none;
}

@media (min-width: 2000px) {
  .show-xxl-up {
    display: block !important;
  }
  .hide-xxl-up {
    display: none !important;
  }
}
@media (min-width: 2000px) and (max-width: 20000px) {
  .show-xxl {
    display: block !important;
  }
  .hide-xxl {
    display: none !important;
  }
}
@media (max-width: 20000px) {
  .show-xxl-down {
    display: block !important;
  }
  .hide-xxl-down {
    display: none !important;
  }
}
.right {
  float: right;
}

.left {
  float: left;
}

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

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

@media (max-width: 767px) {
  .text-center-m-down {
    text-align: center;
  }
}

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

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

.text-top,
.text-top * {
  vertical-align: top;
}

.text-bottom,
.text-bottom * {
  vertical-align: bottom;
}

.thang {
  display: block;
  background-color: #eee;
  height: 1em;
  text-align: center;
  margin-bottom: 1em;
}

.swatch {
  height: 8vw;
  margin-bottom: 2vw;
}
.swatch.sf-black {
  background-color: #111112;
}
.swatch.sf-gray-0 {
  background-color: #202022;
}
.swatch.sf-gray-1 {
  background-color: #45464A;
}
.swatch.sf-gray-2 {
  background-color: #898A91;
}
.swatch.sf-gray-3 {
  background-color: #D1D2D8;
}
.swatch.sf-gray-4 {
  background-color: #EFF0F2;
}
.swatch.sf-gray-5 {
  background-color: #FAFAFA;
}
.swatch.sf-blue-0 {
  background-color: #102B7A;
}
.swatch.sf-blue-1 {
  background-color: #2160C1;
}
.swatch.sf-blue-2 {
  background-color: #3CB1EB;
}
.swatch.sf-blue-3 {
  background-color: #6EFAF5;
}
.swatch.sf-green-1 {
  background-color: #088A4C;
}
.swatch.sf-green-2 {
  background-color: #45D249;
}
.swatch.sf-green-3 {
  background-color: #B3F366;
}
.swatch.sf-orange-1 {
  background-color: #D35400;
}
.swatch.sf-orange-2 {
  background-color: #F78F1E;
}
.swatch.sf-orange-3 {
  background-color: #FFDB5E;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::-moz-selection {
  color: #fff;
  background-color: #3CB1EB;
}

::selection {
  color: #fff;
  background-color: #3CB1EB;
}

body {
  background-color: #FAFAFA;
}

.skip-to-content {
  overflow: hidden !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}
.skip-to-content:active, .skip-to-content:focus, .skip-to-content:hover {
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto;
}

.main-wrapper {
  width: 100%;
  overflow-x: hidden;
}
.error-404 .main-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=search],
input[type=url],
input[type=password],
textarea,
select {
  display: block;
  font-size: 1em;
  margin-bottom: 1em;
  padding: 0.75em;
  font-family: "circular", sans-serif;
  -webkit-transition: all 150ms ease-in-out;
  transition: all 150ms ease-in-out;
  border: none;
  border-radius: 0;
  background-color: #EFF0F2;
  background-repeat: no-repeat;
  background-image: -webkit-gradient(linear, left top, right top, from(#898A91), to(#898A91)), -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400));
  background-image: linear-gradient(to right, #898A91, #898A91), linear-gradient(to right, #F78F1E, #D35400);
  background-size: 100% 2px, 0% 2px;
  background-position: left bottom, right bottom;
  -webkit-transition: background-size 300ms, color 400ms;
  transition: background-size 300ms, color 400ms;
  will-change: background-size, background-position, color;
}
@media (min-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=search],
  input[type=url],
  input[type=password],
  textarea,
  select {
    font-size: 0.75em;
  }
}
input[type=text]:active, input[type=text]:focus,
input[type=email]:active,
input[type=email]:focus,
input[type=tel]:active,
input[type=tel]:focus,
input[type=number]:active,
input[type=number]:focus,
input[type=search]:active,
input[type=search]:focus,
input[type=url]:active,
input[type=url]:focus,
input[type=password]:active,
input[type=password]:focus,
textarea:active,
textarea:focus,
select:active,
select:focus {
  background-color: #EFF0F2;
  outline: none;
  background-size: 0% 2px, 100% 2px;
  background-position: right bottom, left bottom;
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-delay: 50ms;
  transition-delay: 50ms;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=number]::-webkit-input-placeholder, input[type=search]::-webkit-input-placeholder, input[type=url]::-webkit-input-placeholder, input[type=password]::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
  color: #898A91;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #898A91;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, input[type=search]:-ms-input-placeholder, input[type=url]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
  color: #898A91;
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=number]::-ms-input-placeholder, input[type=search]::-ms-input-placeholder, input[type=url]::-ms-input-placeholder, input[type=password]::-ms-input-placeholder, textarea::-ms-input-placeholder, select::-ms-input-placeholder {
  color: #898A91;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=search]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #898A91;
}
.form-field-container input[type=text],
.form-field-container input[type=email],
.form-field-container input[type=tel],
.form-field-container input[type=number],
.form-field-container input[type=search],
.form-field-container input[type=url],
.form-field-container input[type=password],
.form-field-container textarea,
.form-field-container select {
  margin-bottom: 0;
}

.form-field-container {
  margin-bottom: 1em;
}
.form-field-container .message--error {
  display: block;
  margin-top: 0.25rem;
  line-height: 1;
  color: #D35400;
}

.form-label-helper-text {
  color: #898A91;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=search],
input[type=url],
input[type=password],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
}

textarea {
  width: 100%;
  min-height: 8em;
  resize: vertical;
}

label,
legend {
  display: block;
  margin-bottom: 0.25em;
  font-family: "circular", sans-serif;
  line-height: 1.2;
}
@media (min-width: 768px) {
  label,
  legend {
    font-size: 0.75em;
  }
}

fieldset {
  padding: 0.75em 1em 1em;
  border: 1px solid #45464A;
  border-radius: 3px;
}
fieldset legend {
  padding: 0 0.5em;
}

.container {
  position: relative;
  width: 100%;
  max-width: 68em;
  *zoom: 1;
  margin: 0 auto;
  padding: 0 6vw;
  /* px value of the vw-based system */
}
.container:before, .container:after {
  content: " ";
  display: table;
}
.container:after {
  clear: both;
}
@media (min-width: 1400px) {
  .container {
    padding: 0 84px;
  }
}
@media (min-width: 1000px) {
  .col-l-6 > .container {
    max-width: 34em;
  }
}

.container-np {
  padding: 0 2vw;
}
@media (min-width: 1400px) {
  .container-np {
    padding: 0 28px;
  }
}

.row {
  *zoom: 1;
  margin: 0 -2vw;
}
.row:before, .row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
@media (min-width: 1400px) {
  .row {
    margin: 0 -28px;
  }
}

.col {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  vertical-align: top;
  padding: 0 2vw;
}
@media (min-width: 1400px) {
  .col {
    padding: 0 28px;
  }
}

.col-np {
  padding: 0;
}

.row-np {
  margin: 0;
}
.row-np > .col {
  padding: 0;
}

.row-hp {
  margin: 0 -1vw;
}
.row-hp > .col {
  padding: 0 1vw;
}

.row-center {
  text-align: center;
  font-size: 0;
}
.row-center > .col {
  display: inline-block;
  float: none !important;
  text-align: left;
  font-size: 1rem;
}
.row-center [class*=col-fixed] {
  margin: 0 auto !important;
}

.row-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -2vw;
}
@media (min-width: 1400px) {
  .row-flex {
    margin: 0 -28px;
  }
}
.row-flex:before, .row-flex:after {
  content: none;
}
.row-flex > .col {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.row-flex > .col > .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.row-flex > .col-sticky .block > :last-child {
  margin-top: auto;
}
.row-flex.row-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.row-flex.row-v-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.row-flex.row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.row-reverse > .col {
  float: right;
}

@media (min-width: 0) {
  .col-offset-xxs-0 {
    margin-left: 0;
  }
  .col-xxs-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-xxs-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-xxs-1 {
    margin-left: 8.3333333333%;
  }
  .col-xxs-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-xxs-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-xxs-2 {
    margin-left: 16.6666666667%;
  }
  .col-xxs-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-xxs-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-xxs-3 {
    margin-left: 25%;
  }
  .col-xxs-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-xxs-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-xxs-4 {
    margin-left: 33.3333333333%;
  }
  .col-xxs-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-xxs-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-xxs-5 {
    margin-left: 41.6666666667%;
  }
  .col-xxs-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-xxs-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-xxs-6 {
    margin-left: 50%;
  }
  .col-xxs-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-xxs-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-xxs-7 {
    margin-left: 58.3333333333%;
  }
  .col-xxs-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-xxs-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-xxs-8 {
    margin-left: 66.6666666667%;
  }
  .col-xxs-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-xxs-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-xxs-9 {
    margin-left: 75%;
  }
  .col-xxs-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-xxs-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-xxs-10 {
    margin-left: 83.3333333333%;
  }
  .col-xxs-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-xxs-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-xxs-11 {
    margin-left: 91.6666666667%;
  }
  .col-xxs-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-xxs-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-xxs-12 {
    margin-left: 100%;
  }
}
@media (min-width: 375px) {
  .col-offset-xs-0 {
    margin-left: 0;
  }
  .col-xs-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-xs-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-xs-1 {
    margin-left: 8.3333333333%;
  }
  .col-xs-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-xs-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-xs-2 {
    margin-left: 16.6666666667%;
  }
  .col-xs-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-xs-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-xs-3 {
    margin-left: 25%;
  }
  .col-xs-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-xs-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-xs-4 {
    margin-left: 33.3333333333%;
  }
  .col-xs-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-xs-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-xs-5 {
    margin-left: 41.6666666667%;
  }
  .col-xs-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-xs-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-xs-6 {
    margin-left: 50%;
  }
  .col-xs-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-xs-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-xs-7 {
    margin-left: 58.3333333333%;
  }
  .col-xs-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-xs-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-xs-8 {
    margin-left: 66.6666666667%;
  }
  .col-xs-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-xs-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-xs-9 {
    margin-left: 75%;
  }
  .col-xs-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-xs-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-xs-10 {
    margin-left: 83.3333333333%;
  }
  .col-xs-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-xs-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-xs-11 {
    margin-left: 91.6666666667%;
  }
  .col-xs-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-xs-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-xs-12 {
    margin-left: 100%;
  }
}
@media (min-width: 480px) {
  .col-offset-s-0 {
    margin-left: 0;
  }
  .col-s-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-s-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-s-1 {
    margin-left: 8.3333333333%;
  }
  .col-s-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-s-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-s-2 {
    margin-left: 16.6666666667%;
  }
  .col-s-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-s-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-s-3 {
    margin-left: 25%;
  }
  .col-s-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-s-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-s-4 {
    margin-left: 33.3333333333%;
  }
  .col-s-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-s-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-s-5 {
    margin-left: 41.6666666667%;
  }
  .col-s-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-s-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-s-6 {
    margin-left: 50%;
  }
  .col-s-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-s-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-s-7 {
    margin-left: 58.3333333333%;
  }
  .col-s-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-s-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-s-8 {
    margin-left: 66.6666666667%;
  }
  .col-s-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-s-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-s-9 {
    margin-left: 75%;
  }
  .col-s-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-s-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-s-10 {
    margin-left: 83.3333333333%;
  }
  .col-s-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-s-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-s-11 {
    margin-left: 91.6666666667%;
  }
  .col-s-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-s-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-s-12 {
    margin-left: 100%;
  }
}
@media (min-width: 768px) {
  .col-offset-m-0 {
    margin-left: 0;
  }
  .col-m-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-m-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-m-1 {
    margin-left: 8.3333333333%;
  }
  .col-m-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-m-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-m-2 {
    margin-left: 16.6666666667%;
  }
  .col-m-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-m-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-m-3 {
    margin-left: 25%;
  }
  .col-m-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-m-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-m-4 {
    margin-left: 33.3333333333%;
  }
  .col-m-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-m-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-m-5 {
    margin-left: 41.6666666667%;
  }
  .col-m-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-m-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-m-6 {
    margin-left: 50%;
  }
  .col-m-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-m-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-m-7 {
    margin-left: 58.3333333333%;
  }
  .col-m-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-m-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-m-8 {
    margin-left: 66.6666666667%;
  }
  .col-m-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-m-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-m-9 {
    margin-left: 75%;
  }
  .col-m-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-m-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-m-10 {
    margin-left: 83.3333333333%;
  }
  .col-m-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-m-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-m-11 {
    margin-left: 91.6666666667%;
  }
  .col-m-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-m-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-m-12 {
    margin-left: 100%;
  }
}
@media (min-width: 1000px) {
  .col-offset-l-0 {
    margin-left: 0;
  }
  .col-l-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-l-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-l-1 {
    margin-left: 8.3333333333%;
  }
  .col-l-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-l-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-l-2 {
    margin-left: 16.6666666667%;
  }
  .col-l-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-l-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-l-3 {
    margin-left: 25%;
  }
  .col-l-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-l-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-l-4 {
    margin-left: 33.3333333333%;
  }
  .col-l-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-l-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-l-5 {
    margin-left: 41.6666666667%;
  }
  .col-l-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-l-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-l-6 {
    margin-left: 50%;
  }
  .col-l-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-l-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-l-7 {
    margin-left: 58.3333333333%;
  }
  .col-l-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-l-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-l-8 {
    margin-left: 66.6666666667%;
  }
  .col-l-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-l-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-l-9 {
    margin-left: 75%;
  }
  .col-l-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-l-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-l-10 {
    margin-left: 83.3333333333%;
  }
  .col-l-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-l-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-l-11 {
    margin-left: 91.6666666667%;
  }
  .col-l-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-l-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-l-12 {
    margin-left: 100%;
  }
}
@media (min-width: 1400px) {
  .col-offset-xl-0 {
    margin-left: 0;
  }
  .col-xl-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-xl-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .col-xl-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-xl-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .col-xl-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-xl-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-xl-3 {
    margin-left: 25%;
  }
  .col-xl-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-xl-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .col-xl-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-xl-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .col-xl-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-xl-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-xl-6 {
    margin-left: 50%;
  }
  .col-xl-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-xl-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .col-xl-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-xl-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .col-xl-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-xl-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-xl-9 {
    margin-left: 75%;
  }
  .col-xl-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-xl-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .col-xl-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-xl-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-xl-11 {
    margin-left: 91.6666666667%;
  }
  .col-xl-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-xl-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-xl-12 {
    margin-left: 100%;
  }
}
@media (min-width: 2000px) {
  .col-offset-xxl-0 {
    margin-left: 0;
  }
  .col-xxl-1 {
    width: 8.3333333333%;
  }
  .flexbox .row-flex .col-xxl-1 {
    -ms-flex-preferred-size: 8.3333333333%;
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-offset-xxl-1 {
    margin-left: 8.3333333333%;
  }
  .col-xxl-2 {
    width: 16.6666666667%;
  }
  .flexbox .row-flex .col-xxl-2 {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-offset-xxl-2 {
    margin-left: 16.6666666667%;
  }
  .col-xxl-3 {
    width: 25%;
  }
  .flexbox .row-flex .col-xxl-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-offset-xxl-3 {
    margin-left: 25%;
  }
  .col-xxl-4 {
    width: 33.3333333333%;
  }
  .flexbox .row-flex .col-xxl-4 {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-offset-xxl-4 {
    margin-left: 33.3333333333%;
  }
  .col-xxl-5 {
    width: 41.6666666667%;
  }
  .flexbox .row-flex .col-xxl-5 {
    -ms-flex-preferred-size: 41.6666666667%;
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-offset-xxl-5 {
    margin-left: 41.6666666667%;
  }
  .col-xxl-6 {
    width: 50%;
  }
  .flexbox .row-flex .col-xxl-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-offset-xxl-6 {
    margin-left: 50%;
  }
  .col-xxl-7 {
    width: 58.3333333333%;
  }
  .flexbox .row-flex .col-xxl-7 {
    -ms-flex-preferred-size: 58.3333333333%;
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-offset-xxl-7 {
    margin-left: 58.3333333333%;
  }
  .col-xxl-8 {
    width: 66.6666666667%;
  }
  .flexbox .row-flex .col-xxl-8 {
    -ms-flex-preferred-size: 66.6666666667%;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-offset-xxl-8 {
    margin-left: 66.6666666667%;
  }
  .col-xxl-9 {
    width: 75%;
  }
  .flexbox .row-flex .col-xxl-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-offset-xxl-9 {
    margin-left: 75%;
  }
  .col-xxl-10 {
    width: 83.3333333333%;
  }
  .flexbox .row-flex .col-xxl-10 {
    -ms-flex-preferred-size: 83.3333333333%;
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-offset-xxl-10 {
    margin-left: 83.3333333333%;
  }
  .col-xxl-11 {
    width: 91.6666666667%;
  }
  .flexbox .row-flex .col-xxl-11 {
    -ms-flex-preferred-size: 91.6666666667%;
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-offset-xxl-11 {
    margin-left: 91.6666666667%;
  }
  .col-xxl-12 {
    width: 100%;
  }
  .flexbox .row-flex .col-xxl-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-offset-xxl-12 {
    margin-left: 100%;
  }
}
.double-padded {
  padding: 4vw;
}

.double-padded-lr {
  padding: 0 4vw;
}

ul,
ol {
  margin: 0 0 1em 2em;
}
ul li,
ol li {
  margin-bottom: 0.5em;
}
ul li:last-of-type,
ol li:last-of-type {
  margin-bottom: 0;
}
ul {
  list-style: disc outside;
}
ul ul {
  list-style-type: circle;
}

ol {
  list-style: decimal outside;
}
ol ul {
  list-style-type: circle;
}

dl {
  margin-bottom: 1em;
}

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

.list--inline {
  list-style: none;
  overflow: hidden;
}
.list--inline > li {
  display: block;
  float: left;
  margin-bottom: 0;
  padding: 0.5rem;
}

img {
  max-width: 100%;
}

.image-wrapper {
  margin-bottom: 1.5em;
}
.image-wrapper img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.videoclass {
  max-width: 100%;
  margin-bottom: 1.5em;
}
.videoclass video {
  display: block;
  width: 100%;
  max-width: 100%;
}

.video--responsive {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.video--responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@font-face {
  font-family: "circular";
  src: url("/fonts/Circular-Book.woff2") format("woff2"), url("/fonts/Circular-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "circular";
  src: url("/fonts/Circular-Bold.woff2") format("woff2"), url("/fonts/Circular-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
body {
  color: #45464A;
  font-family: "freight-text-pro", serif;
  font-weight: 400;
  line-height: 1.4;
  font-size: 18px;
  font-feature-settings: "liga", "clig";
  font-variant-numeric: lining-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-variant-ligatures: common-ligatures;
  font-variant-ligatures: common-ligatures;
  -moz-font-feature-settings: "liga", "clig";
  -webkit-font-feature-settings: "liga", "clig";
}
@media (min-width: 1000px) {
  body {
    font-size: 18px;
  }
}
@media (min-width: 1200px) {
  body {
    font-size: 19px;
  }
}
@media (min-width: 1400px) {
  body {
    font-size: 20px;
  }
}
@media (min-width: 1600px) {
  body {
    font-size: 21px;
  }
}
@media (min-width: 1800px) {
  body {
    font-size: 22px;
  }
}
@media (min-width: 2000px) {
  body {
    font-size: 23px;
  }
}
@media (min-width: 2200px) {
  body {
    font-size: 24px;
  }
}

i,
em {
  font-style: italic;
}

b,
strong {
  font-weight: 700;
}

small,
.small {
  line-height: 1.2;
}
@media (min-width: 768px) {
  small,
  .small {
    font-size: 0.75em;
  }
}

p {
  margin-bottom: 1.5em;
  line-height: 1.5;
}

a {
  color: #D35400;
  text-decoration: none;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
a .svg-icon {
  fill: #D35400;
  height: 0.75em;
  -webkit-transition: fill 0.3s ease-in-out;
  transition: fill 0.3s ease-in-out;
}
a:hover {
  color: #F78F1E;
}
a:hover .svg-icon {
  fill: #F78F1E;
}
a.muted {
  color: #898A91;
}
a.muted .svg-icon {
  fill: #898A91;
}
a.muted:hover {
  color: #898A91;
  text-decoration: underline;
}
a.muted:hover .svg-icon {
  fill: #898A91;
}
a.gray {
  color: #45464A;
}
a.gray .svg-icon {
  fill: #45464A;
}
a.gray:hover {
  color: #45464A;
  text-decoration: underline;
}
a.gray:hover .svg-icon {
  fill: #45464A;
}

.alt {
  font-family: "circular", sans-serif;
  font-weight: 400;
}

h1, .h1,
h2, .h2,
h3,
.project-block .title, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  margin: 0 0 0.75em 0;
  color: #202022;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  p.intro {
    font-size: 1.25em;
    line-height: 1.4;
  }
}

.d1 a {
  color: #202022;
  display: inline !important;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.2em, right bottom 0.2em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
}
.d1 a:hover {
  color: #202022;
  background-size: 0% 2px, 100% 0.775em;
  background-position: right bottom 0.2em, left bottom 0.2em;
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
h1 a, .h1 a {
  color: #202022;
  display: inline !important;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.215em, right bottom 0.215em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
}
h1 a:hover, .h1 a:hover {
  color: #202022;
  background-size: 0% 2px, 100% 0.775em;
  background-position: right bottom 0.215em, left bottom 0.215em;
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
h2 a, .h2 a {
  color: #202022;
  display: inline !important;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.15em, right bottom 0.15em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
}
h2 a:hover, .h2 a:hover {
  color: #202022;
  background-size: 0% 2px, 100% 0.775em;
  background-position: right bottom 0.15em, left bottom 0.15em;
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
h3 a, .project-block .title a, .h3 a {
  color: #202022;
  display: inline !important;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.15em, right bottom 0.15em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
}
h3 a:hover, .project-block .title a:hover, .h3 a:hover {
  color: #202022;
  background-size: 0% 2px, 100% 0.775em;
  background-position: right bottom 0.15em, left bottom 0.15em;
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
h4 a, .h4 a {
  color: #202022;
  display: inline !important;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.15em, right bottom 0.15em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
}
h4 a:hover, .h4 a:hover {
  color: #202022;
  background-size: 0% 2px, 100% 0.775em;
  background-position: right bottom 0.15em, left bottom 0.15em;
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
.blog-card h3 span, .blog-card .project-block .title span, .project-block .blog-card .title span {
  color: #202022;
  display: inline !important;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.15em, right bottom 0.15em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
  display: inline-block;
  margin-bottom: 0.125em;
  font-family: "freight-text-pro", serif;
  font-weight: 400;
  position: relative;
  z-index: 2;
}
.blog-card h3 span:hover, .blog-card .project-block .title span:hover, .project-block .blog-card .title span:hover {
  color: #202022;
  background-size: 0% 2px, 100% 0.775em;
  background-position: right bottom 0.15em, left bottom 0.15em;
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
.d2 {
  font-size: 4em;
  line-height: 1.1;
}

.d1 {
  font-weight: 700;
  font-size: 1.6em;
  line-height: 1.1;
  letter-spacing: -0.02em;
  max-width: 16em;
}

h1, .h1 {
  font-weight: 700;
  font-size: 1.6em;
  line-height: 1.1;
}

h2, .h2 {
  font-weight: 700;
  font-size: 1.4em;
}

h3, .project-block .title, .h3, .link-button {
  font-size: 1.25em;
}

h4, .h4 {
  font-weight: 700;
  font-size: 1.25em;
}

h3, .project-block .title, .h3 {
  font-weight: bold;
  font-family: "circular", sans-serif;
  letter-spacing: 0;
}

@media (min-width: 375px) {
  .d2, .l-d2 {
    font-size: 4em;
  }
  .d1, .l-d1 {
    font-size: 1.9em;
  }
  h1, .h1, .l-h1 {
    font-size: 1.6em;
  }
  h2, .h2, .l-h2 {
    font-size: 1.4em;
  }
  h3, .project-block .title, .h3, .l-h3, .link-button {
    font-size: 1.25em;
  }
  h4, .h4, .l-h4 {
    font-size: 1.25em;
  }
}
@media (min-width: 1000px) {
  .d2, .l-d2 {
    font-size: 5em;
  }
  .d1, .l-d1 {
    font-size: 2.5em;
  }
  h1, .h1, .l-h1 {
    font-size: 2.2em;
  }
  h2, .h2, .l-h2 {
    font-size: 2em;
  }
  h3, .project-block .title, .h3, .l-h3, .link-button {
    font-size: 1.25em;
  }
  h4, .h4, .l-h4 {
    font-size: 1.25em;
  }
}
@media (min-width: 1400px) {
  .d2, .xl-d2 {
    font-size: 6.6em;
  }
  .d1, .xl-d1 {
    font-size: 3.1em;
  }
  h1, .h1, .xl-h1 {
    font-size: 2.8em;
  }
  h2, .h2, .xl-h2 {
    font-size: 2.5em;
  }
  h3, .project-block .title, .h3, .xl-h3, .link-button {
    font-size: 1.25em;
  }
  h4, .h4, .xl-h4 {
    font-size: 1.25em;
  }
}
.blue-variant {
  background-image: -webkit-gradient(linear, left top, right top, from(#3CB1EB), to(#2160C1)), -webkit-gradient(linear, left top, right top, from(#6EFAF5), to(#3CB1EB));
  background-image: linear-gradient(to right, #3CB1EB, #2160C1), linear-gradient(to right, #6EFAF5, #3CB1EB);
}

q,
blockquote {
  display: block;
  margin: 0 0 2em;
  padding: 0 0 0 1em;
  border-left: 4px solid #D1D2D8;
}
q p,
blockquote p {
  font-size: 1.25em;
  margin-bottom: 1em;
}
q cite,
blockquote cite {
  font-family: "circular", sans-serif;
  font-weight: 400;
  color: #898A91;
  line-height: 1;
}
@media (min-width: 768px) {
  q cite,
  blockquote cite {
    font-size: 0.75em;
  }
}
q cite .name,
blockquote cite .name {
  display: block;
  color: #45464A;
}
q.quotes,
blockquote.quotes {
  display: inline-block;
}
q.quotes:before,
blockquote.quotes:before {
  content: "“";
}
q.quotes:after,
blockquote.quotes:after {
  content: "”";
}
q *:last-child,
blockquote *:last-child {
  margin-bottom: 0;
}

pre,
code {
  margin: 0;
  direction: ltr;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  color: #45464A;
  text-align: left;
  font-size: 0.8rem;
  font-weight: normal;
  line-height: 1.5;
  text-decoration: none;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  background: #D1D2D8;
  border-radius: 3px;
}
pre .comment,
code .comment {
  color: #898A91;
}

pre {
  padding: 1rem;
  overflow: auto;
}

:not(pre) > code {
  padding: 0.5rem;
  white-space: normal;
}

hr {
  height: 1px;
  margin: 1.25rem 0;
  border: 0;
  background: #D1D2D8;
}

.label {
  font-family: "circular", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75em;
  margin-bottom: 0.5em;
  color: #898A91;
}

.section-label {
  margin-bottom: 3vh;
}

.tags {
  font-family: "circular", sans-serif;
  font-size: 0.75em;
  margin-bottom: 0.5em;
}

nav {
  font-family: "circular", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 0.75em;
  font-size: 0.825em;
}

dl {
  margin-top: 0.25em;
  font-family: "circular", sans-serif;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 768px) {
  dl {
    font-size: 0.75em;
  }
}
dl .label {
  font-size: 100%;
}
dl dt {
  margin-bottom: 0.25em;
}
dl dd {
  margin-bottom: 0.25em;
  line-height: 1.25;
}
dl dd + dt {
  margin-top: 1em;
}
.text-muted {
  color: #45464A;
}

.home-intro-text h1 {
  margin-bottom: 0.5em;
}

.fancyquote {
  font-family: "circular", sans-serif;
  color: #202022;
  position: relative;
  margin: 0 0 2em;
  padding: 0;
  border: none;
}
@media (min-width: 1400px) {
  .project-block-grid .fancyquote {
    top: -2em;
  }
}
.fancyquote p {
  position: relative;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 0.75em;
}
.fancyquote p:before {
  content: "“";
  position: absolute;
  left: -0.5em;
  top: inherit;
}
.fancyquote p:after {
  content: "”";
}
.fancyquote .avatar {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: 0.75em;
  width: 64px;
  height: 64px;
}

.big-ol-num .value {
  font-family: "circular", sans-serif;
  font-weight: 600;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: -0.05em;
  display: block;
}
.big-ol-num .attribute {
  font-family: "circular", sans-serif;
  font-weight: 600;
}
.big-ol-num small {
  display: block;
  font-family: "circular", sans-serif;
  font-weight: 600;
}

[data-reveal] {
  opacity: 0;
  -webkit-transition: opacity 2s ease-in-out 1s, -webkit-transform 2s ease-in-out;
  transition: opacity 2s ease-in-out 1s, -webkit-transform 2s ease-in-out;
  transition: transform 2s ease-in-out, opacity 2s ease-in-out 1s;
  transition: transform 2s ease-in-out, opacity 2s ease-in-out 1s, -webkit-transform 2s ease-in-out;
  will-change: opacity, transform;
}
.inview [data-reveal], [data-reveal].inview {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

[data-fade] {
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out, -webkit-transform 0.8s ease-in-out;
  transition: opacity 1s ease-in-out, -webkit-transform 0.8s ease-in-out;
  transition: transform 0.8s ease-in-out, opacity 1s ease-in-out;
  transition: transform 0.8s ease-in-out, opacity 1s ease-in-out, -webkit-transform 0.8s ease-in-out;
  will-change: opacity, transform;
}
.inview [data-fade], [data-fade].inview {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

[data-fade=up] {
  -webkit-transform: translate3d(0, 50px, 0);
  transform: translate3d(0, 50px, 0);
}

[data-fade=down] {
  -webkit-transform: translate3d(0, -50px, 0);
  transform: translate3d(0, -50px, 0);
}

[data-fade=left] {
  -webkit-transform: translate3d(50px, 0, 0);
  transform: translate3d(50px, 0, 0);
}

[data-fade=right] {
  -webkit-transform: translate3d(-50px, 0, 0);
  transform: translate3d(-50px, 0, 0);
}

[data-clip] {
  -webkit-transition: 0.8s ease-out;
  transition: 0.8s ease-out;
  will-change: clip-path;
}
.inview [data-clip], [data-clip].inview {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}

[data-clip=up] {
  -webkit-clip-path: inset(100% 0 0 0);
  clip-path: inset(100% 0 0 0);
}

[data-clip=down] {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
}

[data-clip=left] {
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

[data-clip=right] {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}

[data-inview-delay="1"] {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

[data-inview-duration="1"] {
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}

[data-inview-delay="2"] {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

[data-inview-duration="2"] {
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

[data-inview-delay="3"] {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

[data-inview-duration="3"] {
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

[data-inview-delay="4"] {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

[data-inview-duration="4"] {
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

[data-inview-delay="5"] {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

[data-inview-duration="5"] {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

[data-inview-delay="6"] {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

[data-inview-duration="6"] {
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
}

[data-inview-delay="7"] {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

[data-inview-duration="7"] {
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
}

[data-inview-delay="8"] {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

[data-inview-duration="8"] {
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

[data-inview-delay="9"] {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

[data-inview-duration="9"] {
  -webkit-transition-duration: 0.9s;
  transition-duration: 0.9s;
}

[data-inview-delay="10"] {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

[data-inview-duration="10"] {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
}

[data-inview-delay="11"] {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

[data-inview-duration="11"] {
  -webkit-transition-duration: 1.1s;
  transition-duration: 1.1s;
}

[data-inview-delay="12"] {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

[data-inview-duration="12"] {
  -webkit-transition-duration: 1.2s;
  transition-duration: 1.2s;
}

[data-inview-delay="13"] {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}

[data-inview-duration="13"] {
  -webkit-transition-duration: 1.3s;
  transition-duration: 1.3s;
}

[data-inview-delay="14"] {
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s;
}

[data-inview-duration="14"] {
  -webkit-transition-duration: 1.4s;
  transition-duration: 1.4s;
}

[data-inview-delay="15"] {
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

[data-inview-duration="15"] {
  -webkit-transition-duration: 1.5s;
  transition-duration: 1.5s;
}

[data-inview-delay="16"] {
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s;
}

[data-inview-duration="16"] {
  -webkit-transition-duration: 1.6s;
  transition-duration: 1.6s;
}

[data-inview-delay="17"] {
  -webkit-transition-delay: 1.7s;
  transition-delay: 1.7s;
}

[data-inview-duration="17"] {
  -webkit-transition-duration: 1.7s;
  transition-duration: 1.7s;
}

[data-inview-delay="18"] {
  -webkit-transition-delay: 1.8s;
  transition-delay: 1.8s;
}

[data-inview-duration="18"] {
  -webkit-transition-duration: 1.8s;
  transition-duration: 1.8s;
}

[data-inview-delay="19"] {
  -webkit-transition-delay: 1.9s;
  transition-delay: 1.9s;
}

[data-inview-duration="19"] {
  -webkit-transition-duration: 1.9s;
  transition-duration: 1.9s;
}

[data-inview-delay="20"] {
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

[data-inview-duration="20"] {
  -webkit-transition-duration: 2s;
  transition-duration: 2s;
}

[data-inview-delay="21"] {
  -webkit-transition-delay: 2.1s;
  transition-delay: 2.1s;
}

[data-inview-duration="21"] {
  -webkit-transition-duration: 2.1s;
  transition-duration: 2.1s;
}

[data-inview-delay="22"] {
  -webkit-transition-delay: 2.2s;
  transition-delay: 2.2s;
}

[data-inview-duration="22"] {
  -webkit-transition-duration: 2.2s;
  transition-duration: 2.2s;
}

[data-inview-delay="23"] {
  -webkit-transition-delay: 2.3s;
  transition-delay: 2.3s;
}

[data-inview-duration="23"] {
  -webkit-transition-duration: 2.3s;
  transition-duration: 2.3s;
}

[data-inview-delay="24"] {
  -webkit-transition-delay: 2.4s;
  transition-delay: 2.4s;
}

[data-inview-duration="24"] {
  -webkit-transition-duration: 2.4s;
  transition-duration: 2.4s;
}

[data-inview-delay="25"] {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s;
}

[data-inview-duration="25"] {
  -webkit-transition-duration: 2.5s;
  transition-duration: 2.5s;
}

[data-inview-delay="26"] {
  -webkit-transition-delay: 2.6s;
  transition-delay: 2.6s;
}

[data-inview-duration="26"] {
  -webkit-transition-duration: 2.6s;
  transition-duration: 2.6s;
}

[data-inview-delay="27"] {
  -webkit-transition-delay: 2.7s;
  transition-delay: 2.7s;
}

[data-inview-duration="27"] {
  -webkit-transition-duration: 2.7s;
  transition-duration: 2.7s;
}

[data-inview-delay="28"] {
  -webkit-transition-delay: 2.8s;
  transition-delay: 2.8s;
}

[data-inview-duration="28"] {
  -webkit-transition-duration: 2.8s;
  transition-duration: 2.8s;
}

[data-inview-delay="29"] {
  -webkit-transition-delay: 2.9s;
  transition-delay: 2.9s;
}

[data-inview-duration="29"] {
  -webkit-transition-duration: 2.9s;
  transition-duration: 2.9s;
}

[data-inview-delay="30"] {
  -webkit-transition-delay: 3s;
  transition-delay: 3s;
}

[data-inview-duration="30"] {
  -webkit-transition-duration: 3s;
  transition-duration: 3s;
}

.no-js [data-inview],
.lt-ie10 [data-inview] {
  opacity: 1 !important;
  -webkit-transform: none !important;
  transform: none !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
}

/* Project Block */
.project-block .title {
  display: inline-block;
  margin-bottom: 0.125em;
  font-family: "freight-text-pro", serif;
  font-weight: 400;
  position: relative;
  z-index: 2;
}
.project-block .tags {
  display: block;
  margin-top: 0.5em;
  font-weight: bold;
}
@media (min-width: 768px) {
  .project-block .tags {
    font-size: 0.625em;
  }
}
@media (min-width: 1000px) {
  .project-block .tags {
    float: right;
  }
}
.project-block p {
  margin-bottom: 1em;
  color: #45464A;
  -webkit-transition: all 280ms ease-in-out;
  transition: all 280ms ease-in-out;
  max-width: 32em;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .project-block p {
    font-size: 0.825em;
  }
}
.project-block .shape-holder {
  width: 100%;
  height: 100%;
  z-index: -2;
}
.project-block .project-block-shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.project-block .shape {
  position: absolute;
  width: 80%;
  height: 0;
  padding-bottom: 80%;
  content: "";
  top: 60%;
  left: 60%;
  margin: -50% 0 0 -50%;
  z-index: -1;
  border-radius: 50%;
  border: 2px solid transparent;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 100ms ease-in-out;
  transition: all 100ms ease-in-out;
}
.project-block .project-thumbnail-image {
  -webkit-transition: -webkit-box-shadow 360ms ease-in-out;
  transition: -webkit-box-shadow 360ms ease-in-out;
  transition: box-shadow 360ms ease-in-out;
  transition: box-shadow 360ms ease-in-out, -webkit-box-shadow 360ms ease-in-out;
  height: 0;
  padding-top: 75%;
  margin-bottom: 0.75em;
  position: relative;
  overflow: hidden;
}
.project-block .project-thumbnail-image img,
.project-block .project-thumbnail-image video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}
.project-block a {
  display: block;
}
.project-block a .title:before {
  content: "";
  position: absolute;
  width: 100%;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  height: 2px;
  bottom: 0.05em;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400));
  background: linear-gradient(90deg, #F78F1E 0%, #D35400 100%);
  -webkit-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition: -webkit-transform 400ms ease-in-out;
  transition: -webkit-transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out, -webkit-transform 400ms ease-in-out;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
  z-index: -1;
}
.project-block a .title:after {
  content: "";
  position: absolute;
  width: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  height: 2px;
  bottom: 0.05em;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background: linear-gradient(90deg, #FFDB5E 0%, #F78F1E 100%);
  -webkit-transform-origin: top right;
  transform-origin: top right;
  -webkit-transition: -webkit-transform 400ms ease-in-out;
  transition: -webkit-transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out, -webkit-transform 400ms ease-in-out;
  z-index: -1;
}
.project-block a:hover .title:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: top right;
  transform-origin: top right;
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms;
}
.project-block a:hover .title:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.project-block a:hover .shape {
  -webkit-transition: all 900ms ease-in-out, opacity 900ms ease-in-out, border-color 600ms ease-in-out;
  transition: all 900ms ease-in-out, opacity 900ms ease-in-out, border-color 600ms ease-in-out;
  -webkit-transform: scale(1);
  transform: scale(1);
  border-color: #D1D2D8;
}

button,
input[type=submit],
input[type=reset],
input[type=button],
.button {
  display: inline-block;
  color: #D35400;
  line-height: 1;
  font-family: "circular", sans-serif;
  font-weight: 600;
  font-size: 1em;
  font-weight: normal;
  margin-bottom: 0.5em;
  padding: 1em 1.5em 1em;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
  border: 2px solid #D35400;
  border-radius: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button:hover, button:focus,
input[type=submit]:hover,
input[type=submit]:focus,
input[type=reset]:hover,
input[type=reset]:focus,
input[type=button]:hover,
input[type=button]:focus,
.button:hover,
.button:focus {
  text-decoration: none;
  color: #F78F1E;
  border: 2px solid #F78F1E;
}
button:disabled,
input[type=submit]:disabled,
input[type=reset]:disabled,
input[type=button]:disabled,
.button:disabled {
  color: #D1D2D8 !important;
  background-color: transparent;
  border-color: #D1D2D8 !important;
  pointer-events: none !important;
}

.link-button-wrapper {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
h2 + .link-button-wrapper, p + .link-button-wrapper {
  margin-top: -1em;
}

.link-button {
  display: inline-block;
  color: #D35400;
  line-height: 1;
  font-family: "circular", sans-serif;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  border-radius: 0;
  padding: 0;
  margin: 1em 0.5em;
  text-align: left;
  position: relative;
  cursor: pointer;
  -webkit-transition: color 600ms ease-in-out;
  transition: color 600ms ease-in-out;
  white-space: nowrap;
}
.link-button:before {
  content: "";
  position: absolute;
  width: 100%;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  height: 2px;
  bottom: -0.333em;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400));
  background: linear-gradient(90deg, #F78F1E 0%, #D35400 100%);
  background: #D35400;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition: -webkit-transform 400ms ease-in-out;
  transition: -webkit-transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out, -webkit-transform 400ms ease-in-out;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
  z-index: 1;
}
.link-button:after {
  content: "";
  position: absolute;
  width: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  height: 2px;
  bottom: -0.333em;
  left: 0;
  background: #F78F1E;
  -webkit-transform-origin: top right;
  transform-origin: top right;
  -webkit-transition: -webkit-transform 400ms ease-in-out;
  transition: -webkit-transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out;
  transition: transform 400ms ease-in-out, -webkit-transform 400ms ease-in-out;
  z-index: 2;
}
.link-button:hover {
  color: #F78F1E;
}
.link-button:hover:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: top right;
  transform-origin: top right;
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms;
}
.link-button:hover:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: top left;
  transform-origin: top left;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}

.carousel-cell {
  max-width: 100%;
}
.carousel-cell img {
  display: block;
  max-width: 100%;
}
@media (min-width: 1000px) {
  .carousel-cell {
    max-width: 75%;
  }
}

@media (min-width: 1000px) {
  .flickity-page-dots {
    display: none;
  }
}

.contact-cta-illo {
  display: block;
  position: relative;
  width: 100%;
}
.contact-cta-illo:after {
  content: "";
  display: block;
  padding-top: 100%;
}

.contact-cta-layers {
  position: absolute;
  width: 100%;
  height: 100%;
}
.contact-cta-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.contact-cta-layers > div > div svg {
  width: 100%;
  height: 100%;
}
.contact-cta-layers > div > div svg > polygon,
.contact-cta-layers > div > div svg > rect,
.contact-cta-layers > div > div svg > circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}

.footer-badges {
  margin-bottom: 1em;
}

.social-nav {
  font-size: 1em;
  margin: 0 -0.5em;
  position: relative;
}
.social-nav a {
  padding: 0.5em;
}
@media (max-width: 767px) {
  .social-nav {
    font-size: 1.5em;
    margin-bottom: 0.75em;
  }
}

@media (max-width: 767px) {
  .contact-cta-text {
    position: absolute;
    max-width: 75%;
  }
  .contact-cta-illo {
    position: relative;
    right: -50vw;
  }
}
.contact-square {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: binary-orbit1;
  animation-name: binary-orbit1;
}
@media (max-width: 1399px) {
  .contact-square.no-hover {
    -webkit-animation-play-state: running;
    animation-play-state: running;
    stroke: url("#blue3-blue4");
  }
}
.contact-square.warp-speed {
  -webkit-animation-play-state: running;
  animation-play-state: running;
  stroke: url("#blue3-blue4");
}

.contact-circle {
  -webkit-transition: all 300ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  transition: all 300ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  -webkit-transform: scale(0.75);
  transform: scale(0.75);
}
@media (max-width: 1399px) {
  .contact-circle.no-hover {
    -webkit-transform: scale(1);
    transform: scale(1);
    stroke: url("#green2-green3");
  }
}
.contact-circle.warp-speed {
  -webkit-transform: scale(1);
  transform: scale(1);
  stroke: url("#green2-green3");
}

@-webkit-keyframes binary-orbit1 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes binary-orbit1 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
header {
  padding: 6vw 0 0;
  position: relative;
  z-index: 3;
}
header nav {
  float: right;
}
@media (max-width: 999px) {
  header nav {
    display: none;
  }
}
header .hamburger {
  float: right;
  width: 2.5em;
  height: 2.5em;
  padding: 0.5em;
  top: -0.5em;
  right: -0.5em;
  position: relative;
  overflow: hidden;
  display: inline-block;
  cursor: pointer;
}
header .hamburger .hamburger-label {
  position: absolute;
  left: 100%;
}
header .hamburger .hamburger-box {
  width: 100%;
  height: 100%;
  position: relative;
}
header .hamburger .hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}
header .hamburger .hamburger-inner, header .hamburger .hamburger-inner::before, header .hamburger .hamburger-inner::after {
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)) right center no-repeat;
  background: linear-gradient(to right, #F78F1E, #D35400) right center no-repeat;
  background-size: 100% 2px;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.15s;
  transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
header .hamburger .hamburger-inner::before, header .hamburger .hamburger-inner::after {
  content: "";
  display: block;
}
header .hamburger .hamburger-inner::before {
  top: -8px;
}
header .hamburger .hamburger-inner::after {
  bottom: -8px;
}
@media (min-width: 1000px) {
  header .hamburger {
    display: none;
  }
}
header .hamburger--spin .hamburger-inner {
  -webkit-transition-duration: 0.22s;
  transition-duration: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
header .hamburger--spin .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
header .hamburger--spin .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
header .hamburger--spin.is-active .hamburger-inner {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  -webkit-transition-delay: 0.12s;
  transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
header .hamburger--spin.is-active .hamburger-inner::before {
  background: -webkit-gradient(linear, right top, left top, from(#F78F1E), to(#D35400)) right center no-repeat;
  background: linear-gradient(to left, #F78F1E, #D35400) right center no-repeat;
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
header .hamburger--spin.is-active .hamburger-inner::after {
  background: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#FFDB5E)) right center no-repeat;
  background: linear-gradient(to right, #F78F1E, #FFDB5E) right center no-repeat;
  bottom: 0;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
header .logo {
  display: inline-block;
  position: relative;
}
@media (min-width: 768px) {
  header .logo {
    top: -0.25em;
  }
}
@media (min-width: 1000px) {
  header .logo {
    top: -0.55em;
  }
}
header .logo svg {
  height: 2em;
  vertical-align: baseline;
}

#nav {
  display: none;
}
@media (max-width: 999px) {
  #nav {
    position: fixed;
    z-index: 2;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    background: #FAFAFA;
    top: 0;
    left: 0;
    padding: 20vw 0;
  }
  #nav.open {
    display: block;
  }
  #nav .footer-nav--main {
    font-size: 1.75em;
    margin: 1em 0;
  }
  #nav .footer-nav--utility {
    font-size: 1.25em;
  }
  #nav a {
    display: block;
    padding: 0.5em 0;
    color: #45464A;
  }
  #nav a.active {
    color: #898A91;
  }
  #nav a:hover, #nav a:active {
    color: #898A91;
  }
}

.inline-nav {
  margin: -2vw;
  position: relative;
}
@media (min-width: 768px) {
  .inline-nav {
    margin: 0 -0.8888888889vw;
  }
}
.inline-nav a {
  padding: 1em 2vw;
  color: #202022;
}
@media (min-width: 768px) {
  .inline-nav a {
    padding: 1em 0.8888888889vw;
  }
}
.inline-nav a span {
  position: relative;
}
.inline-nav a span:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -10px;
  left: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 0% 100%, 0% 100%;
  background-position: right bottom, right bottom;
  background-repeat: no-repeat;
  -webkit-transition: background-size 300ms, color 400ms;
  transition: background-size 300ms, color 400ms;
  will-change: background-size, background-position, color;
}
@media (max-width: 999px) {
  .inline-nav a span:after {
    bottom: -5px;
  }
}
.inline-nav a.active span:after {
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400));
  background-image: linear-gradient(to right, #F78F1E, #D35400);
  background-size: 100% 100%, 0% 100%;
  background-position: left bottom, right bottom;
  background-repeat: no-repeat;
}
@media (pointer: fine) {
  .inline-nav a:hover span:after, .inline-nav a:active span:after {
    background-image: -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
    background-image: linear-gradient(to right, #FFDB5E, #F78F1E);
    background-size: 100% 100%, 0% 100%;
    background-position: left bottom, right bottom;
    background-repeat: no-repeat;
    -webkit-transition-duration: 200ms;
    transition-duration: 200ms;
    -webkit-transition-delay: 50ms;
    transition-delay: 50ms;
  }
}
.inline-nav .line {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -10px;
  left: 1vw;
  background: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400));
  background: linear-gradient(90deg, #F78F1E 0%, #D35400 100%);
  z-index: -1;
}
.inline-nav .line.activated {
  -webkit-transition: all 350ms ease-in-out;
  transition: all 350ms ease-in-out;
}

.intro-nav {
  margin-bottom: 4vh;
}

.pagination {
  display: inline-block;
  padding: 0;
  margin: 8px 0;
}
.pagination li {
  display: inline;
}
.pagination li a, .pagination li span {
  color: black;
  float: left;
  padding: 8px 16px;
  text-decoration: none;
}
.pagination li span.active {
  background-color: #f44336;
  color: white;
}

.section--404 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 10vw;
}

.sf-block {
  margin: 10vw auto;
}

.sf-mini-block {
  margin: 6vw auto;
}

.sf-micro-block {
  margin: 2vw auto;
}

.sf-maxi-block {
  margin: 12vh auto;
}
@media (min-width: 768px) {
  .sf-maxi-block {
    margin: 16vh auto;
  }
}

.padtop {
  padding-top: 6vw;
}

.padbottom {
  padding-bottom: 6vw;
}

.sf-intro-block {
  margin: 10vh auto 6vw;
}
.sf-intro-block p:last-of-type:last-child {
  margin-bottom: 0;
}

.sf-projects-intro-block {
  margin: 10vh auto 6vw;
}
.sf-projects-intro-block .intro-nav {
  margin-top: 4vh;
}

.sf-services-intro-block {
  margin: 10vh auto 6vw;
}
.sf-contact-cta > div {
  position: relative;
}
@media (min-width: 768px) {
  .sf-contact-cta .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

.text-block-header {
  margin-bottom: 4vw;
}

.text-block-grid .col {
  margin-bottom: 4vw;
}
.text-block-grid p + ul {
  margin-top: -0.5em;
}
.text-block-grid ul {
  margin-left: 0;
  list-style: none;
}
.text-block-grid ul a {
  font-family: "circular", sans-serif;
}

.project-block-grid .project-block {
  margin-bottom: 10vh;
}

.numbered-text-block-grid {
  counter-reset: principles 0;
}
.numbered-text-block-grid > .col:before {
  counter-increment: principles 1;
  content: counter(principles, upper-roman);
  font-size: 1em;
  line-height: 1.5;
  color: #45464A;
}
@media (min-width: 1000px) {
  .numbered-text-block-grid > .col:before {
    content: counter(principles, upper-roman) " —";
    position: absolute;
    right: 100%;
    top: 0;
    margin-right: -0.75em;
    text-align: right;
    width: 4em;
  }
}

.square-aspect-ratio {
  display: block;
  position: relative;
  width: 100%;
}
.square-aspect-ratio:after {
  content: "";
  display: block;
  padding-top: 100%;
}

.image {
  position: relative;
  width: 100%;
  margin-bottom: 1.5em;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.image img {
  width: 100%;
  height: auto;
}
.image.image--small {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.image.image--small img {
  width: 100%;
  height: auto;
}
.image.image--large {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
}
.image.image--large img {
  width: 100%;
  height: auto;
}
.image.image--small.image--right {
  float: right;
  margin: 0 0 1.625rem 30px;
  position: relative;
  width: 50%;
  aspect-ratio: 5/7;
}
.image.image--small.image--right.aspect-ratio-7-5 {
  aspect-ratio: 5/7;
}
.image.image--small.image--right.aspect-ratio-4-3 {
  aspect-ratio: 3/4;
}
.image.image--small.image--right.aspect-ratio-3-2 {
  aspect-ratio: 2/3;
}
.image.image--small.image--right.aspect-ratio-16-9 {
  aspect-ratio: 9/16;
}
.image.image--small.image--right img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.image.image--small.image--left {
  float: left;
  margin: 0px 30px 1.625rem 0px;
  position: relative;
  padding-bottom: 1.625rem;
  width: 50%;
  aspect-ratio: 5/7;
}
.image.image--small.image--left.aspect-ratio-7-5 {
  aspect-ratio: 5/7;
}
.image.image--small.image--left.aspect-ratio-4-3 {
  aspect-ratio: 3/4;
}
.image.image--small.image--left.aspect-ratio-3-2 {
  aspect-ratio: 2/3;
}
.image.image--small.image--left.aspect-ratio-16-9 {
  aspect-ratio: 9/16;
}
.image.image--small.image--left img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.blog-content figure img {
  width: 100%;
}

.blog-content figcaption {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.2;
  text-align: center;
  color: #45464A;
  padding-top: 10px;
}

.sf-project-intro-block {
  margin: 15vh auto 6vw;
}
.sf-project-intro-block .d1 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.sf-project-intro-block p:last-of-type {
  margin-bottom: 0;
}

.sf-project-featured-image {
  display: block;
  width: 100%;
}

.full-bleed-image img {
  width: 100%;
  height: auto;
}

.fake-browser {
  padding-top: 2.5vw;
  background: #FEFEFE;
  -webkit-box-shadow: 0 1px 8px 0 rgba(10, 10, 10, 0.04), 0 3px 12px 0 rgba(10, 10, 10, 0.03), 0 6px 14px 0 rgba(10, 10, 10, 0.02), 0 9px 18px 0 rgba(10, 10, 10, 0.01);
  box-shadow: 0 1px 8px 0 rgba(10, 10, 10, 0.04), 0 3px 12px 0 rgba(10, 10, 10, 0.03), 0 6px 14px 0 rgba(10, 10, 10, 0.02), 0 9px 18px 0 rgba(10, 10, 10, 0.01);
  border-radius: 1vw 1vw 0 0;
}
.fake-browser .videoclass,
.fake-browser .image-wrapper {
  margin-bottom: 0;
}

.rounded-dropshadow {
  -webkit-box-shadow: 0 1px 8px 0 rgba(10, 10, 10, 0.04), 0 3px 12px 0 rgba(10, 10, 10, 0.03), 0 6px 14px 0 rgba(10, 10, 10, 0.02), 0 9px 18px 0 rgba(10, 10, 10, 0.01);
  box-shadow: 0 1px 8px 0 rgba(10, 10, 10, 0.04), 0 3px 12px 0 rgba(10, 10, 10, 0.03), 0 6px 14px 0 rgba(10, 10, 10, 0.02), 0 9px 18px 0 rgba(10, 10, 10, 0.01);
  border-radius: 1vw;
  overflow: hidden;
}
.rounded-dropshadow .videoclass,
.rounded-dropshadow .image-wrapper {
  margin-bottom: 0;
}

.related-link .related-link-heading {
  margin-bottom: 0.25em;
}

.light-phone {
  position: relative;
  margin-bottom: 1em;
}
.light-phone > div {
  padding: 29.0502793% 5.3072626%;
}
.light-phone img {
  display: block;
  width: 100%;
  height: auto;
}
.light-phone:before {
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 1vw;
  left: 0;
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-filter: blur(2.5em);
  filter: blur(2.5em);
}
.light-phone .videoclass,
.light-phone .image-wrapper {
  margin-bottom: 0;
}
.light-phone:after {
  content: url("/app/img/light-phone.svg");
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

.dark-notch-phone {
  position: relative;
  margin-bottom: 1em;
  padding: 6.088992974%;
}
.dark-notch-phone img {
  display: block;
}
.dark-notch-phone:before {
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 1vw;
  left: 0;
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-filter: blur(2.5em);
  filter: blur(2.5em);
}
.dark-notch-phone .videoclass,
.dark-notch-phone .image-wrapper {
  margin-bottom: 0;
}
.dark-notch-phone:after {
  content: "";
  background-image: url("/app/img/dark-notch-phone.svg");
  background-size: 100% 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.dark-ipad-pro {
  position: relative;
  margin-bottom: 1em;
  padding: 3.5690007%;
}
.dark-ipad-pro img {
  display: block;
}
.dark-ipad-pro:before {
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 1vw;
  left: 0;
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-filter: blur(2.5em);
  filter: blur(2.5em);
}
.dark-ipad-pro .videoclass,
.dark-ipad-pro .image-wrapper {
  margin-bottom: 0;
}
.dark-ipad-pro:after {
  content: "";
  background-image: url("/app/img/black-ipad-pro.svg");
  background-size: 100% 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.white-ipad-mini {
  position: relative;
  margin-bottom: 1em;
  padding: 3.5321821% 9.811617%;
}
.white-ipad-mini img {
  display: block;
}
.white-ipad-mini:before {
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 1vw;
  left: 0;
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-filter: blur(2.5em);
  filter: blur(2.5em);
}
.white-ipad-mini .videoclass,
.white-ipad-mini .image-wrapper {
  margin-bottom: 0;
}
.white-ipad-mini:after {
  content: "";
  background-image: url("/app/img/white-ipad-mini.svg");
  background-size: 100% 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.disco {
  position: relative;
}
.disco:after {
  content: "";
  position: absolute;
  width: 200%;
  height: 0;
  padding-top: 200%;
  top: 50%;
  left: 50%;
  margin: -100% 0 0 -100%;
  z-index: -1;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transition: all 600ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  transition: all 600ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
}

.sf-contact-form {
  margin: 2vh 0;
}
.sf-contact-form .form-success-box {
  border: 2px solid #EFF0F2;
  padding: 1.5rem;
}
.sf-contact-form .form-success-box .row:last-of-type .form-success-box__text {
  margin: 0;
}
.sf-contact-form .form-success-box__label {
  color: #898A91;
  line-height: 1.25;
}
.sf-contact-form .form-success-box__text {
  color: #111112;
}
.sf-contact-form.is-sending {
  pointer-events: none;
}
.sf-contact-form.is-sending .row {
  opacity: 0.5;
}
.sf-contact-form.is-sending button {
  color: #898A91 !important;
  border-color: #898A91 !important;
}
.sf-contact-form .message--error {
  display: block;
  margin-top: 0.25rem;
  line-height: 1;
  color: #D35400;
}

.location-block {
  margin: 0 0 1em;
}
.location-block h2 {
  margin: 0;
}
.location-block p {
  margin: 0.5em 0 0;
}

#about-lax {
  margin-bottom: 50%;
}
#about-lax img {
  display: block;
}

.sf-client-intro-block .d1 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

@media (min-width: 768px) {
  .client-list {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 2vw;
    -moz-column-gap: 2vw;
    column-gap: 2vw;
  }
}
@media (min-width: 1000px) {
  .client-list {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
  }
}
@media (min-width: 1400px) {
  .client-list {
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
  }
}

.sf-home-intro-block {
  margin: 12vh auto;
}
.sf-home-intro-block .home-intro-text {
  z-index: 1;
}
.sf-home-intro-block .home-intro-text h2 {
  margin-bottom: 0.25em;
}
@media (min-width: 768px) {
  .sf-home-intro-block .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

.sf-home-transition-block {
  margin: 20vh auto;
  z-index: 1;
}

.projects-and-quotes .project-block {
  margin-top: 2vh;
  margin-bottom: 2vh;
}
.projects-and-quotes .fancyquote {
  text-align: center;
  margin: 10vh 2vw;
}
.projects-and-quotes .fancyquote p:before {
  position: static;
}
.projects-and-quotes .fancyquote .avatar {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .projects-and-quotes > div:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .projects-and-quotes > div:nth-child(2) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .projects-and-quotes > div:nth-child(3) {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
  }
  .projects-and-quotes > div:nth-child(4) {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
  .projects-and-quotes > div:nth-child(5) {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
  }
  .projects-and-quotes > div:nth-child(6) {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
  }
}
@media (max-width: 767px) {
  .projects-and-quotes .more-projects {
    margin-top: 10vh;
    margin-bottom: 20vh;
  }
}

/* Featured Project */
.fp-image-link {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 1em;
}
.fp-image-link:after {
  content: "";
  display: block;
  padding-top: 100%;
}

.fp-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fp-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.fp-image-layers .bg-layer2 svg {
  width: 90%;
  height: 90%;
  position: absolute;
  top: 5%;
  left: 5%;
  -webkit-animation: likearecordbaby 20s linear infinite paused;
  animation: likearecordbaby 20s linear infinite paused;
}
.fp-image-layers .bg-layer2 svg rect {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.fp-image-layers .bg-layer svg {
  width: 90%;
  height: 90%;
  position: absolute;
  top: 5%;
  left: 5%;
  -webkit-transform: rotate(21deg);
  transform: rotate(21deg);
}
.fp-image-layers .photo-layer,
.fp-image-layers .photo-wrapper,
.fp-image-layers .photo-wrapper div {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.fp-image-layers .photo-layer img {
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  transition: -webkit-transform 400ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  transition: transform 400ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  transition: transform 400ms cubic-bezier(0.605, -0.005, 0.235, 1.39), -webkit-transform 400ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  max-width: unset;
  width: 120%;
  height: 120%;
  position: absolute;
  top: -10%;
  left: -10%;
}
.fp-image-layers .loupe-layer svg {
  -webkit-transition: all 200ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  transition: all 200ms cubic-bezier(0.605, -0.005, 0.235, 1.39);
  width: 120%;
  height: 120%;
  position: absolute;
  top: -10%;
  left: -10%;
}
.fp-image-layers .loupe-layer svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}

.fp-image-layers.hover-enabled .bg-layer2 svg {
  -webkit-animation-play-state: running;
  animation-play-state: running;
}
.fp-image-layers.hover-enabled .photo-layer img {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}
.fp-image-layers.hover-enabled .loupe-layer svg {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

@-webkit-keyframes likearecordbaby {
  0% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
  100% {
    -webkit-transform: rotate(390deg);
    transform: rotate(390deg);
  }
}

@keyframes likearecordbaby {
  0% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
  100% {
    -webkit-transform: rotate(390deg);
    transform: rotate(390deg);
  }
}
.hero-transition-heading {
  margin: 0;
}
.hero-transition-heading:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12.5vh;
  width: 2px;
  height: 8vh;
  background: #111112;
  margin-left: -1px;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

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

.max-w-screen-xl {
  max-width: 1280px !important;
}

@media (max-width: 768px) {
  .max-w-screen-xl {
    max-width: 100% !important;
    padding: 0 !important;
  }
}
.simple-text {
  color: #D35400;
}

.author-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.blog-header-one .author-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.author-image {
  width: 56px;
  height: 56px;
}

.author-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 0px;
  gap: 8px;
  padding-left: 1rem;
}

.author-name {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  color: #45464A;
}

.post-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.post-date {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  color: #45464A;
}

.post-date::after {
  content: "-";
  margin: 0 0.5rem;
  color: #D1D2D8;
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
}

.post-readtime {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  color: #45464A;
}

.blog-header-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0px;
  gap: 56px;
}

.blog-header {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-template-areas: "user content";
  padding: 42px 48px;
  grid-gap: 100px;
  border-width: 1px 0px;
  border-style: solid;
  border-color: #D1D2D8;
}

.blog-header-one {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-template-areas: "user";
  padding: 42px 48px;
  grid-gap: 48px;
  border-width: 1px 0px;
  border-style: solid;
  border-color: #D1D2D8;
}

/* 
  ##Device = Tablets, Ipads (portrait)
  ##Screen = B/w 768px to 1024px
*/
@media (min-width: 768px) and (max-width: 1024px) {
  /* CSS */
  .author-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .blog-header-one .author-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .blog-header {
    width: 100%;
    grid-template-rows: repeat(auto, 1fr);
    grid-template-areas: "user" "content";
    padding: 20px 0px;
    grid-gap: 28px;
    text-align: left;
  }
  .blog-header-one {
    width: 100%;
    grid-template-rows: repeat(auto, 1fr);
    grid-template-areas: "user";
    padding: 20px 0px;
    grid-gap: 28px;
    text-align: left;
  }
}
@media (max-width: 768px) {
  .author-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .blog-header-one .author-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .blog-header {
    grid-template-rows: repeat(auto, 1fr);
    grid-template-areas: "user" "content";
    padding: 20px 0px;
    grid-gap: 28px;
    text-align: left;
  }
  .blog-header-one {
    grid-template-rows: repeat(auto, 1fr);
    grid-template-areas: "user";
    padding: 20px 0px;
    grid-gap: 28px;
    text-align: left;
  }
  .blog-header-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0px;
    gap: 28px;
  }
}
.mb-0 {
  margin-bottom: 0 !important;
}

.blog-title-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.sf-blog-section-block {
  margin: 5vh auto 7vw;
}

.blog-summary {
  font-family: "FreightText Book", serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  color: #45464A;
}

@media (max-width: 768px) {
  .blog-summary {
    font-family: "FreightText Book", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: #45464A;
  }
  .blog-title-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    text-align: left;
    gap: 16px;
    width: 100%;
  }
}
.blog-feature-image-section {
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 56.25%;
}

.blog-feature-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.blog-content-image {
  margin-top: 2rem;
}

.blog-user-name {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2;
  color: #202022;
}

.blog-user-image {
  width: 152px;
  height: 152px;
}

.blog-user-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 56px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 42px 48px;
  border-width: 1px 0px;
  border-style: solid;
  border-color: #D1D2D8;
  width: 100%;
}

.blog-user-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 0px;
  gap: 8px;
  width: 60%;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .blog-user-section {
    width: 100%;
    grid-template-rows: repeat(auto, 1fr);
    grid-template-areas: "user" "content";
    padding: 20px 0px;
    grid-gap: 28px;
    text-align: left;
  }
}
@media (max-width: 768px) {
  .blog-user-section {
    display: grid;
    grid-template-rows: repeat(auto, 1fr);
    grid-template-areas: "user" "content";
    gap: 28px;
    padding: 42px 0;
    width: 100%;
  }
  .blog-user-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    width: 100%;
  }
}
.photo-caption-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0px;
  gap: 8px;
  margin-top: 1rem;
}

.photo-caption {
  font-family: "circular", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  color: #45464A !important;
}

.related-post-link {
  color: #202022;
  position: relative;
  background-image: -webkit-gradient(linear, left top, right top, from(#F78F1E), to(#D35400)), -webkit-gradient(linear, left top, right top, from(#FFDB5E), to(#F78F1E));
  background-image: linear-gradient(to right, #F78F1E, #D35400), linear-gradient(to right, #FFDB5E, #F78F1E);
  background-size: 100% 2px, 0% 0.775em;
  background-position: left bottom 0.15em, right bottom 0.15em;
  background-repeat: no-repeat;
  -webkit-transition: background-size 600ms, color 800ms;
  transition: background-size 600ms, color 800ms;
  will-change: background-size, background-position, color;
  font-weight: 600;
  font-size: 50px;
  line-height: 1.2;
  /* or 120% */
  letter-spacing: -0.6px;
}

.related-post-user-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
  gap: 16px;
}

.related-post-user-info {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.2;
  color: #45464A;
}

.related-post-read-time {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.2;
  /* identical to box height, or 147% */
  /* Gray 2 */
  color: #898A91;
}

.author-info-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 16px;
}

.author-email {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.2;
  /* Orange 1 */
  color: #D35400 !important;
}

.blog-page-section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 56px;
  width: 100%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .blog-page-section {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 28px;
  }
}
.blog-card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 0px;
  margin-top: 1rem;
}

.blog-card-user {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.2;
  color: #45464A;
}

.blog-card-user::after {
  content: "—";
  margin: 0 0.5rem;
  color: #D1D2D8;
  font-style: normal;
  font-weight: 500;
  font-size: 17px;
  line-height: 1;
}

.blog-card-read-time {
  font-family: "circular", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.2;
  /* Gray 2 */
  color: #898A91;
}

.method-lax-wrapper {
  position: relative;
  z-index: -1;
}

.methodhero {
  margin-bottom: 2em;
  margin-top: -2vh;
}

.methodhero-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.methodhero-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.methodhero-image-layers .bg-layer svg {
  position: absolute;
  width: 75%;
  height: 75%;
  top: -6%;
  left: -6%;
}
.methodhero-image-layers .bg-layer svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.methodhero-image-layers .bg-layer2 svg {
  position: absolute;
  width: 60%;
  height: 60%;
  bottom: -15%;
  right: -15%;
  -webkit-transform: rotate(12deg);
  transform: rotate(12deg);
}
.methodhero-image-layers .bg-layer2 svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.methodhero-image-layers .fg-layer svg {
  position: absolute;
  width: 6vw;
  height: 6vw;
  top: 90%;
  left: -15%;
}
.methodhero-image-layers .fg-layer svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.methodhero-image-layers .fg-layer2 svg {
  width: 1.5vw;
  height: 1.5vw;
  position: absolute;
  top: -5%;
  left: 25%;
  -webkit-transform: rotate(-42deg);
  transform: rotate(-42deg);
}
.methodhero-image-layers .photo-layer {
  overflow: hidden;
  border-radius: 50%;
}
.methodhero-image-layers .photo-layer img {
  width: 100%;
}

.methodhero2 {
  margin-top: 2em;
  margin-bottom: 4em;
}

.methodhero2-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.methodhero2-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.methodhero2-image-layers .bg-layer svg {
  width: 1.5vw;
  height: 1.5vw;
  position: absolute;
  top: -24%;
  left: 45%;
}
.methodhero2-image-layers .bg-layer2 svg {
  width: 4vw;
  height: 4vw;
  position: absolute;
  top: 85%;
  left: -26%;
  -webkit-transform: rotate(-61deg);
  transform: rotate(-61deg);
}
.methodhero2-image-layers .bg-layer2 svg rect {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.methodhero2-image-layers .fg-layer svg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 10%;
  left: 10%;
}
.methodhero2-image-layers .fg-layer svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.methodhero2-image-layers .fg-layer2 svg {
  position: absolute;
  width: 45%;
  height: 45%;
  top: -26%;
  left: -32%;
}
.methodhero2-image-layers .fg-layer2 svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.methodhero2-image-layers .photo-layer img {
  width: 100%;
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
}

.services-illo {
  position: absolute;
  width: 100%;
  height: 100%;
}
.services-illo > div {
  width: 100%;
  height: 100%;
}
.services-illo > div > div {
  position: absolute;
}
.services-illo > div > div svg {
  width: 100%;
  height: 100%;
}
.services-illo > div > div svg > rect,
.services-illo > div > div svg > circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
@-webkit-keyframes little-orange-square-rotate {
  0% {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
  }
  100% {
    -webkit-transform: rotate(-330deg);
    transform: rotate(-330deg);
  }
}
@keyframes little-orange-square-rotate {
  0% {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
  }
  100% {
    -webkit-transform: rotate(-330deg);
    transform: rotate(-330deg);
  }
}
.services-illo .little-orange-square {
  width: 2vw;
  height: 2vw;
  top: -16vw;
  left: 70%;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  -webkit-animation: little-orange-square-rotate 30s linear infinite;
  animation: little-orange-square-rotate 30s linear infinite;
}
@-webkit-keyframes medium-orange-square-rotate {
  0% {
    -webkit-transform: rotate(7deg);
    transform: rotate(7deg);
  }
  100% {
    -webkit-transform: rotate(367deg);
    transform: rotate(367deg);
  }
}
@keyframes medium-orange-square-rotate {
  0% {
    -webkit-transform: rotate(7deg);
    transform: rotate(7deg);
  }
  100% {
    -webkit-transform: rotate(367deg);
    transform: rotate(367deg);
  }
}
.services-illo .medium-orange-square {
  width: 7vw;
  height: 7vw;
  top: -6vw;
  left: 60%;
  -webkit-transform: rotate(7deg);
  transform: rotate(7deg);
  -webkit-animation: medium-orange-square-rotate 40s linear infinite;
  animation: medium-orange-square-rotate 40s linear infinite;
}
.services-illo .big-orange-circle {
  width: 20vw;
  height: 20vw;
  top: -20vw;
  left: 30%;
}
@-webkit-keyframes little-green-square-rotate {
  0% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg);
  }
  100% {
    -webkit-transform: rotate(352deg);
    transform: rotate(352deg);
  }
}
@keyframes little-green-square-rotate {
  0% {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg);
  }
  100% {
    -webkit-transform: rotate(352deg);
    transform: rotate(352deg);
  }
}
.services-illo .little-green-square {
  width: 4vw;
  height: 4vw;
  bottom: -15vw;
  left: 57%;
  -webkit-transform: rotate(-8deg);
  transform: rotate(-8deg);
  -webkit-animation: little-green-square-rotate 30s linear infinite;
  animation: little-green-square-rotate 30s linear infinite;
}
.services-illo .medium-green-circle {
  width: 4vw;
  height: 4vw;
  bottom: -7vw;
  left: 33%;
}
@-webkit-keyframes big-green-square-rotate {
  0% {
    -webkit-transform: rotate(162deg);
    transform: rotate(162deg);
  }
  100% {
    -webkit-transform: rotate(-198deg);
    transform: rotate(-198deg);
  }
}
@keyframes big-green-square-rotate {
  0% {
    -webkit-transform: rotate(162deg);
    transform: rotate(162deg);
  }
  100% {
    -webkit-transform: rotate(-198deg);
    transform: rotate(-198deg);
  }
}
.services-illo .big-green-square {
  width: 14vw;
  height: 14vw;
  bottom: -22vw;
  left: 44%;
  -webkit-transform: rotate(162deg);
  transform: rotate(162deg);
  -webkit-animation: big-green-square-rotate 60s linear infinite;
  animation: big-green-square-rotate 60s linear infinite;
}
@-webkit-keyframes little-blue-square-rotate {
  0% {
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg);
  }
  100% {
    -webkit-transform: rotate(361deg);
    transform: rotate(361deg);
  }
}
@keyframes little-blue-square-rotate {
  0% {
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg);
  }
  100% {
    -webkit-transform: rotate(361deg);
    transform: rotate(361deg);
  }
}
.services-illo .little-blue-square {
  width: 3vw;
  height: 3vw;
  bottom: 5vw;
  left: 80%;
  -webkit-transform: rotate(1deg);
  transform: rotate(1deg);
  -webkit-animation: little-blue-square-rotate 20s linear infinite;
  animation: little-blue-square-rotate 20s linear infinite;
}
.services-illo .medium-blue-circle {
  width: 10vw;
  height: 10vw;
  bottom: -8vw;
  left: 70%;
}
@-webkit-keyframes big-blue-square-rotate {
  0% {
    -webkit-transform: rotate(42deg);
    transform: rotate(42deg);
  }
  100% {
    -webkit-transform: rotate(-318deg);
    transform: rotate(-318deg);
  }
}
@keyframes big-blue-square-rotate {
  0% {
    -webkit-transform: rotate(42deg);
    transform: rotate(42deg);
  }
  100% {
    -webkit-transform: rotate(-318deg);
    transform: rotate(-318deg);
  }
}
.services-illo .big-blue-square {
  width: 10vw;
  height: 10vw;
  bottom: 5vw;
  left: 80%;
  -webkit-transform: rotate(42deg);
  transform: rotate(42deg);
  -webkit-animation: big-blue-square-rotate 50s linear infinite;
  animation: big-blue-square-rotate 50s linear infinite;
}

.about-lax-wrapper {
  position: relative;
  z-index: -1;
}

.about-location-office {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 24px;
}

.about-office-address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.about-office-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 24px;
}

.about-office-info-text {
  display: inline-block;
  color: #D35400;
  line-height: 1;
  font-family: "circular", sans-serif;
  font-weight: normal;
  font-size: 0.9em;
}

.abouthero {
  margin-bottom: 2em;
  margin-top: -2vh;
}

.abouthero-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.abouthero-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.abouthero-image-layers .bg-layer svg {
  width: 1.5vw;
  height: 1.5vw;
  position: absolute;
  left: 50%;
  bottom: -25%;
  -webkit-transform: rotate(6deg);
  transform: rotate(6deg);
}
.abouthero-image-layers .bg-layer2 svg {
  position: absolute;
  width: 10vw;
  height: 10vw;
  top: 42%;
  left: -6%;
  -webkit-transform: rotate(38deg);
  transform: rotate(38deg);
}
.abouthero-image-layers .bg-layer2 svg rect {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.abouthero-image-layers .bg-layer3 svg {
  position: absolute;
  width: 8vw;
  height: 8vw;
  top: -15%;
  left: 24%;
}
.abouthero-image-layers .bg-layer3 svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.abouthero-image-layers .fg-layer svg {
  width: 45%;
  height: 45%;
  position: absolute;
  bottom: -6%;
  right: -2%;
}
.abouthero-image-layers .fg-layer svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.abouthero-image-layers .fg-layer2 svg {
  width: 2vw;
  height: 2vw;
  position: absolute;
  right: -10%;
  top: 5%;
}
.abouthero-image-layers .photo-layer {
  overflow: hidden;
}
.abouthero-image-layers .photo-layer img {
  width: 100%;
}

.row-bios {
  margin-bottom: 8vw;
}
.row-bios h3, .row-bios .project-block .title, .project-block .row-bios .title {
  margin-top: 0.5em;
}
.row-bios h3 ~ .role, .row-bios .project-block .title ~ .role, .project-block .row-bios .title ~ .role {
  margin-top: -0.75em;
  margin-bottom: 0.75em;
}
.row-bios .bio-photo {
  position: relative;
  top: -2%;
  left: -2%;
  max-width: 80%;
}
.row-bios p:last-of-type {
  margin-bottom: 0.5em;
}

.role {
  display: block;
  font-family: "circular", sans-serif;
  font-weight: 400;
  color: #898A91;
  margin-bottom: 1em;
}

.circlize {
  border-radius: 50%;
}

.team-lax-wrapper {
  position: relative;
  z-index: -1;
}

.teamhero {
  margin-bottom: 2em;
  margin-top: -2vh;
}

.teamhero-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.teamhero-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.teamhero-image-layers .bg-layer svg {
  position: absolute;
  width: 2vw;
  height: 2vw;
  top: -5%;
  left: 95%;
}
.teamhero-image-layers .bg-layer2 svg {
  position: absolute;
  width: 50%;
  height: 50%;
  bottom: -5%;
  right: -5%;
}
.teamhero-image-layers .bg-layer2 svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.teamhero-image-layers .fg-layer svg {
  position: absolute;
  width: 12vw;
  height: 12vw;
  top: 90%;
  left: -22%;
}
.teamhero-image-layers .fg-layer svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.teamhero-image-layers .fg-layer2 svg {
  position: absolute;
  width: 90%;
  height: 90%;
  top: -4%;
  left: -4%;
}
.teamhero-image-layers .fg-layer2 svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.teamhero-image-layers .photo-layer {
  overflow: hidden;
  border-radius: 50%;
}
.teamhero-image-layers .photo-layer img {
  height: 100%;
  width: 175.6849315%;
  max-width: unset;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.locations-lax-wrapper {
  position: relative;
  z-index: -1;
}

.locationshero {
  margin-bottom: 2em;
  margin-top: -2em;
}

.locationshero-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.locationshero-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.locationshero-image-layers .fg-layer svg {
  width: 60%;
  height: 60%;
  position: absolute;
  bottom: -10%;
  left: 25%;
}
.locationshero-image-layers .fg-layer svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.locationshero-image-layers .fg-layer2 svg {
  width: 7vw;
  height: 7vw;
  position: absolute;
  right: 2%;
  top: 12%;
}
.locationshero-image-layers .fg-layer2 svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.locationshero-image-layers .fg-layer3 svg {
  width: 13vw;
  height: 13vw;
  position: absolute;
  left: -2%;
  top: 0;
}
.locationshero-image-layers .fg-layer3 svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.locationshero-image-layers .cha-photo-layer img {
  position: absolute;
  bottom: 10%;
  width: 50%;
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg);
}
.locationshero-image-layers .mem-photo-layer img {
  position: absolute;
  top: 25%;
  right: 0%;
  width: 40%;
  -webkit-transform: rotate(11deg);
  transform: rotate(11deg);
}
.locationshero-image-layers .pdx-photo-layer img {
  position: absolute;
  top: 2%;
  left: 25%;
  width: 25%;
  -webkit-transform: rotate(-40deg);
  transform: rotate(-40deg);
}

.sf-career-intro-block .d1 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.careers-lax-wrapper {
  position: relative;
  z-index: -1;
}

.careershero {
  margin-bottom: 2em;
  margin-top: -2vh;
}

.careershero-image-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.careershero-image-layers > div {
  position: absolute;
  width: 100%;
  height: 100%;
}
.careershero-image-layers .bg-layer svg {
  width: 1.1vw;
  height: 1.1vw;
  position: absolute;
  left: 12%;
  bottom: -3%;
}
.careershero-image-layers .bg-layer2 svg {
  position: absolute;
  width: 70%;
  height: 70%;
  top: 4%;
  left: -5%;
  -webkit-transform: rotate(9deg);
  transform: rotate(9deg);
}
.careershero-image-layers .bg-layer2 svg rect {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.careershero-image-layers .fg-layer svg {
  position: absolute;
  width: 60%;
  height: 60%;
  bottom: -15%;
  right: -15%;
  -webkit-transform: rotate(-17deg);
  transform: rotate(-17deg);
}
.careershero-image-layers .fg-layer svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.careershero-image-layers .fg-layer2 svg {
  position: absolute;
  width: 10vw;
  height: 10vw;
  top: -4%;
  right: -4%;
}
.careershero-image-layers .fg-layer2 svg circle {
  vector-effect: non-scaling-stroke;
  stroke-width: 2px;
}
.careershero-image-layers .photo-layer {
  overflow: hidden;
  border-radius: 50%;
}
.careershero-image-layers .photo-layer img {
  width: 100%;
}

/*! Flickity v2.1.2
https://flickity.metafizzy.co
---------------------------------------------- */
.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;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

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

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

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: #333;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.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 .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

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

#main {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}