* {
    box-sizing: border-box;
  }

html, body {
  margin:0;
  height:100%;
  background-color:#333333;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

/* type */

@font-face { font-family: IBMPlexMono-Regular; src: url('assets/IBMPlexMono-Regular.otf'); }
@font-face { font-family: IBMPlexMono-Light; src: url('assets/IBMPlexMono-Light.otf'); }
@font-face { font-family: IBMPlexMono-LightItalic; src: url('assets/IBMPlexMono-LightItalic.otf'); }
@font-face { font-family: IBMPlexMono-Medium; src: url('assets/IBMPlexMono-Medium.otf'); }

h1 {
  font-family: IBMPlexMono-Regular, sans-serif;
  font-size: 3.5em;
  text-align: left;
  color: #FFFFFF;
  line-height: 1.2;
}

@media (max-width: 600px) {
h1 {
  font-size: 2.5em;
  }
}

h2 {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 2.1em;
  text-align: left;
  color: #FFFFFF;
  margin-top: 0px;
}

@media (max-width: 600px) {
h2 {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1.8em;
  text-align: left;
  color: #FFFFFF;
  margin-top: 1.0em;
  margin-bottom: 0px;
  }
}

h3 {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 2.1em;
  text-align: left;
  color: #FFFFFF;
  margin-top: 0.5em;
  margin-bottom: 0px;
}

@media (max-width: 800px) {
h3 {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1.1em;
  text-align: left;
  color: #FFFFFF;
  margin-top: 1.0em;
  margin-bottom: 0px;
  }
}

h4 {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 2.1em;
  text-align: left;
  color: #929292;
  margin-top: 0px;
  margin-bottom: 0px;
}

@media (max-width: 800px) {
h4 {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1.2em;
  text-align: left;
  color: #929292;
  margin-top: 0px;
  margin-bottom: 0px;
  }
}

h5 {
  font-family: IBMPlexMono-Medium, sans-serif;
  font-size: 1em;
  text-align: left;
  color: #FFFFFF;
}

@media (max-width: 800px) {
h5 {
  font-family: IBMPlexMono-Medium, sans-serif;
  font-size: 1em;
  text-align: left;
  margin-top: 1.25em;
  margin-bottom: -1.25em;
  }
}

.intro {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1.5em;
  text-align: center;
  color: #929292;
  line-height: 1.5;
}

@media (max-width: 800px) {
.intro {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  }
}

.manifesto {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  text-align: left;
  padding-left: 50px;
  padding-right: 50px;
  color: #333333;
  line-height: 1.5;
}

@media (max-width: 800px) {
.manifesto {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  line-height: 1.5;
  padding-left: 1.5em;
  padding-right: 1.5em;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.manifesto {
  font-size: 0.6em;
  line-height: 1.25;
  width: 100%;
  padding-left: 2em;
  padding-right: 2em;
  }
}

.date {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 0.35em;
  text-transform: uppercase;
  letter-spacing: 5px;
  text-align: center;
  color: #FFFFFF;
}

@media (max-width: 600px) {
.date {
  font-size: 0.35em;
  }
}

.specs {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  text-align: center;
  color: #FFFFFF;
}

@media (max-width: 600px) {
.specs {
  font-size: 1.35em;
  }
}

p {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  color: #FFFFFF;
}

.textlink:link {
  color: white;
  text-decoration: none;
}

.textlink:visited {
  color: white;
  text-decoration: none;
}

.textlink:hover {
  color: white;
  opacity: 0.5;
  text-decoration: none;
}

.textlink:active {
  color: white;
  text-decoration: none;
}

/* imagery */

img {
  float: left;
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

video {
  float: left;
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* nav */

.logo {
  margin-left: 8.33%;
  float: left;
  position: relative;
  z-index: 100;
  font-family: IBMPlexMono-Medium, sans-serif;
  word-spacing: -0.25em;
  font-weight: 550;
  font-size: 1.2em;
  color: #000000;
  padding: 20px 0;
}

@media (max-width: 600px) {
  .logo {
   margin-right: 8.33%;
   float: left;
   font-family: IBMPlexMono-Light, sans-serif;
   font-size: 1.5em;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.logo {
   width: 24.8%;
   margin-left: 8.3%;
  }
}

.logo a{
  color: #000000;
  text-decoration: none;
  }

.logo-white {
  margin-left: 8.33%;
  float: left;
  position: relative;
  z-index: 100;
  font-family: IBMPlexMono-Medium, sans-serif;
  word-spacing: -0.25em;
  font-weight: 550;
  font-size: 1.2em;
  color: #FFFFFF;
  padding: 20px 0;
}

@media (max-width: 600px) {
  .logo-white {
   margin-right: 8.33%;
   width: 41.7%;
   float: left;
   font-family: IBMPlexMono-Light, sans-serif;
   font-size: 1.5em;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.logo-white {
   width: 41.7%;
   margin-left: 8.33%;
  }
}

.logo-white a{
  color: #FFFFFF;
  text-decoration: none;
  }

.collectionlogo {
  width:41.65%;
  margin:auto;
  margin-top:100px;
}

@media (max-width: 600px) {
 .collectionlogo {
   width:83.3%;
   margin:auto;
   margin-top:0px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.collectionlogo {
  width:41.65%;
  margin:auto;
  margin-top:100px;
  }
}

.menu {
  margin-right: 8.33%;
  float: right;
  position: relative;
  z-index: 100;
  font-family: IBMPlexMono-Light, sans-serif;
  font-weight: light;
  font-size: 1.2em;
  color: #000000;
  padding: 20px 0;
}

@media (max-width: 600px) {
  .menu {
   margin-right:8.33%;
   float: right;
   padding: 20px 0;
   width: 7.5%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.menu {
   margin-right: 8.33%;
   float: right;
   width: 3.75%;
  }
}

.menu a{
  color: #000000;
  text-decoration: none;
  }

.menu-white {
  margin-right: 8.33%;
  float: right;
  position: relative;
  z-index: 100;
  font-family: IBMPlexMono-Light, sans-serif;
  font-weight: light;
  font-size: 1.2em;
  color: #FFFFFF;
  padding: 20px 0;
}

@media (max-width: 600px) {
  .menu-white {
   margin-right: 8.33%;
   float: right;
   padding: 28px 0;
   width: 3.0%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.menu-white {
   margin-right: 8.33%;
   float: right;
  }
}

.menu-white a{
  color: #FFFFFF;
  text-decoration: none;
  }

.menu-gray {
  margin-right: 8.33%;
  float: right;
  position: relative;
  z-index: 100;
  font-family: IBMPlexMono-Light, sans-serif;
  font-weight: light;
  font-size: 1.2em;
  color: #8b8680;
  padding: 20px 0;
}

@media (max-width: 600px) {
  .menu-gray {
   margin-right: 8.33%;
   float: right;
   padding: 28px 0;
   width: 3.0%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.menu-gray {
   margin-right: 8.33%;
   float: right;
  }
}

.menu-gray a{
  color: #8b8680;
  text-decoration: none;
  }

.nav-wide{
   z-index:100;
}

.nav-small{
   display: none;
}

@media only screen and (max-width: 800px){
   .nav-wide{
     display: none;
   }

   .nav-small{
     display: block;
     z-index:1000;
   }
}

.overlay {
  height: 0%;
  width: 100%;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  background-color: #333333;
  overflow-y: hidden;
  transition: 0.5s;
}

.overlay-content {
  position: relative;
  width: 100%;
  text-align: center;
  margin-top: 0px;
  color: #333333;
}

.overlay a {
  padding: 0px;
  text-decoration:none;
  font-size: 4em;
  font-family: IBMPlexMono-Light, sans-serif;
  line-height: 1.5em;
  color: #E1DEDB;
  display: block;
  transition: 0.3s;
}

@media (max-width: 600px) {
  .overlay a {
  padding: 0px;
  text-decoration:none;
  font-size: 2.5em;
  font-family: IBMPlexMono-Light, sans-serif;
  color: #333333;
  display: block;
  transition: 0.3s;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
   .overlay a{
     color: #333333;
     font-size: 3.5em;
   }
}

.overlay a:hover, .overlay a:focus {
  color: #333333;
}

.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
}

@media screen and (max-height: 450px) {
  .overlay {overflow-y: auto;}
  .overlay a {font-size: 20px}
  .overlay .closebtn {
  font-size: 40px;
  top: 15px;
  right: 35px;
  }
}

.menu1:hover {
  text-decoration: underline;
}

.menu2:hover {
  text-decoration: underline;
}

.menu3:hover {
  text-decoration: underline;
}

.menu4:hover {
  text-decoration: underline;
}

.menu5:hover {
  text-decoration: underline;
}

.overlaylogo {
  margin-left: 8.3%;
  float: left;
  font-family: IBMPlexMono-Light, sans-serif;
  word-spacing: -0.25em;
  font-weight: light;
  color: #FFFFFF;
  font-size: 1.5em;
  padding: 20px 0;
}

@media (max-width: 600px) {
  .overlaylogo {
   width: 41.7%;
   margin-left: 8.3%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .overlaylogo {
   width: 41.7%;
   margin-left: 8.33%;
  }
}

.close {
  margin-right: 8.3%;
  float: right;
  width: 3.4%;
  padding: 28px 0;
}

@media (max-width: 600px) {
  .close {
    margin-right: 8.33%;
    float: right;
    width: 7.5%;
    padding: 20px 0;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .close {
   margin-right: 8.33%;
   float: right;
   width: 3.75%;
   padding: 20px 0;
  }
}

.hover-underline-animation {
  display: inline-block;
  position: relative;
  color: #000000;
}

.hover-underline-animation:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1.5px;
  bottom: 0;
  left: 0;
  background-color: #000000;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.hover-underline-animation:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.selected-underline {
  text-decoration: underline;
  text-underline-position: under;
  text-underline-offset: -2.5px;
  text-decoration-thickness: 1.5px;
  color: #000000;
}

.hover-underline-animation-white {
  display: inline-block;
  position: relative;
  color: #FFFFFF;
}

.hover-underline-animation-white:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1.5px;
  bottom: 0;
  left: 0;
  background-color: #FFFFFF;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.hover-underline-animation-white:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.selected-underline-white {
  text-decoration: underline;
  text-underline-position: under;
  text-underline-offset: -2.5px;
  text-decoration-thickness: 1.5px;
  color: #FFFFFF;
}

.hover-underline-animation-gray {
  display: inline-block;
  position: relative;
  color: #8b8680;
}

.hover-underline-animation-gray:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1.5px;
  bottom: 0;
  left: 0;
  background-color: #8b8680;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.hover-underline-animation-gray:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.selected-underline-gray {
  text-decoration: underline;
  text-underline-position: under;
  text-underline-offset: -2.5px;
  text-decoration-thickness: 1.5px;
  color: #8b8680;
}

.logo-horizontal {
  margin-bottom: 50px;
  object-fit: contain;
}

@media (max-width: 600px) {
  .logo-horizontal {
   margin-bottom: 2em;
  }
}

.logo-sP {
  margin-left: 8.33%;
  width: 150px;
  float: left;
}

@media (max-width: 600px) {
  .logo-sP {
   width: 100%;
   margin-left: 0;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.logo-sP {
   width: 50%;
   margin-left: 0;
  }
}

.button {
  background-color: #333333;
  border: 1px solid;
  border-color: #FFFFFF;
  opacity: 1.0;
  padding: 15px 15px;
  width: 180px;
  font-family: IBMPlexMono-Light, sans-serif;
  color: white;
  text-decoration: none;
  display: inline-block;
  font-size: 1em;
  cursor: pointer;
  margin-top: 20px;
  margin-bottom: 75px;
  transition: border 0.5s;
}

.active, .button:hover {
  border: 1px solid transparent;
  color: white;
}

@media (max-width: 600px) {
  .button {
  background-color: #333333;
  border: 1px solid;
  border-color: #FFFFFF;
  opacity: 1.0;
  padding: 10px 15px;
  width: 50%;
  font-family: IBMPlexMono-Light, sans-serif;
  color: white;
  text-decoration: none;
  display: inline-block;
  font-size: 1em;
  cursor: pointer;
  margin-top: 15px;
  margin-bottom: 60px;
  transition: border 0.5s;
}
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.active, .button:hover {
  border: 1px solid transparent;
  color: white;
}
}

.viewall {
  background-color: #333333;
  border: 1px solid;
  border-color: #FFFFFF;
  opacity: 1.0;
  padding: 15px 15px;
  width: 180px;
  font-family: IBMPlexMono-Light, sans-serif;
  color: white;
  text-decoration: none;
  display: inline-block;
  font-size: 1em;
  cursor: pointer;
  margin: 20px;
  transition: border 0.5s;
}

.active, .viewall:hover {
  border: 1px solid transparent;
  color: white;
}

.active, .next:hover {
  border: 1px solid transparent;
  color: white;
}

.active, .previous:hover {
  border: 1px solid transparent;
  color: white;
}

.previous {
  background-color: #333333;
  border: 1px solid white;
  opacity: 1.0;
  padding: 15px 15px;
  width: 180px;
  font-family: IBMPlexMono-Light, sans-serif;
  color: white;
  text-decoration: none;
  display: inline-block;
  font-size: 1em;
  cursor: pointer;
  margin: 20px;
  transition: border 0.5s;
}

@media (max-width: 600px) {
  .previous {
   width: 40px;
   margin: 0px;
   border: 0px;
  }
}

.previous::before {
  content: "Previous";
}

.previous:hover {
  border: 1px solid transparent;
}

@media (max-width: 600px) {
  .previous::before {
    content: "";
  }
}

.next {
  background-color: #333333;
  border: 1px solid white;
  opacity: 1.0;
  padding: 15px 15px;
  width: 180px;
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  color: white;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  margin: 20px;
  transition: border 0.5s;
}

@media (max-width: 600px) {
  .next {
   width: 40px;
   margin: 0px;
   border: 0px;
  }
}

.next::after {
content: "Next";
}

.next:hover {
  border: 1px solid transparent;
}

@media (max-width: 600px) {
  .next::after {
   content: "";
  }
}

.flex-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* stage */

@media only screen and (min-width: 992px) {
.mobile-image {
display:none;
}
.desktop-image {
display:block;
}
}
/* show mobile hide desktop */
@media only screen and (max-width: 991px) {
.mobile-image {
display:block;
}
.desktop-image {
display:none;
}
}


#video-desktop {display: block;}
#video-mobile {display: none;}

@media screen and (max-width: 991px) {

#video-desktop {display: none;}
#video-mobile {display: block;}

}

#stage {
    border: 0px solid green;
  }

  #stage a {
    position: absolute;
  }

  #stage a img {
    width:100vw;
    height:100vh;
    box-sizing:border-box;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
    border: 0px solid red;
  }

  #stage a video {
    width:100vw;
    height:100vh;
    object-fit:cover;
    box-sizing:border-box;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
    border: 0px solid yellow;
  }

  #stage a::after {
    position: absolute;
    bottom: 2%;
    left: 0;
    transform: translateY(-50%);
    width: 83.4%;
    margin-left: 8.3%;
    margin-right: 8.3%;
    text-align: left;
    content: attr(title);
    font-family: IBMPlexMono-Light, sans-serif;
    font-weight: light;
    text-transform: uppercase;
    font-size: 1.2em;
    color: #FFFFFF;
  }

  #stage a:nth-of-type(1) {
    animation-name: fader;
    animation-delay: 4s;
    animation-duration: 1s;
    z-index: 20;
  }
  #stage a:nth-of-type(2) {
    z-index: 10;
  }
  #stage a:nth-of-type(n+3) {
    display: none;
  }

  @keyframes fader {
    from { opacity: 1.0; }
    to   { opacity: 0.0; }
  }

.stage-margin {
    position:relative; width:83.3%; margin-left:8.3%; height:100vh;
  }

@media (max-width: 600px) {

 #stage {
    border: 0px solid green;
  }

  #stage a {
    position: absolute;
  }

  #stage a img {
    width:100vw;
    height:85vh;
    object-fit:cover;
    box-sizing:border-box;
    background-size:contain;
    background-repeat:no-repeat;
    background-position: center center;
  }

  #stage a video {
    width:100vw;
    height:85vh;
    object-fit:cover;
    box-sizing:border-box;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
  }

  #stage a::after {
    position: absolute;
    bottom: 2%;
    left: 0;
    transform: translateY(-50%);
    width: 83.4%;
    margin-left: 8.3%;
    margin-right: 8.3%;
    text-align: left;
    content: attr(title);
    font-family: IBMPlexMono-Light, sans-serif;
    font-weight: light;
    font-size: 1.2em;
    color: #FFFFFF;
  }

.stage-margin {
    position:relative; width:83.3%; margin-left:8.3%; height:75vh;
  }

}

/* footer */

.footer-column {
  float: left;
  width: 25%;
  padding: 0px;
  height: 100%;
  margin-top: 25px;
}

@media (max-width: 600px) {
  .footer-column {
  float: left;
  width: 100%;
  padding: 0px;
  margin-top: 0;
  margin-bottom: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .footer-column {
  float: left;
  width: 50%;
  padding: 0px;
  margin-top: 0px;
  }
}

.footer-doublecolumn {
  float: left;
  width: 50%;
  padding: 0px;
  height: 100%;
  margin-top: 25px;
}

@media (max-width: 600px) {
  .footer-doublecolumn {
  float: left;
  width: 100%;
  padding: 0px;
  margin-top: 0;
  margin-bottom: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .footer-doublecolumn {
  float: left;
  width: 100%;
  padding: 0px;
  margin-top: 50px;
  font-size: 0.6em;
  }
}

.footer-mobilelandscape{
   display: none;
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .footer-wideandsmall{
     display: none;
   }

  .footer-mobilelandscape{
     display: block;
   }
}

/* projects */

.titel {
  margin-left: 8.33%;
  margin-right: 1.5%;
  width: 40.9%;
  height: 75vh;
  float: left;
  padding: 25px;
  border: 1px solid grey;
}

@media (max-width: 600px) {
  .titel {
    width: 83.33%;
    height: 75vh;
    font-size: 0.7em;
    text-align: center;
    padding: 0px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .titel {
    width: 40%;
    margin-right: 3.4%;
    height: 100vh;
    font-size: 0.7em;
    text-align: center;
    padding: 10px;
  }
}

.img {
  width:83.3%;
  margin-left:8.3%;
  height:75vh;
}

@media (max-width: 600px) {
  .img {
   width: 83.33%;
   height: 46.87vw;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .img {
   width:83.3%;
   margin-left:8.3%;
   height:75vh;
  }
}

.video {
  width: 100%;
  height: 75vh;
  padding: 0px;
}

@media (max-width: 600px) {
  .video {
   width: 100%;
  height: 23vh;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .video {
   width: 100%;
   height: 75vh;
  }
}

.preview0 {
  width: 83.33%;
  margin-left:8.33%;
  aspect-ratio : 16 / 9;
}

@media (max-width: 600px) {
  .preview0 {
   width: 100%;
   margin-left: 0%;
   aspect-ratio : 1 / 1;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .preview0 {
   width: 83.3%;
   margin-left: 8.3%;
  }
}

.preview1 {
  float: left;
  width: 41.67%;
  margin-left: 8.33%;
  aspect-ratio : 16 / 9;
}

@media (max-width: 600px) {
  .preview1 {
   width: 100%;
   margin-left: 0;
   aspect-ratio : 1 / 1;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .preview1 {
   width: 41.67%;
   margin-left: 8.33%;
   aspect-ratio : 16 / 9;
  }
}

.preview2 {
  float: left;
  width: 41.67%;
  aspect-ratio : 16 / 9;
}

@media (max-width: 600px) {
  .preview2 {
   width: 100%;
   aspect-ratio : 1 / 1;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .preview2 {
   width: 50%;
   aspect-ratio : 16 / 9;
  }
}

.preview-title1 {
  position: absolute;
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  text-align: center;
  color: #FFFFFF;
  width: 83.3%;
  margin-top: 25px;
}

@media (max-width: 600px) {
  .preview-title1 {
  width: 100%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .preview-title1 {
   width: 83.3%;
  }
}

.preview-title2 {
  position: absolute;
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1em;
  text-align: center;
  color: #FFFFFF;
  width: 41.65%;
  margin-top: 25px;
}

@media (max-width: 600px) {
  .preview-title2 {
   width: 100%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .preview-title2 {
   width: 83.3%;
  }
}

.container1 {
   border: 0px solid white;
   height: 50%;
   position: relative; }
.container1 h1 {
   margin: 0;
   padding: 15px;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .container1 {
   height: 50vh;
   position: relative; }
  .container1 h1 {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
  }
}

.container2 {
   border: 0px solid white;
   height: 50%;
   position: relative; }
.container2 p {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .container2 {
   height: 50vh;
   position: relative; }
  .container2 h1 {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
  }
}

.container3 {
   height: 75vh;
   position: relative; }
.container3 p {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
}

div.container4 {
   height: 38vh;
   position: relative; }
div.container4 p {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
}

@media (max-width: 600px) {
  div.container4 {
  margin-top: 0px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  div.container4 {
  margin-top: 0px;
  }
}

div.container5 {
   height: 38vh;
   position: relative; }
div.container5 p {
   margin: 0;
   position: absolute;
   top: 50%;
   left: 50%;
   margin-right: -50%;
   transform: translate(-50%, -50%)
}

@media (max-width: 600px) {
  div.container5 {
  margin-top: 65px;
  }
}

.column {
  float: left;
  width: 49.1%;
  padding: 0px;
  height: 36vh;
}

@media (max-width: 600px) {
  .column {
  float: left;
  width: 100%;
  padding: 0px;
  height: 23vh;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .column {
  float: left;
  width: 100%;
  padding: 0px;
  height: 75vh;
  }
}

.gutter {
  float: left;
  width: 1.8%;
  padding: 0px;
  height: 36vh;
}

@media (max-width: 600px) {
  .gutter {
  float: left;
  padding: 0px;
  height: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .gutter {
  float: left;
  padding: 0px;
  height: 25px;
  }
}

.process-column {
  float: left;
  width: 30%;
  padding: 0px;
  height: 100%;
  margin-top: 25px;
}

@media (max-width: 990px) {
  .process-column {
  float: left;
  width: 100%;
  padding: 0px;
  margin-top: 0;
  margin-bottom: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .process-column {
  float: left;
  width: 100%;
  padding: 0px;
  margin-top: 0px;
  }
}

.process-gutter {
  float: left;
  width: 5%;
  padding: 0px;
  height: 100%;
  margin-top: 25px;
}

.process-small{
   display: none;
}

@media only screen and (max-width: 600px){
   .process-wide{
     display: none;
   }

   .process-small{
     display: block;
   }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .process-wide{
     display: none;
   }

  .process-small{
     display: block;
   }
}

.process-copy {
  font-family: IBMPlexMono-Light, sans-serif;
  font-size: 1.2em;
  color: #ffffff;
  font-weight: normal;
  font-style: normal;
  padding: 10%;
}

@media (max-width: 600px) {
  .process-copy {
   font-size: 1em;
   padding: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .process-copy {
   font-size: 0.7em;
   padding: 25px;
  }
}

.center-div
{
  position: absolute;
  margin: auto;
  border: 0px solid grey;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 83.33%;
  height: 100%;
  background-color: #333333;
  z-index: 0;
}

hr {
  border: 1px solid grey;
  width: 33.33%
}

/* manifesto & contact */

.col-container {
  display: flex;
  flex-direction: row;
  width: 100%;
}

@media (max-width: 800px) {
  .col-container {
    flex-direction: column;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.col-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  }
}

.col1 {
  width:50%;
  flex: 1;
  margin: 0px;
  aspect-ratio : 1 / 1;
}

@media (max-width: 800px) {
  .col1 {
    width:100%;
    aspect-ratio : 1 / 1;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.col1 {
  width:100%;
  aspect-ratio : 16 / 9;
  }
}

.col2 {
  width:50%;
  flex: 1;
  margin: 0px;
  aspect-ratio : 1 / 1;
}

@media (max-width: 800px) {
  .col2 {
    width:100%;
    aspect-ratio : 1 / 4;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.col2 {
  width:100%;
  aspect-ratio : 1 / 1;
  }
}

.margin {
  width:83.3%;
  margin-left:8.3%;
  height:50px;
  border-top:0.5px solid white;
  opacity:1.0;
}

@media (max-width: 800px) {
  .margin {
    height:0px;
    border-top:0px solid white;
  }
}

/* services */

.services-small{
   display: none;
}

@media only screen and (max-width: 500px){
   .services-wide{
     display: none;
   }

   .services-small{
     display: block;
   }
}

.services-mobilelandscape{
   display: none;
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .services-wide{
     display: none;
   }

  .services-mobilelandscape{
     display: block;
   }
}

.services01 {
  float: left;
  background-color: rgba(94,69,88,0.75);
  width: 48.25%;
  height: 60vh;
  padding: 25px;
}

@media (max-width: 600px) {
  .services01 {
  float: left;
  background-color: rgba(94,69,88,0.75);
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  height: 100%;
  padding: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.services01 {
  float: left;
  background-color: rgba(94,69,88,0.75);
  width: 48.25%;
  height: 105vh;
  padding: 25px;
  }
}

.services02 {
  float: left;
  background-color: rgba(178,193,182,0.75);
  width: 48.25%;
  height: 60vh;
  padding: 25px;
  margin-top:20vh;
}

@media (max-width: 600px) {
  .services02 {
  float: left;
  background-color: rgba(178,193,182,0.75);
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  margin-top: 10%;
  height: 100%;
  padding: 25px;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.services02 {
  float: left;
  background-color: rgba(178,193,182,0.75);
  width: 48.25%;
  height: 105vh;
  padding: 25px;
  margin-top:20vh;
  }
}

.services-gutter {
  width:3.5%;
  height:80vh;
  float:left;
}

@media (max-width: 600px) {
  .services-gutter {
  display:none;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .services-gutter {
  width:3.5%;
  height:80vh;
  float:left;
  }
}

.services-container {
  margin-left: auto;
  margin-right: auto;
  width:50%;
  height:100%;
}

@media (max-width: 600px) {
  .services-container {
  width:100%;
  height:100%;
  }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .services-container {
  width:90%;
  height:100%;
  }
}

.services-title{
  font-family:Brando ExtraLight,serif;
  font-size:3.25vw;
  line-height:1.0;
  color: #E4DDD3;
}

.services-list{
  font-family:Brando Regular,serif;
  font-size:24px;
  color: #E4DDD3;
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.services-title{
  font-family:Brando ExtraLight,serif;
  font-size:42px;
  line-height:1.0;
  color: #E4DDD3;
    }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
.services-list{
  font-family:Brando Regular,serif;
  font-size:20px;
  color: #E4DDD3;
    }
}

.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex-container>div {
  width: 65%;
}

ul.no-bullets {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-family:Brando Regular,serif;
  font-size:1.4vw;
  line-height: 1.2;
  color:#E4DDD3;
}

@media (max-width: 600px) {
  ul.no-bullets {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-family:Brando Regular,serif;
  font-size:20px;
  line-height: 1.2;
  color:#E4DDD3;
}
}

ul li { padding: 5px 0px; }

.drop-cap::first-letter {
  -webkit-initial-letter: 4;
          initial-letter: 4;
  color: white;
  font-weight: bold;
  margin-right: .75em;
}

.intro-portrait{
   display: none;
}

@media only screen and (max-width: 600px){
   .intro-landscape{
     display: none;
   }

   .intro-portrait{
     display: block;
   }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
  .intro-landscape{
     display: none;
   }

  .intro-portrait{
     display: block;
   }
}

/* Landscape and portrait versions */
.portrait{
   display: none;
}

.mobilelandscape{
   display: none;
}

@media only screen and (max-width: 600px){
   .landscape{
     display: none;
   }

   .portrait{
     display: block;
   }
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: landscape) {
   .portrait{
     display: none;
   }

   .landscape{
     display: none;
   }

   .mobilelandscape{
     display: block;
   }
}
