/* Standaard stijlen (Mobile First) */


@font-face {
  font-family: 'Jogan';
  src: url('fonts/JoganSoft-rgwKy.otf') format('opentype');
}
@font-face {
  font-family: 'Satoshi';
  src: url('fonts/Satoshi-Variable.ttf') format('truetype');
}

@keyframes cursorBlink {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

*,
*:before,
*:after {
  box-sizing: border-box;
  text-decoration: none;
  margin: 0;
  padding: 0;
}

.reveal-type-time {
  font-kerning: none;
}

html {
  overflow-x: hidden;
}

body {
  color: rgba(var(--txt), 1);
  background-color: rgba(var(--background), 1);
  overflow-x: hidden;
  font-family: "Space Grotesk";
}

.minimize {
  overflow-y: hidden;
  height: 100vh !important;
}

::selection {
  background-color: rgba(var(--secondary), 1);
  color: white; 
}

::-moz-selection {
  background-color: rgba(var(--secondary), 1);
  color: white;
}

a {
  text-decoration: none; /* Verwijdert de onderstreping */
  color: inherit;        /* Neemt de tekstkleur over van het ouderelement */
}

form, input, textarea, button, label {
  margin: 0;
  padding: 0;
  border: none;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  box-sizing: border-box;
}

input[type="text"],
input[type="email"],
textarea {
    padding: .5em;
    /* margin-bottom: .75em; */
    font-size: 1em;
    /* color: rgba(var(--text), 1); */
    /* border-radius: .25rem; */
    resize: none;
}

input:focus, textarea:focus {
  outline: none; /* Verwijder de focusoutline */
  border: none; /* Verwijder de border tijdens focus */
  box-shadow: none; /* Geen schaduw bij focus */
}


#contactForm{
  margin: 0 1em;
  /* border: solid 1px rgba(var(--background), 1); */

}

.hidden{
  display: none;
  opacity: 0;
}

.bg1st{
  background-color: rgba(var(--primary), 1);
  border-color: rgba(var(--primary), 1);
}

.bg2nd{
  background-color: rgba(var(--secondary), 1);
  border-color: rgba(var(--secondary), 1);
}

.bg3rd{
  background-color: rgba(var(--accent), 1);
  border-color: rgba(var(--accent), 1);
}

h1 {
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 85%;
  font-family: "Space Mono", monospace;
  text-transform: uppercase;
}

h2 {
  font-size: 3.25rem;
  font-weight: 900;
  font-optical-sizing: auto;
  font-family: "Space Mono", monospace;
  line-height: 85%;
  text-transform: uppercase;
}

h3{
  font-weight: 600;
  line-height: 1.333em;
  font-size: 1.75rem;
}
h6{
  font-weight: 400;
  font-size: .75rem;
  font-family: "Space Mono";
}

p {
  font-size: .75em;
  margin: 1rem 1.5rem;
  font-weight: 400;
  color: rgba(var(--text), 1);
}

.ic{
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  justify-items: center;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  height: .75em;
  margin: 0px .25em;
}

#loadingScreen {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  z-index: 1000;
}
.loading-bar {
  width: 20%;
  height: 100%;
  background-color: rgba(var(--dark), 1);
}

#progress{
  position: absolute;
  color: rgba(var(--light), 1);
}

#content{
  position: relative;
}
.noScroll {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important; 
}
.noScroll::-webkit-scrollbar {
  display: none !important; 
}

#video-container{
  display: none;
  position: fixed;
  z-index: 3;
  width: 100vw;
  top: 50vh;
  border: 1px solid blue;
  height: calc(56.25vw);
  transform: translate(0, -50%);

}

#video-container iframe {
  width: 100%;
  height: 100%;
}
#main-nav{
  position: fixed;
  display: grid;
  grid-template-areas:
    "home . toggle"
    "menu menu menu";
  grid-template-rows: 3em 1fr;
  gap: 0 .25em;
  grid-template-columns: auto 1fr auto;
  z-index: 4;
  width: 100%;
  padding: 0;
}

.home-button {
  font-family: "Jogan";
  font-size: 1.25em;
  margin: .5rem;
  height: 2rem;
  font-weight: 500;
  display: inline-flex;
  grid-area: home;
  align-items: center;
  cursor: pointer;
  border-radius: .25rem;
  padding: 0rem .25rem .25rem .5rem;
  backdrop-filter: blur(5px);
  white-space: pre-wrap;
  background-color: rgba(var(--dark), .75);
  color: rgba(var(--light), 1);
}

.home-button:hover {
  background-color: rgba(var(--dark), 1);
}

#nav-mask{
  pointer-events: fill;
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 3;
  display: none;
  backdrop-filter: blur(5px);
  background-color: rgba(var(--dark), .25);
}

#toggle-menu {
  border-color: rgba(var(--light), 1);
  background-color: rgba(var(--light), 1);
  grid-area: toggle;
  align-self: end;
  margin: auto 1em auto 0;
  text-transform: uppercase;
}

#menu {
  position: relative;
padding: 1em;
display: none;
height: calc(100vh - 3rem);
grid-area: menu;
}

.menu-line{
  padding-top: 1em;
  display: flex;
  gap: .25em;
  margin-bottom: .25em;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.menu-connect{
  position: absolute;     
  bottom: 0;                
  left: 0;                 
  width: 100%;  
  margin-bottom: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

#hero-contact-btn{
  align-self: center;
  grid-area: contact;
}

#hero-msg{
  display: none;
  grid-area: msg;
}

#hero{
  position: relative;
  height: 400vh;
  display: grid;
  grid-template-areas:
    "txt1"
    "txt2"
    "txt3";
  grid-template-rows: calc(var(--vh) - 1rem) 1fr 1fr;
  grid-template-columns: 100%;
  color: rgba(var(--background), 1);
  padding:  1rem;
  transition: grid 0.2s ease;
}

  #heroTxt1{
transform: translateY(3rem);
  grid-area: txt1;
  align-self: end;
  /* padding-bottom: 6rem; */
}

#scrollDown{
  background: none;
  color: rgba(var(--text), .75);
  /* border: none; */
}

#heroTxt2{
  align-self: center;
  grid-area: txt2;
}

#heroTxt3{
  align-self: center;
  grid-area: txt3;
}

.tag-container{
  padding: 1em;
  position: relative;
  display: flex;
  gap: .25em;
  max-width: 70vw;
  flex-wrap: wrap;
}

.tag{
  font-family: "Space Mono", monospace;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: rgba(var(--text), 1);
  border-radius: .25em;
  gap: .25em;
  background-color: rgba(var(--light), 1);
  margin: auto 0px;
  padding: 0px 0.5em;
  height: 1.75em;
}

#tag-concept{
  background-color: rgb(var(--secondary));
}

#tag-creatie{
  background-color: rgb(var(--accent));
}

.hero-word{
  color: transparent;
  background: linear-gradient(90deg, rgba(var(--light), 1) 50%, rgba(var(--background), 1) 50%, rgba(var(--background), 1) 50%);
  background-clip: text;
  position: relative; /* blijkbaar ultra belangrijk voor IOS */
  -webkit-background-clip: text;
  font-kerning: none;
  background-position: 100% 0; /* Begin met de gradient buiten de tekst */
  background-size: 200%; /* Zorg ervoor dat de achtergrond groot genoeg is om te schuiven */
  background-repeat: no-repeat;
  -webkit-text-stroke: 1px rgba(var(--text), 1);
  border-radius: .5rem;
}

#canvas-mask {
  border-bottom: 1px solid rgba(var(--med), 1);
}

.canvas-container {
  position: fixed;
  top: 0px;
  height: 100vh;
  left: 50vw;
  overflow: hidden;
  pointer-events: none;
  transform: translate(-50%, 0);
}

#hero-canvas-1 {
  height: 100vh;
  background-size: contain;
  position: relative;
}

#hero-canvas-2 {
  height: 100vh;
  border-right: 1px solid rgba(var(--med), 1);
  border-left: 1px solid rgba(var(--med), 1);
  background-image: url(img/mobile/seq_hero_2/0001.avif);
  background-size: contain;
}



.btn-small {
  font-family: "Space Mono", monospace;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: rgba(var(--text), 1);
  border-width: 1px;
  border-style: solid;
  border-radius: .25rem;
  gap: .25em;
  padding: 0px 0.5em;
  height: 2em;
}
.btn-small i {
font-size: 1.25em;
}

.btn-small:hover {
  font-weight: 600;
}

.btn-bw{
  border-color: rgba(var(--text), 0);
  background-color: rgba(var(--light), 1);
} 
.btn-bw:hover{
  color: rgba(var(--light), 1);
  border-color: rgba(var(--light), 1);
  background-color: rgba(var(--text), 1);
  border-radius: 5em;
}

.btn-trans{
  backdrop-filter: blur(15px);
  color: rgba(var(--text), 1);
  border-color: rgba(var(--text), 0);
  background-color: rgba(var(--light), .4);
}

.btn-trans:hover{
  border-color: rgba(var(--text), .2);
}

.info{
  font-size: .7em;
  /* font-weight: 700; */
  justify-self: end;
  padding: 0em .5em;
  border-radius: .25em;
  color: rgba(var(--text), 1);
  margin: none;
  border: 1px solid rgba(var(--info), .75);
  font-family: "Space Mono", monospace;
  text-transform: uppercase;
  backdrop-filter: blur(5px);
  background-color: rgba(var(--info), .5);
}

.animate {
  transition: all .3s ease-out;
}


.typing-text::after {
  content: '|';
  color: rgb(var(--primary));
  font-family: 'Jost';
  mix-blend-mode: difference;
  font-weight: 300;
  animation: cursorBlink 0.5s infinite alternate;
  position: relative;
  right: 0;
}

.hScroll {
  width: fit-content;
  display: flex;
  flex-wrap: nowrap;
  background-color: rgba(var(--light), 0);
}

#landing{
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

#landingAnim1{
  position: absolute;
  height: 100vh;
}

.productCanvas{
  padding-top: 3em;
  position: absolute;
  width: clamp(0px, 100vw, 512px);
  top: 0px;
  left: -1em;
}


#landing-content{
  position: relative;
  display: grid;
  grid-template-areas:
    "txt4"
    "tags";
  grid-template-rows: 50vh minmax(10vh, auto);
  grid-template-columns: auto;
  padding: 1em;
  padding-bottom: 6rem;
  height: 100vh;
}

#heroTxt4{
  align-self: end;
  grid-area: txt4;
}

#tags-about{
  grid-area: tags;
}

.productSlider{
  position: relative;  
  width: 100%;
  background-color: rgba(var(--light), 1);
  /* margin: 0 auto; */
  /* border-radius: .5rem; */
/* display: flex; */
  /* justify-content: center;
  align-items: center; */
  /* border-top: 1px solid rgba(var(--med), 1); */
}

#sct-contact{
  padding: 4em 0;
  margin: 1em;
  border-bottom: 1px solid rgba(var(--med), 1);
}

#sct-concept, #sct-creatie{
  display: grid;
  background-color: rgba(var(--background), 1);
  grid-template-areas:
  "title"
  "txt";
grid-template-rows: auto auto;
grid-template-columns: 100vw;
}

.dark-header {
  -webkit-text-stroke: 1px rgba(var(--text), 1);
  background: linear-gradient(90deg, rgba(var(--background), 1) 33%, rgba(var(--background), 0.3) 66%);
  padding: 3rem 0;
  color: rgba(var(--background), 1);
  grid-area: title;
  background-clip: text;
  align-self: center;
  justify-self: center;
  background-size: 300%;
  background-position: 100% 0;
  -webkit-background-clip: text;
}

.concept-txt{
  grid-area: txt;
  /* filter: invert(0.8); */
  font-size: 1.2em;
  padding-bottom: 3rem;
}

.sct-product{
  width: calc(100% - 2em);
  position: relative;
  display: grid;
  grid-template-areas:
  "media"
  "subtitle"
  "txt";
grid-template-rows: clamp(0px, 100vw, 512px) auto auto;
grid-template-columns: 100%;
padding: 2em 0em 6em 0em;
margin: 0 1em;
border-bottom: 1px solid rgba(var(--background), 1);
}

.sct-media{
grid-area: media;
gap: .25em;
position: relative;
display: grid;
overflow: hidden;
width: clamp(0px, calc(100vw - 2em), 512px);
grid-template-areas:
"title"
"imgtags";
grid-template-rows: 1fr auto;
grid-template-columns: 1fr;
}

.sct-title{
  padding: 2rem 0;
  z-index: 2;
  align-self: start;
  justify-self: center;
  -webkit-text-stroke: 1px rgba(var(--text), 1);
  color: rgba(var(--light), 1);
  grid-area: title;
  overflow: visible;
}

.img-tags{
  display: flex;
  gap: .25em;
  flex-wrap: wrap;
  justify-content: flex-end;
  grid-area: imgtags;
}

.product-bg{
  position: absolute;
  width: clamp(0px, calc(100vw - 2rem), 512px);
  height: clamp(0px, 75vw, 384px);
  background-size: 100% 100%;
  border-radius: .5rem;
  overflow: hidden;
  top: 0px;
  left: 0px;
}



.sct-media button{
  font-size: .9em;
}

.sct-media p{
  margin: 0;
  font-size: .9em;
}

.sct-subtitle{
  padding: 1rem;
  font-family: "Playfair Display", serif;
  font-weight: 600;
  grid-area: subtitle;
}
.sct-txt{
  font-size: 1.2em;
  font-family: "Playfair Display", serif;
  grid-area: txt;
  font-weight: 400;
  /* border-bottom: 1px solid rgba(var(--text), 1); */
}

.sct-word{
  background: linear-gradient(90deg, rgba(var(--text), 1) 33%, rgba(var(--text), 0.2) 66%);
  color: transparent;
  background-clip: text;
background-size: 300%;
background-position: 100% 0;
-webkit-background-clip: text;

}

.contact-icons{
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1rem;
}

.icon-tile{
  color: rgba(var(--text), 1);
  background-color: rgba(var(--light), 1);
  border-radius: 2rem;
  height: 3rem;
  width: 3rem;
  display: flex;
  cursor: pointer;
  justify-content: center; 
  align-items: center; 
}

#footer{
  position: relative;
  width: 100%;
  padding: 4rem 0;
  display: grid;
  grid-template-areas:
"sitemap"
"connect"
"privacy";
grid-template-rows: auto auto auto;
grid-template-columns: 1fr;
gap: 2rem;
  background-color: rgba(var(--background), 1);
  justify-items: center;
}

#footer-sitemap{
  text-align: center;
  grid-area: sitemap;
}

#footer-connect{
  text-align: center;
  justify-items: center;
  grid-area: connect;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;

}

#footer-privacy{
  text-align: center;
  display: flex;
  justify-items: center;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  grid-area: privacy;
}
#story-bg{
  background: url('img/product1-bg.png')  center/cover;
}

#game-bg{
  background-image: url(img/crew-bg.png);
  background-position-y: 0%;
  background-size: cover;
}

#web-bg{
  background-image: url(img/blueriver-bg.png);
  background-position-y: 0%;
  background-size: cover;
}



/* Kleinere mobiele apparaten (portrait) */
@media (max-width: 429px) {
  h2{
    font-size: 2.5rem;
  }
  
  /* .home-button{
    font-size: 1.2rem;
  } */
  
}

/* Grote mobiele apparaten (landscape) */
@media (min-width: 430px) and (max-width: 767px) {

}

/* Tablets en kleine desktops */
@media (min-width: 768px) and (max-width: 1024px) {
  .card-big {
    grid-template-areas:
      "title title"
      "txt img";
    grid-template-rows: 4em 1fr;
    grid-template-columns: 1fr 512px;
  }
}

/* Standaard desktops */
@media (min-width: 1025px) and (max-width: 1280px) {
  .card-big {
    grid-template-areas:
      "title title"
      "img txt";
    grid-template-rows: 4em 1fr;
    grid-template-columns: 512px 1fr;
  }
}

/* Brede desktops en grotere apparaten */
@media (min-width: 1281px) {
  .card-big {
    grid-template-areas:
      "title title"
      "img txt";
    grid-template-rows: 4em 1fr;
    grid-template-columns: 512px 1fr;
  }
}







.dev-highlight {
  border: dashed 1px rgb(128, 128, 128);
  background-image:
    linear-gradient(45deg, #cccccc75 25%, transparent 25%),
    linear-gradient(135deg, #cccccc75 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #cccccc75 75%),
    linear-gradient(135deg, transparent 75%, #cccccc75 75%),
    linear-gradient(to bottom, rgba(240, 40, 40, .2) 0%, rgba(240, 40, 40, .2) 100%);
  background-size: 1em 1em;
  /* Must be a square */
  background-position: 0 0, .5em 0, .5em -.5em, 0px .5em;
  background-clip: content-box, content-box, content-box, content-box, padding-box;
  padding: 1em;
}