* {
  font-size: 9pt;
  /* font-family: verdana, arial, helvetica, sans-serif; */
  font-family: courier, monospace;
}

body {
  margin: 0px;
  padding: 0px;
  background-image: url("/../assets/virrvarr_white.gif");
  background-repeat: repeat;
}

body, p, ol, ul, td, div {
  font-size: 9pt;
}

h1 {
  font-size: 12pt;
}

h3, h3 label {
  font-size: 11pt;
  margin: 10px 0px 5px 0px;
}

p {
  font-weight: normal;
  margin: 5px 0px;
}

pre {
  background-color: #eee;
  padding: 10px;
  font-size: 11px;
}

a {
  color: #000;
}

a:visited {
  color: #000;
}

a:hover {
  color: #fff;
  background-color: #000;
}

.menu, a.menu, a:visited.menu, a:hover.menu {
  font-size: 12pt;
  background-color: #cccc99;
  text-decoration: none;
  padding: 10px;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-left: 15px;
  border: 1px solid #000;
  border-bottom: 1px solid #000;
}

.active_menu, a.active_menu, a:visited.active_menu, a:hover.active_menu {
  color: #000;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: 0px solid #000;
}

.menu_sub, a.menu_sub, a:visited.menu_sub, a:hover.menu_sub {
  font-size: 9pt;
  background-color: #cccc99;
  text-decoration: none;
  padding-left: 5px;
  padding-right: 5px;
}

.active_menu_sub, a.active_menu_sub, a:visited.active_menu_sub, a:hover.active_menu_sub {
  color: #000;
  text-decoration: underline;
  /* border-bottom: 1px solid #000; */
}

#frame {
  width: 1024px;
  margin-top: 0px;
  padding: 0px;
  text-align: left;
}

#menu_frame {
  width: 602px;
  padding-top: 15px;
  padding-bottom: 0px;
  padding-left: 100px;
  border: 0px solid #000;
  border-bottom: 0px solid #000;
  border-left: 0px;
  margin-left: 0px;
  margin-top: 0px;
}

#main_menu {
  padding: 0px;
  padding-left: 15px;
  border: 0px solid #000;
  border-bottom: 0px solid #000;
  margin-left: 0px;
  margin-top: 0px;
}

#sub_menu {
  background-color: #cccc99;
  padding: 0px;
  padding-left: 10px;
  padding-top: 4px;
  border: 1px solid #000;
  border-bottom: 0px solid #000;
  margin-left: 0px;
  margin-top: 0px;
}

#content {
  width: 100%;
}

#contentleft {
  width: 100px;
  height: 900px;
  padding: 0px;
  float: left;
}

#contentcenter {
  background-color: #CCCC99;
  width: 600px;
  padding: 0px;
  float: left;
  border: 1px #000 solid;
  border-top: 0px #000 solid;
}

#contentright {
  width: 300px;
  height: 900px;
  padding: 0px;
  float: left;
}

#messages {
  margin-bottom: 0px;
  width: 100%;
}

div.page_header_footer_container {
  height: 70px;
  width: 100%;
}

div.corner_image_container {
  float: left;
  width: 73px;
  height: 73px;
}

#page_header_container {
  float: left;
  width: 460px;
  height: 60px;
  border-top: solid 2px #000;
  margin-top: 10px;
  background-color: #fff;
  height: 61px;
  width: 451px;
}

#page_footer_container {
  background-color: #fff;
  float: left;
  width: 460px;
  height: 61px;
  border-bottom: solid 2px #000;
  margin-bottom: 0px;
  width: 451px;
}

#page_content_container {
  background-color: #fff;
  float: left;
  width: 459px;
  margin-left: 10px;
  padding-left: 60px;
  border-left: 2px #000 solid;
  border-right: 2px #000 solid;
  padding-right: 60px;
  position: relative;
  left: 0;
  top: 0;
  z-index: 3;
  width: 453px;
  display: inline; /* Fixes weird IE6 Doubled Float-Margin Bug (http://www.positioniseverything.net/explorer/doubled-margin.html) */
}

#page_content_area_height_fill {
  float: right;
  height: 710px;
  width: 0px;
}

input {
  opacity: 0.85;
  color: #000;
  margin-bottom: 7px;
  margin-top: 5px;
  border: 1px solid #000;
}

label {
  font-weight: bold;
}

.field_with_errors {
  display: inline;
}

div.field_with_errors input {
  border: red solid 2px;
  background-color: #ffc8c8;
}

div#error_explanation h2 {
  color: #D00000;
}

div.field_with_errors label.label_error_support {
  background-color: #ffc8c8;
  padding: 2px;
}

/* These should probably go away */
input.fieldWithErrors {
  border: 2px solid #FF55DD;
  /* background-color: #FF55DD; */
}

#errorExplanation {
  padding: 0px;
  padding-bottom: 10px;
  margin: 0px;
  margin-bottom: 0px;
}

#errorExplanation ul li {
  list-style: disc;
  margin: 0px;
  margin-top: 3px;
  margin-bottom: 3px;
  /* background-color: #FF55DD; */
  list-style-position: inside;
}

#errorExplanation ul {
  margin: 0px;
  padding: 0px;
}

.flash {
  font-weight: normal;
  opacity: 0.85;
  line-height: 150%;
}

/* http://www.bmk.com.au/cgi-bin/colors.php */
.error {
  /* width: 460px; */
  padding: 1px;
  background-color: #FF55DD;
}

.warning {
  padding: 1px;
  background-color: #EEFF44;
}

.message {
  padding: 1px;
  background-color: #77FF44;
}

table {
  border-collapse: collapse;
}

tr.border_bottom td, tr.border_bottom th {
  border-bottom: 1px solid black;
  padding-bottom: 4px;
}

/* https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/ */
.dont-break-out {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.pretty-table {
  border: solid 1px #DDEEEE;
  border-collapse: collapse;
  border-spacing: 0;
  font: normal 13px Arial, sans-serif;
}

.pretty-table thead th {
  background-color: #DDEFEF;
  border: solid 1px #DDEEEE;
  color: #336B6B;
  padding: 10px;
  text-align: left;
  text-shadow: 1px 1px 1px #fff;
}

.pretty-table tbody td {
  border: solid 1px #DDEEEE;
  color: #333;
  padding: 10px;
  text-shadow: 1px 1px 1px #fff;
}

html, body {
  width: 100%;
  height: 100%;
}

div#page-container {
  max-width: 940px;
  min-width: 400px;
}

div#printer-wrapper {
  background-image: url("../assets/virrvarr_white.gif");
  background-repeat: repeat;
  position: relative;
  margin-left: 2%;
  padding-top: 5px;
}

img#printer-img {
  width: 90%;
  height: auto;
  margin: 0;
  margin-left: 0;
}

div#printer-panel {
  position: absolute;
  top: 55%;
  left: 20%;
  margin: 0;
  margin-left: 0;
}

div#paper {
  position: relative;
  display: inline-block;
  top: 4vh;
  width: 80%;
  margin-left: 6%;
  margin-bottom: 10%;
  visibility: hidden;
  border: 2px black solid;
  background-color: white;
  font-family: "Courier New", monospace;
  z-index: -1;
}

#paper:after {
  padding-top: 141%; /* A4 */
  display: block;
  content: "";
}

div#paper-content {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 4%;
  font-size: 11pt;
  z-index: -1;
}

div#paper-footer {
  position: absolute;
  bottom: 0;
  font-size: 9pt;
}

#start-btn {
  position: absolute;
  top: 10px;
  left: 0px;
}

#paper.animate {
  visibility: visible;
  -webkit-animation: 18s print 1 linear;
  -moz-animation: 18s print 1 linear;
  -o-animation: 18s print 1 linear;
  animation: 18s print 1 linear;
}

#start-btn.show, #paper.show {
  visibility: visible;
}

#start-btn.hide, #paper.hide {
  visibility: hidden;
}

div.alert {
  position: relative;
  padding: 5px;
  background-color: yellow;
  border: 1px solid black;
}

@-webkit-keyframes print {
  from {
    top: -120vh;
  }
  to {
    top: 4vh;
  }
}
@-moz-keyframes print {
  from {
    top: -120vh;
  }
  to {
    top: 4vh;
  }
}
@-o-keyframes print {
  from {
    top: -120vh;
  }
  to {
    top: 4vh;
  }
}
@keyframes print {
  from {
    top: -120vh;
  }
  to {
    top: 4vh;
  }
}
@-webkit-keyframes glowing-green {
  0% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
  50% {
    background-color: #66FF33;
    box-shadow: 0 0 8px #66FF33;
  }
  100% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
}
@-moz-keyframes glowing-green {
  0% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
  50% {
    background-color: #66FF33;
    box-shadow: 0 0 8px #66FF33;
  }
  100% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
}
@-o-keyframes glowing-green {
  0% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
  50% {
    background-color: #66FF33;
    box-shadow: 0 0 8px #66FF33;
  }
  100% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
}
@keyframes glowing-green {
  0% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
  50% {
    background-color: #66FF33;
    box-shadow: 0 0 8px #66FF33;
  }
  100% {
    background-color: #669900;
    box-shadow: 0 0 3px #669900;
  }
}
@-webkit-keyframes glowing-red {
  0% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
  50% {
    background-color: #FF0000;
    box-shadow: 0 0 8px #FF0000;
  }
  100% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
}
@-moz-keyframes glowing-red {
  0% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
  50% {
    background-color: #FF0000;
    box-shadow: 0 0 8px #FF0000;
  }
  100% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
}
@-o-keyframes glowing-red {
  0% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
  50% {
    background-color: #FF0000;
    box-shadow: 0 0 8px #FF0000;
  }
  100% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
}
@keyframes glowing-red {
  0% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
  50% {
    background-color: #FF0000;
    box-shadow: 0 0 8px #FF0000;
  }
  100% {
    background-color: #780000;
    box-shadow: 0 0 3px #780000;
  }
}
div.glowing-green {
  -webkit-animation: glowing-green 1500ms infinite;
  -moz-animation: glowing-green 1500ms infinite;
  -o-animation: glowing-green 1500ms infinite;
  animation: glowing-green 1500ms infinite;
}

div.glowing-red {
  -webkit-animation: glowing-red 1500ms infinite;
  -moz-animation: glowing-red 1500ms infinite;
  -o-animation: glowing-red 1500ms infinite;
  animation: glowing-red 1500ms infinite;
}

div.diod {
  border-radius: 15px;
  background: #73AD21;
  padding: 0px;
  width: 15px;
  height: 15px;
  border: 2px solid black;
}

div.diod.green-bg {
  background: #669900;
}

div.diod.red-bg {
  background: #780000;
}

/* http://www.bestcssbuttongenerator.com/#/38 */
.green-button {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #77d42a), color-stop(1, #5cb811));
  background: -moz-linear-gradient(top, #77d42a 5%, #5cb811 100%);
  background: -webkit-linear-gradient(top, #77d42a 5%, #5cb811 100%);
  background: -o-linear-gradient(top, #77d42a 5%, #5cb811 100%);
  background: -ms-linear-gradient(top, #77d42a 5%, #5cb811 100%);
  background: linear-gradient(to bottom, #77d42a 5%, #5cb811 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#77d42a', endColorstr='#5cb811',GradientType=0);
  background-color: #77d42a;
  -moz-border-radius: 14px;
  -webkit-border-radius: 14px;
  border-radius: 14px;
  border: 1px solid #268a16;
  display: inline-block;
  cursor: pointer;
  color: #306108;
  font-family: Arial;
  font-size: 24px;
  font-weight: bold;
  padding: 9px 18px;
  text-decoration: none;
}

.green-button:hover {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #5cb811), color-stop(1, #77d42a));
  background: -moz-linear-gradient(top, #5cb811 5%, #77d42a 100%);
  background: -webkit-linear-gradient(top, #5cb811 5%, #77d42a 100%);
  background: -o-linear-gradient(top, #5cb811 5%, #77d42a 100%);
  background: -ms-linear-gradient(top, #5cb811 5%, #77d42a 100%);
  background: linear-gradient(to bottom, #5cb811 5%, #77d42a 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5cb811', endColorstr='#77d42a',GradientType=0);
  background-color: #5cb811;
}

.green-button:active {
  position: relative;
  top: 1px;
}

.green-button:visited {
  color: #306108;
}
