:root {
  color-scheme: light only;
  --black: #080808;
  --darkgrey: #111111;
  --grey: #565656;
  --white: #FAFAFA;
  --green: #06250D;
  --lightgreen: #004B1C;
  --active: #0b692d;
  --highlight: #FFF200;
  
  --border_s: 6px;
  --border_l: 15px;
  
  --mainfont: "Zen Dots", sans-serif;
  --bodyfont:"Space Grotesk", sans-serif;
  --txt_heading: 35px;
  --txt_body: 16px;
  --txt_s: 12px;
  --txt_xl: 3.5vw;
  --txt_l: 50px;
  --regular: 400;
  --medium: 500;
  --bold: 700;

  --p_l: 50px;
  --p_s: 15px;
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 1,
  'wght' 300,
  'GRAD' 0,
  'opsz' 24
}
.material-symbols-outlined {
  user-select: none;
}

@media only screen and (max-width: 768px) {
  :root {
    --txt_heading: 22px;
    --txt_body: 12px;
    --txt_l: 30px;
    --txt_s: 10px;
    --p_l: 25px;
    --p_s: 15px;
  }
  .material-symbols-outlined {
    font-size: 20px;
  }
}


/*---------------------------------------
   COMMON
-----------------------------------------*/
.no_mp{
  margin: 0 !important;
  padding: 0 !important;
}
.w100{
  position: relative;
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
}
.w90{
  max-width: 90vw !important;
}
.w80{
  max-width: 80% !important;
}
.w70{
  max-width: 70% !important;
}
.w60{
  max-width: 60% !important;
}
.h100{
  height: 100%;
  max-height: 100vh;
  max-height: 100svh;
}
.a_ctr{
  display: flex;
  align-items: center !important;
}
.j_ctr{
  display: flex;
  justify-content: center !important;
}
.j_sa{
  display: flex;
  justify-content: space-around;
}
.j_sb{
  display: flex;
  justify-content: space-between;
}
.a_fs{
  display: flex;
  align-items: flex-start;
}
.j_fs{
  display: flex;
  justify-content: flex-start;
}
.a_fe{
  display: flex;
  align-items: flex-end;
}
.j_fe{
  display: flex;
  justify-content: flex-end;
}
.vertical{
  flex-direction: column !important;
  gap: 15px;
}
.t_ctr{
  text-align: center;
}
.t_fs{
  text-align: start;
}
.t_fe{
  text-align: end;
}
.t_break{
  word-break: break-word; 
  overflow-wrap: break-word; 
  hyphens: auto; 
}
.t_overflow{
  width: 100%;
  text-wrap: nowrap;
  overflow: hidden !important;
  text-overflow: ellipsis;
}
@media only screen and (max-width: 500px) {
  .a_fe{
    align-items: unset;
  }
  .t_fe{
    text-align: unset;
  }
}

.xlgap{
  gap: var(--p_l);
}
.biggap{
  gap: var(--p_s);
}
.smallgap{
  gap: 10px;
}
.nogap{
  gap: 0 !important;
  margin: 0 !important;
}
@media only screen and (max-width: 500px) {
  .biggap{
    gap: var(--p_s);
    column-gap: 10px;
    padding: 0;
  }
}

.brd_l{
  border-radius: var(--border_l) !important;
  overflow: hidden;
}
.brd_s{
  border-radius: var(--border_s) !important;
  overflow: hidden;
}
.brd_btm{
  border-bottom: .5px solid rgba(255, 255, 255, 0.35);
}
.brd_btm.highlight{
  padding-bottom: 10px;
  border-bottom: 1px solid var(--active);
}
.brd_btm.black{
  padding-bottom: 10px;
  border-bottom: 1px solid var(--black);
}
.brd_line{
  border: .5px solid rgba(255, 255, 255, 0.35);
  height: 100%;
  margin: 0;
}

.scrollY{
  overflow-y: scroll;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
}
.scrollX{
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
}

.ovfshow{
  overflow: visible;
}
.ovfhide{
  overflow: hidden;
}

.snap_ctr{
  scroll-snap-align: center;
}
.snap_start{
  scroll-snap-align: start;
}
.snap_end{
  scroll-snap-align: end;
}

.screensize{
  max-width: 100vw !important;
  max-height: 100vh !important;
  max-height: 100svh !important;
  overflow: hidden !important;
}
.fwrap{
  flex-wrap: wrap;
}
.fgrow{
  flex-grow: 1;
}
.fshrink{
  flex-shrink: 1;
}

.wrapdown{
  max-width: 100%;
  flex-wrap: wrap;
  gap: .35rem;
}
.noclick{
  pointer-events: none;
  user-select: none;
}

.p50{
  padding: var(--p_l);
}
.p50_v{
  padding: var(--p_l) 0;
}
.p50_h{
  padding: 0 var(--p_l);
}
.p50_btm{
  padding-bottom: var(--p_l);
}
.p25{
  padding: var(--p_s); 
}
.p25_v{
  padding: var(--p_s) 0; 
}
.p25_h{
  padding: 0 var(--p_s);
}
.p25_btm{
  padding-bottom: var(--p_s);
}

.divider{
  width: 105%;
  border-bottom: 1px solid rgba(255, 255, 255, .35);
  grid-column: 1 / -1;
  justify-self: center;
  align-self: center;
}

/*---------------------------------------
   GRID SETTING    
-----------------------------------------*/
.grid_12{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 50px;
}
.grid_6{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 25px;
}
.grid_4{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 5px 25px;
}

.c1{
  grid-column: span 1;
}
.c2{
  grid-column: span 2;
}
.c3{
  grid-column: span 3;
}
.c4{
  grid-column: span 4;
}
.c5{
  grid-column: span 5;
}
.c6{
  grid-column: span 6;
}
.c7{
  grid-column: span 7;
}
.c8{
  grid-column: span 8;
}
.c9{
  grid-column: span 9;
}
.c10{
  grid-column: span 10;
}
.c11{
  grid-column: span 11;
}
.c12{
  grid-column: span 12;
}

@media screen and (max-width: 1080px) {
  .c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c9,.c10,.c11,.c12{
    grid-column: 1 / -1;
  }
  .grid_12,.grid_6,.grid_4{
    grid-gap: unset;
  }
}

/*---------------------------------------
   FONT    
-----------------------------------------*/
h1{
  font-family: var(--mainfont) ;
  color: var(--white);
  font-size: var(--txt_heading);
  line-height: calc(var(--txt_heading) - 2px);
  margin: 0;
  text-wrap: pretty;
}
h2{
  font-family: var(--mainfont) ;
  color: var(--white);
  font-size: var(--txt_l);
  line-height: calc(var(--txt_l) - 2px);
  margin: 0;
}
p, li{
  color: var(--white);
  font-size: var(--txt_body);
  line-height: calc(var(--txt_body) + 5px);
  font-weight: var(--regular);
  margin: 0;
  text-wrap: pretty;
}
.black{
  color: var(--black);
}
.txt_dark{
  color: var(--active);
}
.highlight{
  color: var(--highlight) !important;
}
.uppercase{
  text-transform: uppercase;
}
.txt_s{
  font-size: var(--txt_s);
  line-height: calc(var(--txt_s) + 2px);
}

/*---------------------------------------
   Normalize    
-----------------------------------------*/
body{
  position: relative;
  min-height: 100vh;
  width: 100%;
  margin: 0px;
  padding: 0px;
  color: var(--white);
  font-size:  var(--txt_body);
  font-family: var(--bodyfont);
  font-weight: var(--regular);
  text-wrap: pretty;
  overflow-x: hidden !important;
  background: var(--darkgrey);
  z-index: 1;
}
/* body::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/bg.png);
  left: 0;
  top: 0;
  mix-blend-mode: screen;
  opacity: 5%;
  pointer-events: none;
  z-index: -1;
} */

section{
  margin: 0;
  padding: 0;
  max-width: 100vw;
  min-height: fit-content;
  scroll-snap-align: center;
}
section:not(#KV){
  padding: 30px 0;
}

.maincontainer{
  width: 1600px;
  max-width: 90vw;
  height: fit-content;
  margin: 0 auto;
}
.mainwrapper{
  max-width: 600px;
}

ul, li, a, button{
  color: unset;
  list-style: none;
  text-decoration: none;
  border: none;
  background: none;
  margin: 0;
  padding: 0;
}
.disc li{
  list-style: disc;
  margin-left: 20px;
}
ol{
   padding-left: calc(var(--txt_body) + 10px);
}
ol li{
  list-style: decimal;
}

input{
  outline: none;
  border: none;
  padding: 0 1rem;
}

:focus, :focus-within, :focus-visible, :active, :target{
  outline: none !important;
  box-shadow: unset !important;
}

table, tbody, td, tfoot, th, thead, tr {
  border: none;
}

::before, ::after{
  pointer-events: none;
}

/*---------------------------------------
   Scroll Effect       
-----------------------------------------*/
.hidden{
  opacity: 0;
  transition: all 1s;
}

.show{
  opacity: 1;
}

.fade:not(.show) {
  opacity: 0;
  display: none;
}
