:root {
  --vl-footer-black: #2d2d2d;
  --vl-footer-blue: #3a5896;
  --vl-footer-blue-light: #e4eef4;
  --vl-footer-grey: #9094a7;
  --vl-footer-gold: #c5aa73;
  --vl-footer-white: #fff;
  --vl-footer-success: #4dd753;
  --vl-footer-border: #d8e5ec;
}

.vl-footer {
  display: block !important;
  overflow: hidden;
  background: var(--vl-footer-blue-light);
  color: var(--vl-footer-black);
  font-family: "Roboto", Arial, sans-serif;
}

footer#main-footer.vl-footer {
  display: block !important;
}

.vl-footer * {
  box-sizing: border-box;
}

.vl-footer a {
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.vl-footer-trust {
  overflow: hidden;
  background: var(--vl-footer-gold);
  color: var(--vl-footer-white);
}

.vl-footer-trust__track {
  display: flex;
  align-items: center;
  width: max-content;
  min-width: 100%;
  height: 136px;
  padding-block: 32px;
  white-space: nowrap;
}

.vl-footer-trust__item {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 72px;
  color: var(--vl-footer-white);
}

.vl-footer-trust__icon {
  display: block;
  flex: 0 0 auto;
  height: 72px;
  object-fit: contain;
  object-position: left center;
}

.vl-footer-trust__label {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--vl-footer-white);
  font: 700 28px/1 "Roboto Serif", Georgia, serif;
  letter-spacing: 0;
}

.vl-footer-trust__item--caught,
.vl-footer-trust__item--caught .vl-footer-trust__icon {
  width: 633px;
}

.vl-footer-trust__item--caught .vl-footer-trust__label {
  margin-left: -323px;
}

.vl-footer-trust__item--processed {
  width: 415px;
  margin-left: -4px;
}

.vl-footer-trust__item--processed .vl-footer-trust__icon {
  width: 415px;
}

.vl-footer-trust__item--processed .vl-footer-trust__label {
  margin-left: -328px;
  transform: translateY(-1px);
}

.vl-footer-trust__item--express {
  width: 573px;
  margin-left: -3px;
}

.vl-footer-trust__item--express .vl-footer-trust__icon {
  width: 573px;
}

.vl-footer-trust__item--express .vl-footer-trust__label {
  margin-left: -399px;
}

.vl-footer-trust__item--cold {
  width: 516px;
  margin-left: -29px;
}

.vl-footer-trust__item--cold .vl-footer-trust__icon {
  width: 516px;
}

.vl-footer-trust__item--cold .vl-footer-trust__label {
  margin-left: -322px;
}

.vl-footer-trust--sliding .vl-footer-trust__track {
  animation: vl-footer-trust-slide 14s linear infinite;
}

@keyframes vl-footer-trust-slide {
  from { transform: translateX(0); }
  to { transform: translateX(-2093px); }
}

.vl-footer-rail__inner,
.vl-footer-legal-rail__inner {
  width: min(100%, 1284px);
  margin-inline: auto;
  padding-inline: 16px;
}

.vl-footer-brand-promise {
  background: var(--vl-footer-white);
  border-top: 1px solid var(--vl-footer-border);
}

.vl-footer-brand-promise__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 3vw, 44px);
  padding-block: 18px;
}

.vl-footer-brand-promise__tagline {
  margin: 0;
  color: var(--vl-footer-blue);
  font: 700 clamp(24px, 3vw, 42px)/1 "Roboto Serif", Georgia, serif;
  white-space: nowrap;
}

.vl-footer-brand-promise__tagline sup {
  position: relative;
  top: -0.72em;
  display: inline-block;
  margin-left: 4px;
  color: var(--vl-footer-blue);
  font: 800 18px/1 "Roboto", Arial, sans-serif;
  vertical-align: baseline;
}

.vl-footer-brand-promise__usps {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 8px clamp(12px, 1.6vw, 22px) !important;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  color: var(--vl-footer-black);
  font: 400 13.5px/1.2 "Roboto", Arial, sans-serif;
  list-style: none;
  scrollbar-width: none;
}

.vl-footer-brand-promise__usps::-webkit-scrollbar {
  display: none;
}

.vl-footer-brand-promise__usps li {
  position: relative;
  white-space: nowrap;
}

.vl-footer-brand-promise__usps li::before {
  content: "✓";
  margin-right: 8px;
  color: var(--vl-footer-success);
  font-weight: 700;
}

.vl-footer-main {
  background: var(--vl-footer-blue-light);
}

.vl-footer-main__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  width: min(100%, 1284px);
  margin-inline: auto;
  padding: 60px 16px;
}

.vl-footer-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.vl-footer-action-card {
  display: grid;
  align-content: start;
  min-height: 174px;
  padding: 22px 24px;
  gap: 10px;
  border: 1px solid rgba(58, 88, 150, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.55);
}

.vl-footer-action-card h3,
.vl-footer-action-card p {
  margin: 0;
}

.vl-footer h3,
.vl-footer-main h3,
.vl-footer-payment-rail h3,
.vl-footer-review-rail h3 {
  margin: 0 0 24px;
  color: var(--vl-footer-black);
  font: 600 18px/1.2 "Roboto", Arial, sans-serif;
}

.vl-footer-action-card p {
  color: var(--vl-footer-black);
  font: 400 16px/1.45 "Roboto", Arial, sans-serif;
}

.vl-footer-action-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-self: end;
  gap: 12px;
}

.vl-footer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 137px;
  height: 44px;
  padding: 12px 20px;
  border: 1px solid var(--vl-footer-blue);
  border-radius: 8px;
  background: var(--vl-footer-blue);
  color: var(--vl-footer-white);
  font: 600 18px/1.2 "Roboto", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.vl-footer-btn:hover,
.vl-footer-btn:focus-visible {
  color: var(--vl-footer-white);
  border-color: #faf0d7;
}

.vl-newsletter-signup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin-top: auto;
}

.vl-newsletter-signup__label {
  grid-column: 1 / -1;
  color: var(--vl-footer-black);
  font: 600 14px/1.2 "Roboto", Arial, sans-serif;
}

.vl-input-field {
  position: relative;
  display: grid;
  width: 100%;
}

.vl-input {
  width: 100%;
  height: 44px;
  padding: 14px 16px;
  border: 1.5px solid var(--vl-footer-black);
  border-radius: 8px;
  background: var(--vl-footer-white);
  color: var(--vl-footer-black);
  font: 400 14px/1 "Roboto", Arial, sans-serif;
}

.vl-input::placeholder {
  color: var(--vl-footer-grey);
}

.vl-input:focus {
  outline: 0;
  border-color: var(--vl-footer-blue);
  box-shadow: -6px 6px 0 rgba(197, 169, 121, 0.7);
}

.vl-footer-navigation-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 52px);
}

.vl-footer ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vl-footer-link-column h3 {
  margin-bottom: 24px;
}

.vl-footer-link-column a {
  color: var(--vl-footer-blue);
  font: 400 16px/1.2 "Roboto", Arial, sans-serif;
  text-decoration: none;
}

.vl-footer-link-column a:hover,
.vl-footer-link-column a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.vl-footer-contact {
  gap: 16px;
}

.vl-footer-contact li,
.vl-footer-flags li {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 400 16px/1.15 "Roboto", Arial, sans-serif;
}

.vl-footer-contact img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.vl-footer-contact__phone {
  display: inline-flex;
  padding: 4px 12px;
  border-radius: 20px;
  background: var(--vl-footer-gold);
  color: var(--vl-footer-white) !important;
  font: 400 12px/1.2 "Roboto", Arial, sans-serif !important;
  text-decoration: none !important;
}

.vl-footer-contact span {
  line-height: 1.15;
}

.vl-footer-contact__hours {
  align-items: flex-start !important;
}

.vl-footer-contact__hours > span {
  display: grid;
  gap: 4px;
  padding-top: 1px;
}

.vl-footer-contact__hours > span > span {
  display: block;
  white-space: nowrap;
}

.vl-social-row {
  display: flex;
  gap: 24px;
  margin-top: 18px;
}

.vl-social-row a,
.vl-social-row img {
  display: block;
  width: 24px;
  height: 24px;
}

.vl-footer-main-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(32px, 5vw, 88px);
  padding-top: 8px;
}

.vl-footer-main-details h3 {
  margin-bottom: 16px;
}

.vl-footer-main__column--certificates {
  min-width: 0;
}

.vl-certification-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px clamp(16px, 2vw, 24px);
  margin: 0;
  color: var(--vl-footer-blue);
}

.vl-certification-badge {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
  gap: 9px;
  color: var(--vl-footer-blue);
  font: 400 14px/1 "Roboto", Arial, sans-serif;
}

.vl-certification-badge__logo {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 78px;
  width: 78px;
  height: 38px;
  overflow: visible;
  background: transparent;
}

.vl-certification-badge__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.vl-certification-badge__code {
  min-width: 0;
  padding-top: 1px;
  overflow-wrap: anywhere;
  white-space: nowrap;
}

.vl-certification-badge--de-oko-001 .vl-certification-badge__logo,
.vl-certification-badge--asc-c-00003 .vl-certification-badge__logo {
  flex-basis: 74px;
  width: 74px;
  height: 36px;
}

.vl-certification-badge--de-oko-001 .vl-certification-badge__logo img,
.vl-certification-badge--asc-c-00003 .vl-certification-badge__logo img {
  width: 100%;
  height: 100%;
}

.vl-footer-flags {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px !important;
}

.vl-footer-flags img {
  display: block;
  width: 32px;
  height: 21px;
  object-fit: contain;
}

.vl-footer-payment-rail,
.vl-footer-legal-rail,
.vl-footer-review-rail {
  background: var(--vl-footer-white);
  border-top: 1px solid var(--vl-footer-border);
}

.vl-footer-payment-rail .vl-footer-rail__inner {
  padding-block: 28px;
}

.vl-payment-options--rail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 48px);
}

.vl-payment-options--rail h3 {
  margin: 0;
  white-space: nowrap;
}

.vl-payment-grid {
  display: grid;
  grid-template-columns: repeat(6, 50px);
  gap: 14px 16px;
}

.vl-payment-card {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 50px;
  height: 32px;
  overflow: hidden;
  border-radius: 6px;
  background: var(--vl-footer-blue);
  color: var(--vl-footer-white);
}

.vl-payment-card img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.vl-payment-card--paypal {
  background: #478fbe;
}

.vl-payment-card--paypal img:first-child {
  position: absolute;
  left: 39.7%;
  top: 30.3%;
  width: 30.9%;
  height: 50%;
}

.vl-payment-card--paypal img:last-child {
  position: absolute;
  left: 29.41%;
  top: 18.19%;
  width: 32.36%;
  height: 52.27%;
}

.vl-payment-card--image-blue {
  padding: 5px 8px;
}

.vl-payment-card--visa {
  background: var(--vl-footer-blue);
}

.vl-payment-card__visa-logo {
  position: absolute;
  left: 14.14%;
  top: 32.39%;
  width: 76.06%;
  height: 43.17%;
}

.vl-payment-card__visa-spark {
  position: absolute;
  left: 7.84%;
  top: 25%;
  width: 11.77%;
  height: 6.25%;
}

.vl-payment-card--amex {
  justify-items: end;
  align-content: center;
  padding: 5px 3px 6px 2px;
  text-align: center;
  font: 400 8.9px/1 "Roboto", Arial, sans-serif;
  text-transform: uppercase;
}

.vl-payment-card--amex span {
  display: block;
}

.vl-payment-card--photo {
  border-radius: 6px;
  background: var(--vl-footer-white);
  object-fit: cover;
}

.vl-footer-legal-rail__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
  padding-block: 16px;
}

.vl-footer-legal-rail__logo {
  display: block;
  width: 42px;
  height: 54px;
  object-fit: contain;
}

.vl-footer-legal-rail__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px clamp(16px, 2.5vw, 30px);
}

.vl-footer-legal-rail__links a {
  color: var(--vl-footer-blue);
  font: 400 15px/1.2 "Roboto", Arial, sans-serif;
  text-decoration: none;
}

.vl-footer-legal-rail__copyright {
  color: var(--vl-footer-blue);
  font: 400 14px/1.2 "Roboto", Arial, sans-serif;
  white-space: nowrap;
}

.vl-footer-review-rail .vl-footer-rail__inner {
  display: grid;
  justify-items: center;
  padding-block: 14px 16px;
}

.vl-review-proof {
  text-align: center;
}

.vl-review-proof h3 {
  margin-bottom: 10px;
}

.vl-review-proof ul {
  display: grid;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vl-review-proof li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--vl-footer-black);
  font: 400 16px/1.2 "Roboto", Arial, sans-serif;
  text-decoration: none;
  white-space: nowrap;
}

.vl-review-proof__icon {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.vl-review-proof__source {
  color: var(--vl-footer-black);
  font-weight: 400;
}

.vl-review-proof__link {
  color: var(--vl-footer-blue);
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.vl-review-proof__link:hover,
.vl-review-proof__link:focus-visible {
  color: var(--vl-footer-blue);
  text-decoration-thickness: 2px;
}

@media (max-width: 1120px) {
  .vl-footer-brand-promise__inner {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .vl-footer-brand-promise__usps {
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    padding-right: 24px;
  }

  .vl-footer-action-row,
  .vl-footer-navigation-row,
  .vl-footer-main-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1121px) {
  .vl-footer-main__column--certificates .vl-certification-badges {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    column-gap: 20px;
  }
}

@media (max-width: 760px) {
  .vl-footer-trust__track {
    height: auto;
    padding-block: 22px;
    animation-duration: 12s;
  }

  .vl-footer-trust__item {
    transform: scale(0.58);
    transform-origin: left center;
    margin-right: -220px;
  }

  .vl-footer-main__content {
    gap: 32px;
    padding: 32px 24px 40px;
  }

  .vl-footer-rail__inner,
  .vl-footer-legal-rail__inner {
    padding-inline: 24px;
  }

  .vl-footer-action-row,
  .vl-footer-navigation-row,
  .vl-footer-main-details,
  .vl-newsletter-signup {
    grid-template-columns: 1fr;
  }

  .vl-payment-options--rail {
    display: grid;
    justify-items: center;
    gap: 18px;
  }

  .vl-payment-grid {
    grid-template-columns: repeat(3, 50px);
  }

  .vl-footer-legal-rail__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .vl-footer-legal-rail__links {
    justify-content: center;
  }

  .vl-review-proof li {
    flex-wrap: wrap;
    white-space: normal;
  }
}
