:root {
  --color: #0057ff;
  --background: #C6C6C6;
  --fontStandard: #000;
  --radius: 28px;
  --liquidBg: rgba(255, 255, 255, 0.95);
  --hoverBg: rgba(243, 243, 243, 0.95);
  --detailBg: rgba(0,0,0,0.06);
  --app-height: 90vh;
}
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
	display: block;
	height: 10px;
}
::-webkit-scrollbar-button:vertical:increment {
	background-color: #fff;
}
::-webkit-scrollbar-track-piece {
	background-color: #eee;
	-webkit-border-radius: 3px;
}
::-webkit-scrollbar-thumb:vertical {
	height: 50px;
	background-color: #ccc;
	-webkit-border-radius: 3px;
}
::-webkit-scrollbar-thumb:horizontal {
	width: 50px;
	background-color: #ccc;
	-webkit-border-radius: 3px;
}
* {
	padding: 0;
	margin: 0;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}
body {
	margin: 0;
	padding: 0;
	width: 100%;
    height: var(--app-height);
	overflow-x: hidden;
    font-family: "NeueHaasGroteskDisp", Helvetica, sans-serif;
	position: relative;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
    background: var(--background);
    -ms-touch-action: none;
    touch-action: none;
    color: var(--fontStandard);
}
body * {
    font-family: "NeueHaasGroteskDisp", Helvetica, sans-serif;
    text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
a {
	text-decoration: none !important;
}
.nav {
    display: flex;
    width: 100%;
    padding: 10px 16px;
    justify-content: space-between;
    position: relative;
    z-index: 10;
}
.navElement {
    color: #FFF;
    font-family: 'HelveticaNowDisplay';
    font-weight: bold;
    font-size: 1vw;
    line-height: 1vw;
}
.navElement span {
    color: #FFF;
    font-family: 'HelveticaNowDisplay';
    font-weight: bold;
    font-size: 1vw;
    line-height: 1vw;
}
.navOver {
    display: block;
    width: 100%;
    margin-top: -1.8vw;
    position: relative;
    z-index: 20;
    padding: 0 16px;
}
.navOverLine {
    display: flex;
    justify-content: space-between;
}
.navOverLineElement {
    font-family: 'NB Architekt';
    font-weight: 300;
    font-size: 1.5vw;
    line-height: 2vw;
}
.next-particle {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 599;
}
.slate {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    padding: 20px;
}
.slateElement {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;
    padding: 20px;
}
.slateElement#startContent {
    cursor: pointer;
}
.slateElement .text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    display: block;
    text-align: center;
    color: white;
    height: 24vw;
    line-height: 24vw;
    font-size: 20vw;
    margin: auto;
    font-family: 'NeueHaasGroteskDisp Pro';
    font-weight: 500;
}
.slateElement img {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    object-fit: contain;
    object-position: center;
}
.particle {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
.over {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100px;
    text-align: center;
}
.over img {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    object-fit: contain;
    object-position: center;
}
.footer {
    position: fixed;
    left: 0;
    right: 0;
    text-align: center;
    bottom: 20px;
    color: #FFF;
    font-family: 'HelveticaNowDisplay';
    font-weight: bold;
    font-size: 1vw;
    line-height: 1vw;
}
.footer a {
    color: #FFF;
    font-family: 'HelveticaNowDisplay';
    font-weight: bold;
    font-size: 1vw;
    line-height: 1vw;
    padding-left: 10px;
}

.web { display: block; }
.mobile { display: none; }

@media(min-width: 1500px) {
    .navElement {
        font-size: 12px;
        line-height: 12px;
    }
    .navElement span {
        font-size: 12px;
        line-height: 12px;
    }
    .navOverLineElement {
        font-size: 20px;
        line-height: 20px;
    }
    .navOver {
        margin-top: -23px;
    }
    .footer {
        font-size: 12px;
        line-height: 12px;
    }
    .footer a {
        font-size: 12px;
        line-height: 12px;
    }
}

@media(max-width: 780px) {
    .web { display: none; }
    .mobile { 
        display: block;
        width: 100%;
        height: var(--app-height);
        overflow: hidden;
        position: relative;
    }
    .navMobile {
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 10px;
    }
    .navMobileElement {
        color: #FFF;
        font-family: 'HelveticaNowDisplay';
        font-weight: bold;
        font-size: 2.5vw;
        line-height: 2.5vw;
    }
    .navMobileElement span {
        color: #FFF;
        font-family: 'HelveticaNowDisplay';
        font-weight: bold;
        font-size: 2.5vw;
        line-height: 2.5vw;
    }
    .navOverMobile {
        display: block;
        width: 100%;
        margin-top: -5vw;
        position: relative;
        z-index: 20;
        padding: 0 10px;
    }
    .navOverMobileLine {
        display: flex;
        justify-content: space-between;
    }
    .navOverMobileLineElement {
        font-family: 'NB Architekt';
        font-weight: 300;
        font-size: 4vw;
        line-height: 5vw;
    }
    .slateMobile {
        display: block;
        width: 100%;
        height: 100%;
        padding: 10px;
        position: relative;
    }
    .slateMobileMain {
        color: white;
        font-size: 18vw;
        line-height: 16vw;
        font-family: 'NeueHaasGroteskDisp Pro';
        font-weight: 500;
    }
    #slateMobileFooterRealtime {
        color: white;
        font-size: 18vw;
        line-height: 16vw;
        font-family: 'NeueHaasGroteskDisp Pro';
        font-weight: 500;
    }
    .slateMobileFooter {
        position: fixed;
        bottom: 10px;
        left: 10px;
        display: block;
        color: white;
        font-size: 18vw;
        line-height: 16vw;
        font-family: 'NeueHaasGroteskDisp Pro';
        font-weight: 500;
    }
    .overMobile {
        display: block;
        width: 100%;
        height: var(--app-height);
        position: fixed;
        top: 0;
        left: 0;
        text-align: center;
        padding: 10px;
    }
    .overMobileElement {
        position: absolute;
        top: 0;
        left: 0;
        width: 190px;
        height: 40px;
        margin: auto;
        object-fit: contain;
        object-position: center;
    }
}

@font-face {
    font-family: 'NeueHaasGroteskDisp Pro';
    src: url('font/NHaasGroteskDSPro-55Rg.woff2') format('woff2'),
        url('font/NHaasGroteskDSPro-55Rg.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'HelveticaNowDisplay';
    src: url('font/HelveticaNowDisplay-XBd.woff2') format('woff2'),
        url('font/HelveticaNowDisplay-XBd.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'NB Architekt';
    src: url('font/NBArchitekt-Light.woff2') format('woff2'),
        url('font/NBArchitekt-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

