*{
	margin:0px;
	padding:0px;
}
@font-face {
    font-family: Exo2;
    src: url("./fonts/exo/Exo2-VariableFont_wght.ttf");
}
@font-face {
    font-family: NotoSansPhagsPa;
    src: url("./fonts/enchanting_table/NotoSansPhagsPa-Regular.ttf");
}
body{
	background-color:#000000;
}

html{
	overflow-x:hidden;
}
hr {
    margin: 0 auto;
    margin-top: 40px;
	margin-bottm:30px;
    width: 74%;
    border: 0;
    height: 2px;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
}
#canvascontainer{
	width:100vw;
	height:100vh;
	overflow-y:hidden;
	overflow-x:hidden;
	position:absolute;
}
#3dcanvas{
	position:fixed;
	
}
.hidden{
	display:none;
}

.datacontainer{
	position:absolute;
	top: 0px;
	color: white;
	justify-content:center;
	padding:30px;
	padding-left:100px;
	padding-top:10%;
	background-color: rgba(0,0,0,0.3);
	min-height:10%;
}
.curtain {
	transform: translate(-50%,0px);
	animation: curtainUp 2s ease-in-out forwards;
}
.curtainrev{
	transform: translate(-50%,-100%);
	scale:1.0;
	animation: curtainDown 1s ease-in-out forwards;
}
.mobile_controls{
  position:fixed;
  z-index:10000;
  right:10px;
  bottom:10px;
}
.controlbtn{
  width:50px;
  height:50px;
  background: rgba(0,0,0,0.4);
  border: 1px solid white;
  color: white;
  font-size:30px;
  margin:4px;
  transition: 0.3s;
}
.controlbtn:hover{
  background-color: red;
}
#wbtn{
  position:absolute;
  top: -58px;
  left: 62px;
}
#qbtn{
  position:absolute;
  top: -58px;
}

@keyframes curtainUp {
	0% {
		transform: translate(-50%,0px);
	}
	100% {
		transform: translate(-50%,-100%);
		display:none;
	}
}
@keyframes curtainDown {
	0% {
		transform: translate(-50%,-100%);
	}
	100% {
		transform: translate(-50%,0px);
		
	}
}
.popup{
	padding-top:1%;
	background-color: rgba(0,0,0,0.6);
}
.centered{
	text-align:center;
}
.halfwidth{
	width:50%;
	margin-left:50%;
	transform: translate(-50%,0px);
}
.halfwidth2{
	width:50%;
	margin-left:50%;
	transform: translate(-50%,0px);
}
.centered2{
	margin-left:50% !important;
	transform: translate(-50%,0px) !important;
}
h1{
	margin-bottom:36px;
	font-size:2rem;
	font-family: "Exo2", sans-serif;
	word-break: break-word;
}
p{
	margin-bottom:60px;
	font-size:1.2rem;
	color: #bbb;
	font-family: "NotoSansPhagsPa", sans-serif;
	word-break: break-word;
}
a{
	color: #ffff77;
}
.decoration{
	margin-left:0px;
	margin-bottom:10px;
	text-decoration: underline;
	text-align:center;
	word-break: break-all;
}

/* CSS */
.button-86 {
  all: unset;
  width: 100px;
  height: 30px;
  font-size: 16px;
  background: transparent;
  border: none;
  position: relative;
  color: #f0f0f0;
  cursor: pointer;
  z-index: 1;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  font-family: "NotoSansPhagsPa", sans-serif;
}

.button-86::after,
.button-86::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -99999;
  transition: all .4s;
}

.button-86::before {
  transform: translate(0%, 0%);
  width: 100%;
  height: 100%;
  background-color: rgb(22, 163, 74);
  border-radius: 10px;
}

.btnclose::before{
	background-color: rgb(170, 50, 54);
}

.button-86::after {
  transform: translate(10px, 10px);
  width: 35px;
  height: 35px;
  background: #ffffff15;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 50px;
}

.button-86:hover::before {
  transform: translate(5%, 20%);
  width: 110%;
  height: 110%;
}

.button-86:hover::after {
  border-radius: 10px;
  transform: translate(0, 0);
  width: 100%;
  height: 100%;
}

.button-86:active::after {
  transition: 0s;
  transform: translate(0, 5%);
}

.rotate-in-center {
	-webkit-animation: rotate-in-center 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.7s both;
	        animation: rotate-in-center 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.7s both;
}
/* ----------------------------------------------
 * Generated by Animista on 2025-6-24 10:8:51
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation rotate-in-center
 * ----------------------------------------
 */
@-webkit-keyframes rotate-in-center {
  0% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotate-in-center {
  0% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }
}

.slide-in-elliptic-top-fwd {
	-webkit-animation: slide-in-elliptic-top-fwd 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s both;
	        animation: slide-in-elliptic-top-fwd 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s both;
}

.puff-in-center {
	-webkit-animation: puff-in-center 1.9s cubic-bezier(0.470, 0.000, 0.745, 0.715) 2s both;
	        animation: puff-in-center 1.9s cubic-bezier(0.470, 0.000, 0.745, 0.715) 2s both;
}

/* ----------------------------------------------
 * Generated by Animista on 2025-6-24 10:12:2
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation puff-in-center
 * ----------------------------------------
 */
@-webkit-keyframes puff-in-center {
  0% {
    -webkit-transform: scale(2);
            transform: scale(2);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes puff-in-center {
  0% {
    -webkit-transform: scale(2);
            transform: scale(2);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2025-6-24 10:12:49
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-elliptic-top-fwd
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-elliptic-top-fwd {
  0% {
    -webkit-transform: translateY(-600px) translateX(-50%) rotateX(-30deg) scale(0);
            transform: translateY(-600px) translateX(-50%) rotateX(-30deg) scale(0);
    -webkit-transform-origin: -50% 100%;
            transform-origin: -50% 100%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) translateX(-50%) rotateX(0) scale(1);
            transform: translateY(0) translateX(-50%) rotateX(0) scale(1);
    -webkit-transform-origin: -50% 1400px;
            transform-origin: -50% 1400px;
    opacity: 1;
  }
}
@keyframes slide-in-elliptic-top-fwd {
  0% {
    -webkit-transform: translateY(-600px) translateX(-50%) rotateX(-30deg) scale(0);
            transform: translateY(-600px) translateX(-50%) rotateX(-30deg) scale(0);
    -webkit-transform-origin: -50% 100%;
            transform-origin: -50% 100%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) translateX(-50%) rotateX(0) scale(1);
            transform: translateY(0) translateX(-50%) rotateX(0) scale(1);
    -webkit-transform-origin: -50% 1400px;
            transform-origin: -50% 1400px;
    opacity: 1;
  }
}

@media screen and (max-width: 990px) {
	.halfwidth {
		transform: translate(0px,0px);
		margin-left: 10%;
		width:80%;
		padding:0px;
	}
	.curtain {
		transform: translate(0px,0px);
		animation: curtainUp 2s ease-in-out forwards;
	}
	@keyframes curtainUp {
		0% {
			transform: translate(0px,0px);
		}
		100% {
			transform: translate(0px,-100%);
			display: none;
		}
	}
	@keyframes curtainDown {
		0% {
			transform: translate(0%,-100%);
		}
		100% {
			transform: translate(0%,0px);
			
		}
	}
	@-webkit-keyframes slide-in-elliptic-top-fwd {
	  0% {
		-webkit-transform: translateY(-600px) translateX(0%) rotateX(-30deg) scale(0);
				transform: translateY(-600px) translateX(0%) rotateX(-30deg) scale(0);
		-webkit-transform-origin: -50% 100%;
				transform-origin: -50% 100%;
		opacity: 0;
	  }
	  100% {
		-webkit-transform: translateY(0) translateX(0%) rotateX(0) scale(1);
				transform: translateY(0) translateX(0%) rotateX(0) scale(1);
		-webkit-transform-origin: -50% 1400px;
				transform-origin: -50% 1400px;
		opacity: 1;
	  }
	}
	@keyframes slide-in-elliptic-top-fwd {
	  0% {
		-webkit-transform: translateY(-600px) translateX(0%) rotateX(-30deg) scale(0);
				transform: translateY(-600px) translateX(0%) rotateX(-30deg) scale(0);
		-webkit-transform-origin: -50% 100%;
				transform-origin: -50% 100%;
		opacity: 0;
	  }
	  100% {
		-webkit-transform: translateY(0) translateX(0%) rotateX(0) scale(1);
				transform: translateY(0) translateX(0%) rotateX(0) scale(1);
		-webkit-transform-origin: -50% 1400px;
				transform-origin: -50% 1400px;
		opacity: 1;
	  }
}

}