@font-face {
  font-family: 'TitiliumW';
  font-weight: 400;
  font-style: normal;
  src: url("../static/fonts/TitilliumWeb-Regular.woff"); }

/*
0 - 600px:      Phone
600 - 900px:    Tablet portrait
900 - 1200px:   Tablet landscape
[1200 - 1800] is where our normal styles apply
1800px + :      Big desktop

$breakpoint arguement choices:
- phone
- tab-port
- tab-land
- big-desktop

ORDER: Base + typography > general layout + grid > page layout > components

1em = 16px
*/
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  font-size: 62.5%; }
  @media only screen and (max-width: 75em) {
    html {
      font-size: 56.25%; } }
  @media only screen and (max-width: 56.25em) {
    html {
      font-size: 50%; } }
  @media only screen and (min-width: 112.5em) {
    html {
      font-size: 75%; } }

.heading-primary {
  color: #fff;
  margin-left: 5rem; }
  @media only screen and (max-width: 37.5em) {
    .heading-primary {
      margin-left: 0.5rem; } }
  .heading-primary--main {
    display: block;
    font-size: 5.5rem;
    font-weight: 400;
    animation-delay: 3s;
    animation-iteration-count: 3; }
    @media only screen and (max-width: 37.5em) {
      .heading-primary--main {
        font-size: 3.5rem;
        line-height: 1.2; } }
  .heading-primary--sub {
    display: block;
    font-size: 2rem;
    font-weight: 400;
    margin-top: 2rem;
    line-height: 1.5; }
    @media only screen and (max-width: 37.5em) {
      .heading-primary--sub {
        font-size: 1.8rem; } }

.heading-secondary {
  font-size: 3.5rem;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-block;
  color: transparent;
  letter-spacing: .2rem;
  transition: all .2s; }
  @media only screen and (max-width: 56.25em) {
    .heading-secondary {
      font-size: 3rem; } }
  @media only screen and (max-width: 37.5em) {
    .heading-secondary {
      font-size: 2.5rem; } }
  .heading-secondary:hover {
    transform: skewY(2deg) skewX(15deg) scale(1.1);
    text-shadow: 0.5rem 1rem 2rem rgba(0, 0, 0, 0.2); }

body {
  font-family: 'TitiliumW';
  color: #868e96; }

@media (min-width: 992px) {
  body {
    padding-top: 0; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'TitiliumW';
  font-weight: 400;
  color: #343a40; }

h1 {
  font-size: 6rem;
  line-height: 5.5rem; }

h2 {
  font-size: 3.5rem; }

h3 {
  font-size: 2rem; }

p.lead {
  font-size: 1.15rem;
  font-weight: 400; }

.row {
  max-width: 120rem;
  margin: 0 auto; }
  .row:not(:last-child) {
    margin-bottom: 8rem; }
    @media only screen and (max-width: 56.25em) {
      .row:not(:last-child) {
        margin-bottom: 6rem; } }
  @media only screen and (max-width: 56.25em) {
    .row {
      padding: 0 3rem; } }
  .row::after {
    content: "";
    display: table;
    clear: both; }
  .row [class^="col-"] {
    float: left; }
    .row [class^="col-"]:not(:last-child) {
      margin-right: 3rem; }
      @media only screen and (max-width: 56.25em) {
        .row [class^="col-"]:not(:last-child) {
          margin-right: 0;
          margin-bottom: 6rem; } }
    @media only screen and (max-width: 56.25em) {
      .row [class^="col-"] {
        width: 100% !important; } }
  .row .col-1-of-2 {
    width: calc((100% - 3rem) / 2); }
  .row .col-1-of-3 {
    width: calc((100% - 2 * 3rem) / 3); }
  .row .col-2-of-3 {
    width: calc(2 * ((100% - 2 * 3rem) / 3) + 3rem); }
  .row .col-1-of-4 {
    width: calc((100% - 3 * 3rem) / 4); }
  .row .col-2-of-4 {
    width: calc(2 * ((100% - 3 * 3rem) / 4) + 3rem); }
  .row .col-3-of-4 {
    width: calc(3 * ((100% - 3 * 3rem) / 4) + 2 * 3rem); }

.header {
  height: 60rem;
  display: block;
  position: relative; }
  .header-topbar {
    height: 80px;
    width: 100%;
    background-color: initial !important;
    position: relative;
    z-index: 1; }
  .header__logo-box {
    position: absolute;
    top: 2rem;
    left: 22rem;
    z-index: 1; }
    @media only screen and (max-width: 37.5em) {
      .header__logo-box {
        left: 2rem; } }
  .header__logo {
    height: 4rem;
    z-index: 1; }
  .header__bg-video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: -1; }
    .header__bg-video video {
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      top: 50%;
      left: 50%;
      position: absolute;
      transform: translate(-50%, -50%); }
  .header__video-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(21, 32, 40, 0.92);
    z-index: -1; }
  .header__text-box {
    position: absolute;
    z-index: 10;
    width: 80%;
    padding-top: 200px;
    padding-bottom: 240px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 37.5em) {
      .header__text-box {
        width: 90%; } }
    .header__text-box h1 {
      margin-bottom: 20px;
      letter-spacing: 0; }

.section-slider .slider {
  max-width: 1000px;
  background-color: #ffffff;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  margin: auto;
  margin-top: -100px;
  z-index: 999;
  box-shadow: 20px 20px 62px rgba(0, 0, 0, 0.1); }
  @media only screen and (max-width: 37.5em) {
    .section-slider .slider {
      padding: 1rem; } }
  .section-slider .slider-container {
    padding: 0 40px;
    height: 300px; }
    @media only screen and (max-width: 37.5em) {
      .section-slider .slider-container {
        padding: 0 1rem;
        height: 100%; } }
  .section-slider .slider .slider-carousel {
    width: 100%;
    height: 100%; }
  .section-slider .slider .card-container {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 6px;
    padding: 1.2rem; }
  .section-slider .slider .card-avatar {
    position: relative;
    float: left;
    align-items: center;
    text-align: center;
    padding: 20px; }
    @media only screen and (max-width: 56.25em) {
      .section-slider .slider .card-avatar {
        width: 25%;
        padding: 0; } }
    @media only screen and (max-width: 37.5em) {
      .section-slider .slider .card-avatar {
        display: block;
        width: 100%;
        padding: 1rem; } }
    .section-slider .slider .card-avatar__img {
      width: 100px;
      border-radius: 100%;
      margin: 0 auto;
      margin-bottom: 12px; }
      @media only screen and (max-width: 56.25em) {
        .section-slider .slider .card-avatar__img {
          margin: 0 auto;
          margin-bottom: 12px; } }
      @media only screen and (max-width: 37.5em) {
        .section-slider .slider .card-avatar__img {
          margin: 0 auto; } }
    .section-slider .slider .card-avatar__name {
      color: #152028;
      font-weight: 600;
      line-height: 1.1;
      letter-spacing: 0.5px;
      font-size: 20px;
      margin-bottom: 6px; }
    .section-slider .slider .card-avatar__job-title {
      color: #999999;
      font-size: 14px;
      font-weight: 400;
      line-height: 1.4;
      margin-bottom: 12px; }
  .section-slider .slider .card-review {
    position: relative;
    width: calc(75% - 20px);
    display: inline-block;
    right: 0;
    text-align: left;
    padding: 20px; }
    @media only screen and (max-width: 56.25em) {
      .section-slider .slider .card-review {
        width: calc(75% - 20px);
        padding: 0;
        float: right; } }
    @media only screen and (max-width: 37.5em) {
      .section-slider .slider .card-review {
        width: 100%;
        padding: 0; } }
    .section-slider .slider .card-review__text {
      display: block;
      color: #152028;
      font-size: 17px;
      font-weight: 200;
      line-height: 1.4;
      font-style: italic;
      margin-bottom: 36px; }
      @media only screen and (max-width: 37.5em) {
        .section-slider .slider .card-review__text {
          font-size: 14px; } }
    .section-slider .slider .card-review__logo img {
      max-width: 120px;
      float: right; }
      @media only screen and (max-width: 37.5em) {
        .section-slider .slider .card-review__logo img {
          float: unset;
          margin: 0 auto;
          max-width: 10rem; } }

.section-features {
  margin-top: 5rem; }
  .section-features > .row {
    margin: auto; }
    @media only screen and (max-width: 75em) {
      .section-features > .row {
        max-width: 105rem; } }
    @media only screen and (max-width: 37.5em) {
      .section-features > .row {
        margin: 0; } }
    @media only screen and (max-width: 56.25em) {
      .section-features > .row .col-1-of-2 {
        margin: 1rem; } }
    @media only screen and (max-width: 37.5em) {
      .section-features > .row .col-1-of-2 {
        margin: 0; } }

.feature-card {
  padding: 30px;
  height: 21rem;
  margin: 1.5rem 0;
  box-sizing: inherit;
  background-color: #eff4fb; }
  @media only screen and (max-width: 75em) {
    .feature-card {
      height: 35rem;
      margin: 0.5rem 0;
      padding: 1rem; } }
  @media only screen and (max-width: 56.25em) {
    .feature-card {
      padding: 3rem;
      height: 28rem;
      margin: 0 auto; } }
  @media only screen and (max-width: 37.5em) {
    .feature-card {
      height: auto;
      margin: 1rem 0;
      padding: 1rem; }
      .feature-card::after {
        content: "";
        display: table;
        clear: both; } }
  .feature-card__icon {
    width: 10%;
    height: 100%;
    color: #00acdc !important;
    border-radius: 50%;
    float: left;
    align-items: center; }
    @media only screen and (max-width: 75em) {
      .feature-card__icon {
        width: 15%; } }
    @media only screen and (max-width: 56.25em) {
      .feature-card__icon {
        float: unset;
        margin: 0 auto;
        height: 7rem;
        margin-bottom: 2rem; } }
    @media only screen and (max-width: 37.5em) {
      .feature-card__icon {
        float: unset;
        margin: 0 auto;
        margin-top: 2rem;
        height: 7rem; } }
    .feature-card__icon svg {
      width: 5rem;
      fill: currentColor; }
      @media only screen and (max-width: 75em) {
        .feature-card__icon svg {
          width: 7rem; } }
      @media only screen and (max-width: 56.25em) {
        .feature-card__icon svg {
          width: 7rem; } }
      @media only screen and (max-width: 37.5em) {
        .feature-card__icon svg {
          width: 6rem; } }
  .feature-card__description {
    width: 85%;
    margin-left: 2.1rem;
    float: left; }
    @media only screen and (max-width: 75em) {
      .feature-card__description {
        width: 80%; } }
    @media only screen and (max-width: 56.25em) {
      .feature-card__description {
        margin-left: 0;
        width: 95%; } }
    @media only screen and (max-width: 37.5em) {
      .feature-card__description {
        width: 95%;
        margin-left: 0;
        padding: 2rem;
        text-align: center; } }
    .feature-card__description-title {
      color: #152028;
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: 0.5px;
      margin-bottom: 0.8rem; }
      @media only screen and (max-width: 75em) {
        .feature-card__description-title {
          font-size: 3rem; } }
    .feature-card__description-text {
      color: #2b2c28;
      font-size: 17px;
      font-weight: 400;
      line-height: 1.4; }
      @media only screen and (max-width: 75em) {
        .feature-card__description-text {
          font-size: 17px;
          line-height: 1.4; } }
      @media only screen and (max-width: 37.5em) {
        .feature-card__description-text {
          font-size: 14px;
          line-height: 1.4; } }

.section-clients {
  margin-top: 5rem;
  text-align: center; }
  .section-clients .clients {
    margin: 2rem auto;
    display: inline-block; }
    .section-clients .clients__text {
      font-size: 3rem;
      font-family: 'TitiliumW'; }
      @media only screen and (max-width: 37.5em) {
        .section-clients .clients__text {
          font-size: 2.8rem; } }
    .section-clients .clients__sliders {
      padding: 1rem;
      margin: 0 auto;
      width: 100%;
      line-height: 1.5rem; }
      @media only screen and (max-width: 75em) {
        .section-clients .clients__sliders {
          width: 87%; } }
      @media only screen and (max-width: 56.25em) {
        .section-clients .clients__sliders {
          width: 90%; } }
      @media only screen and (max-width: 37.5em) {
        .section-clients .clients__sliders {
          max-width: 100%; } }
      .section-clients .clients__sliders .clients-logo {
        float: left;
        width: 10rem;
        height: 10rem;
        position: relative;
        margin: 2rem; }
        @media only screen and (max-width: 37.5em) {
          .section-clients .clients__sliders .clients-logo {
            width: calc(33.33% - 2rem);
            margin: 1rem; } }
        .section-clients .clients__sliders .clients-logo__img {
          width: 100%;
          height: auto;
          margin: 0 auto;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }

.footer {
  background-color: #152028;
  padding: 2rem 0;
  font-size: 1.6rem;
  color: #fff;
  margin-top: 8rem;
  height: auto; }
  @media only screen and (max-width: 56.25em) {
    .footer {
      text-align: center; } }
  @media only screen and (max-width: 37.5em) {
    .footer {
      text-align: center; } }
  .footer__contacts {
    width: 30rem;
    height: 100%; }
    @media only screen and (max-width: 75em) {
      .footer__contacts {
        font-size: 2rem;
        height: 100%;
        margin-left: 5rem; } }
    @media only screen and (max-width: 56.25em) {
      .footer__contacts {
        font-size: 2rem;
        margin: 0 auto; } }
    @media only screen and (max-width: 37.5em) {
      .footer__contacts {
        margin: 0 auto;
        display: block; } }
    .footer__contacts-email:link, .footer__contacts-email:visited {
      font-size: 1.6rem;
      color: #00acdc;
      display: inline-block; }
      @media only screen and (max-width: 75em) {
        .footer__contacts-email:link, .footer__contacts-email:visited {
          font-size: 2rem; } }
      @media only screen and (max-width: 56.25em) {
        .footer__contacts-email:link, .footer__contacts-email:visited {
          font-size: 2rem; } }
    .footer__contacts-email:hover, .footer__contacts-email:active {
      color: #fff; }
  .footer-social-icon {
    height: 40px;
    text-align: right;
    margin: 2rem auto; }
    @media only screen and (max-width: 75em) {
      .footer-social-icon {
        padding-right: 5rem; } }
    @media only screen and (max-width: 56.25em) {
      .footer-social-icon {
        margin: 0 auto;
        display: block;
        text-align: center;
        padding: 0; } }
    @media only screen and (max-width: 37.5em) {
      .footer-social-icon {
        margin: 0 auto;
        display: block;
        text-align: center; } }
    .footer-social-icon__link:link, .footer-social-icon__link:visited {
      color: #00acdc;
      display: inline-block;
      transition: all .2s; }
    .footer-social-icon__link:hover, .footer-social-icon__link:active {
      color: #fff; }
    .footer-social-icon__box {
      background-color: #152028;
      width: 3.5rem;
      color: #00acdc;
      margin-left: 0.5rem; }
      .footer-social-icon__box svg {
        margin: auto;
        fill: currentColor; }

/*
.clients {
	margin-top: 8rem;
}
.clients-title {
	display: flex;
	flex-wrap: wrap;
  align-items: center;
  justify-content: center;

  @media only screen and (max-width: 56.25em) {
    .clients-title {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
	}
}

.clients-title span {
	font-size: 3rem;
	font-family: 'TitiliumW';
}
.clients-logos {
	display: flex;
	align-items: center;
	justify-content: center;
}

.clients-logos div {
	margin: 1rem
}*/
