/* FONTS */
/*  global usage */
body {
  font-family: haas, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
}
/* HAAS */
@font-face {
  font-family: haas;
  src: url(haas-text-400.woff2) format(woff2);
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* HAAS DISPLAY */
@font-face {
  font-family: haas-display;
  src: url(haas-disp-400.woff2) format(woff2);
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: haas-display;
  src: url(haas-disp-700.woff2) format(woff2);
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


/* COLOURS */
:root {
  --black: #000000;
  --white: #ffffff;
  --blue: #2300e1;
  --orange: #ed5d1d;
}

/* TEMPLATE */
h1 {
  font-family: haas-display;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}
h2 {
  font-family: haas-display;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.125;
  margin: 1rem 0;
}
h3 {
  font-family: haas-display;
  font-weight: 700;
  font-size: 2rem;
  text-transform: uppercase;
  line-height: 1.25;
  margin: 3rem 0;
  text-align: justify;
}
h4 {
  font-family: haas-display;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.125;
  margin-bottom: 1rem;
}
h5 {
  font-family: haas;
  font-size: 1.25rem;
  line-height: 1.5;
  text-transform: uppercase;
  font-family: haas-display;
  font-weight: 700;
}
p {
  font-family: haas;
  font-size: 1.25rem;
  line-height: 1.25;
  text-align: justify;
  /* margin-top: 1rem; */
}
a {
  /* text-decoration: none; */
  text-transform: uppercase;
}
body {
  display: flex;
  flex-direction: row;
}
.left a {
  color: var(--white);
}
.right a {
  color: var(--black);
}
.margin-top-one {
  margin-top: 1rem;
}
.margin-top-two {
  margin-top: 2rem;
}
.margin-top-three {
  margin-top: 3rem !important;
}
.margin-top-four {
  margin-top: 4rem;
}
.margin-minus-px {
  margin: -1px 0 0 0;
}
.space_between {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.color-white {
  color: white !important;
}
.color-blue {
  color: var(--blue) !important;
}
.color-black {
  color: var(--black) !important;
}
.background-blue {
  background-color: var(--blue);
  color: var(--white);
}
.background-gradient {
  background: linear-gradient(to bottom, var(--blue) 0%, var(--white) 100%);
}
.text-align-center {
  text-align: center;
}
.text-align-last {
  text-align-last: justify;
}

/* SECTION SCROLLING  */
html,
body {
  height: 100%;
  margin: 0;
  overflow: hidden; /* prevent the body from scrolling */
}
section.left {
  width: 40vw;
  /*   height: fit-content; */
  background-color: var(--blue);
  color: var(--white);
  display: flex;
  flex-direction: column;
  padding: 2rem;
}
section.right {
  width: 60vw;
  color: var(--black);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-y: scroll;
}
section.left,
section.right {
  height: 100vh; /* full viewport height */
  overflow-y: auto; /* enable vertical scrolling individually */
  /*   padding: 2rem; */
  box-sizing: border-box;
  scroll-behavior: smooth;
}

/* LEFT SECTION SCROLLBAR */
/* Hide native scrollbar  */
/* For WebKit browsers (Chrome, Safari, Edge) */
.left::-webkit-scrollbar,
.right::-webkit-scrollbar {
  width: 0px; /* hide scrollbar */
  background: transparent; /* optional */
}
/* For Firefox */
.left,
.right {
  scrollbar-width: none; /* hide scrollbar */
  -ms-overflow-style: none; /* hide scrollbar in IE 10+ */
}

/* Wrappers fill viewport */
.left-wrapper,
.right-wrapper {
  position: relative;
  min-height: 100vh;
  overflow: visible;
}
.left,
.right {
  height: 100%;
  overflow-y: scroll;
  box-sizing: content-box;
  padding-right: 0; /* no need for extra space if native scrollbar hidden */
  -ms-overflow-style: none; /* IE 10+ */
  scrollbar-width: none; /* Firefox */
}
.left::-webkit-scrollbar,
.right::-webkit-scrollbar {
  width: 0;
  background: transparent;
}
/* Base scrollbar */
.scrollbar {
  position: absolute;
  width: 8px;
  height: 80px;
}
/* LEFT scrollbar */
.left-scrollbar {
  top: 0;
  left: calc(40vw - 7.5px);
  background-color: var(--white);
}
/* RIGHT scrollbar */
.right-scrollbar {
  top: 0;
  left: 40vw;
  background-color: var(--blue);
}

/* LEFT SECTION CONTETNT */
.hannah-hero {
  justify-content: center;
  align-items: center;
}
.hannah-hero img {
  width: 25vw;
  height: auto;
  aspect-ratio: 4 / 5;
  margin: 2rem 2rem 2rem 10vw;
  /*   filter: drop-shadow(1px 2px 2px #ffffff); */
  filter: drop-shadow(2px 2px 2px #010101);
  z-index: 9999999999;
}

div.content {
  padding: 0 0 3rem 0;
}
footer h3 {
  margin: 0 0 3rem 0;
}

/* RIGHT SECTION CONTENT */
.view_height {
  min-height: 100vh;
  flex-shrink: 0;
}
section.right .view_height {
  padding: 2rem;
}
div.scroll {
  position: absolute;
  text-align: center;
  width: 60vw;
  height: 100vh;
  top: 50%;
  transition: opacity 0.4s ease;
  pointer-events: none; /* prevents blocking scroll */
}
.scroll.is-hidden {
  opacity: 0;
}

.column_two {
  padding: 0 0 0.5rem 3rem;
}

.space-between {
  justify-content: space-between;
}

/* WORDMARK ANIMATION  */
/* Scroll distance for animation */
.logo-stage {
  min-height: 200vh; /* controls animation duration */
  position: relative;
}
/* Pinned viewport */
.logo-pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* SVG sizing */
.fg-logo {
  width: 25vw;
  height: auto;
  overflow: visible;
}
/* Crisp pixels */
.fg-logo rect {
  shape-rendering: crispEdges;
  transform-box: fill-box;
  transform-origin: center;
}


/* MOBILE */
.site-mobile {
  height: 100vh; /* critical */
  overflow-y: auto; /* critical */
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}
.site-desktop {
  display: flex;
  flex-direction: row;
}
.logo-mobile {
  width: 75vw;
  margin: 0 auto;
}
section.intro-mobile {
  align-content: center;
}
/* Each "slide" */
.snap-slide {
  min-height: 100svh;
  min-height: 100vh;
  height: auto !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.scroll-prompt {
  width: 35vw;
  position: relative;
  margin: 3rem 1rem 0 auto;
}
img.back_up {
  width: 35vw;
  z-index: 9999;
  pointer-events: auto !important;
  cursor: pointer;
}
/* The moving wrapper */
.intro-mobile {
  position: relative;
  width: 100%;
  min-height: 100vh;
  padding: 1.5rem;
  overflow: hidden;
  justify-content: center;
}
.mobile-space {
  padding: 3rem 1.5rem 4.5rem 1.5rem !important;
}
/* MOBILE FOOTER  */
.site-mobile footer {
  background: linear-gradient(to bottom, var(--white) 0%, var(--blue) 80%);
}

@media (max-width: 1200px) {
  html,
  body {
    height: 100%;
    font-size: 12px !important;
    background-color: var(--white);
    color: var(--black);
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .site-desktop {
    display: none;
  }
  .site-mobile {
    display: flex;
    flex-direction: column;
  }
  .hannah-hero img {
    margin: 3rem !important;
    width: 50vw !important;
  }
  .hannah-hero {
    display: flex !important;
    justify-content: right !important;
  }
  div.content {
    /*     padding: 0 !important; */
  }
  div.view_height {
    padding: 1.5rem !important;
  }
}