body {
  background-color: rgb(10, 20, 10);
  padding-top: 250px;
  color: #ddd;
  font-family: 'Open Sans', sans-serif;
  background-image: url(../img/background.jpg);
  background-size: cover;
}

a {
  color: rgb(0, 255, 168);
}
a svg path {
  fill: rgb(0, 255, 168);
}
a:focus, a:hover {
  color: #fff;
  text-decoration: none;
}
a:hover svg path {
  fill: #fff;
}

.hidden {
  display: none;
}

h1, h2, h3 {
  font-family: 'Josefin Sans', sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  letter-spacing: 4px;
}

h2 {
  margin-top: 2em;
}

h2.no-top-margin {
  margin-top: 0;
}

img {
  max-width: 100%;
}

select, button, input, .btn {
    color: #ddd;
    border: 1px solid #ddd;
    background-color: rgba(0, 0, 0, 0.5);
    height: 2rem;
    padding: 0 0.5rem;
    border-radius: 0;
    vertical-align: middle;
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    line-height: 1.8rem;
}

button {
    cursor: pointer;
}

input[type="number"] {
    width: 3rem;
}

button:hover, select:hover, input:hover, .btn:hover {
    color: #0a0;
    border-color: #0a0;
}

header, section, footer {
  margin-bottom: -1px;
  background-color: rgba(10, 20, 10, 0.75);
  padding: 1em;
}
 
section, footer {
  max-width: 900px;
}

@media screen and (min-width: 900px) {
  section, footer {
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(5, 5, 5, 0.6);
  }

  .hero {
    background-color: rgb(5, 5, 5);
  }
}

audio {
  width: calc(100% + 2em);
  margin: 1em -1em;
}

audio::-internal-media-controls-download-button {
  display:none;
}

audio::-webkit-media-controls-enclosure {
  overflow:hidden;
}

audio::-webkit-media-controls-panel {
  width: calc(100% + 35px); /* Adjust as needed */
}

header, section.embed-container {
  opacity: 0.95;
  overflow: hidden;
}

.embed-container iframe {
  margin: -1em;
  width: calc(100% + 2em);
  max-width: 100vw;
}

.embed-container .pdf-viewer {
  height: 95vh;
}

.embed-container h2 + iframe,
.embed-container iframe + p {
  margin-top: 1em;
}

table {
  width: 100%;
  max-width: 600px;
  border: 1px solid #0a0;
  margin-bottom: 1rem;
  background-color: rgba(0, 39, 0, 0.5);
}

thead {
  background-color: rgba(0, 70, 0, 0.5);
  color: #fff;
  border: 1px solid #0a0;
}

td, th {
  padding: 0.5rem;
}

.img-float-right {
  width: 100%;
  margin: 1em 0;
}

@media screen and (min-width: 650px) {
  .img-float-right {
    float: right;
    width: 50%;
    height: auto;
    margin: 0 0 1em 1em;
  }
}

.image-caption {
  margin-top: -1em;
  font-size: 0.8em;
  color: #aaa;
}

.image-caption a {
  color: inherit;
}

.image-caption a:hover {
  color: #fff;
}

.parallax {
  height: 50vh;
  max-height: 35vw;
  background-size: cover;
  background-position: 0%;
  margin: 1em -1em;
}

/***********************
 * Background graphics *
 ***********************/
#background-graphics {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
  background-color: rgb(10, 20, 10);
  opacity: 0.75;
}
#background-graphics div {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 1px;
  will-change: left, background;
  background-color: #0a0;
  opacity: 0.25;
}

#background-graphics div:nth-child(1) {
  -webkit-animation: background-graphics-1 30s infinite linear alternate;
          animation: background-graphics-1 30s infinite linear alternate;
  width: 5px;
}
#background-graphics div:nth-child(2) {
  -webkit-animation: background-graphics-1 30s infinite linear;
          animation: background-graphics-1 30s infinite linear;
  width: 2px;
}
#background-graphics div:nth-child(3) {
  -webkit-animation: background-graphics-1 30s infinite 0.2s linear;
          animation: background-graphics-1 30s infinite 0.2s linear;
  width: 2px;
}
#background-graphics div:nth-child(4) {
  -webkit-animation: background-graphics-1 18s infinite linear;
          animation: background-graphics-1 18s infinite linear;
}
#background-graphics div:nth-child(5) {
  -webkit-animation: background-graphics-2 32s infinite linear alternate;
          animation: background-graphics-2 32s infinite linear alternate;
  width: 10px;
}
#background-graphics div:nth-child(6) {
  -webkit-animation: background-graphics-2 75s infinite linear alternate;
          animation: background-graphics-2 75s infinite linear alternate;
}
#background-graphics div:nth-child(7) {
  -webkit-animation: background-graphics-2 15s infinite linear alternate;
          animation: background-graphics-2 15s infinite linear alternate;
  width: 3px;
}
#background-graphics div:nth-child(8) {
  -webkit-animation: background-graphics-2 21s infinite linear alternate;
          animation: background-graphics-2 21s infinite linear alternate;
}

@-webkit-keyframes background-graphics-1 {
  0%   { left: 5%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  5%   { left: 75%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  10%  { left: 78%; }
  12%  { left: 33%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  20%  { left: 52%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  24%  { left: 95%; }
  32%  { left: 69%; }
  35%  { left: 27%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  37%  { left: 42%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  48%  { left: 75%; }
  51%  { left: 35%; }
  55%  { left: 72%; }
  60%  { left: 2%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  64%  { left: 62%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  66%  { left: 63%; }
  74%  { left: 78%; }
  79%  { left: 29%; }
  85%  { left: 26%; }
  90%  { left: 16%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  91%  { left: 94%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  96%  { left: 58%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  100% { left: 7%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
}

@keyframes background-graphics-1 {
  0%   { left: 5%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  5%   { left: 75%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  10%  { left: 78%; }
  12%  { left: 33%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  20%  { left: 52%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  24%  { left: 95%; }
  32%  { left: 69%; }
  35%  { left: 27%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  37%  { left: 42%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  48%  { left: 75%; }
  51%  { left: 35%; }
  55%  { left: 72%; }
  60%  { left: 2%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  64%  { left: 62%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  66%  { left: 63%; }
  74%  { left: 78%; }
  79%  { left: 29%; }
  85%  { left: 26%; }
  90%  { left: 16%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  91%  { left: 94%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  96%  { left: 58%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  100% { left: 7%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
}

@-webkit-keyframes background-graphics-2 {
  0%   { left: 81%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  6%   { left: 57%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  11%  { left: 87%; }
  17%  { left: 34%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  20%  { left: 25%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  28%  { left: 59%; }
  30%  { left: 92%; }
  35%  { left: 72%; }
  39%  { left: 24%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  44%  { left: 57%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  50%  { left: 53%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  56%  { left: 27%; }
  61%  { left: 20%; }
  63%  { left: 26%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  66%  { left: 36%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  78%  { left: 92%; }
  88%  { left: 62%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  91%  { left: 61%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  96%  { left: 85%; }
  100% { left: 10%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
}

@keyframes background-graphics-2 {
  0%   { left: 81%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  6%   { left: 57%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  11%  { left: 87%; }
  17%  { left: 34%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  20%  { left: 25%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  28%  { left: 59%; }
  30%  { left: 92%; }
  35%  { left: 72%; }
  39%  { left: 24%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  44%  { left: 57%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  50%  { left: 53%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  56%  { left: 27%; }
  61%  { left: 20%; }
  63%  { left: 26%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  66%  { left: 36%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  78%  { left: 92%; }
  88%  { left: 62%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
  91%  { left: 61%; background-image: -webkit-gradient(linear, left top, left bottom, from(#050), to(#0f0)); background-image: linear-gradient(#050, #0f0); }
  96%  { left: 85%; }
  100% { left: 10%; background-image: -webkit-gradient(linear, left top, left bottom, from(#0f0), to(#050)); background-image: linear-gradient(#0f0, #050); }
}

/********
 * Logo *
 ********/

header {
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  z-index: 999;
  -webkit-transition: all 1s;
  transition: all 1s;
  will-change: height, width;
}

header svg {
  width: calc(100% + 20px);
  height: 310px;
  
  margin: -30px -10px;
  -webkit-transition: all 1s;
  transition: all 1s;
  will-change: height, width;
}

.scroll-top header,
.scroll-top header svg {
  height: 12vw;
  margin: 0;
}

.scroll-top header svg {
  width: 18%;
}

header svg {
  width: 100%;
  margin: -30px auto;
}
.scroll-top header svg {
  width: 100%;
}

/* Logo background */
header svg #Layer_2 {
  display: none;
}
/* Logo text */
header svg #Layer_1 path,
header svg #Layer_1 polygon {
  fill: rgba(7, 144, 97, 0.75);
}

section.video-container {
  text-align: center;
}
section.video-container iframe {
  height: 56vw;
  max-height: 506px;
  max-width: 900px;
}

.link-buttons {
  margin-left: -1em;
  margin-right: -1em;
  margin-top: 10px;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 900px) {
  .link-buttons {
    padding: 0 0.5em;
  }
}

.link-buttons a {
    display: inline-block;
    padding: 1em;
    background-color: #022d1d;
    border: 1px solid rgb(0, 255, 168);
}
.link-buttons a:hover {
    background-color: #004c30;
}
.link-buttons a:not(:first-child) {
    border-left: 0;
}

.hero {
  padding: 0;
  opacity: 0.6;
}

.hero img {
  opacity: 0.5;
}

@media screen and (min-width: 1200px) {
  header {
    background-color: transparent;
  }

  .scroll-top header, .scroll-top header svg {
    width: calc(50vw - 450px);
  }
}

@media screen and (min-width: 900px) {
  body:not(.scroll-top) header {
    background-color: transparent;
  }

  .hero {
    margin-top: -8rem;
    background-color: transparent;
  }

  .hero img {
    opacity: 1;
  }
}

/****************
 * Audio Player *
 ****************/

section.audio-container {/* background-color: #fafafa; *//* color: #000; */}

.audio-playlist {
  list-style: none;
  padding: 0;
}

.audio-playlist input + label {
  cursor: pointer;
  padding: 0.5em;
  margin: 0 -1em;
  width: calc(100% + 2em);
}

.audio-playlist input + label h3 {
  margin: 0;
}

.audio-playlist input:checked + label,
.audio-playlist input + label:hover {
  /* background-color: #ddd; */
  color: #1bc27f;
}

/**********
 * Footer *
 **********/

footer ul {
  list-style: none;
  margin: 2em auto;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 250px;
}

footer ul li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}

footer svg {
  width: 3em;
  height: 3em;
}

footer svg path {
  fill: rgba(0, 255, 168, 0.75);
}

@media screen and (min-width: 768px) {
  footer svg {
    width: 4em;
    height: 4em;
  }

  footer ul {
    max-width: 400px;
  }
}

.email {
  text-align: center;
  width: 100%;
  display: inline-block;
  font-family: 'Josefin Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
}