/**********************************************
*** GENERAL
**********************************************/



:root {
    --position: 0;
}

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

body, html {
    width:100%;
    height:100%;
    font-family: 'Share Tech Mono', monospace;
}

#container {
    height: 1000vh;
    background: #151515;
}

.center {
    text-align: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
}

.el-st {
    color: #eee;
    font-size: 40px;
    font-weight:bold;
    letter-spacing: -2px;
}

.el-sp.is-changing {
    animation: changing 0.1s infinite;
}

.el-sp {
    transition: all 0.1s;
    text-shadow: 0 0 10px #008f11;
    position: relative;
    will-change: transform, opacity;
}

.el-sp:after {
    content:attr(data-txt);
    color:#eee;
    position: absolute;
    top: 0;
    left:0;
    opacity:0;
    will-change: transform, opacity;
}

.el-sp.is-changing:after {
    animation: changingAfter 0.4s infinite alternate;
}

.scroll {
    margin-top: 40px;
    color:#008f11;
    display: inline-block;
    padding-bottom: 3px; 
    padding-right: 40px;
    position: relative;
}

.scroll:after {
    content:'';
    position: absolute;
    left: calc(100% - 35px);
    top: 0;
    animation: dots 2s infinite;
}

@keyframes changing {
    0% {opacity:1;}
    50% {opacity:0.5;}
    100% {opacity:1;}
}

@keyframes changingAfter {
    0% {opacity:0.3;transform:translateX(10px) scaleX(2)}
    50% {opacity:0;transform:translateX(0) scaleX(2)}
    100% {opacity:0.3;transform:translateX(-10px) scaleX(2)}
}

@keyframes dots {
    0% {content:''}
    25% {content:'.'}
    50% {content:'..'}
    75% {content:'...'}
}