/*****/
.container {
  flex-grow: 1;
  margin: 0 auto;
  position: relative;
  width: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 769px) {
    .container {
      max-width: 705px; } }
  @media (min-width: 1024px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1216px) {
    .container {
      max-width: 1152px; } }
  @media (min-width: 1408px) {
    .container {
      max-width: 1344px; } }
  .container.fluid {
    margin-left: 32px;
    margin-right: 32px;
    max-width: none; }

.columns {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem; }
  @media (min-width: 768px) {
    .columns {
      display: flex; } }
.columns:not(:last-child) {
  margin-bottom: calc(1.5rem - 0.75rem); }

.column {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 0.75rem; }

.section {
  padding: 0 1.5rem; }
  @media (min-width: 768px) {
    .section {
      padding: 3rem 1.5rem; } }
  @media (min-width: 992px) {
    .section {
      padding: 6rem 1.5rem; } }
.columns--no-padding {
  margin: 0; }
  .columns--no-padding .column {
    padding: 0; }

html {
  box-sizing: border-box; }

*, ::after,
::before {
  box-sizing: inherit; }

* {
  outline: none; }

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  font-family: halcom, sans-serif;
  color: #1e2c3a; }

img {
  width: auto;
  height: auto;
  max-width: 100%;
  vertical-align: middle; }

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

.h-list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .h-list li {
    display: inline-block; }

.bg-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  content: " ";
  display: block;
  width: 100%;
  padding-bottom: 56.25%; }

.h-nav li {
  display: inline-block;
  margin-right: calc( 10px - 3px); }
  .h-nav li:not(:first-child) {
    border-left: 1px solid white;
    padding-left: 10px; }

a {
  position: relative;
  color: #25d0d0;
  text-decoration: none;
  border-color: #25d0d0; }
  a i[class=ss-right] {
    position: absolute;
    font-size: 1.1em;
    display: inline-block;
    margin-left: 20px;
    color: #25d0d0;
    border-color: #25d0d0; }
    a i[class=ss-right]:before {
      display: inline-block;
      transform: translateY(12%); }
    a i[class=ss-right]:after {
      content: " ";
      display: block;
      position: absolute;
      top: calc( 50% - 1px);
      left: calc( 50%);
      transform: translate(-50%, -50%);
      width: 190%;
      height: 190%;
      border: 2px solid #25d0d0;
      border-radius: 50%; }

p {
  line-height: 1.3; }

p:not(:last-child),
ul:not(:last-child) {
  margin-bottom: 0.7em; }

.arrow-link {
  color: #25d0d0; }
  .arrow-link i {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.3em; }
    .arrow-link i:before {
      content: " ";
      background-image: url("../img/arrow-circle.svg");
      background-repeat: no-repeat;
      background-size: contain;
      width: 2em;
      height: 2em;
      display: inline-block; }

a.arrow-link i {
  display: inline-block; }

a.arrow-link:hover i {
  animation: shake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px; }

@media (max-width: 991px) {
  .hide-on-mobile {
    display: none; } }

@media (min-width: 992px) {
  .hide-on-desktop {
    display: none; } }

.lines {
  position: relative;
  width: 500px;
  z-index: -1; }
  .lines i {
    display: block;
    background-color: inherit;
    height: 2px;
    width: calc( 100% - (13px * 2));
    margin: 0 13px;
    background-color: rgba(0, 0, 0, 0.1); }
    .lines i:before, .lines i:after {
      content: " ";
      display: block;
      position: absolute;
      left: 0px;
      width: 2px;
      height: 60px;
      background-color: inherit;
      top: 50%;
      transform: translateY(-50%); }
    .lines i:after {
      content: " ";
      left: auto;
      right: 0; }

.lines--vertical {
  position: absolute;
  height: 500px;
  z-index: -1; }
  .lines--vertical i {
    display: block;
    background-color: inherit;
    width: 2px;
    height: calc( 100% - (13px * 2));
    margin: 13px 0;
    background-color: rgba(0, 0, 0, 0.1); }
    .lines--vertical i:before, .lines--vertical i:after {
      content: " ";
      display: block;
      position: absolute;
      top: 0px;
      height: 2px;
      width: 60px;
      background-color: inherit;
      left: 50%;
      transform: translateX(-50%); }
    .lines--vertical i:after {
      content: " ";
      top: auto;
      bottom: 0; }

.keyline {
  position: absolute;
  bottom: 100%;
  left: 0;
  height: 5px;
  background-color: #25d0d0;
  max-width: 300px;
  width: 100%; }

body:before {
  content: "mobile";
  display: none;
  visibility: hidden; }

@media (min-width: 992px) {
  body:before {
    content: "desktop"; } }

.btn {
  color: white;
  border-color: #25d0d0;
  border-width: 3px;
  border-style: solid;
  background-color: #25d0d0;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3em;
  padding-left: 2em;
  padding-right: 2em;
  font-size: 1.1rem; }
  .btn--rounded {
    border-radius: 1.5em; }
  .btn--outline {
    background-color: transparent;
    color: #25d0d0; }

@keyframes shake {
  80% {
    transform: translate3d(0, 0, 0); }
  40% {
    transform: translate3d(5px, 0, 0); }
  10% {
    transform: translate3d(-2px, 0, 0); } }

@keyframes shakey {
  0% {
    transform: rotate(90deg); }
  80% {
    transform: rotate(90deg) translate3d(0, 0, 0); }
  40% {
    transform: rotate(90deg) translate3d(0, 5px, 0); }
  10% {
    transform: rotate(90deg) translate3d(0, -2px, 0); } }

.post-filter.section {
  padding: 0 1.5rem; }

.post-filter__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: -5px;
  margin-bottom: -5px; }

.post-filter__item {
  margin: 5px; }
  .post-filter__item.btn.current, .post-filter__item.btn:hover {
    background-color: #25d0d0;
    border-color: #25d0d0;
    color: white; }
  .post-filter__item.btn--close {
    padding-left: 0.5em;
    background-color: white;
    border-color: white;
    color: #1e2c3a; }
    .post-filter__item.btn--close:hover {
      background-color: white;
      border-color: white;
      color: #25d0d0; }

.site-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden; }

.site-main {
  margin-top: 120px;
  flex: 1 0 auto; }

body.admin-bar .site-wrapper {
  min-height: calc( 100vh - 32px); }

.site-header {
  position: fixed;
  text-align: center;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  top: 0;
  left: 0;
  right: 0;
  background-color: #1e2c3a;
  z-index: 9999;
  border-top: 20px solid #10171f; }
  .site-header.section {
    padding: inherit; }
  .site-header .logo {
    position: absolute;
    top: 0;
    left: 0;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 320px;
    padding: 0 1.5rem;
    padding-left: 2.5rem;
    box-sizing: content-box; }
    @media (max-width: 767px) {
      .site-header .logo {
        display: none; } }
    .site-header .logo--mobile {
      display: none; }
      @media (max-width: 767px) {
        .site-header .logo--mobile {
          display: block;
          position: absolute;
          left: 20px;
          z-index: 999; } }
      .site-header .logo--mobile img {
        width: 60px;
        height: auto; }
  .site-header .social-links {
    position: absolute;
    top: 0;
    right: 0;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.5rem;
    box-sizing: content-box;
    z-index: 999; }
    @media (max-width: 991px) {
      .site-header .social-links {
        display: none; } }
    .site-header .social-links li {
      font-size: 24px;
      margin: 0 0.2em; }
  .site-header__links {
    margin-right: 65px;
    font-size: 2.3rem;
    z-index: 999; }
    .site-header__links li {
      margin: 0 0px; }
      .site-header__links li a {
        color: white; }
        .site-header__links li a i {
          display: inline-block;
          transform: translateY(4px); }
        .site-header__links li a:hover {
          color: #25d0d0; }
    @media (min-width: 991px) {
      .site-header__links {
        display: none; } }
.site-footer {
  position: relative;
  background-color: #1e2c3a;
  color: white;
  border-top: 1px solid white;
  font-family: halcom, sans-serif; }
  .site-footer .columns {
    align-items: center; }
    @media (max-width: 1199px) {
      .site-footer .columns {
        display: block; } }
  .site-footer a {
    color: white;
    text-decoration: none; }
    .site-footer a:hover {
      color: #25d0d0; }
  .site-footer.section {
    padding-top: 50px;
    padding-bottom: 50px; }
  .site-footer__column--logo {
    text-align: center;
    display: none; }
    @media (min-width: 1200px) {
      .site-footer__column--logo {
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        padding: 0 1.5rem;
        padding-left: 2.5rem; } }
    .site-footer__column--logo img {
      max-width: 300px; }
    .site-footer__column--logo:before {
      content: "EST 2009";
      display: block;
      text-align: left;
      font-family: halcom, sans-serif;
      color: #798087;
      text-transform: uppercase;
      margin-bottom: 0.5em;
      font-size: 1.2rem; }
  .site-footer__column--contact-links {
    text-align: center; }
    @media (min-width: 1200px) {
      .site-footer__column--contact-links {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%); } }
  .site-footer__ciob-social {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    margin-top: 1rem; }
    .site-footer__ciob-social > li {
      width: 150px; }
  .site-footer__social-links {
    display: flex;
    align-items: center;
    justify-content: center; }
    .site-footer__social-links li {
      margin: 0 8px; }
    .site-footer__social-links a {
      border: 3px solid white;
      width: 48px;
      height: 48px;
      display: block;
      border-radius: 50%;
      position: relative;
      color: white;
      font-size: 26px; }
      .site-footer__social-links a > * {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: inherit; }
      .site-footer__social-links a:hover {
        color: #25d0d0;
        border-color: #25d0d0; }
  .site-footer__address {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 12px; }
  .site-footer__navigation {
    text-align: center;
    font-size: 12px; }
  .site-footer__contact-links {
    font-family: halcom, sans-serif;
    font-size: 21px;
    font-weight: bold;
    padding: 0 1.5rem; }
    @media (max-width: 991px) {
      .site-footer__contact-links {
        display: none; } }
.primary-navigation {
  transition: transform 100ms ease, opacity 100ms ease;
  padding: 0 1.5rem; }
  @media (max-width: 1199px) {
    .primary-navigation {
      background-color: #1e2c3a;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      text-align: left;
      transform: translateX(100%);
      opacity: 0;
      padding-left: 5rem; } }
  @media (max-width: 1199px) {
    .primary-navigation:before {
      content: " ";
      display: block;
      background-color: #10171f;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 20px; } }
  @media (max-width: 1199px) {
    .primary-navigation.show {
      opacity: 1;
      transform: translateX(0); } }
  @media (max-width: 1199px) {
    .primary-navigation.closing {
      opacity: 0; } }
  .primary-navigation__toggle {
    position: absolute;
    top: 50%;
    right: 0;
    margin: 0;
    z-index: 99999;
    transform: translateY(-50%); }
    @media (min-width: 1200px) {
      .primary-navigation__toggle {
        display: none !important; } }
  .primary-navigation__close {
    position: absolute;
    top: 50%;
    right: 0;
    margin: 0; }
    @media (min-width: 1200px) {
      .primary-navigation__close {
        display: none !important; } }
  .primary-navigation > ul > li {
    display: block;
    font-size: 1.4rem;
    font-family: halcom, sans-serif; }
    @media (max-width: 991px) {
      .primary-navigation > ul > li:not(:last-child) {
        margin-bottom: 1em; } }
    @media (min-width: 1200px) {
      .primary-navigation > ul > li {
        margin-bottom: 0;
        font-size: 1.1rem;
        padding: 0 1em;
        height: 80px;
        display: inline-flex !important;
        justify-content: center;
        align-items: center; } }
    .primary-navigation > ul > li > a {
      display: block;
      position: relative;
      color: white;
      text-decoration: none; }
    .primary-navigation > ul > li.current-menu-item > a,
    .primary-navigation > ul > li > a:hover {
      color: #25d0d0; }
    .primary-navigation > ul > li.sector a {
      font-weight: bold; }
  .primary-navigation a {
    color: inherit; }
    @media (max-width: 1199px) {
      .primary-navigation a {
        color: white; } }
  .primary-navigation .home-link a {
    font-weight: bold; }
  @media (min-width: 992px) {
    .primary-navigation .home-link {
      display: none !important; } }
  .primary-navigation__lines.lines--vertical {
    display: none; }
    @media (max-width: 1199px) {
      .primary-navigation__lines.lines--vertical {
        display: block;
        position: absolute;
        top: 50%;
        left: 3rem;
        height: 50%;
        transform: translateY(-50%); } }
    .primary-navigation__lines.lines--vertical i {
      background-color: black; }

/**/
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
  width: 35px;
  height: 30px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -3px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 35px;
    height: 6px;
    background-color: #fff;
    border-radius: 0px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -12px; }
  .hamburger-inner::after {
    bottom: -12px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 70px; }

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -12px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  perspective: 70px; }

.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -12px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  perspective: 70px; }

.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -12px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  perspective: 70px; }

.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -12px, 0) rotate(-45deg); }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  perspective: 70px; }

.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    transform: translate3d(0, -12px, 0) rotate(-45deg); }

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  perspective: 70px; }

.hamburger--3dxy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -12px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-7px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-7px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(7px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(7px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-7px, -8.75px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-7px, 8.75px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(7px, -8.75px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(7px, 8.75px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Turn
   */
.hamburger--arrowturn.is-active .hamburger-inner {
  transform: rotate(-180deg); }
  .hamburger--arrowturn.is-active .hamburger-inner::before {
    transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  .hamburger--arrowturn.is-active .hamburger-inner::after {
    transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Turn Right
   */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  transform: rotate(-180deg); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::before {
    transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::after {
    transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -24px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -12px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -24px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -12px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 3px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 12px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 24px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 12px, 0) rotate(135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -24px, 0) rotate(-270deg);
    transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 3px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 12px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 24px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 12px, 0) rotate(-135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -24px, 0) rotate(270deg);
    transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::after {
      top: 12px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -70px;
      top: -70px;
      transform: translate3d(70px, 70px, 0) rotate(45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -70px;
      top: -70px;
      transform: translate3d(-70px, 70px, 0) rotate(-45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 12px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -70px;
      top: 70px;
      transform: translate3d(70px, -70px, 0) rotate(-45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -70px;
      top: 70px;
      transform: translate3d(-70px, -70px, 0) rotate(45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 3px; }
  .hamburger--slider .hamburger-inner::before {
    top: 12px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 24px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-5px, -6px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -24px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 3px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 12px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 24px; }

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 12px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(5px, -6px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -24px, 0) rotate(90deg); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 3px;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 12px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 24px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 12px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 12px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -24px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -12px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

.contact {
  font-family: halcom, sans-serif;
  position: relative; }
  @media (min-width: 992px) {
    .contact:before {
      content: " ";
      position: absolute;
      bottom: 0;
      right: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(50%, 50%) scale(0.78); } }
  @media (min-width: 992px) {
    .contact:after {
      content: " ";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: calc( 75vw + 236px);
      background-color: #25d0d0;
      height: 5px;
      z-index: 999; } }
  .contact a {
    color: #1e2c3a; }
    .contact a:hover {
      color: #25d0d0; }
  .contact .container {
    max-width: none !important; }
  .contact.section {
    padding: 3rem 1.5rem;
    padding-bottom: 0; }
    @media (min-width: 992px) {
      .contact.section {
        padding: 0; } }
  .contact__map {
    height: 50vw;
    max-height: 953px;
    border-top: 5px solid #25d0d0; }
    @media (max-width: 991px) {
      .contact__map {
        display: none; } }
    .contact__map-inner {
      border-top: 5px solid white;
      height: 100%; }
    .contact__map .leaflet-control-attribution {
      display: none; }
  .contact__text {
    position: relative;
    line-height: 1.2; }
    @media (min-width: 992px) {
      .contact__text:after {
        content: " ";
        display: block;
        width: 100%;
        top: 0;
        left: 0;
        height: 100%;
        background-image: url("../img/contact-bg.png");
        background-repeat: no-repeat;
        background-position: center bottom; } }
    @media (max-width: 991px) {
      .contact__text:after {
        content: " ";
        position: absolute;
        display: block;
        width: 100%;
        top: 0;
        right: 0;
        height: 230px;
        background-image: url("../img/contact-bg.png");
        background-repeat: no-repeat;
        background-position: right top;
        background-size: contain;
        z-index: -1; } }
    @media (min-width: 992px) {
      .contact__text-inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); } }
  .contact__heading {
    font-size: 3rem;
    margin-bottom: 1em; }
    @media (max-width: 991px) {
      .contact__heading {
        font-size: 1.9rem;
        margin-bottom: 0.7em; } }
  .contact__links {
    font-size: 1.4rem;
    margin-bottom: 2em; }
    .contact__links ul li:not(:last-child) {
      margin-bottom: 0.7em; }
  .contact__address {
    font-size: 1.4rem;
    margin-bottom: 2em;
    position: relative; }
    @media (max-width: 991px) {
      .contact__address {
        margin-top: 6rem; } }
    @media (max-width: 991px) {
      .contact__address:before {
        content: "Visit our offices";
        position: absolute;
        bottom: 100%;
        left: 0;
        width: 100%;
        padding: 1.5rem 0;
        margin: 0; } }
    .contact__address-map {
      display: none;
      margin-bottom: 3rem;
      position: relative; }
      @media (max-width: 991px) {
        .contact__address-map {
          display: block;
          margin-left: -1.5rem;
          margin-right: -1.5rem; } }
      .contact__address-map:after {
        content: " ";
        display: block;
        width: calc( 100% - 3rem);
        height: calc( 100% + 10px);
        position: absolute;
        background-color: #25d0d0;
        top: -5px;
        left: 1.5rem;
        opacity: 0;
        transition: opacity 0s ease;
        transition-delay: 0s; }
      .contact__address-map.map-loaded:after {
        opacity: 1;
        transition: opacity 0.75s ease;
        transition-delay: 0.25s; }
      .contact__address-map-inner {
        height: 100vw;
        max-height: 480px; }
      .contact__address-map .leaflet-control-attribution {
        display: none; }
  .contact__w3w {
    font-size: 1.4rem; }
    @media (max-width: 991px) {
      .contact__w3w {
        padding: 1.5rem;
        background-color: black;
        color: white;
        margin-left: -1.5rem;
        margin-right: -1.5rem; } }
    .contact__w3w a {
      color: #1e2c3a; }
      @media (max-width: 991px) {
        .contact__w3w a {
          color: white; } }
    .contact__w3w:before {
      content: "Find us on What3Words";
      text-transform: uppercase;
      font-size: 0.7rem;
      font-weight: bold;
      display: block;
      color: grey;
      margin-bottom: 0.5em; }
  @media (min-width: 576px) and (max-width: 991px) {
    .contact__heading, .contact__links, .contact__address:before, .contact__address address {
      max-width: 540px;
      margin-left: auto;
      margin-right: auto;
      display: block;
      position: relative; } }
  @media (min-width: 576px) and (max-width: 991px) {
    .contact__address:before {
      margin-top: -4rem; } }
.multi-cta {
  font-family: halcom, sans-serif; }
  @media (max-width: 767px) {
    .multi-cta.section {
      margin-bottom: 3rem; } }
  .multi-cta__heading {
    text-align: center;
    font-size: 2rem;
    line-height: 1.2; }
    @media (max-width: 1199px) {
      .multi-cta__heading {
        font-size: 1.5rem; } }
    .multi-cta__heading a {
      color: inherit;
      font-weight: bold;
      text-decoration: underline; }
      .multi-cta__heading a:hover {
        color: #25d0d0; }
  .multi-cta__excerpt {
    text-align: center;
    margin-top: 1.3rem;
    font-size: 1.2rem; }
  @media (min-width: 992px) {
    .multi-cta__items {
      display: flex;
      justify-content: center; } }
  .multi-cta__item {
    text-align: center;
    margin: 40px 60px;
    font-weight: bold;
    font-size: 1.4rem; }
    @media (max-width: 991px) {
      .multi-cta__item {
        margin: 20px 0;
        font-size: 1.3rem; } }
    @media (max-width: 767px) {
      .multi-cta__item {
        margin: 20px 0;
        font-size: 1.1rem; } }
  .multi-cta--plus-logo {
    position: relative; }
    @media (min-width: 992px) {
      .multi-cta--plus-logo {
        padding-bottom: 0;
        padding-top: 4.5rem; } }
    @media (max-width: 991px) {
      .multi-cta--plus-logo:before {
        content: " ";
        background-image: url("../img/rcl-logo-new-dark.svg");
        /*
				filter: invert(1);
				*/
        display: block;
        width: 100%;
        padding-bottom: 15%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        margin-bottom: 2.1em; } }
    @media (max-width: 991px) {
      .multi-cta--plus-logo:after {
        content: " ";
        background-image: url("../img/white-r.svg");
        filter: invert(0.1);
        display: block;
        width: 64%;
        padding-bottom: 86%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: right top;
        position: absolute;
        top: -8%;
        right: 1.5rem;
        opacity: 0.3;
        z-index: -1; } }
@media (min-width: 992px) {
  .contact__multi-cta.section {
    padding-bottom: 3rem; } }

.project-excerpts {
  position: relative; }
  .project-excerpts__heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 0.7em; }
  .project-excerpts__item-text {
    background-color: #1e2c3a;
    color: white; }

.project-excerpt {
  font-family: halcom, sans-serif;
  background-color: #1e2c3a;
  display: flex;
  flex-direction: column;
  height: 100%; }
  .project-excerpt__image {
    overflow: hidden; }
    .project-excerpt__image-inner {
      transition: transform 750ms ease;
      transform: translate3d(0, 0, 0);
      will-change: transform; }
  .project-excerpt:hover .project-excerpt__image-inner {
    transform: scale(1.1); }
  .project-excerpt__text {
    background-color: #1e2c3a;
    color: white;
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex: 1; }
  .project-excerpt__heading {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 0.5em; }
  .project-excerpt__excerpt {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 1em; }
  .project-excerpt__cta {
    margin-top: auto;
    font-size: 1.1rem;
    font-weight: bold; }
  .project-excerpt:hover .project-excerpt__cta i {
    animation: shake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px; }

.project-excerpts__item:first-child .project-excerpt,
.related-projects__item:first-child .project-excerpt,
.sector-project-grid__item:first-child .project-excerpt,
.project-grid__item:first-child .project-excerpt {
  position: relative; }
  .project-excerpts__item:first-child .project-excerpt:before,
  .related-projects__item:first-child .project-excerpt:before,
  .sector-project-grid__item:first-child .project-excerpt:before,
  .project-grid__item:first-child .project-excerpt:before {
    content: " ";
    position: absolute;
    bottom: 100%;
    left: 0;
    height: 5px;
    background-color: #25d0d0;
    min-width: 120px;
    width: 75%; }

.sector-project-grid__items {
  position: relative; }
  @media (max-width: 991px) {
    .sector-project-grid__items:before {
      content: " ";
      position: absolute;
      bottom: 100%;
      left: 1.5rem;
      right: 1.5rem;
      height: 5px;
      background-color: #25d0d0; } }
@media (min-width: 992px) {
  .contact__featured-projects.section {
    padding: 3rem 1.5rem; } }

.hero {
  font-family: halcom, sans-serif;
  position: relative; }
  .hero--bg-white {
    background-color: white; }
  .hero--bg-turquoise {
    background-color: #25d0d0; }
  .hero--bg-dark-blue {
    background-color: #1e2c3a;
    color: white;
    background-image: linear-gradient(0deg, #0f161f, #1f2c3a); }
  .hero.section {
    padding-top: 3rem;
    padding-bottom: 3rem; }
    @media (min-width: 992px) {
      .hero.section {
        padding-top: 5rem;
        padding-bottom: 4rem; } }
  .hero__heading {
    font-size: 3em;
    margin-bottom: 0.3em; }
    @media (max-width: 991px) {
      .hero__heading {
        font-size: 2em;
        font-weight: bold;
        margin-bottom: 0.6em; } }
  .hero__excerpt {
    font-size: 1.3rem;
    line-height: 1.3; }
  .hero--plus-clip-image.section {
    padding-top: 3rem;
    padding-bottom: 0; }
    @media (min-width: 992px) {
      .hero--plus-clip-image.section {
        padding-top: 9rem;
        padding-bottom: 9rem; } }
  .hero--plus-clip-image {
    display: flex; }
    @media (max-width: 991px) {
      .hero--plus-clip-image {
        flex-direction: column; } }
    @media (min-width: 992px) {
      .hero--plus-clip-image:before {
        content: " ";
        position: absolute;
        bottom: 0;
        right: 0;
        background-image: url("../img/lines.svg");
        background-size: contain;
        width: 0.94em;
        height: 0.65em;
        z-index: 9;
        font-size: 19rem;
        background-position: center;
        transform: translate(50%, 50%) scale(0.78); } }
  .hero--plus-clip-image .hero__clip-image {
    position: relative;
    flex: 1;
    margin-left: -1.5rem;
    margin-top: -9rem;
    margin-bottom: -9rem; }
  .hero--plus-clip-image .container {
    order: -1; }
    @media (min-width: 992px) {
      .hero--plus-clip-image .container {
        order: 1;
        flex: none;
        width: 770px;
        margin-right: -1.5rem; } }
  @media (min-width: 992px) {
    .hero--plus-clip-image .hero__heading, .hero--plus-clip-image .hero__excerpt {
      max-width: 520px;
      margin-left: auto;
      margin-right: auto; } }
  .hero--plus-clip-image .hero__clip-image-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
  .hero--plus-clip-image .hero__excerpt p {
    font-size: 1.1rem; }
    @media (max-width: 991px) {
      .hero--plus-clip-image .hero__excerpt p {
        display: none; } }
    .hero--plus-clip-image .hero__excerpt p:first-child {
      font-size: 1.3rem; }
      @media (max-width: 991px) {
        .hero--plus-clip-image .hero__excerpt p:first-child {
          display: block; } }
  .hero--plus-clip-image svg {
    width: calc( 100% + 3rem);
    margin-left: -1.5rem;
    margin-top: 4rem;
    height: 200px; }
    @media (min-width: 992px) {
      .hero--plus-clip-image svg {
        margin-left: 0;
        margin-top: 0;
        width: calc( 100% - 770px);
        max-width: 1135px;
        min-width: 630px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0; } }
  .hero--plus-logo.section {
    padding-bottom: 6rem; }
    @media (max-width: 991px) {
      .hero--plus-logo.section {
        padding-top: 3rem;
        padding-bottom: 0;
        margin-bottom: 0; } }
    @media (max-width: 767px) {
      .hero--plus-logo.section {
        padding-top: 3rem;
        padding-bottom: 0;
        margin-bottom: 3rem; } }
  @media (min-width: 992px) {
    .hero--plus-logo .container {
      display: flex;
      align-items: flex-end; } }
  @media (min-width: 992px) {
    .hero--plus-logo .hero__text {
      flex: 1;
      margin-top: 3rem;
      padding: 0 1.5rem;
      margin-left: -1.5rem; } }
  .hero--plus-logo .hero__logo {
    margin-top: 3rem; }
    @media (min-width: 992px) {
      .hero--plus-logo .hero__logo {
        margin0top: 0;
        width: 400px;
        flex: none;
        margin-bottom: -6rem;
        padding: 0 1.5rem;
        margin-right: -1.5rem; } }
.job-excerpts {
  font-family: halcom, sans-serif; }
  @media (max-width: 991px) {
    .job-excerpts.section {
      padding-bottom: 0; } }
  .job-excerpts__heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 2.3em;
    position: relative;
    padding-bottom: 0.8em; }
    .job-excerpts__heading:after {
      content: " ";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 320px;
      background-color: #25d0d0;
      height: 5px;
      z-index: 999; }
  .job-excerpts__item {
    padding: 50px;
    padding-bottom: 0;
    padding-top: 310px;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
    @media (max-width: 991px) {
      .job-excerpts__item {
        padding: 1.5rem;
        padding-bottom: 0;
        padding-top: 14rem; } }
    .job-excerpts__item:not(:last-child) {
      margin-bottom: 40px; }
    .job-excerpts__item:before {
      content: " ";
      background-image: url("../img/big-R.svg");
      background-repeat: no-repeat;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 140px;
      z-index: 9;
      margin: 50px;
      height: 130px;
      opacity: 0.2; }
      @media (max-width: 991px) {
        .job-excerpts__item:before {
          margin: 1.5rem; } }
    .job-excerpts__item:after {
      content: " ";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(30, 44, 58, 0.8);
      z-index: 0; }
    .job-excerpts__item-text {
      background-color: white;
      border-right: 10px solid #25d0d0;
      padding: 1.5rem;
      position: relative;
      z-index: 9; }
      @media (min-width: 992px) {
        .job-excerpts__item-text {
          padding: 40px 30px;
          max-width: 60%;
          display: flex;
          justify-content: space-between;
          align-items: center; } }
      .job-excerpts__item-text:before {
        content: "We're looking for";
        display: block;
        color: #25d0d0;
        font-size: 1.4rem;
        position: absolute;
        bottom: 100%;
        left: 0;
        margin-bottom: 0.8em;
        font-weight: bold; }
    .job-excerpts__item-heading {
      text-transform: uppercase;
      font-weight: bold;
      font-size: 1.3rem;
      letter-spacing: 0.1em;
      line-height: 1.1;
      color: #1e2c3a; }
      @media (max-width: 991px) {
        .job-excerpts__item-heading {
          margin-bottom: 0.5em; } }
    .job-excerpts__item-cta {
      padding-right: 40px;
      font-weight: bold;
      font-size: 1rem; }
      .job-excerpts__item-cta a:before {
        content: "More details"; }
      .job-excerpts__item-cta a i {
        transform: rotate(90deg);
        will-change: transform; }
      .job-excerpts__item-cta a:hover i {
        transform: rotate(90deg);
        animation: none; }
      .job-excerpts__item-cta a.open:before {
        content: "Less details"; }
      .job-excerpts__item-cta a.open i {
        transform: translateX(3px) rotate(-90deg); }
      .job-excerpts__item-cta a.open:hover i {
        transform: translateX(3px) rotate(-90deg);
        animation: none; }
    .job-excerpts__item-description {
      padding: 0;
      margin-bottom: 5rem;
      font-size: 1.1rem; }
      @media (min-width: 992px) {
        .job-excerpts__item-description {
          font-size: 1.3rem;
          padding: 0 80px; } }
      .job-excerpts__item-description strong {
        font-weight: bold; }
      .job-excerpts__item-description a:hover {
        text-decoration: underline; }
      .job-excerpts__item-description ul {
        list-style-type: disc;
        padding-inline-start: 1.5rem; }
        .job-excerpts__item-description ul li {
          line-height: 1.3; }

.staff {
  padding-bottom: 0;
  font-family: halcom, sans-serif; }
  @media (max-width: 991px) {
    .staff.section {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media (max-width: 767px) {
    .staff.section {
      padding-top: 0;
      padding-bottom: 0; } }
  .staff__heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 3rem;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between; }
    @media (max-width: 767px) {
      .staff__heading {
        background-color: rgba(255, 255, 255, 0.9);
        position: absolute;
        bottom: 100%;
        left: 0;
        width: 100%;
        padding: 1.5rem;
        margin: 0; } }
  .staff__office-contact {
    text-transform: none;
    color: #7D7D7D; }
    .staff__office-contact:before {
      content: "Main office: ";
      display: inline-block; }
    .staff__office-contact ul.h-nav {
      display: inline-block; }
      .staff__office-contact ul.h-nav li {
        font-weight: normal; }
        .staff__office-contact ul.h-nav li:not(:first-child) {
          border-color: #7d7d7d; }
        .staff__office-contact ul.h-nav li a {
          color: #7D7D7D; }
          .staff__office-contact ul.h-nav li a:hover {
            color: #25d0d0; }
    @media (max-width: 991px) {
      .staff__office-contact {
        display: none; } }
  .staff__items.columns {
    display: none !important; }
    @media (max-width: 991px) {
      .staff__items.columns {
        margin-top: 0; } }
  @media (max-width: 767px) {
    .staff__item.column {
      display: block;
      padding: 1.5rem 0.75rem; } }
  @media (max-width: 767px) {
    .staff__item.column:not(:first-child) {
      padding-top: 0; } }
  .staff__item-inner {
    position: relative; }
  .staff__item-image-inner {
    padding-bottom: 75%; }
  .staff__item-text {
    background-color: rgba(255, 255, 255, 0.5);
    color: #1e2c3a;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 90px;
    padding: 15px; }
  .staff__item-name {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 0.2em; }
  .staff__item-postnominals {
    font-weight: bold;
    color: #1e2c3a;
    margin-bottom: 0.4em;
    line-height: 1.1;
    font-size: 0.85rem; }
  .staff__item-role {
    font-size: 0.9rem;
    font-weight: bold;
    text-transform: uppercase; }
  .staff__item-links {
    position: absolute;
    top: 0;
    right: 0;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .staff__item-links li {
      margin: 0 5px;
      font-size: 1.5rem; }
      .staff__item-links li a {
        color: #1e2c3a; }
        .staff__item-links li a:hover {
          color: #25d0d0; }
  .staff__item-email a i[class^=ss-] {
    display: inline-block;
    transform: translateY(2px) scale(1.2); }
  .staff__item--ad .staff__item-inner {
    background-color: #1e2c3a;
    position: relative; }
    .staff__item--ad .staff__item-inner:before {
      content: " ";
      background-image: url("../img/big-R.svg");
      background-repeat: no-repeat;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 140px;
      z-index: 9;
      margin: 1.5rem;
      height: 130px;
      opacity: 0.1; }
      @media (max-width: 991px) {
        .staff__item--ad .staff__item-inner:before {
          margin: 1.5rem; } }
  .staff__item--ad .staff__item-text {
    background-color: transparent;
    color: white;
    padding: 0.8rem 1.5rem; }
    @media (max-width: 1215px) {
      .staff__item--ad .staff__item-text {
        padding: 0.8rem 1.5rem; } }
    @media (min-width: 1408px) {
      .staff__item--ad .staff__item-text {
        padding: 40px 70px; } }
    @media (max-width: 991px) {
      .staff__item--ad .staff__item-text {
        padding: 40px 70px; } }
    @media (max-width: 479px) {
      .staff__item--ad .staff__item-text {
        padding: 0.8rem 1.5rem; } }
  .staff__item--ad-heading {
    font-size: 1.3rem;
    margin-bottom: 0.6em;
    line-height: 1.2; }
    @media (min-width: 1024px) {
      .staff__item--ad-heading {
        font-size: 1.3rem; } }
    @media (min-width: 1216px) {
      .staff__item--ad-heading {
        font-size: 1.8rem; } }
    @media (max-width: 991px) {
      .staff__item--ad-heading {
        font-size: 1.8rem; } }
  .staff__item--ad-subheading {
    margin-bottom: 0.5em; }
    @media (min-width: 992px) {
      .staff__item--ad-subheading {
        margin-bottom: 0.5em; } }
    @media (min-width: 1216px) {
      .staff__item--ad-subheading {
        margin-bottom: 0.5em; } }
    @media (min-width: 1408px) {
      .staff__item--ad-subheading {
        margin-bottom: 1.3em; } }
    @media (max-width: 991px) {
      .staff__item--ad-subheading {
        margin-bottom: 1.3em; } }
  .staff__items.columns {
    display: block; }
    @media (min-width: 992px) {
      .staff__items.columns {
        display: flex;
        flex-wrap: wrap; } }
    @media (min-width: 1024px) {
      .staff__items.columns {
        display: flex;
        flex-wrap: wrap; } }
  @media (min-width: 992px) {
    .staff__item.column {
      width: 50%;
      flex: none; } }
  @media (min-width: 1024px) {
    .staff__item.column {
      width: 33.333%;
      flex: none; } }
.full-width-text {
  font-family: halcom, sans-serif; }
  .full-width-text.section {
    padding-top: 3rem;
    padding-bottom: 3rem; }
    @media (min-width: 992px) {
      .full-width-text.section {
        padding-top: 5rem; } }
  .full-width-text__heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 0.7em;
    text-transform: uppercase;
    line-height: 1.2; }
  .full-width-text__excerpt p:first-child {
    font-size: 1.3rem; }
  .full-width-text__excerpt p {
    font-size: 1.1rem; }
  .full-width-text__excerpt h2 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 0.7rem; }
    .full-width-text__excerpt h2:not(:first-of-type) {
      margin-top: 1.4rem; }
  .full-width-text__excerpt h3 {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 0.7rem;
    margin-top: 1.4rem; }
  .full-width-text__excerpt ul {
    list-style: disc;
    padding-inline-start: 20px;
    font-size: 1.1rem;
    margin-top: 2rem; }
    @media (min-width: 768px) {
      .full-width-text__excerpt ul {
        column-count: 2; } }
    .full-width-text__excerpt ul li {
      margin-bottom: 1rem; }

.home-grid {
  position: relative;
  font-family: halcom, sans-serif;
  padding-bottom: 6rem;
  padding-top: 4rem; }
  @media (min-width: 992px) {
    .home-grid {
      padding-bottom: 0;
      padding-top: 0; } }
  @media (min-width: 992px) {
    .home-grid.section {
      padding: 0; } }
  @media (min-width: 1200px) {
    .home-grid:before {
      content: " ";
      position: absolute;
      top: 0;
      left: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(-50%, 0%) scale(0.78); } }
  @media (min-width: 992px) {
    .home-grid:after {
      content: " ";
      display: block;
      width: 100%;
      background-color: rgba(0, 0, 0, 0.1);
      height: 90%;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1; } }
  .home-grid .container {
    max-width: 1030px;
    position: relative; }
  @media (min-width: 1200px) {
    .home-grid__items:before {
      content: " ";
      display: block;
      width: 100%;
      padding-bottom: 65%; } }
  .home-grid__item {
    position: relative;
    display: block; }
    @media (max-width: 1199px) {
      .home-grid__item {
        border-bottom: 1px solid white; } }
    @media (min-width: 1200px) {
      .home-grid__item {
        position: absolute;
        width: 50%;
        height: 50%; }
        .home-grid__item:nth-child(1) {
          width: 55%;
          top: 0;
          left: 0; }
        .home-grid__item:nth-child(2) {
          width: 55%;
          bottom: 0;
          left: 0;
          border-top: 1px solid white; }
        .home-grid__item:nth-child(3) {
          width: 45%;
          top: 0;
          right: 0;
          height: 100%;
          border-left: 1px solid white; } }
    .home-grid__item-content {
      position: absolute;
      z-index: 1;
      background-color: #1e2c3a;
      bottom: 0;
      left: 0;
      width: calc( 100% - 40px);
      margin: 20px;
      padding: 25px 20px;
      color: white;
      top: auto;
      right: auto; }
      @media (min-width: 1200px) {
        .home-grid__item-content {
          bottom: auto;
          top: 0;
          left: 0;
          max-width: 303px;
          width: auto; } }
    .home-grid__item-image {
      overflow: hidden; }
      @media (min-width: 1200px) {
        .home-grid__item-image {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; } }
      .home-grid__item-image-inner {
        background-size: cover;
        background-position: center;
        padding-bottom: 100%;
        transition: transform 750ms ease;
        will-change: transform;
        transform: translate3d(0, 0, 0); }
        @media (min-width: 1200px) {
          .home-grid__item-image-inner {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            padding-bottom: 0; } }
    .home-grid__item:hover .home-grid__item-image-inner {
      transform: scale(1.1); }
    .home-grid__item-heading {
      font-size: 1.2rem;
      margin-bottom: 0.5em;
      font-weight: bold; }
    .home-grid__item-excerpt {
      font-size: 0.9rem;
      line-height: 1.2;
      padding-right: 40px; }
    .home-grid__item-cta {
      position: absolute;
      bottom: 15px;
      right: 15px; }
    .home-grid__item:hover .home-grid__item-cta {
      animation: shake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
      transform: translate3d(0, 0, 0);
      backface-visibility: hidden;
      perspective: 1000px; }
    @media (min-width: 1200px) {
      .home-grid__item:nth-child(1) .home-grid__item-content {
        bottom: 0;
        top: auto; }
      .home-grid__item:nth-child(2) .home-grid__item-content {
        top: auto;
        left: auto;
        bottom: 0;
        right: 0; }
      .home-grid__item:nth-child(3) {
        top: 0;
        right: 0;
        height: 100%;
        border-left: 1px solid white; } }
  .home-grid__lines--top.lines {
    position: absolute;
    bottom: calc( 100% + 3rem);
    left: 10%;
    transform: rotate(90deg);
    transform-origin: left bottom; }
    @media (max-width: 991px) {
      .home-grid__lines--top.lines {
        left: 50%; } }
  .home-grid__lines--bottom.lines {
    position: absolute;
    top: calc( 100% + 3rem);
    right: 25vw;
    width: 100vw; }
    @media (min-width: 991px) {
      .home-grid__lines--bottom.lines {
        display: none; } }
.home-hero {
  position: relative;
  font-family: halcom, sans-serif; }
  @media (max-width: 991px) {
    .home-hero {
      margin-bottom: 6rem; } }
  @media (min-width: 1200px) {
    .home-hero:after {
      content: " ";
      position: absolute;
      bottom: 0;
      right: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(50%, 50%) scale(0.78); } }
  .home-hero__content {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 5%;
    color: white;
    width: 50vw;
    height: 50vw;
    max-width: 792px;
    max-height: 792px;
    padding: 70px;
    z-index: 9;
    opacity: 0;
    transition: opacity 2250ms ease; }
    .home-hero__content.loaded {
      opacity: 1; }
    @media (max-width: 1199px) {
      .home-hero__content {
        display: none; } }
  @media (max-width: 1215px) {
    .home-hero__projects {
      position: absolute;
      display: block;
      width: 100%;
      bottom: 0;
      left: 0; } }
  .home-hero__project {
    opacity: 0;
    transform: translateX(-100%);
    position: absolute;
    background-color: rgba(30, 44, 58, 0.9);
    bottom: 0;
    left: 0;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    width: 100%;
    z-index: 999;
    transition: transform 2250ms cubic-bezier(0.19, 1, 0.22, 1);
    will-change: transition; }
    @media (min-width: 1216px) {
      .home-hero__project {
        max-width: 680px;
        bottom: -20px;
        padding: 50px 20px 60px 2.5rem; } }
    .home-hero__project.active {
      opacity: 1;
      transform: translateX(0); }
    .home-hero__project.visited {
      opacity: 0;
      transform: translateX(0); }
    .home-hero__project:hover .home-hero__project-cta {
      animation: shake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
      transform: translate3d(0, 0, 0);
      backface-visibility: hidden;
      perspective: 1000px; }
    .home-hero__project-heading {
      font-size: 1.5rem;
      margin-bottom: 0.1em; }
      @media (min-width: 992px) {
        .home-hero__project-heading {
          font-size: 2rem; } }
    .home-hero__project-sector {
      font-size: 0.8rem;
      text-transform: uppercase;
      color: #25d0d0; }
      @media (min-width: 1200px) {
        .home-hero__project-sector {
          margin-bottom: 1em; } }
    .home-hero__project-excerpt {
      font-size: 1.1rem; }
      @media (max-width: 1199px) {
        .home-hero__project-excerpt {
          display: none; } }
    .home-hero__project-cta {
      width: 50px;
      margin-top: 0.4em; }
      @media (min-width: 1200px) {
        .home-hero__project-cta {
          margin-left: 60px;
          margin-top: 1em; } }
  .home-hero__heading {
    font-size: 3.4rem;
    letter-spacing: 0.03em;
    line-height: 1.1;
    margin-bottom: 0em; }
    .home-hero__heading u {
      position: relative;
      text-decoration: none; }
      .home-hero__heading u span {
        position: relative;
        z-index: 9; }
      .home-hero__heading u:after {
        content: " ";
        position: absolute;
        width: 100%;
        background-color: #25d0d0;
        height: 12px;
        left: 0;
        bottom: 8px;
        opacity: 0.8; }
  .home-hero__item {
    position: relative; }
    .home-hero__item-content {
      visibility: hidden;
      position: relative;
      background-color: rgba(0, 0, 0, 0.3);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-left: 5%;
      color: white;
      width: 50vw;
      height: 50vw;
      max-width: 792px;
      max-height: 792px;
      padding: 70px; }
      @media (max-width: 1199px) {
        .home-hero__item-content {
          display: none; } }
    .home-hero__item-image {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      padding-bottom: 0; }
      @media (min-width: 1200px) {
        .home-hero__item-image {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          padding-bottom: 0; } }
    .home-hero__item-project {
      visibility: hidden;
      position: absolute;
      background-color: rgba(30, 44, 58, 0.9);
      bottom: 0;
      left: 0;
      color: white;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px;
      width: 100%; }
      @media (min-width: 1200px) {
        .home-hero__item-project {
          bottom: -20px;
          width: auto;
          justify-content: center;
          padding: 50px 20px 60px; } }
      .home-hero__item-project:hover .home-hero__item-project-cta {
        animation: shake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
        transform: translate3d(0, 0, 0);
        backface-visibility: hidden;
        perspective: 1000px; }
      .home-hero__item-project-heading {
        font-size: 1.5rem;
        margin-bottom: 0.1em; }
        @media (min-width: 992px) {
          .home-hero__item-project-heading {
            font-size: 2rem; } }
      .home-hero__item-project-sector {
        font-size: 0.8rem;
        text-transform: uppercase;
        color: #25d0d0; }
        @media (min-width: 1200px) {
          .home-hero__item-project-sector {
            margin-bottom: 1em; } }
      .home-hero__item-project-excerpt {
        font-size: 1.1rem; }
        @media (max-width: 1199px) {
          .home-hero__item-project-excerpt {
            display: none; } }
      .home-hero__item-project-cta {
        width: 50px;
        margin-top: 0.4em; }
        @media (min-width: 1200px) {
          .home-hero__item-project-cta {
            margin-left: 60px;
            margin-top: 1em; } }
    .home-hero__item-heading {
      font-size: 3.4rem;
      letter-spacing: 0.03em;
      line-height: 1.1;
      margin-bottom: 0em; }
      .home-hero__item-heading u {
        position: relative;
        text-decoration: none; }
        .home-hero__item-heading u span {
          position: relative;
          z-index: 9; }
        .home-hero__item-heading u:after {
          content: " ";
          position: absolute;
          width: 100%;
          background-color: #25d0d0;
          height: 12px;
          left: 0;
          bottom: 8px;
          opacity: 0.8; }
  @media (min-width: 1200px) {
    .home-hero .owl-item {
      padding-bottom: 20px; } }
  .home-hero .home-hero__keyline--top {
    display: none;
    width: 100%;
    height: 5px;
    background-image: linear-gradient(90deg, white 0%, white 20%, #25d0d0 20%, #25d0d0 40%, white 40%, white 100%);
    opacity: 0.9;
    position: relative;
    margin-bottom: -5px;
    z-index: 9; }
  @media (min-width: 1200px) {
    .home-hero .home-hero__keyline--bottom {
      display: block;
      width: 100%;
      height: 8px;
      background-image: linear-gradient(90deg, white 0%, white 33.333%, #25d0d0 33.333%, #25d0d0 66.666%, white 66.666%, white 100%);
      opacity: 1;
      margin-top: -20px; } }
  .home-hero__items.owl-carousel {
    display: block; }
  .home-hero__item {
    min-height: 385px;
    height: 56.25vw; }
    @media (min-width: 992px) {
      .home-hero__item {
        height: 50vw;
        max-height: 792px; } }
  .home-hero__items .home-hero__item:before {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    background-color: white;
    transition: opacity 2250ms cubic-bezier(0.645, 0.045, 0.355, 1);
    opacity: 1; }
  .home-hero__items.owl-loaded .home-hero__item:before {
    opacity: 0; }
  .home-hero__loading-indicator {
    display: flex;
    position: absolute;
    top: 0;
    width: 100%;
    height: 5px;
    left: 0;
    z-index: 99; }
    .home-hero__loading-indicator i {
      flex: 1;
      height: 5px;
      background-color: rgba(255, 255, 255, 0.5);
      position: relative; }
      .home-hero__loading-indicator i:before {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: scaleX(0);
        transform-origin: 0 0;
        transition: transform 0ms linear;
        background-color: #25d0d0; }
      .home-hero__loading-indicator i.active:before {
        transition: transform 8000ms linear;
        transform: scaleX(1); }

.home-intro {
  font-family: halcom, sans-serif;
  text-align: center;
  position: relative; }
  @media (min-width: 992px) {
    .home-intro.section {
      padding-top: 6rem;
      padding-bottom: 2.5rem; } }
  .home-intro .container {
    max-width: 710px; }
  .home-intro__heading {
    font-weight: bold;
    font-size: 1.3rem;
    margin-bottom: 1em; }
    @media (min-width: 992px) {
      .home-intro__heading {
        margin-bottom: 1rem; } }
  .home-intro__subheading {
    line-height: 1.2;
    font-size: 1rem; }
  .home-intro:after {
    content: " ";
    display: block;
    width: 231px;
    height: 206px;
    background-image: url("../img/grey-r.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1; }

.sector-carousel {
  font-family: halcom, sans-serif;
  position: relative; }
  .sector-carousel.section {
    padding: 3rem 0;
    margin-top: 0; }
    @media (min-width: 1216px) {
      .sector-carousel.section {
        margin-top: 0;
        padding: 0; } }
  @media (min-width: 1216px) {
    .sector-carousel:before {
      content: " ";
      position: absolute;
      top: 50%;
      right: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(50%, -50%) scale(0.78); } }
  .sector-carousel:after {
    content: " ";
    display: block;
    background-color: #1e2c3a;
    position: absolute;
    z-index: -1;
    top: 8rem;
    left: 0;
    width: 100%;
    height: calc( 100% - 14rem); }
    @media (min-width: 1216px) {
      .sector-carousel:after {
        top: auto;
        left: 0;
        bottom: 0;
        margin-bottom: 0.75rem;
        width: 60vw;
        height: 60%; } }
  @media (max-width: 1215px) {
    .sector-carousel .container {
      max-width: 100%; } }
  .sector-carousel__content {
    background-color: #efefef;
    padding: 40px;
    transform: translate3d(0, 0, 0); }
    @media (max-width: 1215px) {
      .sector-carousel__content {
        padding: 3rem;
        margin-bottom: -3rem;
        position: relative;
        z-index: 999; } }
    @media (max-width: 767px) {
      .sector-carousel__content {
        padding: 1.5rem; } }
  .sector-carousel__heading {
    font-size: 1.3rem;
    margin-bottom: 0.7em;
    font-weight: bold; }
  .sector-carousel__excerpt {
    font-size: 1.3rem;
    line-height: 1.1; }
    @media (max-width: 1215px) {
      .sector-carousel__excerpt {
        font-size: 1.1rem; } }
  .sector-carousel .columns {
    align-items: flex-end; }
    @media (max-width: 1215px) {
      .sector-carousel .columns {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        padding: 0 1.5rem;
        margin-top: 0; } }
  .sector-carousel__items-column {
    width: calc( 100% - 2rem);
    align-self: flex-start;
    padding-top: 0;
    padding-bottom: 0; }
    @media (min-width: 768px) {
      .sector-carousel__items-column {
        width: 100%;
        max-width: 640px; } }
    @media (min-width: 1216px) {
      .sector-carousel__items-column {
        flex: none;
        width: 60%;
        padding: 0.75rem;
        max-width: none; } }
  .sector-carousel__content-column {
    order: -1;
    width: calc( 100% - 2rem);
    padding-top: 0;
    padding-bottom: 0; }
    @media (min-width: 768px) {
      .sector-carousel__content-column {
        width: 100%;
        max-width: 640px; } }
    @media (min-width: 1216px) {
      .sector-carousel__content-column {
        order: 1;
        flex: none;
        width: 40%;
        padding: 0.75rem;
        padding-left: 0;
        max-width: none; } }
  .sector-carousel__item-image-inner.bg-image {
    padding-bottom: 100%; }
    @media (min-width: 768px) {
      .sector-carousel__item-image-inner.bg-image {
        padding-bottom: 66.79%; } }
    @media (min-width: 1216px) {
      .sector-carousel__item-image-inner.bg-image {
        padding-bottom: 66.79%; } }
  .sector-carousel .owl-dots {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 15px; }
  .sector-carousel .owl-theme .owl-dots .owl-dot span {
    border-radius: 0;
    margin: 1px;
    width: 10px;
    height: 10px;
    background-color: white;
    opacity: 0.3; }
  .sector-carousel .owl-theme .owl-dots .owl-dot.active span, .sector-carousel .owl-theme .owl-dots .owl-dot:hover span {
    background-color: #25d0d0;
    opacity: 1; }
  .sector-carousel__lines.lines--vertical {
    position: absolute;
    left: 50%;
    top: 0; }

.sector-project-grid {
  font-family: halcom, sans-serif;
  position: relative; }
  @media (max-width: 991px) {
    .sector-project-grid.section {
      padding-top: 3rem; } }
  @media (min-width: 992px) {
    .sector-project-grid:before {
      content: " ";
      position: absolute;
      bottom: 0;
      left: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(-50%, -50%) scale(0.78); } }
  .sector-project-grid .columns {
    flex-wrap: wrap; }
    @media (max-width: 991px) {
      .sector-project-grid .columns {
        display: block; } }
  .sector-project-grid__items-column {
    margin-bottom: 3rem; }
    @media (min-width: 1216px) {
      .sector-project-grid__items-column {
        margin-bottom: 0;
        width: 66.666%;
        width: 100%;
        flex: none; } }
  .sector-project-grid__contact-column {
    display: none;
    width: 100%;
    flex: none; }
    @media (min-width: 1216px) {
      .sector-project-grid__contact-column {
        width: 33.333%;
        flex: none;
        padding-left: 3rem;
        padding-right: 3rem; } }
  .sector-project-grid__column-heading, .sector-project-grid__specialist-areas-heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 0.7em; }
  .sector-project-grid__contact .sector-project-grid__column-heading {
    position: relative; }
    .sector-project-grid__contact .sector-project-grid__column-heading:before {
      content: attr(data-prefix);
      position: absolute;
      bottom: 100%;
      left: 0;
      text-transform: uppercase;
      color: #25d0d0;
      font-weight: normal;
      font-size: 0.8em;
      margin-bottom: 0.4em; }
  .sector-project-grid__items {
    position: relative; }
    .sector-project-grid__items.columns {
      flex-wrap: wrap; }
      @media (max-width: 991px) {
        .sector-project-grid__items.columns {
          display: block; } }
    @media (max-width: 991px) {
      .sector-project-grid__items {
        width: auto !important;
        margin-left: -1.5rem;
        margin-right: -1.5rem; } }
    .sector-project-grid__items-load-more {
      margin-top: 3rem;
      text-align: center; }
  .sector-project-grid__item.column {
    padding: 0; }
    @media (min-width: 992px) {
      .sector-project-grid__item.column {
        flex: none;
        width: 50%;
        padding: 0.75rem; } }
  @media (max-width: 991px) {
    .sector-project-grid__contact {
      display: flex;
      flex-direction: column; } }
  @media (max-width: 991px) {
    .sector-project-grid__specialist-areas {
      order: -1;
      margin-bottom: 6rem; } }
  .sector-project-grid__specialist-areas ul {
    list-style: disc;
    padding-inline-start: 2rem; }
    .sector-project-grid__specialist-areas ul li {
      font-size: 1.6rem; }
      .sector-project-grid__specialist-areas ul li:not(:last-child) {
        margin-bottom: 1rem; }
      .sector-project-grid__specialist-areas ul li span {
        font-size: 1.1rem;
        display: inline-block;
        transform: translateY(-2px); }
  .sector-project-grid__lines.lines--vertical {
    position: absolute;
    left: 50%;
    top: 0; }
    @media (min-width: 992px) {
      .sector-project-grid__lines.lines--vertical {
        display: none; } }
.key-contact {
  margin-bottom: 40px;
  display: none; }
  @media (min-width: 992px) {
    .key-contact {
      display: block; } }
  .key-contact__image {
    margin-top: 30px;
    margin-bottom: 30px; }
    .key-contact__image-inner {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      padding-bottom: 100%;
      border-radius: 50%;
      box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
      position: relative; }
      .key-contact__image-inner:after {
        content: " ";
        display: block;
        background-color: #25d0d0;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        transform: scaleY(0.9); }
  .key-contact__name {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 0.3em; }
  .key-contact__role {
    text-transform: uppercase;
    font-size: 1rem;
    margin-bottom: 1em; }
  .key-contact__postnominals {
    font-size: 1rem;
    color: grey;
    display: block;
    margin-top: 0.4em; }
  .key-contact__links {
    font-size: 1rem;
    font-weight: bold; }
    @media (min-width: 992px) {
      .key-contact__links {
        display: flex; } }
    @media (min-width: 992px) {
      .key-contact__links li:not(:last-child) {
        margin-right: 30px; } }
    .key-contact__links li a {
      color: #1e2c3a; }
      .key-contact__links li a i[class^=ss] {
        display: inline-block;
        transform: scale(1.7) translateY(3px);
        margin-right: 8px; }
      .key-contact__links li a:hover {
        color: #25d0d0; }

.key-contact-mobile {
  margin-bottom: 3rem; }
  @media (min-width: 992px) {
    .key-contact-mobile {
      display: none; } }
  .key-contact-mobile__image-contact-links {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem; }
    .key-contact-mobile__image-contact-links:after {
      content: " ";
      display: block;
      width: 100vw;
      height: calc( 100% - 6rem);
      background-color: #25d0d0;
      position: absolute;
      top: 3rem;
      left: 50%;
      z-index: -1;
      transform: translateX(-50%); }
  .key-contact-mobile__image {
    flex: 1; }
    .key-contact-mobile__image-inner {
      padding-bottom: 100%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      border-radius: 50%;
      box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2); }
  .key-contact-mobile__contact-links {
    flex: none;
    display: flex;
    color: #1e2c3a;
    margin-left: 1.5rem; }
    .key-contact-mobile__contact-links li {
      font-size: 2.2rem;
      margin: 0 0.2em; }
      .key-contact-mobile__contact-links li a {
        color: #1e2c3a; }

.project {
  font-family: halcom, sans-serif;
  position: relative; }
  @media (max-width: 991px) {
    .project {
      padding-top: 3rem; } }
  .project.section {
    padding-top: 3rem; }
  @media (min-width: 992px) {
    .project:before {
      content: " ";
      position: absolute;
      top: 550px;
      right: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(50%, -50%) scale(0.78); } }
  .project__heading {
    font-size: 3em;
    margin-bottom: 0.3em;
    position: relative; }
    @media (max-width: 991px) {
      .project__heading {
        font-size: 2rem;
        font-weight: bold; } }
  .project__heading .project__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    display: block; }
    @media (min-width: 992px) {
      .project__heading .project__close {
        width: 47px;
        height: 47px; } }
    @media (min-width: 1748px) {
      .project__heading .project__close {
        display: none; } }
  @media (min-width: 992px) {
    .project__subheading-sector {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      position: relative; } }
  .project__subheading, .project__sector {
    padding-bottom: 1.5rem;
    line-height: 1.2; }
    .project__subheading:after, .project__sector:after {
      content: " ";
      display: block;
      position: absolute;
      width: 100%;
      left: 0;
      bottom: 0;
      height: 5px; }
  @media (min-width: 992px) {
    .project__subheading {
      font-size: 1.3rem;
      width: 70%;
      padding-right: 1.5rem; } }
  @media (min-width: 992px) {
    .project__subheading:after {
      background-color: #D9D9D9;
      z-index: 9;
      width: 70%;
      padding-right: 1.5rem; } }
  .project__sector {
    text-transform: uppercase;
    color: #25d0d0;
    font-size: 1.3rem;
    display: none; }
    @media (min-width: 992px) {
      .project__sector {
        width: 30%;
        padding-left: 1.5rem;
        text-align: right;
        display: block; } }
    @media (min-width: 992px) {
      .project__sector:after {
        background-color: #25d0d0;
        width: 30%;
        right: 0;
        left: auto;
        padding-left: 1.5rem; } }
    .project__sector--mobile {
      text-transform: uppercase;
      color: #25d0d0;
      font-size: 0.8rem;
      font-weight: bold;
      margin-bottom: 1.2em; }
      @media (min-width: 992px) {
        .project__sector--mobile {
          display: none; } }
  .project__featured-image {
    margin-bottom: 1.5rem;
    position: relative; }
    @media (max-width: 991px) {
      .project__featured-image {
        margin-left: -1.5rem;
        margin-right: -1.5rem; } }
  .project__featured-image {
    position: relative; }
  .project__featured-image .project__close {
    display: none; }
    @media (min-width: 1748px) {
      .project__featured-image .project__close {
        position: absolute;
        top: 0;
        right: 100%;
        width: 130px;
        height: 130px;
        display: block;
        margin-right: 3rem; } }
  .project__close a {
    display: block; }
    .project__close a i:before {
      content: " ";
      display: block;
      background-image: url("../img/project-close.svg");
      background-repeat: no-repeat;
      width: 100%;
      padding-bottom: 100%; }
  .project__overview-key-features {
    padding: 3rem 0; }
    @media (max-width: 991px) {
      .project__overview-key-features.columns {
        display: block; } }
  .project__overview {
    font-size: 1.2rem;
    position: relative; }
    .project__overview a {
      color: inherit;
      text-decoration: underline; }
    @media (min-width: 992px) {
      .project__overview.column {
        width: 60%; } }
    @media (min-width: 992px) {
      .project__overview-inner {
        padding-top: 3rem;
        padding-bottom: 3rem;
        padding-right: 6rem; } }
    .project__overview-lines.lines--vertical {
      position: absolute;
      right: 0;
      top: 0;
      height: 100%; }
      @media (max-width: 991px) {
        .project__overview-lines.lines--vertical {
          display: none; } }
  .project__key-features {
    position: relative; }
    @media (min-width: 992px) {
      .project__key-features.column {
        width: 40%;
        flex: none; } }
    @media (min-width: 992px) {
      .project__key-features-inner {
        padding-top: 3rem;
        padding-bottom: 3rem;
        padding-left: 3rem; } }
    .project__key-features-heading {
      content: "What we did";
      font-weight: bold;
      font-size: 1.3rem;
      margin-bottom: 0.5em; }
    .project__key-features ul {
      font-size: 1.1rem;
      list-style: disc;
      padding-inline-start: 20px; }
      .project__key-features ul li:not(:last-child) {
        margin-bottom: 0.8em; }
  .project__gallery {
    position: relative;
    margin-left: -1.5rem;
    margin-right: -1.5rem; }
    @media (max-width: 767px) {
      .project__gallery {
        margin-bottom: 3rem; } }
    @media (min-width: 992px) {
      .project__gallery-item {
        border-left: 1px solid white; } }
    @media (max-width: 991px) {
      .project__gallery-item:not(:last-child) {
        border-bottom: 1px solid white; } }
    .project__gallery .owl-carousel .owl-nav button.owl-prev,
    .project__gallery .owl-carousel .owl-nav button.owl-next {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%);
      z-index: 99; }
      .project__gallery .owl-carousel .owl-nav button.owl-prev:hover,
      .project__gallery .owl-carousel .owl-nav button.owl-next:hover {
        background: none;
        opacity: 0.8; }
      .project__gallery .owl-carousel .owl-nav button.owl-prev i:before,
      .project__gallery .owl-carousel .owl-nav button.owl-next i:before {
        margin: 0 1.5rem;
        content: " ";
        display: block;
        width: 44px;
        height: 77px;
        background-image: url("../img/chevron.svg");
        background-repeat: no-repeat;
        filter: invert(1);
        transform: rotate(180deg); }
    .project__gallery .owl-carousel .owl-nav button.owl-next {
      left: auto;
      right: 0; }
      .project__gallery .owl-carousel .owl-nav button.owl-next i:before {
        transform: rotate(0deg); }

.related-projects {
  position: relative;
  font-family: halcom, sans-serif; }
  .related-projects:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../img/lines.svg");
    background-size: contain;
    width: 0.94em;
    height: 0.65em;
    z-index: 9;
    font-size: 19rem;
    background-position: center;
    transform: translate(-50%, 50%) scale(0.78); }
  .related-projects__heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 0.7em; }
  .related-projects__items.columns {
    flex-wrap: wrap; }
  .related-projects__item.column {
    width: 33.333%;
    flex: none; }

@media (max-width: 991px) {
  .single-project .related-projects {
    display: none; } }

.project-grid {
  font-family: halcom, sans-serif;
  position: relative; }
  @media (max-width: 991px) {
    .project-grid.section {
      padding-top: 3rem; } }
  @media (min-width: 992px) {
    .project-grid:before {
      content: " ";
      position: absolute;
      bottom: 0;
      left: 0;
      background-image: url("../img/lines.svg");
      background-size: contain;
      width: 0.94em;
      height: 0.65em;
      z-index: 9;
      font-size: 19rem;
      background-position: center;
      transform: translate(-50%, -50%) scale(0.78); } }
  .project-grid .columns {
    flex-wrap: wrap; }
    @media (max-width: 991px) {
      .project-grid .columns {
        display: block; } }
  .project-grid__items-column {
    margin-bottom: 3rem; }
  .project-grid__contact-column {
    width: 100%;
    flex: none; }
    @media (min-width: 1216px) {
      .project-grid__contact-column {
        width: 33.333%;
        flex: none;
        padding-left: 3rem;
        padding-right: 3rem; } }
  .project-grid__column-heading, .project-grid__specialist-areas-heading {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 0.7em;
    display: none; }
  .project-grid__contact .project-grid__column-heading {
    position: relative; }
    .project-grid__contact .project-grid__column-heading:before {
      content: attr(data-prefix);
      position: absolute;
      bottom: 100%;
      left: 0;
      text-transform: uppercase;
      color: #25d0d0;
      font-weight: normal;
      font-size: 0.8em;
      margin-bottom: 0.4em; }
  .project-grid__items {
    position: relative; }
    .project-grid__items.columns {
      flex-wrap: wrap; }
      @media (max-width: 991px) {
        .project-grid__items.columns {
          display: block; } }
    @media (max-width: 991px) {
      .project-grid__items {
        width: auto !important;
        margin-left: -1.5rem;
        margin-right: -1.5rem; } }
    .project-grid__items-load-more {
      margin-top: 3rem;
      margin-bottom: 3rem;
      text-align: center; }
  .project-grid__item {
    transition: opacity 250ms ease;
    opacity: 0;
    position: relative;
    top: 0; }
    .project-grid__item.column {
      padding-left: 0;
      padding-right: 0;
      z-index: 9; }
      @media (min-width: 992px) {
        .project-grid__item.column {
          flex: none;
          width: 33.333%;
          padding: 0.75rem; } }
    .project-grid__item.reveal {
      opacity: 1; }
  @media (max-width: 991px) {
    .project-grid__contact {
      display: flex;
      flex-direction: column; } }
  @media (max-width: 991px) {
    .project-grid__specialist-areas {
      order: -1;
      margin-bottom: 6rem; } }
  .project-grid__specialist-areas ul {
    list-style: disc;
    padding-inline-start: 2rem; }
    .project-grid__specialist-areas ul li {
      font-size: 1.6rem; }
      .project-grid__specialist-areas ul li:not(:last-child) {
        margin-bottom: 1rem; }
      .project-grid__specialist-areas ul li span {
        font-size: 1.1rem;
        display: inline-block;
        transform: translateY(-2px); }
  .project-grid__lines.lines--vertical {
    position: absolute;
    left: 50%;
    top: 0; }
    @media (min-width: 992px) {
      .project-grid__lines.lines--vertical {
        display: none; } }
