@charset "UTF-8";
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

html, body {
  margin: 0;
  padding: 0;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

figcaption,
figure,
main { /* 1 */
  display: block;
}

figure {
  margin: 0;
}

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

b,
strong {
  font-weight: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

dfn {
  font-style: italic;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

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

img {
  border-style: none;
}

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

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

button,
input { /* 1 */
  overflow: visible;
}

button,
select { /* 1 */
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

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

[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

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

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

details,
menu {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* HELPERS 
==========================================================================================*/
/* NORMALIZE AND BASE
==========================================================================================*/
a {
  color: #e7a448;
  text-decoration: none;
  transition: all 250ms ease-in-out;
}
a:hover {
  color: #fff;
}

.contact-info {
  list-style: none;
  margin: 0;
  padding: 1rem;
  text-align: center;
}
.contact-info li {
  display: inline-block;
  margin: 0 16px 1rem 0;
  padding: 0;
  color: #ff9933;
}
.contact-info li:last-child {
  margin-right: 0;
}
.contact-info li.email:before, .contact-info li.linked-in:before, .contact-info li.resume:before {
  display: inline-block;
  margin-right: 10px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.contact-info li.email:before {
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  content: "\f0e0";
}
.contact-info li.linked-in:before {
  font-family: "Font Awesome 7 Brands";
  content: "\f08c";
}
.contact-info li.resume:before {
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  content: "\f15b";
}

.wayback {
  display: inline-block;
  transform: skew(2deg, -2deg);
  font-size: 1.2rem;
  margin-left: 8px;
  transition: all 0.5s ease-in-out;
}

.xtra-margin {
  margin-bottom: 4rem;
}

.negative-margin {
  margin: -30px auto 0 auto;
}

@font-face {
  font-family: "Film Noir";
  src: url("/_assets/fonts/FilmNoir-yww7Z.ttf");
}
@font-face {
  font-family: "Film Noir Italic";
  src: url("/_assets/fonts/FilmNoirItalic-z887l.ttf");
}
@font-face {
  font-family: "Victoria Typewriter";
  src: url("/_assets/fonts/VictoriaTypewriter-x3PJr.ttf");
}
@font-face {
  font-family: "Victoria Typewriter Italic";
  src: url("/_assets/fonts/VictoriaTypewriterItalic-4BqW6.ttf");
}
body {
  font-family: "Victoria Typewriter", "Times", Helvetica, serif;
}

h2, h3, h4, h5, h6 {
  color: #fff;
}

h2, h3, h4 {
  font-weight: 100;
  line-height: 1.15;
  text-wrap: balance;
}

h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 3.2rem);
  color: #000;
  letter-spacing: clamp(0.08em, 0.5vw, 0.22em);
  margin: 0 0 0.75em;
}

h3 {
  font-size: clamp(1.35rem, 1.15rem + 0.8vw, 2rem);
  letter-spacing: 0.08em;
  margin: 0 0 0.65em;
}

h4 {
  font-size: clamp(1.125rem, 1rem + 0.45vw, 1.5rem);
  letter-spacing: 0.05em;
  margin: 0 0 0.5em;
}

p {
  line-height: 1.5rem;
}
p.xtra-font {
  font-size: 1.5rem;
  font-weight: 500;
}

/* LAYOUT
==========================================================================================*/
footer {
  color: rgba(255, 255, 255, 0.7);
}

.section--entry .wrapper, .section--level-1 .wrapper, .section--level-2 .wrapper, .section--level-3 .wrapper {
  box-sizing: border-box;
  padding: 1rem;
}
.section--entry .wrapper .wrapper--carousel, .section--level-1 .wrapper .wrapper--carousel, .section--level-2 .wrapper .wrapper--carousel, .section--level-3 .wrapper .wrapper--carousel {
  background: rgba(0, 0, 0, 0.7);
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
}

section {
  color: #fff;
  position: relative;
  display: block;
  min-width: 100%;
  text-align: center;
  background-image: url("/_assets/img/highway-bg--x1.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  background-attachment: fixed;
}
section.section--entry {
  height: 100vh;
  background-color: #000;
}
section.section--entry article {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  align-content: end;
  gap: 2rem;
  height: 100vh;
  padding-bottom: clamp(2rem, 10rem + 3vh, 8rem);
}
section.section--entry article .title {
  font-family: "Film Noir", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-align: center;
  font-size: 3.5rem;
}
section.section--entry article .title .info-highway, section.section--entry article .title h1 {
  transform: skew(-10deg, -10deg);
}
section.section--entry article .title .info-highway {
  position: relative;
  z-index: 1;
  display: block;
  color: #fff;
  opacity: 0.2;
}
section.section--entry article .title h1 {
  display: inline-block;
  position: relative;
  color: #3d120b;
  z-index: 2;
  top: -10px;
  left: -26px;
  font-size: inherit;
  font-weight: 100;
  text-align: left;
  line-height: 3.9rem;
  margin: 0;
  padding: 0;
  text-shadow: 3px 2px 6px rgba(255, 255, 255, 0.09);
}
section.section--entry article .title h1 span {
  display: block;
  transform: translateX(54px);
}
section.section--entry article .intro-text div {
  text-align: center;
  padding: 0 1rem;
}
section.section--entry article .intro-text div h2 {
  color: #fff;
}
section.section--entry article .intro-text div p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
}
section.section--level-1, section.section--level-2 {
  background-color: #2a3b4f;
  background-size: cover;
  background-blend-mode: luminosity;
}
section.section--level-1 .section--overlay, section.section--level-2 .section--overlay {
  background: rgba(42, 59, 79, 0.5);
}
section.section--level-1 .story-text, section.section--level-2 .story-text {
  box-sizing: border-box;
  text-align: left;
  font-size: 0.9rem;
}
section.section--level-1 .folio-desc, section.section--level-2 .folio-desc {
  background: rgba(0, 0, 0, 0.7);
  text-align: left;
}
section.section--level-1 .folio-desc .tools, section.section--level-1 .folio-desc .story-end, section.section--level-2 .folio-desc .tools, section.section--level-2 .folio-desc .story-end {
  padding: 1rem 2rem;
}
section.section--level-1 .folio-desc .tools, section.section--level-2 .folio-desc .tools {
  color: #fff;
  padding: 0.9rem;
  font-size: 0.9rem;
}
section.section--level-1 .folio-desc .tools h4, section.section--level-2 .folio-desc .tools h4 {
  background: rgba(0, 0, 0, 0.8);
  display: inline-block;
  padding: 0.5rem 0.8rem 0.4rem 0.2rem;
  transform: skew(2deg, -2deg) translate(-20px, 10px);
}
section.section--level-1 .folio-desc .story-end, section.section--level-2 .folio-desc .story-end {
  transform: skew(1deg, -1deg);
  color: #ccc;
  border-top: 1px solid #ccc;
  text-indent: 50px;
}
section.section--level-1 h2 {
  margin: 0;
  padding: 1rem;
}
section.section--level-1 .story-text {
  color: #212121;
  margin: 0 0 0 30%;
  padding: 1rem 0;
  font-size: 0.9rem;
}
section.section--level-1 .noir-1 #level-1--top {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background-color: #e7a448;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
section.section--level-1 .noir-1 #level-1--top::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  --image-shift: -2px;
  transform: translateX(var(--image-shift)) scale(1.02);
  --image-x: 0%;
  --image-y: 100%;
  background-color: #e7a448;
  background-image: url("/_assets/img/femme-fatale-color.jpg");
  background-repeat: no-repeat;
  background-position: var(--image-x) var(--image-y);
  background-size: contain;
  transition: clip-path 4s ease-out;
}
section.section--level-1 .noir-1 #level-1--top .wrapper {
  position: relative;
  z-index: 1;
}
section.section--level-1 .noir-1 #level-1--top h2 {
  color: #2a3b4f;
  padding: 0;
  transform: translate(20px, 0px) skew(2deg, -2deg);
  text-align: left;
}
section.section--level-1 .noir-1 #level-1--top .story-text span {
  display: block;
  font-size: 1.2em;
  font-weight: 600;
}
section.section--level-2 h2 {
  color: rgba(255, 255, 255, 0.4);
  margin: 0;
  padding: 1rem 0 0 0;
  text-align: left;
}
section.section--level-2 .story-text {
  color: #fff;
  margin: 70% 0 0;
  padding: 1rem 0;
}
section.section--level-2 .noir-2 #level-2--top {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background-color: #990000;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
section.section--level-2 .noir-2 #level-2--top::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  --image-shift: 2px;
  transform: translateX(var(--image-shift)) scale(1.02);
  --image-x: 100%;
  --image-y: 0%;
  background-color: #990000;
  background-image: url("/_assets/img/street-scene-color-x1.jpg");
  background-repeat: no-repeat;
  background-position: var(--image-x) var(--image-y);
  transition: clip-path 3s ease-out;
}
section.section--level-2 .noir-2 #level-2--top .wrapper {
  position: relative;
  z-index: 1;
}
section.section--level-2 .noir-2 #level-2--top h2 {
  color: rgba(255, 255, 255, 0.6);
}
section.section--level-2 .noir-2 #level-2--top .story-text span {
  display: block;
  font-size: 1.2em;
  font-weight: 600;
}
section.section--level-3 {
  padding-bottom: 4rem;
  background-size: cover;
  background-color: #990000;
  background-blend-mode: overlay;
}
section.section--level-3 .wrapper {
  text-align: left;
}
section .section-head {
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.5);
  padding: 1rem 0;
  margin-bottom: 2rem;
}
section .section-head h2 {
  color: #fff;
  margin: 0;
}
section footer {
  margin-top: 2rem;
  text-align: left;
}
section footer .wrapper {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-top: 2rem;
}

.img-float {
  border-radius: 50%;
  float: right;
  margin: -80px 0 2rem 2rem;
  width: 180px;
  border: 8px solid rgba(0, 0, 0, 0.3);
}

.hidden-text {
  display: none;
}

.expanded-text {
  display: block;
}

.expand-button {
  cursor: pointer;
  color: blue;
  text-decoration: underline;
}

.scroll-down {
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-25px);
  width: 50px;
  height: 50px;
  color: #ff9933;
  font-size: 1.8em;
}

.resume-cards {
  padding: 2rem 0;
}
.resume-cards article {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(0, 0, 0, 0.5);
  padding: 1.5rem;
}
.resume-cards article p {
  padding: 0;
}
.resume-cards article h4 {
  margin: 1.2rem 0 2rem 0;
}
.resume-cards article ul {
  padding: 0 0 0 1.2rem;
}
.resume-cards article ul li {
  margin: 0.8rem 0;
}
.resume-cards article span:first-child {
  position: absolute;
  display: inline-block;
  padding: 0.5rem;
  background-color: #000;
  margin: -2.5rem 0 0 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
}

@media (min-device-width: 768px) {
  .resume-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 1.5rem;
  }
  .resume-cards article {
    border: 1px solid rgba(255, 255, 255, 0.5);
  }
}
.cv-container {
  font-family: Arial, sans-serif;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 20px;
  width: 80vw;
  margin: 0 auto;
}

.cv-main {
  grid-column: 1/span 3;
  padding: 2rem 0;
}
.cv-main h1, .cv-main h2, .cv-main h3, .cv-main h4, .cv-main h5 {
  font-family: Arial, sans-serif;
  color: #212121;
}
.cv-main h1 {
  letter-spacing: 6px;
  font-style: normal;
  font-variant: small-caps;
  font-size: 3rem;
  font-weight: 100;
  margin: 0;
}
.cv-main h2 {
  letter-spacing: inherit;
}
.cv-main ul {
  list-style: none;
}
.cv-main ul li {
  margin: 0 0 0.8rem 0;
  padding: 0 0 0 16px;
  position: relative;
  line-height: 1.5rem;
}
.cv-main ul li::before {
  content: "•";
  position: absolute;
  left: 0;
}
.cv-main ul li ul {
  margin: 16px 0 0 0;
}

.side {
  grid-column: 4;
  padding: 2rem 20px;
  background: #e9e9e9;
}
.side ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.side ul li {
  color: #555;
  margin: 0 0 20px 0;
}
.side ul li.email:before, .side ul li.linked-in:before, .side ul li.portfolio:before {
  display: inline-block;
  margin-right: 10px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.side ul li.email:before {
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  content: "\f0e0";
}
.side ul li.portfolio:before {
  font-family: "Font Awesome 7 Free";
  content: "\f5c3";
}
.side ul li.linked-in:before {
  font-family: "Font Awesome 7 Brands";
  content: "\f08c";
}
.side ul li a {
  color: #00c;
}
.side .side--top {
  text-align: center;
  margin-bottom: 32px;
}

.cv-selfie {
  border-radius: 50%;
  border: 5px solid rgba(0, 0, 0, 0.1);
  width: 50%;
  margin: 0 auto;
}

/* ANIMATIONS
==========================================================================================*/
section.section--level-1 .noir-1 #level-1--top::after,
section.section--level-2 .noir-2 #level-2--top::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.75;
  mix-blend-mode: multiply;
  filter: contrast(2.5) brightness(0.8);
  background: url("/_assets/img/film-grain.svg") repeat;
  animation: film-grain 0.2s steps(2) infinite;
}

@keyframes film-grain {
  0% {
    background-position: 0 0;
  }
  25% {
    background-position: -4px 2px;
  }
  50% {
    background-position: 2px -4px;
  }
  75% {
    background-position: 4px 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  section.section--level-1 .noir-1 #level-1--top::after,
  section.section--level-2 .noir-2 #level-2--top::after {
    animation: none;
  }
}
html.js section.section--level-1 .noir-1 #level-1--top::before,
html.js section.section--level-2 .noir-2 #level-2--top::before {
  clip-path: circle(0 at 50% 50%);
}

html.js section.section--level-1 .noir-1 #level-1--top.is-visible::before,
html.js section.section--level-2 .noir-2 #level-2--top.is-visible::before {
  clip-path: circle(150% at 50% 50%);
  animation: old-film-jitter 2.2s steps(1) infinite, old-film-flicker 8s steps(1) infinite;
  animation-delay: 0s, 4s;
}

html.js section.section--level-2 .noir-2 #level-2--top.is-visible::before {
  animation-duration: 2.2s, 9.5s;
  animation-delay: 0s, 3s;
}

html.js section.section--level-1 .noir-1 #level-1--top.is-visible .story-text,
html.js section.section--level-2 .noir-2 #level-2--top.is-visible .story-text {
  animation: old-film-text-jitter 2.2s steps(1) infinite, old-film-type-size 12s steps(1) infinite;
  animation-delay: 4s, 4s;
}

html.js section.section--level-2 .noir-2 #level-2--top.is-visible .story-text {
  animation-duration: 2.2s, 15s;
  animation-delay: 3s, 3s;
}

@keyframes old-film-jitter {
  0%, 100% {
    background-position: var(--image-x) var(--image-y);
  }
  25% {
    background-position: calc(var(--image-x) + 1px) calc(var(--image-y) - 1px);
  }
  50% {
    background-position: calc(var(--image-x) - 1px) calc(var(--image-y) + 1px);
  }
  75% {
    background-position: var(--image-x) var(--image-y);
  }
}
@keyframes old-film-text-jitter {
  0%, 100% {
    translate: 0 0;
  }
  25% {
    translate: 1px -1px;
  }
  50% {
    translate: -1px 1px;
  }
  75% {
    translate: 0 0;
  }
}
@keyframes old-film-type-size {
  0%, 7%, 8%, 31%, 33%, 68%, 70%, 100% {
    font-size: 0.9rem;
  }
  7.5% {
    font-size: 0.95rem;
  }
  32% {
    font-size: 0.88rem;
  }
  69% {
    font-size: 0.91rem;
  }
}
@keyframes old-film-flicker {
  0%, 8%, 10%, 26%, 28%, 54%, 56%, 100% {
    filter: brightness(1);
  }
  9% {
    filter: brightness(0.78);
  }
  27% {
    filter: brightness(1.12);
  }
  55% {
    filter: brightness(0.88);
  }
}
@media (prefers-reduced-motion: reduce) {
  section.section--level-1 .noir-1 #level-1--top::before,
  section.section--level-2 .noir-2 #level-2--top::before,
  section.section--level-1 .noir-1 #level-1--top .story-text,
  section.section--level-2 .noir-2 #level-2--top .story-text {
    transition: none;
    animation: none;
  }
}
/* COMPONENTS
==========================================================================================*/
.carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-slide {
  display: flex;
  transition: transform 0.3s ease-in-out;
}
.carousel-slide img {
  width: 100%;
  height: auto;
}

.prevButton, .nextButton {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  transform: translateY(-95px);
  z-index: 10;
  width: 100px;
  height: 100px;
  border: none;
  background: rgba(0, 0, 0, 0.6);
  font-size: 1.5rem;
  color: #fff;
  transition: all 250ms ease-in-out;
  cursor: pointer;
}
.prevButton:hover, .nextButton:hover {
  background: #000;
}

.prevButton {
  left: 0;
}

.nextButton {
  right: 0;
}

.carousel-pagination {
  box-sizing: border-box;
  height: 90px;
  margin: 0;
  padding: 1rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.carousel-pagination span {
  display: block;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  margin: 10px;
  cursor: pointer;
}
.carousel-pagination span.active {
  background-color: #e7a448;
}

.bxslider {
  margin: 0;
  padding: 0;
}

ul.bxslider {
  list-style: none;
}

.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
}

.bx-wrapper {
  position: relative;
  margin-bottom: 60px;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  background: #fff;
  border-radius: 4px;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bx-wrapper .bx-pager {
  position: absolute;
  bottom: -60px;
  width: 100%;
  text-align: center;
  font-size: 0.85rem;
  font-family: Arial;
  font-weight: bold;
  color: #212121;
  padding: 22px 0;
  background: rgba(0, 0, 0, 0.7);
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;
  text-indent: -9999px;
  display: block;
  width: 12px;
  height: 12px;
  margin: 0 10px;
  outline: 0;
  border-radius: 50%;
}
.bx-wrapper .bx-controls-direction {
  display: none;
}

/* PAGER */
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #e7a448;
}

.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}

.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url("images/bx_loader.gif") center center no-repeat #ffffff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

/* MEDIA QUERIES
==========================================================================================*/
/* IPAD WIDTH
============================================================================================================ */
@media (min-device-width: 768px) {
  section.section--level-1 .noir-1 #level-1--top::before {
    --image-x: 0px;
    --image-y: 40px;
  }
  section.section--level-2 .story-text {
    margin: 0 50% 0 1rem;
  }
}
/* IPAD WIDTH (LANDSCAPE)
============================================================================================================ */
@media (min-device-width: 1024px) {
  /*
  TYPE --------------------------------------*/
  h1 {
    margin: 1.5em 0 1rem;
  }
  /*
  CAROUSEL --------------------------------- */
  .bx-wrapper .bx-pager.bx-default-pager a {
    width: 10px;
    height: 10px;
    margin: 0 5px;
  }
  .bx-wrapper .bx-controls-direction {
    display: block;
  }
  .bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 50%;
    transform: translateY(-20px);
    outline: 0;
    width: 40px;
    height: 40px;
    color: transparent;
    text-indent: 0;
    z-index: 50;
    background: rgba(0, 0, 0, 0.75);
  }
  .bx-wrapper .bx-controls-direction a.disabled {
    display: none;
  }
  .bx-wrapper .bx-controls-direction .bx-prev:after, .bx-wrapper .bx-controls-direction .bx-next:after {
    font-family: "Font Awesome 7 Free";
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-8px, -12px);
  }
  .bx-wrapper .bx-controls-direction .bx-prev {
    left: 0;
  }
  .bx-wrapper .bx-controls-direction .bx-prev:after {
    content: "\f053";
  }
  .bx-wrapper .bx-controls-direction .bx-prev:hover, .bx-wrapper .bx-controls-direction .bx-prev:focus {
    background: #000;
  }
  .bx-wrapper .bx-controls-direction .bx-next {
    right: 0;
  }
  .bx-wrapper .bx-controls-direction .bx-next:after {
    content: "\f054";
  }
  .bx-wrapper .bx-controls-direction .bx-next:hover, .bx-wrapper .bx-controls-direction .bx-next:focus {
    background: #000;
  }
  .bx-wrapper .bx-wrapper .bx-pager.bx-default-pager a {
    width: 10px;
    height: 10px;
    margin: 0 5px;
  }
  /* ----- */
  .section--entry .wrapper, .section--level-1 .wrapper, .section--level-2 .wrapper, .section--level-3 .wrapper {
    width: calc(100% - 2rem);
    max-width: 1400px;
  }
  .section--entry .wrapper .wrapper--carousel, .section--level-1 .wrapper .wrapper--carousel, .section--level-2 .wrapper .wrapper--carousel, .section--level-3 .wrapper .wrapper--carousel {
    margin: 0 auto;
    width: calc(1024px - 4rem);
  }
  section {
    text-align: left;
  }
  section.section--entry .wrapper {
    position: relative;
  }
  section.section--entry article {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 20%;
  }
  section.section--entry article .title {
    font-size: 4rem;
    min-height: 300px;
  }
  section.section--entry article .title h1 {
    line-height: 4.5rem;
    text-shadow: 3px 2px 6px rgba(0, 0, 0, 0.09);
  }
  section.section--entry article .title h1 span {
    transform: translateX(72px);
  }
  section.section--entry article .intro-text div {
    text-align: left;
  }
  section.section--level-1, section.section--level-2 {
    background-image: url("/_assets/img/highway-bg--x2.jpg");
  }
  section.section--level-1 .story-text, section.section--level-2 .story-text {
    text-align: left;
    padding: 3.5rem 1rem;
    box-sizing: border-box;
    font-size: 0.9rem;
  }
  section.section--level-1 .folio-desc, section.section--level-2 .folio-desc {
    background: rgba(0, 0, 0, 0.7);
    text-align: left;
  }
}
/* DESKTOP (SMALL) WIDTH
============================================================================================================ */
@media (min-width: 1366px) {
  .section--entry .wrapper, .section--level-1 .wrapper, .section--level-2 .wrapper, .section--level-3 .wrapper {
    width: calc(100% - 2rem);
    max-width: 1400px;
    margin: 0 auto;
    padding: inherit;
  }
  .section--entry .wrapper .wrapper--carousel, .section--level-1 .wrapper .wrapper--carousel, .section--level-2 .wrapper .wrapper--carousel, .section--level-3 .wrapper .wrapper--carousel {
    margin: 0 auto;
  }
  .bx-wrapper .bx-pager {
    background: none;
  }
  section {
    text-align: left;
    background-image: url("/_assets/img/highway-bg--x2.jpg");
    background-size: cover;
  }
  section.section--entry article {
    gap: 30%;
  }
  section.section--entry article .title {
    font-size: 6rem;
  }
  section.section--entry article .title h1 {
    top: -20px;
    left: -33px;
    line-height: 6.5rem;
  }
  section.section--level-1, section.section--level-2 {
    background-image: url("/_assets/img/highway-bg--x2.jpg");
  }
  section.section--level-1 .noir-1, section.section--level-1 .noir-2, section.section--level-2 .noir-1, section.section--level-2 .noir-2 {
    padding-bottom: 4rem;
  }
  section.section--level-1 .noir-1 #level-1--top, section.section--level-1 .noir-1 #level-2--top, section.section--level-1 .noir-2 #level-1--top, section.section--level-1 .noir-2 #level-2--top, section.section--level-2 .noir-1 #level-1--top, section.section--level-2 .noir-1 #level-2--top, section.section--level-2 .noir-2 #level-1--top, section.section--level-2 .noir-2 #level-2--top {
    width: 100%;
    height: 550px;
  }
  section.section--level-1 .noir-1 #level-1--top::before, section.section--level-1 .noir-1 #level-2--top::before, section.section--level-1 .noir-2 #level-1--top::before, section.section--level-1 .noir-2 #level-2--top::before, section.section--level-2 .noir-1 #level-1--top::before, section.section--level-2 .noir-1 #level-2--top::before, section.section--level-2 .noir-2 #level-1--top::before, section.section--level-2 .noir-2 #level-2--top::before {
    background-size: contain;
  }
  section.section--level-1 .noir-1 .wrapper .wrapper--carousel, section.section--level-1 .noir-2 .wrapper .wrapper--carousel, section.section--level-2 .noir-1 .wrapper .wrapper--carousel, section.section--level-2 .noir-2 .wrapper .wrapper--carousel {
    position: relative;
    z-index: 2;
    box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.3);
    background: none;
    padding: 0;
    width: 1024px;
    margin: -200px auto 0 auto;
  }
  section.section--level-1 .noir-1 .story-text, section.section--level-1 .noir-2 .story-text, section.section--level-2 .noir-1 .story-text, section.section--level-2 .noir-2 .story-text {
    text-align: left;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    opacity: 0.7;
  }
  section.section--level-1 .noir-1 .folio-desc, section.section--level-1 .noir-2 .folio-desc, section.section--level-2 .noir-1 .folio-desc, section.section--level-2 .noir-2 .folio-desc {
    background: none;
  }
  section.section--level-1 .noir-1 .folio-desc .flex-50, section.section--level-1 .noir-2 .folio-desc .flex-50, section.section--level-2 .noir-1 .folio-desc .flex-50, section.section--level-2 .noir-2 .folio-desc .flex-50 {
    display: flex;
    margin-top: 2rem;
    padding-bottom: 2rem;
  }
  section.section--level-1 .noir-1 .folio-desc .flex-50 div, section.section--level-1 .noir-2 .folio-desc .flex-50 div, section.section--level-2 .noir-1 .folio-desc .flex-50 div, section.section--level-2 .noir-2 .folio-desc .flex-50 div {
    flex: 1;
  }
  section.section--level-1 .noir-1 .folio-desc .flex-50 .story-end, section.section--level-1 .noir-1 .folio-desc .flex-50 .tools, section.section--level-1 .noir-2 .folio-desc .flex-50 .story-end, section.section--level-1 .noir-2 .folio-desc .flex-50 .tools, section.section--level-2 .noir-1 .folio-desc .flex-50 .story-end, section.section--level-2 .noir-1 .folio-desc .flex-50 .tools, section.section--level-2 .noir-2 .folio-desc .flex-50 .story-end, section.section--level-2 .noir-2 .folio-desc .flex-50 .tools {
    padding: 1rem 1rem 0 0;
  }
  section.section--level-1 .noir-1 .folio-desc .flex-50 .tools, section.section--level-1 .noir-2 .folio-desc .flex-50 .tools, section.section--level-2 .noir-1 .folio-desc .flex-50 .tools, section.section--level-2 .noir-2 .folio-desc .flex-50 .tools {
    font-size: 1rem;
  }
  section.section--level-1 .noir-1 .folio-desc .flex-50 .story-end, section.section--level-1 .noir-2 .folio-desc .flex-50 .story-end, section.section--level-2 .noir-1 .folio-desc .flex-50 .story-end, section.section--level-2 .noir-2 .folio-desc .flex-50 .story-end {
    text-indent: 50px;
    border-top: none;
    border-left: 1px solid #ccc;
  }
  section.section--level-1 .noir-1 .folio-desc .flex-50 .story-end p, section.section--level-1 .noir-2 .folio-desc .flex-50 .story-end p, section.section--level-2 .noir-1 .folio-desc .flex-50 .story-end p, section.section--level-2 .noir-2 .folio-desc .flex-50 .story-end p {
    transform: skew(5deg, -5deg);
    width: 75%;
    padding: 2rem 0 0 4rem;
    box-sizing: border-box;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
  }
  section.section--level-1 .noir-1 {
    background: none;
  }
  section.section--level-1 .noir-1 #level-1--top {
    background-color: #e7a448;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 0 100%);
  }
  section.section--level-1 .noir-1 #level-1--top::before {
    --image-x: 0%;
    --image-y: 0%;
  }
  section.section--level-1 .noir-1 #level-1--top .story-text {
    transform: translate(0, 50px) skew(2deg, -2deg);
    margin: 0 0 0 25%;
  }
  section.section--level-1 .noir-1 #level-1--top .story-text span {
    transform: translate(40px, 10px) skew(3deg, 359deg);
  }
  section.section--level-1 .folio-desc .flex-50 .story-end {
    background: url("/_assets/img/woman-eyes.png") no-repeat right bottom;
    background-size: contain;
    opacity: 0.7;
  }
  section.section--level-2 .noir-2 {
    background: none;
  }
  section.section--level-2 .noir-2 #level-2--top {
    background-color: #990000;
    clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 60%);
  }
  section.section--level-2 .noir-2 #level-2--top::before {
    --image-x: 100%;
    --image-y: 100%;
  }
  section.section--level-2 .noir-2 #level-2--top h2 {
    transform: translate(30px, 20px) rotate(1.5deg);
    position: absolute;
  }
  section.section--level-2 .noir-2 #level-2--top .story-text {
    transform: translate(0, 110px) skew(-3deg, 3deg);
    margin: 0 25% 0 30%;
  }
  section.section--level-2 .folio-desc .flex-50 .story-end {
    background: url("/_assets/img/street-lg.png") no-repeat right bottom;
    background-size: contain;
    opacity: 0.5;
  }
}
/* DESKTOP (LARGE) WIDTH
============================================================================================================ */
@media (min-width: 1920px) {
  section.section--level-1 .noir-1 #level-1--top, section.section--level-1 .noir-1 #level-2--top, section.section--level-1 .noir-2 #level-1--top, section.section--level-1 .noir-2 #level-2--top, section.section--level-2 .noir-1 #level-1--top, section.section--level-2 .noir-1 #level-2--top, section.section--level-2 .noir-2 #level-1--top, section.section--level-2 .noir-2 #level-2--top {
    height: 650px;
  }
  section.section--level-1 .noir-1 .wrapper .wrapper--carousel, section.section--level-1 .noir-2 .wrapper .wrapper--carousel, section.section--level-2 .noir-1 .wrapper .wrapper--carousel, section.section--level-2 .noir-2 .wrapper .wrapper--carousel {
    margin: -300px auto 0 auto;
  }
  section.section--level-1 .noir-1 #level-1--top::before {
    --image-x: 0%;
    --image-y: 100%;
  }
  section.section--level-1 .noir-1 #level-1--top .story-text {
    transform: translate(0, 50px) skew(2deg, -2deg);
    margin: 0 0 0 10%;
  }
  section.section--level-2 .noir-2 #level-2--top h2 {
    transform: translate(30px, 20px) rotate(1.5deg);
    position: absolute;
  }
  section.section--level-2 .noir-2 #level-2--top .story-text {
    transform: translate(0, 110px) skew(-3deg, 3deg);
    margin: 0 25% 0 30%;
  }
}
@media (min-width: 2560px) {
  section.section--level-1 .noir-1 #level-1--top .story-text {
    transform: translate(0, 30px) skew(2deg, -2deg);
  }
  section.section--level-1 .noir-1 #level-1--top .story-text span {
    transform: translate(40px, 10px) skew(3deg, 359deg);
  }
  section.section--level-2 .noir-2 #level-2--top .story-text {
    transform: translate(0, 110px) skew(4deg, -4deg);
    margin: 0 0 0 50%;
  }
}