/* Intentional Web 1.0 styling with just enough responsive guardrails. */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    /* Tiled teal texture: loud enough for the era, cheap enough for the page. */
    background: #006060;
    background-image:
        linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(0,0,0,.14) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(255,255,255,.08) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(0,0,0,.14) 75%);
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    background-size: 16px 16px;
    color: #000000;
    font-family: "Times New Roman", Times, serif;
    margin: 0;
    overflow-x: hidden;
}

table,
img {
    max-width: 100%;
}

a:link {
    color: #0000ee;
}

a:visited {
    color: #551a8b;
}

a:active {
    color: #ff0000;
}

.page {
    margin: 18px auto;
    max-width: calc(100vw - 16px);
    width: 640px;
}

.shell {
    /* Win95-style bevel frame around the faux browser window. */
    background: #c0c0c0;
    border-color: #ffffff #404040 #404040 #ffffff;
    border-style: solid;
    border-width: 5px;
    box-shadow: 10px 10px 0 rgba(0,0,0,.35);
    width: 100%;
}

.titlebar {
    background: #000080;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    padding: 3px 6px;
    overflow-wrap: anywhere;
}

.content {
    padding: 8px;
}

.logo {
    background: #000000;
    border: 3px double #ffff00;
    color: #00ff00;
    font-family: "Courier New", Courier, monospace;
    padding: 8px;
    text-align: center;
}

.logo h1 {
    color: #ffff00;
    font-family: Arial Black, Impact, sans-serif;
    font-size: 38px;
    letter-spacing: 0;
    line-height: 1;
    margin: 0;
    overflow-wrap: anywhere;
    text-shadow: 2px 2px #ff0000;
}

.subtitle {
    color: #00ffff;
    font-size: 14px;
    margin-top: 4px;
}

.marquee-box {
    background: #ffffcc;
    border: 2px inset #808080;
    color: #800000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    margin: 8px 0;
    padding: 2px;
}

.nav {
    background: #ffff99;
    border: 2px outset #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    text-align: center;
}

.nav td {
    border: 1px solid #808000;
    padding: 4px;
}

.panel {
    background: #ffffff;
    border: 2px inset #808080;
    padding: 8px;
    vertical-align: top;
}

.panel h2 {
    background: #000080;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    margin: 0 0 6px;
    padding: 2px 4px;
}

.panel p,
.panel li {
    font-size: 14px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.sidebar {
    background: #e0e0e0;
    border: 2px inset #808080;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    padding: 6px;
    vertical-align: top;
    width: 174px;
}

.sidebar h3 {
    background: #800000;
    color: #ffffff;
    font-size: 12px;
    margin: 8px 0 4px;
    padding: 2px 3px;
}

.news-date {
    color: #800000;
    font-weight: bold;
}

.new {
    background: #ff0000;
    color: #ffff00;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
    padding: 1px 3px;
}

.counter {
    background: #000000;
    border: 2px inset #808080;
    color: #00ff00;
    display: inline-block;
    font-family: "Courier New", Courier, monospace;
    font-size: 17px;
    letter-spacing: 2px;
    padding: 2px 5px;
}

.construction {
    background: #ffff00;
    border: 3px dashed #000000;
    color: #000000;
    font-family: Arial Black, Impact, sans-serif;
    font-size: 15px;
    margin: 8px 0;
    padding: 4px;
    text-align: center;
}

.rainbow {
    border: 0;
    height: 8px;
    background: linear-gradient(90deg, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff);
}

.buttons {
    text-align: center;
}

.buttons img {
    image-rendering: auto;
    margin: 3px;
    vertical-align: middle;
}

.footer {
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    margin-top: 10px;
    text-align: center;
    text-shadow: 1px 1px #000000;
    overflow-wrap: anywhere;
}

.blink {
    animation: blinker .9s steps(1, end) infinite;
}

@keyframes blinker {
    50% { opacity: 0; }
}

@media (max-width: 700px) {
    .page {
        margin: 10px auto;
    }

    .shell {
        box-shadow: 6px 6px 0 rgba(0,0,0,.35);
    }
}

@media (max-width: 520px) {
    /* Let the old table layout stack before it causes sideways scrolling. */
    .page {
        max-width: calc(100vw - 10px);
    }

    .shell {
        border-width: 3px;
        box-shadow: 3px 3px 0 rgba(0,0,0,.35);
    }

    .titlebar,
    .marquee-box,
    .panel p,
    .panel li {
        font-size: 12px;
    }

    .logo h1 {
        font-size: 28px;
    }

    .subtitle {
        font-size: 12px;
    }

    .nav,
    .nav tbody,
    .nav tr,
    .nav td {
        display: block;
        width: auto;
    }

    .nav td {
        padding: 6px 4px;
    }

    .main-grid,
    .main-grid tbody,
    .main-grid tr,
    .main-grid td {
        display: block;
        width: auto;
    }

    .sidebar {
        margin-top: 8px;
        width: auto;
    }

    .panel table {
        font-size: 12px;
        table-layout: fixed;
    }

    .buttons {
        font-size: 13px;
    }
}

@media (max-width: 360px) {
    .logo h1 {
        font-size: 23px;
    }

    .content {
        padding: 6px;
    }

    .construction {
        font-size: 12px;
    }
}
