body {
  font-family: 'Source Sans Pro', sans-serif;
}

header {
  width: 100vw;
  height: 70px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #01513f;
  z-index: 10;

  transition: all;
  transition-duration: 0.1s;
  transition-delay: 0s;
  transition-timing-function: linear;

  box-shadow: 0.5px 0.5px 3px 3px rgba(0, 0, 0, 0.5);
}

.header_container {
  width: 90%;
  margin: 0 auto;
  position: relative;
}



.logo {
  padding-top: 15px;
}

.logo a {
  position: absolute;
  top: 20%;
  left: 1%;
  font-size: 50px;
  z-index: 10;
  color: rgba(0, 0, 0, 0);
}

.logo svg path {
  stroke-width: 4;
  stroke-dasharray: 500;
  stroke-dashoffset: 500;

  animation-name: draw;
  animation-delay: 0s;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes draw {
  0% {stroke-dashoffset: 500;}
  50% {stroke-dashoffset: 0;}
  100% {stroke-dashoffset: 500;}
}


.hover:hover {
  cursor: pointer;
}

section {
  overflow: hidden;
  width: 91vw;
  margin: 70px auto 20px auto;
  padding: 20px 0;
}

.poster_container {
  width: 93%;
  overflow: hidden;
  border-radius: 4px;
  margin: 0 auto;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 1), 0 1px 4px rgba(0, 0, 0, 0.5);
}

.poster_container img {
  width: 100%;
  display: block;
  transition: all;
  transition-duration: 0.4s;
  transition-delay: 0s;
  transition-timing-function: linear;
}

.poster_container:hover {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2), 0 5px 5px rgba(0, 0, 0, 0.4);
}

.poster_container img:hover {
  transform: scale(1.02);
}

.details_container {
  width: 93%;
  margin: 60px auto;
  position: relative;
}


a {
  color: grey;
  font-weight: lighter;
}

.details_container h3 {
  font-size: 32px;
  color: #37474f;
  margin: 20px;
  text-align: center;
}


.details_container h5 {
  text-align: center;
  font-size: 18px;
  padding: 10px;
  color: #37474f;

  font-weight: lighter;
}


.details_container h5 strong {
  font-size: 17px;
  color: black;
}

.about p {
  font-size: 17px;
  color: black;
  padding: 10px;
  line-height: 2em;
  word-spacing: 0.32em;
  text-align: center;
}

.instructions h4 {
  margin-left: 17px;
  font-size: 20px;
  color: #455a64;
}

.instructions li {
  padding-top: 20px;
  margin-left: 30px;
  font-size: 16px;

  list-style-type: circle;
}

ul, ol {
  margin-bottom: 50px;
}

.button_container {
  position: relative;
  width: 150px;
  margin: 0 auto;
  overflow: hidden;
}

.button_register {
  outline: none;
  border: solid 1.5px black;
  padding: 15px;
  width: 100%;
  font-size: 16px;
  font-family: helvetica;
  color: black;
  background-color: rgba(0, 0, 0, 0);
}

.button_register::before {
  content: '';
  position: absolute;
  top: 60px;
  left: -60px;
  height: 100px;
  width: 100px;
  border-radius: 100px;
  background-color: #d8d8d8;
  z-index: -1;

  transition: all;
  transition-duration: 0.2s;
  transition-delay: 0s;
  transition-timing-function: ease-in-out;
}

.button_register:hover {
  cursor: pointer;
}

.button_container:hover .button_register::before {
  transform: scale(5);
}

.contact {
  width: 93%;
  margin: 60px auto;
  text-align: center;
}

.contact h3 {
  font-size: 29px;
  color: grey;
  margin: 20px;
  text-align: center;
}

.member {
  vertical-align: middle;
  display: inline-block;
  min-width: 200px;
  margin: 20px;
  border: solid 1px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  text-align: left;
  padding: 20px;
}

.member h4{
  padding: 5px;
  font-size: 17px;
}

.name {
  color: #37474f;
}

.email, .phone {
  color: #546e7a;
  user-select: text !important;
}


.hamburger {
  width: 38px;
  height: 38px;
  position: absolute;
  top: 15px;
  right: 45px;

  z-index: 11;
}

.hamburger_line {
  width: 100%;
  height: 5px;
  background-color: white;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  border-radius: 2px;

  transition: all;
  transition-duration: 0.25s;
  transition-delay: 0s;
  transition-timing-function: linear;
}

.hamburger_line::before, .hamburger_line::after {
  content: '';
  width: 100%;
  height: 5px;
  background-color: white;
  display: block;
  position: absolute;
  left: 0;
  border-radius: 2px;

  transition: all;
  transition-duration: 0.25s;
  transition-delay: 0s;
  transition-timing-function: linear;
}

.hamburger_line::before {
  bottom: 10px;
}

.hamburger_line::after {
  top: 10px;
}


.hamburger_icon:hover .hamburger_line::before {
  animation: move_hamburger_forward;
  animation-delay: 0s;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.hamburger_icon:hover .hamburger_line::after {
  animation: move_hamburger_reverse;
  animation-delay: 0s;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.hamburger_open_line {
  background-color: rgba(0, 0, 0, 0);
}

.hamburger_open_line::before {
  background-color: black;
  animation: open_hamburger_top_line;
  animation-delay: 0s;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

.hamburger_open_line::after {
  background-color: black;
  animation: open_hamburger_bottom_line;
  animation-delay: 0s;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}


@keyframes move_hamburger_forward {
  0%{left: 0;}
  25%{left: 8px;}
  50%{left: 0px;}
  75%{left: -8px;}
  100%{left: 0px;}
}

@keyframes move_hamburger_reverse {
  0%{left: 0;}
  25%{left: -8px;}
  50%{left: 0px;}
  75%{left: 8px;}
  100%{left: 0px;}
}

@keyframes open_hamburger_top_line {
  0%{bottom: 10px; transform: rotate(0deg);}
  25%{bottom: 0; top: 0;  transform: rotate(0deg);}
  100%{bottom: 0; top: 0; transform: rotate(45deg);}
}

@keyframes open_hamburger_bottom_line {
  0%{top: 10px; transform: rotate(0deg);}
  25%{bottom: 0; top: 0;  transform: rotate(0deg);}
  100%{top: 0; bottom: 0; transform: rotate(-45deg);}
}



#nav_wrapper {
  display: none;
}

#list {
  display: none;
}

nav {
  width: 35vh;
  height: 50vh;
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
}

nav::before {
  content: '';
  width: 50vh;
  height: 50vh;
  border-radius: 350px;
  background-color: white;
  z-index: -1;
  position: fixed;
  top: -25vh;
  right: -25vh;

  animation-name: expand;
  animation-duration: 0.2s;
  animation-delay: 0s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}

@keyframes expand {
  0% {transform: scale(0);}
  100% {transform: scale(2.5);}
}

nav ul {
  width: 90%;
  margin: 25% auto 0 auto;
  list-style: none;
}

nav ul li {
  padding: 20px;
  position: relative;
}

nav ul li a::before {
  content: '';
  height: 50px;
  width: 8px;
  background-color: grey;
  position: absolute;
  top: 10px;
  left: 0;
}

nav ul li a::after {
  content: '';
  height: 4px;
  width: 0%;
  background-color: grey;
  position: absolute;
  top: 30px;
  right: 16px;

  transition: all;
  transition-duration: 0.2s;
  transition-delay: 0s;
  transition-timing-function: ease-in-out;
}

nav ul li a {
  padding: 10px;
  margin-left: 10px;
  background-color: rgba(0, 0, 0,  0);
  text-decoration: none;
  width: 100%;
  color: black;
  font-size: 19px;
}

nav ul li a:hover::after{
  width: 90%;
}

.date_container {
  margin: 25px 0;
  position: relative;
}

.date h4{
  text-align: center;
}

.date p {
  font-size: 18px;
  color: black;
  padding: 10px;
  text-align: center;
}

.date::before {
  content: '';
  width: 10px;
  height: 100%;
  background-color: grey;
  position: absolute;
  top: 0;
  left: -10px;
}

.date::after {
  content: '';
  width: 10px;
  height: 100%;
  background-color: grey;
  position: absolute;
  top: 0;
  right: -10px;
  z-index: 2;
}




.span-1 {
  position: fixed;
  width: 200px;
  height: 200px;
  border: solid 15px rgba(0, 0, 0, 0.08);
  border-radius: 100%;
  left: -180px;
  top: 17vh;
}

.span-2 {
  position: fixed;
  width: 250px;
  height: 250px;
  border: solid 20px rgba(0, 0, 0, 0.08);
  border-radius: 100%;
  right: -200px;
  top: 12vh;
}

.span-3 {
  position: fixed;
  width: 182px;
  height: 182px;
  border: solid 20px rgba(0, 0, 0, 0.08);
  border-radius: 100%;
  right: -120px;
  bottom: -120px;
}

@media (max-width:600px) {
  p {
    line-height: 1.5em !important;
  }

  h3 {
    font-size: 27px !important;
  }

  h4 {
    font-size: 15px !important;
  }

  h5 {
    font-size: 15px !important;
  }


}
