* {
  position: relative;
  color: inherit;
  font: inherit;
  box-sizing: border-box; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

h1, p {
  margin: 1rem 0; }

h1 {
  width: 100%;
  font-size: 2.5rem;
  line-height: 1;
  text-align: center;
  text-transform: uppercase; }
  
h2 {
  width: 100%;
  font-size: 1.75rem;
  line-height: 1;
  text-transform: uppercase; }

h3 {
  width: 100%;
  font-size: 1.25rem;
  line-height: 1;
  text-transform: uppercase; }
h4 {
  width: 100%;
  font-size: 1rem;
  line-height: 1;
  text-transform: uppercase; }  
p {
  line-height: 1.5; }

li {
  margin: 0.25em 0; }
span.album-cover {
  position: absolute;
  top: 0;
  width: 100%;
  text-align: center;
  background: rgba(0,0,0,.5);
}
.-album:hover span {
  opacity: .5;
}
.nav-menu {
  line-height: 56px; }
  .nav-menu a {
    display: block;
    padding: 0 16px;
    cursor: pointer; }
    .nav-menu a:hover, .nav-menu a:focus {
      background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
      background: linear-gradient(45deg, #009fff, #00dfff); }
  .nav-menu .fa {
    margin: 0 16px 0 0; }

.nav-link a {
  display: block;
  padding: 0 16px; }
  .nav-link a:hover, .nav-link a:focus {
    background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
    background: linear-gradient(45deg, #009fff, #00dfff); }

.nav-link:not(:hover) .nav-drop {
  height: 0;
  opacity: 0;
  visibility: hidden; }

.nav-drop {
  background: #17191b; }
  .nav-drop .nav-link {
    line-height: 40px; }

.nav {
  position: fixed;
  top: 0;
  width: 100%;
  height: 56px;
  color: white;
  white-space: nowrap;
  background: #1f2123;
  box-shadow: 0 8px 16px 0 rgba(15, 17, 19, 0.25);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 1; }
  .nav a {
    text-decoration: none; }
  .nav > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

@media (min-width: 640px) {
  .nav-menu {
    display: none; }
  .nav-link {
    line-height: 56px; }
    .nav-link a {
      display: block; }
      .nav-link a:hover, .nav-link a:focus {
        background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
        background: linear-gradient(45deg, #009fff, #00dfff); }
    .nav-link.-drop:hover::before {
      position: absolute;
      right: 0;
      bottom: -6px;
      left: 0;
      width: 12px;
      height: 12px;
      margin: auto;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      background: white;
      content: '';
      z-index: 1; }
  .nav-drop {
    position: absolute;
    min-width: 256px;
    padding: 8px 0;
    background: white;
    box-shadow: 0 8px 16px 0 rgba(15, 17, 19, 0.25); }
    .nav-drop .nav-link a {
      color: #1f2123; }
      .nav-drop .nav-link a:hover {
        color: white;
        background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
        background: linear-gradient(45deg, #009fff, #00dfff); }
  .nav-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto; }
    .nav-area:first-child {
      margin: 0 auto 0 0; }
    .nav-area:last-child {
      margin: 0 0 0 auto; } }

@media (max-width: 640px) {
  .nav-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    .nav-menu a {
      margin: 0 0 0 auto; }
  .nav-link {
    line-height: 40px; }
  .nav-drop .nav-link a {
    padding: 0 16px 0 32px; }
  .nav-area {
    position: fixed;
    top: 56px;
    right: 0;
    bottom: 0;
    min-width: 256px;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    background: #1f2123;
    box-shadow: 8px 8px 16px 0 rgba(15, 17, 19, 0.25); }
    .nav-area.-active {
      -webkit-transform: translateX(0%);
              transform: translateX(0%); } }

.hero {
  height: 50vh;
  max-height: 384px;
  padding: 16px;
  background: url("/images/hero.gif");
  background-size: cover; }
  .hero > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%; }
  .hero svg {
    height: 100%;
    margin: auto; }
  .hero.-mini {
    max-height: 128px;
    background-position: center; }
    .hero.-mini svg {
      margin: 0 auto 0 0; }

.content-bar {
  height: 12px;
  background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
  background: linear-gradient(45deg, #009fff, #00dfff); }

.content-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .content-split input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .content-split input + input {
      margin: 16px 0 0 16px !important; }

.content-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .content-area + .content-area {
    margin: 0 0 0 auto;
    padding: 0 0 0 16px; }
    
.vid-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
  .vid-columns div {
    display: inline-flex;
    width: 50%;
  }
.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	margin-bottom: -28%;
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
}

.content {
  padding: 16px;
  color: white;
  overflow: hidden;
  background: #1f2123; }
  .content iframe {
    display: block;
    margin: auto; }
  .content input, .content textarea {
    display: block;
    width: 100%;
    margin: 16px 0 0;
    border: 0; }
  .content input {
    height: 40px;
    padding: 0 16px; }
    .content input[type='reset'], .content input[type='submit'] {
      border: solid 1px white;
      color: white;
      text-transform: uppercase;
      background: transparent;
      cursor: pointer; }
      .content input[type='reset']:hover, .content input[type='submit']:hover {
        color: #1f2123;
        background: white; }
  .content textarea {
    height: 120px;
    padding: 13px 16px;
    resize: vertical; }
  .content.-light {
    color: #1f2123;
    background: white; }
  .content.-contact > .wrap {
    max-width: 640px; }
  .content.-contact input[type='text'], .content.-contact textarea {
    color: #000;}
  .content.-foot ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .content.-foot ul + ul {
      padding: 0 0 0 16px; }
  .content.-foot > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.875rem; }

@media (max-width: 640px) {
  .content-area {
    margin: 0 0 0 auto;
    padding: 0; }
  .content.-foot > .wrap {
    -ms-flex-flow: column-reverse;
        flex-flow: column-reverse; } }

.slide-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: calc(50% - 32px);
  width: 48px;
  height: 80px;
  color: white;
  font-size: 1.5rem;
  background: #1f2123;
  cursor: pointer; }
  .slide-arrow .fa {
    margin: auto; }
  .slide-arrow.-next {
    right: 0; }
  .slide-arrow.-prev {
    left: 0; }

.slide-select {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.slide-dot {
  width: 16px;
  height: 16px;
  margin: 8px;
  border-radius: 50%;
  background: white;
  cursor: pointer; }
  .slide-dot.-active {
    background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
    background: linear-gradient(45deg, #009fff, #00dfff); }

.slide-pagi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto auto 16px;
  border-radius: 16px;
  background: #1f2123; }

.slide-image {
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover; }

.slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 50vh;
  max-height: 384px; }

.services-tile {
  width: 100%;
  padding: 48px 0; }
  .services-tile:hover {
    background: rgba(31, 33, 35, 0.0625); }
  .services-tile img {
    display: block;
    width: 96px;
    margin: auto; }
  .services-tile p {
    margin-bottom: 0; }

.services {
  text-align: center; }
  .services > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap; }
  .services a:hover {
    text-decoration: none; }

@media (min-width: 560px) {
  .services-tile {
    width: calc(100% / 3); } }

.update-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  padding: 0 16px;
  cursor: pointer; }
  .update-item.-active {
    color: white;
    background: -webkit-linear-gradient(45deg, #009fff, #00dfff);
    background: linear-gradient(45deg, #009fff, #00dfff); }
  .update-item:hover {
    background: #dfe7ef; }
  .update-item > .slot {
    padding: 0 8px 0 0; }
    .update-item > .slot.-title {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden; }

.update-list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 100%; }

.update-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0 16px;
  background: #dfe7ef; }
  .update-content h1 {
    font-size: 1.5rem;
    text-align: left; }

.updates > .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media (max-width: 640px) {
  .updates > .wrap {
    -ms-flex-flow: column;
        flex-flow: column; } }

@media (min-width: 640px) {
  .update-list {
    overflow: hidden; } }

.gallery-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: calc(50% - 32px);
  width: 48px;
  height: 80px;
  color: white;
  font-size: 1.5rem;
  background: #1f2123;
  cursor: pointer; }
  .gallery-arrow .fa {
    margin: auto; }
  .gallery-arrow.-next {
    right: 0; }
  .gallery-arrow.-prev {
    left: 0; }

.gallery-select {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.gallery-modal-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  border: solid 2px white;
  border-radius: 50%;
  color: white;
  background: #1f2123;
  box-shadow: 0 4px 8px rgba(15, 17, 19, 0.25);
  cursor: pointer;
  z-index: 1; }
  .gallery-modal-close .fa {
    margin: auto; }

.gallery-modal-photo {
  width: 640px;
  height: 480px;
  margin: auto;
  border: solid 4px white;
  background-position: center;
  background-size: cover;
  box-shadow: 0 16px 32px rgba(15, 17, 19, 0.25); }

.gallery-modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(31, 33, 35, 0.875); }

.gallery-modal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1; }
  .gallery-modal:not(.-active) {
    display: none; }

.gallery-photo {
  width: calc(50% - 32px);
  margin: 16px;
  border: solid 1px white;
  background-position: center;
  background-size: cover;
  cursor: pointer; }
  .gallery-photo.-album {
    position: relative;
    box-shadow: -2px 2px 0 0 white, -4px 4px 0 0 white; }
  .gallery-photo::before {
    display: block;
    padding: 0 0 75%;
    content: ''; }

.gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  padding: 16px; }

@media (min-width: 560px) {
  .gallery-photo {
    width: calc(25% - 32px); } }

@font-face {
  font-family: 'Gidole';
  src: url("/assets/fonts/Gidole-Regular.ttf"); }

._wrap {
  max-width: 960px;
  margin: auto; }

#app {
  padding: 56px 0 0; }

body {
  margin: 0;
  color: #1f2123;
  font: 400 1.125rem/1.5 'Gidole', sans-serif;
  letter-spacing: 0.03125em; }
