@font-face {
    font-family: 'share_tech_monoregular';
    src: url('fonts/sharetechmono-regular-webfont.woff2') format('woff2'),
         url('fonts/sharetechmono-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.clearfix:before,
.clearfix:after {
    content: '';
    display: table;
}

.clearfix:after {
    clear: both;
}

body {
    line-height: 1;
    margin: 0;
    padding: 0;
    border: 0;
    background: linear-gradient(226deg, #001c61, #3d0054);
    background-size: 400% 400%;
    -webkit-animation: AnimationName 12s ease infinite;
    -moz-animation: AnimationName 12s ease infinite;
    -o-animation: AnimationName 12s ease infinite;
    animation: AnimationName 12s ease infinite;
    font-family: 'share_tech_monoregular';

}

@-webkit-keyframes AnimationName {
    0% {
        background-position: 58% 0%
    }

    50% {
        background-position: 43% 100%
    }

    100% {
        background-position: 58% 0%
    }
}

@-moz-keyframes AnimationName {
    0% {
        background-position: 58% 0%
    }

    50% {
        background-position: 43% 100%
    }

    100% {
        background-position: 58% 0%
    }
}

@-o-keyframes AnimationName {
    0% {
        background-position: 58% 0%
    }

    50% {
        background-position: 43% 100%
    }

    100% {
        background-position: 58% 0%
    }
}

@keyframes AnimationName {
    0% {
        background-position: 58% 0%
    }

    50% {
        background-position: 43% 100%
    }

    100% {
        background-position: 58% 0%
    }
}

ol,
ul {
    list-style: none;
}

h4 {
    font-size: 14px;
    color: springgreen
}

h2 {
    font-size: 22px;
    line-height: 24px;

}

li i {
    color: white
}

li i:hover {
    color: springgreen
}

.fluxer {
    height: 100vh;
    width: 100vw;

    cursor: grabbing;
    -webkit-animation-name: fluxIn;
    animation-name: fluxIn;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fluxIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

canvas {
    position: absolute;
}

.logo {
    padding: 20px;
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    height: auto;
    background-color: transparent;
    z-index: 2;
    width: 260px;
    -webkit-animation-name: fadeLogo;
    animation-name: fadeLogo;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;

}

@-webkit-keyframes fadeLogo {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeLogo {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.logo-mobile {
    padding: 20px;
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    height: auto;
    background-color: transparent;
    z-index: 2;
    width: 100px;
    -webkit-animation-name: fadeLogomobile;
    animation-name: fadeLogomobile;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    display: none;

}

@-webkit-keyframes fadeLogomobile {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeLogomobile {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.noise {
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0.2;
    height: 100vh;
    width: 100vw;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;

}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 0.2;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 0.2;
    }
}

.footer {

    bottom: 0;
    left: 0;
    padding: 20px;
    position: fixed;
    display: block;
    font-family: 'share_tech_monoregular';
    color: white;
    z-index: 2;
    overflow: hidden;
    width: auto;
    max-width: 100%;
}

.footer a {
    color: deeppink;
    text-decoration: none;
}

.footer a:hover {
    color: springgreen;
}

.footer small {
    font-size: 10px;
    text-transform: uppercase;
}

.type {
    overflow: hidden;
    border-right: 2px solid springgreen;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: .15em;
    animation:
    typing 3.5s steps(40, end),
    blink-caret .75s step-end infinite;
    display: block;
    margin-bottom: 20px;
}

@keyframes typing {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes blink-caret {

    from,
    to {
        border-color: transparent
    }

    50% {
        border-color: springgreen;
    }
}

.type-mobile {
    display: none;
    margin-bottom: 20px;

}

.contact,
.social {
    -webkit-animation-name: fadeFooter;
    animation-name: fadeFooter;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;

}

@-webkit-keyframes fadeFooter {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeFooter {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.build {
    top: 0;
    right: 0;
    padding: 43px 20px 20px 20px;
    position: fixed;
    display: block;
    font-family: 'share_tech_monoregular';
    color: #fff;
    z-index: 2;
}

.social {
    bottom: 0;
    right: 0;
    padding: 0 20px 10px 0;
    position: fixed;
    display: block;
    font-family: 'share_tech_monoregular';
    color: #fff;
    z-index: 2;
}

.social li {
    display: inline-block;
    padding: 10px 10px 10px 0;
    font-size: 18px;
}

.social-mobile {
    display: none;
    font-family: 'Share Tech Mono', monospace;
    color: #fff;
    z-index: 2;
    margin-top: 16px;
}

.social-mobile li {
    display: inline-block;
    padding: 0 10px 0 0;
    font-size: 18px;
}


.typewrite > .wrap {
    border-right: 2px solid springgreen;
    -webkit-animation: 0.3s blink step-end infinite;
    -moz-animation: 0.3s blink step-end infinite;
}


@-webkit-keyframes blink {

    from,
    to {
        border-color: transparent
    }

    50% {
        border-color: springgreen
    }
}

@-moz-keyframes blink {

    from,
    to {
        border-color: transparent
    }

    50% {
        border-color: springgreen
    }
}

@media only screen and (max-width: 574px) {

    .social-mobile {
        display: block !important;
    }

    .social {
        display: none !important;
    }

    .type-mobile {
        display: block !important;
    }

    .type {
        display: none !important;
    }

    h2 {
        font-size: 18px;
        line-height: 22px;

    }

}

@media only screen and (max-width: 1024px) {

    .logo-mobile {
        display: block !important;
    }

    .logo {
        display: none !important;
    }

}
