/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

/**
 * Animations
 */
@keyframes blink-text-color {
    0, 50% { color: #002a00; }
    50.01%, 100% { color: #00ff00; }
}

@keyframes blink-bg-color {
    0, 50% { background: #00ff00; }
    50.01%, 100% { background: #002a00; }
}

/**
 * Global
 */
@font-face {
    font-family: '8bit Wonder';
    src: url('../fonts/8bit-wonder-webfont.woff2') format('woff2'),
         url('../fonts/8bit-wonder-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

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

html {
    box-sizing: border-box;
    font-size: 62.5%;
}
*, *:before, *:after { box-sizing: inherit; }
body {
    background: #002a00;

    font-size: 2rem;
    font-family: "Trebuchet MS", Arial, sans-serif;
    color: #00ff00;
}
body.is-fixed { overflow: hidden; }
.wrapper {
    max-width: 830px;
    margin: auto;
    padding: 0 15px;
    text-align: center;
}

/* Headings */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: "Minecraft", Arial, sans-serif;
    font-weight: normal;
    text-align: center;
    /*text-transform: uppercase;*/
}
h1, .h1 {
    margin: 30px 0;
    font-size: 4.5rem;
}
h2, .h2 {
    margin: 80px 0 20px;
    font-size: 4rem;
}
h2:before, h2:after { letter-spacing: 2px; }
h2:before { content: ".:: "; }
h2:after { content: " ::."; }

@media (max-width: 768px) {
    h1, .h1 { font-size: 4rem; }
}

/* Links */
a, a:visited { color: #00ff00; }
a:not(.unstyled), a:not(.unstyled):visited, button:not(.unstyled) {
    display: inline-block;
    padding: 5px 10px 0;
    background: #00ff00;
    border: 0;
    border-radius: 0;
    color: #002a00;
    font-family: "Minecraft", Arial, sans-serif;
    text-decoration: none;
}
a.unstyled, a.unstyled:visited {
    font-family: "Trebuchet MS", Arial, sans-serif;
    text-decoration: underline;
}
p a { margin: 0 5px; }

/* Forms */
label {
    display: block;
    margin: 5px 0;
    font-family: "Minecraft", Arial, sans-serif;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}
[type="text"], [type="email"] {
    width: 100%;
    margin: 5px 0;
    padding: 5px 10px;
    background: transparent;
    border: 2px solid #00ff00;
    color: #00ff00;
}
[type="text"]:focus, [type="email"]:focus { outline: 0; }
.form-group {
    position: relative;
    margin-bottom: 15px;
}
[type="checkbox"] {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
[type="checkbox"] + label {
    position: relative;
    padding-left: 25px;
    cursor: pointer;
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 1.6rem;
    line-height: 1.4;
    text-transform: none;
}
[type="checkbox"] + label:before {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    border: 2px solid #00ff00;
}
[type="checkbox"] + label:after {
    content: "x";
    display: none;
    position: absolute;
    top: 0;
    left: 4px;
    line-height: normal;
}
[type="checkbox"]:checked + label:after { display: block; }

/* Table */
table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border: 2px solid #00ff00;
}
th {
    padding-top: 7px;
    border-bottom: 2px solid #00ff00;
    font-family: "Minecraft", Arial, sans-serif;
    text-transform: uppercase;
}
td { padding: 5px; }
th + th, td + td { border-left: 2px solid #00ff00; }
tbody tr:nth-child(odd) { background: #006800; }

@media (max-width: 768px) {
    thead { display: none; }
    tbody, tr, td { display: block; }
    tr + tr { border-top: 2px solid #00ff00; }
    td + td { border-left: 0; }
    td {
        position: relative;
        padding-left: 50%;
        text-align: left;
    }
    td:before {
        position: absolute;
        top: 50%; left: 5px;
        transform: translateY(-50%);
        margin-top: 4px;
        font-family: "Minecraft", Arial, sans-serif;
        text-transform: uppercase;
    }
    td[data-position]:before { content: attr(data-position); }
    td[data-pseudo]:before { content: attr(data-pseudo); }
    td[data-score]:before { content: attr(data-score); }
    td[data-date]:before { content: attr(data-date); }
}


/**
 * Helpers
 */
.outline { outline: 2px solid #00ff00; }
.m-t-0 { margin-top: 0px; }
.m-r-0 { margin-right: 0px; }
.m-b-0 { margin-bottom: 0px; }
.m-l-0 { margin-left: 0px; }
.m-v-0 { margin-top: 0; margin-bottom: 0; }
.m-h-0 { margin-left: 0; margin-right: 0; }
.m-t-15 { margin-top: 15px; }
.m-r-15 { margin-right: 15px; }
.m-b-15 { margin-bottom: 15px; }
.m-l-15 { margin-left: 15px; }
.m-v-15 { margin-top: 15px; margin-bottom: 15px; }
.m-h-15 { margin-left: 15px; margin-right: 15px; }
.m-t-30 { margin-top: 30px; }
.m-r-30 { margin-right: 30px; }
.m-b-30 { margin-bottom: 30px; }
.m-l-30 { margin-left: 30px; }
.m-v-30 { margin-top: 30px; margin-bottom: 30px; }
.m-h-30 { margin-left: 30px; margin-right: 30px; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.smaller { font-size: 1.4rem; }
.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
.keyboard {
    padding: 5px 10px 0;
    background: #00ff00;
    border-radius: 2px;
    color: #002a00;
    font-family: "Minecraft", Arial, sans-serif;
    text-transform: uppercase;
}
.blink-link, .blink-link:visited {
    animation: blink-text-color .5s linear infinite alternate,
               blink-bg-color .5s linear infinite alternate;
}

/**
 * Header
 */
.header { margin-top: 30px; margin-bottom: 30px; }
.logo, .logo:visited { background: none; }

/**
 * Nav
 */
.nav { letter-spacing: -.31em; }
.nav:before, .nav:after {
    content: "~ ~ ~";
    display: block;
    font-size: 3rem;
    font-family: "Minecraft", Arial, sans-serif;
    letter-spacing: normal;
}
.nav:before { margin-bottom: 10px; }
.nav:after { margin-top: 10px; }
.nav__btn {
    margin: 0 10px;
    padding-bottom: 0;
    letter-spacing: normal;
    cursor: pointer;
    text-transform: uppercase;
}

/**
 * Content
 */
/* Controls */
.controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 30px;
}
.controls__item {
    flex: 1;
    margin: 15px 0;
    padding: 0 15px;
}
.controls__item + .controls__item { border-left: 2px dashed #00ff00; }

@media (max-width: 768px) {
    .controls { display: block; }
    .controls__item + .controls__item {
        padding: 15px;
        border-top: 2px dashed #00ff00;
        border-left: 0;
    }
}

/* Scores */
.score-table th:first-child { width: 80px; }

@media (max-width: 768px) {
}

/* Game */

/**
 * Footer
 */
.footer {
    margin-top: 30px;
    padding-top: 15px;
    padding-bottom: 30px;
    font-size: 1.4rem;
}
.footer:before {
    content: "~ ~ ~";
    display: block;
    font-size: 3rem;
    font-family: "Minecraft", Arial, sans-serif;
    letter-spacing: normal;
}
.footer img {
    margin: 0 5px;
    vertical-align: middle;
}

/**
 * Popin
 */
.modal-container {
    position: fixed;
    z-index: 999;
    top: 0; right: 0; bottom: 0; left: 0;
    opacity: 0;
    visibility: hidden;
    padding: 15px;
    background: rgba(0, 104, 0, .9);
    transition: opacity .3s;
}
.modal-container.is-visible {
    opacity: 1;
    visibility: visible;
}
.modal {
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    max-width: 600px;
    margin: 15px auto;
    padding: 30px;
    background: rgba(0, 42, 0, .75);
    transition: all .3s .3s;
}
.is-visible .modal {
    transform: none;
    opacity: 1;
    visibility: visible;
}
.modal .h2 { margin-top: 0; }
.modal button {
    cursor: pointer;
    text-transform: uppercase;
}
