
body {
  margin:auto;
  background: url('assets/team_cover.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  font-family: marine, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}

#appHeader {
  position: relative;
  z-index: 99;
}

#content {
  max-width: 1000px;
  margin: auto;
  background-color: rgba(240,240,240, 0.87);
  box-shadow: 0px 10px 30px 5px rgba(0,0,0,0.25);
  border-radius: 0.75em;
}
#siteName{
  font-size: 1px;
  text-indent: -5000px;
  height: 197px;
  background-size:contain;
  background-repeat: no-repeat;
  background-position: center;
}
#view {
  padding-bottom: 1em;
}
#appFooter {
  text-align: center;
  color: rgb(240,240,240);
  text-shadow: 0px 0px 5px #000;
}


/* HOME PAGE VIDEO / OVERLAY */

#hpvideo {
  width: 100vw;
  height: 100vh;
  background-color: #181818;
  position: fixed;
  z-index: 0;
  top: 0px;
  left: 0px;
  margin: 0;
  padding: 0;
}

#hpvideo video {
  width: 100vw;
  height: 100vh;
  object-fit: contain;
}

.hpoverlay{
  position: absolute;
  top: 0px;
  bottom:0;
  left:0;
  right:0;
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-shadow: 0px 0px 10px #000;
}

.hpoverlay .pagebody {
  width: 70vw;
  /*min-width: 600px;*/
  background-color: rgba(0,0,0,0.5);
  font-size: 30px;
  padding: 1em;
  border: none;
  border-radius: 0.75em;
  box-shadow: 0px 0px 50px 10px rgba(0,0,0,0.5) inset;
}

@media only screen and (max-width: 900px) {
  .hpoverlay .pagebody {
    font-size: 26px;
  }
  .hpoverlay #siteName{
    height: 150px;
  }
}

@media only screen and (max-height: 700px) {
  .hpoverlay .pagebody {
    font-size: 26px;
  }
  .hpoverlay {
    top: 50px;
  }
  .hpoverlay #siteName{
    height: 150px;
  }
}

@media only screen and (max-width: 600px) {
  .hpoverlay .pagebody {
    font-size: 20px;
    padding: 0.75em;
  }
  .hpoverlay #siteName{
    height: 100px;
  }
}

@media only screen and (max-height: 500px) {
  .hpoverlay .pagebody {
    font-size: 20px;
  }
  .hpoverlay {
    top: 50px;
  }
  #siteName{
    height: 100px;
  }
}

@media only screen and (max-height: 350px) {
  .hpoverlay .pagebody {
    font-size: 16px;
  }
  .hpoverlay {
    top: 50px;
  }
  .hpoverlay #siteName{
    height: 60px;
  }
}

/* NAVIGATION */

#navbar {
  background: #222;
  text-align: center;
  margin-bottom: 1em;
  z-index: 100;
  position: relative;
  border-bottom: 1px solid #000;
  box-shadow: 0px 0px 50px 15px rgba(0,0,0,0.25);
  font-family: obvia, sans-serif;
  font-weight: 400;
  font-style: normal;
}
#navbar ul, #navbar li.navitem {
  list-style-type: none;
  display: inline-block;
  margin: 0;
  padding: 0;
}
#navbar a {
  background: #222;
  color: #aaa;
  padding: 0.5em 1em;
  margin: 0;
  display: inline-block;
  font-size: 24px;
  text-decoration: none;
  border-right: 1px solid #000;
  transition: color 0.5s, background-color 0.5s;
}
#navbar li.navitem:last-child a {
  border: none;
}
#navbar a:hover, #navbar a.active {
  background: #000;
  color: #fff;
}

.navDropdown {
  display: none;
  flex-direction: column;
  position: absolute;
  z-index: 100;
  margin-left: -1px;
}
.navDropdown ul {
  display: flex !important;
  flex-direction: column;
}
.navDropdown li {
  display: flex !important;
}
.navDropdown a, .navDropdown li:last-child a {
  display: flex !important;
  flex-grow: 1;
  font-size: 20px;
  border: 1px solid #000 !important;
  border-top: none !important;
}
.navDropdown li:first-child a {
  border-top: 1px solid #000 !important;
}
.navDropdown li:last-child a {
  border-radius: 0em 0em 1em 0.5em;
}

li.navitem:hover .navDropdown {
  display: flex;
}

/* TEXT PAGES */

article.pagebody {
  display: flex;
  flex-direction: column;
  border-bottom: 2px solid #888;
  margin: 1em;
  padding-bottom: 1em;
  line-height: 1.5;
  font-size: 24px;
  text-align: justify;
}

article.pagebody h1 {
  font-size: 48px;
  text-align: center;
  font-family: orbitron, sans-serif;
  font-weight: 600;
  font-style: normal;
  cursor: default;
}


/* TEAM MEMBER PAGE */

article.teamMember, article.serviceItem {
  margin: 1em;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  clear: both;
  display: flex;
  flex-direction: column;
  line-height: 1.5;
  padding-bottom: 1em;
}
article.teamMember:last-child, article.serviceItem:last-child {
  border-bottom: none;
}
article.teamMember .info, article.serviceItem .info {
  display: flex;
  flex-direction: row;
  padding-right: 0.5em;
}
article.teamMember div {
  flex-direction: column;
  text-align: justify;
}
article.teamMember img {
  object-fit: contain;
  border: 1px solid #000;
  margin: 0.5em;
  margin-top: 1.5em;
  margin-right: 1.5em;
  box-shadow: 0px 7px 15px 0px rgba(0,0,0,0.25);
}
article.teamMember h3, article.serviceItem h3 {
  font-family: obvia, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 30px;
  margin-bottom: -0.4em;
  margin-top: 0.7em;
  text-align: left;
}


/* SERVICES PAGES */

article.serviceItem {
  font-size: 70%;
}

article.serviceItem h3 {
  margin: 0.2em 0em 0.5em;
}

article.serviceItem video, article.serviceItem img {
  max-width: 100%;
  box-shadow: 0px 7px 15px 0px rgba(0,0,0,0.25);
}
article.serviceItem .description {
  width: 30%;
  margin-left: 1em;
}
article.serviceItem .content {
  width: 70%;
}
/*.videoPlayer, .videoPlayer div {
  display: block !important;

}*/


/* CONTACT FORM, LOGIN FORM */
.contact-form, .login-form {
  margin: 1em;
}
.contact-form .input, .login-form .input {
  border-bottom: 2px solid rgba(0,0,0,0.25);
  padding: 1em;
  margin-bottom: 1em;
}
.contact-form input, .contact-form select, .contact-form textarea, .login-form input {
  background-color: #e1f1f1;
  border: 2px solid #4e6262;
  font-size: 20px;
  padding: 5px;
  color: #4e6262;
  border-radius: 5px;
  font-family: marine, sans-serif;
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus, .login-form input:focus {
  color: #344141;
  background-color: #f2fefe;
  box-shadow: 0px 7px 15px 0px rgba(0,0,0,0.35);
}
.contact-form .submit, .login-form .submit {
  text-align: center;
  margin-top: 0.5em;
}
.contact-form label, .login-form label {
  font-size: 24px;
  font-weight: bold;
  color: #344141;
  margin-left: 0.75em;
}
.contact-form .g-recaptcha, .login-form .g-recaptcha {
  margin-left: 1em;
}
