.footer,
body {
  background-color: #eeeeee;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 85%; 
  text-align: justify;
}
body,
html {
  margin: 0;
  padding: 0;
}

img.logo {
  width: 700px;
  height: 180px;
  text-align: center;
  margin: 0;
  padding: 0;
  border-top: none;
  border-bottom: none;
  border-left: solid 2px black;
  border-right: solid 2px black;
}

div.logo-bar {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-height: 180px;
  padding: 0;
  margin: 0;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
  text-align: center;
  background-color: #215cc4;
  background-image: url("/images/striped-background.png");
}

div#top-content {
  position: relative;
  padding: 1em 0 1em 0;
}

ul.button-bar {
  display: block;
  padding: 0 0 184px 0;
  text-align: center;
  width: 100%;
  margin: 0; /* the height of the image plus the height of the border */
}

form table,
form table th,
form table td,
ul.button-bar li,
dl.side-links,
form.google-search,
ul.errors,
blockquote,
div#mainSystem {
  text-align: left;
  border: solid 1px #dddddd;
}

.loading {
  color: green;
  font-style: italic;
  font-weight: bold;
}

div#mainSystem dl dt {
  font-weight: bold;
}
div#mainSystem dl dt:after {
  content: ":";
}

form table div.radio {
  display: block;
  text-align: left;
  list-style: none;
  margin: auto;
}

form table th {
  text-align: right;
}

form table th:after {
  content: ":";
}

form table td {
  text-align: center;
}

form.google-search div.text-box {
  margin-right: 6px;
}
form.google-search input[type=text] {
  width: 100%;
}
form table div.radio,
form table input[type=text],
form table input[type=password],
form table select,
form table textarea {
  width: 90%;
}

form table tfoot td {
  text-align: left;
}

form table {
  width: 95%;
  margin: auto;
}

form table textarea {
  height: 8em;
}

div#side-bar,
div#right-bar,
div#main-strip {
  margin-top: 0;
}

ul.button-bar li {
  display: inline-block;
  padding: 0;
  white-space: nowrap;
}
ul.button-bar li a {
  background-repeat: no-repeat;
  background-position: 50% 0.5em;
  background-color: white;
  text-decoration: none;
  font-weight: bold;
  display: block;
  color: black;
  padding: 1.5em 1em 0.5em 1em;
}
ul.button-bar li a:hover {
  background-color: #d9e7ff;
}

form.google-search {
  padding: 1em;
  background: white;
}
div#right-bar {
  position: absolute;
  right: 1em;
  width: 15%;
  max-width: 15%;
}
div#side-bar {
  position: absolute;
  left: 1em;
  width: 15%;
  max-width: 15%;
  padding: 0;
}
dl.side-links {
  display: block;
  padding: 1em;
  background: white;
  font-size: 80%;
  margin-top: 0;
}
form.google-search div.title,
dl.side-links dt {
  font-weight: bold;
  background: #215cc4;
  color: white;
  padding: 0.25em;
  margin-top: 0.5em;
  margin-bottom: 0.25em;
}
dl.side-links dd {
  margin: 0;
  list-style: list-style-image;
  display: list-item;
  list-style-position: inside;
}
dl.side-links a {
  text-decoration: none;
  color: #444444;
}

div#main-block {
  margin-top: 1em;
  position: relative;
}

div#main-strip {
  position: absolute;
  margin-bottom: 1px;
  left: 15%;
  right: 15%;
}

div#mainSystem {
  background-color: white;
  padding: 1em;
  margin-bottom: 5.5em;
}

h1 {
  margin: 0;
}

div.footer,
div#main-strip {
  margin-left: 2em;
  margin-right: 2em;
}

div.footer {
/*  border-top: solid 1px #dddddd; */
  position: fixed;
  bottom: 0;
  text-align: right;
  padding: 1em 1em 1em 1em;
  left: 15%;
  right: 15%;
}

div.footer p {
  margin: 0;
  font-size: 80%;
}

img.w3-valid,
img.iam-logo {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

ul.errors {
  font-weight: bold;
  padding: 0.5em;
  list-style-position: inside;
}

ul.errors,
.error,
.required {
  color: red;
}

.required:before {
  content: "*";
}

address {
  white-space: pre;
  font-style: normal;
}

iframe.search-results,
object.search-results {
	width: 100%;
	height: 26em;
	border: none;
}

div.googleMaps iframe,
div.googleMaps object {
  width: 400px;
  height: 400px;
  border: solid 2px #000000;
}

table#email-form th {
  white-space: nowrap;
}

table#email-form td {
  width: 75%;
}

input[id],
label {
  cursor: pointer;
}

a img {
  border: none;
}

div.overview,
img.overview,
a.overview {
  float: right;
  padding: 0 !important;
  margin: 0 !important;
}

blockquote {
  padding: 0.5em;
}
blockquote:after {
  content: '.';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

div.end-float {
  visibility: hidden;
}

div.head-banner a,
div.head-banner {
  color: white;
}

div.admin-marker {
  background: red;
  font-weight: bold;
  font-size: 125%;
  border-bottom: solid 3px white;
  padding: 0.5em;
}

span.event-date {
  font-weight: bold;
}

.mutable-value {
  cursor: pointer;
}
.mutable-value:hover {
  color: gray;
}
div.event-datepicker {
  font-size: 75%;
}

ul.events li.old-event {
  color: gray;
  font-style: italic;
}

form.event-details {
  display: none;
}

table.edit-event {
  border-spacing: none;
  border-collapse: collapse;
}
table.edit-event td {
  text-align: left;
}

.feed {
  background-image: url('/images/feed.png');
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 20px;
  height: 16px;
  margin: 0.5em;
  vertical-align: middle;
  display: table;
}
.feed a {
  display: table-cell;
  vertical-align: middle;
}
