@charset "UTF-8";
/*! Handmade with love by https://esmes.fi */ /*=== RESET */
*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

html {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  height: 100%;
  -webkit-text-size-adjust: 100%;
}

input,
textarea {
  border: 0;
  border-radius: 0;
  font: inherit;
  -webkit-appearance: none;
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* HTML5 for old-ie */
article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

template {
  display: none;
}

address,
button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

a img {
  border-style: none;
}

/* Responsive SVG */
img[src*=".svg"] {
  width: 100%;
  height: auto;
}

/* Assumes 16px/100% root font size */
html {
  font-size: 1.1111111111vw;
  height: 100%;
  --app-height: 100vh;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100%;
  display: flex;
  flex-direction: column;
  font-family: "Arimo", arial, sans-serif;
  font-size: 1.1875rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: #000000;
}

a {
  color: inherit;
}

.button {
  --size: 3.25rem;
  --gap: 1.625rem;
  color: #3C65EE;
  min-height: var(--size);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-size: 1.1875rem;
  line-height: 1.5rem;
  font-weight: 700;
  position: relative;
  padding-left: calc(var(--size) + var(--gap));
}
.button::before, .button::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: var(--size);
  flex-shrink: 0;
  height: var(--size);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 2.375rem auto;
}
.button::before {
  background-color: #3C65EE;
  background-image: url("../svg/arrow.svg");
}
.button::after {
  opacity: 0;
  background-image: url("../svg/arrow-bold.svg");
}
.button:hover::before {
  background-image: none;
}
.button:hover::after {
  opacity: 1;
}
.button span {
  display: inline-block;
  max-width: 20rem;
}
.button.icon-right {
  padding-left: 0;
  padding-right: calc(var(--size) + var(--gap));
}
.button.icon-right::before, .button.icon-right::after {
  left: auto;
  right: 0;
}
.button.small {
  --size: 2.125rem;
  --gap: 1.125rem;
  font-size: 0.875rem;
  line-height: 1.0625rem;
}
.button.small::before, .button.small::after {
  background-size: 1.5625rem auto;
}

.arrow-link {
  font-size: 1.1875rem;
  --padding: 3.9375rem;
  --height: 1.5rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  line-height: var(--height);
  position: relative;
  padding-left: var(--padding);
}
.arrow-link::before, .arrow-link::after {
  background-color: #3C65EE;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: var(--padding);
  flex-shrink: 0;
  height: var(--height);
  -webkit-mask-position: 0% 50%;
          mask-position: 0% 50%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: auto 100%;
          mask-size: auto 100%;
}
.arrow-link::before {
  -webkit-mask-image: url("../svg/arrow.svg");
          mask-image: url("../svg/arrow.svg");
}
.arrow-link::after {
  opacity: 0;
  -webkit-mask-image: url("../svg/arrow-bold.svg");
          mask-image: url("../svg/arrow-bold.svg");
}
.arrow-link:hover::before {
  opacity: 0;
}
.arrow-link:hover::after {
  opacity: 1;
}
.arrow-link span {
  display: inline-block;
}

.root {
  padding-top: 9.5rem;
}

.root {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
}

.elements h1, .elements .element.number-lifts > .wrapper .content .lifts .lift .number {
  font-size: 3.375rem;
  line-height: 3.625rem;
  letter-spacing: -0.025em;
  font-weight: 700;
}
.elements h2 {
  font-size: 2.5rem;
  line-height: 3rem;
  letter-spacing: -0.025em;
  font-weight: 700;
}
.elements h3, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .title, .elements .element.accordion > .wrapper .accordions .accordion .title {
  font-size: 2rem;
  line-height: 2.625rem;
  letter-spacing: -0.025em;
  font-weight: 700;
}
.elements h4 {
  font-size: 1.3125rem;
  line-height: 1.5rem;
  font-weight: 700;
}
.elements h5 {
  font-weight: 700;
}
.elements strong {
  font-weight: 700;
}
.elements p {
  font-size: 1.1875rem;
  line-height: 1.5rem;
  margin-bottom: 1.25em;
}
.elements small, .elements .element.single-article > .wrapper .content-container > .content .meta, .elements p.small {
  font-size: 1rem;
  line-height: 1.5rem;
}
.elements ol, .elements ul {
  margin-left: 1.3em;
  margin-bottom: 1.25em;
}
.elements .element.hero, .elements .element.content {
  max-width: 105rem;
  margin: 0 auto;
  margin-bottom: 5.3125rem;
}
.elements .element.hero > .wrapper, .elements .element.content > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2.1875rem;
  padding-top: 5rem;
  position: relative;
  display: flex;
}
.elements .element.hero > .wrapper > div, .elements .element.content > .wrapper > div {
  width: 100%;
  max-width: 50%;
  padding: 0 1.25rem;
}
.elements .element.hero > .wrapper .heading, .elements .element.content > .wrapper .heading {
  color: #3C65EE;
}
.elements .element.hero > .wrapper .heading a.heading-link, .elements .element.content > .wrapper .heading a.heading-link {
  display: inline-block;
  margin-top: 1em;
  text-decoration: none;
}
.elements .element.hero > .wrapper .heading a.heading-link:hover, .elements .element.content > .wrapper .heading a.heading-link:hover {
  text-decoration: underline;
}
.elements .element.hero > .wrapper .content .links, .elements .element.content > .wrapper .content .links {
  margin-top: calc(3.75rem - 1.25em);
}
.elements .element.hero > .wrapper .content .links:empty, .elements .element.content > .wrapper .content .links:empty {
  display: none;
}
.elements .element.hero > .wrapper .content .links .link, .elements .element.content > .wrapper .content .links .link {
  margin-bottom: 1.25rem;
}
.elements .element.hero > .wrapper .content .links .link:last-child, .elements .element.content > .wrapper .content .links .link:last-child {
  margin-bottom: 0;
}
.elements .element.hero .background {
  position: relative;
  padding-top: 38.1944444444%;
}
.elements .element.hero .background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 70%;
     object-position: 50% 70%;
}
.elements .element.hero > .wrapper {
  padding-top: 1.875rem;
}
.elements .element.hero > .wrapper::before {
  content: "";
  background-color: #fff;
  position: absolute;
  top: -2.625rem;
  left: 0;
  right: 0;
  height: 2.6875rem;
}
.elements .element.content.gray-bg {
  background-color: #F5F5F5;
  margin-bottom: 0;
  padding-bottom: 6.5625rem;
}
.elements .element.card-lifts {
  margin-top: 5.3125rem;
  margin-bottom: 6.5625rem;
}
.elements .element.card-lifts > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
}
.elements .element.card-lifts > .wrapper .content {
  padding-top: 2.375rem;
  border-top: 1px solid #3C65EE;
  border-bottom: 1px solid #3C65EE;
}
.elements .element.card-lifts > .wrapper .content .heading {
  color: #3C65EE;
}
.elements .element.card-lifts > .wrapper .content .cards {
  padding-top: 2.75rem;
  padding-bottom: 3.625rem;
  position: relative;
  margin: 0 -1.125rem;
  display: flex;
}
.elements .element.card-lifts > .wrapper .content .cards .card {
  padding: 0 1.125rem;
  width: 100%;
  max-width: 33.3%;
  min-width: 25%;
}
.elements .element.card-lifts > .wrapper .content .cards .card .wrapper {
  text-decoration: none;
}
.elements .element.card-lifts > .wrapper .content .cards .card .wrapper .picture {
  position: relative;
  padding-top: 92.8838951311%;
  margin-bottom: 1.875rem;
}
.elements .element.card-lifts > .wrapper .content .cards .card .wrapper .picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.elements .element.card-lifts > .wrapper .content .cards .card .wrapper .button span {
  max-width: 100%;
}
.elements .element.video {
  margin: 6.5625rem auto;
}
.elements .element.video > .wrapper {
  max-width: 60.625rem;
  margin: 0 auto;
  position: relative;
}
.elements .element.video > .wrapper > .content {
  position: relative;
}
.elements .element.recent-posts {
  max-width: 105rem;
  margin: 7.5rem auto;
  margin-bottom: 6.875rem;
}
.elements .element.recent-posts > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
}
.elements .element.recent-posts > .wrapper .content {
  position: relative;
}
.elements .element.recent-posts > .wrapper .content .button {
  position: absolute;
  top: 0.3125rem;
  right: 0;
}
.elements .element.recent-posts > .wrapper .content .heading {
  color: #3C65EE;
  margin-bottom: 3rem;
}
.elements .element.recent-posts > .wrapper .content .posts {
  display: block;
  margin: 0 auto;
  max-width: 54.375rem;
}
.elements .element.recent-posts > .wrapper .content .posts .post {
  display: block;
  margin-bottom: 1.25rem;
}
.elements .element.recent-posts > .wrapper .content .posts .post::before, .elements .element.recent-posts > .wrapper .content .posts .post::after {
  top: 2.45em;
}
.elements .element.recent-posts > .wrapper .content .posts .post .date {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0.625rem;
}
.elements .element.recent-posts > .wrapper .content .posts .post .title {
  font-weight: 700;
}
.elements .element.open-positions {
  max-width: 105rem;
  margin: 7.5rem auto;
  margin-bottom: 6.875rem;
}
.elements .element.open-positions > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
}
.elements .element.open-positions > .wrapper .content {
  position: relative;
}
.elements .element.open-positions > .wrapper .content .posts {
  margin: 0 auto;
  max-width: 54.375rem;
}
.elements .element.open-positions > .wrapper .content .posts .post {
  display: block;
  margin-bottom: 1.25rem;
}
.elements .element.open-positions > .wrapper .content .posts .post::before, .elements .element.open-positions > .wrapper .content .posts .post::after {
  top: 2.45em;
}
.elements .element.open-positions > .wrapper .content .posts .post .date {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0.625rem;
}
.elements .element.open-positions > .wrapper .content .posts .post .title {
  font-weight: 700;
}
.elements .element.number-lifts {
  margin-top: 6.875rem;
  margin-bottom: 7.5rem;
}
.elements .element.number-lifts > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
}
.elements .element.number-lifts > .wrapper .content {
  padding-top: 1.25rem;
  border-top: 1px solid #3C65EE;
}
.elements .element.number-lifts > .wrapper .content .lifts {
  display: flex;
  align-items: stretch;
  justify-content: center;
  position: relative;
}
.elements .element.number-lifts > .wrapper .content .lifts .lift {
  min-width: 12.5rem;
  flex-grow: 1;
  color: #3C65EE;
  text-align: center;
  padding: 0.625rem 1.125rem;
  border-left: 1px solid #3C65EE;
}
.elements .element.number-lifts > .wrapper .content .lifts .lift:first-child {
  border: none;
}
.elements .element.number-lifts > .wrapper .content .lifts .lift .number {
  margin-bottom: 0.25rem;
}
.elements .element.card-lifts + .element.number-lifts > .wrapper .content {
  border-top: none;
}
.elements .element.staggered-content {
  max-width: 105rem;
  margin: 0 auto;
  margin-top: 7.5rem;
  margin-bottom: 1.5625rem;
}
.elements .element.staggered-content > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1.375rem;
  position: relative;
  display: flex;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block {
  display: flex;
  align-items: flex-start;
  margin-bottom: 7.5rem;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block > div {
  padding: 0 2.0625rem;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block h2 {
  color: #3C65EE;
  margin-bottom: 1.875rem;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .picture-container .picture {
  width: 39.6875rem;
  position: relative;
  padding-top: 90.5511811024%;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .picture-container .picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .video-container {
  align-self: center;
  position: relative;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .video-container .video {
  width: 39.6875rem;
  position: relative;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links {
  margin-top: calc(3.75rem - 1.25em);
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links .button span {
  max-width: 23.75rem;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links:empty {
  display: none;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links .link {
  margin-bottom: 1.25rem;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links .link:last-child {
  margin-bottom: 0;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block:nth-child(even) .picture-container {
  order: -1;
}
.elements .element.staggered-content > .wrapper .content-blocks .content-block:nth-child(even) .video-container {
  order: -1;
}
.elements .element.accordion {
  max-width: 105rem;
  margin: 5.3125rem auto;
}
.elements .element.accordion > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
  position: relative;
}
.elements .element.accordion > .wrapper .accordions .accordion {
  margin-bottom: 2.5rem;
  border: 1px solid #3C65EE;
}
.elements .element.accordion > .wrapper .accordions .accordion .title {
  padding: 1.625rem 6.25rem;
  cursor: pointer;
  color: #3C65EE;
  position: relative;
}
.elements .element.accordion > .wrapper .accordions .accordion .title::before, .elements .element.accordion > .wrapper .accordions .accordion .title::after {
  content: "";
  position: absolute;
  top: 1.875rem;
  right: 2.1875rem;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 2rem auto;
}
.elements .element.accordion > .wrapper .accordions .accordion .title::before {
  background-image: url("../svg/arrow-small.svg");
}
.elements .element.accordion > .wrapper .accordions .accordion .title::after {
  opacity: 0;
  background-image: url("../svg/close.svg");
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container {
  position: relative;
  margin: 0 -2.0625rem;
  display: flex;
  padding-bottom: 1.625rem;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content {
  padding: 0 8.3125rem;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content .links {
  margin-top: 0.8em;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content .links:empty {
  display: none;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content .links .link {
  margin-bottom: 1.25rem;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content .links .link a:hover {
  text-decoration: underline;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content .links .link:last-child {
  margin-bottom: 0;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .content .arrow-link {
  color: #3C65EE;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .picture-container {
  padding-top: 0.25rem;
  padding: 0 2.0625rem;
  flex-shrink: 0;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .picture-container .picture {
  padding-right: 2.0625rem;
}
.elements .element.accordion > .wrapper .accordions .accordion .content-container .picture-container .picture img {
  max-width: 29.375rem;
  height: auto !important;
}
.elements .element.accordion > .wrapper .accordions .accordion.open .title::before {
  opacity: 0;
}
.elements .element.accordion > .wrapper .accordions .accordion.open .title::after {
  opacity: 1;
}
.elements .element.accordion > .wrapper .accordions .accordion.has-picture .content-container .content {
  padding-right: 2.0625rem;
}
.elements .element.single-article {
  max-width: 105rem;
  margin: 0 auto;
  margin-bottom: 6.5625rem;
}
.elements .element.single-article > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
  padding-top: 5rem;
  position: relative;
}
.elements .element.single-article > .wrapper .content-container {
  max-width: 48.125rem;
  margin: 0 auto;
}
.elements .element.single-article > .wrapper .content-container > .content {
  padding-bottom: 3.75rem;
}
.elements .element.single-article > .wrapper .content-container > .content .meta {
  margin-top: 2rem;
  margin-bottom: 3.125rem;
}
.elements .element.single-article > .wrapper .content-container > .content .meta span {
  padding: 0 0.875rem;
  border-left: 1px solid #000;
  text-transform: uppercase;
}
.elements .element.single-article > .wrapper .content-container > .content .meta span:first-child {
  padding-left: 0;
  border: none;
}
.elements .element.single-article > .wrapper .content-container > .content h1, .elements .element.single-article > .wrapper .element.number-lifts > .wrapper .content-container > .content .lifts .lift .number, .elements .element.number-lifts > .wrapper .element.single-article > .wrapper .content-container > .content .lifts .lift .number, .elements .element.single-article > .wrapper .content-container > .content h2, .elements .element.single-article > .wrapper .content-container > .content h3, .elements .element.single-article > .wrapper .content-container > .content .element.recent-browser > .wrapper .recent-browser .posts .post .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .element.single-article > .wrapper .content-container > .content .title, .elements .element.single-article > .wrapper .content-container > .content .element.accordion > .wrapper .accordions .accordion .title, .elements .element.accordion > .wrapper .accordions .accordion .element.single-article > .wrapper .content-container > .content .title {
  color: #3C65EE;
}
.elements .element.single-article > .wrapper .content-container > .content h2 {
  font-size: 2rem;
  line-height: 2.625rem;
  letter-spacing: -0.025em;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.elements .element.single-article > .wrapper .content-container > .content h3, .elements .element.single-article > .wrapper .content-container > .content .element.recent-browser > .wrapper .recent-browser .posts .post .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .element.single-article > .wrapper .content-container > .content .title, .elements .element.single-article > .wrapper .content-container > .content .element.accordion > .wrapper .accordions .accordion .title, .elements .element.accordion > .wrapper .accordions .accordion .element.single-article > .wrapper .content-container > .content .title {
  letter-spacing: 0;
  font-size: 1.3125rem;
  line-height: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.elements .element.single-article > .wrapper .content-container > .content img {
  max-width: 100%;
  height: auto !important;
}
.elements .element.single-article > .wrapper .content-container > .content .embed-wrap {
  margin: 2em 0;
}
.elements .element.single-article > .wrapper .content-container > .contact {
  border-top: 1px solid #3C65EE;
  padding-top: 2.5rem;
}
.elements .element.single-article > .wrapper .content-container > .contact h2 {
  color: #3C65EE;
}
.elements .element.single-article > .wrapper .content-container > .contact .wrapper {
  margin-top: 3.75rem;
}
.elements .element.single-article.has-featured-image .background {
  position: relative;
  padding-top: 38.1944444444%;
}
.elements .element.single-article.has-featured-image .background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 70%;
     object-position: 50% 70%;
}
.elements .element.single-article.has-featured-image > .wrapper {
  padding-top: 1.875rem;
}
.elements .element.single-article.has-featured-image > .wrapper::before {
  content: "";
  background-color: #fff;
  position: absolute;
  top: -2.625rem;
  left: 0;
  right: 0;
  height: 2.6875rem;
}
.elements .element.recent-browser {
  max-width: 105rem;
  margin: 0 auto;
  margin-bottom: 6.5625rem;
}
.elements .element.recent-browser > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
  padding-top: 5rem;
  position: relative;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #3C65EE;
  border-bottom: 1px solid #3C65EE;
  padding-bottom: 1.375rem;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading h3, .elements .element.recent-browser > .wrapper .recent-browser .heading .posts .post .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .heading .title, .elements .element.recent-browser > .wrapper .recent-browser .heading .element.accordion > .wrapper .accordions .accordion .title, .elements .element.accordion > .wrapper .accordions .accordion .element.recent-browser > .wrapper .recent-browser .heading .title {
  margin-right: 6.25rem;
  line-height: 2.625rem;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading .filters {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  font-weight: 700;
  line-height: 2.625rem;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading .filters span {
  display: block;
  margin-left: 2.5rem;
  position: relative;
  cursor: pointer;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading .filters span:first-child {
  margin: 0;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading .filters span.active {
  cursor: default;
}
.elements .element.recent-browser > .wrapper .recent-browser .heading .filters span.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1.375rem;
  height: 0.5625rem;
  background-color: #3C65EE;
}
.elements .element.recent-browser > .wrapper .recent-browser .posts {
  padding-top: 5.9375rem;
  margin: 0 auto;
  max-width: 52.1875rem;
}
.elements .element.recent-browser > .wrapper .recent-browser .posts .post {
  margin-bottom: 1.25rem;
}
.elements .element.recent-browser > .wrapper .recent-browser .posts .post.hidden {
  display: none;
}
.elements .element.recent-browser > .wrapper .recent-browser .posts .post::before, .elements .element.recent-browser > .wrapper .recent-browser .posts .post::after {
  top: 2.9em;
}
.elements .element.recent-browser > .wrapper .recent-browser .posts .post .date {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0.625rem;
}
.elements .element.recent-browser > .wrapper .recent-browser .more {
  text-align: center;
  margin-top: 2em;
}
.elements .element.recent-browser > .wrapper .recent-browser .more span {
  color: #3C65EE;
  font-weight: 700;
  cursor: pointer;
}
.elements .element.recent-browser > .wrapper .recent-browser .more span:hover {
  text-decoration: underline;
}
.elements .element.recent-browser.has-featured-image .background {
  position: relative;
  padding-top: 38.1944444444%;
}
.elements .element.recent-browser.has-featured-image .background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 70%;
     object-position: 50% 70%;
}
.elements .element.recent-browser.has-featured-image > .wrapper {
  padding-top: 0;
}
.elements .element.recent-browser.has-featured-image > .wrapper::before {
  content: "";
  background-color: #fff;
  position: absolute;
  top: -2.625rem;
  left: 0;
  right: 0;
  height: 2.6875rem;
}
.elements .element.full-width-content {
  max-width: 105rem;
  margin: 5.3125rem auto;
}
.elements .element.full-width-content > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
  position: relative;
}
.elements .element.full-width-content > .wrapper h1, .elements .element.full-width-content > .wrapper .element.number-lifts > .wrapper .content .lifts .lift .number, .elements .element.number-lifts > .wrapper .content .lifts .lift .element.full-width-content > .wrapper .number {
  color: #3C65EE;
  margin-bottom: 1em;
}
.elements .element.full-width-content > .wrapper h2, .elements .element.full-width-content > .wrapper h3, .elements .element.full-width-content > .wrapper .element.accordion > .wrapper .accordions .accordion .title, .elements .element.accordion > .wrapper .accordions .accordion .element.full-width-content > .wrapper .title, .elements .element.full-width-content > .wrapper .element.recent-browser > .wrapper .recent-browser .posts .post .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .element.full-width-content > .wrapper .title {
  color: #3C65EE;
  margin-bottom: 0.5em;
}
.elements .element.person-gallery {
  max-width: 105rem;
  margin: 5.3125rem auto;
  margin-bottom: 1.5625rem;
}
.elements .element.person-gallery > .wrapper {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 3.4375rem;
  position: relative;
}
.elements .element.person-gallery > .wrapper h1, .elements .element.person-gallery > .wrapper .element.number-lifts > .wrapper .content .lifts .lift .number, .elements .element.number-lifts > .wrapper .content .lifts .lift .element.person-gallery > .wrapper .number {
  color: #3C65EE;
  margin-bottom: 1em;
}
.elements .element.person-gallery > .wrapper .persons {
  position: relative;
  margin: 0 -1.09375rem;
  display: flex;
  flex-wrap: wrap;
}
.elements .element.person-gallery > .wrapper .persons .person {
  flex-shrink: 0;
  width: 50%;
  padding: 0 1.09375rem;
  margin-bottom: 3.75rem;
}
.elements .element.hero + .element.element.open-positions {
  margin-top: 0;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  height: 9.5rem;
  z-index: 1000;
}
header a {
  text-decoration: none;
}
header > .wrapper {
  margin: 0 auto;
  max-width: 80rem;
  padding: 0 2.0625rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
}
header > .wrapper .menu-toggler {
  display: none;
}
header > .wrapper .logo {
  position: absolute;
  width: 13.125rem;
  top: 2.5rem;
  left: 50%;
  height: 5rem;
  transform: translateX(-50%);
  background: url("../svg/logo_raumamarineconstructions.svg") no-repeat 50% 0;
  background-size: 100% auto;
  color: transparent;
  text-indent: -9999em;
}
header > .wrapper nav.menu-container {
  display: flex;
  justify-content: space-between;
}
header > .wrapper nav.menu-container .menu-main {
  font-size: 0;
}
header > .wrapper nav.menu-container .menu-main > ul > li {
  display: inline-block;
  position: relative;
  font-size: 1.1875rem;
}
header > .wrapper nav.menu-container .menu-main > ul > li > a {
  display: block;
  line-height: 4.375rem;
  padding: 0 1.375rem;
}
header > .wrapper nav.menu-container .menu-main > ul > li.current-page-ancestor::after, header > .wrapper nav.menu-container .menu-main > ul > li:hover::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 0.4375rem;
  background-color: #3C65EE;
  left: 1.375rem;
  right: 1.375rem;
}
header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu {
  display: none;
  position: absolute;
  top: 4.375rem;
  padding-top: 0.625rem;
  left: -0.625rem;
  width: 16.6875rem;
}
header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0.625rem;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.2);
  pointer-events: none;
}
header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu > li {
  background-color: #fff;
  display: block;
}
header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu > li a {
  display: block;
  line-height: 1.5rem;
  padding: 1.125rem 2rem;
}
header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu > li:hover {
  background-color: #3C65EE;
  color: #fff;
}
header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children:hover ul.sub-menu {
  display: block;
}
header > .wrapper nav.menu-container .language-selector {
  position: absolute;
  line-height: 1.25rem;
  top: 2.625rem;
  right: 2.5rem;
  font-size: 0.875rem;
  font-weight: 700;
}
header > .wrapper nav.menu-container .language-selector a {
  padding: 0 0.9375rem;
  border-left: 1px solid #000;
}
header > .wrapper nav.menu-container .language-selector a:hover {
  text-decoration: underline;
}
header > .wrapper nav.menu-container .language-selector a:first-child {
  border: none;
}

footer {
  background-color: #3C65EE;
  color: #fff;
  padding: 4.6875rem 2rem;
}
footer a {
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}
footer > .wrapper {
  max-width: 68.75rem;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
}
footer > .wrapper .logo {
  min-width: 22.8125rem;
}
footer > .wrapper .logo img {
  width: 12.8125rem;
}
footer > .wrapper .panes {
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
  padding-top: 0.9375rem;
}
footer > .wrapper .panes .pane {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  margin-bottom: 1.3em;
}
footer > .wrapper .panes .social {
  padding-bottom: 2.8125rem;
}
footer > .wrapper .panes .social strong {
  margin-bottom: 1em;
  display: block;
}
footer > .wrapper .panes .social .social-media-icon {
  margin-right: 1.25rem;
}
footer > .wrapper .panes .social .social-media-icon:last-child {
  margin: 0;
}

.social-media-icon {
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
          mask-position: 50% 50%;
  overflow: hidden;
  text-indent: -9999em;
  background-color: #fff;
}
.social-media-icon.facebook {
  -webkit-mask-image: url("../svg/facebook.svg");
          mask-image: url("../svg/facebook.svg");
}
.social-media-icon.twitter {
  -webkit-mask-image: url("../svg/twitter.svg");
          mask-image: url("../svg/twitter.svg");
}
.social-media-icon.linkedin {
  -webkit-mask-image: url("../svg/linkedin.svg");
          mask-image: url("../svg/linkedin.svg");
}
.social-media-icon.youtube {
  -webkit-mask-image: url("../svg/youtube.svg");
          mask-image: url("../svg/youtube.svg");
}
.social-media-icon.link {
  -webkit-mask-image: url("../svg/link.svg");
          mask-image: url("../svg/link.svg");
  -webkit-mask-size: auto 95%;
          mask-size: auto 95%;
}

.share-buttons {
  border-top: 1px solid #3C65EE;
  padding-top: 1.5625rem;
  vertical-align: middle;
  color: #3C65EE;
}
.share-buttons a {
  margin-left: 2.375rem;
  text-decoration: none;
}
.share-buttons a .social-media-icon {
  transform: translateY(-0.125rem);
  vertical-align: middle;
  background-color: #3C65EE;
}
.share-buttons a .social-media-icon.link {
  margin-right: 0.75rem;
}

.embed-wrap {
  position: relative;
  overflow: hidden;
  max-width: 100%;
}
.embed-wrap .container {
  position: relative;
  padding-top: 56.25%;
}
.embed-wrap .container embed, .embed-wrap .container iframe, .embed-wrap .container object {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.video-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: #222 url("../img/video-placeholder.jpg") no-repeat 50% 50%;
  background-size: cover;
}
.video-placeholder span {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.25rem;
  padding-top: 7.5rem;
  background: url("../svg/youtube-play.svg") no-repeat 50% 0;
  background-size: auto 7.5rem;
  color: #fff;
  font-weight: bold;
  text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.8);
}

.person .wrapper {
  display: flex;
}
.person .wrapper .picture {
  width: 10.375rem;
  height: 10.375rem;
  position: relative;
  overflow: hidden;
  border-radius: 50% 50%;
  flex-shrink: 0;
  margin-right: 2.5rem;
}
.person .wrapper .picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.person .wrapper .content-container .title {
  margin-top: 0.375rem;
}
.person .wrapper .content-container .content {
  margin-top: 1.875rem;
}

.wpcf7 .wpcf7-form .row {
  font-size: 0;
  position: relative;
}
.wpcf7 .wpcf7-form .row fieldset {
  font-size: 1.1875rem;
  box-sizing: border-box;
  outline: none;
  border: none;
  width: 50%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 2.1875rem;
}
.wpcf7 .wpcf7-form .row fieldset p:empty {
  display: none;
}
.wpcf7 .wpcf7-form .row fieldset label {
  display: inline-block;
}
.wpcf7 .wpcf7-form .row fieldset input[type=text], .wpcf7 .wpcf7-form .row fieldset input[type=email], .wpcf7 .wpcf7-form .row fieldset textarea {
  background: #F5F5F5;
  box-sizing: border-box;
  width: calc(100% - 0.875rem);
  margin-top: 1.25rem;
  padding: 0.625rem;
  resize: none;
}
.wpcf7 .wpcf7-form .row fieldset .filecontainer {
  background: #F5F5F5;
  box-sizing: border-box;
  width: calc(100% - 0.875rem);
  margin-top: 0;
  margin-top: 1.25rem;
  padding: 0.625rem;
  resize: none;
}
.wpcf7 .wpcf7-form .row fieldset .filecontainer input {
  color: #000;
  font-size: 1rem;
  position: relative;
  bottom: 0.125rem;
  outline: none;
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit {
  --size: 3.25rem;
  --gap: 1.625rem;
  color: #3C65EE;
  min-height: var(--size);
  text-decoration: none;
  align-items: center;
  font-size: 1.1875rem;
  line-height: 1.5rem;
  font-weight: 700;
  position: relative;
  padding-left: calc(var(--size) + var(--gap));
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit::before, .wpcf7 .wpcf7-form .row fieldset .custom-submit::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: var(--size);
  flex-shrink: 0;
  height: var(--size);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 2.375rem auto;
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit::before {
  background-color: #3C65EE;
  background-image: url("../svg/arrow.svg");
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit::after {
  opacity: 0;
  background-image: url("../svg/arrow-bold.svg");
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit:hover::before {
  background-image: none;
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit:hover::after {
  opacity: 1;
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit input[type=submit] {
  cursor: pointer;
  text-align: left;
  color: #3C65EE;
  padding-left: calc(var(--size) + var(--gap));
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border: none;
  background: transparent;
  display: inline-block;
  max-width: 15.9375rem;
  z-index: 10;
}
.wpcf7 .wpcf7-form .row fieldset .custom-submit .wpcf7-spinner {
  position: absolute;
  left: 8.125rem;
  top: 50%;
  transform: translateY(-50%);
}
.wpcf7 .wpcf7-form .wpcf7-response-output {
  text-align: center;
  margin: 0;
  margin-top: 1em;
  padding: 0.5em 1em;
  max-width: calc(50% - 0.875rem);
}
.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
  display: inline-block;
  margin-top: 0.3125rem;
}
.wpcf7 .wpcf7-form .ajax-loader {
  margin-left: 0.9375rem;
}

@media screen and (max-width: 800px) {
  html {
    font-size: 4.2666666667vw;
  }
  body {
    font-size: 0.875rem;
    line-height: 1.125rem;
    width: 100vw;
  }
  body.menu-open {
    overflow: none;
    position: fixed;
  }
  body.menu-open header > .wrapper nav.menu-container {
    display: block !important;
  }
  .button {
    --size: 2.125rem;
    --gap: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.0625rem;
  }
  .button::before, .button::after {
    background-size: 1.625rem auto;
  }
  .button span {
    display: inline-block;
    max-width: 18.75rem;
  }
  .button.small {
    --size: 2.125rem;
    --gap: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.0625rem;
  }
  .button.small::before, .button.small::after {
    background-size: 1.625rem auto;
  }
  .arrow-link {
    font-size: 0.875rem;
    --padding: 2.625rem;
    --height: 1rem;
  }
  .root {
    padding-top: 3.75rem;
  }
  .elements h1, .elements .element.number-lifts > .wrapper .content .lifts .lift .number {
    font-size: 1.875rem;
    line-height: 2.125rem;
  }
  .elements h2 {
    font-size: 1.625rem;
    line-height: 1.875rem;
  }
  .elements h3, .elements .element.accordion > .wrapper .accordions .accordion .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .title {
    font-size: 1.0625rem;
    line-height: 1.375rem;
  }
  .elements h4 {
    font-size: 0.9375rem;
    line-height: 1rem;
  }
  .elements p {
    font-size: 0.875rem;
    line-height: 1.125rem;
  }
  .elements small, .elements .element.single-article > .wrapper .content-container > .content .meta, .elements p.small {
    font-size: 0.6875rem;
    line-height: 1.125rem;
  }
  .elements .element.hero, .elements .element.content {
    margin-bottom: 3.125rem;
  }
  .elements .element.hero > .wrapper, .elements .element.content > .wrapper {
    padding: 0 1.625rem;
    padding-top: 3.125rem;
    display: block;
  }
  .elements .element.hero > .wrapper > div, .elements .element.content > .wrapper > div {
    max-width: 100%;
    padding: 0;
  }
  .elements .element.hero > .wrapper .heading h1, .elements .element.hero > .wrapper .heading .element.number-lifts > .wrapper .content .lifts .lift .number, .elements .element.number-lifts > .wrapper .content .lifts .lift .element.hero > .wrapper .heading .number, .elements .element.content > .wrapper .heading h1, .elements .element.number-lifts > .wrapper .element.content > .wrapper .heading .lifts .lift .number, .elements .element.number-lifts > .wrapper .element.content > .wrapper .lifts .lift .heading .number {
    margin-bottom: 1.25rem;
  }
  .elements .element.hero > .wrapper .heading a.heading-link, .elements .element.content > .wrapper .heading a.heading-link {
    margin-top: 0;
    margin-bottom: 1.25rem;
  }
  .elements .element.hero > .wrapper .content .links, .elements .element.content > .wrapper .content .links {
    margin-top: calc(1.5625rem - 1.25em);
  }
  .elements .element.hero .background {
    padding-top: 56%;
  }
  .elements .element.hero .background img {
    -o-object-position: 50% 70%;
       object-position: 50% 70%;
  }
  .elements .element.hero > .wrapper {
    padding-top: 1.25rem;
  }
  .elements .element.hero > .wrapper::before {
    top: -0.6875rem;
    right: 1.625rem;
    height: 0.75rem;
  }
  .elements .element.content.gray-bg {
    margin-bottom: 0;
    padding-bottom: 3.4375rem;
  }
  .elements .element.card-lifts {
    margin-top: 3.125rem;
    margin-bottom: 3.4375rem;
  }
  .elements .element.card-lifts > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.card-lifts > .wrapper .content {
    padding-top: 3.4375rem;
  }
  .elements .element.card-lifts > .wrapper .content .cards {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    margin: 0;
    display: block;
  }
  .elements .element.card-lifts > .wrapper .content .cards .card {
    padding: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 1.875rem;
  }
  .elements .element.card-lifts > .wrapper .content .cards .card .wrapper .picture {
    padding-top: 56.25%;
    margin-bottom: 1.25rem;
  }
  .elements .element.card-lifts > .wrapper .content .cards .card .wrapper .picture img {
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  .elements .element.video {
    margin: 3.4375rem auto;
    margin-bottom: 5rem;
  }
  .elements .element.video > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.recent-posts {
    margin: 5rem auto;
    margin-bottom: 3.125rem;
  }
  .elements .element.recent-posts > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.recent-posts > .wrapper .content {
    text-align: right;
  }
  .elements .element.recent-posts > .wrapper .content .button {
    position: relative;
    top: 0;
    right: 0;
    margin-left: auto;
  }
  .elements .element.recent-posts > .wrapper .content .heading {
    text-align: left;
    color: #3C65EE;
    margin-bottom: 2.0625rem;
  }
  .elements .element.recent-posts > .wrapper .content .posts {
    text-align: left;
    padding-bottom: 0.9375rem;
  }
  .elements .element.recent-posts > .wrapper .content .posts .post {
    margin-bottom: 0.9375rem;
  }
  .elements .element.recent-posts > .wrapper .content .posts .post::before, .elements .element.recent-posts > .wrapper .content .posts .post::after {
    top: 2.3em;
  }
  .elements .element.recent-posts > .wrapper .content .posts .post .date {
    font-size: 0.6875rem;
    line-height: 1.125rem;
    margin-bottom: 0.25rem;
  }
  .elements .element.recent-posts > .wrapper .content .posts .post .title {
    font-size: 1rem;
    line-height: 1.25rem;
  }
  .elements .element.open-positions {
    margin: 5rem auto;
    margin-bottom: 3.125rem;
  }
  .elements .element.open-positions > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.open-positions > .wrapper .content {
    text-align: right;
  }
  .elements .element.open-positions > .wrapper .content .posts {
    text-align: left;
    padding-bottom: 0.9375rem;
  }
  .elements .element.open-positions > .wrapper .content .posts .post {
    margin-bottom: 0.9375rem;
  }
  .elements .element.open-positions > .wrapper .content .posts .post::before, .elements .element.open-positions > .wrapper .content .posts .post::after {
    top: 2.3em;
  }
  .elements .element.open-positions > .wrapper .content .posts .post .date {
    font-size: 0.6875rem;
    line-height: 1.125rem;
    margin-bottom: 0.25rem;
  }
  .elements .element.open-positions > .wrapper .content .posts .post .title {
    font-size: 1rem;
    line-height: 1.25rem;
  }
  .elements .element.number-lifts {
    margin-top: 3.125rem;
    margin-bottom: 3.75rem;
  }
  .elements .element.number-lifts > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.number-lifts > .wrapper .content {
    padding-top: 0;
    border: none;
  }
  .elements .element.number-lifts > .wrapper .content .lifts {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift {
    min-width: 0;
    width: 50%;
    flex-shrink: 0;
    flex-grow: 0;
    color: #3C65EE;
    text-align: center;
    padding: 1.0625rem 0.625rem;
    padding-top: 1.875rem;
    border: none;
    position: relative;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift::before {
    content: "";
    position: absolute;
    left: 0.5rem;
    top: 0;
    right: 0.5rem;
    border-top: 1px solid #3C65EE;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift::after {
    content: "";
    position: absolute;
    left: 0;
    top: 1.0625rem;
    bottom: 1.0625rem;
    border-left: 1px solid #3C65EE;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift:nth-child(1)::before, .elements .element.number-lifts > .wrapper .content .lifts .lift:nth-child(2)::before {
    display: none;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift:nth-child(odd)::after {
    display: none;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift .number {
    font-size: 2.875rem;
    line-height: 2.875rem;
    margin-bottom: 0.1875rem;
  }
  .elements .element.number-lifts > .wrapper .content .lifts .lift .text {
    min-height: 2.25rem;
    padding: 0 0.5rem;
  }
  .elements .element.staggered-content {
    margin-top: 3.75rem;
    margin-bottom: 0rem;
  }
  .elements .element.staggered-content > .wrapper {
    padding: 0 1.625rem;
    display: flex;
  }
  .elements .element.staggered-content > .wrapper .content-blocks {
    display: block;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-bottom: 4.0625rem;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block > div {
    padding: 0;
    width: 100%;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block h2 {
    margin-bottom: 1.5rem;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block .picture-container {
    order: -1;
    margin-bottom: 2.0625rem;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block .picture-container .picture {
    width: auto;
    padding-top: 89.1640866873%;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block .video-container {
    order: -1;
    margin-bottom: 2.0625rem;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block .video-container .video {
    width: auto;
    top: 0;
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links {
    margin-top: calc(2.1875rem - 1.25em);
  }
  .elements .element.staggered-content > .wrapper .content-blocks .content-block .content .links .button span {
    max-width: 15.625rem;
  }
  .elements .element.accordion {
    margin: 3.125rem auto;
    margin-bottom: 2.8125rem;
  }
  .elements .element.accordion > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.accordion > .wrapper .accordions .accordion {
    margin-bottom: 1rem;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .title {
    padding: 0.9375rem 1.25rem;
    padding-right: 5rem;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .title::before, .elements .element.accordion > .wrapper .accordions .accordion .title::after {
    content: "";
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    background-position: 100% 50%;
    background-size: 100% auto;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container {
    position: relative;
    margin: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container .content {
    width: 100€;
    padding: 0 1.25rem;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container .content .arrow-link {
    color: #3C65EE;
    margin-bottom: 1.25rem;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container .content p + .arrow-link {
    margin-top: 0.8em;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container .picture-container {
    order: -1;
    padding: 0;
    padding: 0 1.25rem;
    padding-top: 0.3125rem;
    margin-bottom: 1.375rem;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container .picture-container .picture {
    padding: 0;
  }
  .elements .element.accordion > .wrapper .accordions .accordion .content-container .picture-container .picture img {
    display: block;
    max-width: 100%;
    height: auto !important;
  }
  .elements .element.accordion > .wrapper .accordions .accordion.has-picture .content-container .content {
    padding-right: 1.25rem;
  }
  .elements .element.single-article {
    margin: 0 auto;
    margin-bottom: 3.75rem;
  }
  .elements .element.single-article > .wrapper {
    padding: 0 1.625rem;
    padding-top: 3.125rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content {
    padding-bottom: 3.75rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content .meta {
    margin-top: 0.6875rem;
    margin-bottom: 1.375rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content .meta span {
    padding: 0 0.625rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content .meta span.date {
    font-size: 0.875rem;
    line-height: 1.125rem;
    display: block;
    margin-bottom: 0.375rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content .meta span:first-child, .elements .element.single-article > .wrapper .content-container > .content .meta span.date + span {
    padding-left: 0;
    border: none;
  }
  .elements .element.single-article > .wrapper .content-container > .content h2 {
    font-size: 1.0625rem;
    line-height: 1.375rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content h3, .elements .element.single-article > .wrapper .content-container > .content .element.accordion > .wrapper .accordions .accordion .title, .elements .element.accordion > .wrapper .accordions .accordion .element.single-article > .wrapper .content-container > .content .title, .elements .element.single-article > .wrapper .content-container > .content .element.recent-browser > .wrapper .recent-browser .posts .post .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .element.single-article > .wrapper .content-container > .content .title {
    font-size: 0.9375rem;
    line-height: 1rem;
  }
  .elements .element.single-article > .wrapper .content-container > .content img {
    margin: 1.875rem 0;
  }
  .elements .element.single-article > .wrapper .content-container > .contact {
    padding-top: 1.6875rem;
  }
  .elements .element.single-article > .wrapper .content-container > .contact .wrapper {
    margin-top: 1.25rem;
  }
  .elements .element.single-article.has-featured-image .background {
    padding-top: 56%;
  }
  .elements .element.single-article.has-featured-image .background img {
    -o-object-position: 50% 70%;
       object-position: 50% 70%;
  }
  .elements .element.single-article.has-featured-image > .wrapper {
    padding-top: 1.25rem;
  }
  .elements .element.single-article.has-featured-image > .wrapper::before {
    top: -0.6875rem;
    right: 1.625rem;
    height: 0.75rem;
  }
  .elements .element.recent-browser {
    margin-bottom: 3.75rem;
  }
  .elements .element.recent-browser > .wrapper {
    padding: 0 1.625rem;
    padding-top: 3.125rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .heading {
    display: block;
    border: none;
    overflow: hidden;
    margin: 0 -1.625rem;
    padding: 0;
    position: relative;
    height: 5.3125rem;
    border-bottom: 1px solid #3C65EE;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .heading h3, .elements .element.recent-browser > .wrapper .recent-browser .heading .element.accordion > .wrapper .accordions .accordion .title, .elements .element.accordion > .wrapper .accordions .accordion .element.recent-browser > .wrapper .recent-browser .heading .title, .elements .element.recent-browser > .wrapper .recent-browser .heading .posts .post .title, .elements .element.recent-browser > .wrapper .recent-browser .posts .post .heading .title {
    padding-left: 1.625rem;
    margin-right: 0;
    line-height: 1.375rem;
    margin-bottom: 1.875rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .heading .filters {
    padding: 0 1.625rem;
    display: flex;
    justify-content: flex-start;
    position: relative;
    overflow-y: hidden;
    overflow-x: scroll;
    line-height: 1.125rem;
    padding-bottom: 1.25rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .heading .filters span {
    display: block;
    margin-left: 0.625rem;
    position: relative;
    cursor: pointer;
    white-space: nowrap;
    font-weight: normal;
    line-height: 1.125rem;
    padding-bottom: 1rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .heading .filters span:first-child {
    margin: 0;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .heading .filters span.active::after {
    bottom: 0rem;
    height: 0.375rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .posts {
    padding-top: 2.1875rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .posts .post {
    margin-bottom: 1.875rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .posts .post::before, .elements .element.recent-browser > .wrapper .recent-browser .posts .post::after {
    top: 2.35em;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .posts .post .date {
    font-size: 0.6875rem;
    line-height: 1.125rem;
    margin-bottom: 0.25rem;
  }
  .elements .element.recent-browser > .wrapper .recent-browser .more {
    margin-top: 1em;
  }
  .elements .element.recent-browser.has-featured-image .background {
    padding-top: 56%;
  }
  .elements .element.recent-browser.has-featured-image .background img {
    -o-object-position: 50% 70%;
       object-position: 50% 70%;
  }
  .elements .element.recent-browser.has-featured-image > .wrapper {
    padding-top: 1.25rem;
  }
  .elements .element.recent-browser.has-featured-image > .wrapper::before {
    top: -0.6875rem;
    right: 1.625rem;
    height: 0.75rem;
  }
  .elements .element.full-width-content {
    margin: 3.125rem auto;
  }
  .elements .element.full-width-content > .wrapper {
    padding: 0 1.625rem;
    display: block;
  }
  .elements .element.person-gallery {
    margin: 3.125rem auto;
    margin-bottom: 0.625rem;
  }
  .elements .element.person-gallery > .wrapper {
    padding: 0 1.625rem;
  }
  .elements .element.person-gallery > .wrapper .persons {
    display: block;
  }
  .elements .element.person-gallery > .wrapper .persons .person {
    margin-bottom: 2.5rem;
    width: 100%;
  }
  header {
    position: absolute;
    height: 3.75rem;
  }
  header a:hover {
    text-decoration: underline;
  }
  header > .wrapper {
    margin: 0 auto;
    padding: 0 1.625rem;
    display: block;
  }
  header > .wrapper .logo {
    position: absolute;
    width: 15.9375rem;
    top: 0;
    left: 1.625rem;
    height: 3.75rem;
    transform: none;
    background: url("../svg/logotype_raumamarineconstructions.svg") no-repeat 0 50%;
    background-size: 100% auto;
  }
  header > .wrapper .menu-toggler {
    display: block;
    border: none;
    outline: none;
    position: absolute;
    top: 0.625rem;
    right: 0.9375rem;
    width: 2.5rem;
    height: 2.5rem;
    background: url("../svg/menu-toggler.svg") no-repeat 50% 50%;
    background-size: 1.125rem auto;
  }
  header > .wrapper nav.menu-container {
    display: none;
    position: absolute;
    top: 3.75rem;
    left: 0;
    right: 0;
    height: calc(var(--app-height) - 3.75rem);
    background-color: #fff;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6.25rem;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li {
    display: block;
    position: relative;
    font-size: 0.875rem;
    padding: 0.625rem 0;
    margin: 0 1.625rem;
    border-bottom: 1px solid #3C65EE;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li > a {
    display: inline-block;
    line-height: 1.125rem;
    padding: 0.625rem 0;
    padding-right: 1.25rem;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.current-page-ancestor::after, header > .wrapper nav.menu-container .menu-main > ul > li:hover::after {
    display: none;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children:hover ul.sub-menu {
    display: none;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children::before {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    top: 1rem;
    width: 1.5625rem;
    height: 1.5625rem;
    background: url("../svg/arrow-small.svg") no-repeat 100% 50%;
    background-size: 100% auto;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu {
    display: none;
    position: static;
    top: 0;
    padding-top: 0;
    left: 0;
    width: auto;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu::after {
    display: none;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu > li {
    background-color: transparent;
    display: block;
    padding: 0.625rem 0;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu > li a {
    display: inline-block;
    line-height: 1.125rem;
    padding: 0;
    padding-right: 1.25rem;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children ul.sub-menu > li:hover {
    background-color: transparent;
    color: inherit;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children.open ul.sub-menu {
    display: block !important;
  }
  header > .wrapper nav.menu-container .menu-main > ul > li.menu-item-has-children.open::before {
    background: url("../svg/close.svg") no-repeat 100% 50%;
    background-size: 86% auto;
  }
  header > .wrapper nav.menu-container .language-selector {
    display: block;
    text-align: right;
    position: static;
    line-height: 1.125rem;
    padding: 0 0.9375rem;
    margin-top: 1.25rem;
    margin-left: auto;
    font-size: 0.75rem;
  }
  header > .wrapper nav.menu-container .language-selector a {
    padding: 0 0.6875rem;
  }
  footer {
    padding: 3rem 1.625rem;
    padding-bottom: 4.0625rem;
    text-align: center;
  }
  footer > .wrapper {
    display: block;
  }
  footer > .wrapper .logo {
    min-width: 100%;
  }
  footer > .wrapper .logo img {
    width: 9.75rem;
  }
  footer > .wrapper .panes {
    -moz-columns: 1;
         columns: 1;
    -moz-column-gap: 0;
         column-gap: 0;
    display: flex;
    flex-direction: column;
    padding-top: 2.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  footer > .wrapper .panes .pane {
    display: block;
    width: 100%;
  }
  footer > .wrapper .panes .location {
    order: 4;
  }
  footer > .wrapper .panes .social {
    padding-bottom: 0;
    margin-bottom: 0;
    margin-top: 3em;
    order: 5;
  }
  .social-media-icon {
    -webkit-mask-size: 94% auto;
            mask-size: 94% auto;
  }
  .social-media-icon.link {
    -webkit-mask-size: 94% auto;
            mask-size: 94% auto;
  }
  .share-buttons a {
    margin-left: 1rem;
  }
  .share-buttons a .social-media-icon {
    transform: translateY(-0.125rem);
    vertical-align: middle;
    background-color: #3C65EE;
    -webkit-mask-size: auto 84%;
            mask-size: auto 84%;
  }
  .share-buttons a .social-media-icon.link {
    margin-right: 0.5rem;
  }
  .video-placeholder span {
    padding-top: 3.75rem;
    background-size: auto 3.75rem;
  }
  .person .wrapper {
    display: block;
  }
  .person .wrapper .picture {
    width: 9.5rem;
    height: 9.5rem;
    margin-right: auto;
    margin-bottom: 1.5rem;
  }
  .person .wrapper .content-container .title {
    margin-top: 0.25rem;
    font-size: 0.6875rem;
    line-height: 1.125rem;
  }
  .person .wrapper .content-container .content {
    margin-top: 1.125rem;
    padding-bottom: calc(1.875rem - 1.25em);
  }
  .wpcf7 .wpcf7-form .row fieldset {
    width: 100%;
    font-size: 0.875rem;
    margin-bottom: 1.25rem;
  }
  .wpcf7 .wpcf7-form .row fieldset input[type=text], .wpcf7 .wpcf7-form .row fieldset input[type=email], .wpcf7 .wpcf7-form .row fieldset textarea {
    width: 100%;
    margin-top: 0.625rem;
  }
  .wpcf7 .wpcf7-form .row fieldset .filecontainer {
    margin-top: 0.625rem;
    width: 100%;
  }
  .wpcf7 .wpcf7-form .row fieldset .custom-submit {
    --size: 2.125rem;
    --gap: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.0625rem;
  }
  .wpcf7 .wpcf7-form .row fieldset .custom-submit::before, .wpcf7 .wpcf7-form .row fieldset .custom-submit::after {
    background-size: 1.625rem auto;
  }
  .wpcf7 .wpcf7-form .row fieldset .custom-submit .wpcf7-spinner {
    left: 6.25rem;
  }
  .wpcf7 .wpcf7-form .wpcf7-response-output {
    max-width: none;
    width: 100%;
  }
}
/*# sourceMappingURL=main.css.map */
