@font-face {
    font-family: 'display';
    src:  url('../fonts/BigNoodleTitling.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap; 	
}

@font-face {
    font-family: 'base';
    src:  url('../fonts/Raleway-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;    
}

@font-face {
    font-family: 'base';
    src:  url('../fonts/Raleway-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;  
}

@font-face {
    font-family: 'base';
    src:  url('../fonts/Raleway-SemiBold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;  
}

* {
    transition: all .5s ease-out;
    -webkit-transition: all .5s ease-out;
    padding: 0;
    margin: 0;
    box-sizing:border-box;
    text-decoration: swap;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

/* ==========================================================================
   Base styles
   ========================================================================== */
:root {
	
    /* COLORS */
	--pos:	#FFF;
	--neg:	#000;
    --dark: #222;
    --light: #F5F5F5;
	--color_main: #725f5f; /* rusty */
    --color_sub: #979797; /* grey */  
    
    /* FONT-FAMILIES */
	--fontRegular: 'base', Arial, sans-serif, Helvetica;
    --fontDisplay: 'display', Arial, sans-serif, Helvetica;
	
    /* FONT-SIZE */
	--sizeBase: 15px;
    
    --sizeHuge: 4rem;
    --sizeLarge: 2rem;
    --sizeMedium: 1.45rem;
    --sizeSmall: .8rem;
    --sizeTiny: .8rem;
    
    --spacing: .03rem;
    --gutter_x: 2rem;
   
    --bs-gutter-x: 2.5rem;
    --bs-gutter-y: 0;

}

@media (orientation: portrait) or (width < 1800px) {
    :root {
    --sizeHuge: 7rem;
    --sizeLarge: 5rem;
    --sizeMedium: 3rem;
    --sizeSmall: 2rem;
    --sizeTiny: 1.5rem;        
    }
}

html, body {
  min-height: 100vh;
  margin: 0;
	-webkit-text-size-adjust: 100%;	
	scroll-behavior: smooth;  
	
}

body {
	font-family: var(--fontRegular);	
	font-size:100%;
	font-weight: 400;
}


@keyframes gradientSize {
  0% {
    opacity: 0.3;
  }
  10% {
    opacity: 0.4;
  }
  20% {
    opacity: 0.25;
  }
  30% {
    opacity: 0.5;
  }
  40% {
    opacity: 0.75;
  }
  50% {
    opacity: 0.5;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0.75;
  }
  80% {
    opacity: 0.5;
  }
  90% {
    opacity: 0.25;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes moveLine {
  0% {
    left: 0;
    opacity: 0;
  }
  9% {
    left: 0;
    opacity: 0;
  }
  10% {
    left: 15%;
    opacity: 0.25;
  }
  15% {
    left: 20%;
    opacity: 0.1;
  }
  20% {
    left: 10%;
    opacity: 0.2;
  }
  25% {
    left: 25%;
    opacity: 0.2;
  }
  30% {
    left: 30%;
    opacity: 0.3;
  }
  40% {
    left: 20%;
    opacity: 0.2;
  }
  50% {
    left: 30%;
    opacity: 0.1;
  }
  60% {
    left: 20%;
    opacity: 0.2;
  }
  70% {
    left: 0%;
    opacity: 0.2;
  }
  80% {
    left: 10%;
    opacity: 0.2;
  }
  90% {
    left: 30%;
    opacity: 0.3;
  }
  100% {
    left: 10%;
    opacity: 0.1;
  }
}
@keyframes bgMove {
  0% {
    background-position: 0 center;
  }
  5% {
    background-position: 0 center;
  }
  10% {
    background-position: 0 -2px;
  }
  15% {
    background-position: 0 center;
  }
  30% {
    background-position: 0 center;
  }
  37% {
    background-position: 0 -2px;
  }
  40% {
    background-position: 0 center;
  }
  45% {
    background-position: 0 2px;
  }
  50% {
    background-position: 0 center;
  }
  62% {
    background-position: 0 center;
  }
  65% {
    background-position: 0 -2px;
  }
  67% {
    background-position: 0 center;
  }
  78% {
    background-position: 0 center;
  }
  80% {
    background-position: 0 2px;
  }
  85% {
    background-position: 0 center;
  }
  87% {
    background-position: 0 center;
  }
  89% {
    background-position: 0 -2px;
  }
  91% {
    background-position: 0 center;
  }
  100% {
    background-position: 0 center;
  }
}


/* Film Animations */
@keyframes grain {
  0%, 100% {
    transform: translate(0, 0, 0);
  }
  10% {
    transform: translate(-1%, -1%);
  }
  20% {
    transform: translate(1%, 1%);
  }
  30% {
    transform: translate(-2%, -2%);
  }
  40% {
    transform: translate(3%, 3%);
  }
  50% {
    transform: translate(-3%, -3%);
  }
  60% {
    transform: translate(4%, 4%);
  }
  70% {
    transform: translate(-4%, -4%);
  }
  80% {
    transform: translate(2%, 2%);
  }
  90% {
    transform: translate(-3%, -3%);
  }
}

@keyframes jump {
   0%   {bottom: 0;}
   20%  {bottom: 5px;}
   40%  {bottom: 0;}
}

:focus {
  outline: .25rem dotted #c00;
  outline-offset: .25rem;
}

.dots-cont {
   position: fixed;
   right: 2rem;
   top: 2rem;
   z-index:10;
   cursor:pointer;
}

.open .dots-cont,
.open_nav .dots-cont { 
	opacity:0;
	pointer-events: none;
}

.dot {
   width: 1rem;
   height: 1rem;
   background:rgba(166,166,166,1);
   display: inline-block;
   border-radius: 50%;
   right: 0;
   bottom: 0;
   margin: 0 .25rem;
   position: relative;  
}

.dots-cont:hover > .dot {
   /* position: relative; */
   /* bottom: 0; */
   /* animation: none; */
   animation: jump 1s infinite;
}
.dots-cont:hover .dot-1 {
   -webkit-animation-delay: 100ms;
   animation-delay: 100ms;
}
.dots-cont:hover .dot-2 {
   -webkit-animation-delay: 200ms;
   animation-delay: 200ms;
}
.dots-cont:hover .dot-3 {
   -webkit-animation-delay: 300ms;
   animation-delay: 300ms;
}

#brand {
	position: fixed;
	top: 50%;
	left:50%;
	transform: translate(-50%, -60%);
	z-index:2;
	text-align:center;
    width: 20vh;
    height: 20vh;

    div {
        width: 105%;
        height:105%;
        position:absolute;
        border-radius: 100%;
        overflow: hidden;	
        border: .5rem solid var(--pos);	
        background: var(--pos);
    }
    
    figure {
        background: var(--dark);
        width: 100%;
        height: 100%;
    }    
    
    img {
        width: 90%;
        position:absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        border-radius: 100%;
    
        &.hidden {	
            opacity:0;
        } 
    }
    
    display: none;

    @media only screen and (min-width: 1800px) and (orientation:landscape) {
        display: block;
        width: 50vh;
        height:50vh;  
    }
    
    @media (orientation: portrait) or (width < 1800px) {
            top: 10%;
            transform: translateX(-50%);
    }
}

.sticky #brand {
	/* transform: translate(-50%, -250%); */
	margin-top:-17%;
	width:10rem;
	height:10rem;	
	
	
}

.sticky #brand div {
    border: .25rem solid var(--pos);
}
.sticky#content3 #brand {
    opacity: 0;  
	margin-top: -14%;
	width: 250px;
	height: 300px;
    
    figure {
        background: transparent;
    }
}

.sticky#content3 #brand div {
	border: .4rem solid var(--pos);
	border: 0;
	background:none;
	overflow:none;
}

.sticky#content3 #brand img {
	opacity:0;
	background:none;
	border-radius: 0;
}

.sticky#content3 #brand img.hidden {	
	opacity:1;
	
}

.sticky#content3 #brand img {

}

section {
	min-height:100vh;
	position:relative;
	z-index: 1;
	color:#231f20;
}

section.bg {
	/* background:#231f20; */
}

.grid img {
	width: 100%;
}

.close {
    position: absolute;
    top: 2rem;
    right: 3rem;
    width: 4rem;
    height:4rem;
    z-index:100;   
    a {
        position: relative;
        width: 100%;
        height: 100%;
        background: rgba(255,255,255,1);
        display: block;
        border-radius: 100%;
    }
    span {
        font-size: 0;
    }
    a:hover {
      opacity: .5;
    }
    a:before, 
    a:after {
        position: absolute;
        left: 2rem;
        content: ' ';
        height: 4rem;
        width: 4px;
        background: rgba(166,166,166,1);
    }

    a:before {
      transform: rotate(45deg);
    }

    a:after {
      transform: rotate(-45deg);
    }        
}

footer,
header {
	position: fixed;
	background:rgba(255,255,255,.98);
	width:80%;
	height:100vh;
	z-index:99;
	top:0;
	right:-100%;
    
    @media (orientation: portrait) or (width < 1800px) {
        width: 100%;
        overflow: scroll;
    }

    &::before {
        content:'';
        display: block;
        height: 100vh;
        width:1rem;
        background: var(--dark);
        position: absolute;
        left:0;
        top:0;
        @media (orientation: portrait) or (width < 1800px) {
            left:-1rem;
            position: fixed;
        }        
    }

    section {
        position:absolute;
        top:50%;
        width:100%;
        text-align:center;
        transform: translateY(-50%);
        color:rgba(237,107,106,1);
    }
	
}

.open_nav header,
.open_legal footer,
.open nav {
	right:0;	
}

@media (orientation: portrait) or (width < 1800px) {
    .open_nav header::before,
    .open_nav footer::before {
        left: 0;
    }
}

footer section {
    position: static;
    transform: none;
    overflow: auto;
    height: 100vh;
    text-align: left;
    color: var(--neg);
    padding-bottom: 3rem;
    
    p,li,address {  
        font-size: calc(var(--sizeMedium)*.7);
        font-style: normal;
        line-height: 1.3;
        &.headline,.subheader {
            font-weight: 600;
        }
        @media (orientation: portrait) or (width < 1800px) {
            font-size: var(--sizeMedium);
        }         
    }
    address { 
        margin-bottom: 2rem; 
        }    
    ul {
        margin: 0 0 1rem 1rem;
    }
    
    .addy a {
        color: var(--neg);
        display: inline-block;
        border: 0;
        margin: 0;
        padding: 0;
        text-transform:none;
    }
    .addy + span::after {
      content: '.de';
    }

    .addy + span::before {
      content: '@';
    }    
    
    display: none;
}

.open_legal.content_imprint footer section#imprint,
.open_legal.content_privacy footer section#privacy {
    display: block;
}

p {
    font-family: var(--fontRegular);
    font-size: var(--sizeMedium);
    line-height: 1.7;
}

a {
  text-decoration: none;  
}

a.btn-ghost, span.btn-ghost span {
    display: inline-block;
    width: auto;
    color: var(--neg);
    line-height: 1;
    padding: .5rem 1rem;
    text-transform: uppercase;
    margin: 2rem 0 0;
    border: 2px solid var(--neg); 
}

article a.btn-ghost {
    color: var(--pos);
    border-color: var(--pos);
}

.half {
	height:100vh;
	width:50vw;
	background:rgba(255,255,255,1);
	position:absolute;
	z-index:1;
    
    @media (orientation: portrait) or (width < 1800px) {
	width:100vw;
	background:rgba(255,255,255,0);        
    }
}

.half.right {
	margin:0 0 0 50%;	
        @media (orientation: portrait) or (width < 1800px) {
         margin: 0;   
        }
}

.half .text {
	position:absolute;
	top:50%;
	right:0;
	z-index:1;
	transform: translateY(-50%);
}


#project {
	position: fixed;
	top: 0;
	/* transform: translate(-50%); */	
	width: 40%;
	z-index: 20;
	height: 100vh;
	opacity: 0;
	pointer-events: none;
    
    .close {
        position: fixed;
        z-index: 21;
        pointer-events: initial;        
        a { background: none; }
        a::before,a::after { background: var(--pos); }
    }
    
    .headline {
        margin: 0 0 2rem;
    font: var(--sizeHuge)/1 var(--fontRegular);
    text-transform: uppercase;
    font-family: var(--fontDisplay);
    span {
        margin-left: .5rem;
        font-size: var(--sizeMedium);
        display: inline-block;
        text-transform: initial;
        letter-spacing: .15rem;
        }
    span::before {
        content:'';
        margin-right:.25rem;
        width: 1rem;
        height: 2px;
        background: var(--pos);
        vertical-align: bottom;
        display: none;
        }
    }
    
    .gallery {
        position: absolute;
        top: 0;
        height: 100vh;
        left: -12.5%;
        width: 112%;
        overflow:hidden;
        z-index: 0;
        img {
            height: 100%;
        }
    }    

    .box {
        position: relative;
        height: 100vh;
        width: 100%;
        left: 80%;
    }

    .box div {
        position: absolute;
        width: 100%;
        top: 50%;
        left:0;
        transform: translateY(-50%);
        background: var(--dark);
        padding: 3rem;
        z-index: 1;
    }
    
}


.slideshow {
    height: 100vh;
    overflow: hidden;
    position: relative;
    width: 100%;

    img {
        width: 100%;
        left: 0;
        object-fit: cover;
        object-position: center;
        opacity: 0;
        position: absolute;
        top: 0;
        z-index: -1;
        &.next {
            opacity: 1;
            z-index: 1;
        }
        &.prev {
            opacity: 1;
            z-index: 2;
        }
        &.fade-out {
            opacity: 0;
            transition: visibility 0s .5s, opacity .5s linear;
            visibility: hidden;
        }        
    }
}

.open #close,
.selected #close {
	opacity:1;
	right: -1rem;
	cursor: pointer;
	pointer-events: revert;
}

.selected #project {
opacity: 1;
pointer-events: initial;
}

.selected section.bg {
    background: var(--pos);
}

/*
#project #card-2 .box div,
#project #card-3 .box div {
    transform: translateY(10%);
}

#project #card-5 .box div {
    transform: translateY(0%);
}
*/

#project .flag {
    background: none;
    padding: .25rem .5rem;
    color: var(--dark);
    font-family: var(--fontDisplay);
    text-transform: uppercase;
    position: absolute;
    bottom: 1.5rem;
    right: 3rem;
    border: 2px solid var(--dark);
    letter-spacing: .1rem;
    opacity: .5;
}

#content2.selected section#portfolio .half.left,
#content2.selected .moi {
	left: -50%;
}

.selected section#portfolio .half.right {
	margin: 0 0 0 5%;
	width: 95%;
}

.selected #brand {
	left:5%
}

.selected .grid,
.selected .dots-cont {
	opacity: 0;
	pointer-events: none;
}

.selected .grid {
	margin-left: 100%;
}

.selected .grid img {
	height: 0;
}

body.open,
body.open_nav,
body.open_legal,
body.selected {
	overflow: hidden;
}

#container {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    z-index:0;
    top:0;
    left:0;
    background-image: url('../img/bg.webp');
    background-color: rgba(0,0,0,0);
    background-size: auto;
    background-repeat: no-repeat;  
    overflow: hidden;
    @media (orientation: portrait) or (width < 1800px) {
        background-size: cover;
    }

    #effects {
        width: 105%;
        height: 105%;
        margin-top: -20px;
        margin-left: -20px;
        position: absolute;
        
        &::before {
              content: " ";
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              animation-name: gradientSize;
              animation-duration: 1.5s;
              animation-iteration-count: infinite;
              -moz-box-shadow: inset 0 0 10em black;
              -webkit-box-shadow: inset 0 0 10em black;
              box-shadow: inset 0 0 10em black;
        }  
        &::after {
            width: 1px;
            height: 100%;
            background: black;
            content: " ";
            display: block;
            position: absolute;
            animation-name: moveLine;
            animation-duration: 8s;
            animation-iteration-count: infinite;
        }
    }
 
}

.background {
  width: 100%;
  height: 100%;
  position: fixed;
  top:0;
  z-index:0;
}

.grain:after {
  content: "";
  width: 110%;
  height: 110%;
  position: absolute;
  top: -5%;
  left: -5%;
  opacity: 0.11;
  background: url('../img/grain.jpg') repeat center center;
  -webkit-animation: grain 0.5s steps(1) infinite;
  animation: grain 1.5s steps(1) infinite;
}

.block {
	position:relative;
	top:50%;
	transform:translateY(-60%);
	width: 50%;
	margin: 0 auto;
}

#services .block {
    top: auto;
    transform: none;
    margin: 0;
}

#portfolio .block {
    margin: 0 0 0 35%;
}

.moi {
    position: absolute;
    top: 50%;
    transform: translateY(-60%);
    left: 3rem;
    @media (orientation: portrait) or (width < 1800px) {
        display:none;
    }
}

#content2 .moi {
    position: fixed;
}

section:first-of-type .half .block {
	width: 47%;
	margin:0 0 0 35%;
    /* text-align:center; */
    @media (orientation: portrait) or (width < 1800px) {
        width: 80%;
          margin: 0 0 0 10%;
          div {
          padding: 5rem;
          background: #fff;        
          }
    }
}

#content2 section#portfolio .half.left,
#content3 section#portfolio .half.left {
	position:fixed;
	top:0;
	left:0;
	background:var(--pos);
}

#content3 section#portfolio .half.left {
    background: none;
}

#content3 section#portfolio .half.left .block,
#content2 section#portfolio .half.left .block {
	top: 32%;
}

#content3 section#portfolio h3,
#content3 section#portfolio p,
#content3 section#portfolio .half {
    opacity: 0;
}

#content2 #container,
#content3 #container {
    background-size: cover;
}

section#portfolio .half.right {
	height: auto;
	position: static;
}

.projects {
	padding: 15rem 5rem 5rem 6rem;
	color: var(--light);
	background: var(--dark);
    min-height: 100vh;
	/* position: relative; */
}

.h1 {
  font-weight: 300;
  letter-spacing: .125rem;
  font-size: var(--sizeSmall);
}


h1,h2, #portfolio h3 {
	font-family: var(--fontDisplay);
	font-size: var(--sizeHuge);
	line-height: 1;	
    font-weight: 300;    
	display: block;
	margin-bottom: 2rem;

    &::after {
      content: '';
      width: 35%;
      height: 3px;
      /* background: var(--neg); */
      display: block;
      margin-top: 2rem;      
      display: none;
    }

}

#intro h2::before {
        content: '4visions webdesign';
        display: block;
        font-family: var(--fontRegular);
        font-weight: 600;        
        /* font-size: calc(var(--sizeSmall)*1.4); */
        font-size: calc(var(--sizeSmall)*.8);
        background: linear-gradient(to right, rgb(0, 0, 0) 0%,rgb(0, 0, 0) 10%,rgba(0,0,0,0) 40%,rgba(0,0,0,0) 100%);
        color: rgba(255,255,255,1);
        padding: .2rem .4rem;
        margin: 0 0 0.5rem;
        letter-spacing: .05rem;
        @media (orientation: portrait) or (width < 1800px) {
            font-size: var(--sizeSmall);
            background: linear-gradient(to right, rgb(0, 0, 0) 0%,rgb(0, 0, 0) 10%,rgba(0,0,0,0) 80%,rgba(0,0,0,0) 100%);
        }         
    }

header,footer {
    h1,h3 {
        margin:10rem 0 1.5rem;
        font: var(--sizeHuge)/1 var(--fontDisplay);       
        span {
            display: block;
            font-size: var(--sizeLarge);
            }
        }


    p {
    font-size: calc(var(--sizeMedium) * .8);
    margin-bottom: 1rem;
    @media (orientation: portrait) or (width < 1800px) {
        font-size: var(--sizeMedium);
        }    
    }
}

.projects .grid {

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.87rem;    

    figure {
        position: relative;
        cursor: pointer;
        line-height: 0;
        margin-bottom: 1.87rem;       
        
        h3 {
            padding: 0 15%;
            margin: 0;
            line-height: 1;
            position:absolute;
            width:100%;
            text-align:center;
            top:50%;
            transform: translateY(-50%);
            opacity:0;
            font-family: var(--fontDisplay);
            font-size: var(--sizeHuge); 
            font-weight: 300;

            span {
                display: block;
                font-family: var(--fontRegular);
                margin: 1rem 0 0;
                font-weight: 700;
                font-size: var(--sizeSmall);
                letter-spacing: .15rem;
                line-height: 1.2;
            }
        }

        &[data-id="6"] h3 {
            opacity: 1;
        }
        
        &:hover {
            h3 {opacity:1;}   
            img {opacity: 0.2;}            
        }    
    }
}

.grid-active .projects .grid figure h3 {
    opacity: 0;
}

.grid-active .projects .grid figure:hover h3 {
    opacity: 1;
}

.projects .grid i {
            margin: 1rem auto .8rem auto;
            display: block; 
            position: relative;
            width: 1rem;
            height:1rem;
            &:before, &:after {
                position: absolute;
                content: ' ';
                height: 1rem;
                width: 2px;
                background: var(--pos);
            }
            &:before {transform: rotate(0deg);}
            &:after {transform: rotate(-90deg);}        
        } 
 
 
h4 {
	margin:0;
	font: 4rem/1 bold;
	font-weight: 600;	
}

#portfolio .block p.tags {
    font-size: var(--sizeSmall);
    margin: 1rem 0 0 0;
    i {
        display: inline-block;
        padding: 0;
        margin: 0 1rem .3rem 0;
        color: #545454;
        white-space: nowrap;
        font-style: normal;
        text-transform: uppercase;
        cursor: default; 
        font-weight: 300;
        &::before {
            content: '#';
        }     
    }
}
    
#services {
    width:100%;
    min-height:100vh;

    .half {
        &.right {
            padding: 5rem;
            margin: 0 auto;
        }
    }
    
    .block {
        width: 100%;
    }

    h3 {
        font-family: var(--fontDisplay); 
        font-size: var(--sizeHuge);
        float: right;
        line-height: 1;
        margin: 0 0 2rem 0;
    }    
    p {
        font-size: calc(var(--sizeMedium) * 0.8);
        margin: 0 0 1rem 0;
    }
}

article {
  opacity: 0;
  position: absolute;
  width: 100%;
}

article.selected {
  opacity: 1;
  
}

a.btn {
    color: var(--pos);
    background: var(--dark);
    padding: .25rem 1rem;
    font-size: calc(var(--sizeMedium) * .8);
    font-family: var(--fontDisplay);
    text-transform: uppercase;
    letter-spacing: var(--spacing);
    @media (orientation: portrait) or (width < 1800px) {
        font-size: var(--sizeMedium);
        }     
}

#language {
    display: none;
    position: absolute;
    z-index: 5;
    top: 1rem;
    left: 51.5vw;
}

#legal {
    position: fixed;
    z-index: 5;
    bottom: 1rem;
    right: 2rem;
    @media (orientation: portrait) or (width < 1800px) {
        bottom: 4rem;
        right: 5rem;
        a.btn {
            padding: 1rem;
        }
        a.btn:last-of-type {
            margin-left: 3rem;
        }
    }
}

.aria-describedby,
#intro .btn-ghost.mobi {
    display:none;
}

@media (orientation: portrait) or (width < 1800px) {
    #portfolio {
        display: none;
    }
    #intro .btn-ghost {
        display:none;
    }
    #intro .btn-ghost.mobi {
        display:block;
    }    
}