* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: "JetBrains Mono NL", sans-serif;
  color: #FFF;
  scroll-behavior: smooth;
}

:root {
  --bg-blue: #0a1321;
  --dark-blue:#090d1a;
  --light-blue: #00daff;
  --black:#000;
  --white: #fff;
}

h1,h2,h3,h4{
  font-family: "Kanit", sans-serif;
  font-weight: 700;
  font-style: normal;
}

h1 span,h2 span,h3 span,h4 span{
  color: var(--light-blue);
}

h1{
  font-size: 64px;
  line-height: 64px;
}

h2{
  font-size: 32px;
  line-height: 32px;
}

h3{
  font-size: 24px;
  line-height: 32px;
}

a{
  text-decoration: none;
  color: var(--white);
}

p{
  font-size: 20px;
  line-height: 40px;
}


/****PRELOAD****/

.preloader{
  width: 100vw;
  height: 100vh;
  position: fixed;
  background-color: var(--dark-blue);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.preloader .container {
  width: 250px;
  height: 250px;
  border-radius: 100%;
  /*background: linear-gradient(165deg, rgba(255,255,255,1) 0%, rgb(220, 220, 220) 40%, rgb(170, 170, 170) 98%, rgb(10, 10, 10) 100%);*/
  position: relative;
}
.loader {

}

.loader:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  border-radius: 100%;
  border-bottom: 0 solid #ffffff05;
  box-shadow:
    0 -10px 20px 20px #68c2d740 inset,
    0 -5px 15px 10px #73c3d650 inset,
    0 -2px 5px #84c5d480 inset,
    0 -3px 2px #8bc3d0BB inset,
    0 2px 0px #a1c8d1,
    0 2px 3px #fafeff,
    0 5px 5px #fafeff90,
    0 10px 15px #fafeff60,
    0 10px 20px 20px #fafeff40;
  filter: blur(3px);
  animation: 2s rotate linear infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg)
  }
}


/******ANIMATE IN*****/

.fade-in-element {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.5s ease-out, transform 0.1s ease-out;
}

.faded-element {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.faded-element.shown{
  opacity: 1;
  transform: translateY(0);
}

/****SITE HEADER*****/


#wrapper{
  width: 100%;
  min-height: 100vh;
  background-color: var(--bg-blue);
  max-width: 1920px;
  margin: auto;
  overflow-x: hidden;
  position: relative;
}

/***BG MUSIC POP UP***/

.bg-music{
  width: 100%;
  height: 100vh;
  background-color: #0009;
  display: flex;
  position: fixed;
  z-index: 1000;
}

.bgm-content{
  width: 80%;
  max-width: 808px;
  margin: auto;
  min-height: 339px;
  background-image: url(../images/remember.png);
  background-repeat: no-repeat;
  background-size: 100%;
  padding-left: 60px;
  padding-top: 50px;
  padding-right: 250px;
  position: relative;
  z-index: 1;
}

.bgm-content nav{
  margin-top: 50px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.bgm-content nav button{
  border: 0;
  background: transparent;
  color: #FFF;
  font-family: "JetBrains Mono NL", sans-serif;
  font-size: 18px;
  padding: 10px 30px;
  border: 1px solid #CCC;

  cursor: pointer;
}

.bgm-content nav button:first-of-type{
  margin-right: 40px;
}

/***DISCOUNT***/

.discount-alert{
  width: 100%;
  display: flex;
  justify-content: center;
  background-color: var(--light-blue);
}

.discount-alert .content{
  font-size: 18px;
  padding: 10px;
  color: var(--black);
}

.discount-alert .content a{
  font-weight: 600;
  color: var(--black);
}

/***HEADER***/

header{
  width: 100%;
  display: flex;
  justify-content: center;
  transition: all 0.3s;
  position: sticky;
  z-index: 100;
}

header .content{
  width: 100%;
  max-width: 1000px;
  padding: 0 20px;
  padding-bottom: 70px;
  padding-top: 35px;
  background-image: url(../images/header_bar.png);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100%;
  display: flex;
  transition: all 0.3s;
}

header .content img.logo{
  margin: auto 0;
  display: none;
  opacity: 0;
  transition: all 0.3s;
}

header .content a.burguer{
  display: none;
}

header .content nav{
  display: flex;
  justify-content: space-between;
  /*padding-right: 70px;*/
  width: 100%;
  margin: auto 0;
  transition: all 0.3s;
}

header .content nav a{
  font-size: 24px;
}

header.sticky{
  background-color: var(--black);
  position: fixed;
  top: 0;
  z-index: 100;
}

header.sticky .content{
  padding-bottom: 15px;
  padding-top: 15px;
  background-image: none;
}

header.sticky .content img.logo{
  display: inherit;
  opacity: 1;
  margin-right: 60px;
}

header.sticky .content nav a{
  font-size: 18px;
}

/****BLOCK****/

.blocks{
  position: absolute;
  top: 40px;
  background-image: url(../images/middle_stars.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
  width: 100%;
}

.block{
  width: 100%;
}

.block.one{
  /*will-change: transform, position;
  transform-origin: center center;*/
  position: relative;
  z-index: 1;
}

.info-block{
  position: absolute;
  display: flex;
  flex-flow: column;
  align-items: center;
  top: 16vw;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
  transition: all 0.2s;
}

.info-block span{
  font-size: 40px;
  font-weight: 700;
  margin-top: 150px;
  text-align: center;
  text-shadow: -1px -1px 1px #00DAFF,1px 1px 1px #00DAFF, 0 1px 5px rgba(0,0,0, 0.5);
}

.clouds{
  width: 100%;
}

.clouds img{
  width: 100%;

}

.clouds img.top-bottom{
  bottom: 0;
  left: 0;
  position: absolute;
}


.block.two{
  margin-top: 60px;
  z-index: 1;
  position: relative;
}

.block.two .bg{
  width: 100%;
}

.block.two .bg img{
  width: 100%;
}

.block.three{
  display: flex;
  justify-content: center;
}

.wind-cloud{
  position: absolute;
  z-index: 0;
  margin-top: 150px;
  min-width: 100%;
}

.hiw{
  margin: auto;
  margin-top: 0;
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 100%;
  max-width: 960px;
  padding-bottom: 200px;
}

.hiw h1{
  text-align: center;
}

.hiw-content{
  width: 100%;
  display: flex;
  margin-top: 50px;
}

.hiw .info{
  max-width: 420px;
  text-align: right;
}

.hiw ul{
  list-style-type: none;
  margin-left: 45px;
}

.hiw ul li{
  display: flex;
  padding-bottom: 25px;
  background-image: linear-gradient(to right,#FFF,#FFF);
  background-size: 1px 100%;
  background-position: 38px 82px;
  background-repeat: no-repeat;
}

.hiw ul li:last-of-type{
  background-image: none;
}

.number{
  background-image: url(../images/num-circle.png);
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--black);
  width: 75px;
  height: 83px;
  font-size: 24px;
}

/*.number::after{
  content: "";
  width: 1px;
  height: 100%;
  background-color: var(--white);
}*/

.hiw ul li .data{
  margin-left: 25px;
  max-width: 400px;
}

.hiw ul li .data h2{
  color: var(--light-blue);
}

/****BIG 4-5 BLOCK****/

.four-five{
  position: relative;
  background-image: url(../images/footer_stars.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.four-five .souls{
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.four{
  width: 100%;
  background-image: url(../images/clouds_middle_down.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
  display: flex;
  flex-flow: column;
  position: relative;
  z-index: 1;
}

.cloudd{
  position: absolute;
  z-index: 0;
  width: 100%;
  margin-top: 200px;
}

.celebrate{
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-flow: column;
}

.celebrate h1{
  text-align: center;
  font-size: 48px;
  text-shadow: 2px 2px #00000060;
}

.cel-content{
  width: 100%;
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}

.cel-content img{
  margin: auto;
  margin-top: 0;
}

.cel-content p{
  max-width: 664px;
  width: 60%;
  text-shadow: 1px 1px #00000060;
}

.cel-content img.cel-img{
  max-width: 408px;
  margin-right: 0;
}

.cel-content img.con-img{
  max-width: 320px;
  margin-left: 135px;
}

.celebrate.connecting{
  margin-top: 150px;
}

.cel-content.con p{
  max-width: 560px;
  width: 50%;
  text-shadow: 1px 1px #00000060;
}

.tribute{
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
  position: relative;
  /*border-radius: 25px;
  background-color: rgba(0, 0, 0, 0.6);*/
  display: flex;
}

.tribute .info{
  padding-top: 230px;
  padding-bottom: 140px;
  padding-right: 70px;
  padding-left: 80px;
  top: -155px;
  position: relative;
  background-image: url(../images/tb-top.png), url(../images/tb-top-side.png), url(../images/tb-corner.png), url(../images/tb-side.png), url(../images/tb-bottom.png);
  background-repeat: no-repeat;
  background-position: top right, 88px 143px, 12px 143px, 12px 214px, 0 bottom;
  background-size: auto, calc(100% - 164px) 36px, auto, 36px calc(100% - 304px),auto;
}

.tribute .info h1{
  font-size: 48px;
  line-height: 48px;
}

.tribute .info ul{
  list-style-type: none;
}

.tribute .info ul li{
  display: flex;
  margin-top: 35px;
}

.tribute .info ul li:first-of-type{
  margin-top: 60px;
}

.tribute .info ul li img{
    margin: auto;
    margin-top: 0;
}

.tribute .info ul li .texts{
  margin-left: 20px;
}

.tribute .info ul li .texts h3{
  color: var(--light-blue);
  font-size: 24px;
  line-height: 32px;
}

.tribute .info ul li .texts p{
  font-size: 14px;
  line-height: 24px;
}

.tribute img.divisor{
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.five{
  position: relative;
  width: 100%;
  background-image: url(../images/footer_clouds_bkg.png);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100%;
  min-height: 99vw;
  padding-top: 19vw;
}

.footer-energy{
  position: absolute;
  z-index: 0;
  width: 100%;
}

.remember{
  width: 100%;
  max-width: 808px;
  margin: auto;
  min-height: 339px;
  background-image: url(../images/remember.png);
  background-repeat: no-repeat;
  background-size: 100%;
  padding-left: 60px;
  padding-top: 50px;
  padding-right: 250px;
  position: relative;
  z-index: 1;
}

.remember h1{
  font-size: 48px;
  line-height: 48px;
}

.remember p{
  font-size: 24px;
  margin-top: 30px;
}

.five .info{
  width: 100%;
  max-width: 977px;
  min-height: 518px;
  margin: 0 auto;
  margin-top: 250px;
  position: relative;
  /*padding: 60px 95px;*/
  background-image: url(../images/dm-left-corner.png), url(../images/dm-top.png), url(../images/dm-right-corner.png), url(../images/dm-side-left.png), url(../images/dm-side-right.png), url(../images/dm-bottom-left.png), url(../images/dm-bottom.png), url(../images/dm-bottom-right.png);
  background-repeat: no-repeat;
  background-size: auto, calc(100% - 406px) 16px, auto, 6px calc(100% - 394px), 15px calc(100% - 392px), auto, auto, auto;
  background-position: top left, 285px 9px, 100% 9px, 0 210px, 100% 210px, 0 calc(100% - 24px), 63px calc(100% - 19px), bottom right;
  display: flex;
}

.dm-content{
  background-color: rgba(0, 0, 0, 0.6);
  max-width: 956px;
  width: 100%;
  margin-left: 7px;
  margin-bottom: 31px;
  margin-top: 26px;
  border-top-left-radius: 162px;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 152px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-bottom: 40px;
  padding-top: 30px;
}

.five .info h1{
  font-size: 48px;
  line-height: 48px;
  text-align: center;
}

.five .info article{
  display: flex;
}

.five .info article .image{
  position: relative;
}

.five .info article .image .num{
  position: absolute;
  color: var(--light-blue);
  font-weight: 600;
  font-size: 120px;
  line-height: 120px;
  left: 20px;
  bottom: -20px;
}

.five .info article .texts{
  margin-left: 20px;
  max-width: 330px;
}

.five .info article .texts h3{
  color: var(--light-blue);
}

.five .info article .texts p{
  font-size: 14px;
  line-height: 24px;
  margin-top: 10px;
}

/**********FOOTER****/

footer{
  width: 100%;
  margin-top: 100px;
  background-color: #060914;
  position: relative;
  padding-top: 50px;
  padding-bottom: 150px;
  display: flex;
  justify-content: center;
}

footer .content{
  width: 100%;
  max-width: 960px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer .content .info img{
  margin-bottom: 20px;
}

footer .content .info p{
  font-size: 14px;
  line-height: 20px;
  max-width: 440px;
}


@media screen and (max-width:1100px) {

  h1{
    font-size: 50px;
    line-height: 54px;
  }

  h2 {
    font-size: 28px;
    line-height: 28px;
  }

  p{
    font-size: 18px;
    line-height: 35px;
  }

  header .content nav a{
    font-size: 22px;
  }

  .info-block img{
    width: 60vw;
  }
  .info-block span{
    font-size: 30px;
    margin-top: 110px;
  }

  .celebrate{
    max-width: 900px;
    z-index: 1;
  }

  .cel-content{
    justify-content: center;
  }

  .cel-content img.con-img{
    margin-left: 20px;
    margin-right: 20px;
  }

  .cel-content p{
    max-width: 420px;
  }

  footer{
    padding-bottom: 80px;
  }

}


@media screen and (max-width:900px) {

  .discount-alert .content{
    font-size: 14px;
    padding: 5px;
  }

  .block.two{
    margin-top: 0;
  }

  .hiw-content{
    flex-flow: column;
    align-items: center;
  }

  .hiw .info{
    max-width: 80%;
  }

  .hiw ul{
    margin-left: 0;
    margin-top: 40px;
  }

  .celebrate{
    max-width: 80%;
  }

  .cel-content{
    flex-flow: column;
    align-items: center;
  }

  .cel-content p{
    max-width: none;
    width: 100%;
  }

  .cel-content img.cel-img{
    max-width: 100%;
    margin: auto;
    margin-top: 40px;
  }

  .cel-content img.con-img{
    max-width: 100%;
  }

  .cel-content.con p{
    width: 80%;
    margin-top: 40px;
  }

  .remember{
    max-width: none;
    width: 90%;
  }

  .remember h1{
    font-size: 40px;
    line-height: 44px;
  }

  footer .content{
    width: 80%;
  }

}

@media screen and (max-width:700px) {

  p{
    text-align: center;
  }

  header .content{
    background-position: bottom center;
    overflow: hidden;
    position: relative;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 50px;
    transition: all 0.3s;
  }

  header.sticky .content img.logo{
    margin-top: 4px;
  }

  header .content.open{
    background: #000;
    height: calc(100vh - 28px);
  }

  header .content a.burguer{
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 28px;
    margin: 0 auto;
    margin-left: 0;
    margin-top: 12px;
  }

  header .content a.burguer span{
    width: 32px;
    height: 4px;
    background-color: #FFF;
    border-radius: 100px;
    margin: 0;
    margin: auto;
  }

  header .content a.burguer span:nth-of-type(2){
    margin: auto;
  }

  header .content.open a.burguer span:nth-child(1) {
      transform: translateY(9px) rotate(45deg);
  }

  header .content.open a.burguer span:nth-child(2) {
      opacity: 0;
  }

  header .content.open .burguer span:nth-child(3) {
      transform: translateY(-9px) rotate(-45deg);
  }


  header .content nav{
    position: absolute;
    flex-flow: column;
    top: 130px;
    padding-right: 0;
  }

  header .content nav a{
    font-size: 25px;
    margin-top: 50px;
  }

  header .content a.buy {
    display: flex;
    margin: 0 auto;
    margin-right: 0;
  }

  header .content a.buy img{
    max-height: 48px;
  }

  .bgm-content{
    background-image: url(../images/r-pho-l.png), url(../images/r-pho-c.png), url(../images/r-pho-r.png);
    background-repeat: no-repeat;
    background-size: 66px 339px, calc(100% - 132px) 339px, 66px 339px;
    background-position: top left, 66px 0, top right;
    padding: 60px 20px;
  }

  .blocks{
    background-size: auto;
  }

  .clouds{
    position: relative;
  }

  .clouds img{
    min-width: 1300px;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
  }

  .block.two .bg{
    display: flex;
  }

  .block.two .bg img{
    min-width: 1300px;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
  }

  .block.three{
    background:var(--bg-blue);
  }

  .info-block{
    top: 24vw;
  }

  .hiw ul li .data p{
    text-align: left;
  }

  .four-five{
    background-size: auto;
  }

  .cel-content.con p{
    width: 100%;
  }

  .remember{
    width: 90%;
    height: 339px;
    padding: 40px 40px;
    background-image: url(../images/r-pho-l.png), url(../images/r-pho-c.png), url(../images/r-pho-r.png);
    background-repeat: no-repeat;
    background-size: 66px 339px, calc(100% - 132px) 339px, 66px 339px;
    background-position: top left, 66px 0, top right;

  }

  footer .content{
    flex-flow: column;
  }

  footer .content .info{
    display: flex;
    flex-flow: column;
    align-items: center;
  }

  footer .content .info p{
    text-align: center;
  }

  footer .content nav{
    margin-top: 30px;
  }

}


@media screen and (max-width:460px) {

  h1{
    font-size: 36px;
    line-height: 44px;
  }

  h2{
    font-size: 22px;
    line-height: 24px;
  }

  p{
    line-height: 30px;
  }

  header.sticky .content img.logo{
    display: none;
  }

  .info-block{
    top: 70vw;
  }

  .info-block img{
    width: 80vw;
  }

  .info-block span{
    font-size: 24px;
  }

  .hiw ul{
    padding: 0 20px;
  }

  .cel-content p{
    text-shadow: 1px 1px #000;
  }

  .number{
    width: 65px;
    height: 71px;
    font-size: 22px;
    background-size: 100%;
    background-repeat: no-repeat;
    flex-shrink: 0;
  }

  .celebrate h1, .remember h1{
    font-size: 36px;
    line-height: 44px;
  }

  .remember p{
    font-size: 18px;
    line-height: 24px;
    text-align: left;
  }

  .cloudd{
    width: 300%;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 30%;
  }

  .four-five .souls{
    width: 150%;
    top: 100%;
  }

  .remember{
    display: none;
  }

  .footer-energy{
    width: 250%;
    left: calc(50vw - 125%);
    top: -80%;
  }

}
