html {
    background: black;
/*    color: silver; */
    color: #eee;
    font-family: mono;
    background-position: 5% 0;
    background-attachment: fixed;
    background-repeat: repeat-y;
    text-align: center;
    overflow-x: hidden;
    /*
    animation-duration: 120s;
    animation-iteration-count: infinite;
    animation-name: scroll;
    animation-timing-function: linear;
   */
    background-size: auto 100vh;
}
@keyframes scroll {
	from {
		background-position-y: 0;
	}
	to {
		background-position-y: 100vh;
	}
}
.backlink {
	text-align: right;
}

.banner {
    text-align: left;
    width: 95vw;
    transition: transform 0.2s;
    background: #0008;
    box-shadow: 0 0 1em black;
}
.banner:hover, .banner:focus {
    transform: scale(1.05) rotate(-0.5deg);
}

.blurb {
    color: white;
    text-align: right;
    margin: 0 1em;
    text-shadow: 0 0 0.5em black, 0 0 0.25em black, 0 0 0.125em black;
}

a {
    text-decoration: underline;
}
a, summary {
    text-shadow: 0 0 0.5em teal;
    border-radius: 0.5em;
    color: #6ee;
    transition: color 0.2s, text-shadow 0.2s;
    user-select: none;
}
a:hover, a:focus, summary:hover {
    text-shadow: 0 0 0.5em cyan;
    color: white;
}
a, summary {
    cursor: pointer;
}
a img.icon {
    height: 4em;
    vertical-align: middle;
    margin: 0.5em;
    /*    transition: height 0.2s, margin 0.2s; */
    transition: transform 0.2s;
}
a:hover img.icon, a:focus img.icon {
/*
    height: 5em;
    margin: 0;
*/
    transform: scale(1.25) rotate(5deg);
}

details {
    border: thin solid teal;
    padding: 0.5em;
    border-radius: 0.5em;
    background: #000c;
    margin: 2em 4em;
    text-align: left;
}
details details {
    margin: 1em 0;
    border: thin solid #333;
    background: #0004;
}
details p {
    background: none;
    margin: 1em;
    padding: 0;
}
details[open] {
}

p, .p, .narrow {
    text-align: left;
    clear: both;
/*    box-shadow: 0 0 1em #8fd;*/
    background: #000c;
    padding: 1em;
    margin: 1em;
    border-radius: 1em;
/*    text-align: justify; */
}

.center {
    text-align: center;
}
iframe, video, video img {
    margin-top: 1em;
    width: 80%;
    height: 40vw;
/*    border: thin solid #666;*/
}

.narrow {
    display: inline-block;
}

td:first-child {
    text-align: right;
}


@media (max-width: 40em) {
	details {
        margin: 2em 0.5em;
	}
    details img {
        max-width: 75vw;
    }
    p, .p, .narrow {
        margin: 1em 0;
        padding: 1em 0;
    }
}
