/* bebas-neue-regular - latin */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-v9-latin/bebas-neue-v9-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/bebas-neue-v9-latin/bebas-neue-v9-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/bebas-neue-v9-latin/bebas-neue-v9-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/bebas-neue-v9-latin/bebas-neue-v9-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/bebas-neue-v9-latin/bebas-neue-v9-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/bebas-neue-v9-latin/bebas-neue-v9-latin-regular.svg#BebasNeue') format('svg'); /* Legacy iOS */
}

/* crimson-pro-300 - latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300.svg#CrimsonPro') format('svg'); /* Legacy iOS */
}
/* crimson-pro-300italic - latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/crimson-pro-v23-latin/crimson-pro-v23-latin-300italic.svg#CrimsonPro') format('svg'); /* Legacy iOS */
}

/* CSS RESET
---------------------------------------------- */
* {
  box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
  word-break: break-word;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td {
  vertical-align: top;
}
h1, h2, h3, h4, h5 {
  margin-block-start: 0em;
  margin-block-end: 0em;
  font-weight: normal;
  font-size: inherit
}
a {
  text-decoration: none;
  color: inherit;
  outline: none;
}
a:hover {
  outline: none;
}
a:focus,
button:focus {
  outline: none;
}
a:focus-visible{
  outline: 2px solid var(--second-color);
  outline-offset: 3px;
}
a:focus-visible {
  background: none;
}
p {
  margin-block-start: 0rem;
  margin-block-end: 0rem;
  margin-bottom: 1em;
}
p:last-of-type {
  margin-bottom: 0rem;
}
figure {
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}
button {
  background: transparent;
  box-shadow: 0px 0px 0px transparent;
  border: 0px solid transparent;
  text-shadow: 0px 0px 0px transparent;
  padding: 0;
  font-family: inherit;
  color: inherit
}
button:active {
  outline: none;
  border: none;
}
button:focus {
  outline: 0;
}
ol li:not(:last-of-type) {
  margin-bottom: 0rem;
}
ol.unstyled-list, ul.unstyled-list, .unstyled-list ul{
  display: block;
  list-style-type: none;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-inline-start: 0px;
}
li.unstyled-list-item {
  display: block;
  text-align: -webkit-match-parent;
}
dd {
  margin-inline-start: 0px;
}
*:focus{
  outline: none;
}
input {
  border-radius: 0;
}
textarea, input[type=text], input[type=button], input[type="submit"], input[type="email"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  -moz--border-radius: 0;
  font-weight: inherit;
  font-family: inherit;
  border-width: 0px;
  border-style: initial;
  border-color: initial;
  border-image: initial;
  border: none;
  width: 100%;
  padding: 0px;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-block-start: 0em;
  padding-inline-start: 0em;
  padding-inline-end: 0em;
  padding-block-end: 0em;
  min-inline-size: min-content;
}


/* VARIABLES
---------------------------------------------- */

:root {
  --background: #ffffff;
  --text: #000000;
  --top-padding: 20px;
  --side-padding: 19px;
  --vh:;
  --heading-font: 'Bebas Neue', Arial Narrow, sans-serif;
  font-size: var(--font-size);
  font-family: 'Crimson Pro', serif;
  color: var(--text);
}
body {
  -webkit-font-smoothing: antialiased;
  background: var(--background);
}
html {
  scroll-behavior: smooth;
}
/* DESKTOP VARIABLES
---------------------------------------------- */
@media screen and (max-width: 768px) {
  :root {
    --top-padding: 8px;
    --side-padding: 8px;
    --font-size: 20px;
  }
}
/* GLOBAL
---------------------------------------------- */
.visually-hidden {
  position:absolute !important;
  overflow:hidden;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  clip:rect(0 0 0 0);
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap:normal !important
}
.hidden-on-mobile {
  display: block;
}
.hidden-on-desktop {
  display: none;
}
.center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.text-align-center {
  text-align: center;
}
img {
  width: 100%;
  height: auto;
  display: block;
}
.heading-font {
  font-family: var(--heading-font);
  font-size: 18px
}
p, .paragraph {
  font-size: .875rem;
}
.italic {
  font-style: italic;
}
main {
  margin-left: 34vw;
}

/* LOADER
---------------------------------------------- */
.loader-container {
  position: absolute;
  width: 100vw;
  height: 100vh;
  background-color: black;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
@keyframes fadeIn {
  from {
    opacity: 0;
 }
}
.loader-container svg {
  width: 35%;
  height: auto;
  -webkit-animation: fadeIn ease 1s infinite alternate;
  -moz-animation: fadeIn ease 1s infinite alternate;
  -o-animation: fadeIn ease 1s infinite alternate;
  animation: fadeIn ease 1s infinite alternate;
}

/* NAV AREA
---------------------------------------------- */
.logo-container svg mask {
  fill: var(--text);
}
.logo-container svg mask rect {
  fill: var(--background);
}
.logo-container svg .stroke {
  stroke: var(--text);
}
.nav-area {
  padding: var(--top-padding) var(--side-padding);
  position: fixed;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  width: 34vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.nav-area svg {
  width: 100%;
  height: auto
}
summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display:none;
}

/* IMAGE AREA
---------------------------------------------- */
.image-area {
  padding: var(--top-padding) var(--side-padding);
  width: 46vw;
}
.image-area picture {
  display: block;
}
.image-area>div:not(:last-of-type) .img-container picture, .image-area>div:not(:last-of-type) .video-container {
  margin-bottom: var(--top-padding)
}
.video-container {
  width: 100%
}
.video-wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.project-card h3 {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important; 
}

/* TEXT AREA
---------------------------------------------- */
.text-area {
  padding: var(--top-padding) var(--side-padding);
  width: 20vw;
  position: sticky;
  top: 0
}

/* HOME
---------------------------------------------- */
.home-template main {
  margin-left: 54vw;
}

/* TOCBOT
---------------------------------------------- */
.toc {
  overflow-y: auto
}
.toc>.toc-list {
  overflow: hidden;
  position: relative
}
.toc>.toc-list li {
  list-style: none
}
.toc-list {
  margin: 0;
  padding-left: 0px;
  list-style-type: none;
}
a.toc-link {
  color: currentColor;
  height: 100%
}
.is-collapsible {
  max-height: 1000px;
  overflow: hidden;
  transition: all 0ms ease-in-out
}
.is-collapsed {
  max-height: 0
}
.is-position-fixed {
  position: fixed !important;
  top: 0;
}
.is-active-link {
  
}
.node-name--H2 {
  font-family: var(--heading-font);
  font-size: 18px
}
.node-name--H3 {
  font-size: .875rem;
  font-style: italic;
}
ol ol.toc-list .toc-list-item::before {
  content: '..... ';
  padding-left: 14px;
  font-size: .875rem;
}
ol ol.toc-list .toc-list-item.is-active-li::before {
  content: '..:.. ';
}
ol ol.toc-list .toc-list-item:last-of-type {
  margin-bottom: .45rem;
}

/* PROJECT
---------------------------------------------- */
.project-template main {
  display: flex;
  align-items: flex-start;
}
.project-description {
  margin-top: 1rem;
}
.text-area {
  font-size: .875rem
}

/* CONTACT
---------------------------------------------- */
.contact-template .text-area {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100vh
}
.form-wrapper {
  margin-bottom: 18vh
}
.honeypot {
  position: absolute;
  left: -9999px;
}
textarea {
  font-family: inherit;
  color: var(--text);
  opacity: 1;
  font-size: inherit;
  resize: none;
  height: 10vh;
}
#form input[type=text], #form input[type=email] {
  font-size: inherit;
}
#form ::placeholder, select { 
  color: var(--text);
  opacity: 1;
  font-size: inherit;
}
#form :-ms-input-placeholder { 
  color: var(--text);
  opacity: 1;
  font-size: inherit;
}
#form ::-ms-input-placeholder {
  color: var(--text);
  opacity: 1;
  font-size: inherit;
}
.form-bottom {
  margin-top: 1rem;
}
input[type=submit] {
  border: 0;
  border-radius: 0rem;
  background: transparent;
  color: var(--text);
  font-family: var(--heading-font);
  white-space: nowrap;
  margin: 0rem;
  margin-left: 2rem;
  margin-top: 2rem;
  cursor: pointer;
  width: initial;
  float: right;
  line-height: .9;
}

/* MENU MODAL
---------------------------------------------- */
#openMenu {
  font-size: inherit;
  margin: 0;
  border: none;
  box-shadow: none;
}
.menu-overlay {
  display: none;
  position: fixed;
  z-index: 1;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: black;
  color: white;
  padding: var(--top-padding) var(--side-padding)
}
.menu-overlay *::-webkit-scrollbar {
  display: none;
}
.menu-overlay * {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.menu-overlay.visible {
  display: block;
}
.menu-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.text-area-mob, .nav-header-mob, .hidden-on-desktop {
  display: none
}
@media screen and (max-width: 1000px) {
  .home-template main {
    margin-left: 34vw;
  }
  .image-area, .text-area {
    width: 66vw;
  }
  .project-template .text-area {
    display: none
  }
  .project-description {
    margin-top: var(--top-padding);
  }
  p {
    margin-bottom: var(--top-padding)
  }
  .text-area-mob {
    display: block;
    margin-bottom: var(--top-padding);
    padding-bottom: var(--top-padding);
  }
}
@media screen and (max-width: 768px) {
  .loader-container svg {
    width: 90%;
  }
  .hidden-on-desktop {
    display: block;
  }
  .hidden-on-mobile {
    display: none;
  }
  .heading-font, .node-name--H2 {
    font-size: 28px
  }
  .project-card {
    display: flex;
    flex-direction: column-reverse;
  }
  .project-card h3 {
    position: initial !important;
    overflow: initial;
    width: initial;
    height: initial;
    margin: initial;
    padding: initial;
    border: initial;
    clip: initial;
    clip: initial;
    word-wrap: initial !important; 
    padding-bottom: calc(var(--top-padding) + 4px);
  }
  .image-area>div .img-container picture {
    margin-bottom: var(--top-padding);
  }
  .nav-header-mob {
    display: flex;
    justify-content: space-between;
    position: fixed;
    top: 0px;
    width: 100%;
    padding: var(--top-padding) var(--side-padding);
    z-index: 2;
  }
  .image-area, .text-area {
    width: 100vw;
  }
  main {
    padding-top: 36px;
    margin-left: 0vw;
  }
  .home-template main {
    margin-left: initial
  }
  .nav-area {
    display: none;
    z-index: 1;
  }
  .contact-template main {
    padding-top: 0px;
  }
  .contact-template .text-area {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 40px;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100)
  }
  .form-wrapper {
    margin-bottom: 0vh
  }
  .node-name--H3 {
    font-size: 1rem;
  }
}
