/* Visit Vans theme — only what Elementor controls can't express:
   resets, the Contact Form 7 ride form, the testimonial slider, and the home hover states. */

html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; z-index: 100000; width: auto; height: auto; clip: auto; padding: 12px 18px; background: #fff; color: #01448A; }
:focus-visible { outline: 2px solid #78DD77; outline-offset: 3px; }

/* text widgets: one empty line between paragraphs, none after the last */
.elementor-widget-text-editor p { margin: 0 0 25px; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor a, .elementor-widget-heading a { color: inherit; }
.elementor-widget-heading .elementor-heading-title a:hover { color: #78DD77; }

/* header */
.vv-header-call .elementor-heading-title { white-space: nowrap; }
.vv-header-call strong { font-weight: 700; }
.vv-header .hfe-nav-menu__toggle { cursor: pointer; }
.vv-header { overflow-x: clip; }
/* tablet/mobile: inline nav is hidden, so push the phone right and keep the burger right after it */
@media (max-width: 1024px) {
	.vv-header-call { margin-left: auto !important; }
	.vv-header .elementor-widget-vv-offcanvas { margin-left: -16px; }
}
@media (max-width: 1024px) {
	.vv-service br { display: none; }
}

/* sections with a decorative bracket behind the text column */
@media (max-width: 1024px) {
	.vv-bracket { background-image: none !important; }
}

/* inner-page hero: hovering (or tapping) a tab opens the banner on that tab's photo; leaving the hero closes it */
.vv-hero, .e-con.vv-hero { position: relative; isolation: isolate; overflow: clip !important; } /* the open photos zoom in from 105% */
.vv-hero-bg-open { inset: 0 !important; width: 100% !important; height: 100%; opacity: 0; transform: scale(1.05); transition: opacity .8s cubic-bezier(.4, 0, .2, 1), transform 1.6s cubic-bezier(.2, .7, .2, 1); pointer-events: none; }
.vv-hero[data-open="0"] .vv-hero-bg-open--0, .vv-hero[data-open="1"] .vv-hero-bg-open--1, .vv-hero[data-open="2"] .vv-hero-bg-open--2,
.vv-hero[data-open="3"] .vv-hero-bg-open--3, .vv-hero[data-open="4"] .vv-hero-bg-open--4 { opacity: 1; transform: none; }
.vv-hero-title--open { display: none; }
.vv-hero.is-open .vv-hero-title--main { display: none; }
.vv-hero[data-open="0"] .vv-hero-title--open-0, .vv-hero[data-open="1"] .vv-hero-title--open-1, .vv-hero[data-open="2"] .vv-hero-title--open-2,
.vv-hero[data-open="3"] .vv-hero-title--open-3, .vv-hero[data-open="4"] .vv-hero-title--open-4 { display: block; animation: vv-fade-up .6s cubic-bezier(.2, .7, .2, 1) both; }
.vv-hero:not(.is-open) .vv-hero-title--main { animation: vv-fade-up .6s cubic-bezier(.2, .7, .2, 1) both; }
.vv-hero-content { transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.vv-hero-tab { cursor: pointer; }
.vv-hero-tab .elementor-heading-title { transition: opacity .4s ease, transform .4s ease; }
/* while open, the hovered tab's label becomes the title, the other labels dim */
.vv-hero.is-open .vv-hero-tab .elementor-heading-title { opacity: .55; }
.vv-hero[data-open="0"] .vv-hero-tab--0 .elementor-heading-title, .vv-hero[data-open="1"] .vv-hero-tab--1 .elementor-heading-title,
.vv-hero[data-open="2"] .vv-hero-tab--2 .elementor-heading-title, .vv-hero[data-open="3"] .vv-hero-tab--3 .elementor-heading-title,
.vv-hero[data-open="4"] .vv-hero-tab--4 .elementor-heading-title { opacity: 0; transform: translateY(-8px); }
@media (min-width: 1025px) {
	.vv-hero.is-open .vv-hero-content { transform: translateY(110px); }
	/* tabs sit exactly in the five photo columns of the background (positions set by theme.js) */
	.vv-hero.vv-strips-ready .vv-hero-tabs-wrap, .vv-hero.vv-strips-ready .vv-hero-tabs-wrap > .e-con-inner { position: static; }
	.vv-hero.vv-strips-ready .vv-hero-tabs { position: absolute; left: 0; right: 0; bottom: 0; height: 0; padding: 0 !important; }
	/* fixed-height boxes with the label at the top: one- and two-line labels share the same first line */
	.vv-hero.vv-strips-ready .vv-hero-tab { position: absolute !important; bottom: 36px; height: 72px; justify-content: flex-start !important; padding-top: 0 !important; padding-bottom: 0 !important; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
	.vv-hero-bg-open, .vv-hero-content, .vv-hero-tab .elementor-heading-title { transition: none; transform: none; }
	.vv-hero-title--main, .vv-hero-title--open { animation: none !important; }
}

.vv-photo img { width: 100%; aspect-ratio: 711 / 358; object-fit: cover; }
.vv-steps .elementor-widget-heading .elementor-heading-title { line-height: 0.9; }
.vv-brand-bar .elementor-spacer-inner { background: linear-gradient(90deg, #053783 0%, #177577 47%, #091125 81%); }
.vv-partner-logos img { max-height: 82px; width: auto; }
@media (max-width: 767px) {
	.vv-partner-logos img { max-height: 56px; }
}

/* ---------------------------------------------------------------- ride form (Contact Form 7) */
.vv-cf7 .vv-ride-form { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 18px; }
.vv-cf7 .vv-field { position: relative; }
.vv-cf7 .vv-field::before { content: ""; position: absolute; left: 17px; top: 29px; width: 22px; height: 24px; transform: translateY(-50%); background-position: center; background-size: contain; background-repeat: no-repeat; pointer-events: none; z-index: 1; }
.vv-field--pickup::before { background-image: url(../images/icon-field-pickup.png); }
.vv-field--dropoff::before { background-image: url(../images/icon-field-dropoff.png); }
.vv-field--time::before { background-image: url(../images/icon-field-time.png); }
.vv-field--date::before { background-image: url(../images/icon-field-date.png); }
.vv-field--first-name::before { background-image: url(../images/icon-field-first-name.png); }
.vv-field--last-name::before { background-image: url(../images/icon-field-last-name.png); }
.vv-field--email::before { background-image: url(../images/icon-field-email.png); }
.vv-field--phone::before { background-image: url(../images/icon-field-phone.png); }
.vv-cf7 input[type="text"], .vv-cf7 input[type="email"], .vv-cf7 input[type="tel"], .vv-cf7 input[type="date"] {
	box-sizing: border-box; width: 100%; height: 58px; padding: 0 18px 0 48px; border: 1px solid #EEEEEE; border-radius: 0;
	background: rgba(255, 255, 255, 0.05); color: #FFFFFF; font: 400 16px/1.2 "Unbounded", sans-serif; color-scheme: dark;
}
.vv-cf7 input::placeholder { color: #FFFFFF; opacity: 1; }
.vv-cf7 input:focus { outline: none; border-color: #78DD77; background: rgba(255, 255, 255, 0.1); }
.vv-cf7 .vv-consent { grid-column: 1 / -1; margin-top: 7px; color: #FFFFFF; font: 300 10px/13px "Unbounded", sans-serif; }
.vv-cf7 .vv-consent .wpcf7-list-item { margin: 0; }
.vv-cf7 .vv-consent label { display: grid; grid-template-columns: 26px 1fr; gap: 11px; align-items: start; cursor: pointer; }
.vv-cf7 .vv-consent label input[type="checkbox"][name] { appearance: none; box-sizing: border-box; width: 26px; height: 26px; min-height: 0; margin: 0; padding: 0; border: 1px solid #DEDEDE; border-radius: 0; background: transparent; cursor: pointer; }
.vv-cf7 .vv-consent label input[type="checkbox"][name]:checked { background: #78DD77 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%230A1227' stroke-width='2'/%3E%3C/svg%3E") center / 18px no-repeat; border-color: #78DD77; }
.vv-cf7 .vv-submit { grid-column: 1 / -1; margin-top: 32px; }
.vv-cf7 .vv-submit input[type="submit"] {
	min-width: 256px; height: 65px; padding: 0 92px 0 67px; border: 0; border-radius: 40px; cursor: pointer; text-align: left;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath d='M1.5 1.5L8.5 9l-7 7.5' fill='none' stroke='white' stroke-width='2.2'/%3E%3C/svg%3E") right 69px center / 9px 18px no-repeat, linear-gradient(90deg, #0159DD 0%, #0B8975 71%);
	color: #FFFFFF; font: 500 22px/1 "Unbounded", sans-serif; transition: filter .2s;
}
.vv-cf7 input[type="submit"]:hover { filter: brightness(1.12); }
.vv-cf7 .wpcf7-spinner { margin: 0 0 0 16px; }
.vv-cf7 .wpcf7-not-valid-tip { margin-top: 6px; color: #FFB4A8; font: 400 13px/1.3 "Roboto", sans-serif; }
.vv-cf7 .wpcf7-response-output { margin: 24px 0 0 !important; padding: 12px 16px !important; border-radius: 6px; color: #FFFFFF; font: 400 15px/1.4 "Roboto", sans-serif; }
@media (max-width: 767px) {
	.vv-cf7 .vv-ride-form { grid-template-columns: 1fr; }
	.vv-cf7 input[type="submit"] { width: 100%; }
}

/* ---------------------------------------------------------------- CPT widgets (stats, features, logos) */
.vv-empty { padding: 16px; border: 1px dashed rgba(255, 255, 255, .4); color: #FFFFFF; font: 400 14px/1.4 "Roboto", sans-serif; }
.vv-stats { display: grid; grid-template-columns: repeat(var(--vv-cols, 2), minmax(0, 1fr)); column-gap: 19px; row-gap: 18px; }
.vv-stat { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; box-sizing: border-box; min-height: 205px; padding: 19px 20px 18px 24px; border-radius: 8px; background: rgba(255, 255, 255, .1); color: #FFFFFF; }
.vv-stat p { margin: 0; }
.vv-stat__head { display: flex; flex-direction: column; gap: 6px; }
.vv-features { display: grid; grid-template-columns: repeat(var(--vv-cols, 3), minmax(0, 1fr)); row-gap: 110px; }
.vv-feature { box-sizing: border-box; padding: 0 64px; text-align: center; color: #FFFFFF; }
.vv-feature__icon { display: flex; align-items: flex-end; justify-content: center; height: 64px; margin-bottom: 30px; }
.vv-feature__icon img { display: block; width: 60px; max-height: 64px; height: auto; object-fit: contain; }
.vv-feature__title { margin: 0 0 14px; }
.vv-feature__text p { margin: 0; }
.vv-logos--row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 40px; }
.vv-logo { display: inline-flex; align-items: center; justify-content: center; }
.vv-logo img { display: block; max-width: 100%; height: auto; max-height: 83px; object-fit: contain; transition: opacity .2s; }
.vv-logos--slider .vv-logo { height: auto; }

/* ---------------------------------------------------------------- testimonials slider */
.vv-reviews { overflow: hidden; }
.vv-review { margin: 0; }
.vv-review__quote { display: block; width: 50px; height: auto; margin-bottom: 25px; }
.vv-review__text { margin: 0; padding: 0; border: 0; font-style: normal; }
.vv-review__text p { margin: 0; }
.vv-review__person { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.vv-review__avatar img { display: block; width: 57px; height: 57px; border-radius: 50%; object-fit: cover; }
.vv-review__name { flex: 1; }
.vv-review__stars { --vv-star: #F8A21B; position: relative; display: inline-block; font-size: 17px; line-height: 1; letter-spacing: 5px; color: color-mix(in srgb, var(--vv-star) 30%, transparent); }
.vv-review__stars::before { content: "★★★★★"; }
.vv-review__stars::after { content: "★★★★★"; position: absolute; inset: 0; width: calc(var(--vv-rating) / 5 * 100%); overflow: hidden; color: var(--vv-star); }
.vv-reviews__dots.swiper-pagination { position: static; margin-top: 28px; text-align: left; }
.vv-reviews__dots .swiper-pagination-bullet { background: #FFFFFF; opacity: .35; }
.vv-reviews__dots .swiper-pagination-bullet-active { opacity: 1; background: #78DD77; }

.vv-google-pill { transition: background-color .2s; }
.vv-google-pill:hover { background-color: rgba(255, 255, 255, .08); }
.vv-google-pill__text .elementor-heading-title a:hover { color: #FFFFFF; }

/* ---------------------------------------------------------------- NEMT hospital circle */
@media (max-width: 767px) {
	.vv-gradient-circle { border-radius: 24px; background: linear-gradient(119deg, #053783 0%, #177577 47%, #091125 81%) !important; }
	.vv-circle-button { margin: -40px auto 0 !important; }
}

/* ---------------------------------------------------------------- home landing */
.vv-home { position: relative; isolation: isolate; }
.vv-home-bg { inset: 0 !important; width: 100% !important; height: 100%; opacity: 0; transform: scale(1.05); transition: opacity .9s cubic-bezier(.4, 0, .2, 1), transform 1.8s cubic-bezier(.2, .7, .2, 1); pointer-events: none; }
.vv-home-bg--charter, .vv-home[data-active="medicaid"] .vv-home-bg--medicaid, .vv-home[data-active="nemt"] .vv-home-bg--nemt { opacity: 1; transform: none; }
.vv-home[data-active="medicaid"] .vv-home-bg--charter, .vv-home[data-active="nemt"] .vv-home-bg--charter { opacity: 0; transform: scale(1.05); }
.vv-home-call .elementor-heading-title { color: #000000; }
.vv-home-call strong { color: #01448A; font-weight: 700; }
.vv-home-head .vv-blue { color: #004B91; }
.vv-home-head .vv-green { color: #5C8627; }
.vv-home-head--medicaid .vv-blue { color: #01448A; }
.vv-home-head--medicaid .vv-green { color: #6B8A15; }
.vv-home-head--medicaid .vv-indent { display: inline-block; padding-left: 1.6em; }
.vv-home-head--medicaid { display: none; align-self: flex-end; margin-right: 8%; }
.vv-home[data-active="medicaid"] .vv-home-head--charter, .vv-home[data-active="nemt"] .vv-home-head--charter { display: none; }
.vv-home[data-active="medicaid"] .vv-home-head--medicaid, .vv-home[data-active="nemt"] .vv-home-head--medicaid { display: block; }
/* a headline variant fades up each time it is switched in */
.vv-home-head { animation: vv-fade-up .7s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes vv-fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.vv-services { position: relative; }
/* the three service columns fill the hero height (their 2px dividers run top to bottom like the PSD);
   logo bar and headline float above them without blocking the column hover */
.vv-home-top, .vv-home-heads { pointer-events: none; }
.vv-home-top .elementor-widget { pointer-events: auto; }
.vv-nowrap { white-space: nowrap; }
@media (max-width: 1024px) {
	.vv-home-top, .vv-home-heads { position: relative !important; inset: auto !important; }
}
.vv-service { position: relative; transition: background-color .3s; }
/* desktop home is exactly one screen: hero (100dvh - 70px) + 70px footer strip, no page scroll */
@media (min-width: 1025px) {
	html:has(body.home), body.home { height: 100%; overflow: hidden; }
	.vv-home { height: calc(100dvh - 70px); }
	.vv-home-footer { height: 70px; box-sizing: border-box; overflow: hidden; }
	body.admin-bar .vv-home { height: calc(100dvh - 70px - 32px); }
}
.vv-service { min-width: 0; }
.vv-service__body { max-width: 490px; min-width: 0; }
@media (max-width: 1024px) {
	.vv-service__body { max-width: none; } /* stacked full-width columns: text uses the whole width, same space both sides */
	/* no hover state on tablet/mobile: every column shows its full description, titles stay white */
	.vv-service .vv-service__short.elementor-widget { display: none; }
	.vv-service .vv-service__full.elementor-widget { max-height: none; opacity: 1; transition: none; }
	.vv-home .vv-service.is-active .vv-service__title .elementor-heading-title { color: #FFFFFF; }
}
.vv-service__body .elementor-widget, .vv-service__body .elementor-heading-title { overflow-wrap: break-word; }
/* short and long descriptions swap by collapsing/expanding, so the column text glides instead of jumping */
/* (doubled class: Elementor's own .elementor-widget transition rule would otherwise win) */
.vv-service .vv-service__short.elementor-widget, .vv-service .vv-service__full.elementor-widget { overflow: hidden; transition: max-height .6s cubic-bezier(.4, 0, .2, 1), opacity .45s ease; }
.vv-service__short { max-height: 220px; opacity: 1; }
.vv-service__full { max-height: 0; opacity: 0; }
.vv-service.is-active .vv-service__short { max-height: 0; opacity: 0; }
.vv-service.is-active .vv-service__full { max-height: 360px; opacity: 1; }
.vv-service.is-active .vv-service__full.elementor-widget { transition-delay: .1s; }
.vv-service__title .elementor-heading-title, .vv-service__title .elementor-heading-title a { transition: color .4s ease; }
.vv-service.is-active .vv-service__title .elementor-heading-title { color: #78DD77; }
.vv-service__title .elementor-heading-title a:hover { color: #78DD77; }
.vv-side-social .elementor-social-icons-wrapper { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.vv-side-social .elementor-grid-item { margin: 0 !important; }
.vv-side-tab .elementor-button { writing-mode: vertical-rl; transform: rotate(180deg); padding: 20px 11px !important; }
.vv-home-footer a:hover { color: #01448A; }
@media (max-width: 1024px) {
	.vv-home-head--medicaid { align-self: center; margin-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.vv-home-bg, .vv-service .vv-service__short.elementor-widget, .vv-service .vv-service__full.elementor-widget { transition: none; transform: none; }
	.vv-home-head { animation: none; }
}
@media (max-width: 767px) {
	.vv-home { min-height: 100svh; }
	.vv-service { background: rgba(9, 17, 37, 0.35); }
}

/* ---------------------------------------------------------------- desktop/laptop rows (1025px and up)
   Side-by-side rows never wrap on desktop or laptop widths: the columns shrink instead and only stack
   (full width) at the tablet/mobile breakpoints. Rows opt in with the vv-keep-row class. */
@media (min-width: 1025px) {
	.vv-keep-row, .vv-keep-row > .e-con-inner { flex-wrap: nowrap !important; }
	.vv-keep-row > .e-con, .vv-keep-row > .elementor-widget, .vv-keep-row > .e-con-inner > .e-con { min-width: 0; }

	/* numbers: text column takes the rest, stat grid up to 617px */
	.vv-numbers-row > .e-con-inner > .e-con:first-child { flex: 1 1 0 !important; width: auto !important; }
	.vv-numbers-row .vv-stat-grid { flex: 0 1 617px !important; }
	.vv-numbers-row .elementor-widget-heading .elementor-heading-title { font-size: clamp(52px, 5.4vw, 100px); }
	.vv-numbers-row .vv-stat__value { font-size: clamp(44px, 4.3vw, 80px); }

	/* reviews: 40% text, the slider takes the rest up to 707px */
	.vv-reviews-row > .e-con-inner > .e-con:first-child { flex: 0 1 40% !important; }
	.vv-reviews-row > .e-con-inner > .e-con:last-child { flex: 1 1 0 !important; max-width: 707px; width: auto !important; }

	/* feature rows (text + photo): 761px / 711px from the PSD, both shrink together on smaller screens */
	.vv-feature-row > .e-con-inner > .e-con:first-child { flex: 0 1 761px !important; width: auto !important; }
	.vv-feature-row > .e-con-inner > .e-con:last-child { flex: 0 1 711px !important; width: auto !important; }

	/* contact: four items in one line; the address wraps, the email and phone numbers never break */
	.vv-contact-items { gap: clamp(16px, 2vw, 32px) !important; }
	.vv-contact-items > .e-con { flex: 0 1 auto !important; min-width: min-content !important; }
	.vv-contact-items > .e-con > .e-con:last-child { min-width: 0; }
	.vv-contact-items .elementor-heading-title { overflow-wrap: normal; }

	/* Day Programs organisation lists: two columns side by side */
	.vv-orgs { gap: 24px !important; }
	.vv-orgs > .elementor-widget { flex: 1 1 0 !important; }
}
@media (min-width: 1025px) and (max-width: 1300px) {
	.vv-contact-items > .e-con { gap: 14px !important; }
	.vv-contact-items > .e-con > .e-con:first-child { width: 60px !important; min-height: 60px !important; }
	.vv-contact-items .elementor-heading-title { font-size: 15px !important; }
	.vv-contact-items > .e-con:first-child .elementor-widget:last-child .elementor-heading-title { font-size: 26px !important; }
}

/* ---------------------------------------------------------------- scroll entrance animations (assets/js/reveal.js)
   Only active once the script has run (html.vv-anim); "html.vv-anim" also outranks Elementor's own transition rules. */
html.vv-anim .vv-rv { transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform 1s cubic-bezier(.2, .7, .2, 1), clip-path 1.1s cubic-bezier(.65, 0, .35, 1); transition-delay: var(--vv-rv-delay, 0ms); will-change: opacity, transform; }
html.vv-anim .vv-rv--up { opacity: 0; transform: translateY(40px); }
html.vv-anim .vv-rv--right { opacity: 0; transform: translateX(60px); }
html.vv-anim .vv-rv--zoom { opacity: 0; transform: scale(.88); }
html.vv-anim .vv-rv--pop { opacity: 0; transform: scale(.6) rotate(-12deg); transition-delay: .45s; }
/* cards flip down into place, one after another (like the reference) */
html.vv-anim .vv-rv--flip { opacity: 0; transform: perspective(1200px) rotateX(-80deg) translateY(20px); transform-origin: 50% 0; }
/* photos unveil from left to right with a slight zoom-out */
html.vv-anim .vv-rv--photo { clip-path: inset(0 100% 0 0); overflow: hidden; }
html.vv-anim .vv-rv--photo img { transform: scale(1.12); transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
html.vv-anim .vv-rv.is-in { opacity: 1; transform: none; clip-path: inset(0 0 0 0); }
html.vv-anim .vv-rv--photo.is-in img { transform: none; }
/* after the entrance, hover lifts stat and feature cards a little */
html.vv-anim .vv-stat.is-in, html.vv-anim .vv-feature.is-in { transition: opacity .8s ease, transform .35s ease, box-shadow .35s ease; transition-delay: 0ms; }
.vv-stat:hover { transform: translateY(-4px) !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .25); }
@media (max-width: 767px) {
	html.vv-anim .vv-rv--right { transform: translateY(40px); }
}

/* ---------------------------------------------------------------- blog fallback templates */
.vv-archive, .vv-article { max-width: 1100px; margin: 0 auto; padding: 96px 24px 120px; color: #FFFFFF; }
.vv-archive__title, .vv-article__title { margin: 0 0 32px; font: 500 64px/1 "Roboto", sans-serif; letter-spacing: -2px; }
.vv-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 40px 24px; }
.vv-card__thumb img { display: block; width: 100%; height: auto; border-radius: 8px; }
.vv-card__title { margin: 18px 0 8px; font: 500 24px/1.25 "Roboto", sans-serif; }
.vv-card__title a { color: #FFFFFF; text-decoration: none; }
.vv-card__text, .vv-archive__empty { font: 400 16px/25px "Roboto", sans-serif; }
.vv-button { display: inline-block; padding: 18px 48px; border-radius: 40px; background: linear-gradient(90deg, #0159DD 0%, #0B8975 71%); color: #FFFFFF; font: 500 18px/1 "Unbounded", sans-serif; text-decoration: none; }
@media (max-width: 767px) {
	.vv-archive__title, .vv-article__title { font-size: 40px; }
}
