
@font-face {
  font-family: 'Suisse Neue';
  font-style: normal;
  font-weight: 400;
  src: url('/style/font/SuisseNeue-Regular-WebS.woff') format('woff'),
       url('/style/font/SuisseNeue-Regular-WebS.woff2') format('woff2');
}

@font-face {
  font-family: 'Suisse Neue';
  font-style: normal;
  font-weight: 600;
  src: url('/style/font/SuisseNeue-Medium-WebS.woff') format('woff'),
       url('/style/font/SuisseNeue-Medium-WebS.woff2') format('woff2');
}

@font-face {
  font-family: 'SuisseIntl';
  font-style: normal;
  font-weight: 400;
  src: url('/style/font/SuisseIntl-Regular-WebS.woff') format('woff'),
       url('/style/font/SuisseIntl-Regular-WebS.woff2') format('woff2');
}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

:root {

  --primary-color:#29351c;
  --secondary-color:#29351c;

  --black: rgb(14, 14, 14);
  --white: rgb(250, 250, 250);

  --background-color-body:rgb(250, 250, 250);
  --background-color-header: rgb(250, 250, 250);
  --background-color-navigation:rgb(14, 14, 14);

  --font-color-navigation:rgb(250, 250, 250);
}
* {
  box-sizing: border-box;
}
html {
  font-size: 18px;
  scroll-behavior: smooth;

}
@media screen and (min-width:650px) {
  html {
    font-size: 20px;
  }
}

@media screen and (min-width:1200px) {
  html {
    font-size: 22px;
  }
}

@media screen and (min-width:1920px) {
  html {
    font-size: 24px;
  }
}

body {
  font-size: 1rem;
  line-height: 1.5;
  background-color: var(--background-color-body);
  font-family: 'Suisse Neue', Sans-serif;
}
h1 {
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.1;
  max-width: 16ch;
  margin-bottom: 3rem;
}

h2 {
  font-size: clamp(1.5rem, 2vw, 3rem);
  line-height: 1.1;
  max-width: 16ch;
  margin-bottom: 2rem;
}

p {
  max-width: 50ch;
  margin-bottom: 1em;
}
p:last-child {
  margin-bottom: 0;
}

a {
  color: inherit;
}
img {
  max-width: 100%;
  height: auto;
}
#canvas {
  position: fixed;
  top:0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}
.header {
  /*position: fixed;*/
  /*position: absolute;*/
  z-index: 10;
  top:0;
  left: 0;
  width: 100%;
  display: flex;
  padding: 2rem clamp(20px, 5vw, 4rem);
}
.header .menu-icon {
  position: relative;
  margin-left: auto;
  z-index: 999;
  cursor: pointer;
  display: flex;
  gap: 1rem;
  align-items: center;
  position: fixed;
  right: clamp(20px, 5vw, 4rem);
  top:2rem;
}

.menu-icon div:first-child{
  display: none;
}
.menu-icon div:last-child{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  position: relative;
}
.menu-icon div:last-child span{
  display: block;
  width: 2rem;
  height: 0;
  border-bottom:2px solid var(--black);
  position: absolute;
}
.menu-icon div:last-child span:first-child{
  margin-top: -14px;
}
.menu-icon div:last-child span:last-child{
  margin-top: 15px;
}

.header .menu-icon.open {
  color:var(--white)
}
.header .menu-icon.open div:first-child{
  opacity: 0;
}
.header .menu-icon.open span{  
  border-color: var(--white);
}
.header .menu-icon.open span:first-child{
  transform: rotate(45deg);
  margin: 0;
}
.header .menu-icon.open span:last-child{
  transform: rotate(-45deg);
  margin: 0;
}
.header .menu-icon.open span:nth-child(2){
  display:none;
}

.header nav {
  position: fixed;
  z-index: 101;
  background-color: var(--background-color-navigation);
  color: var(--font-color-navigation);
  right:0;
  top:0;
  width: 50%;
  /*max-width: 500px;*/
  height: 100%;
  transform: translateX(100%);
  transition: transform 0.6s ease;
  backface-visibility: hidden;
  padding: 2rem;  
  display: grid;
  place-content: center;
}
.header nav.open {
  transform: translateX(0);
}
.header nav a {
  text-decoration: none;
  color: inherit;
  text-align: center;
  font-size: 2rem;
}
.section {
  min-height:100vh;
  padding:4rem clamp(20px, 5vw, 4rem);  
  display: flex;
  align-items: center;
  /*margin-bottom:30vh;*/
  overflow: hidden;
  position: relative;
}
.section:last-child{
  margin-bottom: 0;
}
.content {
  width: 100%;  
}

#welcome {
  min-height: calc(140px - 4rem);
}
.carousel {
  display: flex;
  flex-wrap: nowrap;
  margin-top: 4rem;
  gap: 2rem;
}

.carousel-item {
  flex-shrink: 0;
  aspect-ratio: 1;
  width: 25%;
  max-width: 400px;
  min-width: 300px;
  padding: 1.5rem;
  border: 2px solid var(--black);
  display: flex;
  flex-direction: column;
  background-color: rgba(255,255,255,.2);
  backdrop-filter:blur(10px);
  font-size: 0.8rem;
}
.carousel-item:first-child {
  margin-left: 50%;
}
.carousel-item a {
  margin-top: auto;
}

.hidden {
  opacity: 0;
  transform:translateY(50px);
}
#intro-logo {
  mix-blend-mode: multiply;
  opacity: 0;
}
#logo {
  mix-blend-mode: multiply;
  width: 100px;
  display: block;
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:3rem;
}
.grid .col1 {
  grid-column: 1 / 2;
}
.grid .col2 {
  grid-column: 2 / 3;
}

.grid.center {
  align-items: center;
}

.subcontent {
  /*height: 30vh;*/
  margin-bottom: 30svh;
}

.sticky {
  /*min-height:100vh;*/
}
footer {
  padding: 4rem;  
  background-color: var(--black);
  color: var(--white);
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  opacity: 0;
  pointer-events: none;
  display: grid;
  place-content: center;
  padding: 4rem;
  z-index: 1000;
}

.overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.close {
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 2rem;
  right: clamp(20px, 5vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.close::before,
.close::after {
  content: '';
  display: block;
  position: absolute;
  width: 2rem;
  height: 2px;
  background-color: var(--black);
}
.close::before {
  transform: rotate(45deg);
}
.close::after {
  transform: rotate(-45deg);
}

form {
  max-width: 800px;
}
input,
button {
  height: 2rem;
  padding:0 1rem;
  width: 100%;
  border: 2px solid var(--black); 
  font: inherit;
}
button {
 background-color: var(--black); 
 color: var(--white);
 width: auto; 
}
.formelement {
}
.form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.video {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.video.visible {
  opacity: 1;
}

