/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

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

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

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

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

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

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

ul {
  margin: 0;
}

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

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

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

figure {
  margin: 1em 40px;
}

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

pre {
  overflow: auto;
}

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

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

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

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

input {
  line-height: normal;
}

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

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

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

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

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

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

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

td,
th {
  padding: 0;
}

@keyframes flicker {
  0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100% {
    opacity: 1;
    color: #f3f4f9;
    -webkit-text-stroke: 2px transparent;
    text-stroke: 2px transparent;
  }
  20%, 21.999%, 63%, 63.999%, 65%, 69.999% {
    opacity: 1;
    color: rgba(243, 244, 249, 0.5);
    -webkit-text-stroke: 2px #009ede;
    text-stroke: 2px #009ede;
  }
}
@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.4);
  }
}
.d-f {
  display: -ms-flexbox;
  display: flex;
}

.ai-c {
  -ms-flex-align: center;
  align-items: center;
}

.jc-sb {
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@keyframes pulse_animation {
  0% {
    stroke-width: 6px;
  }
  30% {
    stroke-width: 0;
  }
  45% {
    stroke-width: 20px;
    stroke: transparent;
  }
  50% {
    stroke-width: 6px;
  }
  60% {
    stroke-width: 0;
  }
  75% {
    stroke-width: 20px;
    stroke: transparent;
  }
  80% {
    stroke-width: 6px;
  }
  100% {
    stroke-width: 6px;
  }
}
@font-face {
  font-family: 'TT Norms Pro Light';
  font-style: normal;
  font-weight: normal;
  src: local("TT Norms Pro Light"), url("../fonts/TT Norms Pro Light.woff") format("woff");
}
@font-face {
  font-family: 'TT Norms Pro Light Italic';
  font-style: normal;
  font-weight: normal;
  src: local("TT Norms Pro Light Italic"), url("../fonts/TT Norms Pro Light Italic.woff") format("woff");
}
@font-face {
  font-family: 'TT Norms Pro ExtraBold';
  font-style: normal;
  font-weight: normal;
  src: local("TT Norms Pro ExtraBold"), url("../fonts/TT Norms Pro ExtraBold.woff") format("woff");
}
@font-face {
  font-family: 'TT Norms Pro ExtraBold Italic';
  font-style: normal;
  font-weight: normal;
  src: local("TT Norms Pro ExtraBold Italic"), url("../fonts/TT Norms Pro ExtraBold Italic.woff") format("woff");
}
@font-face {
  font-family: 'TT Norms Pro Black';
  font-style: normal;
  font-weight: normal;
  src: local("TT Norms Pro Black"), url("../fonts/TT Norms Pro Black.woff") format("woff");
}
@font-face {
  font-family: 'TT Norms Pro Black Italic';
  font-style: normal;
  font-weight: normal;
  src: local("TT Norms Pro Black Italic"), url("../fonts/TT Norms Pro Black Italic.woff") format("woff");
}
h1 {
  font-size: 5.375rem;
  line-height: 1.3;
  font-family: "TT Norms Pro Black";
}

h2 {
  font-size: 4.5rem;
  line-height: 1.3;
  font-family: "TT Norms Pro Black";
}

h3 {
  font-size: 3.625rem;
  line-height: 1.3;
  font-family: "TT Norms Pro Black";
}

h4 {
  font-size: 2.75rem;
  line-height: 1.3;
  font-family: "TT Norms Pro Black";
}

h5 {
  font-size: 1.875rem;
  line-height: 1.3;
  font-family: "TT Norms Pro Black";
}

h6 {
  font-size: 1rem;
  line-height: 1.3;
  font-family: "TT Norms Pro Black";
}

p {
  font-size: 1.25rem;
  line-height: 1.3;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  p {
    font-size: 1.875rem;
  }
}

.text-left {
  text-align: left !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}

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

.text-right {
  text-align: right !important;
  -ms-flex-pack: end !important;
  justify-content: flex-end !important;
}

html {
  box-sizing: border-box;
}

body {
  font-family: "TT Norms Pro Light", Helvetica, sans-serif;
  color: #ffffff;
  background: #252629;
  scroll-behavior: smooth;
}
body.open-menu {
  overflow: hidden;
}

.project-details {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}
.project-details .project-section {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100vh;
}
.project-details .project-section.visible .project-section-bg {
  opacity: 1;
}
.project-details .project-section .content-left .content-container {
  margin-left: 0;
}
.project-details .project-section .content-right .content-container {
  margin-right: 0;
}

.project-content {
  width: 80%;
  margin: auto;
}
.project-content .content-container {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .project-content .content-container {
    max-width: 80%;
  }
}
@media (min-width: 992px) {
  .project-content .content-container {
    max-width: 70%;
  }
}
@media (min-width: 1200px) {
  .project-content .content-container {
    max-width: 60%;
  }
}
@media (min-width: 1400px) {
  .project-content .content-container {
    max-width: 50%;
  }
}
@media (min-width: 1900px) {
  .project-content .content-container {
    max-width: 35%;
  }
}

.project-section-bg {
  transition: opacity 1500ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: opacity;
  object-fit: cover;
  opacity: 0;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
}
.project-section-bg img,
.project-section-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bg-pos-left + .project-section-bg img, .bg-pos-left +
.project-section-bg video {
  object-position: left;
}
.bg-pos-center + .project-section-bg img, .bg-pos-center +
.project-section-bg video {
  object-position: center;
}
.bg-pos-right + .project-section-bg img, .bg-pos-right +
.project-section-bg video {
  object-position: right;
}
.zoom-in-bg + .project-section-bg {
  animation: zoom-in 20s forwards;
}

.footer {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.footer--madeby {
  font-size: 0.625rem;
}
.footer--madeby a {
  color: currentColor;
}

.btn {
  transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , border-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , padding 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: opacity;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  background-color: transparent;
  padding: 0.5rem 1.5rem;
  border-radius: 0;
  text-shadow: 0 1px 1px rgba(37, 38, 41, 0.5), 0 0 5px rgba(37, 38, 41, 0.4), 0 0 30px rgba(37, 38, 41, 0.7);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}
.btn.btn-outline {
  text-decoration: none;
  color: #f3f4f9;
  border-color: #f3f4f9;
}
.btn:hover {
  background-color: #f3f4f9;
  color: #252629;
  padding-left: 2rem;
  padding-right: 2rem;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  text-shadow: none;
}
.btn:focus {
  box-shadow: 0 0 5px #009ede;
  outline: none;
}
.modal .btn:hover, .modal .btn:focus {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.btn-basic {
  background-color: #ffffff;
  color: #252629;
  text-shadow: none;
}

.header {
  padding: 1rem;
  position: fixed;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  max-height: 5.75rem;
  transition: top 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: top;
  z-index: 300;
}
.header.header-hidden {
  top: -5.75rem;
}
.header .logo {
  width: 60px;
  height: 60px;
}
.header .logo img {
  width: 60px;
  height: 60px;
}
.header .wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: start;
  align-items: flex-start;
}
.header .page-menu--toggle {
  position: relative;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  width: 2rem;
  height: 27px;
}
.header .page-menu--toggle span {
  transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , translateY 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , translateX 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , rotate 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , top 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: top;
  background-color: #ffffff;
  width: 32px;
  height: 5px;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  box-shadow: 0 0 0.5rem 0.2rem #797d85;
}
.header .page-menu--toggle span:nth-of-type(2) {
  top: 11px;
}
.header .page-menu--toggle span:nth-of-type(3) {
  top: 22px;
}
.no-touchevents .header .page-menu--toggle:not(.active):hover span:nth-of-type(1) {
  top: 2px;
}
.no-touchevents .header .page-menu--toggle:not(.active):hover span:nth-of-type(3) {
  top: 20px;
}
.header .page-menu--toggle:focus {
  outline: none;
}
.header .page-menu--toggle.active span {
  box-shadow: none;
}
.header .page-menu--toggle.active .hmbrgr-top {
  -ms-transform: translateY(11px) translateX(0) rotate(45deg);
  transform: translateY(11px) translateX(0) rotate(45deg);
  background: #ffffff;
}
.header .page-menu--toggle.active .hmbrgr-mid {
  opacity: 0;
  background: #ffffff;
}
.header .page-menu--toggle.active .hmbrgr-bot {
  -ms-transform: translateY(-11px) translateX(0) rotate(-45deg);
  transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #ffffff;
}

.page-menu ul {
  list-style-type: none;
}
.page-menu .active a {
  color: #f3f4f9;
  font-family: "TT Norms Pro Black";
}
.page-menu .active a:hover {
  border-bottom-color: transparent;
}
.page-menu a {
  transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms , letter-spacing 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: letter-spacing;
  position: relative;
  font-family: "TT Norms Pro Light", Helvetica, sans-serif;
  font-size: 2.5rem;
  text-transform: uppercase;
  text-decoration: none;
  color: #dcdde6;
  letter-spacing: 0;
}
@media (min-width: 576px) {
  .page-menu a {
    font-size: 3.125rem;
  }
}
@media (min-width: 768px) {
  .page-menu a {
    font-size: 3.75rem;
  }
}
.page-menu a:hover {
  cursor: default;
  color: #f3f4f9;
}
.page-menu li:not(.active) a:hover {
  cursor: pointer;
  letter-spacing: 2px;
}

.page-menu--overlay {
  position: fixed;
  background: rgba(0, 158, 222, 0);
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  visibility: hidden;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
  z-index: 250;
}
.page-menu--overlay.open {
  background: rgba(0, 158, 222, 0.95);
  visibility: visible;
  height: 100%;
}
.page-menu--overlay.open li {
  animation: fadeInRight .5s ease forwards;
  animation-delay: .35s;
}
.page-menu--overlay.open li:nth-of-type(2) {
  animation-delay: .4s;
}
.page-menu--overlay.open li:nth-of-type(3) {
  animation-delay: .45s;
}
.page-menu--overlay.open li:nth-of-type(4) {
  animation-delay: .50s;
}
.page-menu--overlay nav {
  position: relative;
  height: 70%;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 50px;
  text-align: center;
}
.page-menu--overlay ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  position: relative;
  height: 100%;
}
@media (min-width: 768px) {
  .page-menu--overlay ul {
    height: 80%;
  }
}
@media (min-width: 992px) {
  .page-menu--overlay ul {
    height: 90%;
  }
}
.page-menu--overlay ul li {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  height: calc(100% / 3);
  min-height: 50px;
  position: relative;
  opacity: 0;
}
@media (min-width: 576px) {
  .page-menu--overlay ul li {
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
@media (min-width: 768px) {
  .page-menu--overlay ul li {
    -ms-flex-align: start;
    align-items: flex-start;
    height: calc(100% / 4);
  }
}
@media (min-width: 992px) {
  .page-menu--overlay ul li {
    height: calc(100% / 5);
  }
}
.page-menu--overlay ul li a {
  display: block;
  position: relative;
  text-decoration: none;
  overflow: hidden;
}
.page-menu--overlay ul li a:hover:after, .page-menu--overlay ul li a:focus:after, .page-menu--overlay ul li a:active:after {
  width: 100%;
}
.page-menu--overlay ul li a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0%;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 3px;
  transition: .35s;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
.project-list .project-list--item {
  display: block;
}
.project-list .project {
  max-height: 48vh;
  overflow: hidden;
  position: relative;
  margin-bottom: 0.5rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
}
.project-list .project .project-poster img {
  display: block;
  transition: filter 1s cubic-bezier(0.4, 0, 0.2, 1) 0ms , transform 1s cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: transform;
  filter: grayscale(1);
}
.project-list .project .project-header {
  transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: background-color;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  background-color: rgba(93, 96, 102, 0.3);
}
.project-list .project .project-title {
  transition: letter-spacing 1s cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: letter-spacing;
  font-weight: normal;
  font-size: 1.125rem;
  font-family: "TT Norms Pro ExtraBold";
  text-transform: uppercase;
  color: #f3f4f9;
  margin-left: 1rem;
  margin-right: 1rem;
}
@media (min-width: 768px) {
  .project-list .project .project-title {
    font-size: 1.5rem;
  }
}
.project-list .project:hover, .project-list .project:focus {
  cursor: pointer;
}
.project-list .project:hover .project-poster img, .project-list .project:focus .project-poster img {
  filter: grayscale(0);
  -ms-transform: scale(1.01);
  transform: scale(1.01);
}
.project-list .project:hover .project-header, .project-list .project:focus .project-header {
  background-color: rgba(93, 96, 102, 0.5);
}
.no-touchevents .project-list .project:hover .project-title, .no-touchevents .project-list .project:focus .project-title {
  letter-spacing: 0.05ch;
}

.project-details .project-section:not(:first-child):not(:last-child) .content-container {
  padding-top: 55vh;
  padding-bottom: 55vh;
}
.project-details .project-section:first-child {
  padding-bottom: 25vh;
}
.project-details .project-section:last-child {
  padding-top: 25vh;
}
.project-details .project-section:first-child:last-child {
  padding-top: 0;
  padding-bottom: 0;
}
.project-details .content-container h1, .project-details .content-container h2, .project-details .content-container h3, .project-details .content-container h4, .project-details .content-container h5, .project-details .content-container h6 {
  z-index: 2;
}
.project-details .content-container p {
  z-index: 1;
}
.project-details .content-container h1, .project-details .content-container h2, .project-details .content-container h3, .project-details .content-container h4, .project-details .content-container h5, .project-details .content-container h6, .project-details .content-container p {
  position: relative;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.no-touchevents .project-details .content-container h1, .no-touchevents .project-details .content-container h2, .no-touchevents .project-details .content-container h3, .no-touchevents .project-details .content-container h4, .no-touchevents .project-details .content-container h5, .no-touchevents .project-details .content-container h6, .no-touchevents .project-details .content-container p {
  text-shadow: 0 0 20px rgba(37, 38, 41, 0.7);
}
.project-details .content-container h1::before, .project-details .content-container h2::before, .project-details .content-container h3::before, .project-details .content-container h4::before, .project-details .content-container h5::before, .project-details .content-container h6::before, .project-details .content-container p::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  mix-blend-mode: multiply;
  filter: blur(50px);
  z-index: -1;
}
.project-details .content-container h1 strong, .project-details .content-container h2 strong, .project-details .content-container h3 strong, .project-details .content-container h4 strong, .project-details .content-container h5 strong, .project-details .content-container h6 strong {
  color: #009ede;
}
.project-details .content-container p strong {
  font-family: "TT Norms Pro Black";
}
.project-details .modular-intro .content-container h1 {
  font-size: 2.4rem;
}
@media (min-width: 576px) {
  .project-details .modular-intro .content-container h1 {
    font-size: 7vw;
  }
}
@media (min-width: 768px) {
  .project-details .modular-intro .content-container h1 {
    font-size: 6vw;
  }
}
@media (min-width: 992px) {
  .project-details .modular-intro .content-container h1 {
    font-size: 5.5vw;
  }
}
@media (min-width: 1200px) {
  .project-details .modular-intro .content-container h1 {
    font-size: 5vw;
  }
}
@media (min-width: 1400px) {
  .project-details .modular-intro .content-container h1 {
    font-size: 4.5vw;
  }
}
@media (min-width: 1900px) {
  .project-details .modular-intro .content-container h1 {
    font-size: 3.8vw;
  }
}
.project-details .modular-intro .content-container strong {
  color: #ffffff;
  transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: color;
  animation: flicker 6s linear infinite;
}

.modular-chapter .content-container h1 {
  margin-bottom: 6.125rem;
}
.modular-chapter .content-container h2 {
  margin-bottom: 5.25rem;
}
.modular-chapter .content-container h3 {
  margin-bottom: 4.375rem;
}
.modular-chapter .content-container h4 {
  margin-bottom: 3.5rem;
}
.modular-chapter .content-container h5 {
  margin-bottom: 2.625rem;
}
.modular-chapter .content-container h6 {
  margin-bottom: 1.75rem;
}
.modular-chapter .chapter-index .chapter-title {
  margin-bottom: 0.5rem;
  font-weight: normal;
  text-transform: uppercase;
}
.modular-chapter .chapter-index .chapter-progress {
  display: -ms-flexbox;
  display: flex;
}
.modular-chapter .chapter-index .chapter-progress span {
  width: 0.5rem;
  height: 0.5rem;
  border: 1px solid #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 0 0.5rem #797d85, inset 0 0 0.2rem #797d85;
}
.modular-chapter .chapter-index .chapter-progress span:not(:first-child) {
  margin-left: 0.25rem;
}
.modular-chapter .chapter-index .chapter-progress span:not(:last-child) {
  margin-right: 0.25rem;
}
.modular-chapter .chapter-index .chapter-progress span.progress {
  border-color: #009ede;
  background-color: #009ede;
  box-shadow: 0 0 0.5rem #009ede;
}

.circles {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 3rem;
}
.circles .media-box {
  -ms-flex: 1;
  flex: 1;
  margin-bottom: 2rem;
}
.circles .media-box img {
  border-radius: 50%;
}
.circles .media-box .media-header {
  margin-top: 1rem;
}
.circles .media-box .media-title {
  margin: 0.25rem;
  font-weight: normal;
  font-size: 0.75rem;
  text-transform: uppercase;
}
.circles .media-box .media-description p {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1;
  font-size: 1.125rem !important;
}

.modular-lightbox {
  position: relative;
}
.modular-lightbox .btn-open-modal,
.modular-lightbox .btn-open-gallery {
  opacity: 0;
  pointer-events: none;
}
.modular-lightbox .btn-open-gallery:not(:first-of-type) {
  display: none;
}
.modular-lightbox.visible .btn-open-modal.visible,
.modular-lightbox.visible .btn-open-gallery.visible {
  opacity: 1;
  pointer-events: all;
}

.modal-open {
  overflow: hidden;
}

.modal {
  transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: opacity;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 576px) {
  .modal.modal-sm .modal-dialog {
    width: 30vw;
  }
  .modal.modal-md .modal-dialog {
    width: 50vw;
  }
  .modal.modal-lg .modal-dialog {
    width: 70vw;
  }
  .modal.modal-xl .modal-dialog {
    width: 80vw;
  }
  .modal.modal-xxl .modal-dialog {
    width: 90vw;
  }
}
.modal.open {
  opacity: 1;
  pointer-events: all;
}
.modal.open .modal-overlay {
  background-color: rgba(37, 38, 41, 0.95);
}
.modal.open .modal-dialog {
  -ms-transform: scale(1);
  transform: scale(1);
}
.modal .modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 500;
}
.modal > .modal-close {
  transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: opacity;
  z-index: 500;
  position: fixed;
  display: block;
  right: 1rem;
  top: 1rem;
  width: 2rem;
  height: 2rem;
  text-decoration: none;
  opacity: 0.2;
  font-size: 2.5rem;
  line-height: 1;
  color: #f3f4f9;
}
.modal > .modal-close:hover, .modal > .modal-close:focus {
  opacity: 1;
}
.modal > .modal-close .icon {
  position: absolute;
  width: 24px;
  height: 24px;
  left: 4px;
  top: 4px;
}
.modal > .modal-close .icon path {
  fill: #ffffff;
}
.modal .modal-dialog {
  transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: transform;
  width: 90vw;
  margin-left: auto;
  margin-right: auto;
  border: 2px solid #5d6066;
  -ms-transform: scale(0.7);
  transform: scale(0.7);
  z-index: 1001;
}
@media (min-width: 576px) {
  .modal .modal-dialog {
    min-width: 400px;
  }
}
.modal .modal-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  box-shadow: 0 0 10px #252629;
  background-color: #252629;
}
.modal .modal-content .modal-header,
.modal .modal-content .modal-body,
.modal .modal-content .modal-footer {
  padding: 1rem;
}
.modal .modal-content .modal-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid grey(100);
}
.modal .modal-content .modal-header .modal-title {
  margin: 0;
  color: #f3f4f9;
}
.modal .modal-content .modal-body {
  position: relative;
  max-height: 60vh;
  overflow-y: auto;
  padding: 1rem 3rem 1rem;
  -webkit-overflow-scrolling: touch;
  color: #f3f4f9;
}
.modal .modal-content .modal-body h1, .modal .modal-content .modal-body h2, .modal .modal-content .modal-body h3, .modal .modal-content .modal-body h4, .modal .modal-content .modal-body h5, .modal .modal-content .modal-body h6 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.modal .modal-content .modal-body p {
  font-size: 1rem;
}
.modal .modal-content .modal-body p a {
  transition: color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: color;
  color: inherit;
}
.modal .modal-content .modal-body p a:hover {
  color: #dcdde6;
}
.modal .modal-content .modal-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  border-top: 1px solid grey(100);
}
.modal .modal-content .modal-footer .modal-footer--actions {
  list-style-type: none;
}
.modal .filter-sidebar {
  -ms-flex-direction: row;
  flex-direction: row;
  margin-left: 0;
}
.modal .filter-sidebar .panel {
  -ms-flex: 1;
  flex: 1;
}
.modal .filter-sidebar .filter-sidebar--heading {
  display: none;
}
.modal.modal-table-fullwidth .table-responsive {
  margin-left: -1rem;
  margin-right: -1rem;
}

.project--cta {
  position: fixed;
  text-transform: uppercase;
  bottom: 10%;
  z-index: 1;
}

.main-carousel {
  z-index: 500;
}

.carousel-cell {
  width: 100%;
  /* full width */
  height: 100%;
  /* center images in cells with flexbox */
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.carousel-cell img {
  display: block;
  max-height: 100%;
}

/* position dots in carousel */
.flickity-page-dots {
  bottom: 0px;
}

/* white circles */
.flickity-page-dots .dot {
  width: 12px;
  height: 12px;
  opacity: 1;
  background: transparent;
  border: 2px solid white;
}

/* fill-in selected dot */
.flickity-page-dots .dot.is-selected {
  background: white;
}

blockquote {
  font-family: "TT Norms Pro Black";
  font-style: italic;
  position: relative;
}
blockquote::before {
  content: url("data:image/svg+xml,%3Csvg viewBox='0 0 16.084 12.832' fill='%23009ede' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.379,0l2.004,2.18c-1.559,1.406-2.54,2.382-2.944,2.927s-0.729,1.21-0.976,1.995 c0.223-0.164,0.448-0.284,0.677-0.36S4.6,6.627,4.834,6.627c0.68,0,1.274,0.281,1.784,0.844S7.383,8.713,7.383,9.51 c0,0.938-0.325,1.726-0.976,2.364s-1.444,0.958-2.382,0.958c-0.691,0-1.356-0.196-1.995-0.589s-1.137-0.932-1.494-1.617 S0,9.146,0,8.244c0-1.488,0.495-2.941,1.485-4.359S3.773,1.172,5.379,0z M14.067,0l1.999,2.18c-1.543,1.406-2.52,2.382-2.929,2.927 s-0.736,1.21-0.982,1.995c0.222-0.164,0.447-0.284,0.675-0.36s0.458-0.114,0.692-0.114c0.678,0,1.274,0.281,1.789,0.844 c0.515,0.562,0.772,1.242,0.772,2.039c0,0.938-0.327,1.726-0.982,2.364c-0.654,0.639-1.449,0.958-2.385,0.958 c-0.69,0-1.353-0.196-1.99-0.589s-1.134-0.932-1.491-1.617S8.701,9.146,8.701,8.244c0-1.488,0.494-2.941,1.482-4.359 C11.17,2.467,12.465,1.172,14.067,0z'/%3E%3C/svg%3E");
  position: absolute;
  left: -2.5em;
  top: -0.5em;
  -ms-transform: scale(1.2);
  transform: scale(1.2);
  width: 30px;
  height: 26px;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
}
blockquote em {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 2rem;
  font-size: 1rem;
  font-family: "TT Norms Pro Light", Helvetica, sans-serif;
  font-style: normal;
  text-transform: uppercase;
}
blockquote em::before {
  content: url("data:image/svg+xml,%3Csvg viewBox='0 0 6.45 10.7' fill='%23009ede' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.955,9.888h4.25v0.57h-4.82v-7.4c-0.65-0.13-1.14-0.71-1.14-1.39c0-0.78,0.64-1.42,1.42-1.42 s1.42,0.64,1.42,1.42c0,0.68-0.49,1.26-1.13,1.39V9.888z'/%3E%3C/svg%3E%0A");
  width: 1rem;
  height: 1.375rem;
  -ms-transform: translateY(-1rem);
  transform: translateY(-1rem);
  margin-right: 0.5rem;
}

.modular-location .location-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 2rem;
}
.modular-location .location-box .location-map {
  width: 45%;
  margin-left: auto;
  margin-right: auto;
}
.modular-location .location-box .location-map path {
  fill: #f3f4f9;
}
.modular-location .location-box .location-map .active path {
  fill: #009ede;
  stroke: #009ede;
  stroke-width: 6px;
}
.modular-location .location-name {
  margin-top: 1rem;
  border-top: 1px solid #009ede;
}
.modular-location .location-name .location-title {
  margin: 1rem 0;
  font-weight: normal;
  text-transform: uppercase;
}
.modular-location.visible .location-map .active path {
  animation-name: pulse_animation;
  animation-duration: 3000ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in;
}

.av-gallery .av-gallery--img {
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .av-gallery .av-gallery--img {
    max-width: 49%;
  }
}
@media (min-width: 992px) {
  .av-gallery .av-gallery--img {
    max-width: 32.8%;
  }
}

.goverlay {
  background: rgba(37, 38, 41, 0.9) !important;
}

/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  display: none;
  transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  will-change: opacity;
  position: relative;
  opacity: 0;
  pointer-events: none;
}

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

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

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

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

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

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

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: rgba(255, 255, 255, 0.75);
  border: none;
  color: #333;
}

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

.flickity-button:focus {
  outline: none;
  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: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  -ms-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;
  border: 3px solid #252629;
}

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

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

/* Flickity fullscreen v1.0.1
------------------------- */
.flickity-enabled.is-fullscreen {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  z-index: 500;
  opacity: 1;
  pointer-events: all;
  box-sizing: border-box;
}

.flickity-enabled.is-fullscreen .flickity-page-dots {
  bottom: 20px;
}

.flickity-enabled.is-fullscreen .flickity-page-dots .dot {
  background: white;
}

/* prevent page scrolling when flickity is fullscreen */
html.is-flickity-fullscreen {
  overflow: hidden;
}

/* ---- flickity-fullscreen-button ---- */
.flickity-fullscreen-button {
  display: block;
  right: 1rem;
  top: 1rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
}

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

.flickity-fullscreen-button-exit {
  display: none;
}

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit {
  display: block;
}

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view {
  display: none;
}

.flickity-fullscreen-button .flickity-button-icon {
  position: absolute;
  width: 26px;
  height: 26px;
  left: 9px;
  top: 9px;
}

.img-responsive {
  width: 100%;
}

.hidden {
  display: none;
}

.pos-sticky {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1;
}
.pos-sticky.pos-top {
  top: 0;
}
.pos-sticky.pos-bottom {
  bottom: 0;
}
.pos-sticky.pos-b1 {
  bottom: 1rem;
}



/*# sourceMappingURL=styles.css.map */
