/* Basics */
html {
    background-color: black;
    color: white;
}
body {
    font-family: "Trebuchet MS", Helvetica, sans-serif;
}
.background-highlight {
    background: rgba(255,255,255,0.1);
}

@font-face {
    font-family: 'Consolas';
    src: url('consola.ttf');
}

.mono-highlight {
    font-family: 'Consolas';
    background: rgba(255,255,255,0.2);
    color: rgb(200,255,255);
}
.monospaced {
    font-family: 'Consolas';
}
.quote {
    font-family: 'Consolas';
    font-style: italic;
}
.indented {
	margin-left: 5%;
	margin-right: 5%;
}
.notice {
    color: red;
}
.notice a:link {
    color: rgb(255,92,0);
}
.notice a:visited {
    color: rgb(224,0,0);
}
.notice a:hover {
    color: rgb(255,160,64);
}
.notice a:active {
    color: rgb(255,192,160);
}

h1 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

h2, h3, h4, h5, h6 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

p {
    margin-top: 0.5em;
    margin-bottom: 1em;
}

.hr {
    border: 0px;
    border-top: 1px solid white;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

/* Link colors */
a {
    color: #9090FF;
    cursor: pointer;
    text-decoration: underline;
}
a:link {
    color: #9090FF;
}
a:visited {
    color: #8080CC;
}
a:hover {
    color: #CCCCFF;
}
a:active {
    color: #EEEEFF;
}

.plainlink a {
	color: white;
	text-decoration: none;
}

.plainlink a:hover {
    color: #CCCCFF;
}

.plainlink a:active {
    color: #EEEEFF;
}


/* Flash games. */
.flashwrapper {
    text-align: center;
    font-weight: bold;
}
.flashgamecontainer {
    position:relative;
}
.flashgame {
    position:absolute;
    left:50%;
}

/* New header. */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.navtitle {
	width: 30%;
    padding-right: 2.5%;
    white-space: nowrap;
}

.navtitle h1 {
	display: inline-block;
    margin-left: 0.25em;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1em;
}
@media screen and (min-width: 40em) {
    .navtitle h1 {
        font-size:2em;
    }
}

.navtitle img {
    height: 2em;
	margin-bottom: -.25em;
}

.navtitle :hover img {
    opacity: 0.8;
}

.navtitle a {
    color: white;
    text-decoration: none;
}

.navtitle :hover {
    color: #CCCCFF;
}

.navtitle :active {
    color: #EEEEFF;
}

.navitems {
    display: flex;
    width: 70%;
    text-align: center;
    padding-left: 2.5%;
    font-size: 0.75em
}
@media screen and (min-width: 40em) {
    .navitems {
        font-size:1em;
    }
}

.navitem {
    flex-grow: 1;
}

.navitem a {
    color: white;
    text-decoration: none;
}

.navitem a:hover {
    color: #CCCCFF;
}

.navitem a:active {
    color: #EEEEFF;
}

.navitem a.active {
    color: #FFFF00;
}

.navhr {
    border: 0px;
    border-top: 1px solid white;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

/* Old navbar. */
/*
.navtable {
    display: table;
    width: 100%;
    background: #303030;
    font-size:125%;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 1em;
}

.navtablerow {
    display: table-row;
}

.navtablenavcell {
    display: table-cell;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0px;
    padding-right: 0px;
}

.navtable a {
    color: white;
    text-decoration: none;
}

.navtablenavcell a:hover {
    color: #CCCCFF;
}

.navtablenavcell a.active {
    color: #FFFF00;
}

.navtablenavcell a:active {
    color: #EEEEFF;
}
*/

/* Bandcamp embed div */
.bandcampgrid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.bandcamp {
}

.bandcampslim {
    margin: auto;
    width: 100%;
    min-width: 170px;
    max-width: 700px;
}

/* Banners */
.scalingbannernomax img {
    margin: auto;
    display: block;
    width: 100%;
}

.scalingbanner img {
    margin: auto;
    display: block;
    width: 100%;
    max-width: 800px;
}

.centered-image {
    text-align: center;
}

.audio-caption {
    text-align: center;
    font-style: italic;
}

/* Row items */
.rowitem {
    width: 100%;
    display: flex;
    align-items: center;
}

.rowitemimage {
    height: 100%;
    width: 33%;
    max-width: 320px;
}

.rowitemimage img {
    max-width: 100%;
    border-style: solid;
    border-width: 1px;
    border-color: #505050;
    transition: all 150ms;
}

.rowitemimage:hover img {
    border-color: #FFFFFF;
}

.rowitemtext {
    width: 75%;
    padding-left: 15px;
}

.rowitemtext h1 {
    font-size: 150%;
    margin-top: 0em;
}

.rowitemseparator {
    background-color: #404040;
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
    height: 1px;
}

/* Thumbnails with text overlay animation */
.thumbnail-grid {
    text-align: justify;
}

.thumbnail-grid:after {
    content: "";
    display: inline-block;
    width: 100%;
}

.thumbnailnoborder {
    display: inline-block;
    margin: 10px;
}

.thumbnail {
    display: inline-block;
    margin: 10px;
    border-style: solid;
    border-width: 1px;
    border-color: #555555;
    transition: all 300ms;
}

.thumbnail:hover {
    border-color: white;
}

.thumbnail img {
    display: block;
    height: auto;
    max-width: 100%;
}
 
.thumbnail figure {
    overflow: hidden;
    position: relative;
}
 
.thumbnail figcaption {
    background: rgba(0,0,0,0.6);
    color: white;
    display: table;
    height: 100%;
    max-width: 100%;
    width: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
    transition: all 300ms;
    text-align: left;
    font-size: 75%;
}
 
.thumbnail figcaption p {
    padding: 10px;
    display: table-cell;
    vertical-align: middle;
}

.thumbnail:hover figcaption {
    opacity: 1;
}

/* Youtube Embeds */
.youtubecentered {
    text-align: center;
}

/* Image rows */
.imagerow {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imagerow {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.avatarrow {
    text-align: center;
    font-style: italic;
}

.avatarrow img {
    width: 9%;
    max-width:100px;
}

.highlight {
    color: #FFFF90;
}

.imagehoverborder img {
    border-style: solid;
    border-width: 1px;
    border-color: #505050;
    transition: all 150ms;
}

.imagehoverborder:hover img {
    border-color: #FFFFFF;
    opacity: 0.8;
}

/* Automatic image slideshows. */
/*
.slideshow {
    display: flex;
    width: 50%;
    text-align: center;
    align-items: center;
}

.slideshowitem {
    margin: auto;
}

.slideshow img {
    max-width: 100%;
}
*/

/* Main banner. */

.titlebanner {
    width: 100%;
    text-align: center;
}

.titlebanner img {
    max-width: 100%;
    max-height: 350px;
}

.titlecontainercentered {
    text-align: center;
}

.titlecontainercentered a {
    font-weight: bold;
}

.titlecontainer h1 {
    margin-top: 1.5em;
}

/* Images with overlays. */

.overlayimagegrid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.overlayimagesizingcontainer {
    position: relative;
}

.overlayimagesizingcontainer.games {
	margin: 10px;
	width: 40%;
	max-width: 300px;
}

.overlayimagesizingcontainer.full {
	margin: 10px;
	width: 80%;
	max-width: 600px;
}

.overlayimagesizingcontainer.music {
	width: 200px;
}

.overlayimagecontainer {
	margin: auto;
}

.overlayimagecontainermorewrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
}

.overlayimagecontainermore {
    margin: auto;
}

.overlayimagecontainernomargin {
    position: relative;
}

.overlayimagecontainerimage {
	margin: auto;
    border-style: solid;
    border-width: 1px;
    border-color: #505050;
    transition: all 150ms;
}

.overlayimagecontainerimage img {
	max-height: 100%;
	max-width: 100%;
	display: block;
}

.overlayimagecontainerimage iframe {
    position: relative;
	display: block;
}

.overlayimagecontainer:hover .overlayimagecontainerimage {
    border-color: #FFFFFF;
}
.overlayimagecontainernomargin:hover .overlayimagecontainerimage {
    border-color: #FFFFFF;
}

.overlayimageoverlay {
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 1px;
    right: 1px;
    opacity: 0;
    transition: all 150ms;
	background-color: rgba(0,0,0,0.75);
	display: flex;
}

.overlayimageoverlaytext {
	margin: auto;
	color: white;
	padding: 20px;
}

.overlayimageoverlayalwaysshow {
    cursor: pointer;
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 1px;
    right: 1px;
    opacity: 1;
    transition: all 150ms;
	background-color: rgba(0,0,0,0.75);
	display: flex;
}

.overlayimageoverlaytextnopad {
	margin: auto;
	color: white;
    font-size: 0.8em;
}

.overlayimageoverlaytext h1, h2, h3, h4, h5, h6 {
	margin-top: 0.5em;
}

.overlayimagecontainer:hover .overlayimageoverlay {
    opacity: 1;
}
.overlayimagecontainernomargin:hover .overlayimageoverlay {
    opacity: 1;
}

.overlayimagecontainer:hover .overlayimageoverlayalwaysshow {
    opacity: 0.75;
}
.overlayimagecontainernomargin:hover .overlayimageoverlayalwaysshow {
    opacity: 0.75;
}

.overlayimagenew:after {
    position: absolute;
    bottom: 10px;
    right: 10px;
	color: yellow;
	content: "New!";
	animation: pulsate 1s infinite;
    text-shadow: 1px 1px 1px black;
}

@keyframes pulsate {
	0% {
		opacity: 0.25;
	}
	50% {
		opacity: 1.0;
	}
	100% {
		opacity: 0.25;
	}
}

.bandcamploading {
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 1px;
    right: 1px;
    display: flex;
}

.bandcamploadingtext {
    margin: auto;
}

.bandcamploadingtext:after {
	color: #FFFFFF;
	content: "Loading...";
    z-index: -1;
	animation: lightpulsate 2s infinite;
}

@keyframes lightpulsate {
	0% {
		opacity: 0.5;
	}
	50% {
		opacity: 1.0;
	}
	100% {
		opacity: 0.5;
	}
}

.lightpulsate {
	animation: lightpulsate 2s infinite;
}

.musicdownloadbanner {
    margin: auto;
    width: 100%;
    max-width: 800px;
    position: relative;
}

.musicdownloadbannerimage {
    border-style: solid;
    border-width: 1px;
    border-color: #505050;
    transition: all 150ms;
}

.musicdownloadbannerimage img {
	max-width: 100%;
	display: block;
}

.musicdownloadbanner:hover .musicdownloadbannerimage {
    border-color: #FFFFFF;
}
.musicdownloadbanneroverlay {
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 1px;
    right: 1px;
    opacity: 0;
    transition: all 150ms;
	background-color: rgba(0,0,0,0.75);
	display: flex;
}

.musicdownloadbanneroverlaytext {
	margin: auto;
	color: white;
	padding: 20px;
}
.musicdownloadbanner:hover .musicdownloadbanneroverlay {
    opacity: 1;
}

.scaling-centered-image {
    margin: auto;
    width: 100%;
    max-width: 800px;
}

.scaling-centered-image img {
    display: block;
    width: 100%;
}

.scaling-centered-image-caption {
    text-align: center;
    font-style: italic;
}

.webglgame {
    padding-bottom:20px;
}

.redtext {
    color: red;
}

.centered-audio {
    display: table;
    margin: auto;
}
