html,
body
{
    font-size: 10px;

    position: absolute;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    background-color: #556;
    background-image: linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
    linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
    linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
    linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
    linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a),
    linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a);
    background-position: 0 0, 0 0, 40px 70px, 40px 70px, 0 0, 40px 70px;
    background-size: 80px 140px;
}

body
{
    -webkit-animation: disco 4s;
            animation: disco 4s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
}

@-webkit-keyframes disco
{
    from
    {
        background-image: linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a),
        linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a);
    }

    to
    {
        background-image: linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(60deg, #fbde03 25%, transparent 25.5%, transparent 75%, #fbde03 75%, #99a),
        linear-gradient(60deg, #fbde03 25%, transparent 25.5%, transparent 75%, #fbde03 75%, #99a);
    }
}

@keyframes disco
{
    from
    {
        background-image: linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a),
        linear-gradient(60deg, #99a 25%, transparent 25.5%, transparent 75%, #99a 75%, #99a);
    }

    to
    {
        background-image: linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(30deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(150deg, #445 12%, transparent 12.5%, transparent 87%, #445 87.5%, #445),
        linear-gradient(60deg, #fbde03 25%, transparent 25.5%, transparent 75%, #fbde03 75%, #99a),
        linear-gradient(60deg, #fbde03 25%, transparent 25.5%, transparent 75%, #fbde03 75%, #99a);
    }
}

@keyframes slideRight
{
    0%
    {
        transform: translateX(-150%);
    }
    50%
    {
        transform: translateX(8%);
    }
    65%
    {
        transform: translateX(-4%);
    }
    80%
    {
        transform: translateX(4%);
    }
    95%
    {
        transform: translateX(-2%);
    }
    100%
    {
        transform: translateX(0%);
    }
}

@-webkit-keyframes slideRight
{
    0%
    {
        -webkit-transform: translateX(-150%);
    }
    50%
    {
        -webkit-transform: translateX(8%);
    }
    65%
    {
        -webkit-transform: translateX(-4%);
    }
    80%
    {
        -webkit-transform: translateX(4%);
    }
    95%
    {
        -webkit-transform: translateX(-2%);
    }
    100%
    {
        -webkit-transform: translateX(0%);
    }
}

@keyframes glow
{
    0%
    {
        -webkit-transition: width 1s;
           -moz-transition: width 1s;
             -o-transition: width 1s;
                transition: width 1s;

        text-shadow: 0;

        -webkit-stroke-width: 0;
        -webkit-stroke-color: #fff;
        -webkit-fill-color: #fff;
    }
    50%
    {
        -webkit-transition: width 1s;
           -moz-transition: width 1s;
             -o-transition: width 1s;
                transition: width 1s;

        text-shadow: 1px 0 20px yellow;

        -webkit-stroke-width: 5.3px;
        -webkit-stroke-color: #fff;
        -webkit-fill-color: #fff;
    }
    100%
    {
        -webkit-transition: width 1s;
           -moz-transition: width 1s;
             -o-transition: width 1s;
                transition: width 1s;

        text-shadow: 0;

        -webkit-stroke-width: 0;
        -webkit-stroke-color: #fff;
        -webkit-fill-color: #fff;
    }
}

@-webkit-keyframes glow
{
    0%
    {
        -webkit-transition: width 1s;
           -moz-transition: width 1s;
             -o-transition: width 1s;
                transition: width 1s;

        text-shadow: 0;

        -webkit-stroke-width: 0;
        -webkit-stroke-color: #fff;
        -webkit-fill-color: #fff;
    }
    50%
    {
        -webkit-transition: width 1s;
           -moz-transition: width 1s;
             -o-transition: width 1s;
                transition: width 1s;

        text-shadow: 1px 0 20px yellow;

        -webkit-stroke-width: 5.3px;
        -webkit-stroke-color: #fff;
        -webkit-fill-color: #fff;
    }
    100%
    {
        -webkit-transition: width 1s;
           -moz-transition: width 1s;
             -o-transition: width 1s;
                transition: width 1s;

        text-shadow: 0;

        -webkit-stroke-width: 0;
        -webkit-stroke-color: #fff;
        -webkit-fill-color: #fff;
    }
}


@font-face
{
    font-family: 'prismaregular';
    font-weight: normal;
    font-style: normal;

    src: url('Prisma-webfont.eot');
    src: url('Prisma-webfont.eot?#iefix') format('embedded-opentype'),
    url('Prisma-webfont.woff2') format('woff2'),
    url('Prisma-webfont.woff') format('woff'),
    url('Prisma-webfont.ttf') format('truetype'),
    url('Prisma-webfont.svg#prismaregular') format('svg');
}

canvas
{
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

header
{
    font-family: 'prismaregular', Helvetica, sans-serif;
    font-size: 17rem;
    line-height: 22rem;

    z-index: 2;

    display: block;
    visibility: visible !important;

    width: 80%;
    margin: 16% auto 0 auto;

    -webkit-animation-name: slideRight;
            animation-name: slideRight;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
}

.back
{
    font-family: Helvetica, Arial, sans-serif;

    display: inline-block;

    margin: 0 auto;

    text-align: center;
}

.back a
{
    font-size: 3rem;
    font-weight: bold;

    position: fixed;
    z-index: 2;

    padding: 1rem;

    text-decoration: none;

    opacity: .8;
    color: #445;
    border-radius: 0 3rem 3rem 0;
    background: #fa9d04;
}

.back a:hover,
.back a:focus
{
    opacity: 1;
    color: #fa9d04;
    background: #445;
}

h1
{
    z-index: 2;

    width: 100%;
}

h2
{
    margin-top: -80px;

    text-align: center;

    color: #e7450d;
}

h1,
h2
{
    -webkit-animation-name: glow;
            animation-name: glow;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
}


h3
{
    font-size: 10px;

    display: none;
}

header h1 span
{
    display: inline;
}


span:nth-child(1)
{
    color: white;
}

span:nth-child(2)
{
    color: #fa9d04;
}

span:nth-child(3)
{
    color: #fa9d04;
}

span:nth-child(4)
{
    color: #c2ff01;
}

audio
{
    text-align: center;
}

@media screen and (max-width: 768px)
{
    header
    {
        font-size: 12rem;

        z-index: 2;

        display: block;

        width: 80%;
        margin: 20% auto 0 auto;
    }
}
@media screen and (max-width: 560px)
{
    header
    {
        font-size: 9rem;
    }
}
@media screen and (max-width: 400px)
{
    header
    {
        font-size: 7rem;
        line-height: 14rem;

        margin-top: 40%;
    }
}
