@charset "UTF-8";
/**** VARIABLES ****/
@font-face {
  font-family: 'Icomoon';
  src: url("../font/icomoon.eot?ser46j");
  src: url("../font/icomoon.eot?ser46j#iefix") format("embedded-opentype"), url("../font/icomoon.woff2?ser46j") format("woff2"), url("../font/icomoon.ttf?ser46j") format("truetype"), url("../font/icomoon.woff?ser46j") format("woff"), url("../font/icomoon.svg?ser46j#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }
@font-face {
  font-family: 'OpenSans';
  src: url("../font/OpenSans-Regular.ttf");
  font-weight: 400; }
@font-face {
  font-family: 'OpenSans';
  src: url("../font/OpenSans-Italic.ttf");
  font-weight: 400;
  font-style: italic; }
@font-face {
  font-family: 'OpenSans';
  src: url("../font/OpenSans-Bold.ttf");
  font-weight: 700; }
@font-face {
  font-family: 'OpenSans';
  src: url("../font/OpenSans-BoldItalic.ttf");
  font-weight: 700;
  font-style: italic; }
@font-face {
  font-family: 'OpenSans';
  src: url("../font/OpenSans-ExtraBold.ttf");
  font-weight: 800; }
@font-face {
  font-family: 'OpenSans';
  src: url("../font/OpenSans-ExtraBoldItalic.ttf");
  font-weight: 800;
  font-style: italic; }
/**** RESPONSIVE BREAKPOINTS ****/
/* COMMON ELEMENTS AND CLASSES */
@media only screen and (max-width: 991px) {
  .desktop-only {
    display: none !important; } }

.mobile-only {
  display: none !important; }
  @media only screen and (max-width: 991px) {
    .mobile-only {
      display: block !important; } }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

p {
  line-height: 2.125em;
  max-width: 100%; }

.intro {
  font-size: 2rem;
  line-height: 1.63em; }
  @media only screen and (max-width: 1500px) {
    .intro {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 991px) {
    .intro {
      font-size: 1.2rem; } }

ul {
  line-height: 2em;
  padding: 0;
  list-style: none; }
  ul li {
    padding-left: 1.2rem;
    position: relative; }
    ul li::before {
      position: absolute;
      display: block;
      left: 0;
      top: 0;
      content: "\2022";
      color: #0047AF; }

a {
  font-weight: 700;
  text-decoration: none;
  color: #0047AF; }

a.logo {
  display: flex;
  justify-content: center;
  align-items: center; }
  a.logo img {
    width: 45%;
    height: auto; }
  a.logo.vertical img {
    height: 100%;
    width: auto; }

.inner-content {
  width: calc(100% - 19.2rem);
  max-width: 174rem;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 1500px) {
    .inner-content {
      width: calc(100% - 12rem); } }
  @media only screen and (max-width: 991px) {
    .inner-content {
      width: calc(100% - 8rem); } }
  @media only screen and (max-width: 540px) {
    .inner-content {
      width: calc(100% - 3.6rem); } }

@keyframes loading-arrow {
  0% {
    color: transparent;
    line-height: 0rem; }
  50% {
    color: white;
    line-height: 5rem; }
  100% {
    color: transparent;
    line-height: 10rem; } }
@-webkit-keyframes loading-arrow {
  0% {
    color: transparent;
    line-height: 0rem; }
  50% {
    color: white;
    line-height: 5rem; }
  100% {
    color: transparent;
    line-height: 10rem; } }
.button {
  display: inline-block;
  border: 0.15rem solid #0047AF;
  background: #0047AF;
  line-height: 4.8rem;
  white-space: nowrap;
  padding: 0 2.3rem;
  font-size: 1.4rem;
  color: white;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
  transition: border-color 0.4s ease-in-out, background-color 0.4s ease-in-out;
  -webkit-transition: border-color 0.4s ease-in-out, background-color 0.4s ease-in-out;
  position: relative;
  letter-spacing: 0.08rem; }
  @media only screen and (max-width: 991px) {
    .button {
      font-size: 1.2rem;
      line-height: 4rem;
      letter-spacing: 0.07rem;
      padding: 0 1.8rem;
      transition-duration: 0s;
      -webkit-transition-duration: 0s; } }
  .button.outline {
    background-color: transparent;
    border-color: white; }
    .button.outline:hover {
      background-color: #0047AF;
      border-color: #0047AF; }
  .button.inversed {
    background-color: white;
    color: #1B3550;
    border-color: white;
    transition: color 0.4s ease-in-out, border-color 0.4s ease-in-out, background-color 0.4s ease-in-out;
    -webkit-transition: color 0.4s ease-in-out, border-color 0.4s ease-in-out, background-color 0.4s ease-in-out; }
    .button.inversed:hover {
      background-color: #0047AF;
      border-color: #0047AF;
      color: white; }
  .button.disabled {
    pointer-events: none;
    background: #F7F7F7;
    color: #DFDDDD;
    border-color: #F7F7F7; }
  .button.with-arrow::after {
    display: inline-block;
    font-family: "Icomoon";
    content: "";
    margin-left: 1rem;
    font-weight: 400;
    position: relative;
    left: 0;
    transition: left 0.4s ease-in-out;
    -webkit-transition: left 0.4s ease-in-out; }
  .button.with-arrow:hover::after {
    left: 1rem; }
  .button.with-arrow.more {
    padding-right: 4rem;
    position: relative; }
    .button.with-arrow.more:after {
      position: absolute;
      content: "";
      transition: top 0.4s ease-in-out;
      -webkit-transition: top 0.4s ease-in-out;
      top: 0;
      left: auto;
      right: 2rem; }
    .button.with-arrow.more:hover::after {
      right: 2rem;
      top: 0.5rem; }
    .button.with-arrow.more.loading::after {
      animation: loading-arrow 1s infinite;
      -webkit-animation: loading-arrow 1s infinite; }
  .button.with-arrow.left::before {
    display: inline-block;
    font-family: "Icomoon";
    content: "";
    margin-right: 1rem;
    font-weight: 400;
    position: relative;
    left: 0;
    transition: left 0.4s ease-in-out;
    -webkit-transition: left 0.4s ease-in-out; }
  .button.with-arrow.left::after {
    display: none; }
  .button.with-arrow.left:hover::before {
    left: -1rem; }

.social {
  display: flex; }
  .social > a {
    width: 3.4rem;
    height: 3.4rem;
    border: 0.1rem solid transparent;
    border-radius: 50%;
    text-align: center;
    line-height: 3.4rem;
    display: inline-block;
    font-weight: 400;
    color: white;
    font-size: 3.3rem;
    margin-right: 1.4rem;
    background-color: transparent;
    font-family: "Icomoon";
    transition: border-color 0.4s ease-in-out, background-color 0.4s ease-in-out, color 0.4s ease-in-out;
    -webkit-transition: border-color 0.4s ease-in-out, background-color 0.4s ease-in-out, color 0.4s ease-in-out; }
    .social > a:last-child {
      margin-right: 0; }
    .social > a:hover {
      background-color: white;
      color: #1B3550;
      border-color: white; }
    .social > a.facebook::before {
      content: ""; }
    .social > a.linkedin::before {
      content: ""; }
    .social > a.youtube::before {
      content: ""; }

section.white {
  background: white; }
section.light {
  background: #F7F7F7; }
section.lighter {
  background: #FBFBFB; }
section.not-light {
  background: #EFEFEF; }
section.fullscreen {
  min-height: 100vh;
  padding-top: 19rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 991px) {
    section.fullscreen {
      padding-top: 10rem; } }

.enormous-heading {
  font-weight: 800;
  font-size: 20rem;
  line-height: 1em; }
  @media only screen and (max-width: 991px) {
    .enormous-heading {
      font-size: 12rem; } }

.huge-heading {
  font-weight: 800;
  font-size: 12rem;
  line-height: 1.1875em; }
  @media only screen and (max-width: 1500px) {
    .huge-heading {
      font-size: 6rem; } }
  @media only screen and (max-width: 991px) {
    .huge-heading {
      font-size: 3.9rem; } }

.big-heading {
  font-weight: 800;
  font-size: 9rem;
  line-height: 1.1875em; }
  @media only screen and (max-width: 1500px) {
    .big-heading {
      font-size: 5rem; } }
  @media only screen and (max-width: 991px) {
    .big-heading {
      font-size: 3.4rem; } }

.almost-big-heading {
  font-weight: 800;
  font-size: 6rem;
  line-height: 1.1875em; }
  @media only screen and (max-width: 1500px) {
    .almost-big-heading {
      font-size: 3.5rem; } }
  @media only screen and (max-width: 991px) {
    .almost-big-heading {
      font-size: 3.1rem; } }

.medium-heading {
  font-weight: 800;
  font-size: 4rem;
  line-height: 1.325em; }
  @media only screen and (max-width: 1500px) {
    .medium-heading {
      font-size: 2.8rem; } }
  @media only screen and (max-width: 991px) {
    .medium-heading {
      font-size: 2.2rem; } }

.small-heading {
  font-weight: 800;
  font-size: 3rem;
  line-height: 1.3em; }
  @media only screen and (max-width: 1500px) {
    .small-heading {
      font-size: 2.5rem; } }
  @media only screen and (max-width: 991px) {
    .small-heading {
      font-size: 2rem; } }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-column > * {
  max-width: 100%; }

.banner {
  padding: 21.2rem 0 14rem;
  background-size: cover;
  background-position: center;
  color: white;
  position: relative; }
  @media only screen and (max-width: 991px) {
    .banner {
      padding: 9.5rem 0 5rem; } }
  .banner::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6); }
  .banner::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: grayscale(0.2);
    opacity: 0.62;
    background: -moz-linear-gradient(top, rgba(0, 71, 175, 0) 0%, #0047af 100%);
    background: -webkit-linear-gradient(top, rgba(0, 71, 175, 0) 0%, #0047af 100%);
    background: linear-gradient(to bottom, rgba(0, 71, 175, 0.3) 0%, #0047af 100%); }
  .banner h1 {
    position: relative;
    z-index: 1; }

.flex-row {
  display: flex; }

.flex-half {
  flex: 0 0 auto;
  width: 50%; }

.slick-dots {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex; }
  .slick-dots li {
    display: block;
    padding-left: 0; }
    .slick-dots li:before {
      display: none; }
    .slick-dots li:only-child {
      display: none; }
    .slick-dots li button {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      border: none;
      width: 100%;
      height: 0.4rem;
      background: rgba(255, 255, 255, 0.2);
      color: transparent;
      cursor: pointer; }
    .slick-dots li.slick-active button {
      background: white;
      cursor: initial; }

.slider-scrollbar {
  z-index: 1;
  height: 6rem;
  overflow: hidden;
  position: absolute;
  right: 2.2rem;
  bottom: -10rem;
  width: 62.1rem;
  max-width: calc(100% - 2.2rem); }
  @media only screen and (max-width: 991px) {
    .slider-scrollbar {
      right: 1.1rem;
      bottom: -7rem; } }
  .slider-scrollbar::before {
    content: '';
    z-index: -1;
    position: absolute;
    left: 0;
    right: 0;
    top: 2.3rem;
    height: 0.4rem;
    opacity: 0.09;
    background: #3779BB; }
  .slider-scrollbar .slick-slide {
    height: 6rem;
    position: relative; }
    .slider-scrollbar .slick-slide.handle {
      cursor: grab; }
      .slider-scrollbar .slick-slide.handle::before {
        content: '';
        z-index: -1;
        position: absolute;
        left: 0;
        right: 0;
        top: 2.1rem;
        height: 0.8rem;
        opacity: 1;
        background: #0047AF; }
        @media only screen and (max-width: 991px) {
          .slider-scrollbar .slick-slide.handle::before {
            top: 2.3rem;
            height: 0.4rem; } }
      .slider-scrollbar .slick-slide.handle:active {
        cursor: grabbing; }

.circle-dots .slick-dots {
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -6rem; }
  .circle-dots .slick-dots > li {
    flex: 0 0 auto;
    margin: 0 0.5rem;
    padding-left: 0; }
    .circle-dots .slick-dots > li button {
      width: 0.9rem;
      height: 0.9rem;
      background: #D8D8D8;
      border-radius: 50%;
      padding: 0; }
    .circle-dots .slick-dots > li.slick-active button {
      background: #6D6D6D; }

img {
  max-width: 100%; }

.img-cover {
  background-size: cover;
  background-position: center; }

#all-projects .img-cover::after,
#section-projects .img-cover::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 70%;
  background: linear-gradient(transparent, rgba(25,55,85,0.7));
}

.img-shadow-wrapper {
  z-index: 1;
  position: relative; }
  .img-shadow-wrapper::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: -4.7rem;
    left: -4.7rem;
    background: #E9E9E9;
    z-index: -1; }

.img-shadow {
  box-shadow: 10px 12px 43px 0 rgba(25, 54, 83, 0.3);
  position: relative;
  z-index: 1; }

.text-block {
  text-align: left;
  width: 100%;
  max-width: 130rem;
  margin: 0 auto; }
  @media only screen and (max-width: 991px) {
    .text-block {
      max-width: 46rem; } }

.img-text-block {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media only screen and (max-width: 991px) {
    .img-text-block {
      flex-direction: column-reverse; } }
  .img-text-block:nth-child(n+2) {
    margin-top: 20rem; }
    @media only screen and (max-width: 991px) {
      .img-text-block:nth-child(n+2) {
        margin-top: 7rem; } }
  .img-text-block .img-shadow-wrapper {
    flex: 0 0 auto;
    width: calc(50% - 9.8rem);
    max-width: 61.9rem;
    margin-right: 9.8rem;
    height: 53rem; }
    @media only screen and (max-width: 991px) {
      .img-text-block .img-shadow-wrapper {
        width: calc(100% - 4.4rem);
        margin-left: 0.8rem;
        margin-right: 3.6rem;
        height: 30rem;
        max-width: 46rem; } }
    @media only screen and (max-width: 540px) {
      .img-text-block .img-shadow-wrapper {
        height: 20.3rem; } }
    @media only screen and (max-width: 991px) {
      .img-text-block .img-shadow-wrapper::before {
        left: 1.8rem;
        bottom: 1.8rem; } }
    .img-text-block .img-shadow-wrapper .img-cover {
      width: 100%;
      height: 100%; }
  .img-text-block .text {
    flex: 0 0 auto;
    width: 50%;
    max-width: 61.9rem;
    padding-left: 0.3rem;
    text-align: left; }
    @media only screen and (max-width: 991px) {
      .img-text-block .text {
        width: 100%;
        padding-left: 0;
        margin-bottom: 5.2rem;
        max-width: 46rem; } }
  .img-text-block:nth-child(even), .img-text-block.reversed {
    flex-direction: row-reverse; }
    @media only screen and (max-width: 991px) {
      .img-text-block:nth-child(even), .img-text-block.reversed {
        flex-direction: column-reverse; } }
    .img-text-block:nth-child(even) .img-shadow-wrapper, .img-text-block.reversed .img-shadow-wrapper {
      margin-right: 0;
      margin-left: 9.8rem; }
      @media only screen and (max-width: 991px) {
        .img-text-block:nth-child(even) .img-shadow-wrapper, .img-text-block.reversed .img-shadow-wrapper {
          margin-left: 3.6rem;
          margin-right: 0.8rem; } }
      .img-text-block:nth-child(even) .img-shadow-wrapper::before, .img-text-block.reversed .img-shadow-wrapper::before {
        left: 4.7rem;
        bottom: 4.7rem; }
        @media only screen and (max-width: 991px) {
          .img-text-block:nth-child(even) .img-shadow-wrapper::before, .img-text-block.reversed .img-shadow-wrapper::before {
            left: -1.8rem;
            bottom: -1.8rem; } }
    .img-text-block:nth-child(even) .text, .img-text-block.reversed .text {
      padding-left: 0;
      text-align: right; }
      @media only screen and (max-width: 991px) {
        .img-text-block:nth-child(even) .text, .img-text-block.reversed .text {
          text-align: left; } }

input[type="text"], input[type="email"], input[type="tel"], textarea {
  border: none;
  background: #142C44;
  color: white;
  font-family: "OpenSans", sans-serif;
  font-size: 1.4rem;
  max-width: 100%;
  font-weight: 400; }
  input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="tel"]::placeholder, textarea::placeholder {
    opacity: 1;
    color: #AFAFAF; }

input[type="text"], input[type="email"], input[type="tel"] {
  height: 4.4rem;
  line-height: 4.4rem;
  padding: 0 1.6rem; }

textarea {
  padding: 1.1rem 1.6rem;
  height: 10.5rem; }

.wpcf7-form .flex-row {
  margin-bottom: 2.1rem;
  clear: both; }
  @media only screen and (max-width: 540px) {
    .wpcf7-form .flex-row {
      flex-direction: column; } }
  .wpcf7-form .flex-row.optional {
    display: none; }
    .wpcf7-form .flex-row.optional.shown {
      display: flex; }
.wpcf7-form label {
  display: block;
  text-align: left;
  font-size: 1.4rem;
  font-weight: 800; }
  .wpcf7-form label.flex-half {
    width: calc(50% - 0.9rem);
    display: flex;
    flex-direction: column;
    justify-content: center; }
    @media only screen and (max-width: 540px) {
      .wpcf7-form label.flex-half {
        width: 100%; } }
    .wpcf7-form label.flex-half + label.flex-half {
      margin-left: 1.8rem; }
      @media only screen and (max-width: 540px) {
        .wpcf7-form label.flex-half + label.flex-half {
          margin-left: 0;
          margin-top: 1.8rem; } }
    .wpcf7-form label.flex-half input {
      margin-top: 0.9rem; }
      @media only screen and (max-width: 540px) {
        .wpcf7-form label.flex-half input {
          width: 100%; } }
    .wpcf7-form label.flex-half a.show-optional {
      display: block;
      position: relative;
      text-align: center;
      color: white;
      text-decoration: underline;
      align-self: center;
      padding-right: 2rem;
      margin-top: 2rem; }
      .wpcf7-form label.flex-half a.show-optional::after {
        content: "";
        font-family: "Icomoon";
        font-weight: 400;
        position: absolute;
        right: 0;
        top: 0.2rem; }
      .wpcf7-form label.flex-half a.show-optional:hover {
        text-decoration: none; }
      .wpcf7-form label.flex-half a.show-optional.hide::after {
        content: ""; }
  .wpcf7-form label.checkboxes-title {
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.8rem;
    text-align: center;
    margin-bottom: 1.7rem; }
.wpcf7-form textarea {
  width: 100%;
  margin-top: 0.9rem; }
.wpcf7-form .anr_captcha_field {
  display: table;
  margin: 2.5rem auto -1rem; }
.wpcf7-form .wpcf7-acceptance, .wpcf7-form .wpcf7-checkbox {
  display: block;
  text-align: left;
  margin: 2.8rem 0 1.7rem; }
  .wpcf7-form .wpcf7-acceptance .wpcf7-list-item, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
    width: 100%;
    margin-left: 0;
    margin-top: 0.2rem;
    margin-bottom: 0.2rem; }
    .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item label {
      font-size: 1.2rem;
      line-height: 1.8rem;
      position: relative; }
      .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
        display: block;
        padding-left: 3rem;
        padding-top: 0.2rem;
        cursor: pointer;
        font-weight: 400;
        margin-top: -1.7rem; }
        .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::before, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before {
          content: '';
          position: absolute;
          left: 0;
          top: 0;
          width: 2rem;
          height: 2rem;
          line-height: 2rem;
          text-align: center;
          color: white;
          background: #142C44; }
        .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label a, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label a {
          color: white;
          text-decoration: underline; }
      .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before, .wpcf7-form .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before {
        content: "\2714"; }
.wpcf7-form .wpcf7-checkbox {
  margin-bottom: 1.5rem; }
  .wpcf7-form .wpcf7-checkbox.half-sized-items::after {
    content: '';
    display: block;
    clear: both; }
  .wpcf7-form .wpcf7-checkbox.half-sized-items .wpcf7-list-item {
    width: 50%;
    float: left; }
    @media only screen and (max-width: 540px) {
      .wpcf7-form .wpcf7-checkbox.half-sized-items .wpcf7-list-item {
        width: 100%; } }
.wpcf7-form .wpcf7-submit {
  cursor: pointer;
  width: 100%; }

.number-block {
  text-align: left;
  width: 100%;
  max-width: 63rem;
  padding: 4rem 0 0 3rem;
  z-index: 1;
  position: relative;
  font-size: 1.8rem; }
  @media only screen and (max-width: 991px) {
    .number-block {
      font-size: 1.4rem; } }
  .number-block::before {
    position: absolute;
    left: 0;
    top: -2rem;
    content: attr(data-number);
    opacity: 0.14;
    font-weight: 800;
    font-size: 14rem;
    line-height: 14rem;
    color: #193753;
    z-index: -1; }
  .number-block p {
    line-height: 2em; }

.thin-text-wrapper {
  max-width: 71.5rem;
  margin: 0 auto 3rem;
  font-size: 1.8rem; }
  @media only screen and (max-width: 991px) {
    .thin-text-wrapper {
      font-size: 1.4rem; } }

form.filter {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: -5rem 0 0; }
  @media only screen and (max-width: 991px) {
    form.filter {
      margin: 0;
      flex-direction: column; } }
  form.filter label {
    font-weight: 800;
    font-size: 2.4rem;
    display: inline-block;
    margin-right: 1rem; }
  form.filter .select2-container {
    margin-left: 1.7rem;
    width: 15.2rem !important;
    height: 4.4rem; }
    @media only screen and (max-width: 991px) {
      form.filter .select2-container {
        margin-left: 0;
        margin-top: 1.5rem; } }
    form.filter .select2-container .select2-selection {
      width: 15.2rem;
      height: 4.4rem;
      line-height: 4.4rem;
      padding: 0 1.6rem;
      border: none;
      color: white;
      font-size: 1.4rem;
      font-family: "OpenSans", sans-serif;
      font-weight: 800;
      background: #142C44 url("../img/caret-down.svg") right 1rem center no-repeat;
      background-size: 1rem 0.6rem; }
      form.filter .select2-container .select2-selection .select2-selection__rendered {
        color: white;
        line-height: 4.4rem; }
      form.filter .select2-container .select2-selection .select2-selection__arrow {
        display: none; }

li.select2-results__option::before {
  display: none; }

.wysiwyg-content h2, .wysiwyg-content h3, .wysiwyg-content h4, .wysiwyg-content h5, .wysiwyg-content h6 {
  line-height: 1.8em; }
.wysiwyg-content img, .wysiwyg-content .wp-caption {
  max-width: 100%;
  height: auto; }
.wysiwyg-content .wp-caption {
  width: auto !important; }

a, .slick-slide, button {
  outline: none; }

.download-box {
  width: 100%;
  max-width: 77.9rem;
  height: 6.8rem;
  border: 0.1rem solid #0047AF;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.8rem 0 2.3rem;
  margin: 0 auto;
  font-weight: 400;
  transition: background-color 0.4s ease-in-out;
  -webkit-transition: background-color 0.4s ease-in-out;
  background-color: white; }
  @media only screen and (max-width: 991px) {
    .download-box {
      max-width: 46rem;
      height: 4.8rem;
      padding: 0 1.8rem 0 1.5rem; } }
  .download-box:hover {
    background-color: #F7F7F7; }
  .download-box .extension {
    text-transform: uppercase;
    margin-right: 2.2rem;
    font-weight: 800; }
    @media only screen and (max-width: 991px) {
      .download-box .extension {
        margin-right: 1.5rem; } }
  .download-box::after {
    display: inline-block;
    content: "";
    font-family: "Icomoon";
    margin-left: auto;
    width: 2.8rem;
    text-align: center;
    line-height: 2.9rem;
    border-bottom: 0.2rem solid #0047AF;
    font-size: 2.2rem; }
    @media only screen and (max-width: 991px) {
      .download-box::after {
        width: 2.1rem;
        line-height: 2.18rem;
        font-size: 1.65rem; } }
  .download-box + .download-box {
    margin-top: 1.8rem; }

#home-banner-slider .banner.home {
  padding: 11.1rem 0 15rem;
  position: relative;
  min-height: calc(100vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1; }
  @media only screen and (max-width: 991px) {
    #home-banner-slider .banner.home {
      padding-bottom: 20rem;
      min-height: calc(100vh - 5rem); } }
  #home-banner-slider .banner.home h2 {
    font-size: 5rem; } /* 8rem */
    @media only screen and (max-width: 1500px) {
      #home-banner-slider .banner.home h2 {
        font-size: 3rem; } }
    @media only screen and (max-width: 991px) {
      #home-banner-slider .banner.home h2 {
        font-size: 2.7rem;
        line-height: 3.7rem; } }
  #home-banner-slider .banner.home > .inner-content {
    align-items: center;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 991px) {
      #home-banner-slider .banner.home > .inner-content {
        justify-content: center; } }
  #home-banner-slider .banner.home .flex-half:first-child {
    text-align: left;
    padding-right: 4.7rem; }
    @media only screen and (max-width: 991px) {
      #home-banner-slider .banner.home .flex-half:first-child {
        width: 100%;
        text-align: center;
        padding-right: 0;
        max-width: 55rem; }
        #home-banner-slider .banner.home .flex-half:first-child p {
          margin-bottom: 2.5rem; } }
  #home-banner-slider .banner.home .flex-half:nth-child(2) {
    text-align: left;
    padding-left: 10rem; }
    @media only screen and (max-width: 991px) {
      #home-banner-slider .banner.home .flex-half:nth-child(2) {
        display: none; } }
  #home-banner-slider .banner.home p + a.button {
    margin-right: 1.5rem; }
    @media only screen and (max-width: 991px) {
      #home-banner-slider .banner.home p + a.button {
        margin-right: 1rem; } }
#home-banner-slider .slick-dots {
  position: absolute;
  top: calc((100% - 26.1rem) / 2 + 11.1rem + 33rem);
  right: calc(50% - 10rem - 66rem + 5rem); }
  @media screen and (max-width: 1712px) {
    #home-banner-slider .slick-dots {
      top: calc((100% - 26.1rem) / 2 + 11.1rem + 0.5 * ((100vw - 19.2rem) / 2 - 10rem));
      right: calc(9.6rem + 0.076 * ((100vw - 19.2rem) / 2 - 10rem)); } }
  @media only screen and (max-width: 1500px) {
    #home-banner-slider .slick-dots {
      top: calc((100% - 26.1rem) / 2 + 11.1rem + 0.5 * ((100vw - 12rem) / 2 - 10rem));
      right: calc(6rem + 0.076 * ((100vw - 12rem) / 2 - 10rem)); } }
  @media only screen and (max-width: 991px) {
    #home-banner-slider .slick-dots {
      left: 50%;
      bottom: 15rem;
      top: auto;
      transform: translateX(-50%);
      justify-content: center; } }
  #home-banner-slider .slick-dots li {
    width: 6.8rem;
    margin-left: 1rem; }
    @media only screen and (max-width: 991px) {
      #home-banner-slider .slick-dots li {
        margin: 0 0.25rem; } }
#home-banner-slider a.scroll {
  color: white;
  display: block;
  position: absolute;
  margin: 0;
  font-weight: 700;
  font-size: 1.2rem;
  bottom: -2.5rem;
  line-height: 5rem;
  text-transform: uppercase;
  transform-origin: 0 50%;
  transform: translateX(1rem) rotate(-90deg);
  letter-spacing: 0.3rem; }
  @media only screen and (max-width: 991px) {
    #home-banner-slider a.scroll {
      left: 50%;
      margin-left: -1rem; } }
  #home-banner-slider a.scroll::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 0.2rem;
    background: white;
    margin-right: 0.8rem;
    margin-bottom: 0.2rem; }

#home-services {
  padding: 0; }
  @media only screen and (max-width: 991px) {
    #home-services {
      padding: 5rem 0 9rem; } }
  #home-services .inner-content {
    align-items: center; }
    @media only screen and (max-width: 991px) {
      #home-services .inner-content {
        flex-direction: column;
        align-items: center; } }
  #home-services p.intro {
    max-width: 46rem; }
  #home-services .text-column {
    position: relative;
    padding: 15.4rem 10.2rem 15.9rem 0;
    flex: 0 0 auto;
    width: 42%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    background: white;
    z-index: 2; }
    @media only screen and (max-width: 1500px) {
      #home-services .text-column {
        padding-right: 5rem;
        width: 35%; } }
    @media only screen and (max-width: 991px) {
      #home-services .text-column {
        width: 100%;
        padding: 0;
        text-align: center;
        align-items: center; } }
    #home-services .text-column::before {
      content: '';
      position: absolute;
      right: 100%;
      top: 0;
      bottom: 0;
      display: block;
      background: white;
      width: 999rem; }
  #home-services .service-boxes {
    flex: 0 0 auto;
    width: 58%;
    position: relative; }
    @media only screen and (max-width: 1500px) {
      #home-services .service-boxes {
        width: 65%; } }
    @media only screen and (max-width: 991px) {
      #home-services .service-boxes {
        width: 100%;
        margin: 2.1rem 0; } }

#home-services-slider {
  width: 100%; }
  #home-services-slider .slick-list {
    overflow: visible; }
  #home-services-slider .service-box {
    white-space: normal;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 30.8rem;
    background: #1B3550;
    color: white;
    position: relative;
    left: 0;
    top: 0;
    margin-right: 2.3rem;
    padding: 2.3rem;
    transform: scale(1);
    transition: transform 0.4s ease-in-out; }
    @media only screen and (max-width: 991px) {
      #home-services-slider .service-box {
        height: 25.7rem; } }
    #home-services-slider .service-box > * {
      transform: scale(1);
      transition: transform 0.4s ease-in-out; }
    #home-services-slider .service-box span.number {
      position: absolute;
      top: 2.8rem;
      left: 3.2rem;
      font-weight: 400; }
      @media only screen and (max-width: 991px) {
        #home-services-slider .service-box span.number {
          font-size: 2.4rem; } }
    #home-services-slider .service-box::after {
      content: "";
      font-family: "Icomoon";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 4rem;
      font-weight: 400;
      font-size: 1.2em; }
    #home-services-slider .service-box:hover {
      transform: scale(1.07); }
      #home-services-slider .service-box:hover > * {
        transform: scale(0.935); }
  @media only screen and (max-width: 991px) {
    #home-services-slider + .slider-scrollbar {
      bottom: -13rem; } }

#home-products p.intro {
  max-width: 79rem;
  margin: 1rem auto 3rem; }
  #home-products p.intro + .img-text-block {
    margin-top: 12.6rem; }
    @media only screen and (max-width: 991px) {
      #home-products p.intro + .img-text-block {
        margin-top: 5rem; } }
@media only screen and (max-width: 991px) {
  #home-products .img-text-block {
    flex-direction: column; } }
@media only screen and (max-width: 991px) {
  #home-products .img-text-block .text {
    margin-bottom: 0;
    margin-top: 6rem; } }

@media only screen and (max-width: 991px) {
  #home-about h2 {
    text-align: center; } }
#home-about strong {
  font-weight: 800; }
#home-about ul {
  font-size: 1.8rem; }
  @media only screen and (max-width: 991px) {
    #home-about ul {
      font-size: 1.2rem; } }

#home-jobs h2 .badge {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  background: blue;
  border-radius: 50%;
  color: white;
  line-height: 3rem;
  text-align: center;
  font-size: 1.8rem;
  vertical-align: top;
  margin-left: -2rem;
  margin-top: -1rem; }
  @media only screen and (max-width: 1500px) {
    #home-jobs h2 .badge {
      width: 2.5rem;
      height: 2.5rem;
      line-height: 2.5rem;
      margin-left: -1rem;
      font-size: 1.6rem; } }
  @media only screen and (max-width: 991px) {
    #home-jobs h2 .badge {
      width: 1.8rem;
      height: 1.8rem;
      line-height: 1.8rem;
      margin-left: 0;
      font-size: 1.2rem; } }
@media only screen and (max-width: 991px) {
  #home-jobs .img-text-block .text {
    text-align: center; } }

#home-news {
  padding: 1rem 0 6rem; }
  @media only screen and (max-width: 991px) {
    #home-news {
      padding: 5rem 0 9rem; } }
  #home-news .inner-content {
    align-items: center; }
    @media only screen and (max-width: 991px) {
      #home-news .inner-content {
        flex-direction: column-reverse;
        align-items: center; } }
  #home-news p.intro {
    max-width: 46rem; }
  #home-news .news-boxes {
    flex: 0 0 auto;
    width: 67.8%;
    position: relative; }
    @media only screen and (max-width: 991px) {
      #home-news .news-boxes {
        width: 100%;
        margin: 2.1rem 0; } }
  #home-news .text-column {
    position: relative;
    padding: 24rem 0 27rem 10.4rem;
    flex: 0 0 auto;
    width: 32.2%;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #F7F7F7;
    z-index: 2; }
    @media only screen and (max-width: 991px) {
      #home-news .text-column {
        width: 100%;
        padding: 0;
        text-align: center;
        align-items: center; } }
    #home-news .text-column::before {
      content: '';
      position: absolute;
      left: 100%;
      top: 0;
      bottom: 0;
      display: block;
      background: #F7F7F7;
      width: 999rem; }

#home-news-slider {
  width: 100%; }
  #home-news-slider .slick-list {
    overflow: visible; }
  #home-news-slider .news-box {
    margin: 0 0 0 0.9rem; }
  #home-news-slider .slick-dots {
    bottom: -8rem; }
    @media only screen and (max-width: 991px) {
      #home-news-slider .slick-dots {
        bottom: -5rem; } }

.application-form {
  max-width: 57.3rem;
  padding: 2.4rem 4.6rem 5.6rem;
  background: #193753;
  color: white;
  margin: 5rem auto; }
  @media only screen and (max-width: 991px) {
    .application-form {
      padding: 2.4rem 2.5rem 4.5rem;
      margin-bottom: 0; } }
  .application-form .medium-heading {
    margin-bottom: 2rem; }
    @media only screen and (max-width: 991px) {
      .application-form .medium-heading {
        margin-bottom: 2rem !important; } }
  .application-form span.portfolio {
    display: block;
    clear: both;
    padding-top: 1.9rem; }
    .application-form span.portfolio .codedropz-upload-wrapper {
      position: relative;
      height: 26rem;
      display: flex;
      flex-wrap: wrap;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .application-form span.portfolio .codedropz-upload-wrapper {
          height: 17rem;
          flex-direction: column;
          flex-wrap: nowrap; } }
    .application-form span.portfolio .codedropz-upload-handler {
      border: none;
      background: #142C44;
      padding: 4rem;
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      border-radius: 0; }
      @media screen and (max-width: 767px) {
        .application-form span.portfolio .codedropz-upload-handler {
          padding: 1rem; } }
      .application-form span.portfolio .codedropz-upload-handler > * {
        opacity: 0; }
      .application-form span.portfolio .codedropz-upload-handler:last-child > * {
        opacity: 1; }
    .application-form span.portfolio .codedropz-upload-container {
      padding: 0; }
    .application-form span.portfolio .codedropz-upload-inner {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .application-form span.portfolio .codedropz-upload-inner::before {
        display: block;
        content: '';
        height: 8rem;
        width: 5rem;
        background: transparent url("../img/drag-and-drop.svg") center center no-repeat;
        background-size: contain; }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .codedropz-upload-inner::before {
            height: 5rem;
            width: 3.5rem; } }
      .application-form span.portfolio .codedropz-upload-inner h3 {
        margin: 0;
        font-size: 1.6rem; }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .codedropz-upload-inner h3 {
            font-size: 1.5rem; } }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .codedropz-upload-inner h3 + span {
            font-size: 1.4rem; } }
    .application-form span.portfolio .codedropz-btn-wrap, .application-form span.portfolio .cd-upload-btn {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0; }
    .application-form span.portfolio .cd-upload-btn {
      display: block;
      color: transparent; }
    .application-form span.portfolio .dnd-upload-status {
      display: flex;
      flex-direction: column;
      width: 12rem;
      height: 12rem;
      justify-content: space-between;
      margin: 0 0.5rem; }
      @media screen and (max-width: 767px) {
        .application-form span.portfolio .dnd-upload-status {
          flex-direction: row;
          width: 100%;
          height: 3rem; } }
      .application-form span.portfolio .dnd-upload-status .dnd-upload-image {
        margin-top: 1.5rem; }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .dnd-upload-status .dnd-upload-image {
            display: none; } }
      .application-form span.portfolio .dnd-upload-status .dnd-upload-details {
        padding: 0;
        font-size: 1.4rem; }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .dnd-upload-status .dnd-upload-details {
            font-size: 1.3rem;
            display: flex; } }
        .application-form span.portfolio .dnd-upload-status .dnd-upload-details .name {
          color: white;
          flex-direction: column; }
          @media screen and (max-width: 767px) {
            .application-form span.portfolio .dnd-upload-status .dnd-upload-details .name {
              flex: 0 0 auto;
              width: 50%;
              padding: 0;
              flex-direction: row; } }
          .application-form span.portfolio .dnd-upload-status .dnd-upload-details .name em {
            padding: 0;
            display: block;
            color: rgba(255, 255, 255, 0.5);
            font-size: 1.2rem;
            margin-top: 0.2rem; }
            @media screen and (max-width: 767px) {
              .application-form span.portfolio .dnd-upload-status .dnd-upload-details .name em {
                display: inline;
                margin-top: 0; } }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .dnd-upload-status .dnd-upload-details .dnd-progress-bar {
            width: calc(50% - 2rem); } }
        @media screen and (max-width: 767px) {
          .application-form span.portfolio .dnd-upload-status .dnd-upload-details .remove-file {
            right: 0.5rem;
            top: 0.6rem; } }
        .application-form span.portfolio .dnd-upload-status .dnd-upload-details .remove-file .dnd-icon-remove:hover {
          color: white; }
  .application-form p.note {
    text-align: left;
    font-size: 1.2rem;
    margin-bottom: 2rem; }

.job-offer {
  width: 100%;
  max-width: 94.3rem;
  margin: 4rem auto 0;
  background: #F7F7F7;
  padding: 4.2rem 5.6rem;
  text-align: left; }
  @media only screen and (max-width: 540px) {
    .job-offer {
      padding: 2rem 1.5rem; } }
  .job-offer .medium-heading {
    margin-bottom: 0.4em; }
  .job-offer > p {
    margin: 0.5rem 0 0; }
  .job-offer .meta {
    margin: 1rem 0 1.5rem;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 991px) {
      .job-offer .meta {
        flex-wrap: wrap; } }
    .job-offer .meta > * {
      margin-right: 1.8rem;
      padding-left: 5.2rem;
      position: relative;
      line-height: 1.5em; }
      @media only screen and (max-width: 991px) {
        .job-offer .meta > * {
          flex: 0 0 auto;
          width: calc((100% - 3.6rem) / 2); } }
      .job-offer .meta > * strong {
        display: block; }
      .job-offer .meta > *::before {
        font-size: 3.4rem;
        color: #0047AF;
        font-family: "Icomoon";
        position: absolute;
        left: 0;
        top: 0;
        line-height: 4.8rem; }
      .job-offer .meta > *.place::before {
        content: ""; }
      .job-offer .meta > *.type::before {
        content: ""; }
      .job-offer .meta > *.date::before {
        content: ""; }
      .job-offer .meta > *.payment::before {
        content: ""; }
  .job-offer .content h2 {
    font-weight: 800;
    font-size: 2.2rem;
    margin: 0.5rem 0;
    line-height: 3.2rem; }
  .job-offer .content h3, .job-offer .content h4 {
    font-weight: 800;
    font-size: 1.6rem;
    line-height: 3.2rem; }
  .job-offer .content p, .job-offer .content ul {
    margin: 0 0 3.2rem; }

#job-offer-section {
  padding: 3.7rem 0 10rem; }
  @media only screen and (max-width: 991px) {
    #job-offer-section {
      padding: 3.7rem 0 5rem; } }

@media only screen and (max-width: 991px) {
  body.single-career .job-offer:first-child {
    margin-top: 0; } }
body.single-career .other-title {
  margin: 4.5rem auto -1.5rem;
  text-align: left;
  max-width: 94.3rem;
  padding: 0 5.6rem; }
  @media only screen and (max-width: 540px) {
    body.single-career .other-title {
      padding: 0 1.5rem; } }
body.single-career .button.show-all {
  margin-top: 2rem;
  margin-bottom: -2rem; }

#section-projects {
  padding: 0 0 4rem; }
  @media only screen and (max-width: 991px) {
    #section-projects {
      padding: 5rem 0 9rem; } }
  #section-projects .inner-content {
    align-items: center; }
    @media only screen and (max-width: 991px) {
      #section-projects .inner-content {
        flex-direction: column;
        align-items: center; } }
  #section-projects p.intro {
    max-width: 46rem; }
  #section-projects .text-column {
    position: relative;
    padding: 16rem 10.4rem 24rem 0;
    flex: 0 0 auto;
    width: 32.2%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    background: white;
    z-index: 2; }
    @media only screen and (max-width: 1690px) {
      #section-projects .text-column {
        padding-right: 5rem;
        width: 35%; } }
    @media only screen and (max-width: 991px) {
      #section-projects .text-column {
        width: 100%;
        padding: 0;
        text-align: center;
        align-items: center; } }
    #section-projects .text-column::before {
      content: '';
      position: absolute;
      right: 100%;
      top: 0;
      bottom: 0;
      display: block;
      background: white;
      width: 999rem; }
  #section-projects .project-boxes {
    flex: 0 0 auto;
    width: 67.8%;
    position: relative; }
    @media only screen and (max-width: 1690px) {
      #section-projects .project-boxes {
        width: 65%; } }
    @media only screen and (max-width: 991px) {
      #section-projects .project-boxes {
        width: 100%;
        margin: 2.1rem 0; } }
  #section-projects.light .text-column {
    background: #F7F7F7; }
    #section-projects.light .text-column::before {
      background: #F7F7F7; }

#projects-slider {
  width: 100%; }
  #projects-slider .slick-list {
    overflow: visible; }
  #projects-slider .slick-dots {
    bottom: -9rem; }
    @media only screen and (max-width: 991px) {
      #projects-slider .slick-dots {
        bottom: -5rem; } }

.project-box {
  position: relative;
  height: 47rem;
  background: #1B3550;
  color: white;
  margin-right: 2rem;
  padding: 2.3rem 2.3rem 5rem;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  z-index: 1; }
  @media only screen and (max-width: 991px) {
    .project-box {
      height: 40rem; } }
  @media only screen and (max-width: 540px) {
    .project-box {
      height: 32.2rem; } }
  .project-box .img-cover {
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: all 0.4s ease-in-out;
    filter: grayscale(0.4); }
  .project-box .button {
    height: 0;
    overflow: hidden;
    margin-top: 0;
    border-color: transparent;
    background-color: transparent;
    transition: all 0.4s ease-in-out; }
  .project-box:hover .img-cover {
    top: -1.5rem;
    left: -1.2rem;
    right: -1.2rem;
    bottom: -1.5rem;
    filter: grayscale(0); }
  .project-box:hover .button {
    height: 5rem;
    margin-top: 1rem;
    border-color: #0047AF;
    background-color: #0047AF; }
  @media only screen and (max-width: 991px) {
    .project-box:hover .img-cover {
      left: 0;
      right: 0;
      top: 0;
      bottom: 0; }
    .project-box .button {
      height: 4.2rem;
      margin-top: 1rem;
      border-color: #0047AF;
      background-color: #0047AF; } }

#all-projects {
  padding-bottom: 6rem; }
  @media only screen and (max-width: 991px) {
    #all-projects {
      padding-bottom: 4rem; } }

.projects-grid {
  max-width: 160rem;
  margin: 0 auto 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .projects-grid .project-box {
    flex: 0 0 auto;
    width: calc((100% - (2rem * 5)) / 5);
    margin: 0 1rem 2rem; }
    @media only screen and (max-width: 1200px) {
      .projects-grid .project-box {
        width: calc((100% - (2rem * 3)) / 3); } }
    @media screen and (max-width: 768px) {
      .projects-grid .project-box {
        width: calc((100% - (2rem * 2)) / 2); } }
    @media only screen and (max-width: 540px) {
      .projects-grid .project-box {
        margin-left: 0;
        margin-right: 0;
        width: 100%; } }
  .projects-grid .no-more {
    flex-grow: 1; }

/* #project-intro .img-shadow-wrapper {
  margin-right: 19rem; }
  @media only screen and (max-width: 1200px) {
    #project-intro .img-shadow-wrapper {
      margin-right: 10rem; } }
  @media only screen and (max-width: 1200px) and (max-width: 991px) {
    #project-intro .img-shadow-wrapper {
      margin-right: 0; } } */

#project-gallery {
  padding: 0; }
  @media only screen and (max-width: 991px) {
    #project-gallery {
      padding-bottom: 7rem; } }
  #project-gallery .inner-content {
    align-items: center; }
    @media only screen and (max-width: 991px) {
      #project-gallery .inner-content {
        flex-direction: column; } }
  #project-gallery .text-column {
    position: relative;
    padding: 30rem 10.1rem 38rem 0;
    flex: 0 0 auto;
    width: 26.3%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    background: white;
    z-index: 2; }
    @media only screen and (max-width: 991px) {
      #project-gallery .text-column {
        padding: 0;
        margin-bottom: 3rem;
        width: 100%;
        text-align: left;
        align-items: flex-start; } }
    #project-gallery .text-column::before {
      content: '';
      position: absolute;
      right: 100%;
      top: 0;
      bottom: 0;
      display: block;
      background: white;
      width: 999rem; }
  #project-gallery .gallery-images {
    flex: 0 0 auto;
    width: 73.7%;
    position: relative; }
    @media only screen and (max-width: 991px) {
      #project-gallery .gallery-images {
        width: 100%; } }

#project-gallery-slider {
  width: 100%; }
  #project-gallery-slider .slick-list {
    overflow: visible;
    width: 77.9rem;
    max-width: 100%; }
    @media only screen and (max-width: 991px) {
      #project-gallery-slider .slick-list {
        width: 42rem; } }
    @media only screen and (max-width: 540px) {
      #project-gallery-slider .slick-list {
        width: 30rem; } }
  #project-gallery-slider .slick-dots {
    bottom: -9rem; }
  #project-gallery-slider a.img-cover {
    display: block;
    height: 51.6rem;
    margin-right: 2.1rem; }
    @media only screen and (max-width: 991px) {
      #project-gallery-slider a.img-cover {
        height: 28rem;
        margin-right: 1.5rem; } }
    @media only screen and (max-width: 540px) {
      #project-gallery-slider a.img-cover {
        height: 20rem;
        margin-right: 0.5rem; } }

#section-partners {
  padding: 9.5rem 0 11rem; }

#partner-slider .partner-slide {
  padding: 1rem 0; }
  @media only screen and (max-width: 991px) {
    #partner-slider .partner-slide {
      padding: 0; } }
#partner-slider .flex-row {
  justify-content: center;
  align-items: stretch; }
  #partner-slider .flex-row + .flex-row {
    margin-top: 2rem; }
  @media only screen and (max-width: 991px) {
    #partner-slider .flex-row {
      margin-top: 0; } }
#partner-slider a {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 4.75rem;
  position: relative; }
  @media only screen and (max-width: 991px) {
    #partner-slider a {
      margin: 0;
      transform: scale(0.675); } }
  #partner-slider a img {
    max-width: 100%;
    max-height: 100%;
    filter: grayscale(100%);
    transition: filter 0.4s ease-in-out; }
  #partner-slider a:hover img {
    filter: grayscale(0%); }

section.partner-groups {
  padding-bottom: 5rem; }
  @media only screen and (max-width: 991px) {
    section.partner-groups {
      padding-bottom: 0; } }

section.partner-group {
  padding: 0; }
  section.partner-group .partners-area {
    background: #F7F7F7;
    max-width: 94.3rem;
    padding: 3rem 5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    margin: 4rem auto 7.3rem; }
    @media only screen and (max-width: 991px) {
      section.partner-group .partners-area {
        max-width: 74rem; } }
    @media only screen and (max-width: 540px) {
      section.partner-group .partners-area {
        padding: 2.5rem 0; } }
    section.partner-group .partners-area a {
      display: flex;
      flex: 0 0 auto;
      width: 11rem;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin: 4rem 2.8rem;
      filter: grayscale(100%);
      transition: filter 0.4s ease-in-out;
      -webkit-transition: filter 0.4s ease-in-out; }
      @media only screen and (max-width: 991px) {
        section.partner-group .partners-area a {
          margin: 0;
          transform: scale(0.66); } }
      section.partner-group .partners-area a:hover {
        filter: grayscale(0%); }

#section-contact {
  background-position: center;
  background-size: cover; }
  #section-contact > .inner-content {
    align-items: center; }
    @media only screen and (max-width: 991px) {
      #section-contact > .inner-content {
        flex-direction: column; } }
    @media only screen and (max-width: 991px) {
      #section-contact > .inner-content > .flex-half {
        width: 100%; } }
    #section-contact > .inner-content > .flex-half:first-child {
      text-align: right;
      padding-right: 9rem;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center; }
      @media only screen and (max-width: 991px) {
        #section-contact > .inner-content > .flex-half:first-child {
          text-align: center;
          padding-right: 0;
          align-items: center;
          padding-bottom: 5.2rem; } }
    #section-contact > .inner-content > .flex-half:last-child {
      padding-left: 9rem;
      display: flex;
      flex-direction: column;
      align-items: flex-start; }
      @media only screen and (max-width: 991px) {
        #section-contact > .inner-content > .flex-half:last-child {
          padding-left: 0;
          align-items: center; } }
  #section-contact p.intro {
    max-width: 60rem; }
  #section-contact .contact-form {
    width: 100%;
    max-width: 57.3rem;
    padding: 2.4rem 4.6rem 5.6rem;
    background: #193753;
    color: white; }
    @media only screen and (max-width: 991px) {
      #section-contact .contact-form {
        padding: 2.4rem 2.5rem 4.5rem; } }
    #section-contact .contact-form h3 {
      margin-bottom: 3.1rem; }
      @media only screen and (max-width: 540px) {
        #section-contact .contact-form h3 {
          margin-bottom: 1.5rem; } }

body.page-template-contact #section-contact > .inner-content > .flex-half:first-child {
  padding-right: 3rem;
  font-size: 1.8rem;
  line-height: 2em;
  text-align: left;
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  @media only screen and (max-width: 991px) {
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child {
      font-size: 1.4rem;
      padding-right: 0; } }
  body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper {
    width: 100%;
    max-width: 59.8rem; }
    @media only screen and (max-width: 991px) {
      body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper {
        max-width: 57rem; } }
    @media only screen and (max-width: 991px) {
      body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper .flex-row {
        flex-direction: column; } }
    @media only screen and (max-width: 991px) {
      body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper .flex-half {
        width: 100%;
        text-align: center; } }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper .flex-half:last-child {
      padding-left: 1.8rem; }
      @media only screen and (max-width: 991px) {
        body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper .flex-half:last-child {
          padding-left: 0; } }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child .text-wrapper h2 {
      margin: 7.5rem 0 0; }
  body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3 {
    font-weight: 800;
    font-size: 1.8rem;
    margin: 4rem 0 0;
    line-height: 2em; }
    @media only screen and (max-width: 991px) {
      body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3 {
        margin-left: -3rem; } }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3::before {
      display: inline-block;
      font-family: "Icomoon";
      color: #0047AF;
      font-size: 1.85em;
      width: 4.5rem;
      font-weight: 400;
      vertical-align: middle; }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3.address::before {
      content: ""; }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3.phone::before {
      content: ""; }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3.email::before {
      content: ""; }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child h3.billing::before {
      content: ""; }
  body.page-template-contact #section-contact > .inner-content > .flex-half:first-child p {
    margin: 0; }
  body.page-template-contact #section-contact > .inner-content > .flex-half:first-child a {
    color: #1B3550;
    font-weight: 400; }
    body.page-template-contact #section-contact > .inner-content > .flex-half:first-child a:hover {
      text-decoration: underline; }
body.page-template-contact #map {
  width: 100%;
  height: 55.7rem;
  max-height: 100vh; }

#section-services {
  padding-bottom: 8rem; }
  @media only screen and (max-width: 991px) {
    #section-services {
      padding-bottom: 0; } }
  #section-services > .flex-row {
    align-items: center; }
  @media only screen and (max-width: 991px) {
    #section-services .services-cycle {
      flex-direction: column-reverse; } }
  @media only screen and (max-width: 991px) {
    #section-services .services-cycle > .flex-half {
      width: 100%; } }
  #section-services .services-cycle > .flex-half:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 7rem; }
    @media only screen and (max-width: 991px) {
      #section-services .services-cycle > .flex-half:first-child {
        padding-right: 0;
        padding-top: 3rem;
        align-items: center; } }
    #section-services .services-cycle > .flex-half:first-child img {
      width: 59.2rem; }
  #section-services .services-cycle > .flex-half:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 7rem; }
    @media only screen and (max-width: 991px) {
      #section-services .services-cycle > .flex-half:last-child {
        padding-left: 0;
        align-items: center; } }
  @media only screen and (max-width: 991px) {
    #section-services .services-production {
      flex-direction: column;
      align-items: center; } }
  #section-services .services-production .text-column {
    position: relative;
    padding: 24.2rem 6.4rem 24.2rem 0;
    flex: 0 0 auto;
    width: 32.2%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    background: white;
    z-index: 2; }
    @media only screen and (max-width: 1500px) {
      #section-services .services-production .text-column {
        padding-right: 5rem;
        width: 35%; } }
    @media only screen and (max-width: 991px) {
      #section-services .services-production .text-column {
        width: 100%;
        padding: 0;
        text-align: center;
        align-items: center; } }
    #section-services .services-production .text-column::before {
      content: '';
      position: absolute;
      right: 100%;
      top: 0;
      bottom: 0;
      display: block;
      background: white;
      width: 999rem; }
    @media only screen and (max-width: 991px) {
      #section-services .services-production .text-column h3 {
        max-width: 46rem;
        margin: 5rem 0 2rem; } }
  #section-services .services-production .production-levels {
    flex: 0 0 auto;
    width: 67.8%;
    position: relative; }
    @media only screen and (max-width: 1500px) {
      #section-services .services-production .production-levels {
        width: 65%; } }
    @media only screen and (max-width: 991px) {
      #section-services .services-production .production-levels {
        width: 100%;
        margin: 2.1rem 0; } }
  #section-services .services-steps {
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 15rem 0 0; }
    @media only screen and (max-width: 991px) {
      #section-services .services-steps {
        flex-direction: column;
        align-items: center; } }
    #section-services .services-steps > * {
      margin-bottom: 5rem;
      display: flex; }
      @media only screen and (max-width: 991px) {
        #section-services .services-steps > * {
          width: 100%; } }
      #section-services .services-steps > *:nth-child(odd) {
        justify-content: flex-end;
        padding-right: 4rem; }
      #section-services .services-steps > *:nth-child(even) {
        justify-content: flex-start;
        padding-left: 4rem; }

#services-production-slider {
  width: 100%; }
  #services-production-slider .slick-list {
    overflow: visible; }
  #services-production-slider .production-level {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 40.8rem;
    background: #1B3550;
    color: white;
    position: relative;
    left: 0;
    top: 0;
    margin-right: 2.7rem;
    padding: 3.1rem; }
    #services-production-slider .production-level p {
      font-size: 1.8rem; }
      @media only screen and (max-width: 1200px) {
        #services-production-slider .production-level p {
          font-size: 1.6rem; } }
      @media only screen and (max-width: 991px) {
        #services-production-slider .production-level p {
          font-size: 1.4rem; } }
  #services-production-slider .slick-dots {
    bottom: -8.5rem; }

#section-products .title-row {
  align-items: center;
  padding-top: 9rem; }
  @media only screen and (max-width: 991px) {
    #section-products .title-row {
      flex-direction: column; } }
  #section-products .title-row .product-img {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    padding-right: 4.7rem;
    position: relative; }
    @media only screen and (max-width: 991px) {
      #section-products .title-row .product-img {
        justify-content: center;
        padding-right: 0;
        margin-bottom: 4rem;
        width: 100%; } }
    #section-products .title-row .product-img img {
      width: 69.6rem; }
      #section-products .title-row .product-img img.product-logo {
        position: absolute;
        top: -12.3rem;
        right: 4.7rem;
        width: auto;
        height: 9.2rem; }
        @media only screen and (max-width: 991px) {
          #section-products .title-row .product-img img.product-logo {
            right: auto; } }
  #section-products .title-row .text {
    padding-left: 10rem; }
    @media only screen and (max-width: 991px) {
      #section-products .title-row .text {
        width: 100%;
        max-width: 46rem;
        padding-left: 0; } }
    #section-products .title-row .text .wysiwyg-content {
      max-width: 60rem; }

.news-box {
  position: relative;
  padding: 1.5rem 0;
  transition: all 0.4s ease-in-out; }
  .news-box p {
    font-weight: 400;
    margin: 0; }
    .news-box p.excerpt {
      line-height: 1.625em;
      margin-top: 1rem; }
  .news-box .img-cover {
    width: 100%;
    height: 24.1rem;
    transition: all 0.4s ease-in-out;
    background-color: #1B3550; }
    @media only screen and (max-width: 991px) {
      .news-box .img-cover {
        height: 12rem; } }
  .news-box .text {
    text-align: left;
    background: #1B3550;
    color: white;
    padding: 1.7rem 2.5rem 2.1rem;
    transition: all 0.4s ease-in-out; }
  .news-box .button {
    height: 0;
    overflow: hidden;
    margin-top: 0;
    border-color: transparent;
    background-color: transparent;
    transition: all 0.4s ease-in-out; }
  .news-box:hover {
    padding: 0; }
    .news-box:hover .img-cover {
      height: 18rem; }
    .news-box:hover .text {
      padding: 2.8rem 2.5rem 4rem; }
    .news-box:hover .button {
      height: 5rem;
      margin-top: 2rem;
      border-color: #0047AF;
      background-color: #0047AF; }
  @media only screen and (max-width: 991px) {
    .news-box:hover .img-cover {
      height: 13rem; }
    .news-box:hover .button {
      height: 4.2rem; }
    .news-box .img-cover {
      height: 10rem; }
    .news-box .text {
      padding: 2.8rem 2.5rem 4rem; }
    .news-box .button {
      height: 4.2rem;
      margin-top: 2rem;
      border-color: #0047AF;
      background-color: #0047AF; } }

#all-news {
  padding-bottom: 8rem; }
  @media only screen and (max-width: 991px) {
    #all-news {
      padding-bottom: 4rem; } }

.current-tags {
  max-width: 160rem;
  padding: 0 1rem;
  justify-content: space-between;
  align-items: center; }
  .current-tags p {
    margin: 0;
    text-align: left; }
  .current-tags a.clear {
    font-size: 1.4rem; }

.news-grid {
  max-width: 160rem;
  margin: 5rem auto 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .news-grid .news-box {
    flex: 0 0 auto;
    width: calc((100% - (2rem * 4)) / 4);
    margin-bottom: -1rem;
    margin-left: 1rem;
    margin-right: 1rem; }
    @media only screen and (max-width: 1200px) {
      .news-grid .news-box {
        width: calc((100% - (2rem * 3)) / 3); } }
    @media screen and (max-width: 768px) {
      .news-grid .news-box {
        width: calc((100% - (2rem * 2)) / 2); } }
    @media only screen and (max-width: 540px) {
      .news-grid .news-box {
        margin-left: 0;
        margin-right: 0;
        width: 100%; } }
  .news-grid .no-more {
    flex-grow: 1; }

body.single-post {
  background: #F7F7F7; }
  body.single-post .banner p {
    margin: 0; }

article.news {
  width: calc(100% - 18rem);
  max-width: 142rem;
  margin: 0 auto 8rem;
  text-align: left; }
  @media only screen and (max-width: 991px) {
    article.news {
      margin-bottom: 5rem; } }
  @media only screen and (max-width: 540px) {
    article.news {
      width: calc(100% - 4rem); } }
  article.news > header .meta {
    display: flex;
    margin-top: 3rem; }
    @media only screen and (max-width: 991px) {
      article.news > header .meta {
        flex-wrap: wrap; } }
    article.news > header .meta .author {
      font-weight: 700; }
      article.news > header .meta .author::after {
        display: inline-block;
        width: 1.5rem;
        text-align: center;
        content: '\00B7';
        vertical-align: middle;
        color: #BBB; }
    article.news > header .meta .hashtags {
      margin-left: 4rem; }
      @media only screen and (max-width: 991px) {
        article.news > header .meta .hashtags {
          width: 100%;
          margin-left: 0; } }
      article.news > header .meta .hashtags a {
        display: inline-block;
        margin-right: 1rem;
        color: #1B3550;
        font-size: 1.4rem;
        white-space: nowrap; }
  article.news > header h1 {
    margin: 0; }
  article.news > header p.intro {
    font-weight: 700;
    margin: 2rem 0;
    max-width: none; }
    @media only screen and (max-width: 991px) {
      article.news > header p.intro {
        font-size: 1.6rem; } }
  article.news > header .title-image {
    position: relative;
    text-align: center;
    margin-bottom: 2rem; }
    article.news > header .title-image img {
      width: 100%; }
  article.news .blog-columns {
    display: flex;
    align-items: flex-start; }
    @media only screen and (max-width: 991px) {
      article.news .blog-columns {
        flex-direction: column;
        align-items: center; } }
    article.news .blog-columns .blog-content {
      flex: 1 1 auto;
      background: white;
      margin-right: 2rem;
      position: relative;
      max-width: 100%; }
      @media only screen and (max-width: 991px) {
        article.news .blog-columns .blog-content {
          margin: 0 0 2rem; } }
      article.news .blog-columns .blog-content .share {
        position: absolute;
        top: 12rem;
        right: 100%;
        height: 5rem;
        display: flex; }
        @media only screen and (max-width: 540px) {
          article.news .blog-columns .blog-content .share {
            top: 2rem;
            left: 2.5rem;
            right: auto; } }
        article.news .blog-columns .blog-content .share a {
          display: block;
          width: 5rem;
          height: 5rem;
          flex: 0 0 auto;
          font-weight: 400;
          text-align: center;
          line-height: 5rem; }
          article.news .blog-columns .blog-content .share a::before {
            font-family: "Icomoon";
            font-size: 3rem;
            color: white; }
          article.news .blog-columns .blog-content .share a.facebook {
            background: #3A52A1; }
            article.news .blog-columns .blog-content .share a.facebook::before {
              content: ""; }
            @media only screen and (max-width: 540px) {
              article.news .blog-columns .blog-content .share a.facebook {
                background: white; }
                article.news .blog-columns .blog-content .share a.facebook::before {
                  color: #3A52A1; } }
      article.news .blog-columns .blog-content > .inner {
        padding: 6rem 8rem; }
        @media only screen and (max-width: 991px) {
          article.news .blog-columns .blog-content > .inner {
            padding: 4rem; } }
        @media only screen and (max-width: 540px) {
          article.news .blog-columns .blog-content > .inner {
            padding-top: 9rem; } }
      article.news .blog-columns .blog-content .bottom-meta {
        margin: 3rem 0 0; }
        article.news .blog-columns .blog-content .bottom-meta + .bottom-meta {
          margin-top: 0; }
      article.news .blog-columns .blog-content .content-footer {
        border-top: 0.1rem solid #EEE; }
        @media only screen and (max-width: 540px) {
          article.news .blog-columns .blog-content .content-footer {
            flex-direction: column; } }
        @media only screen and (max-width: 991px) {
          article.news .blog-columns .blog-content .content-footer a.show-all {
            margin-left: 0;
            margin-right: 0;
            margin-top: 3rem;
            margin-bottom: 3rem; } }
    article.news .blog-columns .blog-popular {
      flex: 0 0 37.9rem;
      padding: 1.1rem 2.9rem;
      background: white; }
      article.news .blog-columns .blog-popular h4 {
        font-weight: 900;
        text-transform: uppercase;
        font-size: 2.6rem;
        line-height: 5rem;
        margin: 0 0 1.2rem; }
      article.news .blog-columns .blog-popular .blog-row-preview {
        display: flex;
        align-items: center;
        padding: 1.5rem 0;
        border-top: 0.1rem solid #EEE; }
        article.news .blog-columns .blog-popular .blog-row-preview .cover-img {
          width: 7.5rem;
          height: 5rem;
          margin-right: 1.2rem;
          flex: 0 0 auto; }
        article.news .blog-columns .blog-popular .blog-row-preview h5 {
          font-weight: 900;
          font-size: 1.4rem;
          line-height: 1.8rem;
          margin: 0;
          color: #1B3550; }
  article.news .content-footer {
    justify-content: space-between;
    align-items: center; }
    article.news .content-footer a.show-all::before {
      font-family: "Icomoon";
      content: "";
      vertical-align: middle;
      font-size: 1.3em;
      margin-right: 0.7rem;
      bottom: 0.3rem;
      position: relative; }

#section-more-news {
  padding-top: 0; }

/**** GENERAL STYLES ****/
html, body {
  width: 100%;
  box-sizing: border-box;
  font-family: "OpenSans", sans-serif;
  margin: 0;
  padding: 0;
  font-size: 10px;
  overflow-x: hidden;
  text-align: center;
  background: white;
  color: #1B3550; }
  html *, body * {
    box-sizing: inherit; }

body {
  font-size: 1.6rem; }
  @media only screen and (max-width: 991px) {
    body {
      font-size: 1.2rem; } }

#header {
  background: #212A31;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 11.1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
  padding-left: 3.5rem;
  z-index: 10;
  transition: height 0.4s ease-in-out;
  -webkit-transition: height 0.4s ease-in-out; }
  @media only screen and (max-width: 1500px) {
    #header {
      font-size: 1.4rem; } }
  @media only screen and (max-width: 1200px) {
    #header {
      font-size: 1.2rem; } }
  #header.scrolled {
    height: 7.4rem; }
  #header.with-banner {
    background-color: transparent;
    transition: height 0.4s ease-in-out, background-color 0.4s ease-in-out;
    -webkit-transition: height 0.4s ease-in-out, background-color 0.4s ease-in-out; }
    #header.with-banner .language .lng-dropdown {
      background-color: transparent;
      transition: background-color 0.4s ease-in-out;
      -webkit-transition: background-color 0.4s ease-in-out; }
    #header.with-banner.scrolled {
      background-color: #212A31; }
      #header.with-banner.scrolled .language .lng-dropdown {
        background-color: #212A31; }
  #header a {
    color: white; }
  #header a.logo {
    width: 24rem;
    height: auto; }
    #header a.logo.vertical {
      width: auto;
      height: 5.6rem; }
    @media only screen and (max-width: 1820px) {
      #header a.logo {
        width: 20rem;
        height: auto; }
        #header a.logo.vertical {
          width: auto;
          height: 4.7rem; } }
    @media only screen and (max-width: 1500px) {
      #header a.logo {
        width: 15.4rem;
        height: auto; }
        #header a.logo.vertical {
          width: auto;
          height: 3.6rem; } }
    @media only screen and (max-width: 991px) {
      #header a.logo {
        position: fixed;
        top: 1.5rem;
        left: 1.7rem; }
        #header a.logo.vertical {
          top: 1.1rem;
          left: 1.5rem; } }
  #header .main-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap; }
    #header .main-menu ul li {
      display: inline;
      padding: 0; 
      position: relative; }
      #header .main-menu ul li::before {
        display: none; }
      #header .main-menu ul li a {
        display: inline-block;
        margin: 0 2rem;
        height: 3rem;
        line-height: 3rem;
        position: relative; }
        #header .main-menu ul li a::after {
          content: '';
          display: block;
          position: absolute;
          left: 0;
          bottom: 0;
          width: 0;
          height: 0.4rem;
          background: #0047AF;
          transition: width 0.4s ease-in-out;
          -webkit-transition: width 0.4s ease-in-out; }
        #header .main-menu ul li a:hover::after {
          width: 100%; }
        @media only screen and (max-width: 1820px) {
          #header .main-menu ul li a {
            margin: 0 1.2rem; } }
        @media only screen and (max-width: 1200px) {
          #header .main-menu ul li a {
            margin: 0 0.8rem; } }
      #header .main-menu > ul > li.current-menu-item > a::after,
      #header .main-menu > ul > li.current-menu-parent > a::after,
      #header .main-menu > ul > li.current-menu-ancestor > a::after {
          width: 100%; }
  #header .main-menu .sub-menu {
    position: absolute;
    left: 0;
    top: 100%; 
    padding-top: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition:
      opacity .25s ease,
      transform .25s ease,
      visibility 0s linear .25s;}
    #header .main-menu .menu > li:hover > .sub-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      transition:
        opacity .25s ease,
        transform .25s ease,
        visibility 0s linear 0s;}
    #header.scrolled .main-menu .sub-menu li {
      background: #212A31;}
    #header .main-menu .sub-menu li {
      margin-bottom: -1px;
      padding-top: 5px;
      background: #192f45;
      display: block;
      text-align: left; }
      #header .main-menu .sub-menu li:last-child {
        padding-bottom: 5px;}
      @media only screen and (max-width: 1500px) {
        #header .main-menu .sub-menu li {
          padding-top: 3px; }
        #header .main-menu .sub-menu li:last-child {
          padding-bottom: 3px;}}
      @media only screen and (max-width: 991px) {
        #header .main-menu .sub-menu {
          display: none; }}
      #header .main-menu .sub-menu li a {
        font-weight: 500; }
  #header .main-menu .sub-menu .sub-menu {
    position: absolute;
    left: 100%;
    top: 0; 
    padding-top: 5px;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity .25s ease,
      transform .25s ease,
      visibility 0s linear .25s;}
    #header .main-menu .sub-menu > li:hover > .sub-menu {
      opacity: 1;
      visibility: visible;
      transition:
        opacity .25s ease,
        transform .25s ease,
        visibility 0s linear 0s;}
    #header.scrolled .main-menu .sub-menu .sub-menu li {
      background: #212A31;}
    #header .main-menu .sub-menu .sub-menu li {
      background: #192f45;
      display: block;
      text-align: left; } 
      #header .main-menu .sub-menu .sub-menu li a {
        font-weight: 500; }
  #header .main-menu .badge {
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    background: blue;
    border-radius: 50%;
    color: white;
    line-height: 1.6rem;
    text-align: center;
    font-size: 1rem;
    vertical-align: top;
    margin-left: -2.1rem;
    margin-top: -0.9rem;
    position: relative;
    left: 1.6rem; }
  #header > .right {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    #header > .right > * {
      flex: 0 0 auto; }
    #header > .right .header-contact {
      padding: 0 3rem;
      display: flex;
      height: 5.6rem;
      align-items: center;
      border-right: 0.1rem solid rgba(255, 255, 255, 0.2); }
      @media only screen and (max-width: 1500px) {
        #header > .right .header-contact {
          padding: 0 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        #header > .right .header-contact {
          padding: 0 0.5rem;
          border-right: none; } }
    #header > .right a.contact {
      display: block;
      height: 3rem;
      line-height: 3rem;
      flex: 0 0 auto;
      position: relative; }
      #header > .right a.contact::after {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 0.4rem;
        background: #0047AF;
        transition: width 0.4s ease-in-out;
        -webkit-transition: width 0.4s ease-in-out; }
      #header > .right a.contact:hover::after {
        width: 100%; }
      @media only screen and (max-width: 1820px) {
        #header > .right a.contact {
          max-width: 4rem;
          white-space: nowrap;
          overflow: hidden;
          transition: max-width 0.4s ease-in-out;
          -webkit-transition: max-width 0.4s ease-in-out; }
          #header > .right a.contact:hover {
            max-width: 25rem; } }
      #header > .right a.contact::before {
        font-size: 3rem;
        font-family: "Icomoon";
        display: inline-block;
        vertical-align: middle;
        font-weight: normal;
        margin-right: 1rem;
        position: relative;
        z-index: 1; }
      @media only screen and (max-width: 1820px) {
        #header > .right a.contact.phone {
          padding-left: 0.5rem; } }
      #header > .right a.contact.phone::before {
        content: ""; }
      @media only screen and (max-width: 1820px) {
        #header > .right a.contact.email {
          padding-left: 0.5rem; } }
      #header > .right a.contact.email::before {
        content: ""; }
  #header .language {
    padding: 0 1.5rem;
    height: 3rem;
    line-height: 3rem; }
    @media only screen and (max-width: 1200px) {
      #header .language {
        padding: 0; } }
    #header .language .lng-dropdown {
      display: flex;
      flex-direction: column;
      max-height: 3rem;
      overflow: hidden;
      padding: 0 1.8rem 0 1.5rem;
      text-align: left;
      background: #212A31;
      transition: max-height 0.4s ease-in-out;
      -webkit-transition: max-height 0.4s ease-in-out; }
      @media only screen and (max-width: 991px) {
        #header .language .lng-dropdown {
          flex-direction: row; } }
      #header .language .lng-dropdown > a {
        display: block;
        flex: 0 0 auto; }
        @media only screen and (max-width: 991px) {
          #header .language .lng-dropdown > a {
            font-weight: 400; }
            #header .language .lng-dropdown > a::before {
              content: '\00A0/\00A0'; } }
        #header .language .lng-dropdown > a.active::after {
          font-family: "Icomoon";
          content: "";
          font-size: 0.8rem;
          vertical-align: middle;
          position: relative;
          top: -0.2rem;
          margin-left: 0.4rem; }
        @media only screen and (max-width: 991px) {
          #header .language .lng-dropdown > a.active {
            font-weight: 800; }
            #header .language .lng-dropdown > a.active::before {
              display: none; }
            #header .language .lng-dropdown > a.active::after {
              display: none; } }
      #header .language .lng-dropdown.open {
        max-height: 15rem;
        max-height: calc(var(--items-count) * 3rem); }
        #header .language .lng-dropdown.open > a.active::after {
          content: ""; }
  #header .mobile-toggle {
    display: none; }
    @media only screen and (max-width: 991px) {
      #header .mobile-toggle {
        display: block;
        width: 3.25rem;
        height: 2.5rem;
        position: fixed;
        top: 1.8rem;
        right: 1.7rem; }
        #header .mobile-toggle span {
          display: block;
          position: absolute;
          height: 0.25rem;
          right: 0;
          background: white;
          transition: all 0.4s ease-in-out;
          -webkit-transition: all 0.4s ease-in-out; }
          #header .mobile-toggle span:nth-child(1) {
            left: 0.625rem;
            top: 0; }
          #header .mobile-toggle span:nth-child(2), #header .mobile-toggle span:nth-child(3) {
            left: 0;
            top: 1.125rem; }
          #header .mobile-toggle span:nth-child(4) {
            left: 0.625rem;
            top: 2.25rem; } }
  @media only screen and (max-width: 991px) {
    #header {
      display: flex;
      flex-direction: column;
      height: 5.8rem;
      padding-top: 5.8rem;
      padding-left: 0;
      overflow: hidden;
      font-size: 1.4rem;
      transition: height 0.8s ease-in-out, background-color 0.8s ease-in-out !important;
      -webkit-transition: height 0.8s ease-in-out, background-color 0.8s ease-in-out !important; }
      #header.scrolled {
        height: 5.6rem; }
      #header .main-menu {
        opacity: 0;
        pointer-events: none;
        margin-top: auto;
        transition: opacity 0.8s ease-in-out;
        -webkit-transition: opacity 0.8s ease-in-out; }
        #header .main-menu ul li {
          display: block; }
          #header .main-menu ul li a {
            height: 4rem;
            line-height: 4rem; }
        #header .main-menu .badge {
          margin-top: -0.4rem; }
      #header > .right {
        flex-direction: column;
        margin-top: 4rem;
        margin-bottom: auto;
        padding-bottom: 3rem;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.8s ease-in-out;
        -webkit-transition: opacity 0.8s ease-in-out; }
        #header > .right .header-contact {
          height: auto;
          margin: 0.5rem 0; }
        #header > .right a.contact {
          max-width: none;
          margin-left: -3rem; }
      #header.open {
        height: 100%;
        background: #212A31;
        overflow: auto; }
        #header.open::before {
          opacity: 1;
          pointer-events: all; }
        #header.open .main-menu, #header.open > .right {
          opacity: 1;
          pointer-events: all; }
        #header.open .mobile-toggle span:nth-child(1), #header.open .mobile-toggle span:nth-child(4) {
          left: 3.25rem; }
        #header.open .mobile-toggle span:nth-child(2), #header.open .mobile-toggle span:nth-child(3) {
          left: -0.4rem;
          right: -0.4rem;
          top: 1.125rem; }
        #header.open .mobile-toggle span:nth-child(2) {
          transform: rotate(45deg); }
        #header.open .mobile-toggle span:nth-child(3) {
          transform: rotate(-45deg); } }

main {
  min-height: calc(100vh - 48.3rem);
  overflow-x: hidden; }
  main section {
    padding: 13rem 0;
    overflow: hidden; }
    @media only screen and (max-width: 991px) {
      main section {
        padding: 5rem 0; } }

#footer {
  position: relative;
  background-color: #193753;
  color: white; }
  #footer a.to-top {
    display: block;
    position: absolute;
    right: 17.5rem;
    top: -2.5rem;
    width: 5rem;
    height: 5rem;
    text-align: center;
    line-height: 5rem;
    background: #0047AF;
    color: white;
    font-weight: normal;
    transition: transform 0.2s ease-in-out;
    -webkit-transition: transform 0.2s ease-in-out; }
    @media only screen and (max-width: 991px) {
      #footer a.to-top {
        right: 3.75rem; } }
    #footer a.to-top::before {
      content: "";
      font-family: "Icomoon"; }
    #footer a.to-top:hover {
      transform: scale(1.1);
      text-decoration: none; }
  #footer a {
    color: white;
    font-weight: 400; }
    #footer a:hover {
      text-decoration: underline; }
  #footer > .inner-content {
    max-width: 157.2rem;
    padding: 10.2rem 0 7.8rem;
    display: flex;
    justify-content: space-between;
    text-align: left; }
    @media only screen and (max-width: 1500px) {
      #footer > .inner-content {
        flex-wrap: wrap;
        max-width: 100rem;
        width: calc(100% - 5rem);
        padding-top: 7rem; } }
    @media only screen and (max-width: 991px) {
      #footer > .inner-content {
        flex-direction: column;
        text-align: center;
        padding-bottom: 3rem; } }
    #footer > .inner-content > * {
      flex: 0 0 auto;
      padding: 1rem 0; }
  #footer .left-column {
    padding-right: 6.5rem;
    border-right: 0.2rem solid white;
    width: 41.9rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 1500px) {
      #footer .left-column {
        padding: 0 calc((100% - 35.4rem) / 2);
        width: 100%;
        border: none;
        margin-bottom: 3rem; } }
    @media only screen and (max-width: 991px) {
      #footer .left-column {
        padding: 0;
        flex-direction: column; } }
    #footer .left-column .logo-row {
      width: 100%;
      display: flex;
      justify-content: center; }
    #footer .left-column a.logo {
      width: 100%;
      height: auto; }
      #footer .left-column a.logo.vertical {
        width: auto;
        height: 9rem; }
      @media only screen and (max-width: 991px) {
        #footer .left-column a.logo {
          width: 20.5rem;
          height: auto; }
          #footer .left-column a.logo.vertical {
            width: auto;
            height: 4.8rem; } }
      #footer .left-column a.logo img {
        object-position: center; }
    #footer .left-column .social {
      padding: 3rem 0; }
      @media only screen and (max-width: 991px) {
        #footer .left-column .social {
          margin: 3.8rem 0; } }
      #footer .left-column .social:last-child {
        margin-left: auto;
        margin-right: auto; }
        @media only screen and (max-width: 991px) {
          #footer .left-column .social:last-child {
            margin: 3.8rem auto; } }
      #footer .left-column .social a:hover {
        text-decoration: none;
        color: #1B3550; }
    #footer .left-column .certificates {
      display: flex; }
      #footer .left-column .certificates a {
        flex: 0 0 auto; }
        #footer .left-column .certificates a + a {
          margin-left: 1rem; }
      #footer .left-column .certificates img {
        height: 9.7rem; }
        @media only screen and (max-width: 991px) {
          #footer .left-column .certificates img {
            height: 7.5rem; } }
  #footer .column {
    margin-left: 3rem; }
    @media only screen and (max-width: 991px) {
      #footer .column {
        margin-left: 0; } }
    #footer .column h4 {
      font-weight: 700;
      font-size: 2.6rem;
      line-height: 4.2rem;
      margin: 0 0 0.4rem; }
      @media only screen and (max-width: 1550px) {
        #footer .column h4 {
          font-size: 2rem; } }
      @media only screen and (max-width: 991px) {
        #footer .column h4 {
          font-size: 2.6rem; } }
    #footer .column p, #footer .column ul {
      line-height: 4.2rem;
      font-size: 1.4rem;
      margin: 0; }
      @media only screen and (max-width: 991px) {
        #footer .column p, #footer .column ul {
          font-size: 1.2rem;
          line-height: 3.2rem; } }
    #footer .column ul {
      list-style: none;
      padding: 0; }
      #footer .column ul li {
        padding: 0; }
        #footer .column ul li::before {
          display: none; }
  #footer .copy {
    background: #142C44;
    padding: 2.5rem 0 3rem;
    font-size: 1.2rem;
    font-weight: 700; }
    #footer .copy br {
      display: none; }
      @media only screen and (max-width: 991px) {
        #footer .copy br {
          display: initial; } }
    #footer .copy span {
      display: inline-block;
      margin-left: 1rem;
      border-left: 0.15rem solid white;
      padding-left: 1rem; }
      @media only screen and (max-width: 991px) {
        #footer .copy span {
          margin: 1rem 0 0;
          padding: 0;
          border: none; } }

#cookies-bar {
  z-index: 50;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 9.8rem;
  background: #142C44;
  color: white; }
  @media only screen and (max-width: 540px) {
    #cookies-bar {
      height: 15.8rem;
      font-size: 1.2rem; } }
  #cookies-bar .inner-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%; }
    @media only screen and (max-width: 540px) {
      #cookies-bar .inner-content {
        flex-wrap: wrap;
        justify-content: center;
        padding-bottom: 1.5rem; } }
    #cookies-bar .inner-content > a {
      flex: 0 0 auto;
      color: white;
      font-weight: 400; }
      #cookies-bar .inner-content > a:hover {
        color: white;
        text-decoration: underline; }
      @media only screen and (max-width: 540px) {
        #cookies-bar .inner-content > a {
          margin: 0 0 0 3rem; } }
    #cookies-bar .inner-content p {
      text-align: left; }
      @media only screen and (max-width: 991px) {
        #cookies-bar .inner-content p {
          line-height: 1.6em; } }
      @media only screen and (max-width: 540px) {
        #cookies-bar .inner-content p {
          text-align: center;
          margin-bottom: 0; } }
    #cookies-bar .inner-content a.button {
      color: #1B3550;
      font-weight: 800;
      margin: 0 5.7rem 0 7.4rem; }
      #cookies-bar .inner-content a.button:hover {
        color: white;
        text-decoration: none; }
      @media only screen and (max-width: 991px) {
        #cookies-bar .inner-content a.button {
          margin-right: 2.5rem; } }
      @media only screen and (max-width: 540px) {
        #cookies-bar .inner-content a.button {
          margin-left: 0; } }

  .accordion {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  .accordion-btn {
    width: 100%;
    background: #193755;
    color: white;
    padding: 20px;
    border: none;
    cursor: pointer;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
    transition: background 0.2s;
  }
  
  .accordion-content {
    max-height: 0;
    overflow: hidden;
    background: #f5f7fa;
    transition: max-height 0.3s ease;
    margin-bottom: 20px;
  }
  
  .accordion-inner {
    display: flex;
    gap: 20px;
    padding: 20px;
  }

  @media only screen and (max-width: 991px) {
    .accordion-content {
      max-width: 46rem;
      margin: 0 auto;
    }
    .accordion-inner {
      flex-direction: column;
      gap: 40px;
    }
  }
  
  .accordion-text {
    flex: 1;
  }
  
  .accordion-image img {
    width: 400px;
    height: auto;
    object-fit: cover;
  }

  .projects-content {
    margin-bottom: 8rem; }
    @media only screen and (max-width: 991px) {
      .projects-content  {
        margin-bottom: 5rem; } }

/*# sourceMappingURL=main.css.map */
