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%; */
}

/* 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)));
}

#header {
  width:100%;
  padding: 2em 0 0.25em 0;
  background-color: black;
  color: white;
}

#tab-bar {
  margin: 0;
  width: 100%;
  padding: 0.25em 10%;
  position: fixed;
  z-index: 149;
  color: white;
  background: rgba(40,40,40,0.8);
}

#tab-bar li {
  padding: 0.1em 1.5em 0.1em 0;
  margin: 0;
  display: inline;
}

#tab-bar li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  color: white;
  background: rgba(40,40,40,0.8);
}

#tab-bar li.active a { background: silver;}
li.tab a:hover { background: rgb( 240, 240, 240) }
li.tab a:active { background: gray; color: white; }

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

.rule-controls {
  float: right;
  margin-left: 2em;
  display: none;
}

.rule-delete {
  color: white;
  background-color: red;
}

.rule-down {
  color: maroon;
  background-color: orange;
}

.rule-editor {
  color: black;
  background-color: silver;
  padding: 0;
}

.rule-editor:hover .rule-controls, .rule-editor:hover .rule-feedback {
  display: block;
}

.rule-feedback {
  font-family: monospace;
  padding: 0.25em 1em;
  width: 80%;
  display: none;
}

.rule-input {
  font-family: monospace;
  width: 100%;
  padding: 0.25em 1em;
  display: block;
}

.rule-input:focus ~ .rule-controls, .rule-input:focus ~ .rule-feedback {
  display: block;
}

.rule-ok {
  color: white;
  background-color: green;
}

.rule-up {
  color: forest;
  background-color: yellow;
}

.widget {
	background-color: silver;
 	border: thin solid white;
 	margin-top: 0;
 	margin-bottom: 0;
}

.world {
	font-size: 8pt;
}

div.error {
  width: 100%;
}

form {
  border: thin solid silver;
}

h1 {
  font-size: 300%;
  width: 100%;
  margin: 0;
  padding: 1em 10% 0.25em 10%;
  text-decoration: none;
}

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

div.content, div#params-container, div#rules-container, p, ul, ol, dl, menu, h2, h3, h4, h5 {
  padding: 0.25em 10%;
}

input {
  background-color: white;
}

input.submit {
  background-color: green;
}

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

label {
  display: inline-block;
  width: 25%;
  padding: 0.1em 1.5em;
  border-right: 0.25em solid grey;
  margin-right: 2em;
  text-align: right;
  vertical-align: top;
}

menu li {
  display: inline;
}

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

div.world table, div.world table tr td {
	padding: 0;
	margin: 0;
	border-collapse: collapse;
	border: none;
}

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

th, td {
	text-align: left;
	padding: 0 0.25em;
}

