/* -------------------------------- */
/*   Main font-face                 
/* -------------------------------- */
@font-face {
    font-family: 'UniNeueLight';
    src: url(../fonts/UniNeueLight.woff);
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'UniNeueBook';
    src: url(../fonts/UniNeueBook.woff);
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'UniNeue-Bold';
    src: url(../fonts/UniNeue-Bold.woff), url("../fonts/UniNeue-Bold.woff2");
    font-weight: 400;
    font-style: normal;
}

body {
    background-color: #000;
    color: #fff;
	font-family: "UniNeueBook", source-han-sans-traditional, sans-serif;
	font-size:18px;        
    font-style: normal;
    line-height: 24px;    
}

html,
body {
  min-height: 100vh;
  /*display: grid;*/
  place-content: center;
}
canvas {
  width: 100%;
  height: 100vh;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
}

a {
	transition: color 200ms linear 0s;	
}

.container {
    display: flex;
	height: 100%;
    position: fixed;
    width: 100%;
    z-index: 10;
    top:0;
    align-items: center;
    justify-content: center;
}

.logo {
    display: block;
    height: auto;
    left: 50%;
    margin-left: -103px;
    margin-top: -103px;
    opacity: 0;
    position: absolute;
    top: 22vh;
    width: 207px;
    
    -webkit-animation: fadeIn .8s; /* Safari 4.0 - 8.0 */
    animation: fadeIn .8s;
    -webkit-animation-delay: 1.3s; /* Safari 4.0 - 8.0 */  
    animation-delay: 1.3s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards; 
}

.slogan {
    height: auto;
    margin-top: 50px;
    max-width: 827px;
    opacity: 0;
    width: 90%;
    
    -webkit-animation: fadeIn .8s; /* Safari 4.0 - 8.0 */
    animation: fadeIn .8s;
    -webkit-animation-delay: 2s; /* Safari 4.0 - 8.0 */  
    animation-delay: 2s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards; 
}

.btn-aboutus {
	bottom: 22vh;
	display: block;
	left: 50%;
	margin-bottom: -24px;
    margin-left: -45px;
    opacity: 0;
	position: absolute;
	text-align: center;
	transition: color 200ms linear 0s;
	width: 90px;
	cursor: pointer;	
    
    -webkit-animation: fadeIn .8s; /* Safari 4.0 - 8.0 */
    animation: fadeIn .8s;
    -webkit-animation-delay: 2.3s; /* Safari 4.0 - 8.0 */  
    animation-delay: 2.3s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards;	
}

.btn-aboutus:hover {
	color: #806f5e;
}

.footer {
    bottom: 60px;
    left: 0;
    opacity: 0;
    position: absolute;
    text-align: center;
    width: 100%;
    
    -webkit-animation: fadeIn .8s; /* Safari 4.0 - 8.0 */
    animation: fadeIn .8s;
    -webkit-animation-delay: 3s; /* Safari 4.0 - 8.0 */  
    animation-delay: 3s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards; 
}

.footer span {
    font-size: 16px;
    font-weight: 200;    
}

.footer span a {
    color: #fff;
    text-decoration: none;    
}

.footer span a:hover {
    text-decoration: underline;    
}


/* Safari 4.0 - 8.0 */
@-webkit-keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}

#elMain {
  width: 80vmin;
  height: 80vmin;
  z-index: 1;
  display: grid;
  place-content: center;
  pointer-events: none;
}
#elMain a {
  color: white;
  text-shadow: 0 0 1px black;
  pointer-events: auto;
  padding: 3ch;
}

/* -------------------------------- */
/*   Popup Box                
/* -------------------------------- */
.popup-wrap {
	background-color: #0a1d39;
	display: none;
    /*display: flex;*/
	height: 100%;
	position: fixed;
	overflow-y: auto;
    width: 100%;
    z-index: 20;
     top:0;
    align-items: center;
    justify-content: center;
}

.popup-box {
	overflow-y: auto;
	max-height: 100%;	
	max-width: 850px;
	margin-top: 28px;
	padding: 0 25px;
}

.popup-box p {
	color: #806f5e;
	font-weight: 100;
	line-height: 1.55;
	margin-bottom: 28px;
	opacity: 0;
	text-align: justify;
}

.popup-box p::selection,
.popup-box p strong::selection {
    color: #fff;
    background: rgba(0,0,0,0.00);
}

.popup-box p strong {
    font-family: "UniNeue-Bold", source-han-sans-traditional, sans-serif;
	
}

.btn-close {
	background: url("images/btn-close.png") center center no-repeat;
	background-size: 23px 23px;
	cursor: pointer;
	display: block;
	font-size: 40px;
	height: 32px;
	padding: 2px;
	position: absolute;
	right: 39px;
	text-align: center;
	transition: all 200ms linear 0s;
	top: 32px;
	width: 32px;
}

.btn-close:hover {
	/*color: #806f5e;*/
	opacity: .6;
}

.popup-box-show p.p1 {
	-webkit-animation: fadeIn 1.2s; /* Safari 4.0 - 8.0 */
    animation: fadeIn 1.2s;
    -webkit-animation-delay: .5s; /* Safari 4.0 - 8.0 */  
    animation-delay: .5s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards; 
}

.popup-box-show p.p2 {
	-webkit-animation: fadeIn 1.2s; /* Safari 4.0 - 8.0 */
    animation: fadeIn 1.2s;
    -webkit-animation-delay: .8s; /* Safari 4.0 - 8.0 */  
    animation-delay: .8s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards; 
}

.popup-box-show p.p3 {
	-webkit-animation: fadeIn 1.2s; /* Safari 4.0 - 8.0 */
    animation: fadeIn 1.2s;
    -webkit-animation-delay: 1.1s; /* Safari 4.0 - 8.0 */  
    animation-delay: 1.1s;
    -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
    animation-fill-mode: forwards; 
}

@media (max-width: 1440px) {
    .logo {        
        margin-left: -59px;
        margin-top: -59px;        
        width: 118px;
    }
    
    .slogan {
        max-width: 535px;
        width: 70%;        
    }
    
    .footer {
        bottom: 30px;
        font-size: 14px;
        line-height: 18px;
    }
    
    .footer span {
        font-size: 12px;    
    }
}

@media (max-width: 740px) and (orientation: portrait) {
    .logo {        
        margin-left: -51px;
        margin-top: -51px;        
        width: 102px;
    }
    
    .slogan {        
        width: calc(100vw - 38px);        
    }
}

@media (max-width: 740px) and (orientation: landscape) {
    .logo {        
        margin-left: -51px;
        margin-top: -51px;        
        width: 102px;
    }
    
    .slogan {
        max-width: 415px;            
    }    
}

@media (max-width: 480px) and (orientation: portrait) {
	.popup-box p {
        hyphens: auto;
		text-align: left;		
    }
	
	.btn-close {
		background-size: 18px 18px;
		height: 27px;
        right: 19px;		
        top: 16px;
		width: 27px;
    }
	
    .popup-box {
		max-height: calc(100% - 84px);
        position: absolute;
		top: 30px;
    }
}