/* --- RESET ---*/
*, *:before, *:after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

@font-face {
  font-family: "Space Grotesk Bold";
  src: url("../fonts/SpaceGrotesk-Bold.woff2") format("woff2"), url("../fonts/SpaceGrotesk-Bold.woff") format("woff"), url("../fonts/SpaceGrotesk-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 400; }
@font-face {
  font-family: "Space Grotesk Light";
  src: url("../fonts/SpaceGrotesk-Light.woff2") format("woff2"), url("../fonts/SpaceGrotesk-Light.woff") format("woff"), url("../fonts/SpaceGrotesk-Light.otf") format("opentype");
  font-style: normal;
  font-weight: 400; }
@font-face {
  font-family: "Space Grotesk Regular";
  src: url("../fonts/SpaceGrotesk-Regular.woff2") format("woff2"), url("../fonts/SpaceGrotesk-Regular.woff") format("woff"), url("../fonts/SpaceGrotesk-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400; }
@font-face {
  font-family: "Space Grotesk SemiBold";
  src: url("../fonts/SpaceGrotesk-SemiBold.woff2") format("woff2"), url("../fonts/SpaceGrotesk-SemiBold.woff") format("woff"), url("../fonts/SpaceGrotesk-SemiBold.otf") format("opentype");
  font-style: normal;
  font-weight: 400; }
/* --- GLOBALS --- */
/**
 * Body
 */
html {
  font-size: 62.5%;
  /* 62.5% equals 10 px; used as a baseline for REM unit */ }
  html.no-scroll {
    overflow: hidden; }

body {
  font-family: "Space Grotesk Light", sans-serif;
  font-size: 62.5%;
  /* 62.5% equals 10 px; used as a baseline for REM unit */
  color: #fff;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-size: 10px;
  font-size: 1rem; }

/**
 * Wrapper
 */
.wrapper, .footer {
  float: left;
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 100%; }

.wrapper, .footer, a, button, input {
  cursor: none !important; }

@media only screen and (max-width: 768px) {
  div:not(.container-bg) .container {
    padding: 0 25px; } }

/**
 * Section
 */
section {
  display: none; }
  section.active {
    display: block; }

/**
 * Background element
 */
.container-bg {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }
  .container-bg #bg_block {
    background-color: #231F20;
    position: relative; }
    @media only screen and (min-width: 1200px) {
      .container-bg #bg_block {
        height: 815px; } }
    @media only screen and (min-width: 992px) and (max-width: 1200px) {
      .container-bg #bg_block {
        height: 814px; } }
    @media only screen and (max-width: 992px) {
      .container-bg #bg_block {
        height: 814px; } }
    .container-bg #bg_block:before {
      content: "";
      background-color: inherit;
      height: inherit;
      position: absolute;
      width: 2000px;
      left: 0;
      margin-left: -2000px; }

body.homepage #bg_block, body.homepage-reload #bg_block {
  -webkit-transition: all 1s ease-in-out 0s;
  -moz-transition: all 1s ease-in-out 0s;
  transition: all 1s ease-in-out 0s;
  width: 83.333333%; }
  @media only screen and (min-width: 992px) and (max-width: 1200px) {
    body.homepage #bg_block, body.homepage-reload #bg_block {
      width: 83.333333%; } }
  @media only screen and (max-width: 992px) {
    body.homepage #bg_block, body.homepage-reload #bg_block {
      width: 100%; } }
  @media only screen and (max-width: 768px) {
    body.homepage #bg_block, body.homepage-reload #bg_block {
      width: 100%; } }
  @media only screen and (max-width: 575px) {
    body.homepage #bg_block, body.homepage-reload #bg_block {
      width: 100%; } }

body.services #bg_block {
  -webkit-transition: all 1s ease-in-out 0s;
  -moz-transition: all 1s ease-in-out 0s;
  transition: all 1s ease-in-out 0s;
  width: 16.666667%; }
  @media only screen and (max-width: 992px) {
    body.services #bg_block {
      width: 23%; } }
  @media only screen and (max-width: 768px) {
    body.services #bg_block {
      width: 0;
      left: -70px; } }
  @media only screen and (max-width: 575px) {
    body.services #bg_block {
      width: 0;
      left: -70px; } }

body.contact #bg_block {
  -webkit-transition: all 1s ease-in-out 0s;
  -moz-transition: all 1s ease-in-out 0s;
  transition: all 1s ease-in-out 0s;
  width: 0;
  left: -70px; }

/**
 * Links
 */
a {
  font-family: "Space Grotesk Light", sans-serif;
  font-weight: 500;
  text-decoration: none;
  color: rgba(35, 31, 32, 0.6);
  outline: none;
  -webkit-transition: all 0.2s ease-in-out 0s;
  -moz-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s; }
  a:hover, a:focus, a:visited {
    text-decoration: none;
    color: #231F20;
    outline: none; }

a.title-link {
  font-family: inherit;
  font-weight: inherit;
  text-decoration: none;
  color: inherit;
  outline: none; }
  a.title-link:hover, a.title-link:focus, a.title-link:visited {
    text-decoration: none;
    color: inherit;
    outline: none; }

/**
 * User selection
 */
::-moz-selection {
  color: white;
  background: #231F20; }

::selection {
  color: white;
  background: #231F20; }

.follower {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 9999;
  overflow: visible; }
  .follower .line {
    position: absolute;
    top: 0;
    left: 1.5px;
    width: 20px;
    height: 2px;
    background: #50E3C2;
    opacity: 1;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left;
    -webkit-transition: all 0.2s ease-in-out 0s;
    -moz-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s; }
  .follower:before, .follower:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 2px;
    background: #50E3C2;
    -webkit-transition: all 0.2s ease-in-out 0s;
    -moz-transition: all 0.2s ease-in-out 0s;
    transition: all 0.2s ease-in-out 0s; }
  .follower:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left;
    left: 1.5px;
    width: 9px; }
  .follower:before {
    left: 0.5px; }
  .follower--plus .line {
    opacity: 0; }
  .follower--plus:before, .follower--plus:after {
    width: 30px;
    left: -15px; }
  .follower--plus:after {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    left: -15px; }
  .follower--close .line {
    opacity: 0; }
  .follower--close:before, .follower--close:after {
    width: 30px;
    left: -15px;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center; }
  .follower--close:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .follower--close:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

@media (hover: none) {
  .follower {
    display: none !important; } }
/**
 * Common Images
 */
.img {
  width: 645px;
  height: 373px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; }

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  background-color: rgba(255, 255, 255, 0.9);
  display: none; }
  @media only screen and (max-width: 768px) {
    .modal-container .hideScrollbarMobile {
      position: absolute;
      top: 5%;
      right: 5%;
      background-color: #231F20;
      height: 90%;
      width: 60px;
      z-index: 2; } }
  .modal-container#success, .modal-container#error {
    overflow: hidden;
    /* Hide scrollbar for IE and Edge */
    -ms-overflow-style: none;
    /* Hide scrollbar for Chrome, Safari and Opera */ }
    .modal-container#success::-webkit-scrollbar, .modal-container#error::-webkit-scrollbar {
      display: none; }
  .modal-container .modal-body {
    padding: 0;
    overflow: hidden;
    position: relative;
    background-color: #231F20;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    @media only screen and (min-width: 1200px) {
      .modal-container .modal-body {
        height: 610px; } }
    @media only screen and (min-width: 992px) and (max-width: 1200px) {
      .modal-container .modal-body {
        height: 610px; } }
    @media only screen and (max-width: 992px) {
      .modal-container .modal-body {
        height: 650px;
        max-width: 90%; } }
    @media only screen and (max-width: 768px) {
      .modal-container .modal-body {
        height: 90%;
        max-width: 90%;
        overflow: scroll; } }
    @media only screen and (max-width: 575px) {
      .modal-container .modal-body {
        padding: 0 45px !important; } }
    .modal-container .modal-body#success-body, .modal-container .modal-body#error-body {
      height: auto;
      padding-top: 40px !important;
      overflow: hidden;
      /* Hide scrollbar for IE and Edge */
      -ms-overflow-style: none;
      /* Hide scrollbar for Chrome, Safari and Opera */ }
      .modal-container .modal-body#success-body::-webkit-scrollbar, .modal-container .modal-body#error-body::-webkit-scrollbar {
        display: none; }
      .modal-container .modal-body#success-body p, .modal-container .modal-body#error-body p {
        padding: 0;
        height: auto; }
    .modal-container .modal-body#modal-privacy {
      padding-top: 80px;
      padding-bottom: 80px; }
      @media only screen and (max-width: 575px) {
        .modal-container .modal-body#modal-privacy {
          padding: 80px 45px 0 !important; } }
      .modal-container .modal-body#modal-privacy p {
        padding-right: 45px; }
        @media only screen and (max-width: 768px) {
          .modal-container .modal-body#modal-privacy p {
            padding-right: 0; } }
        .modal-container .modal-body#modal-privacy p span {
          text-transform: uppercase; }
        .modal-container .modal-body#modal-privacy p a {
          color: #fff !important;
          text-decoration: underline !important; }
    .modal-container .modal-body p {
      padding-top: 20px;
      padding-bottom: 300px;
      overflow: scroll; }
      @media only screen and (min-width: 1200px) {
        .modal-container .modal-body p {
          height: 610px; } }
      @media only screen and (min-width: 992px) and (max-width: 1200px) {
        .modal-container .modal-body p {
          height: 610px; } }
      @media only screen and (max-width: 992px) {
        .modal-container .modal-body p {
          height: 650px; } }
      @media only screen and (max-width: 768px) {
        .modal-container .modal-body p {
          height: auto;
          overflow: hidden; } }
    .modal-container .modal-body .hideScrollbar {
      background-color: #231F20;
      margin-left: -60px;
      z-index: 2; }
      @media only screen and (max-width: 768px) {
        .modal-container .modal-body .hideScrollbar {
          display: none; } }

/**
 * Common class
 */
.hide {
  display: none; }

.relative {
  position: relative; }

.italic {
  font-style: italic; }

.strong {
  font-weight: 500; }

.bolder {
  font-weight: 600; }

.full-width {
  width: 100% !important; }

.full-height {
  height: 100%; }

.align-center {
  text-align: center; }

/* --- TYPOGRAPHY --- */
/**
 * Titles
 */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: "Space Grotesk Bold", sans-serif;
  text-align: left;
  color: #231F20;
  line-height: 1; }

h1, .h1 {
  font-family: "Space Grotesk Bold", sans-serif;
  margin-bottom: 30px;
  text-transform: uppercase;
  color: #231F20;
  letter-spacing: 1px;
  line-height: 100px;
  line-height: 10rem;
  font-size: 80px;
  font-size: 8rem; }
  @media only screen and (max-width: 992px) {
    h1, .h1 {
      line-height: 90px;
      line-height: 9rem;
      font-size: 70px;
      font-size: 7rem; } }
  @media only screen and (max-width: 768px) {
    h1, .h1 {
      line-height: 80px;
      line-height: 8rem;
      font-size: 60px;
      font-size: 6rem; } }
  @media only screen and (max-width: 575px) {
    h1, .h1 {
      line-height: 70px;
      line-height: 7rem;
      font-size: 60px;
      font-size: 6rem;
      letter-spacing: 0; } }
  h1 span, .h1 span {
    float: left; }
  h1 .divider, .h1 .divider {
    width: 120px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    margin: 40px 37px; }
    h1 .divider--long, .h1 .divider--long {
      width: 375px;
      background-color: #4C4C4C;
      opacity: 0.3;
      margin-right: 0;
      margin-left: 40px;
      margin-bottom: 60px; }
  h1 .outline, .h1 .outline {
    color: #231F20;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    -webkit-text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    -moz-text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff; }
    h1 .outline--white, .h1 .outline--white {
      color: #fff;
      text-shadow: -1px -1px 0 #231F20, 1px -1px 0 #231F20, -1px 1px 0 #231F20, 1px 1px 0 #231F20;
      -webkit-text-shadow: -1px -1px 0 #231F20, 1px -1px 0 #231F20, -1px 1px 0 #231F20, 1px 1px 0 #231F20;
      -moz-text-shadow: -1px -1px 0 #231F20, 1px -1px 0 #231F20, -1px 1px 0 #231F20, 1px 1px 0 #231F20; }

h2, .h2 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 22px;
  line-height: 2.2rem;
  margin-bottom: 24px;
  color: #50E3C2; }

h3, .h3 {
  font-family: "Space Grotesk SemiBold", sans-serif;
  color: #231F20;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 10px;
  font-size: 10px;
  font-size: 1rem;
  line-height: 10px;
  line-height: 1rem; }
  h3.light, .h3.light {
    color: rgba(255, 255, 255, 0.3); }
  h3.tilted-text, .h3.tilted-text {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg); }
    h3.tilted-text--opposite, .h3.tilted-text--opposite {
      transform: rotate(90deg);
      -webkit-transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      -ms-transform: rotate(90deg); }

/**
 * Paragraph
 */
p {
  font-family: "Space Grotesk Light", sans-serif;
  margin-bottom: 40px;
  color: #4C4C4C;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24px;
  line-height: 2.4rem; }
  @media only screen and (max-width: 768px) {
    p {
      line-height: 22px;
      line-height: 2.2rem;
      font-size: 14px;
      font-size: 1.4rem; } }
  p.white {
    color: #fff; }

/**
 * Small
 */
small {
  font-family: "Space Grotesk Light", sans-serif;
  text-transform: uppercase;
  color: #4C4C4C;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;
  line-height: 1.2rem; }

/* --- TRANSITIONS ---*/
/* Header nav */
header .navbar {
  transform: translate(0, -75px);
  -webkit-transform: translate(0, -75px);
  -moz-transform: translate(0, -75px);
  -ms-transform: translate(0, -75px);
  -o-transform: translate(0, -75px);
  -webkit-animation: reveal-nav 1s forwards;
  animation: reveal-nav 1s forwards;
  -webkit-animation-delay: 2.2s;
  animation-delay: 2.2s; }

@-webkit-keyframes reveal-nav {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-nav {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
/****/
/* ANIMATE HOMEPAGE ON LOAD */
/****/
body.homepage {
  /* Black reveal bg box */
  /* Homepage elements */ }
  body.homepage .container-bg {
    left: -100%;
    -webkit-animation: reveal-bg 2s forwards;
    animation: reveal-bg 2s forwards;
    -webkit-animation-delay: 1.4s;
    animation-delay: 1.4s; }
@-webkit-keyframes reveal-bg {
  100% {
    left: 0; } }
@keyframes reveal-bg {
  100% {
    left: 0; } }
  body.homepage #homepage {
    /* Img */
    /* Title H1 */
    /* Btn */
    /* Vector elements */ }
    body.homepage #homepage .img {
      background-position: 660px center;
      -webkit-animation: reveal-img 1.5s forwards;
      animation: reveal-img 1.5s forwards;
      -webkit-animation-delay: 1s;
      animation-delay: 1s; }
@-webkit-keyframes reveal-img {
  100% {
    background-position: center center; } }
@keyframes reveal-img {
  100% {
    background-position: center center; } }
    body.homepage #homepage .block-reveal--title span {
      position: relative;
      overflow: hidden;
      display: block; }
    body.homepage #homepage .block-reveal--title span::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 80%;
      background: #fff;
      -webkit-animation: a-ltr-after 1s linear forwards;
      animation: a-ltr-after 1s linear forwards;
      -webkit-transform: translateX(-101%);
      -ms-transform: translateX(-101%);
      transform: translateX(-101%); }
    body.homepage #homepage .block-reveal--title span::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 80%;
      background: #fff;
      -webkit-animation: a-ltr-before 1s linear forwards;
      animation: a-ltr-before 1s linear forwards;
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0); }
    body.homepage #homepage .block-reveal--title span:nth-of-type(1)::before,
    body.homepage #homepage .block-reveal--title span:nth-of-type(1)::after {
      -webkit-animation-delay: 1s;
      animation-delay: 1s; }
    body.homepage #homepage .block-reveal--title span:nth-of-type(2)::before,
    body.homepage #homepage .block-reveal--title span:nth-of-type(2)::after {
      -webkit-animation-delay: 1s;
      animation-delay: 1s; }
    body.homepage #homepage .block-reveal--title span:nth-of-type(3)::before,
    body.homepage #homepage .block-reveal--title span:nth-of-type(3)::after {
      -webkit-animation-delay: 1.4s;
      animation-delay: 1.4s; }
@-webkit-keyframes a-ltr-after {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@keyframes a-ltr-after {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@-webkit-keyframes a-ltr-before {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
@keyframes a-ltr-before {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
    body.homepage #homepage .btn {
      opacity: 0;
      -webkit-transform: translate(0, 50px);
      -ms-transform: translate(0, 50px);
      transform: translate(0, 50px);
      -webkit-animation: reveal-bnt 1s forwards;
      animation: reveal-bnt 1s forwards;
      -webkit-animation-delay: 2.5s;
      animation-delay: 2.5s; }
@-webkit-keyframes reveal-bnt {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-bnt {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
    body.homepage #homepage .vector-elem--first {
      -webkit-transform: translate(0, 300px);
      -ms-transform: translate(0, 300px);
      transform: translate(0, 300px);
      -webkit-animation: reveal-vector-first 2s forwards;
      animation: reveal-vector-first 2s forwards;
      -webkit-animation-delay: 2.5s;
      animation-delay: 2.5s; }
    body.homepage #homepage .vector-elem--second {
      -webkit-transform: translate(200px, 300px);
      -ms-transform: translate(200px, 300px);
      transform: translate(200px, 300px);
      -webkit-animation: reveal-vector-second 2s forwards;
      animation: reveal-vector-second 2s forwards;
      -webkit-animation-delay: 2.7s;
      animation-delay: 2.7s; }
@-webkit-keyframes reveal-vector-first {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-vector-first {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@-webkit-keyframes reveal-vector-second {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-vector-second {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
body.homepage-reload {
  /* Homepage elements */ }
  body.homepage-reload #homepage {
    /* Img */
    /* Btn */
    /* Vector elements */ }
    body.homepage-reload #homepage .tilted-text {
      top: 100px;
      opacity: 0;
      -webkit-animation: reveal-tilted-text 1.5s forwards;
      animation: reveal-tilted-text 1.5s forwards;
      -webkit-animation-delay: 0.5s;
      animation-delay: 0.5s; }
@-webkit-keyframes reveal-tilted-text {
  100% {
    top: 40px;
    opacity: 1; } }
@keyframes reveal-tilted-text {
  100% {
    top: 40px;
    opacity: 1; } }
    body.homepage-reload #homepage .img {
      background-position: 660px center;
      -webkit-animation: reveal-img 1.5s forwards;
      animation: reveal-img 1.5s forwards; }
@-webkit-keyframes reveal-img {
  100% {
    background-position: center center; } }
@keyframes reveal-img {
  100% {
    background-position: center center; } }
    body.homepage-reload #homepage .btn {
      opacity: 0;
      -webkit-transform: translate(0, 50px);
      -ms-transform: translate(0, 50px);
      transform: translate(0, 50px);
      -webkit-animation: reveal-bnt 1s forwards;
      animation: reveal-bnt 1s forwards; }
@-webkit-keyframes reveal-bnt {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-bnt {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
    body.homepage-reload #homepage .vector-elem--first {
      -webkit-transform: translate(0, 300px);
      -ms-transform: translate(0, 300px);
      transform: translate(0, 300px);
      -webkit-animation: reveal-vector-first 2s forwards;
      animation: reveal-vector-first 2s forwards;
      -webkit-animation-delay: 0.3s;
      animation-delay: 0.3s; }
    body.homepage-reload #homepage .vector-elem--second {
      -webkit-transform: translate(200px, 300px);
      -ms-transform: translate(200px, 300px);
      transform: translate(200px, 300px);
      -webkit-animation: reveal-vector-second 2s forwards;
      animation: reveal-vector-second 2s forwards;
      -webkit-animation-delay: 0.5s;
      animation-delay: 0.5s; }
@-webkit-keyframes reveal-vector-first {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-vector-first {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@-webkit-keyframes reveal-vector-second {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-vector-second {
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
body.services #services .tilted-text--opposite {
  opacity: 0;
  bottom: 120px;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -moz-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s; }
  body.services #services .tilted-text--opposite.active {
    opacity: 1;
    bottom: 180px; }
  body.services #services .tilted-text--opposite.hideIt {
    display: none; }
body.services #services .block-reveal--title span {
  position: relative;
  overflow: hidden;
  display: block; }
body.services #services .block-reveal--title span:nth-of-type(1)::after, body.services #services span:nth-of-type(3)::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
  background: #fff;
  -webkit-animation: a-ltr-after2 1s linear forwards;
  animation: a-ltr-after2 1s linear forwards;
  -webkit-transform: translateX(-101%);
  -ms-transform: translateX(-101%);
  transform: translateX(-101%); }
body.services #services .block-reveal--title span:nth-of-type(1)::before, body.services #services span:nth-of-type(3)::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
  background: #fff;
  -webkit-animation: a-ltr-before2 1s linear forwards;
  animation: a-ltr-before2 1s linear forwards;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }
body.services #services .block-reveal--title span:nth-of-type(2) {
  width: 85px;
  -webkit-animation: a-ltr-line 1s linear forwards;
  animation: a-ltr-line 1s linear forwards; }
body.services #services .block-reveal--title span:nth-of-type(1)::before,
body.services #services .block-reveal--title span:nth-of-type(1)::after {
  -webkit-animation-delay: 0s;
  animation-delay: 0s; }
body.services #services .block-reveal--title span:nth-of-type(3)::before,
body.services #services .block-reveal--title span:nth-of-type(3)::after {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s; }
@-webkit-keyframes a-ltr-after2 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@keyframes a-ltr-after2 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@-webkit-keyframes a-ltr-before2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
@keyframes a-ltr-before2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
@-webkit-keyframes a-ltr-line {
  0% {
    width: 85px; }
  100% {
    width: 375px; } }
@keyframes a-ltr-line {
  0% {
    width: 85px; }
  100% {
    width: 375px; } }
body.services #services .hero .tilted-text {
  opacity: 0;
  left: -460px;
  -webkit-animation: tilted-show 1s linear forwards;
  animation: tilted-show 1s linear forwards; }
@-webkit-keyframes tilted-show {
  100% {
    opacity: 1;
    left: -400px; } }
@keyframes tilted-show {
  100% {
    opacity: 1;
    left: -400px; } }
@media only screen and (max-width: 992px) {
  @-webkit-keyframes tilted-show {
    100% {
      opacity: 1;
      left: -300px; } }
  @keyframes tilted-show {
    100% {
      opacity: 1;
      left: -300px; } } }
@media only screen and (max-width: 768px) {
  @-webkit-keyframes tilted-show {
    100% {
      opacity: 0.5;
      left: -250px;
      color: #231F20; } }
  @keyframes tilted-show {
    100% {
      opacity: 0.5;
      left: -250px;
      color: #231F20; } } }
body.services #services .vector-elem--services {
  left: -100px;
  top: 50px;
  opacity: 0;
  -webkit-animation: show-vector 0.8s linear forwards;
  animation: show-vector 0.8s linear forwards; }
@-webkit-keyframes show-vector {
  100% {
    left: 30px;
    top: -100px;
    opacity: 0.2; } }
@keyframes show-vector {
  100% {
    left: 30px;
    top: -100px;
    opacity: 0.2; } }
body.services #services .block-info-service p {
  opacity: 0;
  -webkit-animation: show-block-text 1.5s linear forwards;
  animation: show-block-text 1.5s linear forwards;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s; }
@-webkit-keyframes show-block-text {
  100% {
    opacity: 1; } }
@keyframes show-block-text {
  100% {
    opacity: 1; } }
body.services #services .block-info-service .btn {
  opacity: 0;
  -webkit-animation: show-btn 1s linear forwards;
  animation: show-btn 1s linear forwards;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s; }
@-webkit-keyframes show-btn {
  100% {
    opacity: 1; } }
@keyframes show-btn {
  100% {
    opacity: 1; } }
body.services #services .services-list {
  margin-top: 200px;
  opacity: 0;
  -webkit-animation: show-service-list 0.7s linear forwards;
  animation: show-service-list 0.7s linear forwards; }
@-webkit-keyframes show-service-list {
  100% {
    margin-top: 140px;
    opacity: 1; } }
@keyframes show-service-list {
  100% {
    margin-top: 140px;
    opacity: 1; } }
@media only screen and (max-width: 768px) {
  @-webkit-keyframes show-service-list {
    100% {
      margin-top: 80px;
      opacity: 1; } }
  @keyframes show-service-list {
    100% {
      margin-top: 80px;
      opacity: 1; } } }
@media only screen and (max-width: 575px) {
  @-webkit-keyframes show-service-list {
    100% {
      margin-top: 40px;
      opacity: 1; } }
  @keyframes show-service-list {
    100% {
      margin-top: 40px;
      opacity: 1; } } }
body.services #services .services-list .col-service-desc {
  opacity: 0;
  padding-top: 80px !important;
  -webkit-transform: rotate3d(1, 3, 1, 15deg);
  transform: rotate3d(1, 3, 1, 15deg);
  -webkit-transition: all 0.8s ease-in-out 0.2s;
  -moz-transition: all 0.8s ease-in-out 0.2s;
  transition: all 0.8s ease-in-out 0.2s; }
body.services #services .services-list .col-service-img .img {
  background-position: -660px center;
  opacity: 0;
  -webkit-transition: all 1s ease-in-out 0s;
  -moz-transition: all 1s ease-in-out 0s;
  transition: all 1s ease-in-out 0s; }
body.services #services .services-list .service-line--tilted .col-service-img .img {
  background-position: 660px center;
  opacity: 0;
  -webkit-transition: all 1s ease-in-out 0s;
  -moz-transition: all 1s ease-in-out 0s;
  transition: all 1s ease-in-out 0s; }
body.services #services .services-list .active .col-service-desc {
  padding-top: 30px !important;
  opacity: 1;
  -webkit-transform: rotate3d(1, 3, 1, 0);
  transform: rotate3d(1, 3, 1, 0); }
  @media only screen and (min-width: 992px) and (max-width: 1200px) {
    body.services #services .services-list .active .col-service-desc {
      padding-top: 60px !important; } }
  @media only screen and (max-width: 992px) {
    body.services #services .services-list .active .col-service-desc {
      padding-top: 60px !important; } }
body.services #services .services-list .active .service-line--tilted .col-service-img .img, body.services #services .services-list .active .col-service-img .img {
  background-position: center center;
  opacity: 1; }
body.services #services .wrapper-mentoring:after, body.services #services .wrapper-mentoring:before {
  opacity: 0;
  -webkit-transition: all 0.8s ease-in-out 0.3s;
  -moz-transition: all 0.8s ease-in-out 0.3s;
  transition: all 0.8s ease-in-out 0.3s; }
body.services #services .wrapper-mentoring .tilted-text {
  opacity: 0;
  left: -270px;
  -webkit-transition: all 0.8s ease-in-out 0.2s;
  -moz-transition: all 0.8s ease-in-out 0.2s;
  transition: all 0.8s ease-in-out 0.2s; }
body.services #services .wrapper-mentoring .consulting-text {
  opacity: 0;
  padding-top: 80px;
  -webkit-transform: rotate3d(1, 3, 1, 15deg);
  transform: rotate3d(1, 3, 1, 15deg);
  -webkit-transition: all 0.8s ease-in-out 0.2s;
  -moz-transition: all 0.8s ease-in-out 0.2s;
  transition: all 0.8s ease-in-out 0.2s; }
body.services #services .wrapper-mentoring.active:after, body.services #services .wrapper-mentoring.active:before {
  opacity: 1; }
body.services #services .wrapper-mentoring.active .consulting-text {
  padding-top: 0;
  opacity: 1;
  -webkit-transform: rotate3d(1, 3, 1, 0);
  transform: rotate3d(1, 3, 1, 0); }
body.services #services .wrapper-mentoring.active .tilted-text {
  opacity: 1;
  left: -230px; }
  @media only screen and (max-width: 992px) {
    body.services #services .wrapper-mentoring.active .tilted-text {
      left: -160px; } }
body.services #services .wrapper-preventivo h1 span {
  position: relative;
  overflow: hidden;
  display: block; }
body.services #services .wrapper-preventivo h1 span:after, body.services #services .wrapper-preventivo h1 span:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transform: translateX(-101%);
  -ms-transform: translateX(-101%);
  transform: translateX(-101%); }
body.services #services .wrapper-preventivo h1 span:before {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }
body.services #services .wrapper-preventivo h1 a span {
  height: 82px;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -moz-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s; }
@-webkit-keyframes prev-after {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@keyframes prev-after {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@-webkit-keyframes prev-before {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
@keyframes prev-before {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
body.services #services .wrapper-preventivo.active h1 span:before,
body.services #services .wrapper-preventivo.active h1 span:after {
  -webkit-animation-delay: 0s;
  animation-delay: 0s; }
body.services #services .wrapper-preventivo.active h1 a span:before,
body.services #services .wrapper-preventivo.active h1 a span:after {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s; }
body.services #services .wrapper-preventivo.active h1 span:after {
  -webkit-animation: prev-after 1s linear forwards;
  animation: prev-after 1s linear forwards; }
body.services #services .wrapper-preventivo.active h1 span:before {
  -webkit-animation: prev-before 1s linear forwards;
  animation: prev-before 1s linear forwards; }
body.services #services .wrapper-preventivo.active h1 a:hover span {
  background-color: #231F20;
  padding: 0 10px 0 10px; }

body.contact #contact .hero p {
  opacity: 0;
  -webkit-animation: show-p-contact 1s linear forwards;
  animation: show-p-contact 1s linear forwards;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s; }
@-webkit-keyframes show-p-contact {
  100% {
    opacity: 1; } }
@keyframes show-p-contact {
  100% {
    opacity: 1; } }
body.contact #contact .block-reveal--title span {
  position: relative;
  overflow: hidden;
  display: block; }
body.contact #contact .block-reveal--title span::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
  -webkit-animation: a-title-contact-aft 1s linear forwards;
  animation: a-title-contact-aft 1s linear forwards;
  -webkit-transform: translateX(-101%);
  -ms-transform: translateX(-101%);
  transform: translateX(-101%); }
body.contact #contact .block-reveal--title span::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
  -webkit-animation: a-title-contact-bfr 1s linear forwards;
  animation: a-title-contact-bfr 1s linear forwards;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }
body.contact #contact .block-reveal--title span::after, body.contact #contact .block-reveal--title span::before {
  background: #fff; }
@-webkit-keyframes a-title-contact-aft {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@keyframes a-title-contact-aft {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(101%);
    transform: translateX(101%); } }
@-webkit-keyframes a-title-contact-bfr {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
@keyframes a-title-contact-bfr {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%); } }
body.contact #contact .form-row {
  left: 100px;
  opacity: 0;
  -webkit-animation: c-form-row-show 0.6s linear forwards;
  animation: c-form-row-show 0.6s linear forwards; }
body.contact #contact .form-row:nth-of-type(1) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s; }
body.contact #contact .form-row:nth-of-type(2) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s; }
body.contact #contact .form-row:nth-of-type(3) {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s; }
body.contact #contact .form-row:nth-of-type(4) {
  -webkit-animation-delay: 1s;
  animation-delay: 1s; }
body.contact #contact .form-row:nth-of-type(5) {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s; }
@-webkit-keyframes c-form-row-show {
  100% {
    left: 0;
    opacity: 1; } }
@keyframes c-form-row-show {
  100% {
    left: 0;
    opacity: 1; } }
body.contact #contact .recapctha-cont {
  margin-top: -85px;
  opacity: 0;
  -webkit-animation: c-recaptcha-show 0.6s linear forwards;
  animation: c-recaptcha-show 0.6s linear forwards;
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s; }
@-webkit-keyframes c-recaptcha-show {
  100% {
    margin-top: -78px;
    opacity: 1; } }
@keyframes c-recaptcha-show {
  100% {
    margin-top: -78px;
    opacity: 1; } }
@media only screen and (max-width: 992px) {
  @-webkit-keyframes c-recaptcha-show {
    100% {
      margin-top: -150px;
      opacity: 1; } }
  @keyframes c-recaptcha-show {
    100% {
      margin-top: -150px;
      opacity: 1; } } }

/* Footer */
footer {
  -webkit-transform: translate(0, 60px);
  -ms-transform: translate(0, 60px);
  transform: translate(0, 60px);
  opacity: 0;
  -webkit-animation: reveal-footer 2s forwards;
  animation: reveal-footer 2s forwards;
  -webkit-animation-delay: 3s;
  animation-delay: 3s; }

@-webkit-keyframes reveal-footer {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes reveal-footer {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
/* --- BUTTONS --- */
/**
 * Classic
 */
.btn {
  font-family: "Space Grotesk SemiBold", sans-serif;
  text-transform: uppercase;
  letter-spacing: 5px;
  line-height: 1;
  float: left;
  color: #50E3C2;
  padding: 10px 10px 7px 15px;
  border: 1px solid #50E3C2;
  border-radius: 0;
  text-decoration: none;
  outline: none;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out 0s;
  -moz-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s; }
  .btn:hover {
    opacity: 1 !important;
    text-decoration: none;
    background-color: #50E3C2 !important;
    color: #231F20;
    outline: none;
    padding-left: 10px;
    padding-right: 15px; }
    .btn:hover:before {
      background-color: #50E3C2;
      padding-left: 18px !important; }
  .btn:visited, .btn:focus, .btn:active {
    text-decoration: none;
    color: #50E3C2;
    outline: none; }
  .btn:visited:hover, .btn:focus:hover, .btn:active:hover {
    color: #231F20; }
  .btn.arrow {
    margin-left: 30px; }
    .btn.arrow:before {
      content: "\2192";
      position: absolute;
      color: inherit;
      top: -1px;
      left: -30px;
      height: 29px;
      padding: 9px 5px 10px 10px;
      border: inherit;
      -webkit-transition: all 0.3s ease-in-out 0s;
      -moz-transition: all 0.3s ease-in-out 0s;
      transition: all 0.3s ease-in-out 0s; }
  .btn.lines {
    margin-left: 37px; }
    .btn.lines:before {
      content: "//";
      position: absolute;
      color: inherit;
      top: -1px;
      left: -37px;
      height: 29px;
      padding: 10px 5px 10px 10px;
      border: inherit;
      -webkit-transition: all 0.3s ease-in-out 0s;
      -moz-transition: all 0.3s ease-in-out 0s;
      transition: all 0.3s ease-in-out 0s; }

/* --- HEADER --- */
header {
  padding: 45px 0; }
  @media only screen and (max-width: 768px) {
    header {
      padding: 40px 0 20px; } }
  header .navbar {
    padding: 0;
    width: 100%; }
    header .navbar #navbarNav {
      padding: 0; }
    header .navbar .navbar-nav {
      width: 100%; }
      @media only screen and (max-width: 992px) {
        header .navbar .navbar-nav {
          flex-direction: row; } }
    @media only screen and (max-width: 768px) {
      header .navbar #nav-services {
        margin-left: 5px; } }
    @media only screen and (max-width: 768px) {
      header .navbar #nav-contact {
        margin-right: 20px; } }
    @media only screen and (max-width: 575px) {
      header .navbar #nav-contact {
        margin-right: 5px; } }
    header .navbar .nav-link {
      font-family: "Space Grotesk SemiBold", sans-serif;
      text-transform: uppercase;
      letter-spacing: 5px;
      line-height: 1;
      float: left;
      border: 1px solid transparent;
      position: relative;
      color: #fff;
      padding: 10px 14px 7px 20px !important;
      text-decoration: none;
      outline: none;
      -webkit-transition: all 1s ease-in-out 0s;
      -moz-transition: all 1s ease-in-out 0s;
      transition: all 1s ease-in-out 0s; }
      @media only screen and (max-width: 768px) {
        header .navbar .nav-link {
          padding: 8px 10px 7px 10px !important;
          border: none;
          letter-spacing: 1px; } }
      header .navbar .nav-link:after {
        content: "";
        position: absolute;
        width: 0;
        height: 1px;
        background-color: #fff;
        left: 18px;
        top: 50%;
        margin-top: -0.5px;
        -webkit-transition: all 1s ease-in-out 0s;
        -moz-transition: all 1s ease-in-out 0s;
        transition: all 1s ease-in-out 0s; }
      header .navbar .nav-link:hover {
        opacity: 0.7;
        text-decoration: none;
        color: #fff;
        outline: none; }
        header .navbar .nav-link:hover:after {
          width: calc(100% - 34px); }
          @media only screen and (max-width: 768px) {
            header .navbar .nav-link:hover:after {
              width: calc(100% - 19px);
              left: 9px;
              margin-top: -2px; } }
      header .navbar .nav-link:visited, header .navbar .nav-link:focus {
        text-decoration: none;
        color: #fff;
        outline: none; }
      header .navbar .nav-link.onwhite {
        color: #231F20;
        -webkit-transition: all 1s ease-in-out 0s;
        -moz-transition: all 1s ease-in-out 0s;
        transition: all 1s ease-in-out 0s; }
        header .navbar .nav-link.onwhite:hover, header .navbar .nav-link.onwhite:focus {
          color: #231F20; }
          header .navbar .nav-link.onwhite:hover:after, header .navbar .nav-link.onwhite:focus:after {
            background-color: #231F20; }
        header .navbar .nav-link.onwhite:visited {
          color: #231F20; }
        @media only screen and (max-width: 992px) {
          header .navbar .nav-link.onwhite {
            color: #fff; }
            header .navbar .nav-link.onwhite:hover, header .navbar .nav-link.onwhite:focus {
              color: #fff; }
              header .navbar .nav-link.onwhite:hover:after, header .navbar .nav-link.onwhite:focus:after {
                background-color: #fff; }
            header .navbar .nav-link.onwhite:visited {
              color: #fff; } }
    header .navbar .active .nav-link {
      position: relative;
      border: 1px solid #fff;
      -webkit-transition: all 1s ease-in-out 0s;
      -moz-transition: all 1s ease-in-out 0s;
      transition: all 1s ease-in-out 0s; }
      @media only screen and (max-width: 768px) {
        header .navbar .active .nav-link {
          border: none; } }
      header .navbar .active .nav-link:after {
        width: calc(100% - 34px); }
        @media only screen and (max-width: 768px) {
          header .navbar .active .nav-link:after {
            width: calc(100% - 19px);
            left: 9px;
            margin-top: -2px; } }
      header .navbar .active .nav-link.onwhite {
        border: 1px solid #231F20;
        -webkit-transition: all 1s ease-in-out 0s;
        -moz-transition: all 1s ease-in-out 0s;
        transition: all 1s ease-in-out 0s; }
        header .navbar .active .nav-link.onwhite:after {
          background-color: #231F20; }
        @media only screen and (max-width: 992px) {
          header .navbar .active .nav-link.onwhite {
            border: 1px solid #fff; }
            header .navbar .active .nav-link.onwhite:after {
              background-color: #fff; } }
        @media only screen and (max-width: 768px) {
          header .navbar .active .nav-link.onwhite {
            border: none; } }

@media only screen and (max-width: 992px) {
  .services .navbar .nav-link.onwhite, .contact .navbar .nav-link.onwhite {
    color: #231F20; }
    .services .navbar .nav-link.onwhite:hover, .services .navbar .nav-link.onwhite:focus, .contact .navbar .nav-link.onwhite:hover, .contact .navbar .nav-link.onwhite:focus {
      color: #231F20; }
      .services .navbar .nav-link.onwhite:hover:after, .services .navbar .nav-link.onwhite:focus:after, .contact .navbar .nav-link.onwhite:hover:after, .contact .navbar .nav-link.onwhite:focus:after {
        background-color: #231F20; }
    .services .navbar .nav-link.onwhite:visited, .contact .navbar .nav-link.onwhite:visited {
      color: #231F20; }
  .services .navbar .active .nav-link.onwhite, .contact .navbar .active .nav-link.onwhite {
    border: 1px solid #231F20; }
    .services .navbar .active .nav-link.onwhite:after, .contact .navbar .active .nav-link.onwhite:after {
      background-color: #231F20; } }
@media only screen and (max-width: 768px) {
  .services .navbar .nav-link, .contact .navbar .nav-link {
    color: #231F20; }
    .services .navbar .nav-link:hover, .services .navbar .nav-link:focus, .contact .navbar .nav-link:hover, .contact .navbar .nav-link:focus {
      color: #231F20; }
      .services .navbar .nav-link:hover:after, .services .navbar .nav-link:focus:after, .contact .navbar .nav-link:hover:after, .contact .navbar .nav-link:focus:after {
        background-color: #231F20; }
    .services .navbar .nav-link:visited, .contact .navbar .nav-link:visited {
      color: #231F20; }
    .services .navbar .nav-link.onwhite, .contact .navbar .nav-link.onwhite {
      color: #231F20; }
      .services .navbar .nav-link.onwhite:hover, .services .navbar .nav-link.onwhite:focus, .contact .navbar .nav-link.onwhite:hover, .contact .navbar .nav-link.onwhite:focus {
        color: #231F20; }
        .services .navbar .nav-link.onwhite:hover:after, .services .navbar .nav-link.onwhite:focus:after, .contact .navbar .nav-link.onwhite:hover:after, .contact .navbar .nav-link.onwhite:focus:after {
          background-color: #231F20; }
      .services .navbar .nav-link.onwhite:visited, .contact .navbar .nav-link.onwhite:visited {
        color: #231F20; }
  .services .navbar .active .nav-link.onwhite, .contact .navbar .active .nav-link.onwhite {
    border: none; }
    .services .navbar .active .nav-link.onwhite:after, .contact .navbar .active .nav-link.onwhite:after {
      background-color: #231F20; } }

/* --- FOOTER --- */
:root {
  --noOfItems: 24; }

footer {
  padding: 75px 0; }
  @media only screen and (max-width: 768px) {
    footer .justify-content-end {
      display: inline-block;
      text-align: center;
      width: 100%;
      margin: 0;
      -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
      justify-content: center !important; } }
  footer .footer-nav {
    margin-bottom: 65px; }
    @media only screen and (max-width: 575px) {
      footer .footer-nav {
        display: inline-block;
        width: 100%; } }
    footer .footer-nav li {
      list-style: none;
      display: inline;
      margin-right: 62px; }
      footer .footer-nav li:last-child {
        margin: 0; }
      @media only screen and (max-width: 768px) {
        footer .footer-nav li {
          margin-right: 40px; } }
      @media only screen and (max-width: 575px) {
        footer .footer-nav li {
          margin-right: 0;
          margin-bottom: 30px;
          display: block;
          width: 100%;
          text-align: center; } }
      footer .footer-nav li a {
        font-family: "Space Grotesk Regular", sans-serif;
        color: #231F20;
        text-decoration: none;
        position: relative;
        overflow: hidden;
        font-size: 16px;
        font-size: 1.6rem; }
        footer .footer-nav li a:after {
          content: "";
          position: absolute;
          width: 0;
          height: 1px;
          background-color: #231F20;
          left: 0;
          top: 50%;
          margin-top: -2px;
          -webkit-transition: all 1s ease-in-out 0s;
          -moz-transition: all 1s ease-in-out 0s;
          transition: all 1s ease-in-out 0s; }
        footer .footer-nav li a:hover:after {
          width: 100%; }
  @media only screen and (max-width: 768px) {
    footer small {
      line-height: 25px;
      line-height: 2.5rem; } }
  footer .asme-logo {
    width: 110px;
    height: 110px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/logo_asme@2x.png");
    background-size: 39px 41px;
    margin: -6px -10px -10px -10px;
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2); }
    @media only screen and (max-width: 768px) {
      footer .asme-logo {
        margin-top: 50px;
        display: inline-block; } }
  footer .rounded-text {
    width: 110px;
    height: 110px;
    display: block;
    position: relative;
    text-align: center;
    border-radius: 50%;
    font-size: 10px;
    font-size: 1rem;
    line-height: 10px;
    line-height: 1rem;
    -webkit-animation: infinite-spinning 20s linear infinite;
    /* Safari 4+ */
    /* Fx 5+ */
    /* Opera 12+ */
    animation: infinite-spinning  20s linear infinite;
    /* IE 10+, Fx 29+ */ }
    footer .rounded-text span {
      --units: 1;
      --rotationUnit: calc((1turn / var(--noOfItems)) * var(--units, 1));
      position: absolute;
      width: calc(100% - 2rem);
      height: calc(100% - 2rem);
      top: 1rem;
      left: 1rem;
      -webkit-transform: rotate(var(--rotationUnit));
      -ms-transform: rotate(var(--rotationUnit));
      transform: rotate(var(--rotationUnit));
      -webkit-transform-origin: center;
      -ms-transform-origin: center;
      transform-origin: center; }
      footer .rounded-text span:nth-child(2) {
        --units: 2; }
      footer .rounded-text span:nth-child(3) {
        --units: 3; }
      footer .rounded-text span:nth-child(4) {
        --units: 4; }
      footer .rounded-text span:nth-child(5) {
        --units: 5; }
      footer .rounded-text span:nth-child(6) {
        --units: 6; }
      footer .rounded-text span:nth-child(7) {
        --units: 7; }
      footer .rounded-text span:nth-child(8) {
        --units: 8; }
      footer .rounded-text span:nth-child(9) {
        --units: 9; }
      footer .rounded-text span:nth-child(10) {
        --units: 10; }
      footer .rounded-text span:nth-child(11) {
        --units: 11; }
      footer .rounded-text span:nth-child(12) {
        --units: 12; }
      footer .rounded-text span:nth-child(13) {
        --units: 13; }
      footer .rounded-text span:nth-child(14) {
        --units: 14; }
      footer .rounded-text span:nth-child(15) {
        --units: 15; }
      footer .rounded-text span:nth-child(16) {
        --units: 16; }
      footer .rounded-text span:nth-child(17) {
        --units: 17; }
      footer .rounded-text span:nth-child(18) {
        --units: 18; }
      footer .rounded-text span:nth-child(19) {
        --units: 19; }
      footer .rounded-text span:nth-child(20) {
        --units: 20; }
      footer .rounded-text span:nth-child(21) {
        --units: 21; }
      footer .rounded-text span:nth-child(22) {
        --units: 22; }
      footer .rounded-text span:nth-child(23) {
        --units: 23; }
      footer .rounded-text span:nth-child(24) {
        --units: 24; }

@-webkit-keyframes infinite-spinning {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes infinite-spinning {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
/* EDGE ONLY SELECTOR */
@supports (-ms-ime-align: auto) {
  .rounded-text {
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../img/tag_asme@2x.png");
    background-size: 92.5px 92.5px; }
    .rounded-text span {
      display: none; } }
/* FIREFOX ONLY SELECTOR */
@-moz-document url-prefix() {}
/* --- HOMEPAGE --- */
#homepage {
  position: relative;
  margin-top: 40px;
  overflow: hidden; }
  @media only screen and (max-width: 992px) {
    #homepage {
      margin-top: 20px; } }
  @media only screen and (min-width: 1200px) {
    #homepage {
      height: 655px; } }
  @media only screen and (min-width: 992px) and (max-width: 1200px) {
    #homepage {
      max-height: 655px; } }
  @media only screen and (max-width: 992px) {
    #homepage {
      max-height: 800px; } }
  #homepage h1, #homepage p {
    color: #fff; }
    @media only screen and (min-width: 992px) and (max-width: 1200px) {
      #homepage h1 .divider, #homepage p .divider {
        display: none !important; }
      #homepage h1 .outline, #homepage p .outline {
        margin-right: 40px;
        margin-left: 15px; } }
    @media only screen and (max-width: 992px) {
      #homepage h1 .divider, #homepage p .divider {
        display: none !important; }
      #homepage h1 .outline, #homepage p .outline {
        margin-left: 15px; }
      #homepage h1 .secondline, #homepage p .secondline {
        clear: left;
        line-height: 1;
        margin-left: 85px; } }
    @media only screen and (max-width: 768px) {
      #homepage h1 .secondline, #homepage p .secondline {
        margin-left: 30px; } }
  #homepage .img {
    margin-top: 40px; }
    @media only screen and (min-width: 992px) and (max-width: 1200px) {
      #homepage .img {
        float: right; } }
    @media only screen and (max-width: 992px) {
      #homepage .img {
        z-index: 2;
        position: relative; } }
    @media only screen and (max-width: 768px) {
      #homepage .img {
        width: auto; } }
  @media only screen and (max-width: 992px) {
    #homepage .btn {
      margin-bottom: 40px; } }
  #homepage .tilted-text {
    position: absolute;
    top: 40px;
    left: -300px; }
  #homepage .vector-elem {
    background-position: 0 0;
    background-repeat: no-repeat;
    position: absolute; }
    #homepage .vector-elem--first {
      background-image: url("../img/vector_element_01@2x.png");
      background-size: 394px 411px;
      width: 394px;
      height: 411px;
      left: -250px;
      top: -160px; }
      @media only screen and (max-width: 992px) {
        #homepage .vector-elem--first {
          display: none; } }
      @media only screen and (max-width: 768px) {
        #homepage .vector-elem--first {
          display: none; } }
      @media only screen and (max-width: 575px) {
        #homepage .vector-elem--first {
          display: none; } }
      #homepage .vector-elem--first--mobile {
        display: none; }
        @media only screen and (max-width: 992px) {
          #homepage .vector-elem--first--mobile {
            display: block;
            left: -300px !important;
            top: -400px !important;
            z-index: 3; } }
        @media only screen and (max-width: 575px) {
          #homepage .vector-elem--first--mobile {
            display: none; } }
    #homepage .vector-elem--second {
      background-image: url("../img/vector_element_02@2x.png");
      background-size: 288px 343px;
      width: 288px;
      height: 343px;
      right: 310px;
      top: -120px; }
      @media only screen and (max-width: 992px) {
        #homepage .vector-elem--second {
          display: none; } }
      @media only screen and (max-width: 768px) {
        #homepage .vector-elem--second {
          display: none; } }
      @media only screen and (max-width: 575px) {
        #homepage .vector-elem--second {
          display: none; } }
      #homepage .vector-elem--second--mobile {
        display: none; }
        @media only screen and (max-width: 992px) {
          #homepage .vector-elem--second--mobile {
            display: block;
            right: -180px !important;
            top: -720px !important;
            z-index: 0; } }
        @media only screen and (max-width: 768px) {
          #homepage .vector-elem--second--mobile {
            display: none; } }

/* --- SERVICES --- */
#services {
  position: relative;
  margin-top: 40px;
  overflow: hidden; }
  @media only screen and (max-width: 992px) {
    #services {
      margin-top: 20px; } }
  #services .hero .tilted-text {
    position: absolute;
    top: 130px;
    left: -400px; }
  #services .hero .training-title-mobile {
    margin-top: 70px;
    text-align: right;
    display: none; }
  @media only screen and (min-width: 992px) and (max-width: 1200px) {
    #services .hero h1 {
      margin-bottom: 30px;
      float: left; }
      #services .hero h1 .divider {
        display: none !important; } }
  @media only screen and (max-width: 992px) {
    #services .hero h1 {
      margin-bottom: 30px;
      float: left; }
      #services .hero h1 .divider {
        display: none !important; } }
  @media only screen and (max-width: 575px) {
    #services .hero h1 span.outline {
      clear: both; }
    #services .hero .training-title-mobile {
      display: block; } }
  #services .tilted-text--opposite {
    position: fixed;
    right: -60px; }
    @media only screen and (max-width: 768px) {
      #services .tilted-text--opposite {
        right: -80px; } }
    @media only screen and (max-width: 575px) {
      #services .tilted-text--opposite {
        display: none; } }
  #services .vector-elem {
    background-position: 0 0;
    background-repeat: no-repeat;
    position: absolute; }
    #services .vector-elem--services {
      background-image: url("../img/vector_element_01@2x.png");
      background-size: 394px 411px;
      width: 394px;
      height: 411px;
      left: 0;
      top: -100px;
      opacity: 0.2; }
      @media only screen and (max-width: 992px) {
        #services .vector-elem--services {
          display: none; } }
    #services .vector-elem--servicesmobile {
      background-image: url("../img/vector_element_01@2x.png");
      background-size: 394px 411px;
      width: 394px;
      height: 411px;
      left: -200px;
      top: -50px;
      opacity: 0.2;
      display: none; }
      @media only screen and (max-width: 768px) {
        #services .vector-elem--servicesmobile {
          top: 20px;
          display: block; } }
  #services .modal-container .modal-body .course-title-info {
    padding-top: 80px;
    padding-bottom: 80px; }
    @media only screen and (max-width: 992px) {
      #services .modal-container .modal-body .course-title-info {
        height: 650px; } }
    @media only screen and (max-width: 768px) {
      #services .modal-container .modal-body .course-title-info {
        height: auto;
        padding-top: 60px;
        padding-bottom: 60px; } }
    #services .modal-container .modal-body .course-title-info h2 {
      min-height: 82px;
      line-height: 28px;
      line-height: 2.8rem;
      position: relative; }
      @media only screen and (max-width: 768px) {
        #services .modal-container .modal-body .course-title-info h2 {
          min-height: 45px; } }
      #services .modal-container .modal-body .course-title-info h2:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px;
        width: 22px;
        background-color: rgba(255, 255, 255, 0.3); }
        @media only screen and (max-width: 768px) {
          #services .modal-container .modal-body .course-title-info h2:after {
            display: none; } }
    #services .modal-container .modal-body .course-title-info .course-info {
      float: left;
      margin-top: 160px; }
      @media only screen and (max-width: 992px) {
        #services .modal-container .modal-body .course-title-info .course-info {
          margin-top: 200px; } }
      @media only screen and (max-width: 768px) {
        #services .modal-container .modal-body .course-title-info .course-info {
          margin-top: 0; } }
      #services .modal-container .modal-body .course-title-info .course-info small {
        float: left;
        width: 100%;
        margin-bottom: 15px;
        font-family: "Space Grotesk SemiBold", sans-serif;
        color: #fff;
        text-transform: none;
        line-height: 18px;
        line-height: 1.8rem; }
        #services .modal-container .modal-body .course-title-info .course-info small:last-child {
          margin-bottom: 0; }
  #services .modal-container .modal-body .course-program {
    position: relative; }
    #services .modal-container .modal-body .course-program .program-label-mobile {
      font-family: "Space Grotesk SemiBold", sans-serif;
      color: #fff;
      text-transform: none;
      line-height: 18px;
      line-height: 1.8rem;
      text-transform: uppercase;
      display: none; }
      @media only screen and (max-width: 768px) {
        #services .modal-container .modal-body .course-program .program-label-mobile {
          display: block; } }
    #services .modal-container .modal-body .course-program p {
      padding-top: 80px;
      padding-right: 100px;
      padding-bottom: 80px;
      overflow: scroll;
      /* Hide scrollbar for IE and Edge */
      -ms-overflow-style: none;
      /* Hide scrollbar for Chrome, Safari and Opera */ }
      #services .modal-container .modal-body .course-program p::-webkit-scrollbar {
        display: none; }
      @media only screen and (min-width: 1200px) {
        #services .modal-container .modal-body .course-program p {
          height: 610px; } }
      @media only screen and (max-width: 992px) {
        #services .modal-container .modal-body .course-program p {
          height: 650px; } }
      @media only screen and (max-width: 768px) {
        #services .modal-container .modal-body .course-program p {
          height: auto;
          padding-top: 20px;
          padding-right: 15px; } }
    #services .modal-container .modal-body .course-program .tilted-text {
      position: absolute;
      z-index: 3;
      right: -130px;
      bottom: 210px; }
      @media only screen and (max-width: 768px) {
        #services .modal-container .modal-body .course-program .tilted-text {
          display: none; } }
  #services .services-list {
    position: relative; }
    #services .services-list a .service-line {
      margin-bottom: 140px;
      position: relative; }
      @media only screen and (max-width: 992px) {
        #services .services-list a .service-line {
          margin-bottom: 130px; } }
      #services .services-list a .service-line .col-service-desc {
        padding: 30px 75px 0 60px; }
        @media only screen and (min-width: 992px) and (max-width: 1200px) {
          #services .services-list a .service-line .col-service-desc {
            margin-top: -120px;
            background-color: white; } }
        @media only screen and (max-width: 575px) {
          #services .services-list a .service-line .col-service-desc {
            padding: 60px 40px 0 40px; } }
      @media only screen and (max-width: 768px) {
        #services .services-list a .service-line .col-service-img {
          overflow: hidden; } }
      @media only screen and (max-width: 575px) {
        #services .services-list a .service-line .col-service-img {
          overflow: hidden;
          padding: 0 !important; }
          #services .services-list a .service-line .col-service-img .img {
            overflow: hidden;
            width: 100%; } }
      #services .services-list a .service-line--tilted .col-service-desc {
        padding: 30px 60px 0 75px; }
        #services .services-list a .service-line--tilted .col-service-desc p, #services .services-list a .service-line--tilted .col-service-desc h2, #services .services-list a .service-line--tilted .col-service-desc small {
          text-align: right; }
        #services .services-list a .service-line--tilted .col-service-desc small {
          float: right;
          line-height: 13px; }
        @media only screen and (min-width: 992px) and (max-width: 1200px) {
          #services .services-list a .service-line--tilted .col-service-desc {
            z-index: 2; }
            #services .services-list a .service-line--tilted .col-service-desc p, #services .services-list a .service-line--tilted .col-service-desc h2, #services .services-list a .service-line--tilted .col-service-desc small {
              text-align: left; }
            #services .services-list a .service-line--tilted .col-service-desc small {
              float: left; } }
        @media only screen and (max-width: 992px) {
          #services .services-list a .service-line--tilted .col-service-desc p, #services .services-list a .service-line--tilted .col-service-desc h2, #services .services-list a .service-line--tilted .col-service-desc small {
            text-align: left; }
          #services .services-list a .service-line--tilted .col-service-desc small {
            float: left; } }
        @media only screen and (max-width: 768px) {
          #services .services-list a .service-line--tilted .col-service-desc {
            padding: 30px 75px 0 60px; } }
        @media only screen and (max-width: 575px) {
          #services .services-list a .service-line--tilted .col-service-desc {
            padding: 60px 40px 0 40px; } }
      #services .services-list a .service-line small {
        position: relative;
        overflow: hidden; }
        #services .services-list a .service-line small:after {
          content: "";
          position: absolute;
          width: 0;
          height: 1px;
          background-color: #231F20;
          left: 0;
          top: 50%;
          margin-top: -2.5px;
          -webkit-transition: all 1s ease-in-out 0s;
          -moz-transition: all 1s ease-in-out 0s;
          transition: all 1s ease-in-out 0s; }
    #services .services-list a:hover small:after {
      width: 100%; }
    #services .services-list a:last-child .service-line {
      margin-bottom: 180px; }
      @media only screen and (max-width: 992px) {
        #services .services-list a:last-child .service-line {
          margin-bottom: 120px; } }
  #services .wrapper-mentoring {
    width: 100%;
    padding: 140px 0 500px 0;
    background-color: #231F20;
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 992px) {
      #services .wrapper-mentoring {
        padding-top: 120px; } }
    @media only screen and (max-width: 575px) {
      #services .wrapper-mentoring {
        padding: 120px 30px 250px 30px; } }
    #services .wrapper-mentoring:before {
      content: "";
      position: absolute;
      background-image: url("../img/vector_draw_02@2x.png");
      background-size: 607px 443px;
      width: 607px;
      height: 443px;
      left: 0;
      bottom: 0; }
      @media only screen and (min-width: 992px) and (max-width: 1200px) {
        #services .wrapper-mentoring:before {
          left: -30%; } }
      @media only screen and (max-width: 992px) {
        #services .wrapper-mentoring:before {
          left: -30%; } }
      @media only screen and (max-width: 768px) {
        #services .wrapper-mentoring:before {
          left: -35%; } }
      @media only screen and (max-width: 575px) {
        #services .wrapper-mentoring:before {
          left: 0px;
          bottom: -10%; } }
    #services .wrapper-mentoring:after {
      content: "";
      position: absolute;
      background-image: url("../img/vector_draw_01@2x.png");
      background-size: 568px 949px;
      width: 568px;
      height: 949px;
      right: 0;
      top: -10px; }
      @media only screen and (min-width: 992px) and (max-width: 1200px) {
        #services .wrapper-mentoring:after {
          right: -30%; } }
      @media only screen and (max-width: 992px) {
        #services .wrapper-mentoring:after {
          right: -30%; } }
      @media only screen and (max-width: 768px) {
        #services .wrapper-mentoring:after {
          right: -45%; } }
      @media only screen and (max-width: 575px) {
        #services .wrapper-mentoring:after {
          display: none; } }
    #services .wrapper-mentoring .obliqueLine {
      position: absolute;
      background-color: rgba(255, 255, 255, 0.3);
      width: 0;
      height: 1px;
      right: 15%;
      bottom: 0px;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transform-origin: right;
      -ms-transform-origin: right;
      transform-origin: right; }
      @media only screen and (max-width: 992px) {
        #services .wrapper-mentoring .obliqueLine {
          right: -5%; } }
      @media only screen and (max-width: 768px) {
        #services .wrapper-mentoring .obliqueLine {
          right: -10%; } }
      @media only screen and (max-width: 575px) {
        #services .wrapper-mentoring .obliqueLine {
          display: none; } }
    #services .wrapper-mentoring .tilted-text {
      position: absolute;
      top: 70px;
      left: -230px; }
  #services .wrapper-preventivo {
    margin-top: 115px; }
    @media only screen and (max-width: 575px) {
      #services .wrapper-preventivo {
        padding: 0 40px; }
        #services .wrapper-preventivo h1 {
          text-align: center;
          line-height: 50px;
          line-height: 5rem;
          font-size: 40px;
          font-size: 4rem; }
        #services .wrapper-preventivo a {
          text-align: center;
          width: 100%;
          display: inline-block; }
          #services .wrapper-preventivo a span {
            width: 100%;
            height: 41px !important; } }

/* --- CONTACT --- */
#contact {
  position: relative;
  margin-top: 40px;
  overflow: hidden; }
  @media only screen and (max-width: 992px) {
    #contact {
      margin-top: 20px; } }
  @media only screen and (min-width: 1200px) {
    #contact {
      height: 700px; } }
  @media only screen and (min-width: 992px) and (max-width: 1200px) {
    #contact {
      height: 700px; } }
  @media only screen and (max-width: 992px) {
    #contact {
      margin-bottom: 50px; } }
  #contact form {
    margin-top: 12px; }
    #contact form label {
      font-family: "Space Grotesk Light", sans-serif;
      text-transform: uppercase;
      color: #231F20;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 12px;
      line-height: 1.2rem; }
      #contact form label:hover {
        cursor: none; }
      #contact form label.error {
        color: red;
        position: absolute;
        top: 2px;
        right: 0; }
    #contact form .form-row {
      margin-bottom: 50px;
      position: relative; }
      #contact form .form-row:last-child {
        margin-bottom: 0; }
        @media only screen and (max-width: 575px) {
          #contact form .form-row:last-child {
            text-align: center;
            display: inline-block;
            width: 100%;
            margin: 0; }
            #contact form .form-row:last-child button {
              float: none; } }
    #contact form input {
      border: none;
      border-radius: 0;
      border-top: none;
      border-left: none;
      border-right: none;
      border-bottom: 1px solid #231F20;
      outline: none;
      text-indent: 0;
      padding: 0 0 8px 0;
      margin-top: 10px;
      background-color: transparent;
      font-family: "Space Grotesk Light", sans-serif;
      color: #231F20;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 18px;
      line-height: 1.8rem; }
      #contact form input::-webkit-input-placeholder {
        opacity: 0.5; }
      #contact form input::-moz-placeholder {
        opacity: 0.5; }
      #contact form input:-ms-input-placeholder {
        opacity: 0.5; }
      #contact form input::-ms-input-placeholder {
        opacity: 0.5; }
      #contact form input::placeholder {
        opacity: 0.5; }
      #contact form input:-moz-placeholder {
        opacity: 0.5; }
      #contact form input:focus {
        outline: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        border-bottom: 1px solid #50E3C2; }
      #contact form input[type=checkbox] {
        width: 10px;
        float: left; }
      #contact form input[type=checkbox] + label {
        margin-top: 11px;
        margin-left: 10px;
        text-transform: initial; }
        #contact form input[type=checkbox] + label a {
          text-decoration: underline; }
      #contact form input[type=checkbox] + label.error {
        margin: 9px 0 0 0;
        text-transform: uppercase !important; }
      #contact form input[type=checkbox] + label + label[for="accept_privacy"] {
        margin-top: 11px;
        margin-left: 10px;
        text-transform: initial; }
        #contact form input[type=checkbox] + label + label[for="accept_privacy"] a {
          text-decoration: underline; }
    #contact form button.btn {
      background-color: #fff; }
      @media only screen and (max-width: 992px) {
        #contact form button.btn {
          margin-top: 120px; } }
      @media only screen and (max-width: 768px) {
        #contact form button.btn:before {
          left: -36px; } }
      @media only screen and (max-width: 575px) {
        #contact form button.btn:before {
          left: -37px; } }
  #contact .recapctha-cont {
    margin-top: -78px;
    height: 80px; }
