/* ----- PAGE STYLE ----- */
/* inherited page styles FIXES */
#Content section {margin: 0px}
#Content .wrapper {
  max-width: 100%;
  padding: 0;
}
div#Content section .section-wrapper {
  max-width: 1200px;
  float: none !important;
  margin: 0 auto;
  padding: 0 10px;
}
div#Content section .wrapperThin { /* not a fix */
  max-width: 720px;
}
*, body, html {
  font-size: 16px;
}
.GridBox:first-child,
.GridSection.right .GridBox:first-child {
  margin: 1% 0 1% 0%;
}
.GridBox.col4,
.GridBox.col8 {
  padding: 0 10px;
}
footer {margin-top: 0;} /* Fix footer space */
a.Button,
input.Button {
  font-size: 1rem;
}
/*#Content section:first-of-type {
    margin-top: 7px;
}*/
.frst h1 { margin-top: 20px; } 
@media (min-width: 860px) {
 .frst h1 { margin-top: 0; } 
}

/* ----- GLOBAL ----- */

/* -- global classes -- */
.alignCenter,
.alignFlex {
  text-align: center;
}
.alignLeft {
  text-align: left;
}
.noPadding {
  padding: 0;
}
.smallText {
  font-size: calc(2rem / 3);
}
/* the douchebag vertical align */
.module,
div#Content section .section-wrapper.module,
.paddingV {
    padding: 40px 0;
}
.module.moduleMaster,
div#Content section .module.moduleMaster {
    padding: 0 10px;
}
.middle.middleMaster {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}
.middle.middlePad {
  padding: 20px 0;
}
/* -- inherited styles global fixes -- */
#Content section.noMargin {
  margin: 0;
}

p sup {
  vertical-align: unset;
  top: -0.3em;
  position: relative;
}
sup.pontuation {
  margin-right: -.3em;
}

/* -- global page style -- */
h1, h1 * {
  font-size: 1.6rem;
}
h2, h2 * {
  font-size: 1.2rem;
}
#Content h2,
#Content h2 * {
  font-family: 'Segoe UI', sans-serif;
  font-weight: normal;
}
#Content h2 + p {
  padding-top: 0;
}
/* -- ARROW -- */
a.arrow {
  position: absolute;
  bottom: 0;
  display: block;
  left: 50%;
  margin-left: -30px;
  width: 70px;
  height: 70px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGIiBoZWlnaHQ9Ijk2IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHdpZHRoPSI5NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjkuNjQgMzEuMzZMNDggNDkuNjhsMTguMzYtMTguMzJMNzIgMzcuMDBsLTI0IDI0LTI0LTI0eiIvPjwvc3ZnPg==");
    background-size: contain;
}
.bounce {
    -moz-animation: bounce 2s infinite;
    -webkit-animation: bounce 2s infinite;
  animation: bounce 2s infinite;
}
/* -- BUTTONS -- */
#middlesite .Button.Gold {
  border: 1px solid;
  color: #edcd6e;
  transition: all .4s ease;
}
#middlesite .Button.Gold:hover {
  color: #fff;
}
/* -- COLORS -- */
section.gray { background: #F8F8FA; }
section.blue { background: #01386d; }
section.blue * { color: #fff; }

/* -- HERO -- */
#hero {
  height: calc(100vh - 140px);
  position: relative;
}
#hero * {
  color: #FFF;
}
#hero .hero-text {
  text-align: center;
}
#hero .hero-text h1,
#hero .hero-text h1 * {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
  padding: 0 0 20px;
  font-weight: normal; /* fix */
}
#hero .hero-text h1 sup {
  font-size: .4em;
}

/* ---- IMAGES ---- */
.imgcol {
    height: 48px;
    width: 48px;
    margin: 0 auto;
}
/* ---- VIDEOS ---- */
.video360 iframe {
  width:320px;
  max-width:100%;
  height:180px;
}
/* ---- MEDIA QUERIES ---- */
@media only screen and (min-width: 420px) {
  #middlesite,
  #middlesite * {
    --topMenu: 142px;
  }
  #hero {
    height: calc(100vh - 160px);
  }
  h1, h1 * {
    font-size: 1.8rem;
  }
  .video360 iframe {
  	width:400px;
  	max-width:100%;
  	height:225px;
  }
}
@media only screen and (min-width: 560px) {
  #middlesite,
  #middlesite * {
    --topMenu: 145px;
  }

}
@media only screen and (min-width: 728px) {
  *, body, html {
    font-size: 18px;
  }
  #hero {
    height: auto;
  }
  #hero .hero-text {
    text-align: left;
  }
  .module {
    height: 400px;
  }
  .middle {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
  .module,
  div#Content section .section-wrapper.module {
      padding: 0 10px;
  }
  .imgcol {
    height: 72px;
    width: 72px;
  }
  a.arrow {
    display: none;
  }
  a#start {
    display: block;
    margin-top: -80px;
    height: 80px;
  }
  .video360 iframe {
  	width:640px;
  	max-width:100%;
  	height:360px;
  }
}

@media only screen and (min-width: 860px) {
  #middlesite,
  #middlesite * {
    --topMenu: 80px;
  }
  #Content section:first-of-type {
    margin-top: -30px;
  }
  h1, h1 * {
    font-size: 2rem;
  }
  h2, h2 * {
    font-size: calc(4rem / 3);
  }
}
@media only screen and (min-width: 1200px) {
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
}

/* ---- ANIMATIONS ---- */

  /* bouncing arrow  */

@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}
@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}