body, html{
  margin:0;
  padding: 0;
  cursor: url(../images/grey-circle.png) 10 10,auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width:100%;
}
@font-face {
  font-family: "Asang";
  src: url("../fonts/Asang.eot"); /* IE9 Compat Modes */
  src: url("../fonts/Asang.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/Asang.otf") format("opentype"), /* Open Type Font */
    url("../fonts/Asang.woff") format("woff"), /* Modern Browsers */
    url("../fonts/Asang.woff2") format("woff2"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}
a{text-decoration: none; color: black;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
figure {
display: block;
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}
a:hover{cursor: url(../images/grey-circle.png) 10 10,auto;}
.bigger{font-size: 140%;}
.fat{font-family: 'Orelo-std-l'; font-size: 210%; line-height: 115%; letter-spacing: 1px}
.fat p{margin: 0; -webkit-margin-before: 0; -webkit-margin-after: 0;}
p:first-child{margin-top: 0; -webkit-margin-before: 0;}
-
.separator{display:none;}
.sign{font-family: 'Asang'; font-size: 180%; line-height: 1rem;}
ul, li{margin:0; padding: 0; list-style: none;}
body{
  font-size: 1vw;
  font-family: 'Forno-m';
  overflow-x: hidden;
}
.closer{display:none;}

#sidebar {
	width: 100%;
	position: fixed;
	left: 0;
  z-index: 10;
  display:none;
}

/* LEFT --------------------------------- */

#left{
  /* position: relative; */
  width:31.5vw;
  background: white;
  position: fixed;
  top:0;
  z-index: 2;
  min-height: 100%;
  background: black;
}
#left, #left a{
  color:white;
}

header{
  z-index: 3;
  top: 0;
  padding: 2.5vw 3vw 1.5vw 2.5vw;
  width: 30vw;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
}

.menu{
  padding: 0 0 8vw 2.5vw;
  box-sizing: border-box;
  width:30vw;
}
.menu .fat{
  font-family: 'Orelo-std-el';
  font-size: 550%;
}
.menu > li{

  top: 5.4vw;
  z-index: 2;
  padding: 0 0 .8em .1em;
  margin-bottom: -1em;
  pointer-events: none;
}
.menu > li a{
  pointer-events: auto;
}
.sub-menu{
  display: none;
  justify-content: space-between;
}

.sub-menu li, .sub-sub-menu li{
  display: inline-block;
  margin-left: .4rem;
  transition: .2s;
}
.sub-menu li{
  width:90%;
}
.sub-menu li.has-sub-sub {
  width:auto;
}
.sub-menu li a, .sub-sub-menu li a{
  padding: .2rem 0;
  display: block;
}
.sub-menu a.active, .sub-menu a:hover{

}
.sub-menu a span{
    font-size: 0;
    margin-right: 0;
    transition: .3s;
}
.sub-menu a.active span, .sub-menu a:hover span{
    font-size: 1em;
    margin-right: .1rem;
}

footer{
  position: fixed;
  z-index: 5;
  width: 30vw;
  padding: 6vw 3vw 2vw 2.5vw;
  bottom: 0;
  display: flex;
  justify-content:space-between;
  box-sizing: border-box;
  pointer-events: none;
}
footer span{
}


/* RIGHT --------------------------------- */

.right{
  /* color: white; */
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  min-height:100vh;
  /* background: black; */
  width:70vw;
  padding: 0 5vw 2.1vw 2.5rem;
  box-sizing: border-box;
}

/* INDEX */
.right.index span{
  position: fixed;
  right:3vw;
  bottom:1.2vw;
  text-align: right;
}

/* AGENCY */
.right.agency-holder{
  padding-top:2.5vw;
}
.right.agency-holder .agency-text{
  width: 80%;
}
.right.agency-holder .agency-small{
  margin-top: 1rem;
  width:80%;
}
.right.agency-holder .agency-small p{
  text-indent: .8em;
}

.clients span::after{
  content:' ·'
}
.clients span:last-child::after{
  content:''
}

/* SERVICES */
.right.services-holder{
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
}
.right.services-holder section{
  padding:2.5vw 4vw 5vw 2.5vw;
  margin-top:0;
  border-bottom: 2px solid white;
  box-sizing: border-box;
  min-height: 100vh;
  opacity:.1;
  transition: opacity 1s;
}
.right.services-holder section.on-screen{
  opacity:1;
}
.right.services-holder section:last-child{
  margin-bottom: 0;
  border-bottom: none;
  min-height: 100vh;
}

.service-title{
  display: inline-block;
  width: 100%;
  margin-bottom: 3vw;
}
.service-title p{
  margin: 0;
  margin-block-end: 0;
}

.services-detail-title{
  display: inline-block;
  width: 100%;
  margin: 1.8vw 0;
}
.services-holder li{
  padding: 0 0 .5rem 0;
}

/* PROJECTS */
.right.projects-holder{
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0;
}

.right.projects-holder section{
  padding: 2.5vw 1vw 3vw 2.5vw;
  margin-top: 0;
  border-bottom: 2px solid white;
}
.right.projects-holder section:last-child{
  min-height: 100vh;
  box-sizing: border-box;
}
.projects-list{
  margin-top: 3vw;
}
.projects-list .list-item{
  display: block;
  line-height: 130%;
}
.projects-list .list-item span{
  opacity:0;
  transition: opacity .5s;
}
.projects-list .list-item:hover span{
  opacity:1;
}
/* .right a.img-holder{
  width: 46%;
  margin-top: 2.5vw;
} */
/* .right img{
  width: 100%;
  transition: 1s;
  filter: blur(4px);
  -webkit-filter: blur(4px);
  -moz-filter: blur(4px);
}
.right img.loaded{
  filter: blur(0);
  -webkit-filter: blur(0);
  -moz-filter: blur(0);
}
.right a.img-holder:hover img.loaded{
  filter: blur(0);
  -webkit-filter: blur(0);
  -moz-filter: blur(0);
} */
#left img{
  position: absolute;
  z-index: 6;
  top:0;
  left:0;
  opacity:0;
  transition:opacity .5s;
  width:100%;
  height:100%;
  display: block;
  object-fit:cover;
  pointer-events: none;
}
#left img.visible{
  opacity:1;
}

/* CONTACT */
.right.contact-holder{
  padding-top:7.5vw;
}

form input, form textarea, form input:-webkit-autofill{
  text-decoration:none;
  color:inherit;
  box-sizing:
  border-box;
  width: 100%;
  outline: inherit;
  border: none;
  font-size: inherit;
  background: transparent;
}
form input{
  border-bottom: 1px solid black;
  margin-bottom: 1.5rem;
  padding: .3rem;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
::placeholder {
  color: #888;
  opacity: 1;
}
form textarea{
  border: 1px solid black;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  border-radius: .2rem;
  padding: .3rem;
}
form input[type="submit"]{
  border: 1px solid black;
  width:auto;
  border-radius: .2rem;
  padding: .3rem .8rem;
}
form input[type="submit"]:hover{
  background: rgba(0, 0, 0, 0.3);
  cursor: url(../images/grey-circle.png) 10 10,auto;
}
form .fake{display:none}


@media screen and (max-width: 1000px) {
  .hide-mobile{display: none;}
  body{font-size: 4.5vw;}
  .fat{font-size: 7vw;}
  .menu .fat{font-size: 20vw;}
  .closer{
    display: block;
    position: fixed;
    top:1.5vw;
    right: .8rem;
    z-index: 5;
    transform: translateX(200%);
    transition: .4s;
    line-height: 110%;
  }
  .mobile-menu-active .closer{
    transform: translateX(0);
  }
  #left, header{width:100%}
  #left{
    position: fixed;
    left:0;
    height: 100vh;
    z-index: 1;
    overflow-y: auto;
  }
  .menu, .sub-menu{ width:100%;}
  .sub-menu li{
    margin-left: 0;
  }
  .sub-sub-menu{display: none;}
  .sub-menu li.has-sub-sub {width:90%;}
  .sub-sub-menu a.active, .sub-sub-menu > a:hover{text-decoration: none;}
  .sub-sub-menu a{ width:80%;}
  .sub-menu li a, .sub-sub-menu a{ padding:.2rem 0 .2rem .5rem;}
  .sub-sub-menu > a{margin-top:0; margin-bottom:0;}

  .right{
    position: fixed;
    width:100%;
    right:-100vw;
    transition: .5s;
    padding: 0;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;
  }
  .right section > *{
    padding-right: 2.5vw;
    padding-left: 2.5vw;
    display: block;
  }
  .services-detail-title{
    padding: 2.5vw 0;
  }
  .right section .sign{
    font-family: 'Forno-m';
    font-size: 100%;
  }

  /* AGENCY */
  .right.agency-holder{
    padding: 2.5vw 1rem 4rem;
    box-sizing: border-box;
  }
  .right.agency-holder .agency-text, .right.agency-holder .agency-small{
    width: 100%;
  }

  .clients span{
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    -o-hyphens: none;
    hyphens: none;
  }

  /* INDEX */
  .right.index{
    display:none;
  }

  .mobile-menu-active .right{
    right:0;
    position: relative;
  }

  /* SERVICES */
  .right.services-holder section{
    padding: 0;
  }
  .right.services-holder section{
    transition: opacity .5s;
  }

  /* Project */
  .right.projects-holder{
    height:auto;
    padding: 0 0 12vw 0;
  }
  .right.projects-holder section{
    padding: 0 0 3vw 0;
    border:none;
  }
  .right.projects-holder .project-flex{
    display: block;
  }
  .projects-list a span{
    opacity:0;
    display: none;
  }
  .separator{
    display: block;
    width:100%;
    border-top:1px solid black;
    padding-top: .5rem;
    padding-bottom: .5rem;
    position: -webkit-sticky;
    position: sticky;
    z-index: 6;
    background: white;
    top: -1px;
    margin-top: 12vw;
    box-sizing: border-box;
  }
  .right .img-holder{
    width: 80%;
    margin-top: 12vw;
    display: inline-block;
  }
  .right img{
    width: 100%;
    transition: 1s;
  }
  .separator:first-child, .project-background + .separator{
    margin-top: 0;
  }
  figure{
    display: inline-block;
    width:90%;
  }
  footer{width:100%;}
  footer span {
    display: block;
  }

  /* CONTACT */
  .right.contact-holder{
    padding: 4rem 1rem;
  }
}
