html,
body {
    width:100%;
    height:100%;
}

body {
    background-color: #000;
    color: #ccc;
    margin: 0;
    overflow: hidden;
    position: relative;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a:link, a:visited{
	color: #777;
}

a:hover{
	color: #999;
}

.wrapper{
    display: table;
    width:100%;
    height:100%;
}

.viewport{
    display: table-cell;
    vertical-align: middle;
    width:100%;
    height:100%;
}

.footer{
    background-color: #222;
    position: absolute;
        bottom: 0;
        z-index: 5;
    width: 100%;
}

.toggle{
    border-top:     1px solid #333;
    border-right:   1px solid #333;
    border-left:    1px solid #333;
    border-top-right-radius:    3px;
    border-top-left-radius:     3px;
    background: #222;
    color: #666;
    cursor: pointer;
    font-family: 'Courier New' monospace;
    line-height: 7px;
    margin-top: -14px;
    margin-left: 15px; 
    padding-bottom: 7px;
    text-align: center;
    width: 40px;
}

.info{
    color: #888;
    font-size: 16px;
    line-height: 1.6;
    padding: 15px;
}

.info .h1, .info .h2{
    font-family: 'Exo', Arial, sans-serif;
    font-weight: 200;
    text-transform: lowercase;
}

.info .h1{
    color: #555;
    font-size: 28px;
    margin-top: 0;
    border-bottom: 1px solid #444;
}

.info .h2{
    color: #555;
    font-size: 20px;
    margin-top: 0;
}

.info p{
    margin-top:0;
    margin-left: 12%;
    width: 75%;
}

.two-column{
       -moz-column-count: 2;
    -webkit-column-count: 2;
        -ms-column-count: 2;
            column-count: 2;
    
       -moz-column-gap: 20px;
    -webkit-column-gap: 20px;
        -ms-column-gap: 20px;
            column-gap: 20px;
}

.credits{
    font-size: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.credits li{
    float: left;
    width: 25%;
}

.credits dl{
    margin-top: 0;
    padding-left: 15px;
}

.credits dd{
    margin:0;
}

.hidden {visibility: hidden; }

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
canvas { display: block; }
#play-prompt {
    position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
    z-index: 4; border: 0; padding: 14px 22px; background: rgba(0,0,0,.65);
    color: white; font: 16px "Helvetica Neue", Helvetica, Arial, sans-serif; cursor: pointer;
}
#play-prompt[hidden] { display: none; }
.footer .info { max-height: 75vh; overflow-y: auto; box-sizing: border-box; }
@media (max-width: 600px) {
    .two-column { column-count: 1; }
    .credits li { width: 50%; }
}
