@charset "utf-8";

/* ======= VIDEO BACKGROUND  ======= */

div#videoBackground {
  position: fixed;
  top: 5%;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: -99;
  background-color: #000000;
}
div#videoBackground > iframe {
  position: absolute;
  width: 100%;
  height: 56.25vw;
}
div#videoBackgroundOverlay {
  width: 100%;
  height: 46.25vw;
  margin: auto;
  overflow: hidden;
  display: block;
  z-index: 0;
  position: relative;
}
div#videoBackgroundOverlay > div {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0.8) 100%);
}
@media screen and (min-width: 1601px) {
  div#videoBackground, 
  div#videoBackgroundOverlay {
    width: 100%;
    height: 740px;
    overflow: hidden;
  }
}








/* ======= Text Block ======= */

div.textBlock {
  width: 100%;
  max-width: 1265px;
  margin: auto;
}
div.textBlock > div {
  border-left: 1px solid var(--primary);
  width: 35%;
  height: 35vw;
  position: relative;
  margin: 0px 0px 0px 2%;
  padding: 0px 0px 0px 5%;
  float: right;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: stretch;
  align-content: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
}
div.textBlock > div > div {
  -webkit-order: 0;
  order: 0;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: auto;
  align-self: auto;
  overflow: hidden;
  background: var(--primary);
  position: relative;
}
div.textBlock > div > div > a img {
  width: 100%;
  height: auto;
  transition: 0.5s;
  transition-timing-function: ease;
  position: absolute;
  top: -25%;
}
div.textBlock > div > div > a:hover img {
  transform: scale(1.1);
  opacity: 0.5;
}
div.textBlock > h1 {
  padding: 0px 0px 0px 3%;
  margin: 2% 0px 0px 0px;
  font-family: 'blackout';
  font-size: 3.33vw;
  line-height: 3.33vw;
  text-decoration: none;
  color: var(--primary);
}
div.textBlock > h2 {
  padding: 0px 0px 0px 4%;
  margin: 0px 0px 2% 0px;
  font-size: 1.81vw;
  line-height: 1.81vw;
}
div.textBlock > ul {
  list-style: none;
  padding: 0px;
}
div.textBlock > ul > li {
  padding: 0px;
  line-height: 0.9em;
  margin: 2% 0px;
}
div.textBlock > ul > li::before {
  content: '\22D9';
  margin: 0 0.5em 0 -1.75em;
}
div.textBlock > ul > li > ul {
  margin: 2% 0px;
}
div.textBlock > ul > li > ul > li {
  margin: 1% 0px;
  list-style: none;
  font-size: 0.9em;
  font-style: italic;
}
div.textBlock > ul > li > ul > li::before {
  content: '\25BB';
  margin: 0 1em 0 -1em;
}
section#info > div.textBlock > h1 {
  color: var(--primary-dark);
}
body[data-mode="dark"] section#info > div.textBlock > h1 {
  color: var(--primary-light);
}
@media screen and (min-width: 1601px) {
  div.textBlock > div {
    width: 445px;
    height: 540px;
    margin: 0px 0px 0px 25px;
    padding: 0px 0px 0px 63.33px;
  }
  div.textBlock > div > div > a img {
    top: -35px;
  }
  div.textBlock > h1, section#description h1 {
    padding: 0px 0px 0px 38px;
    margin: 25px 0px 0px 0px;
    font-size: 54px;
    line-height: 54px;
  }
  div.textBlock > h2, section#description h2 {
    padding: 0px 0px 0px 50px;
    margin: 0px 0px 25px 0px;
    font-size: 29px;
    line-height: 29px;
  }
  div.textBlock > ul > li,
  div.textBlock > ul > li > ul {
    margin: 25px 0px;
  }
  div.textBlock > ul > li::before {
    margin: 0 0.5em 0 -1.75em;
  }
  div.textBlock > ul > li > ul > li {
    margin: 12.5px 0px;
    font-size: 0.9em;
  }
  div.textBlock > ul > li > ul > li::before {
    margin: 0 1em 0 -1em;
  }
}










/* ======= Contact Form ======= */

section#contact {
  background-attachment: fixed;
  background-position: center top;
  background-image: url("../i/bg/cnt.jpg");
}
section#contact > a {
  top: 0;
  left: 10%;
}
section#contact > div {
	position: relative;
	display: inline-block;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
div.form {
  background-color: var(--primary-dark-opaque);
  padding: 2%;
  width: 50%;
  margin: 10% auto 5% auto;
  border-radius: 2%;
  font-size: 0px;
}
form.contact input, 
form.contact textarea {
  margin: 0%;
  color: var(--primary-dark);
  display: inline-block;
  font-size: 1.5vw;
  line-height: 2vw;
  background-color: #fbfbfb;
  padding: 1%;
  width: 100%;
  box-sizing: border-box;
  border: 3px solid rgba(0, 0, 0, 0);
}
body[data-mode="dark"] form.contact input, 
body[data-mode="dark"] form.contact textarea {
  color: var(--primary-light);
  background-color: #1a1a1a;
  border: 3px solid var(--primary-darker);
}
form.contact input:nth-of-type(2) {
  margin: 2.5% 0%;
}
form.contact input:focus, body[data-mode="dark"] form.contact input:focus {
  background: #FFFFFF;
  border: 3px solid var(--accent);
  color: var(--accent);
  outline: none;
}
body[data-mode="dark"] form.contact input:focus {
  border: 3px solid var(--accent);
  background-color: #1a1a1a;
}
form.contact textarea {
  width: 100%;
  height: 150px;
  line-height: 150%;
  resize: vertical;
}
form.contact input:hover, form.contact textarea:hover, form.contact input:focus, form.contact textarea:focus {
  background-color: #e6e6e6;
}
form.contact button {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  float: left;
  width: 100%;
  border: #fbfbfb solid 4px;
  cursor: pointer;
  background-color: var(--primary);
  color: #FFFFFF;
  font-size: 24px;
  padding: 22px;
  transition: all 0.3s;
  font-weight: 700;
}
body[data-mode="dark"] form.contact button {
  border: #1a1a1a solid 4px;
  color: #1a1a1a;
}
form.contact button:hover {
  background-color: rgba(0, 0, 0, 0);
  color: var(--primary);
}
body[data-mode="dark"] form.contact button:hover {
  color: var(--primary-light)
}
div.submit {
  margin: 2.5% 0px 0px 0px;
}
div.submit:hover {
  color: var(--primary-light);
}
body[data-mode="dark"] div.submit:hover {
  color: var(--primary-dark);
}
div.ease {
  width: 0px;
  height: 78px;
  background-color: #fbfbfb;
  transition: 333ms ease;
}
body[data-mode="dark"] div.ease {
  background-color: #1a1a1a;
}
div.submit:hover div.ease {
  width: 100%;
  background-color: #FFFFFF;
}
body[data-mode="dark"] div.submit:hover div.ease {
  background-color: #1a1a1a;
}










/* ======= Video Tiles ======= */

a#videos {
  margin: 12% 0px 0px 0px;
}
nav#videos {
  position: relative;
  width: 100%;
  background: linear-gradient(90deg, var(--primary-darker) 50%, var(--accent-darker) 50%);
  z-index: 1;
  margin: 0px auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-content: space-around;
  align-content: space-around;
  -webkit-align-items: center;
  align-items: center;
}
div.tile {
  position: relative;
  width: 33.33%;
  padding: 18.75% 0px 0px 0px;
  background-color: var(--primary-light);
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-align-self: auto;
  -ms-flex-item-align: auto;
  align-self: auto;
}
div.tile > div {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}
div.tile img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  transition: 0.5s;
}
div.tile > div > div {
  background-color: var(--primary-dark);
  position: relative;
  height: 100%;
  width: 100%;
  margin: 42.5% 0px 0px 0px;
  transition: margin 0.5s;
  padding: 3% 5%;
}
div.tile:hover > div > div {
  background-color: var(--primary-dark-opaque);
  margin: 0px 0px 0px 0px;
  padding: 7% 5%;
}
div.tile:hover img {
  transform: scale(1.05);
}
div.tile h1 {
  color: var(--accent-dark);
}
div.tile h2 {
  font-family: 'midnight';
  font-weight: bolder;
  color: var(--primary-dark);
  display: inline-block;
  margin: 0px;
  padding: 0px;
  font-size: 1.5em;
  line-height: 1.3em;
  word-spacing: 1px;
  text-shadow: 2px 2px 0 #FFFFFF, 2px -2px 0 #FFFFFF, -2px 2px 0 #FFFFFF, -2px -2px 0 #FFFFFF, 2px 0px 0 #FFFFFF, 0px 2px 0 #FFFFFF, -2px 0px 0 #FFFFFF, 0px -2px 0 #FFFFFF;
}
div.tile:nth-of-type(8) h2 {
  font-size: 1.4em;
  line-height: 1.5em;
}
div.tile:nth-of-type(8):hover h2 {
  font-size: 1.5em;
}
div.tile:hover h2 {
  background: #FFFFFF;
  font-size: 1.6em;
  transition: 0.5s;
  transition-timing-function: ease-out;
}
div.tile p {
  color: var(--primary-light);
  border-top: 2px solid var(--primary-light);
  display: block;
  width: 80%;
  padding: 10px 0px 0px 0px;
  float: left;
  font-family: Verdana, Geneva, sans-serif;
}
div.tile a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("../i/e/ar.png");  
  background-size: 10%;
  background-position: 85% 40%;
  background-repeat: no-repeat;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
div.tile a:hover {
  cursor: pointer;
  animation-name: bounce;
  -moz-animation-name: bounce;
}
@keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
  }
  40% {
    -webkit-transform: translateX(-15px);
    -ms-transform: translateX(-15px);
    transform: translateX(-15px)
  }
  60% {
    -webkit-transform: translateX(-7.5px);
    -ms-transform: translateX(-7.5px);
    transform: translateX(-7.5px)
  }
}









/* ====== LARGE SCREEN RULES ====== */

@media screen and (min-width: 1601px) {
  div.tile {
      width: 25%;
      padding: 14.06% 0px 0px 0px;
  }
  div.tile:nth-of-type(8) {
      display: none;
  }
  div.tile h2 {
      font-size: 1.75vw;
      line-height: 2vw;
  }
  div.tile:hover h2 {
      font-size: 1.75vw;
  }
  div.tile p {
      font-size: 1vw;
  }
}
