html {
  position: relative;
  min-height: 100%;
}
body {
  /* Margin bottom by footer height */
  margin-bottom: 120px;
}
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 120px;
  background-color:  #336B81;
}

.oemo_logo {
    position: absolute;
    left: 20px;
}

div.required label:after {
    content:" *";
    color:red;
}

table.table-fluid {
    width: auto;
}

tr.first-row {
    border-top: solid black 2px;
}

.bg-translation-empty {
  background-color: #ffffff;
}
a.bg-translation-empty:hover,
a.bg-translation-empty:focus {
  background-color: #ffffff;
}

.bg-translation-compilationerror {
  background-color: #d9534f;
}
a.bg-translation-compilationerror:hover,
a.bg-translation-compilationerror:focus {
  background-color: #d9534f;
}

.bg-translation-preparation {
  background-color: #f0ad4e;
}
a.bg-translation-preparation:hover,
a.bg-translation-preparation:focus {
  background-color: #f0ad4e;
}

.bg-translation-proposed {
  background-color: #5bc0de;
}
a.bg-translation-proposed:hover,
a.bg-translation-proposed:focus {
  background-color: #5bc0de;
}

.bg-translation-approved {
  background-color: #5cb85c;
}
a.bg-translation-approved:hover,
a.bg-translation-approved:focus {
  background-color: #5cb85c;
}

.borderright {
    border-right: lightgray solid 1px;
}

.longlist-average {
    border-left: 1px solid black;
    border-right: 1px solid black;
    font-weight: 700;
}

legend {
  font-size: inherit;
  font-weight: bold;
  border-bottom: 0;
  margin-bottom: 5px;
}

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

.bs3-logout-button {
  background-color: transparent;
  border: none;
  padding: 3px 20px;
}

/* "You are working on competition X": full-width, under the navbar, on every
   page under /<family>/<year>/. The current contest is a strong solid blue;
   an archived one is grey and striped so the two cannot be mistaken. */
.navbar + .contest-banner {
  margin-top: -20px; /* sits flush under the navbar, eating its bottom margin */
}
.contest-banner {
  margin-bottom: 20px;
  color: #fff;
  border-bottom: 4px solid rgba(0, 0, 0, 0.25);
}
.contest-banner-current {
  background-color: #1f5f8b;
  border-bottom-color: #5cb85c;
}
.contest-banner-archived {
  color: #333;
  background-color: #d9d9d9;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent 0,
    transparent 14px,
    rgba(0, 0, 0, 0.06) 14px,
    rgba(0, 0, 0, 0.06) 28px
  );
  border-bottom-color: #f0ad4e;
}
.contest-banner-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  padding-top: 14px;
  padding-bottom: 14px;
}
.contest-banner-logo img {
  display: block;
  max-height: 64px;
  width: auto;
  background: #fff;
  border-radius: 4px;
  padding: 3px;
}
.contest-banner-text {
  flex: 1 1 320px;
  min-width: 0;
}
.contest-banner-kicker {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.contest-banner-family {
  margin-left: 8px;
  opacity: 0.85;
}
.contest-banner-state {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-weight: 700;
}
.contest-banner-state .fas {
  font-size: 9px;
  vertical-align: 1px;
}
.contest-banner-state-current {
  background-color: #5cb85c;
  color: #fff;
}
.contest-banner-state-archived {
  background-color: #8a6d3b;
  color: #fff;
}
.contest-banner-title {
  margin: 2px 0 4px;
  font-size: 32px;
  font-weight: 700;
}
.contest-banner-title a,
.contest-banner-title a:hover,
.contest-banner-title a:focus {
  color: inherit;
}
.contest-banner-meta-item + .contest-banner-meta-item:before {
  content: "\00b7";
  margin: 0 8px;
  opacity: 0.7;
}
.contest-banner-flag {
  border: 1px solid rgba(0, 0, 0, 0.3);
  vertical-align: -1px;
}
.contest-banner-actions .btn {
  margin: 2px 0 2px 6px;
}
@media (max-width: 767px) {
  .contest-banner-title {
    font-size: 24px;
  }
  .contest-banner-actions .btn {
    margin: 2px 6px 2px 0;
  }
}
