@charset "UTF-8";
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-md);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
}

img {
  display: block;
  max-width: 100%;
}

h1, h2, h3 {
  margin-bottom: var(--space-md);
}

p + p,
p + ul,
ul + p {
  margin-top: var(--space-md);
}

p + h2,
p + h3 {
  margin-top: var(--space-lg);
}

h1 {
  font-family: var(--h1-fontFamily);
  font-size: var(--fontSize-xxl);
  font-weight: var(--h1-fontWeight);
  letter-spacing: var(--h1-letterSpacing);
  line-height: var(--lineHeight-heading);
  color: var(--h1-color);
}

h2 {
  font-family: var(--h2-fontFamily);
  font-size: var(--fontSize-xl);
  font-weight: var(--h2-fontWeight);
  letter-spacing: var(--h2-letterSpacing);
  line-height: var(--lineHeight-heading);
  color: var(--h2-color);
}

h3 {
  font-family: var(--h3-fontFamily);
  font-size: var(--fontSize-lg);
  font-weight: var(--h3-fontWeight);
  letter-spacing: var(--h3-letterSpacing);
  line-height: var(--lineHeight-heading);
  color: var(--h2-color);
}

ul, ol {
  margin-left: 20px;
}
ul li, ol li {
  margin-bottom: var(--space-xxs);
}

ul {
  list-style: square;
}

a {
  color: var(--color-text-link);
  transition: var(--transition);
}
a:hover {
  color: var(--color-text-link-hover);
}

.container {
  margin-inline: auto;
  width: min(100%, var(--content-width));
  padding: 0 var(--space-md);
}

.container--narrow {
  width: min(100%, var(--content-width-narrow));
}

.space {
  height: var(--space-xl);
}

.center {
  text-align: center;
}

.big {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-lg);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
}

.dummyImg {
  background-color: #ccc;
  display: block;
  position: relative;
}
.dummyImg::after {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  content: "Image";
  display: flex;
  justify-content: center;
  align-items: center;
}

.wrapper {
  padding-block: var(--space-xl);
}

.wrapper--light {
  background-color: var(--color-bg-light);
}

.wrapper--accentPrimary {
  background-color: var(--color-bg-accentPrimary);
}
.wrapper--accentPrimary h2, .wrapper--accentPrimary p, .wrapper--accentPrimary span {
  color: var(--color-text-inverse);
}

.wrapper--accentSecondary {
  background-color: var(--color-bg-accentSecondary);
}

.wrapper--dark {
  background-color: var(--color-bg-dark);
}
.wrapper--dark h2, .wrapper--dark p {
  color: var(--color-text-inverse);
}

.btnGroup {
  display: flex;
  flex-wrap: wrap;
  margin-block: var(--space-md);
  gap: var(--space-sm);
}
.center .btnGroup {
  justify-content: center;
}

.btn {
  display: inline-block;
  padding: var(--space-xs) var(--space-md);
  text-decoration: none;
  transition: var(--transition);
  border-radius: 0 var(--borderRadius) 0 var(--borderRadius);
}

.btn--primary {
  background-color: var(--color-primary);
  color: var(--color-text-inverse);
  border: 1px solid var(--color-primary);
}
.btn--primary:hover {
  background-color: #44355B;
  border-color: #44355B;
  color: var(--color-text-inverse);
}

.btn--secondary {
  background-color: var(--color-primary-light);
  color: var(--color-text-inverse);
  border: 1px solid var(--color-primary-light);
}
.btn--secondary:hover {
  background-color: #44355B;
  border-color: #44355B;
  color: var(--color-text-inverse);
}

.btn--text {
  text-decoration: underline;
}

.btn--inverse {
  background-color: #fff;
  color: #222;
}
.btn--inverse:hover {
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}

.hero {
  position: relative;
}

.hero__image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.hero__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.15);
}
.hero__image img,
.hero__image video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.hero__content {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: auto;
  min-height: 70vh;
  gap: var(--space-md);
  text-align: center;
}
@media (min-width: 768px) {
  .hero__content {
    flex-basis: 70vh;
  }
}

.hero__header,
.hero__text {
  max-width: var(--content-width-narrow);
  color: var(--color-text-inverse);
}

.hero__headline {
  font-size: var(--fontSize-xxxl);
  line-height: var(--lineHeight-heading);
  margin: 0;
  color: var(--color-primary);
}

.hero__kicker {
  font-family: var(--caption-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--caption-fontWeight);
  letter-spacing: var(--caption-letterSpacing);
  text-transform: var(--caption-textTransform);
  line-height: var(--lineHeight-text);
  color: var(--color-text-inverse);
}

.hero__subheadline {
  font-family: var(--caption-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--caption-fontWeight);
  letter-spacing: var(--caption-letterSpacing);
  text-transform: var(--caption-textTransform);
  line-height: var(--lineHeight-text);
  color: var(--color-text-highlight);
}

.hero__logo {
  width: 100%;
  max-width: 250px;
  margin: 0 auto var(--space-lg);
}

.headline {
  text-align: center;
}

.headline__kicker {
  color: var(--color-text-muted);
  font-family: var(--caption-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--caption-fontWeight);
  letter-spacing: var(--caption-letterSpacing);
  text-transform: var(--caption-textTransform);
  line-height: var(--lineHeight-text);
}

.headline__content {
  font-size: var(--fontSize-xxxl);
}

.cards {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-block: var(--space-lg);
  justify-content: center;
}

.card {
  flex: 0 0 150px;
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: var(--space-md);
  text-align: center;
}
@media (min-width: 768px) {
  .card {
    flex: 0 0 260px;
    padding: var(--space-md);
  }
}

.card--elevated {
  background-color: #fff;
  padding: var(--space-md);
  border-radius: var(--borderRadius);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.card__icon {
  width: 70px;
}

.card__headline {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-md);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  font-weight: 600;
  margin-bottom: var(--space-sm);
  display: block;
}

.card__subheadline {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  color: var(--color-text-muted);
  display: block;
  margin-bottom: var(--space-md);
}

.badges {
  display: flex;
  margin-block: var(--space-lg);
  gap: var(--space-xl);
  justify-content: center;
  flex-wrap: wrap;
}

.badge {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  max-width: calc(var(--content-width) / 4);
}

.badge__headline {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-md);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  color: var(--color-text-inverse);
  font-weight: 600;
  margin-bottom: var(--space-sm);
  display: block;
}

.badge__text {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  color: var(--color-text-muted);
}

.badge__icon {
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #ffffff1a;
}
.badge__icon img {
  max-width: 60%;
  max-height: 60%;
}

.ctaStripe {
  display: flex;
  justify-content: space-between;
  padding: var(--space-lg);
  margin-block: var(--space-lg);
  background-color: var(--color-primary);
  color: var(--color-text-inverse);
  flex-flow: column;
  align-items: flex-start;
  gap: var(--space-lg);
}
@media (min-width: 768px) {
  .ctaStripe {
    flex-flow: row;
  }
}

.ctaStripe h2 {
  font-size: var(--fontSize-xxl);
  color: var(--color-text-inverse);
}

.ctaStripe .btn {
  margin-block: auto;
}

.ctaHero {
  margin-block: var(--space-lg);
  padding: var(--space-md) var(--space-xl);
  font-size: var(--fontSize-xl);
}

.mediaBlock {
  display: flex;
  gap: var(--space-md);
  flex-flow: column;
}
@media (min-width: 768px) {
  .mediaBlock {
    flex-flow: row;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .mediaBlock--right {
    flex-flow: row-reverse;
  }
}
.mediaBlock__img {
  max-width: 100%;
}
.mediaBlock__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (min-width: 768px) {
  .mediaBlock__img {
    flex-basis: 50%;
  }
}

.mediaBlock__content {
  padding: var(--space-lg);
}
@media (min-width: 768px) {
  .mediaBlock__content {
    flex-basis: 50%;
  }
}

.mediaBlock .headline {
  text-align: left;
}

.mediaBlock .headline__content {
  font-family: var(--h2-fontFamily);
  font-size: var(--fontSize-xl);
  font-weight: var(--h2-fontWeight);
  letter-spacing: var(--h2-letterSpacing);
  line-height: var(--lineHeight-heading);
}

.mediaBlock--fleet {
  position: relative;
}
@media (min-width: 768px) {
  .mediaBlock--fleet {
    margin-top: var(--space-xl);
  }
}
.mediaBlock--fleet p {
  font-size: var(--fontSize-sm);
}
@media (min-width: 768px) {
  .mediaBlock--fleet .mediaBlock__img {
    flex-basis: 60%;
  }
}

.mediaBlock--fleet + .mediaBlock--fleet {
  margin-top: var(--space-xl);
}
@media (min-width: 768px) {
  .mediaBlock--fleet + .mediaBlock--fleet::before {
    content: "";
    display: block;
    height: 1px;
    width: 70%;
    top: -35px;
    position: absolute;
    opacity: 0.5;
    background-color: var(--color-border);
  }
}

.mediaBlock--fleet .mediaBlock__img video {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.fleetIcons {
  display: flex;
  gap: var(--space-lg);
  margin-block: var(--space-md);
  justify-content: flex-start;
}
.fleetIcons .fi {
  padding-left: 40px;
}
.fleetIcons .fi--speed {
  background: url(../assets/ico_speed.svg) no-repeat 0% 50%;
}
.fleetIcons .fi--range {
  background: url(../assets/ico_range.svg) no-repeat 0% 50%;
  background-size: 23px auto;
  padding-left: 35px;
}
.fleetIcons .fi--seats {
  background: url(../assets/ico_seats.svg) no-repeat 0% 50%;
  background-size: 30px auto;
}

.cta {
  display: flex;
  flex-flow: column;
  align-items: center;
}

.cta h2 {
  font-size: var(--fontSize-xxxl);
}

.countdown {
  display: flex;
  justify-content: center;
}

.countdown__item {
  flex-basis: 15%;
  text-align: center;
}

.countdown__value {
  font-size: var(--fontSize-xxxl);
  font-weight: var(--fontWeight-extra);
  line-height: var(--lineHeight-heading);
  color: var(--color-text-highlight);
}

.countdown__label {
  font-size: var(--fontSize-xs);
  color: var(--color-text-muted);
}

.faqs {
  max-width: var(--content-width-narrow);
  margin: var(--space-lg) auto;
}

.faq {
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  display: block;
  padding: var(--space-sm) var(--space-md);
}
.faq + .faq {
  margin-top: -1px;
}
.faq > summary {
  list-style: none;
}
.faq > summary::-webkit-details-marker {
  display: none;
}

.faq__question {
  background-color: var(--color-bg);
  color: var(--color-secondary);
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-lg);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
.faq__question::after {
  content: "+";
}
[open] .faq__question::after {
  content: "−";
}

.faq__answer {
  margin-top: var(--space-xs);
  background-color: var(--color-bg);
}

.logos {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  justify-content: center;
  align-items: center;
  margin-block: var(--space-lg);
}

.testimonials {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}
@media (min-width: 768px) {
  .testimonials {
    grid-template-columns: repeat(3, 1fr);
  }
}

.testimonial {
  padding: var(--space-lg);
  border-radius: var(--borderRadius);
  background: var(--color-bg-light);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-flow: column;
  gap: var(--space-md);
  font-size: var(--fontSize-sm);
}

.testimonial--socialProof {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--fontSize-lg);
}

.timeline {
  display: flex;
  flex-flow: column;
  margin: var(--space-lg) auto;
}

.timeline__list {
  list-style: none;
  display: flex;
  flex-flow: column;
  gap: var(--space-lg);
  margin: auto;
}

.timeline__item {
  display: flex;
  align-items: flex-start;
  position: relative;
}
.timeline__item::before {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--color-primary);
  margin-right: var(--space-md);
}
.timeline__item:nth-child(n+2)::after {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  width: 2px;
  height: 40px;
  top: -50px;
  background-color: var(--color-primary);
  margin: 0 var(--space-md);
}

.timeline__content {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}

.timeline__time {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  color: var(--color-text-muted);
}

.timeline__description {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
}

.timeline__item--highlight::before {
  background-color: var(--color-primary);
}
.timeline__item--highlight .timeline__time {
  font-weight: var(--fontWeight-bold);
  color: var(--color-text);
}
.timeline__item--highlight .timeline__title {
  font-size: var(--fontSize-lg);
}

.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-block: var(--space-lg);
}

.people {
  display: grid;
  gap: var(--space-lg);
  margin-block: var(--space-lg);
}

.person {
  display: flex;
  align-items: center;
  text-align: center;
  flex-flow: column;
  gap: var(--space-lg);
  background-color: #fff;
  padding: var(--space-lg);
  border-radius: 0 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .person {
    flex-flow: row;
    text-align: left;
    align-items: flex-start;
  }
}

.person__img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.person__headline {
  font-family: var(--h3-fontFamily);
  font-size: var(--fontSize-lg);
  font-weight: var(--h3-fontWeight);
  letter-spacing: var(--h3-letterSpacing);
  line-height: var(--lineHeight-heading);
  font-weight: 600;
}

.person__content {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
}

.person__subheadline {
  font-family: var(--caption-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--caption-fontWeight);
  letter-spacing: var(--caption-letterSpacing);
  text-transform: var(--caption-textTransform);
  line-height: var(--lineHeight-text);
  color: var(--color-text-muted);
  display: block;
  margin-bottom: var(--space-md);
}

.pricelist {
  max-width: var(--content-width-narrow);
  margin: var(--space-lg) auto;
}

.pricelistTable {
  width: 100%;
  border-collapse: collapse;
}
.pricelistTable td {
  padding: var(--space-xs);
}

.pricelistSection {
  font-size: var(--fontSize-lg);
  border-bottom: 1px solid var(--color-border);
}
tr:not(:first-child) .pricelistSection {
  padding-top: var(--space-lg);
}

.pricelistItem__description {
  font-size: var(--fontSize-sm);
  color: var(--color-text-muted);
}

.pricelistPrice {
  vertical-align: top;
  text-align: right;
}

.pricelistSummary {
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-lg);
}

.pricelistSummary--total {
  font-size: var(--fontSize-xl);
  font-weight: bold;
  text-align: right;
}

.priceSingle {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-block: var(--space-lg);
}

.priceSingle__price {
  font-family: var(--h1-fontFamily);
  font-size: var(--fontSize-xxl);
  font-weight: var(--h1-fontWeight);
  letter-spacing: var(--h1-letterSpacing);
  line-height: var(--lineHeight-heading);
  color: var(--color-text-highlight);
}

.priceSingle__note {
  font-family: var(--body-fontFamily);
  font-size: var(--fontSize-sm);
  font-weight: var(--body-fontWeight);
  letter-spacing: var(--body-letterSpacing);
  line-height: var(--lineHeight-text);
  color: var(--color-text-muted);
}

.contact {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-block: var(--space-md);
  gap: var(--space-xs);
}

.contact__item {
  font-family: var(--h3-fontFamily);
  font-size: var(--fontSize-lg);
  font-weight: var(--h3-fontWeight);
  letter-spacing: var(--h3-letterSpacing);
  line-height: var(--lineHeight-heading);
}

.contactGrid {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: 100%;
  gap: var(--space-lg);
}
@media (min-width: 1024px) {
  .contactGrid {
    flex-direction: row;
    justify-content: space-around;
    gap: var(--space-xl);
  }
}

.contactItem {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}
.contactItem strong {
  font-family: var(--h3-fontFamily);
  font-size: var(--fontSize-lg);
  font-weight: var(--h3-fontWeight);
  letter-spacing: var(--h3-letterSpacing);
  line-height: var(--lineHeight-heading);
  font-weight: 600;
}

.footer {
  background-color: #f0f0f0;
}

.footer__content {
  padding-block: var(--space-lg);
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: var(--space-md);
}

.copyinfo {
  font-size: var(--fontSize-sm);
}

.legal {
  font-size: 66%;
  font-style: italic;
  text-align: center;
  color: var(--color-text-muted);
}
