html { overflow-y: scroll; }

body {
  font-size: 15px;
  font-family: sans-serif;
  background-color: whitesmoke;
}

h1 {
  font-family: sans-serif;
}

nav {
  background-color: #eee;
  padding: 0.65em 1em;
}

section {
  padding: 1em;
}

fieldset {
/*   background-color: white; */
  padding: 0;
  width: 100%;
}

legend {
  font-family: sans-serif;
  font-weight: bold;
  padding: 0 0.5em;
  margin: 0 0.5em;
}

.red { color: red; }

.bold { font-weight: bold; }

.underline {
  margin-bottom: 0.3em;
  padding-bottom: 0.15em;
  border-bottom: 3px solid gainsboro;
}

.nowrap { white-space: nowrap; }

#back-to-top {
  background-color: white;
  border: 1px solid gainsboro;
  box-shadow: 1px 1px 3px grey;
  bottom: 1em;
  cursor: pointer;
  position: fixed;
  right: 1em;
  z-index: 1000;
}

#back-to-top  a {
  color: cornflowerblue;
  display: inline-block;
  padding: 0.7em 0.9em 0.4em;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 1.34em;
}

#page {
  max-width: 1024px;
  margin: 0 auto;
}


.brand {
  background-color: whitesmoke;
  background-image: url('../img/bg.jpg');
  background-repeat: repeat-x;
  background-size: contain;
  min-height: 210px;
}

#page-header table {
  width: 100%;
}

#page-header img {
  width: 65px;
  height: 65px;
  padding-left: 0.5em;
}

#page-header small {
  font-size: 0.67em;
  font-style: italic;
}

#page-content {
  background-color: white;
  position: relative;
}

#page-footer {
  background-color: #eee;
  font-size: 0.8em;
  padding: 1em;
}

.pjax-error h3 { color: red; }

.hidden, .vue {display: none !important;}

.busy,
.busy a:hover,
.busy button:hover {
  cursor: progress !important;
}


.alert {
  background-color: mistyrose;
  border: 1px solid red;
  color: crimson;
  cursor: pointer;
  padding: 0.3em 0.5em;
  margin-bottom: 0.1em;
}

#alerts {
  position: absolute;
  right: 1em;
}

#alerts .info {
  background-color: azure;
  border-color: royalblue;
  color: royalblue;
}

#alerts .warning {
  background-color: beige;
  border-color: goldenrod;
  color: darkgoldenrod;
}

#alerts .success {
  background-color: mintcream;
  border-color: green;
  color: green;
}

.alert::after {
  content: "x";
  float: right;
  font-family: sans, sans-serif;
  padding-left: 0.5em;
}


.modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 800; }

.modal-inner {
  background-color: white;
  border: 1px solid gainsboro;
  box-shadow: 1px 1px 3px grey;
  margin: 1em auto;
  padding: 1em;
  width: 50%;
}

.modal-close { float: right; }

label {
  display: inline-block;
  vertical-align: top;
}

.field-md { min-width: 320px; }
.field-md input,
.field-md textarea { min-width: 280px; }

.scrollbox {
  overflow-y: auto;
  position: relative;
}

.field { margin: 1em 0; }

.add-on { font-size: 0.8em; }

.form-actions-bar { padding: 1em 0 0; }

.pull-left {/* float: left; */}
.pull-right { float: right; }

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.column {display: inline-block;float:left;margin: 0;}
.column:last-of-type { margin-right: 0; }

.clearfix { overflow: auto; }
.clearfix::after { content: ""; clear: both; display: table; }

.row { clear: both; }

.card {
  border: 1px solid grey;
  background-color: white;
  margin: 0.5em 3px 1em;
  padding: 1em;
  /* box-shadow: 1px 1px 3px 0 gray; */
}

.menu {
  list-style: none;
  padding: 0;
}

.menu li {
  display: inline-block;
}

.menu a {
  display: inline-block;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 0.9em;
  padding: 0.1em 0.5em;
  text-decoration: none;
  width: 100%;
}

.menu a:visited {
  color: blue;
}

.menu a:hover {
  color: orange;
}

#topmenu {
  margin: 0;
}

.tab-bar hr {
  border-top: 1px solid grey;
  border-bottom: 0;
  clear: both;
}

.tabs {
  display: block;
  list-style: none;
  margin: 0 5px;
  padding: 0;
}

.tabs li {
  float: left;
  border: 1px solid transparent;
  border-bottom-width: 0;
  margin: 0 0.5em 0 0;
}

.tabs li:hover {
  cursor: pointer;
}

.tabs a {
  display: block;
  padding: 0.3em 0.5em;
  font-weight: bold;
}

.tabs .active {
  background-color: whitesmoke;
  border-color: grey;
  position: relative;
  top: 1px;
}

.tab-content {
  clear: both;
  display: none;
}

.tab-content.active {
  display: block;
}


@media (max-width:580px) {
  label { display: block; }
  .field-md { min-width: 0; }
}
