/*veride-scrollbar*/
html { scrollbar-width: thin; scrollbar-color: #97a98f #edf0ea; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #edf0ea; }
::-webkit-scrollbar-thumb { background: #97a98f; border-radius: 10px; border: 2px solid #edf0ea; }
::-webkit-scrollbar-thumb:hover { background: #333f41; }
::-webkit-scrollbar-corner { background: #edf0ea; }

.veride-wordmark { font-family: var(--alt-font); font-size: 24px; line-height: 26px; letter-spacing: 3px; text-transform: uppercase; white-space: nowrap; display: flex; flex-direction: column; justify-content: center; height: 42px; }
.veride-wordmark small { display: block; font-family: var(--primary-font); font-size: 10px; letter-spacing: 4px; line-height: 12px; opacity: .65; font-weight: 500; margin-top: 2px; }
header .navbar-brand { position: relative; padding: 25px 0; line-height: 0; }
header .navbar-brand .alt-logo, header .navbar-brand .mobile-logo { position: absolute; top: 25px; left: 0; width: auto; }
.footer-logo .veride-wordmark { height: auto; }
.veride-brand { display: block; font-family: var(--alt-font); font-size: clamp(15px, 1.35vw, 20px); letter-spacing: 1.5px; line-height: 1.35; color: var(--dark-gray); opacity: .5; transition: opacity .3s ease; text-wrap: balance; }
.client-box:hover .veride-brand { opacity: 1; }
.story-figure figcaption img { width: 150px; max-width: 100%; height: auto; }
html, body { max-width: 100%; overflow-x: clip; }
:root { --base-color: #97a98f; --dark-gray: #333f41; --light-gray: #edf0ea; --medium-gray: #78807b; }
.text-gradient-san-blue-new-york-red { background-image: linear-gradient(to right, #333f41, #45544f, #6f866c, #8aa080, #97a98f); }
.bg-gradient-blue-ironstone-brown { background-image: linear-gradient(to right, #2f3a3c, #354040, #3d4a45, #49584e, #5b6d59); }
.bg-gradient-blue-ironstone-brown-transparent { background-image: linear-gradient(to right, rgb(47,58,60), rgba(48,59,61,.7), rgba(58,71,66,.7), rgba(72,88,78,.7), rgba(91,109,89,.7)); }
.btn.btn-base-color, .btn.btn-box-shadow.btn-base-color:hover { color: #23282a; }
.bg-yellow { background-color: #97a98f !important; color: #23282a !important; }
.story-stage { position: relative; max-width: 600px; margin: 0 auto; }
.story-stage .story-arch { display: block; width: 100%; height: auto; }
.veride-price-row .veride-price-value { white-space: nowrap; }
.veride-pack-tag { padding: 0 18px !important; line-height: 34px !important; font-size: 12.5px !important; }
.veride-pack.is-accent { border-color: #97a98f; box-shadow: 0 24px 60px rgba(51,63,65,.10); }
.veride-pack-tag { background: #edf0ea; color: #4a5551; }
.veride-pack.is-accent .veride-pack-tag { background: #97a98f; color: #23282a; }
.veride-pack-list { list-style: none; }
.veride-pack-list li { position: relative; padding-left: 20px; font-size: 15px; line-height: 30px; color: #6a736e; }
.veride-pack-list li::before { content: ""; position: absolute; left: 0; top: 13px; width: 8px; height: 1px; background: #97a98f; }
.icon-with-text-style-03 .feature-box-icon { display: flex; align-items: flex-end; height: 64px; margin-bottom: 25px; }
.icon-with-text-style-03 .feature-box-icon img { width: auto !important; height: 100%; margin-bottom: 0 !important; }
.story-model-wrap { position: absolute; left: 50%; bottom: 0; height: 98.5%; aspect-ratio: 592 / 1102; transform: translateX(-50%); overflow: hidden; }
.story-model-wrap .story-model { display: block; width: 100%; height: 100%; max-width: none; transform: translateY(101%); transition: transform 1.35s cubic-bezier(.65,0,.35,1); }
.story-model-wrap.is-revealed .story-model { transform: translateY(0); }
.clients-style-04 + .row, .veride-clients-label { font-size: clamp(22px, 2vw, 30px) !important; }
.veride-clients-col { padding-right: 45px; }
@media (max-width: 767px) { .veride-clients-col { padding-right: 15px; } }
#veride-preloader { position: fixed; inset: 0; z-index: 9999; background: #333f41; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; }
#veride-preloader .pl-mark { font-family: var(--alt-font); font-size: 34px; letter-spacing: 10px; text-transform: uppercase; color: #fff; text-indent: 10px; }
#veride-preloader .pl-sub { font-family: var(--primary-font); font-size: 11px; letter-spacing: 6px; text-transform: uppercase; color: rgba(255,255,255,.5); text-indent: 6px; margin-top: -14px; }
#veride-preloader .pl-track { width: 190px; height: 1px; background: rgba(255,255,255,.18); overflow: hidden; }
#veride-preloader .pl-bar { display: block; width: 100%; height: 100%; background: #97a98f; transform: scaleX(0); transform-origin: left center; }
body.veride-loaded #veride-preloader { pointer-events: none; }
#veride-cookie { position: fixed; left: 50%; bottom: 26px; z-index: 9998; width: min(880px, calc(100vw - 40px)); transform: translate(-50%, 26px); opacity: 0; transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
#veride-cookie:not(.is-in) { pointer-events: none; }
#veride-cookie.is-in { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
#veride-cookie .ck-card { background: rgba(43, 52, 54, .94); backdrop-filter: blur(14px) saturate(140%); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; box-shadow: 0 30px 80px rgba(16,22,24,.45); overflow: hidden; color: #fff; }
#veride-cookie .ck-main { display: flex; align-items: center; gap: 30px; padding: 24px 28px; }
#veride-cookie .ck-copy { flex: 1 1 auto; min-width: 0; }
#veride-cookie .ck-title { display: flex; align-items: center; gap: 9px; font-family: var(--alt-font); font-size: 19px; letter-spacing: .4px; margin-bottom: 6px; }
#veride-cookie .ck-dot { width: 7px; height: 7px; border-radius: 50%; background: #97a98f; flex: none; }
#veride-cookie p { font-size: 13.5px; line-height: 22px; color: rgba(255,255,255,.58); margin: 0; text-wrap: pretty; }
#veride-cookie .ck-actions { display: flex; align-items: center; gap: 8px; flex: none; }
#veride-cookie button { font-family: var(--primary-font); font-size: 13px; font-weight: 600; padding: 11px 20px; border-radius: 8px; border: 1px solid transparent; cursor: pointer; transition: .25s ease; white-space: nowrap; }
#veride-cookie .ck-accept { background: #97a98f; color: #22282a; }
#veride-cookie .ck-accept:hover { background: #a9ba9f; }
#veride-cookie .ck-decline { background: rgba(255,255,255,.06); color: rgba(255,255,255,.8); border-color: rgba(255,255,255,.14); }
#veride-cookie .ck-decline:hover { background: rgba(255,255,255,.12); color: #fff; }
#veride-cookie .ck-settings { background: transparent; color: rgba(255,255,255,.55); padding: 11px 6px; }
#veride-cookie .ck-settings:hover { color: #fff; }
#veride-cookie .ck-panel { max-height: 0; overflow: hidden; transition: max-height .45s cubic-bezier(.22,.61,.36,1); border-top: 1px solid rgba(255,255,255,0); }
#veride-cookie.is-open .ck-panel { max-height: 420px; border-top-color: rgba(255,255,255,.09); }
#veride-cookie .ck-rows { padding: 6px 28px 24px; }
#veride-cookie .ck-row { display: flex; align-items: flex-start; gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
#veride-cookie .ck-row:last-child { border-bottom: 0; }
#veride-cookie .ck-row-copy { flex: 1 1 auto; }
#veride-cookie .ck-row-name { font-size: 14px; font-weight: 600; margin-bottom: 3px; }
#veride-cookie .ck-row-desc { font-size: 12.5px; line-height: 20px; color: rgba(255,255,255,.48); }
#veride-cookie .ck-toggle { flex: none; width: 42px; height: 24px; border-radius: 999px; background: rgba(255,255,255,.14); border: 0; padding: 0; position: relative; cursor: pointer; margin-top: 2px; }
#veride-cookie .ck-toggle::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .25s ease; }
#veride-cookie .ck-toggle[aria-checked="true"] { background: #97a98f; }
#veride-cookie .ck-toggle[aria-checked="true"]::after { transform: translateX(18px); }
#veride-cookie .ck-toggle[disabled] { opacity: .45; cursor: not-allowed; }
#veride-cookie .ck-save { margin-top: 18px; }
@media (max-width: 767px) {
  #veride-cookie .ck-main { flex-direction: column; align-items: stretch; gap: 18px; padding: 22px; }
  #veride-cookie .ck-actions { flex-wrap: wrap; }
  #veride-cookie .ck-actions button { flex: 1 1 auto; }
  #veride-cookie .ck-rows { padding: 6px 22px 22px; }
}
.veride-cookie-link { cursor: pointer; }
@keyframes verideSafetyFade { to { opacity: 0; visibility: hidden; } }
#veride-preloader { animation: verideSafetyFade .5s 4s forwards; }

/* ---- Mobile & Tablet ---- */
@media (max-width: 991px) {
  .container, .container-fluid, .container-lg, .container-md, .container-sm { width: 90% !important; max-width: 90% !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: auto !important; margin-right: auto !important; }
  :is(section,:where(.vr-sec)) { padding-top: 60px !important; padding-bottom: 60px !important; }
  :is(section,:where(.vr-sec)).p-0, :is(section,:where(.vr-sec)).pt-0 { padding-top: 0 !important; }
  :is(section,:where(.vr-sec)).p-0, :is(section,:where(.vr-sec)).pb-0 { padding-bottom: 0 !important; }
  h1, .h1 { font-size: 46px !important; line-height: 52px !important; }
  h2, .h2 { font-size: 34px !important; line-height: 42px !important; }
  h3, .h3 { font-size: 28px !important; line-height: 36px !important; }
  h4, .h4 { font-size: 24px !important; line-height: 32px !important; }
  h5, .h5 { font-size: 21px !important; line-height: 30px !important; }
  h6, .h6 { font-size: 19px !important; line-height: 28px !important; }
  p, body { font-size: 16px; line-height: 27px; }
  .fs-20 { font-size: 17px !important; line-height: 28px !important; }
  .fs-22, .fs-24, .fs-26 { font-size: 20px !important; line-height: 28px !important; }
  .w-50, .w-55, .w-60, .w-65, .w-70, .w-75, .w-80, .w-85, .w-90, .w-95 { width: 100% !important; }
  .overlap-gap-section { padding-top: 60px !important; }
}
@media (max-width: 767px) {
  #top.page-title-big-typography { padding-top: 140px !important; padding-bottom: 70px !important; }
  #top.page-title-big-typography h1 { font-size: 44px !important; line-height: 48px !important; }
  #top .fs-20, #top .fs-19 { font-size: 17px !important; line-height: 28px !important; }
  /* Slider */
  .veride-mslider, .row.clients-style-04, .row:has(> .pricing-table-style-09) { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; margin-left: -5vw !important; margin-right: -5vw !important; padding: 2px 5vw 14px !important; align-items: stretch !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .veride-mslider::-webkit-scrollbar, .row.clients-style-04::-webkit-scrollbar, .row:has(> .pricing-table-style-09)::-webkit-scrollbar { display: none; }
  .veride-mslider > *, .row.clients-style-04 > * { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; scroll-snap-align: center; margin-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  .row.clients-style-04 > * { border: 1px solid rgba(51,63,65,.12) !important; border-radius: 6px; padding: 26px 8px !important; text-align: center !important; }
  .veride-brand { font-size: 20px !important; white-space: nowrap; }
  .row:has(> .pricing-table-style-09) > .pricing-table-style-09 { display: contents; }
  .row:has(> .pricing-table-style-09) > .pricing-table-style-09 > .row { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; scroll-snap-align: center; border: 1px solid rgba(51,63,65,.14) !important; border-radius: 6px; padding: 20px 14px !important; margin: 0 !important; height: auto !important; align-self: stretch !important; align-content: center; }
  .row:has(> .pricing-table-style-09) > .pricing-table-style-09 > .row > [class*="col-"] { border: 0 !important; padding: 4px 0 !important; text-align: left !important; }
  .row:has(> .pricing-table-style-09) p[style] { white-space: normal !important; }
  /* linksbündig auf dem Smartphone */
  .text-center, .text-sm-center, .text-md-center, .text-lg-start, .text-sm-start { text-align: left !important; }
  .justify-content-center, .justify-content-sm-center, .align-items-center.justify-content-center { justify-content: flex-start !important; }
  .mx-auto { margin-left: 0 !important; }
}
/* ---- Mobiles Menü ---- */
.veride-burger { display: none; }
#veride-menu { display: none; }
@media (max-width: 991px) {
  #veride-menu { display: flex; }
  header .navbar-toggler, header .navbar-collapse { display: none !important; }
  .veride-burger { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 48px; height: 48px; padding: 0; margin: 0; border: 0; background: transparent; cursor: pointer; position: relative; z-index: 1002; }
  .veride-burger span { display: block; height: 2px; width: 26px; background: #333f41; border-radius: 2px; transition: transform .35s cubic-bezier(.65,.05,.36,1), opacity .2s ease, background-color .3s ease; }
  .veride-burger span:nth-child(2) { width: 18px; }
  body.veride-menu-open .veride-burger span { background: #fff !important; }
  body.veride-menu-open .veride-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  body.veride-menu-open .veride-burger span:nth-child(2) { opacity: 0; }
  body.veride-menu-open .veride-burger span:nth-child(3) { width: 26px; transform: translateY(-8px) rotate(-45deg); }
  #veride-menu { position: fixed; inset: 0; z-index: 1001; background: #2b3436; background-image: radial-gradient(80% 60% at 85% 15%, rgba(151,169,143,.30), transparent 70%); flex-direction: column; justify-content: center; padding: 110px 8vw 48px; opacity: 0; visibility: hidden; transform: translateY(-14px); transition: opacity .38s ease, transform .38s ease, visibility .38s; }
  body.veride-menu-open { overflow: hidden; }
  body.veride-menu-open #veride-menu { opacity: 1; visibility: visible; transform: none; }
  #veride-menu a.vm-link { display: block; font-family: var(--alt-font); font-size: 34px; line-height: 1.1; letter-spacing: -.5px; color: #fff; text-decoration: none; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.10); opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .4s ease, color .25s ease; }
  #veride-menu a.vm-link:hover, #veride-menu a.vm-link.active { color: #b7c6ae; }
  body.veride-menu-open #veride-menu a.vm-link { opacity: 1; transform: none; }
  #veride-menu a.vm-link:nth-child(1) { transition-delay: .10s; }
  #veride-menu a.vm-link:nth-child(2) { transition-delay: .16s; }
  #veride-menu a.vm-link:nth-child(3) { transition-delay: .22s; }
  #veride-menu a.vm-link:nth-child(4) { transition-delay: .28s; }
  #veride-menu a.vm-link:nth-child(5) { transition-delay: .34s; }
  #veride-menu a.vm-link:nth-child(6) { transition-delay: .40s; }
  #veride-menu .vm-foot { margin-top: 40px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; opacity: 0; transition: opacity .4s ease .48s; }
  body.veride-menu-open #veride-menu .vm-foot { opacity: 1; }
  #veride-menu .vm-foot a.vm-phone { color: rgba(255,255,255,.7); font-size: 16px; letter-spacing: .5px; text-decoration: none; }
  #veride-menu .vm-foot a.vm-cta { display: inline-block; background: #97a98f; color: #fff; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; padding: 15px 30px; border-radius: 40px; text-decoration: none; }
  #veride-menu .vm-meta { margin-top: 28px; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.35); }
}


@media (max-width: 991px) {
  #veride-menu { justify-content: flex-start; padding: 120px 8vw 40px; overflow-y: auto; }
  #veride-menu .vm-eyebrow { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 26px; opacity: 0; transition: opacity .4s ease .06s; }
  body.veride-menu-open #veride-menu .vm-eyebrow { opacity: 1; }
  #veride-menu a.vm-link { display: flex !important; align-items: center; gap: 18px; font-size: 32px !important; padding: 15px 0 !important; }
  #veride-menu a.vm-link .vm-num { font-family: var(--primary-font); font-size: 11px; letter-spacing: 2px; color: rgba(255,255,255,.32); width: 24px; flex: 0 0 24px; }
  #veride-menu a.vm-link .vm-label { flex: 1; }
  #veride-menu a.vm-link .vm-arrow { font-size: 20px; color: #b7c6ae; opacity: 0; transform: translateX(-10px); transition: opacity .3s ease, transform .3s ease; }
  #veride-menu a.vm-link.active .vm-arrow, #veride-menu a.vm-link:hover .vm-arrow { opacity: 1; transform: none; }
  #veride-menu a.vm-link.active .vm-num { color: #b7c6ae; }
  #veride-menu > a.vm-link:nth-of-type(1) { transition-delay: .10s; }
  #veride-menu > a.vm-link:nth-of-type(2) { transition-delay: .16s; }
  #veride-menu > a.vm-link:nth-of-type(3) { transition-delay: .22s; }
  #veride-menu > a.vm-link:nth-of-type(4) { transition-delay: .28s; }
  #veride-menu > a.vm-link:nth-of-type(5) { transition-delay: .34s; }
  #veride-menu > a.vm-link:nth-of-type(6) { transition-delay: .40s; }
}


@media (max-width: 991px) {
  #veride-menu .vm-close { position: absolute; top: 34px; right: 7vw; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: transparent; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(.9); transition: opacity .35s ease .12s, transform .35s ease .12s, border-color .25s ease, background-color .25s ease; }
  body.veride-menu-open #veride-menu .vm-close { opacity: 1; transform: none; }
  #veride-menu .vm-close:hover { border-color: #b7c6ae; background: rgba(183,198,174,.12); }
  #veride-menu .vm-close::before, #veride-menu .vm-close::after { content: ''; position: absolute; width: 18px; height: 1.5px; background: #fff; border-radius: 2px; }
  #veride-menu .vm-close::before { transform: rotate(45deg); }
  #veride-menu .vm-close::after { transform: rotate(-45deg); }
  body.veride-menu-open .veride-burger { opacity: 0; pointer-events: none; }
}


@media (max-width: 991px) {
  header .col-auto.menu-order, header .navbar > .container > .col-auto { align-items: center !important; }
  .veride-burger { align-self: center !important; margin-block: auto !important; }
  #veride-menu { padding: 96px 8vw 36px !important; }
  #veride-menu .vm-close { top: 24px !important; }
  #veride-menu .vm-eyebrow { margin-bottom: 16px !important; }
  #veride-menu a.vm-link { font-size: 27px !important; padding: 11px 0 !important; }
  #veride-menu .vm-foot { margin-top: 26px !important; gap: 12px !important; }
  #veride-menu .vm-meta { margin-top: 18px !important; }
}

/* veride-hero-sm */
@media (max-width: 767px) {
  #top.page-title-big-typography, :is(section,:where(.vr-sec))#top { padding-top: 88px !important; padding-bottom: 26px !important; min-height: 0 !important; height: auto !important; }
  #top h1, #top.page-title-big-typography h1 { font-size: 27px !important; line-height: 31px !important; margin-bottom: 6px !important; letter-spacing: 0 !important; }
  #top .page-title-extra-small { padding: 0 !important; }
  #top .extra-very-small-screen, #top .small-screen, #top .extra-small-screen { height: auto !important; min-height: 0 !important; }
  #top .fs-20, #top .fs-19, #top p { font-size: 16px !important; line-height: 26px !important; }
  #top .mb-4, #top .mb-5, #top .mb-30px { margin-bottom: 10px !important; }
}

/* veride-hero-center */
@media (max-width: 767px) {
  #top.page-title-big-typography, :is(section,:where(.vr-sec))#top { padding-top: 122px !important; padding-bottom: 26px !important; }
  #top .extra-very-small-screen { min-height: 46px !important; align-items: center !important; justify-content: center !important; }
  #top .page-title-extra-small, #top .page-title-extra-small h1, #top h1 { text-align: center !important; }
  #top .row { width: 100%; }
}

/* veride-icon-fix */
@media (max-width: 767px) {
  .icon-box, .absolute-middle-center, .rounded-circle, .vm-close, .swiper-pagination, .veride-brands-slider > *, .row.clients-style-04 > * { justify-content: center !important; }
  .icon-box.mx-auto, .absolute-middle-center.mx-auto, .rounded-circle.mx-auto { margin-left: auto !important; margin-right: auto !important; }
  .services-box-style-01 .icon-box { left: 50% !important; }
}


/* veride-nomotion */
@media (max-width: 767px) {
  *:not(#veride-menu):not(#veride-menu *):not(.veride-burger):not(.veride-burger *):not(#veride-preloader):not(#veride-preloader *) {
    animation: none !important;
    transition: none !important;
  }
  .animation-rotation, .animation-float { animation: none !important; }
  .veride-mslider, .veride-icon-slider, .veride-price-slider, .row.clients-style-04 { scroll-behavior: auto !important; }
}


body:not(.v-pl-on)::before { content: ""; position: fixed; inset: 0; z-index: 9998; background: #333f41; pointer-events: none; animation: vCoverOff .4s 4s forwards; }
@keyframes vCoverOff { to { opacity: 0; visibility: hidden; } }
#__bundler_err { display: none !important; }

.veride-snav { display: none; }
@media (max-width: 767px) {
  .veride-snav { display: flex; gap: 10px; margin-top: 22px; }
  .veride-snav button { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(51,63,65,.25); background: #fff; color: #333f41; display: flex; align-items: center; justify-content: center; font-size: 18px; padding: 0; cursor: pointer; transition: background .2s, color .2s !important; }
  .veride-snav button:active { background: #333f41; color: #fff; }
}
