/*
 * Author: Avarel Studio
 * Author URI: https://avarelstudio.ch
 * Template Name: HSM
 * Version: 1.0
 */
/* ---------- Animate ---------- */
@import url("https://fonts.googleapis.com/css2?family=Bree+Serif&display=swap");
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0) !important;
    transform: translate3d(0, -10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important; } }

@-moz-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0) !important;
    transform: translate3d(0, -10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0) !important;
    transform: translate3d(0, -10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0) !important;
    transform: translate3d(0, 10%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.9, 0.9, 0.9) !important;
    transform: scale3d(0.9, 0.9, 0.9) !important; }
  100% {
    opacity: 1; } }

@-moz-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.9, 0.9, 0.9) !important;
    transform: scale3d(0.9, 0.9, 0.9) !important; }
  100% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.9, 0.9, 0.9) !important;
    transform: scale3d(0.9, 0.9, 0.9) !important; }
  100% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@keyframes loader {
  0% {
    opacity: 0;
    transform: scale(0); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: scale(1); } }

@-webkit-keyframes loader {
  0% {
    opacity: 0;
    transform: scale(0); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: scale(1); } }

@keyframes splitting {
  0% {
    opacity: 0;
    transform: translateY(50%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@-webkit-keyframes splitting {
  0% {
    opacity: 0;
    transform: translateY(50%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes scale {
  to {
    transform: scale(1.2); } }

@-webkit-keyframes scale {
  to {
    -webkit-transform: scale(1.2); } }

.animation {
  opacity: 0.01;
  will-change: transform;
  -moz-transform-origin: 50% 0;
  -o-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -moz-transform: translateY(6rem);
  -o-transform: translateY(6rem);
  -ms-transform: translateY(6rem);
  -webkit-transform: translateY(6rem);
  transform: translateY(6rem); }

.animated .char {
  display: inline-block;
  animation: splitting 0.3s ease-out both;
  animation-delay: calc(10ms * var(--char-index)); }

.animated span.word {
  display: inline-block; }

/* ---------- Reset ---------- */
*,
*::after,
*:before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  font-size: 62.5%; }

body {
  box-sizing: border-box; }

main {
  position: relative;
  background-color: #ffffff;
  border-bottom: 0.1rem solid rgba(15, 51, 49, 0.05);
  z-index: 100;
  width: 100%;
  float: left;
  clear: both; }
  @media only screen and (max-width: 47.938em) {
    main {
      margin-bottom: 0; } }

footer {
  float: left;
  width: 100%;
  clear: both; }

::selection {
  background-color: #05733b;
  color: #ffffff; }

/* ---------- Typography ---------- */
@font-face {
  font-family: 'Source Sans Pro Light';
  src: url("../fonts/SourceSansPro/SourceSansPro-Light.eot");
  src: url("../fonts/SourceSansPro/SourceSansPro-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/SourceSansPro/SourceSansPro-Light.woff2") format("woff2"), url("../fonts/SourceSansPro/SourceSansPro-Light.woff") format("woff"), url("../fonts/SourceSansPro/SourceSansPro-Light.ttf") format("truetype"), url("../fonts/SourceSansPro/SourceSansPro-Light.svg#SourceSansPro-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Source Sans Pro Regular';
  src: url("../fonts/SourceSansPro/SourceSansPro-Regular.eot");
  src: url("../fonts/SourceSansPro/SourceSansPro-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/SourceSansPro/SourceSansPro-Regular.woff2") format("woff2"), url("../fonts/SourceSansPro/SourceSansPro-Regular.woff") format("woff"), url("../fonts/SourceSansPro/SourceSansPro-Regular.ttf") format("truetype"), url("../fonts/SourceSansPro/SourceSansPro-Regular.svg#SourceSansPro-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Source Sans Pro Semibold';
  src: url("../fonts/SourceSansPro/SourceSansPro-Semibold.eot");
  src: url("../fonts/SourceSansPro/SourceSansPro-Semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/SourceSansPro/SourceSansPro-Semibold.woff2") format("woff2"), url("../fonts/SourceSansPro/SourceSansPro-Semibold.woff") format("woff"), url("../fonts/SourceSansPro/SourceSansPro-Semibold.ttf") format("truetype"), url("../fonts/SourceSansPro/SourceSansPro-Semibold.svg#SourceSansPro-Semibold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Source Sans Pro Black';
  src: url("../fonts/SourceSansPro/SourceSansPro-Black.eot");
  src: url("../fonts/SourceSansPro/SourceSansPro-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/SourceSansPro/SourceSansPro-Black.woff2") format("woff2"), url("../fonts/SourceSansPro/SourceSansPro-Black.woff") format("woff"), url("../fonts/SourceSansPro/SourceSansPro-Black.ttf") format("truetype"), url("../fonts/SourceSansPro/SourceSansPro-Black.svg#SourceSansPro-Black") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Source Sans Pro BlackIt';
  src: url("../fonts/SourceSansPro/SourceSansPro-BlackIt.eot");
  src: url("../fonts/SourceSansPro/SourceSansPro-BlackIt.eot?#iefix") format("embedded-opentype"), url("../fonts/SourceSansPro/SourceSansPro-BlackIt.woff2") format("woff2"), url("../fonts/SourceSansPro/SourceSansPro-BlackIt.woff") format("woff"), url("../fonts/SourceSansPro/SourceSansPro-BlackIt.ttf") format("truetype"), url("../fonts/SourceSansPro/SourceSansPro-BlackIt.svg#SourceSansPro-BlackIt") format("svg");
  font-weight: 900;
  font-style: italic;
  font-display: swap; }

body {
  font-family: "Source Sans Pro Regular";
  font-weight: 400;
  line-height: 1.7;
  background-color: #ffffff;
  color: #0f3331;
  overflow-x: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }

a,
a:hover,
a:active,
a:focus {
  text-decoration: none;
  outline: none; }

ul {
  list-style: none;
  padding-left: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0 0 1.5rem 0;
  font-weight: 900;
  color: #0f3331; }

h1 {
  font-size: 5.6rem;
  line-height: 6.6rem; }

h2 {
  font-size: 4.6rem;
  line-height: 5.6rem; }

h3 {
  font-size: 3.6rem;
  line-height: 4.6rem; }

h4 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 3.6rem; }

h5 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 3.2rem; }

h6 {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.1rem; }

p:not(:last-child) {
  padding-bottom: 2rem; }

a {
  -webkit-transition: ease-in 0.3s;
  -moz-transition: ease-in 0.3s;
  -ms-transition: ease-in 0.3s;
  -o-transition: ease-in 0.3s;
  transition: ease-in 0.3s; }

/* ---------- Utilities ---------- */
.visible {
  visibility: visible; }

#wpadminbar {
  position: fixed !important; }

.admin-bar .header {
  top: 3.2rem; }
  .admin-bar .header-menu-half {
    top: 12.5rem; }
    @media only screen and (max-width: 47.938em) {
      .admin-bar .header-menu-half {
        top: 0; } }
  .admin-bar .header.sticky {
    top: 3.2rem; }
    .admin-bar .header.sticky .header-menu-half {
      top: 12.5rem; }
      @media only screen and (max-width: 47.938em) {
        .admin-bar .header.sticky .header-menu-half {
          top: 0; } }

.admin-bar .tabbed.sticky {
  top: 10.5rem; }

.hidden {
  overflow: hidden !important; }

@media only screen and (max-width: 47.938em) {
  .vc_hidden-xs {
    display: none; } }

.hidden-s {
  display: none; }

.center {
  text-align: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.gmnoprint {
  display: none !important; }

.blur-text {
  overflow: clip; }

/* ---------- Header ---------- */
.header {
  padding: 0;
  width: 100%;
  max-width: 100%;
  background-color: #0f3331;
  z-index: 101;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: ease-in 0.5s;
  -moz-transition: ease-in 0.5s;
  -ms-transition: ease-in 0.5s;
  -o-transition: ease-in 0.5s;
  transition: ease-in 0.5s;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between; }
  .header::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    background-color: rgba(255, 255, 255, 0.1);
    position: absolute;
    right: 0;
    bottom: -0.1rem; }
  .header-logo {
    position: relative;
    width: 40rem;
    max-width: 40rem;
    z-index: 100;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -moz-box-flex: 0 0 40rem;
    -webkit-flex: 0 0 40rem;
    -ms-flex: 0 0 40rem;
    flex: 0 0 40rem; }
    @media only screen and (max-width: 47.938em) {
      .header-logo {
        width: initial;
        max-width: initial;
        -moz-box-flex: initial;
        -webkit-flex: initial;
        -ms-flex: initial;
        flex: initial; } }
    .header-logo.open {
      z-index: 100; }
    .header-logo a {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start; }
      .header-logo a img {
        width: 40rem;
        height: auto;
        object-fit: contain;
        -webkit-transition: ease-in 0.3s;
        -moz-transition: ease-in 0.3s;
        -ms-transition: ease-in 0.3s;
        -o-transition: ease-in 0.3s;
        transition: ease-in 0.3s; }
        @media only screen and (max-width: 47.938em) {
          .header-logo a img {
            width: 20rem; } }
  .header-menu {
    position: relative;
    padding-right: 3rem;
    width: 20rem;
    max-width: 20rem;
    z-index: 101;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end;
    -moz-box-flex: 0 0 20rem;
    -webkit-flex: 0 0 20rem;
    -ms-flex: 0 0 20rem;
    flex: 0 0 20rem; }
    @media only screen and (max-width: 47.938em) {
      .header-menu {
        padding-right: 1.5rem;
        width: initial;
        max-width: initial;
        -moz-box-flex: initial;
        -webkit-flex: initial;
        -ms-flex: initial;
        flex: initial; } }
    .header-menu-wrapper {
      width: 100%;
      height: 100%;
      opacity: 0;
      visibility: hidden;
      background-color: #0f3331;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -ms-flex-pack: center;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -moz-box-flex: 0 0 100%;
      -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      position: fixed;
      top: 0;
      right: 0;
      -webkit-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -moz-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -ms-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -o-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -moz-transform: scale(0.9);
      -o-transform: scale(0.9);
      -ms-transform: scale(0.9);
      -webkit-transform: scale(0.9);
      transform: scale(0.9); }
      .header-menu-wrapper::before {
        content: "";
        width: 100%;
        height: 100%;
        background-image: url("../img/backgrounds/HSM_Pattern_yellow.png");
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 0; }
      .header-menu-wrapper::after {
        content: "";
        width: 100%;
        height: 100%;
        background-image: linear-gradient(180deg, #0F3331 0%, #0F3331A8 100%);
        position: absolute;
        top: 0;
        left: 0; }
      .header-menu-wrapper.open {
        opacity: 1;
        visibility: visible;
        -webkit-transition: transform 0.3s, opacity 0.3s;
        -moz-transition: transform 0.3s, opacity 0.3s;
        -ms-transition: transform 0.3s, opacity 0.3s;
        -o-transition: transform 0.3s, opacity 0.3s;
        transition: transform 0.3s, opacity 0.3s;
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1); }
    .header-menu-half {
      width: 100%;
      height: 50rem;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      background-color: #ffffff;
      -webkit-box-shadow: 0 0.5rem 2.9rem rgba(0, 0, 0, 0.16);
      -moz-box-shadow: 0 0.5rem 2.9rem rgba(0, 0, 0, 0.16);
      box-shadow: 0 0.5rem 2.9rem rgba(0, 0, 0, 0.16);
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-pack: space-between;
      -webkit-flex-direction: row;
      -moz-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row;
      -moz-box-flex: 0 0 100%;
      -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      position: fixed;
      top: 9.5rem;
      right: 0;
      -webkit-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -moz-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -ms-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -o-transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      transition: transform 0.3s, opacity 0.3s, visibility 0s 0.3s;
      -moz-transform: scale(1);
      -o-transform: scale(1);
      -ms-transform: scale(1);
      -webkit-transform: scale(1);
      transform: scale(1); }
      @media only screen and (max-width: 47.938em) {
        .header-menu-half {
          height: 100%;
          display: initial;
          top: 0; } }
      .header-menu-half.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        -webkit-transition: transform 0.3s, opacity 0.3s;
        -moz-transition: transform 0.3s, opacity 0.3s;
        -ms-transition: transform 0.3s, opacity 0.3s;
        -o-transition: transform 0.3s, opacity 0.3s;
        transition: transform 0.3s, opacity 0.3s;
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1); }
    .header-menu-left {
      padding: 5rem;
      max-width: 70%;
      width: 70%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -moz-box-flex: 0 0 70%;
      -webkit-flex: 0 0 70%;
      -ms-flex: 0 0 70%;
      flex: 0 0 70%; }
      .header-menu-left::before {
        content: "";
        width: 100%;
        height: 100%;
        z-index: 10;
        background-image: url("../img/backgrounds/HSM_Pattern_dunkel.svg");
        background-repeat: no-repeat;
        background-size: cover;
        opacity: 0;
        visibility: hidden;
        position: absolute;
        top: 0;
        left: 0; }
        @media only screen and (max-width: 47.938em) {
          .header-menu-left::before {
            opacity: 1;
            visibility: visible; } }
      .header-menu-left::after {
        content: "";
        width: 100%;
        height: 100%;
        z-index: 10;
        background-image: linear-gradient(120deg, #FFFFFF 0%, #FFFFFFE6 100%);
        opacity: 0;
        visibility: hidden;
        position: absolute;
        top: 0;
        left: 0; }
        @media only screen and (max-width: 47.938em) {
          .header-menu-left::after {
            opacity: 1;
            visibility: visible; } }
      @media only screen and (max-width: 47.938em) {
        .header-menu-left {
          padding: 3rem;
          max-width: 100%;
          width: 100%;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%; } }
    .header-menu-right {
      position: relative;
      z-index: 100;
      max-width: 30%;
      width: 30%;
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -moz-box-flex: 0 0 30%;
      -webkit-flex: 0 0 30%;
      -ms-flex: 0 0 30%;
      flex: 0 0 30%; }
      @media only screen and (max-width: 47.938em) {
        .header-menu-right {
          max-width: 100%;
          width: 100%;
          height: 30rem;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%; } }
    .header-menu-image {
      position: relative;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-end;
      -moz-align-items: flex-end;
      -ms-align-items: flex-end;
      -ms-flex-align: flex-end;
      align-items: flex-end; }
      .header-menu-image::after {
        content: "";
        width: 100%;
        height: 50%;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
        z-index: 10;
        position: absolute;
        bottom: 0;
        left: 0; }
      .header-menu-image > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0; }
        @media only screen and (max-width: 47.938em) {
          .header-menu-image > img {
            object-position: top; } }
      .header-menu-image-content {
        padding: 3rem;
        width: 100%;
        z-index: 100; }
        .header-menu-image-content h1 {
          padding-bottom: 0;
          font-size: 5.1rem;
          font-family: 'Source Sans Pro BlackIt';
          color: #ead800;
          line-height: 5.5rem; }
        .header-menu-image-content span {
          font-size: 2.5rem;
          font-family: "Bree Serif", serif;
          color: #ffffff;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          -moz-align-items: center;
          -ms-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-justify-content: space-between;
          -moz-justify-content: space-between;
          -ms-justify-content: space-between;
          justify-content: space-between;
          -ms-flex-pack: space-between; }
    .header-menu-title {
      position: relative;
      padding-bottom: 5rem;
      z-index: 100; }
      .header-menu-title h2 {
        padding: 0;
        font-size: 3.4rem;
        font-family: 'Source Sans Pro BlackIt';
        color: #0f3331;
        line-height: 4.7rem; }
        @media only screen and (max-width: 47.938em) {
          .header-menu-title h2 {
            font-size: 2.6rem;
            line-height: 3.4rem; } }
      .header-menu-title p {
        font-size: 1.8rem;
        font-family: "Bree Serif", serif;
        color: #0f3331;
        line-height: 2rem; }
    .header-menu-nav {
      position: relative;
      z-index: 100; }
    .header-menu-list {
      width: 100%;
      display: grid;
      grid-template-rows: min-content min-content;
      grid-template-columns: repeat(4, 1fr);
      row-gap: 5rem;
      column-gap: 5rem; }
      @media only screen and (max-width: 112.4em) {
        .header-menu-list {
          column-gap: 1rem; } }
      @media only screen and (max-width: 47.938em) {
        .header-menu-list {
          grid-template-rows: initial;
          grid-template-columns: repeat(2, 1fr);
          row-gap: 3rem; } }
      .header-menu-list-link {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: flex-start;
        -moz-align-items: flex-start;
        -ms-align-items: flex-start;
        -ms-flex-align: flex-start;
        align-items: flex-start;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
        .header-menu-list-link-title {
          position: relative;
          padding-left: 3.5rem;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: flex-start;
          -moz-align-items: flex-start;
          -ms-align-items: flex-start;
          -ms-flex-align: flex-start;
          align-items: flex-start;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; }
          .header-menu-list-link-title img {
            width: 3.5rem;
            position: absolute;
            top: -0.5rem;
            left: 0; }
          .header-menu-list-link-title h5 {
            padding: 0;
            font-size: 1.8rem;
            font-family: 'Source Sans Pro Semibold';
            color: #0f3331;
            line-height: 2rem;
            -webkit-transition: ease-in 0.3s;
            -moz-transition: ease-in 0.3s;
            -ms-transition: ease-in 0.3s;
            -o-transition: ease-in 0.3s;
            transition: ease-in 0.3s; }
          .header-menu-list-link-title p {
            font-size: 1.4rem;
            font-family: 'Source Sans Pro Light';
            color: #0f3331;
            line-height: 2rem;
            -webkit-transition: ease-in 0.3s;
            -moz-transition: ease-in 0.3s;
            -ms-transition: ease-in 0.3s;
            -o-transition: ease-in 0.3s;
            transition: ease-in 0.3s; }
            @media only screen and (max-width: 47.938em) {
              .header-menu-list-link-title p {
                display: none; } }
        .header-menu-list-link-page {
          padding-top: 0.5rem;
          padding-left: 3.5rem;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          -moz-align-items: center;
          -ms-align-items: center;
          -ms-flex-align: center;
          align-items: center; }
          @media only screen and (max-width: 47.938em) {
            .header-menu-list-link-page {
              display: none; } }
          .header-menu-list-link-page p {
            padding: 0;
            font-size: 1.4rem;
            font-family: "Bree Serif", serif;
            color: #0f3331;
            line-height: 2rem;
            -webkit-transition: ease-in 0.3s;
            -moz-transition: ease-in 0.3s;
            -ms-transition: ease-in 0.3s;
            -o-transition: ease-in 0.3s;
            transition: ease-in 0.3s; }
          .header-menu-list-link-page img {
            margin-left: 0.5rem;
            width: 1.5rem; }
        .header-menu-list-link:hover .header-menu-list-link-title h5,
        .header-menu-list-link:hover .header-menu-list-link-title p,
        .header-menu-list-link:hover .header-menu-list-link-page h5,
        .header-menu-list-link:hover .header-menu-list-link-page p {
          color: #05733b; }
      .header-menu-list-item.active .header-menu-list-link .header-menu-list-link-title h5,
      .header-menu-list-item.active .header-menu-list-link .header-menu-list-link-title p,
      .header-menu-list-item.active .header-menu-list-link .header-menu-list-link-page h5,
      .header-menu-list-item.active .header-menu-list-link .header-menu-list-link-page p {
        color: #05733b; }
      .header-menu-list-social {
        padding-left: 1rem;
        padding-bottom: 2rem;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: flex-end;
        -moz-align-items: flex-end;
        -ms-align-items: flex-end;
        -ms-flex-align: flex-end;
        align-items: flex-end; }
    .header-menu-toggle-button {
      position: relative;
      padding: 0;
      margin: 0;
      display: block;
      width: 3rem;
      height: 2rem;
      z-index: 100; }
      @media only screen and (max-width: 47.938em) {
        .header-menu-toggle-button {
          width: 2rem;
          height: 1.4rem; } }
      .header-menu-toggle-button .line {
        position: relative;
        width: 100%;
        display: block;
        background-color: #ffffff;
        border-radius: 1rem;
        height: 0.2rem;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        -ms-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
        @media only screen and (max-width: 47.938em) {
          .header-menu-toggle-button .line {
            height: 0.1rem; } }
        .header-menu-toggle-button .line-top {
          top: 0; }
        .header-menu-toggle-button .line-middle {
          top: 0.7rem; }
          @media only screen and (max-width: 47.938em) {
            .header-menu-toggle-button .line-middle {
              top: 0.5rem; } }
        .header-menu-toggle-button .line-bottom {
          top: 1.4rem; }
          @media only screen and (max-width: 47.938em) {
            .header-menu-toggle-button .line-bottom {
              top: 1rem; } }
      .header-menu-toggle-button.open .line-top {
        background-color: #ffffff;
        -moz-transform: translateY(1rem) rotate(45deg);
        -o-transform: translateY(1rem) rotate(45deg);
        -ms-transform: translateY(1rem) rotate(45deg);
        -webkit-transform: translateY(1rem) rotate(45deg);
        transform: translateY(1rem) rotate(45deg); }
        @media only screen and (max-width: 47.938em) {
          .header-menu-toggle-button.open .line-top {
            background-color: #0f3331;
            -moz-transform: translateY(0.7rem) rotate(45deg);
            -o-transform: translateY(0.7rem) rotate(45deg);
            -ms-transform: translateY(0.7rem) rotate(45deg);
            -webkit-transform: translateY(0.7rem) rotate(45deg);
            transform: translateY(0.7rem) rotate(45deg); } }
      .header-menu-toggle-button.open .line-middle {
        display: none; }
      .header-menu-toggle-button.open .line-bottom {
        -moz-transform: translateY(-0.6rem) rotate(135deg);
        -o-transform: translateY(-0.6rem) rotate(135deg);
        -ms-transform: translateY(-0.6rem) rotate(135deg);
        -webkit-transform: translateY(-0.6rem) rotate(135deg);
        transform: translateY(-0.6rem) rotate(135deg); }
        @media only screen and (max-width: 47.938em) {
          .header-menu-toggle-button.open .line-bottom {
            background-color: #0f3331;
            -moz-transform: translateY(-0.4rem) rotate(135deg);
            -o-transform: translateY(-0.4rem) rotate(135deg);
            -ms-transform: translateY(-0.4rem) rotate(135deg);
            -webkit-transform: translateY(-0.4rem) rotate(135deg);
            transform: translateY(-0.4rem) rotate(135deg); } }
  .header .nav {
    position: relative;
    z-index: 100; }
    .header .nav-list {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .header .nav .menu-item {
      position: relative; }
      .header .nav .menu-item:not(:last-child) {
        margin-bottom: 3rem; }
        @media only screen and (max-width: 47.938em) {
          .header .nav .menu-item:not(:last-child) {
            margin-bottom: 1.8rem; } }
      .header .nav .menu-item a {
        position: relative;
        font-size: 2.4rem;
        font-family: 'Source Sans Pro Light';
        line-height: 2.6rem;
        color: #ffffff;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-transition: ease-in 0.3s;
        -moz-transition: ease-in 0.3s;
        -ms-transition: ease-in 0.3s;
        -o-transition: ease-in 0.3s;
        transition: ease-in 0.3s; }
        @media only screen and (max-width: 61.875em) {
          .header .nav .menu-item a {
            font-size: 2.2rem;
            line-height: 3.2rem; } }
        @media only screen and (max-width: 47.938em) {
          .header .nav .menu-item a {
            font-size: 1.6rem;
            line-height: 2.4rem; } }
        .header .nav .menu-item a:hover {
          color: #ead800; }
      .header .nav .menu-item.current-menu-item a, .header .nav .menu-item.current_page_item a, .header .nav .menu-item.current_page_parent a {
        font-weight: 700;
        color: #ead800; }
  .header-language {
    margin-right: 3rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    @media only screen and (max-width: 47.938em) {
      .header-language {
        margin-right: 1rem; } }
    .header-language-link {
      position: relative;
      margin-right: 2rem;
      font-size: 1.4rem;
      font-family: 'Source Sans Pro Regular';
      color: rgba(255, 255, 255, 0.5);
      line-height: 1.4rem;
      text-transform: uppercase; }
      .header-language-link:hover {
        color: #ffffff; }
      .header-language-link.active {
        color: #ffffff; }
      .header-language-link:first-child::before {
        content: "";
        width: 0.1rem;
        height: 1rem;
        background-color: rgba(255, 255, 255, 0.5);
        position: absolute;
        top: 50%;
        right: -1rem;
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
  .header.sticky {
    background-color: #0f3331;
    position: fixed;
    top: 0;
    left: 0; }
    .header.sticky .header-logo img {
      width: 38rem; }
      @media only screen and (max-width: 47.938em) {
        .header.sticky .header-logo img {
          width: 15rem; } }
    .header.sticky .header-menu-half {
      top: 9.2rem; }
      @media only screen and (max-width: 47.938em) {
        .header.sticky .header-menu-half {
          top: 0; } }

.contact-buttons {
  padding: 1.2rem 1rem;
  background-color: #ead800;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  z-index: 101;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: fixed;
  top: 50%;
  right: -12.8rem;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: ease-in 0.3s;
  -moz-transition: ease-in 0.3s;
  -ms-transition: ease-in 0.3s;
  -o-transition: ease-in 0.3s;
  transition: ease-in 0.3s; }
  .contact-buttons.open {
    right: 0; }
  .contact-buttons-link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .contact-buttons-link:first-child {
      margin-bottom: 1.5rem; }
    .contact-buttons-link span {
      padding-left: 1.2rem;
      font-size: 1.2rem;
      font-family: "Bree Serif", serif;
      color: #ffffff;
      line-height: 1.5rem; }
    .contact-buttons-link:hover {
      opacity: 0.8; }

/* ---------- Footer ---------- */
.footer {
  width: 100%;
  padding-top: 8rem; }
  @media only screen and (max-width: 61.875em) {
    .footer {
      padding: 5rem 3rem 0 3rem; } }
  @media only screen and (max-width: 47.938em) {
    .footer {
      padding: 3rem 2rem 0 2rem;
      position: relative; } }
  @media only screen and (max-width: 61.875em) {
    .footer .container {
      max-width: 100%; } }
  @media only screen and (max-width: 47.938em) {
    .footer .content-end {
      -webkit-justify-content: flex-start;
      -moz-justify-content: flex-start;
      -ms-justify-content: flex-start;
      justify-content: flex-start;
      -ms-flex-pack: flex-start; } }
  .footer-top, .footer-bottom {
    position: relative; }
  .footer-logo {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
    @media only screen and (max-width: 47.938em) {
      .footer-logo {
        margin-bottom: 3rem; } }
    .footer-logo img {
      margin-left: -1.5rem;
      width: 30rem; }
      @media only screen and (max-width: 61.875em) {
        .footer-logo img {
          width: 25rem; } }
      @media only screen and (max-width: 47.938em) {
        .footer-logo img {
          width: 20rem; } }
  @media only screen and (max-width: 47.938em) {
    .footer-top .col-2 {
      max-width: 33.3334%;
      -moz-box-flex: 0 0 33.3334%;
      -webkit-flex: 0 0 33.3334%;
      -ms-flex: 0 0 33.3334%;
      flex: 0 0 33.3334%; } }
  .footer-bottom {
    position: relative;
    padding: 3.5rem 0;
    margin-top: 5rem; }
    @media only screen and (max-width: 47.938em) {
      .footer-bottom {
        margin-top: 0;
        padding: 1.5rem 0; } }
    @media only screen and (max-width: 47.938em) {
      .footer-bottom .content-end {
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center; } }
  @media only screen and (max-width: 47.938em) {
    .footer-social {
      padding-bottom: 3rem; } }
  .footer-social h1 {
    padding-bottom: 1.2rem;
    font-size: 1.4rem;
    font-family: 'Source Sans Pro Black';
    line-height: 1.8rem;
    color: #0f3331;
    text-transform: uppercase; }
  @media only screen and (max-width: 47.938em) {
    .footer-widget {
      padding-bottom: 3rem; } }
  .footer-widget-inner h1,
  .footer-widget-inner h2,
  .footer-widget-inner h3,
  .footer-widget-inner h4,
  .footer-widget-inner h5,
  .footer-widget-inner h6 {
    padding-bottom: 1.2rem;
    font-size: 1.7rem;
    font-family: 'Source Sans Pro Black';
    line-height: 2.4rem;
    color: #0f3331;
    text-transform: uppercase; }
    @media only screen and (max-width: 47.938em) {
      .footer-widget-inner h1,
      .footer-widget-inner h2,
      .footer-widget-inner h3,
      .footer-widget-inner h4,
      .footer-widget-inner h5,
      .footer-widget-inner h6 {
        padding-bottom: 1rem; } }
  .footer-widget-inner p,
  .footer-widget-inner a {
    font-size: 1.4rem;
    font-family: 'Source Sans Pro Regular';
    line-height: 2.2rem;
    color: #0f3331; }
    @media only screen and (max-width: 35em) {
      .footer-widget-inner p,
      .footer-widget-inner a {
        font-size: 1.2rem;
        line-height: 1.6rem; } }
  .footer-widget-inner p {
    line-height: 2.2rem; }
  .footer-widget-inner a {
    color: #000000;
    font-family: 'Source Sans Pro Semibold'; }
    .footer-widget-inner a:hover {
      color: #ead800; }
  .footer-menu .menu .menu-item:not(:last-child), .footer-privacy .menu .menu-item:not(:last-child) {
    margin-bottom: 0.5rem; }
  .footer-menu .menu .menu-item a, .footer-privacy .menu .menu-item a {
    position: relative;
    font-size: 1.6rem;
    font-family: 'Source Sans Pro Regular';
    line-height: 2.2rem;
    color: #0f3331;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-transition: ease-in 0.3s;
    -moz-transition: ease-in 0.3s;
    -ms-transition: ease-in 0.3s;
    -o-transition: ease-in 0.3s;
    transition: ease-in 0.3s; }
    .footer-menu .menu .menu-item a:hover, .footer-privacy .menu .menu-item a:hover {
      color: #ead800; }
    @media only screen and (max-width: 35em) {
      .footer-menu .menu .menu-item a, .footer-privacy .menu .menu-item a {
        font-size: 1.2rem;
        line-height: 1.6rem; } }
  @media only screen and (max-width: 47.938em) {
    .footer-copyright {
      padding-bottom: 0.5rem;
      text-align: center; } }
  .footer-copyright p {
    font-size: 1.4rem;
    font-family: 'Source Sans Pro Regular';
    line-height: 2.2rem;
    color: #0f3331; }
    @media only screen and (max-width: 35em) {
      .footer-copyright p {
        font-size: 1.2rem;
        line-height: 1.6rem; } }
  .footer-privacy h1 {
    display: none; }
  .footer-privacy .menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
  .footer-privacy .menu-item:not(:last-child) {
    margin-right: 1.5rem;
    margin-bottom: 0rem; }
  .footer-language {
    margin-right: 1.5rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    @media only screen and (max-width: 47.938em) {
      .footer-language {
        margin-right: 1rem; } }
    .footer-language-link {
      position: relative;
      margin-right: 2rem;
      font-size: 1.4rem;
      font-family: 'Source Sans Pro Regular';
      color: rgba(15, 51, 49, 0.5);
      line-height: 1.4rem;
      text-transform: uppercase; }
      .footer-language-link:hover {
        color: #0f3331; }
      .footer-language-link.active {
        color: #0f3331; }
      .footer-language-link:first-child::before {
        content: "";
        width: 0.1rem;
        height: 1rem;
        background-color: rgba(15, 51, 49, 0.5);
        position: absolute;
        top: 50%;
        right: -1rem;
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }

.social-list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .social-list .social-item {
    position: relative; }
    .social-list .social-item:not(:last-child) {
      margin-right: 1.5rem; }
  .social-list .social-link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .social-list .social-link:hover {
      opacity: 0.7; }

.line-animation-footer {
  width: 0;
  height: 0.5rem;
  background-color: #ead800;
  position: absolute;
  top: 0;
  left: 1.5rem;
  -webkit-transition: width ease-in 0.3s;
  -moz-transition: width ease-in 0.3s;
  -ms-transition: width ease-in 0.3s;
  -o-transition: width ease-in 0.3s;
  transition: width ease-in 0.3s; }
  .line-animation-footer.active {
    width: calc(100% - 3rem); }
    @media only screen and (max-width: 61.875em) {
      .line-animation-footer.active {
        width: 100%; } }
    @media only screen and (max-width: 47.938em) {
      .line-animation-footer.active {
        width: 100%; } }

/* ---------- Grid ---------- */
.container-fluid,
.container {
  width: 100%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-right: auto;
  margin-left: auto; }

.container {
  max-width: 140rem; }
  @media only screen and (max-width: 75em) {
    .container {
      max-width: 100rem; } }
  @media only screen and (max-width: 61.875em) {
    .container {
      max-width: 70rem; } }
  @media only screen and (max-width: 47.938em) {
    .container {
      max-width: 100%; } }

.row {
  margin-right: -1.5rem;
  margin-left: -1.5rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.col-1 {
  max-width: 8.33333%;
  -moz-box-flex: 0 0 8.33333%;
  -webkit-flex: 0 0 8.33333%;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%; }

.col-2 {
  max-width: 16.66667%;
  -moz-box-flex: 0 0 16.66667%;
  -webkit-flex: 0 0 16.66667%;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%; }

.col-3 {
  max-width: 25%;
  -moz-box-flex: 0 0 25%;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%; }

.col-4 {
  max-width: 33.33333%;
  -moz-box-flex: 0 0 33.33333%;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%; }

.col-5 {
  max-width: 41.66667%;
  -moz-box-flex: 0 0 41.66667%;
  -webkit-flex: 0 0 41.66667%;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%; }

.col-6 {
  max-width: 50%;
  -moz-box-flex: 0 0 50%;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%; }

.col-7 {
  max-width: 58.33333%;
  -moz-box-flex: 0 0 58.33333%;
  -webkit-flex: 0 0 58.33333%;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%; }

.col-8 {
  max-width: 66.66667%;
  -moz-box-flex: 0 0 66.66667%;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%; }

.col-9 {
  max-width: 75%;
  -moz-box-flex: 0 0 75%;
  -webkit-flex: 0 0 75%;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%; }

.col-10 {
  max-width: 83.33333%;
  -moz-box-flex: 0 0 83.33333%;
  -webkit-flex: 0 0 83.33333%;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%; }

.col-11 {
  max-width: 91.66667%;
  -moz-box-flex: 0 0 91.66667%;
  -webkit-flex: 0 0 91.66667%;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%; }

.col-12 {
  max-width: 100%;
  -moz-box-flex: 0 0 100%;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%; }

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-sm-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  position: relative;
  width: 100%;
  padding-right: 1.5rem;
  padding-left: 1.5rem; }
  @media only screen and (max-width: 47.938em) {
    .col-1,
    .col-2,
    .col-3,
    .col-4,
    .col-5,
    .col-6,
    .col-sm-6,
    .col-7,
    .col-8,
    .col-9,
    .col-10,
    .col-11,
    .col-12 {
      max-width: 100%;
      -moz-box-flex: 0 0 100%;
      -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%; } }

@media only screen and (max-width: 47.938em) {
  .col-sm-6 {
    max-width: 50%;
    -moz-box-flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%; } }

.d-flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }

.content-between {
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between; }

.content-end {
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
  -ms-flex-pack: flex-end; }

.content-center {
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center; }

.items-center {
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.items-end {
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end; }

.flex-row {
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row; }
  @media only screen and (max-width: 47.938em) {
    .flex-row {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; } }

.flex-column {
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

@media only screen and (max-width: 47.938em) {
  .order-m-2 {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2; } }

@media only screen and (max-width: 47.938em) {
  .order-m-1 {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1; } }

/* ---------- Elementor ---------- */
.elementor {
  margin-left: -1.25rem;
  margin-right: -1.25rem; }

.elementor-editor-active ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.elementor-editor-active ul > li {
  margin: 0;
  padding: 0; }

.elementor-editor-active ul > li::before {
  content: "";
  display: none; }

.elementor .elementor-column-gap-wide > .elementor-column > .elementor-column-wrap,
.elementor .elementor-column-gap-wide > .elementor-column > .elementor-widget-wrap,
.elementor .elementor-column-gap-wide > .elementor-column > .elementor-element-populated > .elementor-widget-wrap,
.elementor .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-column-wrap,
.elementor .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-widget-wrap,
.elementor .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap {
  padding-top: 0;
  padding-bottom: 0; }

.elementor-accordion-item {
  padding: 1.2rem;
  margin-bottom: 1rem;
  background-color: rgba(15, 51, 49, 0.08);
  border-radius: 8.5rem; }
  .elementor-accordion-item.active {
    background-color: #0f3331;
    border-radius: 3.2rem; }
  .elementor-accordion-item .elementor-tab-title.elementor-active {
    position: relative;
    padding-bottom: 2.5rem !important;
    margin-bottom: 1rem !important; }
    .elementor-accordion-item .elementor-tab-title.elementor-active::after {
      content: "";
      background-color: rgba(255, 255, 255, 0.08);
      width: calc(100% - 4rem);
      height: 0.1rem;
      position: absolute;
      bottom: 0;
      left: 50%;
      -moz-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }

.elementor-accordion-icon-closed svg, .elementor-accordion-icon-opened svg {
  position: relative;
  width: 3rem !important;
  height: 3rem !important;
  top: -0.05rem !important; }

.elementor-accordion-icon-opened svg {
  width: 1.8rem !important;
  height: 1.8rem !important; }

/* ---------- Hero Video ---------- */
.hero-elementor {
  position: relative; }
  .hero-elementor::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0; }

/* ---------- Produkte ---------- */
.produkt {
  position: absolute !important;
  width: 70% !important;
  height: 100% !important;
  top: 0;
  right: 0;
  background-color: #0F3331; }
  .produkt-left {
    right: initial;
    left: 0; }
  @media only screen and (max-width: 47.938em) {
    .produkt {
      width: 100% !important;
      height: 80% !important;
      bottom: 0;
      top: initial; } }
  .produkt-clip-left {
    -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%); }
    @media only screen and (max-width: 47.938em) {
      .produkt-clip-left {
        -webkit-clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
        clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%); } }
  .produkt-clip-right {
    -webkit-clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%); }
    @media only screen and (max-width: 47.938em) {
      .produkt-clip-right {
        -webkit-clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
        clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%); } }
  .produkt::before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 10 !important;
    background: url("../img/backgrounds/HSM_Pattern_yellow.png") !important;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    left: initial; }
  .produkt::after {
    content: "";
    width: 100%;
    height: 100%;
    z-index: 11;
    background-image: linear-gradient(180deg, #0F3331 0%, #0F3331A8 100%);
    position: absolute;
    top: 0;
    right: 0;
    left: initial; }
  .produkt-single {
    width: 100%; }
  .produkt-single-clip {
    -webkit-clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); }
    @media only screen and (max-width: 47.938em) {
      .produkt-single-clip {
        -webkit-clip-path: initial;
        clip-path: initial; } }

.produkte-menu .elementor-nav-menu--main .elementor-nav-menu {
  position: relative;
  padding-top: 1.5rem;
  padding-bottom: 8rem; }
  @media only screen and (max-width: 47.938em) {
    .produkte-menu .elementor-nav-menu--main .elementor-nav-menu {
      padding-bottom: 5.5rem; } }
  .produkte-menu .elementor-nav-menu--main .elementor-nav-menu::before {
    content: "";
    width: calc(100% + 100%);
    height: 0.1rem;
    background-color: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 8.5rem;
    left: 50%;
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
    @media only screen and (max-width: 47.938em) {
      .produkte-menu .elementor-nav-menu--main .elementor-nav-menu::before {
        width: calc(100% - 12.5rem);
        top: 8.8rem; } }
  .produkte-menu .elementor-nav-menu--main .elementor-nav-menu li, .produkte-menu .elementor-nav-menu--main .elementor-nav-menu a {
    position: initial !important; }
  .produkte-menu .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item .sub-menu, .produkte-menu .elementor-nav-menu--main .elementor-nav-menu li.current-page-ancestor .sub-menu {
    width: auto !important;
    display: flex !important;
    position: absolute !important;
    background-color: transparent;
    margin-top: 0 !important;
    top: 7.5rem !important;
    left: 50% !important;
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
  .produkte-menu .elementor-nav-menu--main .elementor-nav-menu li.current-menu-parent a.has-submenu, .produkte-menu .elementor-nav-menu--main .elementor-nav-menu li.current-page-parent a.has-submenu, .produkte-menu .elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a.has-submenu {
    color: #E9D600; }

.image-height-800,
.image-height-800 .elementor-widget-image,
.image-height-800 .elementor-widget-image .elementor-widget-container,
.image-height-800 .elementor-widget-wrap {
  height: 80rem; }
  @media only screen and (max-width: 47.938em) {
    .image-height-800,
    .image-height-800 .elementor-widget-image,
    .image-height-800 .elementor-widget-image .elementor-widget-container,
    .image-height-800 .elementor-widget-wrap {
      height: auto; } }

.image-height-980,
.image-height-980 .elementor-widget-image,
.image-height-980 .elementor-widget-image .elementor-widget-container,
.image-height-980 .elementor-widget-wrap {
  height: 98rem; }
  @media only screen and (max-width: 47.938em) {
    .image-height-980,
    .image-height-980 .elementor-widget-image,
    .image-height-980 .elementor-widget-image .elementor-widget-container,
    .image-height-980 .elementor-widget-wrap {
      height: auto; } }

.image-height-800 .elementor-widget-image .elementor-widget-container img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.right-clip-path {
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%); }
  @media only screen and (max-width: 47.938em) {
    .right-clip-path {
      clip-path: initial; } }

.left-clip-path {
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%); }
  @media only screen and (max-width: 47.938em) {
    .left-clip-path {
      clip-path: initial; } }

.left-bottom-clip-path {
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%); }
  @media only screen and (max-width: 47.938em) {
    .left-bottom-clip-path {
      clip-path: initial; } }

@media only screen and (max-width: 47.938em) {
  .top-clip-path-m {
    clip-path: polygon(0 0%, 100% 0, 100% 90%, 0% 100%); } }

@media only screen and (max-width: 47.938em) {
  .top-bottom-clip-path-m {
    clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%); } }

@media only screen and (max-width: 47.938em) {
  .custom-google-map {
    height: 400px !important; } }

.icon-list-row .elementor-icon-list-items {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.icon-list-row .elementor-icon-list-items .elementor-icon-list-item {
  padding: 0 !important;
  margin: 0 !important; }

.icon-list-row .elementor-icon-list-items .elementor-icon-list-item:first-child {
  margin-right: 5rem !important; }

.gravity-forms .gform-theme--foundation .gform_fields {
  row-gap: 1.5rem !important; }

.eael-gravity-form .gform_footer {
  position: relative; }

.eael-gravity-form .gform_footer::after {
  content: "";
  width: 1.55rem;
  height: 1.55rem;
  background-image: url("../img/icons/arrow-right-circle.svg");
  background-repeat: no-repeat;
  background-size: 1.55rem;
  position: absolute;
  top: 50%;
  left: 6rem;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.content {
  padding-right: 8rem; }
  .content ul li {
    position: relative;
    padding-left: 1.8rem; }
    .content ul li:not(:last-child) {
      margin-bottom: 2rem; }
    .content ul li::before {
      content: "";
      width: 0.6rem;
      height: 0.6rem;
      background-color: #0f3331;
      border-radius: 50%;
      position: absolute;
      top: 1rem;
      left: 0.3rem; }
    .content ul li::after {
      content: "";
      width: 1.2rem;
      height: 1.2rem;
      background-color: transparent;
      border: 0.1rem solid #0f3331;
      border-radius: 50%;
      position: absolute;
      top: 0.7rem;
      left: 0; }
    .content ul li h6 {
      padding: 0;
      font-size: 2rem;
      font-family: 'Source Sans Pro Black';
      color: #0f3331;
      line-height: 2.4rem; }
    .content ul li p {
      padding: 0;
      font-size: 1.8rem;
      font-family: 'Source Sans Pro Light';
      color: #0f3331;
      line-height: 2.4rem; }
  .content.white ul li {
    font-size: 1.6rem;
    font-family: 'Source Sans Pro Light';
    color: #ffffff;
    line-height: 1.9rem; }
    .content.white ul li:not(:last-child) {
      margin-bottom: 1rem; }
    .content.white ul li::before {
      top: 0.6rem;
      background-color: #ffffff; }
    .content.white ul li::after {
      top: 0.3rem;
      border: 0.1rem solid #ffffff; }
  .content p {
    color: #ffffff; }

.page-list-counter {
  counter-reset: list-counter; }
  .page-list-counter ul {
    padding-left: 3rem;
    list-style: decimal; }
    .page-list-counter ul li {
      position: relative; }
      .page-list-counter ul li:not(:last-child) {
        margin-bottom: 1rem; }

.spezialbauten-clip-right {
  -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%); }

.kontakt-clip-right,
.dienstleistungen-clip-right {
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%); }
  @media only screen and (max-width: 47.938em) {
    .kontakt-clip-right,
    .dienstleistungen-clip-right {
      clip-path: polygon(0% 0, 100% 0, 100% 85%, 0% 100%); } }
  @media only screen and (max-width: 47.938em) {
    .kontakt-clip-right-mobile,
    .dienstleistungen-clip-right-mobile {
      clip-path: polygon(0 15%, 100% 0%, 100% 85%, 0% 100%); } }

.kontakt-clip-left,
.dienstleistungen-clip-left {
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%); }
  @media only screen and (max-width: 47.938em) {
    .kontakt-clip-left,
    .dienstleistungen-clip-left {
      clip-path: polygon(0 15%, 100% 0%, 100% 85%, 0% 100%); } }

.animated.animated-fast {
  animation-duration: .75s; }

@-webkit-keyframes fadeInUpShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes fadeInDownShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -40px, 0);
    transform: translate3d(0, -40px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -40px, 0);
    transform: translate3d(0, -40px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes fadeInLeftShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes fadeInRightShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.elementor .fadeInUp {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

.elementor .fadeInDown {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

.elementor .fadeInLeft {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

.elementor .fadeInRight {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

.elementor-button .elementor-align-icon-right {
  position: relative;
  top: 0.3rem; }

.elementor-button-icon svg {
  width: 1.8rem !important; }

@media only screen and (max-width: 47.938em) {
  .hidden-m {
    display: none; } }

.hidden {
  display: none; }

@keyframes splitting {
  0% {
    opacity: 0;
    transform: translateY(50%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@-webkit-keyframes splitting {
  0% {
    opacity: 0;
    transform: translateY(50%); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

.animation {
  opacity: 0.01;
  will-change: transform;
  -moz-transform-origin: 50% 0;
  -o-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -moz-transform: translateY(6rem);
  -o-transform: translateY(6rem);
  -ms-transform: translateY(6rem);
  -webkit-transform: translateY(6rem);
  transform: translateY(6rem); }

.animated-heading .char {
  display: inline-block;
  animation: splitting 0.5s ease-out both;
  animation-delay: calc(10ms * var(--char-index)); }

.animated-heading span.word {
  display: inline-block; }

/* ---------- Headings ---------- */
.heading {
  position: relative;
  display: block; }
  .heading.center {
    text-align: center; }
  .heading.right {
    text-align: right; }
  .heading.left {
    text-align: left; }

/* ---------- Buttons ---------- */
.btn, .btn:link, .btn:visited {
  position: relative;
  padding: 1rem 1.2rem;
  width: 100%;
  max-width: 20rem;
  font-size: 1.4rem;
  font-family: 'Source Sans Pro Regular';
  line-height: 1.6rem;
  text-align: center;
  text-decoration: none;
  background-image: none;
  border-radius: 0.8rem;
  z-index: initial;
  cursor: pointer;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.btn:active, .btn:focus {
  outline: none;
  box-shadow: none; }

.btn-primary {
  background-color: #05733b;
  color: #ffffff; }
  .btn-primary:hover {
    background-color: #0f3331;
    color: #ffffff; }

.btn-elementor svg {
  width: 1.8rem; }

.btn-arrow .elementor-button {
  position: relative; }
  .btn-arrow .elementor-button::after {
    content: "";
    width: 1rem;
    height: 1rem;
    background-image: url("../img/icons/arrow-right-green.svg");
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 0.5rem;
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .btn-arrow .elementor-button-content-wrapper {
    padding-right: 2rem; }

/* ---------- Arrow Animation ---------- */
.arrow-animation-wrap {
  width: 6rem;
  height: 6rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center; }

.arrow-animation {
  cursor: pointer;
  z-index: 100;
  -moz-transform: rotate(360deg);
  -o-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg); }
  .arrow-animation.center {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center; }
  .arrow-animation.left {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: flex-start; }
  .arrow-animation.right {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end; }
  .arrow-animation-line {
    margin: -2.5rem;
    display: block;
    width: 4rem;
    height: 4rem;
    animation: animate 2s infinite; }
    .arrow-animation-line img {
      width: 4rem;
      -moz-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .arrow-animation-line:nth-child(2) {
      animation-delay: -0.2s; }
    .arrow-animation-line:nth-child(3) {
      animation-delay: -0.4s; }

@keyframes animate {
  0% {
    opacity: 0;
    transform: rotate(45deg) translate(-1.5rem, -1.5rem) scale(1); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: rotate(45deg) translate(1.5rem, 1.5rem) scale(0.9); } }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end; }
  @media only screen and (max-width: 61.875em) {
    .hero {
      height: 70rem; } }
  @media only screen and (max-width: 47.938em) {
    .hero {
      padding-top: 8rem;
      height: 60rem;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start; } }
  .hero::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("../img/backgrounds/HSM_Pattern.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    filter: grayscale(1);
    opacity: 1;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0; }
  .hero.left::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0; }
  .hero.center::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0; }
  .hero.right::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(-45deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0; }
  .hero-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0; }
  .hero-video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    .hero-video video {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .hero-content {
    position: relative;
    max-width: 65rem;
    width: 100%;
    padding-left: 8rem;
    padding-bottom: 15rem;
    z-index: 101;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    @media only screen and (max-width: 61.875em) {
      .hero-content {
        padding-left: 5rem; } }
    @media only screen and (max-width: 47.938em) {
      .hero-content {
        max-width: 100%;
        padding: 3rem; } }
    .hero-content h1 {
      font-size: 7.2rem;
      font-family: 'Source Sans Pro BlackIt';
      color: #ffffff;
      line-height: 7.2rem; }
      @media only screen and (max-width: 47.938em) {
        .hero-content h1 {
          font-size: 4rem;
          line-height: 4.2rem; } }
    .hero-content p {
      padding-bottom: 5rem;
      font-size: 1.8rem;
      font-family: "Bree Serif", serif;
      color: #ffffff;
      line-height: 2.4rem; }
      @media only screen and (max-width: 47.938em) {
        .hero-content p {
          font-size: 1.6rem;
          line-height: 1.8rem; } }
    .hero-content .btn-icon {
      margin-right: 0.8rem;
      width: 1.8rem; }
    .hero-content .btn-arrow {
      width: 0.6rem;
      position: absolute;
      top: 50%;
      right: 1rem;
      -moz-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
  .hero-button {
    width: 20rem; }
  .hero.left, .hero.center, .hero.right {
    text-align: initial; }
  .hero.left {
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: flex-start; }
    .hero.left .hero-content {
      text-align: left;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start; }
  .hero.center {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center; }
    .hero.center .hero-content {
      padding-left: 0;
      text-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
  .hero.right {
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end; }
    @media only screen and (max-width: 47.938em) {
      .hero.right {
        padding-top: 4rem; } }
    .hero.right .hero-content {
      padding-right: 8rem;
      padding-left: 0;
      text-align: right;
      -webkit-align-items: flex-end;
      -moz-align-items: flex-end;
      -ms-align-items: flex-end;
      -ms-flex-align: flex-end;
      align-items: flex-end; }
      @media only screen and (max-width: 61.875em) {
        .hero.right .hero-content {
          padding-right: 5rem; } }
      @media only screen and (max-width: 47.938em) {
        .hero.right .hero-content {
          max-width: 100%;
          padding: 3rem;
          text-align: left;
          -webkit-align-items: flex-start;
          -moz-align-items: flex-start;
          -ms-align-items: flex-start;
          -ms-flex-align: flex-start;
          align-items: flex-start; } }
  .hero .arrow-animation {
    cursor: pointer;
    z-index: 101;
    position: absolute;
    bottom: 6rem;
    left: 50%;
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); }
    .hero .arrow-animation.center {
      left: 50%; }
    .hero .arrow-animation.left {
      left: 8rem; }
    .hero .arrow-animation.right {
      right: 8rem; }
    .hero .arrow-animation-line {
      margin: -2.5rem;
      display: block;
      width: 4rem;
      height: 4rem;
      animation: animate 2s infinite; }
      .hero .arrow-animation-line img {
        width: 4rem;
        -moz-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .hero .arrow-animation-line:nth-child(2) {
        animation-delay: -0.2s; }
      .hero .arrow-animation-line:nth-child(3) {
        animation-delay: -0.4s; }

/* ---------- Team Member ---------- */
.team-member {
  margin-bottom: 5rem; }
  .team-member-image {
    padding-bottom: 2rem;
    width: 100%;
    height: 38rem; }
    .team-member-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top; }
  .team-member-video {
    position: relative;
    padding-bottom: 2rem;
    width: 100%;
    height: 40rem; }
    .team-member-video video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 0rem 20%; }
      .team-member-video video::-webkit-media-controls {
        display: none !important; }
      .team-member-video video::-moz-media-controls {
        display: none !important; }
      .team-member-video video::media-controls {
        display: none !important; }
      .team-member-video video::controls {
        display: none !important; }
    .team-member-video-play {
      display: none;
      position: absolute;
      top: 1.5rem;
      right: 1.5rem; }
      .team-member-video-play img {
        width: 3rem; }
      @media only screen and (max-width: 47.938em) {
        .team-member-video-play {
          display: block; } }
  .team-member-title h4 {
    padding-bottom: 1rem;
    font-size: 2.6rem;
    font-family: 'Source Sans Pro BlackIt';
    color: #0f3331;
    line-height: 2.6rem; }
  .team-member-title p {
    font-size: 1.6rem;
    font-family: 'Source Sans Pro Light';
    color: #0f3331;
    line-height: 2.2rem; }
  .team-member-social {
    padding-top: 1.5rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .team-member-social a {
      margin-right: 1.2rem;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      .team-member-social a:last-child {
        margin-right: 0; }
      .team-member-social a:hover {
        opacity: 0.7; }
      .team-member-social a img {
        width: 1.8rem; }

/* ---------- Produkt Information ---------- */
.produkt-information {
  width: 100%;
  z-index: 102;
  position: absolute;
  bottom: 0;
  left: 50%;
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }
  .produkt-information-button {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    bottom: 5rem;
    left: 50%;
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
    .produkt-information-button img {
      margin-bottom: 0.5rem;
      -webkit-transition: transform ease-in 0.3s;
      -moz-transition: transform ease-in 0.3s;
      -ms-transition: transform ease-in 0.3s;
      -o-transition: transform ease-in 0.3s;
      transition: transform ease-in 0.3s; }
    .produkt-information-button span {
      font-size: 1.6rem;
      font-family: "Bree Serif", serif;
      font-weight: 500;
      color: #ffffff;
      line-height: 2.4rem; }
    .produkt-information-button:hover img {
      position: relative;
      transform: translateY(-1rem); }
  .produkt-information-close {
    position: absolute;
    top: 5rem;
    right: 5rem; }
    @media only screen and (max-width: 47.938em) {
      .produkt-information-close {
        top: 2rem;
        right: 2.5rem; } }
  .produkt-information-download {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    right: 5rem;
    bottom: 5rem; }
    @media only screen and (max-width: 47.938em) {
      .produkt-information-download {
        right: 2rem;
        bottom: 2rem; } }
    .produkt-information-download img {
      margin-right: 1.2rem;
      width: 2.5rem; }
    .produkt-information-download-title {
      padding-bottom: 0 !important;
      font-size: 1.6rem;
      font-family: 'Source Sans Pro Semibold';
      line-height: 1.8rem;
      color: #ead800; }
    .produkt-information-download-description {
      font-size: 1.4rem;
      font-family: 'Source Sans Pro Regular';
      line-height: 1.7rem;
      color: #ead800; }
  .produkt-information-toggle {
    padding: 0 5rem;
    width: 100%;
    min-height: 50rem;
    background-color: rgba(15, 51, 49, 0.6);
    opacity: 0;
    visibility: hidden;
    position: absolute;
    bottom: -40rem;
    -webkit-transition: ease-in 0.3s;
    -moz-transition: ease-in 0.3s;
    -ms-transition: ease-in 0.3s;
    -o-transition: ease-in 0.3s;
    transition: ease-in 0.3s;
    -webkit-backdrop-filter: blur(2.5rem);
    backdrop-filter: blur(2.5rem);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    @media only screen and (max-width: 47.938em) {
      .produkt-information-toggle {
        padding: 0 3rem;
        height: 40rem;
        min-height: initial; } }
    .produkt-information-toggle-wrap {
      padding: 3rem 0;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start; }
      @media only screen and (max-width: 47.938em) {
        .produkt-information-toggle-wrap {
          overflow-y: scroll;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; } }
    .produkt-information-toggle.open {
      bottom: 0;
      opacity: 1;
      visibility: visible; }
  .produkt-information-title {
    padding: 2rem 0;
    width: 100%;
    border-bottom: 0.1rem solid #ffffff; }
    @media only screen and (max-width: 47.938em) {
      .produkt-information-title {
        padding: 1.2rem 0; } }
    .produkt-information-title h1 {
      padding: 0;
      font-size: 5.6rem;
      font-family: 'Source Sans Pro BlackIt';
      color: #ffffff;
      line-height: 5.8rem; }
      @media only screen and (max-width: 47.938em) {
        .produkt-information-title h1 {
          font-size: 2.6rem;
          line-height: 3.4rem; } }
  .produkt-information-description, .produkt-information-items {
    padding-right: 5rem;
    max-width: 33.3334%;
    width: 33.3334%;
    -moz-box-flex: 0 0 33.3334%;
    -webkit-flex: 0 0 33.3334%;
    -ms-flex: 0 0 33.3334%;
    flex: 0 0 33.3334%; }
    @media only screen and (max-width: 47.938em) {
      .produkt-information-description, .produkt-information-items {
        padding-right: 0;
        max-width: 100%;
        width: 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
  @media only screen and (max-width: 47.938em) {
    .produkt-information-description {
      padding-bottom: 3rem; } }
  .produkt-information-description p {
    font-size: 1.6rem;
    font-family: 'Source Sans Pro Regular';
    color: #ffffff;
    line-height: 2.4rem; }
  .produkt-information-items {
    padding-right: 8rem; }
    @media only screen and (max-width: 47.938em) {
      .produkt-information-items {
        padding-right: 0; } }
    .produkt-information-items ul li {
      position: relative;
      padding-left: 1.8rem; }
      .produkt-information-items ul li:not(:last-child) {
        margin-bottom: 1rem; }
      .produkt-information-items ul li::before {
        content: "";
        width: 0.6rem;
        height: 0.6rem;
        background-color: white;
        border-radius: 50%;
        position: absolute;
        top: 1rem;
        left: 0.3rem; }
      .produkt-information-items ul li::after {
        content: "";
        width: 1.2rem;
        height: 1.2rem;
        background-color: transparent;
        border: 0.1rem solid #ffffff;
        border-radius: 50%;
        position: absolute;
        top: 0.7rem;
        left: 0; }
      .produkt-information-items ul li h6 {
        padding: 0;
        font-size: 1.8rem;
        font-family: 'Source Sans Pro Black';
        color: #ffffff;
        line-height: 2.4rem; }
      .produkt-information-items ul li p {
        padding: 0;
        font-size: 1.8rem;
        font-family: 'Source Sans Pro Light';
        color: rgba(255, 255, 255, 0.8);
        line-height: 2.4rem; }

/* ---------- Schlepper ---------- */
.produkt-schlepper {
  width: 100%;
  height: 98rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media only screen and (max-width: 87.5em) {
    .produkt-schlepper {
      height: 80rem; } }
  @media only screen and (max-width: 75em) {
    .produkt-schlepper {
      height: auto; } }
  @media only screen and (max-width: 75em) {
    .produkt-schlepper {
      margin-top: 10rem; } }
  .produkt-schlepper-image {
    position: absolute;
    top: 5rem;
    left: 5rem;
    width: 70%;
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 60%;
    margin-bottom: -40px;
    z-index: 100; }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper-image {
        top: 0;
        left: 2rem; } }
    .produkt-schlepper-image img {
      width: 120rem;
      height: auto; }
      @media only screen and (max-width: 87.5em) {
        .produkt-schlepper-image img {
          margin-top: 10rem;
          margin-left: -10rem; } }
      @media only screen and (max-width: 75em) {
        .produkt-schlepper-image img {
          margin-top: initial;
          margin-left: initial; } }
    .produkt-schlepper-image .tooltip-container {
      position: absolute;
      cursor: pointer; }
      .produkt-schlepper-image .tooltip-container-point {
        position: relative;
        width: 2rem;
        height: 2rem;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex; }
        .produkt-schlepper-image .tooltip-container-point::before {
          content: "";
          width: 1rem;
          height: 1rem;
          background-color: #D71625;
          border-radius: 50%;
          position: absolute;
          top: 0.4rem;
          left: 0.4rem;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          -ms-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s;
          -moz-transform: scale(1);
          -o-transform: scale(1);
          -ms-transform: scale(1);
          -webkit-transform: scale(1);
          transform: scale(1); }
        .produkt-schlepper-image .tooltip-container-point::after {
          content: "";
          width: 1.8rem;
          height: 1.8rem;
          border: 0.1rem solid #D71625;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          -ms-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s; }
      .produkt-schlepper-image .tooltip-container-content {
        padding: 1.2rem;
        width: 20rem;
        background-color: #ffffff;
        border-radius: 0.8rem;
        text-align: center;
        opacity: 0;
        visibility: hidden;
        -webkit-box-shadow: 0 1rem 1.2rem -0.5rem rgba(0, 0, 0, 0.25);
        -moz-box-shadow: 0 1rem 1.2rem -0.5rem rgba(0, 0, 0, 0.25);
        box-shadow: 0 1rem 1.2rem -0.5rem rgba(0, 0, 0, 0.25);
        -webkit-transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
        -moz-transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
        -ms-transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
        -o-transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
        transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
        position: absolute;
        left: 50%;
        -moz-transform: translate(-50%, 2rem);
        -o-transform: translate(-50%, 2rem);
        -ms-transform: translate(-50%, 2rem);
        -webkit-transform: translate(-50%, 2rem);
        transform: translate(-50%, 2rem); }
        .produkt-schlepper-image .tooltip-container-content::before {
          content: "";
          border-width: 1rem;
          border-style: solid;
          border-color: transparent transparent #ffffff transparent;
          position: absolute;
          top: -2rem;
          left: 50%;
          -moz-transform: translateX(-50%);
          -o-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }
        .produkt-schlepper-image .tooltip-container-content p {
          padding: 0;
          font-size: 1.6rem;
          font-family: 'Source Sans Pro Regular';
          line-height: 2.2rem;
          color: #0f3331; }
          @media only screen and (max-width: 75em) {
            .produkt-schlepper-image .tooltip-container-content p {
              font-size: 1.6rem;
              line-height: 1.8rem; } }
        .produkt-schlepper-image .tooltip-container-content.show-tooltip {
          opacity: 1;
          visibility: visible;
          -moz-transform: translate(-50%, 1.5rem);
          -o-transform: translate(-50%, 1.5rem);
          -ms-transform: translate(-50%, 1.5rem);
          -webkit-transform: translate(-50%, 1.5rem);
          transform: translate(-50%, 1.5rem); }
      .produkt-schlepper-image .tooltip-container:hover .tooltip-container-point::before {
        -moz-transform: scale(1.25);
        -o-transform: scale(1.25);
        -ms-transform: scale(1.25);
        -webkit-transform: scale(1.25);
        transform: scale(1.25); }
      .produkt-schlepper-image .tooltip-container:hover .tooltip-container-point::after {
        -moz-transform: scale(1.25);
        -o-transform: scale(1.25);
        -ms-transform: scale(1.25);
        -webkit-transform: scale(1.25);
        transform: scale(1.25); }
      .produkt-schlepper-image .tooltip-container.supergrip {
        bottom: 41%;
        right: 7%; }
      .produkt-schlepper-image .tooltip-container.ruckseite {
        top: 42%;
        right: 39%; }
      .produkt-schlepper-image .tooltip-container.panorama {
        top: 32%;
        left: 28%; }
      .produkt-schlepper-image .tooltip-container.frontschilder {
        top: 43%;
        left: 4%; }
  .produkt-schlepper-wrapper {
    width: 80%;
    height: 100%;
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
    background-color: #0f3331;
    position: absolute;
    right: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end; }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper-wrapper {
        padding: 8rem 5rem 5rem 5rem;
        width: 100%;
        height: auto;
        min-height: 45rem;
        position: relative;
        right: initial;
        transform: initial;
        clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -ms-flex-pack: flex-start; } }
    .produkt-schlepper-wrapper::before {
      content: "";
      width: 100%;
      height: 100%;
      background-image: url("../img/backgrounds/HSM_Pattern_yellow.png");
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      top: 0;
      left: 0; }
    .produkt-schlepper-wrapper::after {
      content: "";
      width: 100%;
      height: 100%;
      background-image: linear-gradient(180deg, #0F3331 0%, #0F3331A8 100%);
      position: absolute;
      top: 0;
      left: 0; }
  .produkt-schlepper-content {
    max-width: 50rem;
    width: 100%;
    z-index: 100;
    position: absolute;
    top: 8rem;
    right: 12rem; }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper-content {
        max-width: 100%;
        padding-bottom: 8rem; } }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper-content {
        padding-right: 3rem;
        top: initial;
        bottom: 5rem;
        right: initial;
        left: 3rem; } }
    .produkt-schlepper-content h1 {
      padding-bottom: 1.5rem;
      font-size: 6.8rem;
      font-family: 'Source Sans Pro BlackIt';
      line-height: 7rem;
      color: #ffffff; }
      @media only screen and (max-width: 75em) {
        .produkt-schlepper-content h1 {
          padding-bottom: 2rem;
          font-size: 4rem;
          line-height: 4.2rem; } }
    .produkt-schlepper-content p {
      padding-bottom: 2rem;
      font-size: 1.8rem;
      font-family: 'Source Sans Pro Regular';
      line-height: 2.4rem;
      color: #ffffff; }
      @media only screen and (max-width: 75em) {
        .produkt-schlepper-content p {
          font-size: 1.6rem;
          line-height: 1.8rem; } }
    .produkt-schlepper-content .btn {
      max-width: 15rem;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex; }
      .produkt-schlepper-content .btn img {
        margin-right: 1.2rem; }
  @media only screen and (max-width: 75em) {
    .produkt-schlepper.right {
      margin-top: 18rem; } }
  .produkt-schlepper.right .produkt-schlepper-image {
    right: 5rem;
    left: initial; }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper.right .produkt-schlepper-image {
        right: -5.5rem;
        order: 1; } }
    @media only screen and (max-width: 87.5em) {
      .produkt-schlepper.right .produkt-schlepper-image img {
        margin-left: initial;
        margin-right: -10rem; } }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper.right .produkt-schlepper-image img {
        margin-right: initial; } }
    .produkt-schlepper.right .produkt-schlepper-image .tooltip-container.supergrip {
      bottom: 42%;
      left: 7.5%;
      right: initial; }
    .produkt-schlepper.right .produkt-schlepper-image .tooltip-container.ruckseite {
      top: 42%;
      right: 59%; }
    .produkt-schlepper.right .produkt-schlepper-image .tooltip-container.panorama {
      top: 34%;
      left: 71%; }
    .produkt-schlepper.right .produkt-schlepper-image .tooltip-container.frontschilder {
      top: 45%;
      right: 5%;
      left: initial; }
  .produkt-schlepper.right .produkt-schlepper-wrapper {
    padding-right: initial;
    padding-left: 10rem;
    right: initial;
    left: 0;
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: flex-start; }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper.right .produkt-schlepper-wrapper {
        padding: 8rem 5rem 5rem 5rem;
        margin-top: -13rem;
        width: 100%;
        height: auto;
        min-height: 50rem;
        position: relative;
        right: initial;
        transform: initial;
        clip-path: polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
        order: 2;
        -webkit-align-items: center;
        -moz-align-items: center;
        -ms-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -ms-flex-pack: flex-start; } }
  .produkt-schlepper.right .produkt-schlepper-content {
    text-align: left;
    left: 12rem;
    right: initial; }
    @media only screen and (max-width: 75em) {
      .produkt-schlepper.right .produkt-schlepper-content {
        left: 3rem; } }

/* ---------- Blog Posts ---------- */
.blog-posts {
  position: relative; }
  @media only screen and (max-width: 47.938em) {
    .blog-posts-desktop {
      display: none; } }
  .blog-posts-mobile {
    display: none; }
    @media only screen and (max-width: 47.938em) {
      .blog-posts-mobile {
        display: block; } }
  .blog-posts .swiper-container {
    overflow: hidden; }
    .blog-posts .swiper-container .swiper-wrapper {
      overflow: initial !important; }
  .blog-posts .swiper-button-prev {
    left: -5rem; }
  .blog-posts .swiper-button-next {
    right: -5rem; }
  .blog-posts .swiper-button-prev::after,
  .blog-posts .swiper-button-next::after {
    font-size: 3rem;
    color: #0f3331; }
  .blog-posts .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: -3rem !important; }
  .blog-posts .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
    background-color: rgba(15, 51, 49, 0.35);
    opacity: 1;
    -webkit-transition: ease-in 0.3s;
    -moz-transition: ease-in 0.3s;
    -ms-transition: ease-in 0.3s;
    -o-transition: ease-in 0.3s;
    transition: ease-in 0.3s; }
    .blog-posts .swiper-pagination-bullet:hover {
      background-color: #0f3331; }
    .blog-posts .swiper-pagination-bullet-active {
      background-color: #0f3331; }
  .blog-posts-grid {
    width: 100%;
    display: grid;
    grid-template-rows: 30rem 10rem 30rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem; }
  .blog-posts-clip {
    width: 100%;
    height: 60%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #0f3331;
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0% 100%);
    z-index: 2; }
    .blog-posts-clip::before {
      content: "";
      width: 100%;
      height: 100%;
      background-image: url("../img/backgrounds/HSM_Pattern.png");
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      top: 0;
      left: 0; }
    .blog-posts-clip::after {
      content: "";
      width: 100%;
      height: 100%;
      background-image: linear-gradient(90deg, #0f3331 0%, rgba(15, 51, 49, 0.3) 100%);
      position: absolute;
      top: 0;
      left: 0; }
  .blog-posts-title {
    position: absolute;
    top: initial;
    right: 3rem;
    bottom: 3rem;
    left: 2rem;
    z-index: 3;
    transition: 0.3s ease-in-out;
    opacity: 0.8; }
    .blog-posts-title h3,
    .blog-posts-title a {
      padding-bottom: 1rem;
      font-size: 2.8rem;
      font-family: 'Source Sans Pro BlackIt';
      color: #ffffff;
      line-height: 2.7rem; }
      @media only screen and (max-width: 75em) {
        .blog-posts-title h3,
        .blog-posts-title a {
          font-size: 2rem;
          line-height: 2rem; } }
      @media only screen and (max-width: 47.938em) {
        .blog-posts-title h3,
        .blog-posts-title a {
          font-size: 2.8rem;
          line-height: 2.7rem; } }
    .blog-posts-title p {
      font-size: 1.4rem;
      font-family: "Bree Serif", serif;
      font-weight: 300;
      color: #ffffff;
      line-height: 1.5rem; }
  .blog-posts-item {
    position: relative;
    overflow: hidden; }
    .blog-posts-item:nth-child(1) {
      grid-row: 1 / 1;
      grid-column: 1 / 3; }
      .blog-posts-item:nth-child(1) .blog-posts-title {
        width: 40%;
        top: 3rem;
        left: 3rem;
        bottom: initial; }
        @media only screen and (max-width: 75em) {
          .blog-posts-item:nth-child(1) .blog-posts-title {
            top: 2rem;
            left: 2rem; } }
        @media only screen and (max-width: 47.938em) {
          .blog-posts-item:nth-child(1) .blog-posts-title {
            top: 3rem;
            left: 3rem; } }
      .blog-posts-item:nth-child(1) .blog-posts-clip {
        width: 60%;
        height: 100%;
        top: 0;
        left: 0;
        clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); }
      .blog-posts-item:nth-child(1) .blog-posts-featured {
        width: 55%;
        height: 100%;
        top: 0;
        right: 0;
        left: initial; }
    .blog-posts-item:nth-child(2) {
      grid-row: 1 / 3;
      grid-column: 3 / 4; }
    .blog-posts-item:nth-child(3) {
      grid-row: 1 / 3;
      grid-column: 4 / 5; }
    .blog-posts-item:nth-child(4) {
      grid-row: 2 / 4;
      grid-column: 1 / 2; }
    .blog-posts-item:nth-child(5) {
      grid-row: 2 / 4;
      grid-column: 2 / 3; }
    .blog-posts-item:nth-child(6) {
      grid-row: 3 / 4;
      grid-column: 3 / 5; }
      .blog-posts-item:nth-child(6) .blog-posts-title {
        width: 40%;
        top: 3rem;
        left: 3rem;
        bottom: initial; }
        @media only screen and (max-width: 75em) {
          .blog-posts-item:nth-child(6) .blog-posts-title {
            top: 2rem;
            left: 2rem; } }
        @media only screen and (max-width: 47.938em) {
          .blog-posts-item:nth-child(6) .blog-posts-title {
            top: 3rem;
            left: 3rem; } }
      .blog-posts-item:nth-child(6) .blog-posts-clip {
        width: 60%;
        height: 100%;
        top: 0;
        left: 0;
        clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); }
      .blog-posts-item:nth-child(6) .blog-posts-featured {
        width: 55%;
        height: 100%;
        top: 0;
        right: 0;
        left: initial; }
    .blog-posts-item:hover .blog-posts-featured img {
      transform: scale(1.1);
      transition: transform 0.3s ease-in-out; }
    .blog-posts-item:hover .blog-posts-title {
      opacity: 1; }
  .blog-posts-featured {
    width: 100%;
    height: 55%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
    .blog-posts-featured img {
      width: 100%;
      height: 100% !important;
      object-fit: cover;
      transition: transform 0.3s ease-in-out;
      -moz-transform: scale(1);
      -o-transform: scale(1);
      -ms-transform: scale(1);
      -webkit-transform: scale(1);
      transform: scale(1); }
  .blog-posts-mobile {
    display: none; }
    @media only screen and (max-width: 47.938em) {
      .blog-posts-mobile {
        display: block; } }
    .blog-posts-mobile .blog-posts-grid {
      grid-gap: 2rem;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .blog-posts-mobile .blog-posts-item {
      width: 100%;
      height: 40rem; }
      .blog-posts-mobile .blog-posts-item .blog-posts-title {
        padding: 3rem 3rem 0 3rem;
        top: initial;
        right: initial;
        left: initial;
        bottom: 3rem; }
      .blog-posts-mobile .blog-posts-item:nth-child(1) .blog-posts-title, .blog-posts-mobile .blog-posts-item:nth-child(6) .blog-posts-title {
        width: 100%; }
      .blog-posts-mobile .blog-posts-item:nth-child(1) .blog-posts-clip, .blog-posts-mobile .blog-posts-item:nth-child(6) .blog-posts-clip {
        width: 100%;
        height: 60%;
        position: absolute;
        top: initial;
        bottom: 0;
        left: 0;
        background-color: #0f3331;
        clip-path: polygon(0 0, 100% 20%, 100% 100%, 0% 100%);
        z-index: 2; }
      .blog-posts-mobile .blog-posts-item:nth-child(1) .blog-posts-featured, .blog-posts-mobile .blog-posts-item:nth-child(6) .blog-posts-featured {
        width: 100%;
        height: 55%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1; }

.blog-post-title,
.blog-post-featured {
  position: relative;
  height: 20rem; }

.blog-post-title {
  position: relative;
  height: 30rem; }
  .blog-post-title .elementor-container {
    z-index: 100;
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    left: 2rem; }

.blog-post-title {
  background-color: #0f3331;
  clip-path: polygon(0 0, 100% 20%, 100% 100%, 0% 100%); }
  .blog-post-title::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("../img/backgrounds/HSM_Pattern.png");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0; }
  .blog-post-title::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: linear-gradient(90deg, #0f3331 0%, rgba(15, 51, 49, 0.3) 100%);
    position: absolute;
    top: 0;
    left: 0; }

/* ---------- Occasionen ---------- */
.occasionen-item {
  width: 100%;
  height: 22rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 1rem 1.2rem -0.5rem rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 1rem 1.2rem -0.5rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 1rem 1.2rem -0.5rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .occasionen-item:not(:last-child) {
    margin-bottom: 5rem; }
    @media only screen and (max-width: 47.938em) {
      .occasionen-item:not(:last-child) {
        margin-bottom: 2.5rem; } }
  @media only screen and (max-width: 47.938em) {
    .occasionen-item {
      height: auto;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; } }
  .occasionen-item-content {
    padding: 3rem;
    position: relative;
    width: 70%;
    max-width: 70%;
    -moz-box-flex: 0 0 70%;
    -webkit-flex: 0 0 70%;
    -ms-flex: 0 0 70%;
    flex: 0 0 70%; }
    @media only screen and (max-width: 47.938em) {
      .occasionen-item-content {
        padding: 2rem;
        width: 100%;
        max-width: 100%;
        order: 2;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
  .occasionen-item-featured {
    width: 30%;
    max-width: 30%;
    height: 100%;
    -moz-box-flex: 0 0 30%;
    -webkit-flex: 0 0 30%;
    -ms-flex: 0 0 30%;
    flex: 0 0 30%; }
    @media only screen and (max-width: 47.938em) {
      .occasionen-item-featured {
        width: 100%;
        max-width: 100%;
        order: 1;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
    .occasionen-item-featured img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important; }
  .occasionen-item-title h4 {
    font-size: 2.6rem;
    font-family: 'Source Sans Pro BlackIt';
    color: #0f3331;
    line-height: 3.4rem; }
    @media only screen and (max-width: 61.875em) {
      .occasionen-item-title h4 {
        font-size: 2.2rem;
        line-height: 2.8rem; } }
  .occasionen-item-info {
    position: relative; }
    .occasionen-item-info-item {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      .occasionen-item-info-item:not(:last-child) {
        margin-bottom: 1rem; }
      .occasionen-item-info-item h5 {
        padding: 0;
        max-width: 12rem;
        width: 100%;
        font-size: 1.4rem;
        font-family: 'Source Sans Pro Semibold';
        color: #0f3331;
        line-height: 1.6rem; }
      .occasionen-item-info-item p {
        font-size: 1.4rem;
        font-family: 'Source Sans Pro Light';
        color: #0f3331;
        line-height: 1.6rem; }
  .occasionen-item-details {
    margin-top: 2rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end; }
    .occasionen-item-details span {
      padding-right: 0.5rem;
      font-size: 1.4rem;
      font-family: "Bree Serif", serif;
      color: #0f3331;
      line-height: 1.6rem;
      -webkit-transition: ease-in 0.3s;
      -moz-transition: ease-in 0.3s;
      -ms-transition: ease-in 0.3s;
      -o-transition: ease-in 0.3s;
      transition: ease-in 0.3s; }
    .occasionen-item-details img {
      width: 1.4rem; }
    .occasionen-item-details:hover span {
      color: #05733b; }
  .occasionen-item-not-found {
    width: 100%;
    text-align: center; }
    .occasionen-item-not-found h4 {
      font-size: 2.6rem;
      font-family: 'Source Sans Pro BlackIt';
      color: #0f3331;
      line-height: 3.4rem; }

.occasionen-categories {
  position: sticky;
  top: 20rem; }
  @media only screen and (max-width: 47.938em) {
    .occasionen-categories {
      padding-bottom: 5rem; } }
  .occasionen-categories::after {
    content: "";
    width: 0.3rem;
    height: 30rem;
    background-color: #0f3331;
    border-radius: 10rem;
    position: absolute;
    top: 0;
    right: 5rem; }
    @media only screen and (max-width: 61.875em) {
      .occasionen-categories::after {
        right: 2rem; } }
    @media only screen and (max-width: 47.938em) {
      .occasionen-categories::after {
        display: none; } }
  .occasionen-categories h4 {
    padding-bottom: 2rem;
    font-size: 1.8rem;
    font-family: "Bree Serif", serif;
    color: #0f3331;
    line-height: 2rem; }
  .occasionen-categories .form-check {
    margin-bottom: 1.2rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .occasionen-categories .form-check input[type=checkbox] {
      display: none; }
    .occasionen-categories .form-check-label {
      position: relative;
      padding-left: 2rem;
      font-size: 1.4rem;
      font-family: 'Source Sans Pro Light';
      color: #0f3331;
      line-height: 1.6rem; }
      .occasionen-categories .form-check-label::before {
        content: "";
        width: 1.2rem;
        height: 1.2rem;
        background-color: transparent;
        border: 0.1rem solid #0f3331;
        border-radius: 0.3rem;
        position: absolute;
        top: 50%;
        left: 0;
        -moz-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%); }
      .occasionen-categories .form-check-label::after {
        content: "";
        width: 1.6rem;
        height: 1.6rem;
        background-image: url("../img/icons/check.svg");
        background-size: 1.6rem;
        opacity: 0;
        visibility: hidden;
        position: absolute;
        top: calc(50% - 0.1rem);
        left: 0;
        -moz-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        -webkit-transition: ease-in 0.3s;
        -moz-transition: ease-in 0.3s;
        -ms-transition: ease-in 0.3s;
        -o-transition: ease-in 0.3s;
        transition: ease-in 0.3s; }
    .occasionen-categories .form-check input[type=checkbox]:checked ~ label::before {
      border: 0.1rem solid #05733b; }
    .occasionen-categories .form-check input[type=checkbox]:checked ~ label::after {
      opacity: 1;
      visibility: visible; }
    .occasionen-categories .form-check-input, .occasionen-categories .form-check-label {
      cursor: pointer; }
  .occasionen-categories-range {
    margin-top: 3rem; }
    .occasionen-categories-range > div {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      .occasionen-categories-range > div span {
        font-size: 1.4rem;
        font-family: 'Source Sans Pro Light';
        color: #0f3331;
        line-height: 1.6rem; }
    .occasionen-categories-range input[type="range"] {
      -webkit-appearance: none;
      appearance: none;
      margin: 0 1rem;
      width: 10.5rem;
      height: 0.5rem;
      background: transparent;
      border: 0.1rem solid #0f3331;
      border-radius: 1.2rem;
      outline: none; }
      .occasionen-categories-range input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 1.2rem;
        height: 1.2rem;
        background-color: #0f3331;
        cursor: pointer;
        border-radius: 50%; }

.loading::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1001;
  position: fixed;
  top: 50%;
  left: 50%;
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }

.loading::after {
  content: "";
  width: 4rem;
  height: 4rem;
  background-color: transparent;
  border: 0.25rem solid #0f3331;
  border-radius: 50%;
  opacity: 1;
  visibility: visible;
  z-index: 1002;
  animation: loader 1s ease-out infinite;
  position: fixed;
  top: 50%;
  left: 50%;
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
