body {
  font-family: sans-serif;
}

/* ids generally in document order */
/* Overall container div, holds all content of page. Yes, I know it shouldn't have fixed width */
#main-container{
  clear: both;
  width:100%;
}

#header {
  width:100%;
  padding: 0.25em 5% 0.25em 5%;
  background-color: gray;
  color: white;
}

#header h1 {
	background-color: transparent;
}

#nav{
  margin: 0;
  padding: 0;
  position: fixed;
  z-index: 149;
  background:rgba(40,40,40,0.8);
  font-size: larger;
}

#nav:hover #nav-menu {
	display: inline;
}

#nav-icon {
  padding: 0.25em;
  float: left;
}

#nav-menu {
  display: none;
}

#nav menu li {
  padding: 0;
  margin: 0;
  display: inline;
}

#nav menu li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  padding: 0.1em 0.75em;
  margin: 0;
}
#nav ul li.active a { background: silver;}
li.nav-item a:hover { background: rgb( 240, 240, 240) }
li.nav-item a:active { background: gray; color: white; }

/* left bar tends to get used for menus. As there isn't screen-width for two
 * columns on a tablet screen, let's try to spread it horizontally */
#left-bar ul li {
	display: inline;
}

#left-bar ul li::before {
  content: "|| ";
}

/* cookies information box, fixed, in right margin, just above footer */
#cookies {
	width: 30%;
	float: right;
  position: fixed;
  bottom: 1.5em;
  right: 0;
	z-index: 150;
  background: transparent;
}

/* about-cookies box: permanently visible part of cookies information box */
#about-cookies {
  clear: right;
  width: 20%;
  float: right;
  text-align: right;
  padding: 0.25em 2em;
	color: white;
  background:rgba(40,40,40,0.8);
}

/* more-about-cookies box, normally hidden */
#more-about-cookies {
  display: none;
	padding: 0.25em 2em;
	color: white;
  background:rgba(40,40,40,0.8);
	border-bottom: thin solid white;
}

/* but magically appears on mouseover */
#cookies:hover #more-about-cookies {
	display: block;
}
/* footer of the document */
#footer {
  clear: both;
  font-size: smaller;
  padding: 0 2em;
  text-align: center;
  color:white;
  background:rgba(196,196,196,0.95);
  width: 100%;
  margin: 0;
  bottom:0;
  position:fixed;
  z-index:150;
  _position:absolute;
  _top:expression(eval(document.documentElement.scrollTop+
        (document.documentElement.clientHeight-this.offsetHeight)));
}

#footer:hover #credits {
  font-size: normal;
}


.error {
    background-color: red;
    color: white;
}

.minor-controls {
	float: right;
	padding: 0.1em 2em;
	color: white;
  background:rgba(40,40,40,0.8);
}
.minor-controls a {
  color: white;
}

/* there isn't enough room on a tablet display for optional elements, and
  load/save isn't going to work on a tablet anyway */
.nav-optional {
  display: none;
}

.widget {
  margin: 0;
  padding: 0.25em 1em;
  border: thin solid white;
}

div.error {
  width: 100%;
}

form {
  width: 100%;
  background-color: silver;
  border: thin solid silver;
}

h1, h2, h3, h4, h5 {
  background-color: gray;
  color: white;
}

p, pre, h1, h2, h3, h4, h5 {
  width: 100%;
  padding: 0.25em 1em;
}

dl, menu, ol, table, ul {
  margin: 0.15em 3%;
}


input {
  background-color: white;
}

input.submit {
  background-color: green;
}

input.required:after {
  content: " \*";
  color: red;
}

label {
  min-width: 35%;
}

label, input {
  padding: 0.25em 1em;
  margin: 0 0.5em;
}

label {
  border-right: thin solid gray;
}

menu li {
  display: inline;
}

menu li::before {
  content: "|| ";
}


table {
  border: 2px solid black;
  border-collapse: collapse;
}

table.music-ruled tr:nth-child(odd) {
	background-color: silver;
}

th, td {
	text-align: left;
  vertical-align: top;
	padding: 0.15em 1.5em;
  border: 1px solid gray;
}

th {
  background-color: silver;
}

