/* Switcher Class
-------------------------------------------*/

.desktop {
  display: block !important;
}

.desktop-inline {
  display: inline-block !important;
}

.mobile {
  display: none !important;
}

#mobile-nav-button {
  position: absolute;
  top: 20px;
  right: 10px;
  width: 40px;
  height: 40px;
  display: block;
  z-index: 10000;
}

#mobile-nav-button i {
  font-size: 2.5rem;
  color: #fff;
  text-align: center;
}

#mobile-nav {
  width: 100vw;
  height: 100vh;
  background: #29442b;
  position: fixed;
  top: 0;
  left: 0;
  padding: 30px;
  outline: 2px solid #fff;
  outline-offset: -5px;
  z-index: 10000000000;
  transform: translateY(-150vh);
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

#mobile-nav.active {
  transform: translateY(0);
}

#mobile-nav span.close {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
}

#mobile-nav ul {
  list-style-type: none;
  padding-left: 0;
}

#mega-drop {
  padding: 0;
  display: none;
}

#mega-drop #nav-list-mobile ul li {
  width: 100%;
  height: 50px;
  position: relative;
  overflow: hidden;
  line-height: 50px;
  padding-top: 0;
  padding-bottom: 0;
}

#mega-drop .drop-down-link {
  height: 50px;
  display: block;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 60px;
}

/* Hide these from the desktop devices
-------------------------------------------*/

@media only screen and (max-width: 768px) {
  /* Switcher Class
    -------------------------------------------*/
  .desktop {
    display: none !important;
  }

  .desktop-inline {
    display: none !important;
  }

  .mobile {
    display: block !important;
  }

  /* Global Elements
    -------------------------------------------*/
  html {
    position: relative;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    height: auto;
    overflow-y: scroll;
  }

  body {
    width: 100%;
    max-width: 100%;
    position: absolute;
    top: 0;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
  }

  body.un-selected {
    height: 100vh;
  }

  p {
    padding-right: 10px;
    padding-left: 10px;
  }

  .inner-wrapper,
  .wrapper {
    width: 100%;
    max-width: 100%;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding-left: 10px;
    padding-right: 10px;
  }

  .inner-wrapper.flex {
    display: block;
  }

  .one-half,
  .one-third,
  .two-thirds,
  .one-half-true,
  .one-fourth,
  .three-fourths {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .four-fifths,
  .two-fifths,
  .three-fifths,
  .one-fifth {
    width: 100%;
  }

  .left,
  .right {
    float: none;
    padding-left: 0;
    padding-right: 0;
  }

  .inner-wrapper {
    padding-right: 0;
    padding-left: 0;
  }

  .button {
    max-width: 270px;
    padding-left: 10px;
    font-size: 0.875rem;
  }

  .featured-button {
    bottom: -80px;
  }

  .fancy.small span:before,
  .fancy.small span:after {
    content: "";
    position: absolute;
    height: 2px;
    background: #e1be63;
    top: 50%;
    width: 40px;
  }

  .fancy span:before {
    right: 100%;
    margin-right: 15px;
  }

  .fancy span:after {
    left: 100%;
    margin-left: 15px;
  }

  /* Navigation
    ----------------------------*/

  #header {
    height: 80px;
    top: 0;
  }

  #header.scrolling {
    background: #fff;
  }

  body#home-page #header.scrolling ul#nav-list > li > a {
    color: #fff;
  }

  #mobile-nav img {
    width: 75%;
    margin: 60px auto 40px;
    text-align: center;
    display: block;
  }

  #header #logo {
    margin-left: 5px;
    top: 15px;
  }

  #header.scrolling #mobile-nav-button i {
    color: #29442b;
  }

  body#home-page #header ul.dropdown {
    background: transparent;
  }

  #mobile-nav ul li a {
    color: #fff;
    font-weight: 600;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  #top-bar {
    display: none !important;
  }

  #mega-drop {
    width: 100vw;
    min-height: 100vh;
    background: #0f587c;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    padding: 0px 0px;
    opacity: 0;
    z-index: 100000;
    display: none;
    overflow-y: auto;
  }

  #mega-drop.active {
    opacity: 0.99;
    z-index: 10000000;
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    -ms-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
    height: 150vh;
  }

  #mega-drop.active.overlayed {
    z-index: 1000000;
    top: 0;
  }

  .mega-footer {
    position: relative;
    bottom: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    left: 0;
    padding-bottom: 5px;
    padding-top: 20px;
  }

  .mega-footer a,
  .mega-footer span {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-right: 10px;
    margin-left: 10px;
    font-weight: 300;
  }

  .mega-footer p {
    color: #fff;
  }

  #mega-drop .mega-drop-logo {
    width: 280px;
    position: absolute;
    top: 40px;
    left: 40px;
  }

  #mega-drop .mega-nav-links {
    margin-top: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    height: auto;
    position: relative;
    overflow-y: scroll;
    width: 100vw;
    padding-left: 20px;
    padding-right: 20px;
  }

  .mega-nav-links {
    overflow-y: scroll;
    max-height: 100vh;
  }

  #mega-drop a {
    color: #fff;
  }

  #mega-drop .nav-watermark {
    z-index: 1;
    position: absolute;
    left: 0;
    top: 200px;
    width: 100%;
    opacity: 0.3;
  }

  #mega-drop .mega-drop-logo {
    position: absolute;
    top: 20px;
    left: 8px;
    width: 210px;
  }

  #nav-list-mobile {
    margin-top: 18vh;
    padding-left: 0;
    width: 100%;
    z-index: 100000;
    list-style-type: none;
  }

  #nav-list-mobile .dropdown {
    padding-left: 15px;
    padding-top: 0;
    padding-bottom: 0;
    max-height: 0;
    overflow: hidden;
  }

  #nav-list-mobile .dropdown.active {
    padding-top: 0px;
    padding-bottom: 20px;
    max-height: 100000px;
    -webkit-transition: all 250ms ease-in-out;
    -moz-transition: all 250ms ease-in-out;
    -ms-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
  }

  #nav-list-mobile .drop-down-link {
    display: block;
    height: 60px;
    width: 80%;
    text-transform: uppercase;
    font-size: 0.875rem;
  }

  #nav-list-mobile .drop-down-link.wide {
    width: 100%;
  }

  #nav-list-mobile > li {
    border-bottom: 1px solid #fff;
    position: relative;
  }

  #nav-list-mobile > li a {
    margin-right: 40px;
    display: block;
    font-size: 0.875rem;
  }

  .dropdown-cross {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 0px;
    top: 20px;
    display: block;
    color: #fff;
    font-weight: 300;
    -webkit-transition: all 150ms ease-in-out;
    -moz-transition: all 150ms ease-in-out;
    -ms-transition: all 150ms ease-in-out;
    -o-transition: all 150ms ease-in-out;
    transition: all 150ms ease-in-out;
  }

  .dropdown-cross img {
    width: 100%;
    transform: rotate(90deg);
    -webkit-transition: all 150ms ease-in-out;
    -moz-transition: all 150ms ease-in-out;
    -ms-transition: all 150ms ease-in-out;
    -o-transition: all 150ms ease-in-out;
    transition: all 150ms ease-in-out;
  }

  .dropdown-cross.active img {
    transform: rotate(-90deg);
  }

  #mega-drop .close-link {
    position: absolute;
    right: 20px;
    top: 20px;
    color: #fff;
    font-size: 1.4rem;
  }

  .block-row h2 {
    font-size: 2.1rem;
  }

  h2.project-header {
    font-size: 2.1rme;
  }

  #project-list img {
    width: 50%;
  }

  ul.faqs {
    padding-left: 5px;
    padding-right: 5px;
  }

  .services-info-flex {
    margin-left: 10px;
    margin-right: 10px;
  }

  #contact-box {
    flex-wrap: wrap;
  }
  

  /*==============================
        Home Page
    ==============================*/

  /* Hero
    ------------------------------*/

  #bgvid {
    width: auto;
    height: 100vh;
    max-width: 100000px;
  }
  #hero-content h2 {
    font-size: 2.1rem;
    padding-left: 0;
  }

  #hero-content {
    max-width: 90%;
  }

  #home-news-feed {
    padding-top: 20px;
  }

  #home-news-feed #news-feed-slider.active {
    transform: translateY(0);
  }

  #clear-intro {
    padding-left: 10px;
    padding-right: 10px;
  }

  #clear-intro .inner-wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }

  #clear-intro .text-intro {
    padding-right: 0;
  }

  #home-meet img {
    width: 100%;
    margin: 20px auto 30px;
  }

  #latest-partners .flex {
    padding-left: 0;
  }

  #latest-partners .partner-slider {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #slider-arrow-left,
  #slider-arrow-right {
    display: none !important;
  }

  /* Numbers Callout
    --------------------------*/
  #numbers-call {
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 0;
    padding-bottom: 40px;
  }

  #numbers-call .image-container {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 65px;
  }

  #numbers-call .text-intro {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* Credit Points
    ------------------------*/

  #credit-points h2.section-title {
    font-size: 2.4rem;
  }

  #credit-points {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .asset-icon-blocks .one-fourth {
    width: 44%;
    float: left;
    padding-top: 42%;
    margin-bottom: 20px;
    margin-left: 3%;
  }

  .asset-icon-blocks h2 {
    font-size: 3.4rem;
  }

  /* Press Release
    ---------------------*/

  #press-release {
    padding-top: 60px;
  }

  #press-release .text-intro h2 {
    font-size: 2.4rem;
  }

  #press-release .inner-wrapper {
    display: block;
  }

  #press-release .text-intro {
    padding-left: 20px;
  }

  #press-release .float-box.middle-box {
    transform: translateY(0);
  }

  #press-release .box-container .float-box {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    height: 20vh;
  }

  #press-release .box-container {
    display: block;
  }

  #press-release .box-container .float-box .overlay-bg {
    opacity: 1;
    transform: translateX(0) translateY(0);
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  #press-release .box-container .float-box img {
    float: none;
    width: 30%;
    margin-right: 10px;
    justify-content: center;
    align-items: center;
  }

  #press-release .box-container .float-box:hover {
    transform: translateY(0);
  }

  /* Block Row
    -----------------------------------*/

  .services-header-box h2 {
    font-size: 2.4rem;
    width: 90%;
  }

  #home-stacked .block-row {
    flex-wrap: wrap;
  }

  #home-stacked .block-row {
    flex-direction: row-reverse;
  }

  .block-row {
    flex-wrap: wrap;
  }

  .core-value-block {
    height: auto;
    flex-wrap: wrap;
  }

  .core-value-block ul li {
    width: 100%;
  }

  .core-value-block h2 {
    font-size: 1.8rem;
  }

  .core-value-block ul {
    padding-left: 0;
  }

  /* Testimonials
    --------------------------------*/

  #testimonials .slider-wrapper {
    margin-left: 0;
  }

  #testimonials .slider-wrapper {
    width: 95% !important;
    margin-right: auto;
    margin-left: auto;
  }

  .slide-quote {
    padding: 25px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Latest Partners
    ----------------------------*/

  #latest-partners {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  #latest-partners .flex {
    display: block;
  }

  #latest-partners .two-fifths {
    margin-bottom: 40px;
  }

  .partner-card {
    height: 33vh !important;
    min-height: 33vh !important;
  }

  /*=========================
        Footer
    =========================*/
  #footer {
    z-index: 10000;
  }
  #footer-callout h2 {
    font-size: 2.1rem;
  }

  #footer-callout #footer-bgvid {
    height: 100vh;
    width: auto;
    max-width: 100000px;
  }
  #footer .inner-wrapper {
    flex-wrap: wrap;
  }

  #footer .inner-wrapper .one-fifth img {
    width: 50%;
    margin-right: auto;
    margin-left: auto;
    display: block;
    text-align: center;
    margin-bottom: 40px;
  }

  #footer .sub-footer {
    text-align: center;
  }

  #footer .foot-link,
  #footer .foot-link.copyright {
    display: block;
    float: none;
    text-align: center;
  }

  #footer .foot-link,
  #footer .foot-link.copyright {
    font-size: 0.675rem;
  }
}
