
/**/
/* css-variables
/**/

:root {

  --padding6: 6rem;
  --padding5: 5rem;
  --padding4: 4rem;
  --padding3: 3rem;
  --padding2: 2rem;
  --padding1: 1rem;

  --ease: cubic-bezier(0.65,0.05,0.36,1);
  --aniSpeed: 0.192ms;
  --aniSpeed2x: 0.256ms;
  --aniSpeed3x: 0.512ms;

  --dark: #20333f;
  --bright: #fff;

  --headcolor1: #D2DBD8;
  --headcolor2: #D5C67A;
  --headcolor3: #769BA7;
  --headcolor4: #E8EDEB;
  --headcolor5: #F4F6F5;

}

/**/
/* body
/**/

html, body {
  overscroll-behavior-y: none;
  overscroll-behavior: none;}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: var(--dark);
  font-family: 'PX Grotesk', Roboto, Arial, sans-serif;
  line-height: 1;
  font-size: 16px;
  font-weight: normal;
  overflow-x: hidden;}

body.overflow {
  height: 100%;
  overflow: hidden !important;}

.revealer, .normal {
  visibility: hidden;
}


/**/
/* helpers
/**/

.height {
  height: 100vh;}

/**/
/* headlines
/**/

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  color: var(--bright);
  line-height: 1;
  font-family: 'PX Grotesk', Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: bold;}

h1 {
  font-size: clamp(2rem, 1.1228rem + 2.807vw, 4rem);
  line-height: 1.15;}

h2 {
  color: var(--dark);
  font-size: clamp(1.625rem, 1.4605rem + 0.5263vw, 2rem);
  line-height: 1.3;}

h3 {
  color: var(--dark);
  font-size: clamp(1rem, 0.9452rem + 0.1754vw, 1.125rem);
  font-weight: 400;
  text-transform: uppercase;}

h4 {
  color: var(--dark);
  font-size: clamp(1rem, 0.7259rem + 0.8772vw, 1.625rem);
  line-height: 1.2;}

h2, h3, h4 {
  letter-spacing: 0.2px;}

a {
  color: var(--headcolor2);
  text-decoration: underline;
}

a:hover, a:focus {
  color: var(--headcolor2);
  text-decoration: none;
}

p:last-child {
  margin-bottom:0;
}


/**/
/* pageIntro Animation
/**/

  .business__mobility {
    animation: ymo__body .512s;
    width: 100%;
  }

  @keyframes ymo__body {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }



/**/
/* module : hero
/**/

.bm__hero.on-index {
  background: var(--dark);
}

.bm__hero__content {
  position: relative;
  z-index: 1;
}

.bm__hero__media {
  height: 100vh;
  width: 100%;
  top: 0vh;
  position: absolute;
  z-index: 0;
}

.bm__hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
}

.bm__hero__media.on-index img {
  opacity: .25;
}

@media screen and (max-width: 940px) {
  .bm__hero .medium-10 {
    width: 100%;
  }
  .bm__hero__content {
    padding: 0 var(--padding2);
  }
}

@media screen and (max-width: 640px) {
  .bm__hero__content {
    padding: 0 var(--padding1);
  }
}

/**/
/* module : header
/**/

header.normal {
  position: absolute;
  z-index: 2;
  left: 0; top: 0;
  width: 100%;
}

.logo {
  width: 260px;
  padding-top: var(--padding2);
  padding-left: var(--padding2);
}

.logo.on-index {
  width: 360px;
  padding-top: var(--padding1);
  padding-left: var(--padding1);
  text-align: center;
  display: inline-block;
}

@media screen and (max-width: 640px) {
  .logo {
    width: 160px;
    padding-top: var(--padding1);
    padding-left: var(--padding1);
  }
  .logo.on-index {
    width: 100%;
  }
}

.logo img {
  position: relative;
  z-index: 11;
}

.language-index {
  margin-top: var(--padding4);
}

.language-index .small-6:first-child {
  padding-right: var(--padding2);
}

.language-index .small-6:last-child {
  padding-left: var(--padding2);
}

/**/
/* module : navigation
/**/

nav.main {
  position: absolute;
  z-index: 10;
  width: 100%;
  top: var(--padding2);
}

@media screen and (max-width: 640px) {
  nav.main {
    top: var(--padding1);
  }
}

nav.main .menu {
  justify-content: flex-end;
  position: relative;
  padding-right: var(--padding2);
  z-index: 10;
}

@media screen and (max-width: 640px) {
  nav.main .menu {
    padding-right: var(--padding1);
  }
}

nav.main a {
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 17px;
}

@media screen and (max-width: 640px) {
  nav.main a {
    font-size: 12px;
  }
}

@media screen and (max-width: 360px) {
  nav.main a.aboutItem {
    display: none;
  }
}

.menu.simple li {
  margin-left: var(--padding2);
}

.menu.simple li + li {
  margin-left: var(--padding2);
}

@media screen and (max-width: 640px) {
  .menu.simple li {
    margin-left: var(--padding1);
  }

  .menu.simple li + li {
    margin-left: var(--padding1);
  }
}

nav.main a:hover, nav.main a:focus {
  text-decoration: underline;
}

/**/
/* module : services
/**/

.bm__services {
  background: var(--headcolor1);
  padding-top: calc(var(--padding6) * 1.5);
  padding-bottom: calc(var(--padding6) * 1.5);
}

.bm__services h3 {
  margin-bottom: var(--padding1);
}

.bm__services h4 {
  margin-bottom: var(--padding1);
}

.service__card {
  margin-top: var(--padding4);
  padding: var(--padding1);
}

.service__media {
  display: block;
  margin-bottom: var(--padding2);
}

@media screen and (max-width: 1080px) {
  .bm__services .medium-8 {
    width: 83.33333%;
  }
}

@media screen and (max-width: 940px) {
  .bm__services {
    padding-top: var(--padding4);
    padding-bottom: var(--padding4);
  }
  .bm__services .medium-10 {
    width: 100%;
  }
}


/**/
/* module : more
/**/

.bm__more__half {
  min-height: 50vh;
  padding-top: var(--padding4);
  padding-bottom: var(--padding4);
  padding-left: var(--padding4);
  padding-right: var(--padding4);
}

@media screen and (max-width: 1280px) {
  .bm__more__half {
    height: 75vh;
  }
}

@media screen and (max-width: 940px) {
  .bm__more__half {
    height: auto;
  }
  .bm__more .medium-6 {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .bm__more__half {
    padding-left: var(--padding1);
    padding-right: var(--padding1);
  }
}

.bm__more__half h3 {
  margin-bottom: var(--padding1);
}

.bm__more__half.blue {
  background: var(--headcolor3);
}

.bm__more__half.yellow {
  background: var(--headcolor2);
}

/**/
/* module : bookings
/**/

.bm__booking {
  background: var(--headcolor4);
  padding-top: var(--padding6);
  padding-bottom: var(--padding6);
}

@media screen and (max-width: 1280px) {
  .bm__booking__content {
    height: 50vh;
  }
}

@media screen and (max-width: 940px) {
  .bm__booking {
    padding-top: var(--padding4);
    padding-bottom: var(--padding4);
  }
  .bm__booking__content {
    height: auto;
  }
}

@media screen and (max-width: 640px) {
  .bm__booking {
    padding-left: var(--padding1);
    padding-right: var(--padding1);
  }
}

.bm__booking h3 {
  margin-bottom: var(--padding1);
}

.bm__booking__content {
  min-height: 25vh;
}
/**/
/* module : footer
/**/

footer {
  background: var(--headcolor5);
  padding-top: var(--padding6);
  padding-bottom: var(--padding6);
}

footer a {
  color: var(--dark);
  text-decoration: underline;
}

footer a:hover,
footer a:focus {
  color: var(--dark);
}

@media screen and (max-width: 940px) {
  footer {
    padding-top: var(--padding4);
    padding-bottom: var(--padding4);
  }
}

@media screen and (max-width: 640px) {
  footer {
    padding-left: var(--padding1);
    padding-right: var(--padding1);
  }
}
