@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');
* { font-family: 'Poppins', 'Helvetica Neue', sans-serif; }
body, html{
	height:100%;
	width:100%;
}
body, *{
	padding:0;
	border:0;
	margin:0;
}
*{
	font-size:1em;
	position:relative;
	color:#0b0c10;
	box-sizing:border-box;
}
body{
	background:#66fcf1;
	font-size:16px;
	/*background:#66fcf1;*/
}
a[href], .ahr{
	cursor:pointer;
	color:#45a29e;
	text-decoration:none;
}
		
/* Top menu bar */
.top-bar, .top-bar-bg{
	display:block;
	top:0;
	left:0;
	width:100%;
	position:fixed;
	z-index:1001;
	height:auto;
	height:3.5em;
}
.top-bar, .top-bar *, .top-bar a[href] { color: #0b0c10; }
.top-bar{
	position:fixed;
	z-index:60;
}
.top-bar-bg{
	z-index:40;
	height:3.5em;
	background:#66fcf1;
}
.top-menu{
	line-height:1.5em;
	overflow-x:auto;
	overflow-y:hidden;
	white-space:nowrap;
}
.top-menu .item{
	margin-top:0.6em;
	margin-bottom:0.6em;
	padding:0.3em;
	margin-left:0.2em;
	margin-right:0.2em;
	font-weight:bold;
	text-transform:uppercase;
	display:inline-block;
	cursor:pointer;
}
.top-menu .item:first-child{
	margin-left:1em;
}
.top-menu .item:last-child{
	margin-right:1em;
}
.top-menu .item.button{
	font-weight:bold;
	border:1pt solid #0b0c10;
	border-radius:0.3em;
}
.top-menu .item.button, .top-menu .item .highlight{
	background:#66fcf1;
}
.top-menu .item:active, .top-menu .item:active *{
	color:#45a29e;
	border-color:#45a29e;
}
.top-menu .item.inert, .top-menu .item.inert:active, .top-menu .item.inert:active *{
	color:#0b0c10;
	cursor:default;
}
@media (max-height: 280px){ .top-bar, .top-bar-bg { position:absolute; } }

/* Header with title and logo */
.header{
	display:block;
	position:relative;
	width:100%;
	text-align:center;
	z-index:50;
	height:100%;
	min-height:17.5em;
	max-height:50em;
	background:#66fcf1;
	padding-top:3.5em;
	overflow:hidden;
}
.header.compact{
	height:auto;
	min-height:8em;
	max-height:8em;
}
.header, .header * { color: #0b0c10; }
.header .title-block{
	position: absolute;
	bottom:0;
	font-size:10em;
	z-index:59;
}
.header.compact .title-block{font-size:5em;}
.header .title-block.mobile {
	line-height:0.7em;
	height:1.4em;
    display:block;
	width: auto;
	right: 8%;
	text-align:right;
	margin-right:-0.2em;
}
.header .title-block.desktop {
	line-height:0.9em;
	height:0.9em;
	display:none;
	width:50em; /* (nr_blocks + 1) * width(5 em) */
	left:50%;
	margin-left:-25em;
	height:0.9em;
	white-space:nowrap;
	text-align:center;
}
@media (min-width: 320px) {
    .header.compact .title-block.desktop { display:block; }
    .header.compact .title-block.mobile { display:none; }
}
@media (max-width: 440px) { .header.full .title-block.mobile { font-size:8em; } }
@media (max-width: 360px) { .header.full .title-block.mobile { font-size:36vw; } }
@media (min-width: 680px) {
    .header.full .title-block.desktop { display:block; }
    .header.full .title-block.mobile { display:none; }
	.header.full { min-height:12.5em; }
}
@media (min-width: 760px) { .header.full .title-block.desktop { left:55%; } }
@media (min-width: 840px) { .header.full .title-block.desktop { left:60%; } }
@media (min-width: 970px) { .header.full .title-block.desktop { left:65%; } }
@media (min-width: 1100px){ .header.full .title-block.desktop { left:70%; } }
.header .title-block .title{
	text-transform:uppercase;
	font-style:italic;
	font-weight:900;
	color:#0b0c10;
}
.header .title-block.mobile .title{
	display:block;
	text-align:right;
	width:3.2em;
}
.header .title-block.desktop .title{
	display:inline-block;
	text-align:center;
	width:4.2em;
}
.header .title-block .title.fake,
.header .title-block .title.light{color:#45a29e;}
.header .title-block .title.light{opacity:0.5;}
.header .logo-container{
	position:absolute;
	display:block;
	z-index:-1;
	height:40em;
	width:40em;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.header .logo{
	position:relative;
	display:block;
	height:50%;
	width:50%;
	top: 25%;
	left: 25%;
}
.header .page-title {
	position:absolute;
	z-index:61;
	bottom:0;
	left:0;
	width:100%;
}
.header .page-title .inner {
	display:inline-block;
	width:50em;
	max-width:100vw;
	text-align:left;
}
.header .page-title .inner .text{
	display:inline-block;
	/*background:black;
	color:white;*/
	font-size:2.5em;
	padding:0 0.5em;
	font-weight:900;
	text-transform:uppercase;
	/*border:0.3em solid #66fcf1;*/
	border-bottom:0;
}

/* Glitches */
.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    color: white;
    background: black;
    clip: rect(0, 0, 0, 0);
}
.glitch::before {
    left: 2px;
    text-shadow: -2px 0 red;
    animation: glitch-anim 0.2s infinite;
}
.glitch::after {
    left: -2px;
    text-shadow: 2px 0 blue;
    animation: glitch-anim 0.2s infinite reverse;
}
@keyframes glitch-anim {
    0% { clip: rect(0, 9999px, 0, 0); }
    25% { clip: rect(10px, 9999px, 40px, 0); }
    50% { clip: rect(30px, 9999px, 60px, 0); }
    75% { clip: rect(50px, 9999px, 90px, 0); }
    100% { clip: rect(70px, 9999px, 120px, 0); }
}