html *:first-child {
  margin-top: 0;
}

html *:last-child {
  margin-bottom: 0;
}

body {
  font-family: "Poppins",Helvetica,Arial,sans-serif;
  position: relative;
}

section {
  width: 100%;
}

.header-abs {
  background: transparent;
  left: 0;
  padding: 26px 33px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: Playfair Display;
  font-weight: 700;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 0;
}

h1, .h1 {
  font-size: 34px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  h1, .h1 {
    line-height: 1.16667;
    font-size: 60px;
  }
}

h2, .h2 {
  font-size: 28px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  h2, .h2 {
    line-height: 1.22222;
    font-size: 36px;
  }
}

h3, .h3 {
  font-size: 26px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  h3, .h3 {
    line-height: 1;
    font-size: 30px;
  }
}

h4, .h4 {
  font-size: 24px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  h4, .h4 {
    line-height: 1.16667;
    font-size: 24px;
  }
}

h5, .h5 {
  font-size: 20px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  h5, .h5 {
    line-height: 1.66667;
    font-size: 18px;
  }
}

h6, .h6 {
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: 0.2em;
  font-weight: 500;
  font-family: Teko, "Courier New", monospace;
  text-transform: uppercase;
}

@media (min-width: 992px) {
  h6, .h6 {
    letter-spacing: 0.5em;
  }
}

@media (min-width: 768px) {
  h6, .h6 {
    line-height: 1.42857;
    font-size: 14px;
  }
}

.list-inline-item {
  margin: 0;
  padding: 0 15px;
}

.text-grey {color: #aaa;}

.offset-top-10, .offset-top-sm-10 {margin-top: 10px;}
.offset-top-14, .offset-top-sm-14 {margin-top: 14px;}
.offset-top-16, .offset-top-sm-16 {margin-top: 16px;}
.offset-top-24, .offset-top-sm-24 {margin-top: 24px;}
.offset-top-32, .offset-top-sm-32 {margin-top: 32px;}
.offset-top-40, .offset-top-sm-40 {margin-top: 40px;}
.offset-top-50, .offset-top-sm-50 {margin-top: 50px;}
.offset-top-70, .offset-top-sm-70 {margin-top: 70px;}

.offset-top-xs-24 {margin-top: 24px;}
.offset-top-xs-32 {margin-top: 32px;}
.offset-top-xs-50 {margin-top: 50px;}

@media (min-width:768px) {
  .offset-top-xs-24 {margin-top: 0;}
  .offset-top-xs-32 {margin-top: 0;}
  .offset-top-xs-50 {margin-top: 0;}
}

footer {
  padding: 48px 0;

  transition: 1.3s;
}

@keyframes pulse1key {
    from {background-color: rgba(255,255,255,0);}
    to {background-color: rgba(255,255,255,0.35);}
}

.pulse1 {
  animation-name: pulse1key;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.pulse1:hover {
  background-color: rgba(255,255,255,1);
  animation-name: none;
}

.pulse2 {
    animation-name: pulse1key;
    animation-duration: 1.5s;
    animation-delay: 0.75s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

.pulse2:hover {
  background-color: rgba(255,255,255,1);
  animation-name: none;
}

.extra-small {
  font-size: 10px;
  margin: 10px 0;
}

.copyright {
  font-size: 10px;
}


.brand-logo {
  font-family: 'Teko', "Courier New", monospace;
  font-size: 28px;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
}

.brand, .brand:hover, .brand:focus, .brand:visited, .brand:active {
  color: inherit;
  text-decoration: none;
  transition: 1.3s
}

.brand>span {
  color: #0bf;
  transition: 1.6s;
}

.dit-navbar-right {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
}

.navbar {
  padding: 0;
}

.navbar-menu {
  font-family: Playfair Display;
  font-weight: 700;
  list-style: none;
  margin: 0;
  padding: 0;
}

.navbar-menu>li {
  float: left;
}

.navbar-menu>li+li {
  margin-left: 10px;
}

html.no-js .navbar-bars {
  display: none;
}

html.js .navbar-menu .js-menu-hide {
  display: none;
}

.navbar-bars {
  display: block;
  float: left;
  height: 20px;
  margin-left: 30px;
  padding: 6px 0 0 0;
  position: relative;
  width: 30px;
}

.navbar-bars>span {
  display: block;
  margin-left: auto;
  height: 1px;
  width: 100%;
  content: '';
  background-color: #000;
  transition: width .45s, background 1.3s;
}

.navbar-bars>span:first-child {
  margin-bottom: 5px;
}

.navbar-bars>span:last-child {
  margin-top: 5px;
}

a, a:hover, a:visited, a:focus, a:active {
  color: inherit;
  text-decoration: none;
}

.navbar-menu a:hover {
  text-decoration: underline;
}

.nav-list a.current-page, .nav-list a:hover {
  color: #0bf;
}

body.menu-open .navbar-menu .js-menu-show {
  color: #fff;
}

.text-primary {
  color: #0bf!important;
}

.full-menu {
  background: #fff;
  bottom: 0;
  color: #fff;
  display: none;
  left: 0;
  min-height: 100vh;
  opacity: 0;
  padding: 20px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 200;
}

body.menu-open {
  overflow: hidden;
}

@media (max-width:992px) {
  .full-menu {
    bottom: auto;
    height: 100vh;
  }
}

.text-black {color: #000!important;}

.full-menu ul {
  padding-top: 90px;
}

.full-menu li {
  margin-top: 7.3vh;
}

.bars-open>span:nth-child(2) {
  width: 80%;
}


.contact .page-header, .contact .brand, .contact footer {
  color: #000;
}

html.js .contact .brand>span {
  color: #0bf;
}

html.js .contact .navbar-bars>span {
  background: #000;
}

.bars-open>span:first-child, .bars-open>span:last-child {
  width: 50%;
}



body.menu-open .full-menu {
  display: block;
}

.full-menu .container-fluid {
  background: #000;
  height: 100%;
}

.page {
  min-height: 100vh;
  overflow: hidden;
}

.minvh {
  min-height: 100vh;
}

.page-content {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.page-section {
  background: #ebebeb url(img/bg-01.jpg);
  height: inherit;
}

.page-section-inner {
  padding-top: 140px;
}

@media (min-width:768px) {
  .page-section-inner {
    padding-top: 0;
  }
}

.page-section-top-80 {padding-top: 80px;}

.page-section-bottom-140 {padding-bottom: 140px;}

.about-header {
  background: url(img/about-header.jpg) no-repeat 50% 0 fixed;
  background-size: 110% cover;
  position: relative;
}

.home-about-image {
  background: url(img/about-header.jpg) no-repeat left 0 scroll;
  background-size: cover;
}

@media (min-width:500px) {
  .about-header {
    background: url(img/about-header--768.jpg) no-repeat left 0 scroll;
    background-size: cover;
  }
}

@media (min-width:768px) {
  .about-header {
    background: url(img/about-header--1024.jpg) no-repeat left 0 scroll;
    background-size: cover;
  }
}

@media (min-width:1024px) {
  .about-header {
    background: url(img/about-header--1280.jpg) no-repeat left 0 scroll;
    background-size: cover;
  }
}

@media (min-width:1280px) {
  .about-header {
    background: url(img/about-header--1920.jpg) no-repeat left 0 scroll;
    background-size: cover;
  }
}

.about-header .container-fluid {
  position: relative;
  z-index: 2;
}

.bgfilter {
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.header-abs-md {
  position: relative;
}

.header-abs-md .header-abs {
  position: relative;
}

.page-gradient {
  background: #0bf;
  background: -webkit-linear-gradient(45deg, #90f, #00c0ff);
  background: linear-gradient(45deg, #90f, #00c0ff);
}

.page-content-inner {
  padding: 90px 0;
}

.page-gradient .page-content-inner, .page-section-inner {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 100vh;
}

.page-gradient {
  min-height: 80vh;
}

.arrow-link {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.arrow-link svg {
  fill: #bebebe;
  transition: .2s;
}

.hireus h2 a {
  color: #fff;
}

.hireus h2 a:hover {
  color: #0bf;
}

.btn-outline-white {
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
}

.btn-outline-white:hover {
  background: #fff;
  color: #000;
}

.btn-circle {
  border-radius: 50px;
  padding: 12px 32px 9px;
}

.home section {
  padding-bottom: 20px;
}

.workwithus {
  background: #222;
  padding-top: 20px;
}

.services-section {
  padding-bottom: 140px;
  padding-top: 140px;
}

.logo-table {
  display: block;
}

.logo-cell {
  display: block;
  padding: 15px;
}

.logo-row {
  display: block;
}

.logo-images img {
  transition: .3s;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  opacity: 0.5;
}

.logo-images img:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  opacity: 1;
}

.or {
  display: inline-block;
  padding: .5rem 1rem;
  vertical-align: middle;
}

footer a, .contact-social a {
  transition: .3s;
}

footer a:hover {
  color: #0bf;
}

.contact-social a {
  color: #0bf;
}

.contact-social a:hover {
  color: #09d;
}

@media (min-width:768px) {


  .header-abs-md, .page-header {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: 1.3s;
    z-index: 999;
  }

  footer {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    z-index: 999;
  }

  .navbar .container-fluid {
    width: 100%;
  }

  .dit-navbar-left {
    float: left;
  }

  .dit-navbar-right {
    float: right;
  }
}


@media (min-width: 992px) {
  .page-gradient .page-content-inner, .page-section-inner {
    min-height: 100vh;
  }

  .full-menu {
    position: fixed;
  }

  .full-menu ul {
    padding-top: 140px;
  }

  .home-header {
    min-height: 100vh;
  }



  .navbar .container-fluid {
    width: 100%;
  }

  .offset-top-sm-10,
  .offset-top-sm-14,
  .offset-top-sm-16,
  .offset-top-sm-24,
  .offset-top-sm-32,
  .offset-top-sm-40,
  .offset-top-sm-50,
  .offset-top-sm-70 {margin-top: 0;}

  .offset-top-md-16 {margin-top: 16px;}
  .offset-top-md-32 {margin-top: 32px;}
  .offset-top-md-40 {margin-top: 40px;}
  .offset-top-md-50 {margin-top: 50px;}
  .offset-top-md-60 {margin-top: 60px;}
  .offset-top-md-115 {margin-top: 115px;}

  .fullvh {
    min-height: 100vh;
  }

  .page-content-inner {
    padding: 140px 0;
  }

  .page-section-inner {
    padding-top: 0;
  }

  .page-section-top-80 {
    padding-top: 0;
  }

  .list-inline-item:last-of-type {
    padding-right: 0;
  }

  .breaker {
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
  }

  .border-md-top {border-top: 1px solid #e5e5e5;}
  .border-md-right {border-right: 1px solid #e5e5e5;}
  .border-md-bottom {border-bottom: 1px solid #e5e5e5;}
  .border-md-left {border-left: 1px solid #e5e5e5;}

  .logo-table {
    display: table;
    width: 100%;
  }

  .logo-row {
    display: table-row;
  }

  .logo-cell {
    display: table-cell;
    padding-top: 60px;
    padding-bottom: 60px;
  }



  html.js, html.js body {
    background: #fff;
    overflow: hidden;
  }

  html.js .page, html.js .minvh {
    position: relative;
  }

  html.js body:not(.services):not(.contact):not(.privacy) .header-abs-md, body:not(.services):not(.contact):not(.privacy) .page-header {
    color: #fff;
    top: 20px;
  }

  html.js body:not(.services):not(.contact):not(.privacy) .navbar-bars>span {
    background: #fff;
  }

  html.js body:not(.services):not(.contact):not(.privacy) .brand>span {
    color: #fff;
  }

  html.js .header-abs .container-fluid {
    padding: 0;
  }

  html.js footer {
    left: 20px;
    right: 20px;
  }

  html.js body:not(.services):not(.contact):not(.privacy) footer {
    color: #fff;
  }

  html.js footer.text-black {
    color: #000;
  }

  html.js .page-gradient, html.js .abs-block {
    bottom: 20px;
    left: 20px;
    position: absolute;
    right: 20px;
    top: 20px;
  }

  html.js .abs-block .container-fluid {
    height: 100%;auto;
  }

  html.js .page-content-inner {
    min-height: 100%;
  }

  html.js .fullvh {
    min-height: 100%
  }

  html.js section:not(.workwithus) {
    min-height: 100vh;
    position: absolute;
    z-index: 1;
  }

  html.js .pos1 {top: 0;}
  html.js .pos10 {top: 100vh;}
  html.js .pos20 {top: 200vh;}
  html.js .pos30 {top: 300vh;}
  html.js .pos40 {top: 400vh;}
  html.js .pos50 {top: 500vh;}

  html.js .workwithus {
    bottom: -130px;
    position: absolute;
    z-index: 1;
  }

  html.js .home section {
    padding-bottom: 0;
  }
}



@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:portrait) {
  .page-gradient .page-content-inner, .page-section-inner, .home-header {
    min-height: 1024px;
  }

  .full-menu, .page {
    height: 1024px;
  }
}

@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:landscape) {
  .page-gradient .page-content-inner, .page-section-inner, .home-header {
    min-height: 768px;
  }

  .full-menu, .page {
    height: 768px;
  }
}
