/* vakantiehuis-footer 1.0.0 · block-port van ReactBitsPro Blocks/footer-11.
   Ease van de bron: cubic-bezier(.22, 1, .36, 1). */
.msm-vakantiehuis-footer {
  width: 100%;
  padding: 4rem 1rem;
  box-sizing: border-box;
  background: var(--m-surface, #fffbf4);
  color: var(--m-ink, #2a2522);
  font-family: var(--m-font-body, 'Instrument Sans', ui-sans-serif, system-ui, sans-serif);
  scroll-margin-top: 112px;
}
.msm-vakantiehuis-footer *,
.msm-vakantiehuis-footer *::before,
.msm-vakantiehuis-footer *::after { box-sizing: border-box; }
.msm-vakantiehuis-footer .vf-wrap { width: 100%; max-width: 1400px; margin: 0 auto; }
.msm-vakantiehuis-footer .vf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; row-gap: 3rem; }
.msm-vakantiehuis-footer .vf-col { min-width: 0; }
.msm-vakantiehuis-footer .vf-head {
  margin: 0 0 1.25rem;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--m-muted, #6d635a);
}
.msm-vakantiehuis-footer .vf-list { display: grid; gap: .875rem; margin: 0; padding: 0; list-style: none; }
.msm-vakantiehuis-footer .vf-link,
.msm-vakantiehuis-footer .vf-text {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  border-radius: 2px;
  font-size: 17px;
  line-height: 1.375;
  font-weight: 500;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.msm-vakantiehuis-footer .vf-link { color: var(--m-ink, #2a2522); text-decoration: none; transition: color .2s; }
.msm-vakantiehuis-footer .vf-link:hover { color: var(--m-muted, #6d635a); }
.msm-vakantiehuis-footer .vf-text { display: inline-block; color: var(--m-muted, #6d635a); }
.msm-vakantiehuis-footer .vf-icon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid color-mix(in srgb, var(--m-ink, #2a2522) 12%, transparent);
  border-radius: .5rem;
  background: color-mix(in srgb, var(--m-ink, #2a2522) 3%, var(--m-surface, #fffbf4));
  color: color-mix(in srgb, var(--m-ink, #2a2522) 82%, transparent);
  transition: border-color .2s, background-color .2s;
}
.msm-vakantiehuis-footer .vf-link:hover .vf-icon {
  border-color: color-mix(in srgb, var(--m-ink, #2a2522) 20%, transparent);
  background: color-mix(in srgb, var(--m-ink, #2a2522) 6%, var(--m-surface, #fffbf4));
}
.msm-vakantiehuis-footer .vf-icon svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.msm-vakantiehuis-footer .vf-base { display: flex; flex-direction: column; gap: 2rem; margin-top: 4rem; padding-top: 2rem; }
.msm-vakantiehuis-footer .vf-brand {
  display: inline-flex;
  width: fit-content;
  border-radius: .375rem;
  font-family: var(--m-font-display, 'Fraunces', ui-serif, Georgia, serif);
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  letter-spacing: -.025em;
  color: var(--m-ink, #2a2522);
  text-decoration: none;
}
.msm-vakantiehuis-footer .vf-row { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin-left: -.875rem; }
.msm-vakantiehuis-footer .vf-row a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 .875rem;
  border-radius: 999px;
  font-size: .875rem;
  font-weight: 500;
  color: var(--m-muted, #6d635a);
  text-decoration: none;
  transition: background-color .2s, color .2s;
}
.msm-vakantiehuis-footer .vf-row a:hover { background: color-mix(in srgb, var(--m-ink, #2a2522) 6%, transparent); color: var(--m-ink, #2a2522); }
.msm-vakantiehuis-footer .vf-legal { max-width: 48rem; margin-top: 2rem; font-size: .875rem; line-height: 1.625; color: var(--m-muted, #6d635a); }
.msm-vakantiehuis-footer .vf-legal p { margin: 0; }
.msm-vakantiehuis-footer .vf-legal p + p { margin-top: .25rem; }
.msm-vakantiehuis-footer a:focus-visible { outline: 2px solid var(--m-ink, #2a2522); outline-offset: 2px; }

/* whileInView (once, margin -80px): staggerChildren 0,07 s na 0,05 s, ieder opacity 0 en y 24 in 0,7 s. */
.msm-vakantiehuis-footer .vf-wrap.is-armed .vf-item { opacity: 0; transform: translateY(24px); }
.msm-vakantiehuis-footer .vf-wrap.is-armed.is-in .vf-item {
  opacity: 1;
  transform: none;
  transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
  transition-delay: calc(.05s + var(--i, 0) * .07s);
}

@media (min-width: 640px) {
  .msm-vakantiehuis-footer { padding: 5rem 1.5rem; }
  .msm-vakantiehuis-footer .vf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .msm-vakantiehuis-footer .vf-base { flex-direction: row; align-items: center; justify-content: space-between; margin-top: 5rem; }
  .msm-vakantiehuis-footer .vf-row { margin-left: 0; margin-right: -.875rem; }
}
@media (min-width: 1024px) {
  .msm-vakantiehuis-footer { padding: 6rem 2rem; }
  .msm-vakantiehuis-footer .vf-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .msm-vakantiehuis-footer .vf-wrap.is-armed .vf-item { opacity: 1; transform: none; transition: none; }
  .msm-vakantiehuis-footer .vf-link,
  .msm-vakantiehuis-footer .vf-icon,
  .msm-vakantiehuis-footer .vf-row a { transition: none; }
}
