/*
Theme Name:   AutoRide Child
Template:     autoride
Author:       Select Black Car
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  autoride-child
*/

/* The parent theme demo toolbar is not used on this site. */
.ql-bar {
	display: none !important;
}

/* Keep the primary Home III navigation readable over its hero image. */
body.home .theme-page-header-middle .theme-menu-default > ul > li > a,
body.home .theme-page-header-middle .theme-menu-default > ul > li > a > span,
body.home .theme-page-header-middle .theme-menu-default > ul > li > a::before,
body.home .theme-page-header-middle .theme-menu-default > ul > li > a::after,
body.home .theme-page-header-middle .theme-menu-default > ul > li > a > span::before {
	color: #fff !important;
}

html .theme-page-header-middle .theme-menu-default > ul > li > a,
html .theme-page-header-middle .theme-menu-default > ul > li > a > span,
html .theme-page-header-middle .theme-component-button > a {
	text-transform: none !important;
}

html .theme-page .theme-page-header .theme-component-button > a {
	padding: 0 24px;
	border-radius: 999px !important;
}

html .theme-page .theme-page-header .theme-component-button > a,
html .theme-page .theme-page-header .theme-component-button > a:focus,
html .theme-page .theme-page-header .theme-component-button > a:active {
	background-color: #6900BE !important;
	border-color: #6900BE !important;
	color: #fff !important;
}

html .theme-page .theme-page-header .theme-component-button > a:hover {
	background-color: #530098 !important;
	border-color: #530098 !important;
	color: #fff !important;
}

body.home .chbs-main .chbs-button.chbs-button-widget-submit,
body.home .chbs-main .chbs-button.chbs-button-widget-submit:hover,
body.home .chbs-main .chbs-button.chbs-button-widget-submit:focus {
	background-color: #6900BE !important;
	border-color: #6900BE !important;
}

.chbs-main .chbs-button.chbs-button-style-1,
.chbs-main .chbs-button.chbs-button-style-2,
.chbs-main .chbs-button.chbs-button-style-3 {
	border-radius: 999px !important;
	padding: 0 24px !important;
	font-size: 13px !important;
}

body.home #SR7_2_1-8-8 .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
	border-radius: 999px !important;
	font-weight: 700 !important;
}

.chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li.ui-tabs-active > a {
	background-color: var(--sbc-ink) !important;
	color: #fff !important;
}

/* Keep the AutoRide header's middle row transparent across the site. */
html .theme-page .theme-page-header .theme-page-header-middle {
	background: transparent !important;
}

/* Use a high-contrast black background for the contact information strip. */
html .theme-page .theme-page-header .theme-page-header-top,
html .theme-page .theme-page-header .theme-page-header-top > .theme-main,
html .theme-page .theme-page-header .theme-page-header-top > .theme-main > .vc_row {
	background-color: #000 !important;
}

html .theme-page .theme-page-header .theme-page-header-top,
html .theme-page .theme-page-header .theme-page-header-top * {
	color: #fff !important;
}

/* Keep Home III's nested navigation wrappers transparent over the hero image. */
body.home .theme-page .theme-page-header .theme-page-header-middle > .theme-main,
body.home .theme-page .theme-page-header .theme-page-header-middle .vc_row,
body.home .theme-page .theme-page-header .theme-page-header-middle .vc_column-inner,
body.home .theme-page .theme-page-header .theme-page-header-middle .wpb_wrapper {
	background: transparent !important;
}

/* Let the Home III slide backgrounds extend up behind the navigation row. */
body.home .theme-page .theme-page-header {
	position: relative;
	z-index: 20;
}

body.home #SR7_2_1,
body.home #SR7_2_1 sr7-content {
	overflow: visible !important;
}

body.home #SR7_2_1 sr7-slide {
	contain: layout style !important;
	overflow: visible !important;
}

body.home #SR7_2_1 sr7-bg[data-subtype="slidebg"] {
	position: relative !important;
	height: calc(100% + 50px) !important;
	top: -50px !important;
	overflow: visible !important;
}

body.home #SR7_2_1 sr7-bg[data-subtype="slidebg"] > canvas {
	height: 100% !important;
	top: 0 !important;
}

body.home #SR7_2_1 sr7-bg[data-subtype="slidebg"]::after {
	background: linear-gradient(180deg, rgba(14, 20, 25, 0.16) 0%, rgba(14, 20, 25, 0.40) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 20;
}

/* Preserve the AutoRide notice design while using current WooCommerce notices. */
.woocommerce-info.autoride-woocommerce-notice {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-info.autoride-woocommerce-notice::before {
	display: none !important;
}

.woocommerce-info.autoride-woocommerce-notice .theme-component-notice {
	margin: 0;
}

/* Keep the local booking map attractive when Google Maps credentials are absent. */
.chbs-google-map #chbs_google_map {
	background-image:
		linear-gradient(rgba(20, 27, 37, 0.16), rgba(20, 27, 37, 0.16)),
		url("assets/pexels/car-road.jpg");
	background-position: center;
	background-size: cover;
}

.chbs-google-map #chbs_google_map > div:first-child {
	background-color: transparent !important;
}

/* An uncredentialed Google Maps API draws a grey warning instead of tiles. */
#chbs_google_map:has(div[style*="max-width: 375px"][style*="background-color: white"]) .gm-style {
	display: none !important;
}

#chbs_google_map div[style*="max-width: 375px"][style*="background-color: white"] {
	display: none !important;
}

/* The contact page uses AutoRide's map component, which also needs a local
   image fallback when its Google Maps key is empty. */
.theme-component-google-map.theme-component-google-map-type-1 .theme-component-google-map-map {
	background-image:
		linear-gradient(rgba(20, 27, 37, 0.16), rgba(20, 27, 37, 0.16)),
		url("assets/pexels/car-road.jpg");
	background-position: center;
	background-size: cover;
}

.theme-component-google-map-map:has(div[style*="max-width: 375px"][style*="background-color: white"]) .gm-style {
	display: none !important;
}

.theme-component-google-map-map div[style*="max-width: 375px"][style*="background-color: white"] {
	display: none !important;
}

.theme-component-google-map-map:has(div[style*="max-width: 375px"][style*="background-color: white"]) {
	background: transparent !important;
	position: relative;
}

.theme-component-google-map-map:has(div[style*="max-width: 375px"][style*="background-color: white"])::before {
	background-image:
		linear-gradient(rgba(20, 27, 37, 0.16), rgba(20, 27, 37, 0.16)),
		url("assets/pexels/car-road.jpg");
	background-position: center;
	background-size: cover;
	content: "";
	inset: 0;
	position: absolute;
	z-index: 10;
}

.theme-component-google-map-map:has(div[style*="max-width: 375px"][style*="background-color: white"]) .theme-component-google-map-map-box {
	position: absolute !important;
	z-index: 11;
}

/* The reference Home III hero hides the one-way-only selector. Keep its
   default value in the booking form while matching the compact field stack. */
#SR7_2_1-8-8 .chbs-form-field-transfer-type {
	display: none !important;
}

/* Keep the imported Home III booking layer and utility header inside phones. */
@media only screen and (max-width: 767px) {
	body.home #SR7_2_1 sr7-bg[data-subtype="slidebg"] {
		height: calc(100% + 110px) !important;
		top: -110px !important;
	}

	html,
	body {
		overflow-x: hidden;
	}

	.theme-page-header-top > .theme-main {
		box-sizing: border-box;
		padding-right: 16px;
		padding-left: 16px;
	}

	.theme-page-header-top .theme-component-meta-icon-list-style-1 {
		display: flex;
		float: none;
		flex-wrap: wrap;
		gap: 7px 12px;
		width: 100%;
	}

	.theme-page-header-top .theme-component-meta-icon-list-style-1 > li {
		margin: 0;
	}

	.theme-page-header-top .theme-component-meta-icon-list-style-1 > li:last-child,
	.theme-page-header-top .theme-component-social-profile {
		display: none !important;
	}

	.theme-page-header-top .vc_column_container + .vc_column_container > div {
		left: 0;
		margin-top: 4px;
		position: static;
	}

	#SR7_2_1-8-8 {
		box-sizing: border-box !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: min(300px, calc(100vw - 32px)) !important;
		max-width: 300px !important;
	}

	#SR7_2_1-8-9 {
		clip: rect(1px, 1px, 1px, 1px) !important;
		clip-path: inset(50%) !important;
		height: 1px !important;
		left: 0 !important;
		max-width: 1px !important;
		overflow: hidden !important;
		position: absolute !important;
		white-space: nowrap !important;
		width: 1px !important;
	}

	#SR7_2_1-8-10 {
		display: none !important;
	}

	#SR7_2_1-8-8 .chbs-main {
		box-sizing: border-box;
		margin: 0 auto;
		max-width: none !important;
		width: 100% !important;
	}

	#SR7_2_1-8-8 .chbs-tab,
	#SR7_2_1-8-8 .chbs-tab > ul {
		box-sizing: border-box;
		width: 100% !important;
	}

	#SR7_2_1-8-8 .chbs-tab > ul > li {
		box-sizing: border-box;
		width: 33.333% !important;
	}
}

/* Share one set of three rows between the CBS vehicle attribute columns so
   all tiles in the two-column layout get the same height. */
html .chbs-main:not(.chbs-width-480):not(.chbs-width-300) .chbs-vehicle .chbs-vehicle-content > .chbs-vehicle-content-description > div > .chbs-vehicle-content-description-attribute {
	grid-template-rows: repeat(3, 1fr);
}

html .chbs-main:not(.chbs-width-480):not(.chbs-width-300) .chbs-vehicle .chbs-vehicle-content > .chbs-vehicle-content-description > div > .chbs-vehicle-content-description-attribute > ul {
	display: grid;
	grid-row: 1 / span 3;
	grid-template-rows: subgrid;
}

/* Homepage "What we do" services carousel. */
.wpb_row.sbc-wwd-row {
	margin-bottom: 0;
	padding-bottom: 0;
}

.sbc-wwd-row .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.sbc-wwd {
	background-color: #efe6fa;
	overflow: hidden;
}

.sbc-wwd__inner {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1268px;
	padding: 96px 24px 64px;
}

.sbc-wwd__head {
	margin: 0 auto;
	max-width: 820px;
	text-align: center;
}

.sbc-wwd__eyebrow {
	color: #6900BE;
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.sbc-wwd__title {
	color: #2c3e50;
	font-family: Lato, sans-serif;
	font-size: clamp(38px, 4.2vw, 56px);
	font-weight: 300;
	letter-spacing: -0.01em;
	line-height: 1.12;
	margin: 0;
}

.sbc-wwd__subtitle {
	color: #46505f;
	font-size: 20px;
	line-height: 1.5;
	margin: 14px 0 0;
}

.sbc-wwd__viewport {
	margin-top: 56px;
}

.sbc-wwd__track {
	display: flex;
	gap: 28px;
	list-style: none;
	margin: 0;
	overflow-x: auto;
	padding: 0;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.sbc-wwd__track::-webkit-scrollbar {
	display: none;
}

html .sbc-wwd .sbc-wwd__track > .sbc-wwd__slide {
	display: block;
	flex: 0 0 calc((100% - 28px) / 2);
	list-style: none;
	margin: 0 !important;
	min-width: 0;
	padding: 0 !important;
	scroll-snap-align: start;
}

html .sbc-wwd .sbc-wwd__track > .sbc-wwd__slide::before,
html .sbc-wwd .sbc-wwd__track > .sbc-wwd__slide::after {
	content: none !important;
	display: none !important;
}

.sbc-wwd__card {
	border-radius: 16px;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
}

.sbc-wwd__card:focus-visible {
	outline: 2px solid #6900BE;
	outline-offset: 6px;
}

.sbc-wwd__media {
	background: rgba(44, 62, 80, 0.08);
	border-radius: 16px;
	display: block;
	overflow: hidden;
}

.sbc-wwd__media img {
	aspect-ratio: 646 / 312;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
	width: 100%;
}

.sbc-wwd__card:hover .sbc-wwd__media img {
	transform: scale(1.04);
}

.sbc-wwd__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-top: 26px;
}

.sbc-wwd__category {
	color: #6900BE;
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sbc-wwd__card-title {
	color: #1f2733;
	font-family: Lato, sans-serif;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.25;
	margin: 10px 0 0;
	transition: color 0.2s ease;
}

.sbc-wwd__card:hover .sbc-wwd__card-title,
.sbc-wwd__card:focus-visible .sbc-wwd__card-title {
	color: #6900BE;
}

.sbc-wwd__text {
	color: #4b5563;
	display: block;
	font-size: 16px;
	line-height: 1.65;
	margin: 12px 0 24px;
	max-width: 54ch;
}

.sbc-wwd__link {
	align-items: center;
	align-self: flex-start;
	background: #fff;
	border: 1px solid #6900BE;
	border-radius: 999px;
	color: #6900BE;
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	height: 41px;
	justify-content: center;
	line-height: 1;
	margin-top: auto;
	padding: 0 24px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.sbc-wwd__card:hover .sbc-wwd__link,
.sbc-wwd__card:focus-visible .sbc-wwd__link {
	background: #6900BE;
	color: #fff;
}

.sbc-wwd__nav {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 44px;
}

.sbc-wwd__arrow {
	align-items: center;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(105, 0, 190, 0.28);
	border-radius: 50%;
	color: #6900BE;
	cursor: pointer;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	padding: 0;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	width: 48px;
}

.sbc-wwd__arrow:hover:not(:disabled) {
	background: #6900BE;
	border-color: #6900BE;
	color: #fff;
}

.sbc-wwd__arrow:disabled {
	cursor: default;
	opacity: 0.35;
}

.sbc-wwd__arrow:focus-visible {
	outline: 2px solid #6900BE;
	outline-offset: 2px;
}

@media (max-width: 900px) {
	.sbc-wwd__inner {
		padding: 64px 20px 48px;
	}

	.sbc-wwd__title {
		font-size: 36px;
	}

	.sbc-wwd__subtitle {
		font-size: 17px;
	}

	.sbc-wwd__viewport {
		margin-top: 36px;
	}

	html .sbc-wwd .sbc-wwd__track > .sbc-wwd__slide {
		flex-basis: 100%;
	}

	.sbc-wwd__card-title {
		font-size: 23px;
	}

	.sbc-wwd__nav {
		margin-top: 32px;
	}
}

.wpb_row.sbc-reserve-row {
	margin-bottom: 0;
	padding-bottom: 0;
}

.sbc-reserve-row .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.sbc-reserve {
	background: #fff;
	color: #46505f;
}

.sbc-reserve__service {
	display: flex;
	flex-direction: column;
}

.sbc-reserve__inner {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1268px;
	padding: 96px 24px 88px;
}

.sbc-reserve__top {
	column-gap: 40px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.sbc-reserve__title {
	color: #6900BE;
	font-family: Lato, sans-serif;
	font-size: clamp(36px, 3.4vw, 42px);
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0;
}

.sbc-reserve__service-title {
	color: #1f2733;
	font-family: Lato, sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.35;
	margin: 0;
}

.sbc-reserve__service-title a {
	color: inherit;
	text-decoration: none !important;
}

.sbc-reserve__service-title a:hover,
.sbc-reserve__service-title a:focus-visible {
	color: #6900BE;
}

.sbc-reserve__service-title a:focus-visible {
	outline: 2px solid #6900BE;
	outline-offset: 4px;
}

.sbc-reserve__service-title sup {
	color: #6900BE;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-left: 7px;
	vertical-align: super;
}

.sbc-reserve__text {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.65;
	margin: 12px 0 auto;
}

.sbc-reserve__book {
	align-self: flex-start;
	color: #6900BE;
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	margin-top: 22px;
	text-decoration: none !important;
}

.sbc-reserve__book:hover,
.sbc-reserve__book:focus-visible {
	color: #530098;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

.sbc-reserve__gallery {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 64px;
}

.sbc-reserve__gallery img {
	display: block;
	height: auto;
	width: 100%;
}

.sbc-reserve__image--offset {
	margin-top: 40px;
}

@media (max-width: 1024px) {
	.sbc-reserve__title {
		font-size: 36px;
	}

	.sbc-reserve__text {
		font-size: 16.5px;
	}
}

@media (max-width: 960px) {
	.sbc-reserve__inner {
		padding: 64px 20px;
	}

	.sbc-reserve__top {
		grid-template-columns: 1fr;
		row-gap: 44px;
	}

	.sbc-reserve__title {
		font-size: 34px;
		max-width: 520px;
	}

	.sbc-reserve__text {
		font-size: 17px;
	}

	.sbc-reserve__gallery {
		gap: 16px;
		grid-template-columns: 1fr;
		margin-top: 44px;
	}

	.sbc-reserve__image--offset {
		margin-top: 0;
	}
}

@media (max-width: 480px) {
	.sbc-reserve__title {
		font-size: 30px;
	}
}

/* Homepage booking calls to action below the fleet. */
.wpb_row.sbc-book-row {
	margin-bottom: 0;
	padding-bottom: 0;
}

.sbc-book-row .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.sbc-book {
	background: #fff;
	color: #46505f;
}

.sbc-book__inner {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1268px;
	padding: 96px 24px;
}

.sbc-book__head {
	margin: 0 auto;
	max-width: 820px;
	text-align: center;
}

.sbc-book__eyebrow {
	color: #6900BE;
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.sbc-book__title {
	color: #2c3e50;
	font-family: Lato, sans-serif;
	font-size: clamp(34px, 3.6vw, 44px);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 0;
}

.sbc-book__cards {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
	margin-top: 56px;
}

.sbc-book__card {
	align-items: center;
	background: #f8f4fc;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	min-height: 390px;
	padding: 56px 48px 48px;
	text-align: center;
}

.sbc-book__icon {
	color: #6900BE;
	display: block;
	line-height: 0;
	margin-bottom: 24px;
}

.sbc-book__icon svg {
	display: block;
	height: 56px;
	width: 56px;
}

.sbc-book__card-title {
	color: #1f2733;
	font-family: Lato, sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}

.sbc-book__text {
	font-size: 17px;
	line-height: 1.65;
	margin: 14px 0 28px;
	max-width: 46ch;
}

.sbc-book__btn {
	align-items: center;
	background: #fff;
	border: 1px solid #6900BE;
	border-radius: 999px;
	color: #6900BE;
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	margin-top: auto;
	padding: 0 24px;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sbc-book__btn:hover,
.sbc-book__btn:focus-visible {
	background: #6900BE;
	border-color: #6900BE;
	color: #fff;
}

.sbc-book__btn:focus-visible {
	outline: 2px solid #6900BE;
	outline-offset: 3px;
}

@media (max-width: 960px) {
	.sbc-book__inner {
		padding: 64px 20px;
	}

	.sbc-book__title {
		font-size: 34px;
	}

	.sbc-book__cards {
		gap: 24px;
		grid-template-columns: 1fr;
		margin-top: 40px;
	}

	.sbc-book__card {
		min-height: 0;
		padding: 44px 28px 40px;
	}

	.sbc-book__card-title {
		font-size: 22px;
	}

	.sbc-book__icon svg {
		height: 48px;
		width: 48px;
	}
}

.wpb_row.sbc-quote-row {
	margin-bottom: 0;
	padding-bottom: 0;
}

.sbc-quote-row .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.sbc-quote {
	background-image: linear-gradient(rgba(10, 10, 12, 0.72), rgba(10, 10, 12, 0.72)), url("assets/photos/quote-banner.webp");
	background-position: 50% 50%;
	background-size: cover;
	color: #fff;
}

.sbc-quote__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	max-width: 760px;
	padding: 168px 24px;
	text-align: center;
}

.sbc-quote__icon {
	color: #fff;
	line-height: 0;
	margin-bottom: 26px;
}

.sbc-quote__icon svg {
	display: block;
	height: 44px;
	width: 44px;
}

.sbc-quote__title {
	color: #fff;
	font-family: Lato, sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.sbc-quote__text {
	color: rgba(255, 255, 255, 0.94);
	font-size: 17px;
	line-height: 1.7;
	margin: 22px 0 32px;
	max-width: 620px;
}

.sbc-quote__btn {
	background: #fff;
	border: 1px solid #fff;
	color: #1f2733;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 15px 30px;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sbc-quote__btn:hover,
.sbc-quote__btn:focus-visible {
	background: #6900BE;
	border-color: #6900BE;
	color: #fff;
}

.sbc-quote__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 960px) {
	.sbc-quote__inner {
		padding: 120px 20px;
	}

	.sbc-quote__title {
		font-size: 22px;
	}

	.sbc-quote__text {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.sbc-quote__inner {
		padding: 88px 20px;
	}

	.sbc-quote__title {
		font-size: 20px;
	}

	.sbc-quote__icon svg {
		height: 40px;
		width: 40px;
	}
}

/* Related service pages linked from the homepage. */
.sbc-service {
	color: var(--sbc-muted);
}

.sbc-service__hero {
	align-items: center;
	display: grid;
	gap: clamp(40px, 5vw, 72px);
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
}

.sbc-service__intro {
	max-width: 560px;
}

.sbc-service__eyebrow {
	color: var(--sbc-purple);
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sbc-service__title {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: clamp(44px, 4.6vw, 64px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 0.98;
	margin: 16px 0 0;
}

.sbc-service__lead {
	color: var(--sbc-muted);
	font-size: 18px;
	line-height: 1.65;
	margin: 22px 0 0;
	max-width: 520px;
}

.sbc-service__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.sbc-service__btn {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(14, 14, 16, 0.2);
	border-radius: 999px;
	color: var(--sbc-ink);
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	padding: 0 24px;
	text-decoration: none !important;
	text-transform: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sbc-service__btn:hover {
	background: var(--sbc-ink);
	border-color: var(--sbc-ink);
	color: #fff;
}

.sbc-service__btn--solid,
.sbc-service__btn--solid:hover {
	background: var(--sbc-ink);
	border-color: var(--sbc-ink);
	color: #fff;
}

.sbc-service__btn--solid:hover {
	background: var(--sbc-purple);
	border-color: var(--sbc-purple);
}

.sbc-service__btn--light,
.sbc-service__btn--light:hover {
	background: #fff;
	border-color: #fff;
	color: var(--sbc-ink);
}

.sbc-service__btn--light:hover {
	background: var(--sbc-purple);
	border-color: var(--sbc-purple);
	color: #fff;
}

.sbc-service__btn--ghost {
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

.sbc-service__btn--ghost:hover {
	background: #fff;
	border-color: #fff;
	color: var(--sbc-ink);
}

.sbc-service__media {
	border-radius: 20px;
	margin: 0;
	overflow: hidden;
}

.sbc-service__media img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.sbc-service__section {
	margin-top: 88px;
}

.sbc-service__section-head {
	margin-bottom: 28px;
}

.sbc-service__heading {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: clamp(32px, 3.2vw, 42px);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.05;
	margin: 0;
}

.sbc-service__note {
	color: var(--sbc-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 10px 0 0;
}

html .sbc-service ul.sbc-service__includes,
html .sbc-service ol.sbc-service__steps {
	display: grid;
	gap: 0 56px;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

html .sbc-service ul.sbc-service__includes {
	grid-template-columns: 1fr 1fr;
}

html .sbc-service ul.sbc-service__includes > li,
html .sbc-service ol.sbc-service__steps > li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

html .sbc-service ul.sbc-service__includes > li::before,
html .sbc-service ul.sbc-service__includes > li::after,
html .sbc-service ol.sbc-service__steps > li::before,
html .sbc-service ol.sbc-service__steps > li::after {
	content: none !important;
	display: none !important;
}

.sbc-service__includes > li {
	align-items: flex-start;
	border-bottom: 1px solid var(--sbc-line);
	display: flex;
	font-size: 16.5px;
	gap: 14px;
	line-height: 1.55;
	padding: 20px 0;
}

.sbc-service__includes svg {
	color: var(--sbc-purple);
	flex: none;
	margin-top: 3px;
}

html .sbc-service ol.sbc-service__steps {
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
}

html .sbc-service ol.sbc-service__steps > li {
	background: var(--sbc-paper);
	border-radius: 18px;
	padding: 30px 28px !important;
}

.sbc-service__step-number {
	color: var(--sbc-purple);
	display: block;
	font-family: var(--sbc-serif);
	font-size: 38px;
	line-height: 1;
}

.sbc-service__step-title {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.15;
	margin: 18px 0 8px;
}

.sbc-service__step-text {
	color: var(--sbc-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.sbc-service__section--faq {
	display: grid;
	gap: 32px 72px;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.sbc-service__section--faq .sbc-service__section-head {
	margin-bottom: 0;
}

.sbc-service__faqs {
	border-top: 1px solid var(--sbc-line);
}

.sbc-service__faq {
	border-bottom: 1px solid var(--sbc-line);
}

.sbc-service__faq summary {
	color: var(--sbc-ink);
	cursor: pointer;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
	padding: 22px 44px 22px 0;
	position: relative;
}

.sbc-service__faq summary::-webkit-details-marker {
	display: none;
}

.sbc-service__faq summary::after {
	color: var(--sbc-purple);
	content: "+";
	font-family: var(--sbc-serif);
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	position: absolute;
	right: 4px;
	top: 18px;
}

.sbc-service__faq[open] summary::after {
	content: "−";
}

.sbc-service__faq p {
	color: var(--sbc-muted);
	font-size: 15.5px;
	line-height: 1.65;
	margin: 0;
	padding: 0 44px 24px 0;
}

.sbc-service__cta {
	align-items: center;
	background:
		radial-gradient(120% 180% at 88% 0%, rgba(105, 0, 190, 0.42), transparent 62%),
		var(--sbc-ink);
	border-radius: 22px;
	display: flex;
	gap: 32px;
	justify-content: space-between;
	margin-top: 88px;
	padding: 56px;
}

.sbc-service__cta-eyebrow {
	color: rgba(255, 255, 255, 0.55);
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sbc-service__cta-text {
	color: #fff;
	font-family: var(--sbc-serif);
	font-size: clamp(30px, 3vw, 40px);
	font-weight: 400;
	line-height: 1.1;
	margin: 14px 0 0;
}

.sbc-service__related {
	align-items: center;
	border-top: 1px solid var(--sbc-line);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 44px;
	padding-top: 28px;
}

.sbc-service__related-label {
	color: var(--sbc-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-right: 8px;
	text-transform: uppercase;
}

.sbc-service__related a {
	border: 1px solid var(--sbc-line);
	border-radius: 999px;
	color: var(--sbc-ink);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	padding: 0 24px;
	text-decoration: none !important;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.sbc-service__related a:hover {
	border-color: var(--sbc-purple);
	color: var(--sbc-purple);
}

@media (max-width: 1024px) {
	.sbc-service__hero {
		gap: 36px;
		grid-template-columns: 1fr;
	}

	.sbc-service__intro {
		max-width: 640px;
	}

	.sbc-service__media img {
		aspect-ratio: 16 / 9;
	}

	.sbc-service__section--faq {
		gap: 24px;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.sbc-service__title {
		font-size: 42px;
	}

	.sbc-service__lead {
		font-size: 17px;
	}

	.sbc-service__section {
		margin-top: 64px;
	}

	html .sbc-service ul.sbc-service__includes,
	html .sbc-service ol.sbc-service__steps {
		grid-template-columns: 1fr;
	}

	.sbc-service__cta {
		align-items: flex-start;
		flex-direction: column;
		padding: 32px 28px;
	}

	.sbc-service__cta .sbc-service__btn {
		width: 100%;
	}

	.sbc-service__related-label {
		flex: 0 0 100%;
		margin: 0 0 2px;
	}
}

/* Site footer. */
.sbc-footer {
	background: #0e0e10;
	color: rgba(255, 255, 255, 0.62);
	margin: 0;
}

.sbc-footer__inner {
	display: grid;
	gap: 48px;
	grid-template-columns: 1.7fr repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1200px;
	padding: 76px 30px 58px;
}

.sbc-footer__brand {
	max-width: 320px;
}

.sbc-footer__logo {
	display: block;
	height: 40px;
	margin: 6px 0 22px;
	width: auto;
}

/* The parent theme indents images inside paragraphs; keep the logo level with the column headings. */
.sbc-footer__brand > p:first-child {
	margin: 0;
	padding: 0;
}

.sbc-footer__brand p > img.sbc-footer__logo {
	margin: 6px 0 22px;
}

.sbc-footer__blurb {
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 20px;
}

.sbc-footer__phone {
	color: #fff;
	display: inline-block;
	font-family: "Instrument Serif", Georgia, serif;
	font-size: 25px;
	line-height: 1;
	text-decoration: none;
}

.sbc-footer__phone:hover,
.sbc-footer__phone:focus-visible {
	color: #c9a3f2;
}

.sbc-footer__hours {
	color: rgba(255, 255, 255, 0.4);
	font-size: 12.5px;
	line-height: 1.6;
	margin: 12px 0 0;
}

.sbc-footer__col {
	min-width: 0;
}

html body .sbc-footer__title {
	color: #fff;
	font-family: Lato, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.3;
	margin: 6px 0 20px;
	text-transform: uppercase;
}

html body .sbc-footer__col > a {
	color: rgba(255, 255, 255, 0.62);
	display: block;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 12px;
	text-decoration: none;
}

html body .sbc-footer__col > a:hover,
html body .sbc-footer__col > a:focus-visible {
	color: #fff;
}

.sbc-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1200px;
	padding: 24px 30px;
}

.sbc-footer__legal {
	color: rgba(255, 255, 255, 0.4);
	font-size: 12px;
	margin: 0;
}

.sbc-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sbc-footer__social a {
	color: rgba(255, 255, 255, 0.5);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.sbc-footer__social a:hover,
.sbc-footer__social a:focus-visible {
	color: #fff;
}

@media (max-width: 960px) {
	.sbc-footer__inner {
		gap: 40px 32px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 60px 24px 40px;
	}

	.sbc-footer__brand {
		grid-column: 1 / -1;
		max-width: 420px;
	}

	.sbc-footer__bottom {
		padding: 24px;
	}
}

@media (max-width: 560px) {
	.sbc-footer__inner {
		gap: 34px;
		grid-template-columns: 1fr;
		padding: 52px 20px 36px;
	}

	.sbc-footer__bottom {
		flex-direction: column;
		padding: 22px 20px;
	}
}

/* Legal and help pages. */
.sbc-legal {
	max-width: 820px;
}

.sbc-legal p,
.sbc-legal li {
	color: #46505f;
	font-size: 17px;
	line-height: 1.75;
}

.sbc-legal p {
	margin: 0 0 20px;
}

html body .sbc-legal h2 {
	color: #2c3e50;
	font-family: Lato, sans-serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.3;
	margin: 40px 0 14px;
}

.sbc-legal ul {
	margin: 0 0 24px;
	padding-left: 22px;
}

.sbc-legal li {
	margin-bottom: 8px;
}

.sbc-legal a {
	color: #6900BE;
}

.sbc-legal a:hover,
.sbc-legal a:focus-visible {
	color: #530098;
	text-decoration: underline;
}

/* California catalogue pages: service areas, airports, routes, destinations, pricing. */
.sbc-ca {
	color: var(--sbc-muted);
	font-size: 16px;
	line-height: 1.7;
}

.sbc-ca__lead {
	color: var(--sbc-muted);
	font-size: 18px;
	line-height: 1.65;
	margin: 0;
	max-width: 640px;
}

.sbc-ca__section {
	margin-top: 64px;
}

.sbc-ca__section:first-of-type {
	margin-top: 48px;
}

.sbc-ca__heading {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: clamp(28px, 2.8vw, 36px);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 0 0 8px;
}

.sbc-ca__heading-count {
	color: #a2a2a8;
	font-family: Lato, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-left: 10px;
	vertical-align: middle;
}

.sbc-ca__section-lead {
	color: var(--sbc-muted);
	font-size: 15px;
	line-height: 1.65;
	margin: 0 0 22px;
	max-width: 720px;
}

.sbc-ca__section > p {
	color: var(--sbc-muted);
	font-size: 14.5px;
	line-height: 1.7;
	margin: 0 0 14px;
	max-width: 860px;
}

.sbc-ca__note {
	background: var(--sbc-paper);
	border: 1px solid var(--sbc-line);
	border-radius: 14px;
	color: var(--sbc-muted);
	font-size: 13px;
	line-height: 1.7;
	margin: 28px 0 0;
	padding: 16px 20px;
}

.sbc-ca__note a,
.sbc-ca__filter-note a {
	color: var(--sbc-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sbc-ca__note a:hover,
.sbc-ca__filter-note a:hover {
	color: var(--sbc-purple);
}

.sbc-ca__filter-note {
	align-items: baseline;
	color: var(--sbc-muted);
	display: flex;
	font-size: 14px;
	gap: 16px;
	justify-content: space-between;
	margin: 18px 0 0;
}

.sbc-ca__filter-note a {
	flex: none;
	font-size: 14px;
}

.sbc-ca__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.sbc-ca__chip {
	background: #fff;
	border: 1px solid var(--sbc-line);
	border-radius: 999px;
	color: var(--sbc-ink);
	display: inline-block;
	font-size: 12px;
	line-height: 1.2;
	padding: 7px 12px;
	text-decoration: none;
	white-space: nowrap;
}

.sbc-ca__chips--links {
	margin: 20px 0 0;
}

a.sbc-ca__chip {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	padding: 0 24px;
	text-transform: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

a.sbc-ca__chip:hover,
a.sbc-ca__chip:focus-visible {
	background: var(--sbc-ink);
	border-color: var(--sbc-ink);
	color: #fff;
}

a.sbc-ca__chip.is-active {
	background: var(--sbc-ink);
	border-color: var(--sbc-ink);
	color: #fff;
}

.sbc-ca-areas {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 22px;
}

.sbc-ca-area {
	background: #fff;
	border: 1px solid var(--sbc-line);
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	padding: 26px 24px 20px;
}

.sbc-ca-area .sbc-ca__chip {
	background: var(--sbc-paper);
	border-color: transparent;
	color: var(--sbc-muted);
	font-size: 11.5px;
	padding: 5px 10px;
}

/* The meta line pins itself to the card foot, so the tags need their own
   clearance or the divider lands on top of them in the tallest card. */
.sbc-ca-area .sbc-ca__chips {
	margin-bottom: 20px;
}

.sbc-ca-area__name {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 8px;
}

.sbc-ca-area__text {
	color: var(--sbc-muted);
	font-size: 13.5px;
	line-height: 1.6;
	margin: 0;
}

.sbc-ca-area__meta {
	align-items: center;
	border-top: 1px solid var(--sbc-line);
	color: #8a8a92;
	display: flex;
	font-size: 12px;
	gap: 12px;
	justify-content: space-between;
	margin: auto 0 0;
	padding-top: 14px;
}

.sbc-ca-area__meta a {
	background: #fff;
	border: 1px solid var(--sbc-purple);
	border-radius: 999px;
	color: var(--sbc-purple);
	flex: none;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.sbc-ca-area__meta a:hover,
.sbc-ca-area__meta a:focus-visible {
	background: var(--sbc-purple);
	color: #fff;
}

.sbc-ca-toggle {
	background: #f1eee7;
	border-radius: 12px;
	display: flex;
	gap: 4px;
	margin: 28px 0 0;
	overflow-x: auto;
	padding: 4px;
	-webkit-overflow-scrolling: touch;
}

.sbc-ca-toggle--wrap {
	flex-wrap: wrap;
	overflow: visible;
}

.sbc-ca-toggle a {
	border-radius: 9px;
	color: var(--sbc-muted);
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	padding: 0 24px;
	text-decoration: none;
	text-transform: none;
	white-space: nowrap;
}

.sbc-ca-toggle a:hover,
.sbc-ca-toggle a:focus-visible {
	color: var(--sbc-ink);
}

.sbc-ca-toggle a.is-active {
	background: var(--sbc-ink);
	color: #fff;
}

.sbc-ca-toggle__compact {
	display: none;
}

.sbc-ca-jump {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
}

.sbc-ca-jump__label {
	color: var(--sbc-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-right: 6px;
	text-transform: uppercase;
}

.sbc-ca-jump a {
	border: 1px solid var(--sbc-line);
	border-radius: 999px;
	color: var(--sbc-ink);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	padding: 0 24px;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.sbc-ca-jump a:hover,
.sbc-ca-jump a:focus-visible {
	border-color: var(--sbc-purple);
	color: var(--sbc-purple);
}

.sbc-ca__section[id^="region-"] {
	scroll-margin-top: 32px;
}

.sbc-ca-table-wrap {
	background: #fff;
	border: 1px solid var(--sbc-line);
	border-radius: 16px;
	margin-top: 20px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.sbc-ca-table {
	border-collapse: collapse;
	font-size: 14px;
	min-width: 640px;
	width: 100%;
}

.sbc-ca-table th,
.sbc-ca-table td {
	border-bottom: 1px solid var(--sbc-line);
	padding: 14px 18px;
	text-align: left;
	vertical-align: top;
}

.sbc-ca-table tbody tr:last-child td {
	border-bottom: 0;
}

.sbc-ca-table thead th {
	background: #f7f5f1;
	color: #86868d;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
}

.sbc-ca-table tbody td {
	color: var(--sbc-muted);
}

.sbc-ca-table tbody tr:hover {
	background: #fbf9f5;
}

.sbc-ca-table tbody td:first-child {
	color: var(--sbc-ink);
	font-weight: 600;
}

.sbc-ca-table__sub {
	color: #8a8a92;
	display: block;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	margin-top: 3px;
}

.sbc-ca-table--prices {
	min-width: 760px;
}

.sbc-ca-table--prices th:first-child,
.sbc-ca-table--prices td:first-child {
	min-width: 190px;
	width: 26%;
}

.sbc-ca-table--prices th:not(:first-child),
.sbc-ca-table--prices td:not(:first-child) {
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

.sbc-ca-table--prices tbody td:not(:first-child) {
	color: var(--sbc-ink);
	font-size: 15px;
	font-weight: 500;
}

.sbc-ca-table--prices tbody td:first-child {
	font-weight: 400;
}

.sbc-ca-table--prices tbody td:first-child a {
	color: var(--sbc-ink);
	font-weight: 600;
	text-decoration: none;
}

.sbc-ca-table-hint {
	color: var(--sbc-muted);
	display: none;
	font-size: 11px;
	margin: 16px 0 -6px;
}

@media (max-width: 767px) {
	.sbc-ca-table-hint {
		display: block;
	}
}

.sbc-ca-table--prices tbody td:first-child a:hover,
.sbc-ca-table--prices tbody td:first-child a:focus-visible {
	color: var(--sbc-purple);
}

.sbc-ca-table sup {
	color: var(--sbc-purple);
	font-weight: 700;
}

.sbc-ca__fares-title {
	margin: 40px 0 16px;
}

.sbc-ca-fares {
	border-top: 1px solid var(--sbc-line);
	margin-top: 0;
}

.sbc-ca-fares summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 18px;
	list-style: none;
	padding: 20px 2px;
}

.sbc-ca-fares summary::-webkit-details-marker {
	display: none;
}

.sbc-ca-fares__code {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: 30px;
	line-height: 1;
	min-width: 74px;
}

.sbc-ca-fares__name {
	color: var(--sbc-ink);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.sbc-ca-fares__city {
	color: #8a8a92;
	display: block;
	font-size: 12px;
	font-weight: 400;
	margin-top: 2px;
}

.sbc-ca-fares__meta {
	color: var(--sbc-muted);
	font-size: 12px;
	margin-left: auto;
	white-space: nowrap;
}

.sbc-ca-fares__toggle {
	border: 1px solid var(--sbc-line);
	border-radius: 50%;
	color: var(--sbc-purple);
	flex: 0 0 auto;
	font-size: 18px;
	height: 30px;
	line-height: 28px;
	text-align: center;
	width: 30px;
}

.sbc-ca-fares__toggle::before {
	content: "+";
}

.sbc-ca-fares[open] .sbc-ca-fares__toggle::before {
	content: "−";
}

.sbc-ca-fares .sbc-ca-table-wrap {
	margin: 0 0 34px;
}

.sbc-ca-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 22px;
}

.sbc-ca-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Tiles read as a set, so every row takes the height of the tallest one. Only
   while the grid is multi-column; a single stack should hug its content. */
@media (min-width: 641px) {
	.sbc-ca-areas,
	.sbc-ca-grid {
		grid-auto-rows: 1fr;
	}
}

.sbc-ca-card {
	background: #fff;
	border: 1px solid var(--sbc-line);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	padding: 20px;
}

.sbc-ca-card__type {
	color: var(--sbc-purple);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.sbc-ca-card__name {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	margin: 8px 0 8px;
}

.sbc-ca-card__address {
	color: #8a8a92;
	font-size: 12.5px;
	line-height: 1.55;
	margin: 0;
}

.sbc-ca-card__text {
	color: var(--sbc-muted);
	font-size: 13px;
	line-height: 1.6;
	margin: 10px 0 0;
}

.sbc-ca-card__map {
	align-items: center;
	color: var(--sbc-ink);
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-top: auto;
	padding-top: 16px;
	text-decoration: none;
	text-transform: uppercase;
}

.sbc-ca-card__map::after {
	color: var(--sbc-purple);
	content: "↗";
	font-size: 12px;
	margin-left: 5px;
}

.sbc-ca-card__map:hover,
.sbc-ca-card__map:focus-visible {
	color: var(--sbc-purple);
}

.sbc-ca-list {
	color: var(--sbc-muted);
	list-style: none;
	margin: 20px 0 0;
	max-width: 900px;
	padding: 0;
}

.sbc-ca-list li {
	border-top: 1px solid var(--sbc-line);
	font-size: 14px;
	line-height: 1.7;
	padding: 14px 0;
}

.sbc-ca-list li:last-child {
	border-bottom: 1px solid var(--sbc-line);
}

.sbc-ca-list strong {
	color: var(--sbc-ink);
	font-weight: 600;
}

.sbc-ca__cta {
	margin-top: 72px;
}

@media (max-width: 1100px) {
	.sbc-ca-areas,
	.sbc-ca-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.sbc-ca__lead {
		font-size: 17px;
	}

	.sbc-ca__section {
		margin-top: 48px;
	}

	.sbc-ca__section:first-of-type {
		margin-top: 36px;
	}

	.sbc-ca-areas,
	.sbc-ca-grid,
	.sbc-ca-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sbc-ca-fares__meta {
		display: none;
	}
}

@media (max-width: 640px) {
	.sbc-ca-areas,
	.sbc-ca-grid,
	.sbc-ca-grid--3 {
		grid-template-columns: 1fr;
	}

	.sbc-ca-table {
		font-size: 13px;
		min-width: 600px;
	}

	.sbc-ca-table th,
	.sbc-ca-table td {
		padding: 12px 14px;
	}

	.sbc-ca-table--prices {
		min-width: 680px;
	}

	.sbc-ca-table-wrap--stack {
		background: transparent;
		border: 0;
		border-radius: 0;
		margin-top: 16px;
		overflow: visible;
	}

	.sbc-ca-table-wrap--stack .sbc-ca-table {
		display: block;
		min-width: 0;
	}

	.sbc-ca-table-wrap--stack thead {
		display: none;
	}

	.sbc-ca-table-wrap--stack tbody {
		display: block;
	}

	.sbc-ca-table-wrap--stack tbody tr {
		background: #fff;
		border: 1px solid var(--sbc-line);
		border-radius: 14px;
		display: block;
		margin-bottom: 10px;
		padding: 4px 16px;
	}

	.sbc-ca-table-wrap--stack tbody tr:hover {
		background: #fff;
	}

	.sbc-ca-table-wrap--stack td {
		border-bottom: 0;
		display: flex;
		gap: 16px;
		justify-content: space-between;
		padding: 7px 0;
		text-align: right;
	}

	.sbc-ca-table-wrap--stack td:has(.sbc-ca-table__sub) {
		flex-wrap: wrap;
	}

	.sbc-ca-table-wrap--stack td::before {
		color: #86868d;
		content: attr(data-label);
		flex: 0 0 auto;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.12em;
		padding-top: 2px;
		text-align: left;
		text-transform: uppercase;
	}

	.sbc-ca-table-wrap--stack .sbc-ca-table__sub {
		flex-basis: 100%;
	}

	.sbc-ca-table-wrap--stack td:first-child {
		border-bottom: 1px solid var(--sbc-line);
		display: block;
		padding: 12px 0 10px;
		text-align: left;
	}

	.sbc-ca-table-wrap--stack td:first-child::before {
		display: none;
	}

	.sbc-ca-table-wrap--stack td:last-child {
		padding-bottom: 12px;
	}

	.sbc-ca-toggle:not(.sbc-ca-toggle--wrap) {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.sbc-ca-toggle:not(.sbc-ca-toggle--wrap) a {
		font-size: 13px;
		letter-spacing: 0;
		padding: 0 24px;
		text-align: center;
	}

	.sbc-ca-toggle__wide {
		display: none;
	}

	.sbc-ca-toggle__compact {
		display: inline;
	}

	.sbc-ca-toggle {
		margin-top: 22px;
	}

	.sbc-ca-fares summary {
		gap: 12px;
	}

	.sbc-ca-fares__code {
		font-size: 26px;
		min-width: 58px;
	}

	.sbc-ca__cta .sbc-service__btn {
		width: 100%;
	}
}

/* ==========================================================================
   Global shell
   ========================================================================== */

html body {
	--sbc-ink: #0e0e10;
	--sbc-ink-soft: #17171a;
	--sbc-purple: #6900be;
	--sbc-purple-dark: #530098;
	--sbc-paper: #f6f4f0;
	--sbc-muted: #5b5b63;
	--sbc-line: rgba(17, 17, 20, 0.12);
	--sbc-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
}

/* Header: slim black utility strip. */
html .theme-page .theme-page-header .theme-page-header-top,
html .theme-page .theme-page-header .theme-page-header-top > .theme-main,
html .theme-page .theme-page-header .theme-page-header-top > .theme-main > .vc_row {
	background-color: var(--sbc-ink) !important;
}

html .theme-page .theme-page-header .theme-page-header-top {
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	padding: 9px 0;
}

html .theme-page .theme-page-header .theme-page-header-top * {
	color: rgba(255, 255, 255, 0.68) !important;
	font-size: 12px;
	letter-spacing: 0.04em;
}

html .theme-page .theme-page-header .theme-page-header-top a:hover *,
html .theme-page .theme-page-header .theme-page-header-top a:hover {
	color: #fff !important;
}

html .theme-page .theme-page-header .theme-page-header-top .theme-icon-meta-mobile,
html .theme-page .theme-page-header .theme-page-header-top .theme-icon-meta-clock,
html .theme-page .theme-page-header .theme-page-header-top .theme-icon-meta-tick-3 {
	color: rgba(255, 255, 255, 0.4) !important;
}

/* Header: solid black navigation bar. */
html .theme-page .theme-page-header .theme-page-header-middle,
html .theme-page .theme-page-header .theme-page-header-middle > .theme-main,
html .theme-page .theme-page-header .theme-page-header-middle .vc_row,
html .theme-page .theme-page-header .theme-page-header-middle .vc_column-inner,
html .theme-page .theme-page-header .theme-page-header-middle .wpb_wrapper,
body.home .theme-page .theme-page-header .theme-page-header-middle {
	background-color: var(--sbc-ink) !important;
}

html .theme-page .theme-page-header .theme-page-header-middle {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding: 20px 0;
}

html body .theme-page-header-middle .theme-component-logo img {
	height: 40px;
	max-height: none !important;
	max-width: none !important;
	width: auto;
}

html body .theme-page-header-middle .theme-menu-default > ul > li > a,
html body .theme-page-header-middle .theme-menu-default > ul > li > a > span {
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

html body .theme-page-header-middle .theme-menu-default > ul > li:hover > a,
html body .theme-page-header-middle .theme-menu-default > ul > li.sfHover > a,
html body .theme-page-header-middle .theme-menu-default > ul > li.current-menu-item > a,
html body .theme-page-header-middle .theme-menu-default > ul > li.current-menu-ancestor > a,
html body .theme-page-header-middle .theme-menu-default > ul > li:hover > a > span,
html body .theme-page-header-middle .theme-menu-default > ul > li.sfHover > a > span {
	color: #fff !important;
}

html body .theme-page-header-middle .theme-menu-default > ul > li.current-menu-item > a>span:last-child,
html body .theme-page-header-middle .theme-menu-default > ul > li.current-menu-ancestor > a>span:last-child {
	background: #fff;
}

/* Header: light dropdown panels over the dark bar. */
html body .theme-page-header-middle .theme-menu-default > ul ul {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 14px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.24);
	padding: 10px;
}

html body .theme-page-header-middle .theme-menu-default > ul ul li a,
html body .theme-page-header-middle .theme-menu-default > ul ul li a > span {
	color: #1c1c20 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html body .theme-page-header-middle .theme-menu-default > ul ul li a {
	border-radius: 9px;
	padding: 10px 14px;
}

html body .theme-page-header-middle .theme-menu-default > ul ul li a:hover,
html body .theme-page-header-middle .theme-menu-default > ul ul li a:hover > span {
	background: #f5f0fb;
	color: var(--sbc-purple) !important;
}

/* Header: purple pill booking button. */
html .theme-page .theme-page-header .theme-component-button > a {
	background-color: var(--sbc-purple) !important;
	border-color: var(--sbc-purple) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	padding: 0 24px !important;
	text-transform: none !important;
}

html .theme-page .theme-page-header .theme-component-button > a:focus,
html .theme-page .theme-page-header .theme-component-button > a:active,
html .theme-page .theme-page-header .theme-component-button > a:hover {
	background-color: #530098 !important;
	border-color: #530098 !important;
	color: #fff !important;
}

/* Page banners: photo, dark gradient, serif title. */
html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image {
	background-image:
		linear-gradient(90deg, rgba(8, 8, 10, 0.86) 0%, rgba(8, 8, 10, 0.62) 48%, rgba(8, 8, 10, 0.38) 100%),
		url("assets/pexels/chauffeur-door.jpg") !important;
	background-position: center 42% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	align-items: flex-end !important;
	min-height: 420px;
	padding: 0 0 54px;
}

html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child {
	text-align: left !important;
}

html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child+div {
	background-color: transparent !important;
}

html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image h1 {
	color: #fff;
	font-family: var(--sbc-serif);
	font-size: clamp(46px, 6.4vw, 78px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 0.98;
	margin: 0 0 16px;
}

html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child>div {
	color: rgba(255, 255, 255, 0.62);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child>div a,
html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child>div span {
	color: rgba(255, 255, 255, 0.62) !important;
	font-size: 11px !important;
	text-decoration: none;
}

html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child>div a:hover {
	color: #fff !important;
}

/* Content rhythm. */
html body .theme-page .theme-page-content {
	padding-top: 72px;
	padding-bottom: 88px;
}

@media (max-width: 960px) {
	html body .theme-page .theme-page-header .theme-page-header-middle {
		padding: 16px 0;
	}

	html body .theme-page-header-middle .theme-component-logo img {
		height: 40px;
	}

	html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image {
		min-height: 330px;
		padding-bottom: 40px;
	}

	html body .theme-page .theme-page-content {
		padding-top: 52px;
		padding-bottom: 64px;
	}
}

@media (max-width: 767px) {
	html body .theme-menu-responsive-list {
		background: var(--sbc-ink);
		max-height: 100vh;
		max-height: 100dvh;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	html body .theme-menu-responsive-list a,
	html body .theme-menu-responsive-list a>span {
		border-color: rgba(255, 255, 255, 0.12);
		color: rgba(255, 255, 255, 0.86) !important;
	}

	html body .theme-menu-responsive-list ul {
		background: rgba(255, 255, 255, 0.04);
	}

	html body .theme-menu-responsive-list ul>li>a {
		background: transparent;
	}

	html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image {
		min-height: 260px;
		padding-bottom: 30px;
	}

	html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image h1 {
		font-size: clamp(32px, 10vw, 40px);
	}

	html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child>div {
		font-size: 10px;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
}

/* Banner content aligns with the site container. */
html body .theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-image>div:first-child {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1220px;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

/* Replace the theme's circled arrow glyph with a quiet chevron. */
html body .theme-page-header-middle .theme-menu-default>ul>li.menu-item-has-children>a>span.theme-icon-meta-arrow-vertical-2 {
	background: transparent;
	border-bottom: 1.5px solid rgba(255, 255, 255, 0.55);
	border-right: 1.5px solid rgba(255, 255, 255, 0.55);
	display: inline-block !important;
	height: 6px !important;
	margin-left: 8px;
	transform: rotate(45deg) translateY(-2px);
	vertical-align: 2px;
	width: 6px !important;
}

html body .theme-page-header-middle .theme-menu-default>ul>li.menu-item-has-children>a>span.theme-icon-meta-arrow-vertical-2::before {
	display: none !important;
}

html body .theme-page-header-middle .theme-menu-default>ul>li.menu-item-has-children>a>span.theme-icon-meta-arrow-vertical-2:hover,
html body .theme-page-header-middle .theme-menu-default>ul>li:hover>a>span.theme-icon-meta-arrow-vertical-2 {
	width: 6px !important;
}

/* Fleet page intro and closing CTA. */
body.page-template-vehicle-list .theme-page-content {
	padding-top: 72px !important;
	padding-bottom: 88px !important;
}

body.page-template-vehicle-list .theme-vehicle-list {
	position: relative;
	top: 0;
}

.sbc-fleet-intro {
	margin: 0 0 40px;
	max-width: 720px;
}

.sbc-fleet-intro__eyebrow {
	color: var(--sbc-purple);
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sbc-fleet-intro__title {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: clamp(40px, 4vw, 54px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.02;
	margin: 14px 0 0;
}

.sbc-fleet-intro__lead {
	color: var(--sbc-muted);
	font-size: 17px;
	line-height: 1.65;
	margin: 16px 0 0;
	max-width: 620px;
}

.sbc-fleet-cta {
	align-items: center;
	background:
		radial-gradient(120% 180% at 88% 0%, rgba(105, 0, 190, 0.42), transparent 62%),
		var(--sbc-ink);
	border-radius: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: space-between;
	margin-top: 24px;
	padding: 48px 56px;
}

.sbc-fleet-cta__eyebrow {
	color: rgba(255, 255, 255, 0.55);
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sbc-fleet-cta__text {
	color: #fff;
	font-family: var(--sbc-serif);
	font-size: clamp(26px, 2.6vw, 36px);
	font-weight: 400;
	line-height: 1.15;
	margin: 14px 0 0;
	max-width: 560px;
}

.sbc-fleet-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@media (max-width: 700px) {
	.sbc-fleet-cta {
		align-items: flex-start;
		flex-direction: column;
		padding: 32px 28px;
	}

	.sbc-fleet-cta__actions {
		width: 100%;
	}

	.sbc-fleet-cta__actions .sbc-service__btn {
		flex: 1 1 auto;
		justify-content: center;
	}
}

/* Fleet filter bar. */
html body .theme-vehicle-list .theme-vehicle-list-search {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 50px rgba(17, 17, 20, 0.1);
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 0 44px;
	max-width: 820px;
	padding: 8px 10px;
}

html body .theme-vehicle-list .theme-vehicle-list-search .chbs-form-field {
	box-sizing: border-box;
	flex: 1 1 280px;
	margin: 0;
	padding: 8px 14px;
}

html body .theme-vehicle-list .theme-vehicle-list-search .chbs-form-field label {
	color: #8a8a92;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 2px;
	text-transform: uppercase;
}

html body .theme-vehicle-list .theme-vehicle-list-search .chbs-form-field select {
	background: transparent;
	border: 0;
	color: #17171a;
	font-size: 16px;
	font-weight: 600;
	padding: 4px 24px 4px 0;
	width: 100%;
}

html body .theme-vehicle-list .theme-vehicle-list-search .chbs-form-field + .chbs-form-field {
	border-left: 1px solid rgba(17, 17, 20, 0.1);
}

/* Fleet cards. */
html body .theme-vehicle-list .theme-vehicle-list-result .wpb_column {
	margin-bottom: 36px;
}

html body .theme-vehicle-list .theme-vehicle-list-item {
	background: #fff;
	border: 1px solid rgba(17, 17, 20, 0.09);
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(17, 17, 20, 0.04);
	overflow: hidden;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

html body .theme-vehicle-list .theme-vehicle-list-item:hover {
	box-shadow: 0 24px 50px rgba(17, 17, 20, 0.14);
	transform: translateY(-4px);
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>*>span:last-child {
	background: linear-gradient(to bottom, rgba(10, 10, 12, 0.06) 30%, rgba(10, 10, 12, 0.78) 100%);
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>*>span:first-child {
	padding: 24px;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>*>span:first-child>.theme-vehicle-list-item-category {
	border: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin: 0 0 10px;
	padding: 0;
	text-transform: uppercase;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>*>span:first-child>.theme-vehicle-list-item-title {
	color: #fff;
	font-family: var(--sbc-serif);
	font-size: 27px;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.12;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-meta {
	align-items: center;
	background: #fff;
	border: 0;
	color: #4d4d55;
	display: flex;
	gap: 8px;
	justify-content: flex-start;
	padding: 16px 24px;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-meta .theme-circle {
	border-color: rgba(17, 17, 20, 0.14);
	height: 28px;
	line-height: 26px;
	margin-left: 0;
	width: 28px;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-meta .theme-icon-meta-suitcase {
	margin-left: 12px;
}

@media (max-width: 767px) {
	html body .theme-vehicle-list .theme-vehicle-list-search .chbs-form-field + .chbs-form-field {
		border-left: 0;
		border-top: 1px solid rgba(17, 17, 20, 0.1);
	}

	html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>*>span:first-child>.theme-vehicle-list-item-title {
		font-size: 23px;
	}
}

/* Fleet filter fields share one row. */
html body .theme-vehicle-list .theme-vehicle-list-search>form {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	width: 100%;
}

/* Fleet card caption sits under the photo. */
html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a {
	display: flex;
	flex-direction: column;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>img {
	order: 1;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>span:first-child {
	background: #fff;
	bottom: auto;
	box-sizing: border-box;
	order: 2;
	padding: 20px 22px 8px;
	position: static;
	width: 100%;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>span:first-child>.theme-vehicle-list-item-category {
	color: var(--sbc-purple);
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>span:first-child>.theme-vehicle-list-item-title {
	color: #17171a;
	font-size: 23px;
	line-height: 1.18;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>span:last-child {
	display: none;
}

/* Fleet cards share one height, with the meta row pinned to the bottom. */
html body .theme-vehicle-list .theme-vehicle-list-result .vc_row {
	display: flex;
	flex-wrap: wrap;
}

html body .theme-vehicle-list .theme-vehicle-list-result .wpb_column {
	display: flex;
	float: none;
}

html body .theme-vehicle-list .theme-vehicle-list-result .vc_column-inner,
html body .theme-vehicle-list .theme-vehicle-list-result .wpb_wrapper,
html body .theme-vehicle-list .theme-vehicle-list-result .theme-vehicle-list-item {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
}

html body .theme-vehicle-list .theme-vehicle-list-result .theme-vehicle-list-item-image {
	flex: 1 1 auto;
}

html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-title {
	display: block;
	min-height: 2.36em;
}

/* Homepage hero. */
body.home #SR7_2_1-8-9 {
	font-family: Lato, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	opacity: 0.85;
	text-transform: uppercase !important;
}

body.home #SR7_2_1-8-10 {
	font-family: var(--sbc-serif) !important;
	font-size: clamp(46px, 4.9vw, 70px) !important;
	font-weight: 400 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.02 !important;
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.28);
}

body.home #SR7_2_1-8-8 .ui-tabs-panel {
	background: rgba(255, 255, 255, 0.94) !important;
	backdrop-filter: blur(14px);
	border-radius: 18px !important;
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
	padding: 12px !important;
}

body.home #SR7_2_1-8-8 .chbs-form-field {
	border-radius: 10px !important;
	padding: 8px 14px !important;
}

body.home #SR7_2_1-8-8 .chbs-form-field + .chbs-form-field {
	margin-top: 8px !important;
}

body.home #SR7_2_1-8-8 .chbs-form-field label {
	font-size: 10px !important;
	letter-spacing: 0.04em;
}

body.home #SR7_2_1-8-8 .chbs-form-field input,
body.home #SR7_2_1-8-8 .chbs-form-field select {
	font-size: 15px !important;
	height: 24px !important;
	line-height: 24px !important;
}

body.home #SR7_2_1-8-8 .chbs-button.chbs-button-widget-submit {
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	height: 46px !important;
	letter-spacing: 0.14em;
	margin-top: 14px !important;
	padding: 13px 28px !important;
	text-transform: uppercase;
}

body.home #SR7_2_1-8-8 .ui-tabs-nav {
	margin-bottom: 10px !important;
}

/* Homepage sections. */
.sbc-wwd {
	background: #f3edfa;
}

.sbc-wwd__title {
	color: #141416;
	font-family: var(--sbc-serif);
	font-size: clamp(42px, 4.8vw, 64px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.02;
}

.sbc-wwd__subtitle {
	color: #5b5b63;
	font-size: 18px;
}

.sbc-wwd__card-title {
	color: #141416;
	font-family: var(--sbc-serif);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.12;
}

.sbc-reserve__title {
	color: #141416;
	font-family: var(--sbc-serif);
	font-size: clamp(40px, 4vw, 54px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.04;
}

.sbc-reserve__service-title {
	font-family: var(--sbc-serif);
	font-size: 27px;
	font-weight: 400;
}

.sbc-reserve__book {
	color: #141416;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.sbc-reserve__book:hover,
.sbc-reserve__book:focus-visible {
	color: var(--sbc-purple);
}

.sbc-reserve__gallery {
	gap: 24px;
}

.sbc-reserve__gallery img {
	border-radius: 18px;
	object-fit: cover;
}

.sbc-reserve__image {
	aspect-ratio: 4 / 3;
}

.sbc-reserve__image--offset {
	margin-top: 56px;
}

.sbc-book__title {
	color: #141416;
	font-family: var(--sbc-serif);
	font-size: clamp(38px, 4vw, 52px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.04;
}

.sbc-book__card-title {
	font-family: var(--sbc-serif);
	font-size: 28px;
	font-weight: 400;
}

.sbc-quote {
	background-image:
		linear-gradient(rgba(10, 10, 12, 0.74), rgba(10, 10, 12, 0.74)),
		url("assets/pexels/rainy-door.jpg");
}

.sbc-quote__title {
	font-family: var(--sbc-serif);
	font-size: clamp(36px, 3.6vw, 50px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.06;
}

.sbc-quote__btn {
	border-radius: 999px;
	padding: 0 24px;
}

@media (max-width: 960px) {
	.sbc-reserve__image--offset {
		margin-top: 0;
	}

	.sbc-wwd__card-title {
		font-size: 26px;
	}
}

body.home #SR7_2_1-8-9 {
	letter-spacing: 0.12em !important;
}

/* Fleet card photos crop to a consistent band. */
html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>img {
	height: 210px;
	object-fit: cover;
	object-position: center 55%;
}

/* Section headings built with the theme heading component. */
html body .theme-component-header-subheader .theme-component-header-subheader-subheader {
	color: var(--sbc-purple);
	font-family: Lato, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	margin-bottom: 16px;
	text-transform: uppercase;
}

html body .theme-component-header-subheader .theme-component-header-subheader-header {
	color: #141416;
	font-family: var(--sbc-serif);
	font-size: clamp(40px, 4vw, 56px);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.05;
}

/* Theme section button, matched to the site pill buttons. */
html body .theme-page-content .vc_row .theme-component-button.theme-component-button-style-1>a {
	background: var(--sbc-ink);
	border-color: var(--sbc-ink);
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	padding: 0 24px;
	text-transform: none;
}

html body .theme-page-content .vc_row .theme-component-button.theme-component-button-style-1>a:hover {
	background: var(--sbc-purple);
	border-color: var(--sbc-purple);
	color: #fff;
}

html body .theme-component-header-subheader {
	margin-bottom: 40px;
}

.sbc-quote {
	background-position: 50% 28%;
}

@media (max-width: 767px) {
	html body .theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-image>a>img {
		height: 190px;
	}
}

/* Booking page */
.sbc-booking-help {
	border-top: 1px solid var(--sbc-line);
	color: var(--sbc-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 40px 0 0;
	padding-top: 28px;
	text-align: center;
}

.sbc-booking-help a {
	color: var(--sbc-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sbc-booking-help a:hover {
	color: var(--sbc-purple);
}

body.page-id-10008 .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav {
	background: #f1eee7;
	border-radius: 12px;
	display: flex;
	gap: 4px;
	padding: 4px;
}

body.page-id-10008 .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li {
	flex: 1 1 0;
	margin: 0;
}

body.page-id-10008 .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
	border-radius: 999px !important;
	color: var(--sbc-muted);
	display: block;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	padding: 0 24px !important;
	text-align: center;
	text-transform: none;
}

body.page-id-10008 .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li.ui-tabs-active > a {
	background: var(--sbc-ink) !important;
	color: #fff !important;
}

body.page-id-10008 .chbs-main .chbs-tab .ui-tabs-panel {
	background: var(--sbc-paper);
	border-radius: 14px;
	padding: 18px;
}

body.page-id-10008 .chbs-main .chbs-form-label-group {
	color: var(--sbc-ink);
	font-family: var(--sbc-serif);
	font-size: 23px;
	font-weight: 400;
}

body.page-id-10008 .chbs-main .chbs-form-field label,
body.page-id-10008 .chbs-main .chbs-form-field-label {
	color: #8a8a92 !important;
	font-size: 10px !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.page-id-10008 .chbs-main .chbs-button {
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0 24px !important;
	text-transform: uppercase;
}

body.page-id-10008 .chbs-main .chbs-button.chbs-button-style-1 {
	background: var(--sbc-ink) !important;
	border-color: var(--sbc-ink) !important;
}

body.page-id-10008 .chbs-main .chbs-button.chbs-button-style-1:hover {
	background: var(--sbc-purple) !important;
	border-color: var(--sbc-purple) !important;
}

body.page-id-10008 .chbs-main .chbs-button.chbs-button-style-2 {
	background: #fff !important;
	border: 1px solid rgba(17, 17, 20, 0.16) !important;
	color: var(--sbc-ink) !important;
}

body.page-id-10008 .chbs-main .chbs-main-navigation-default {
	margin: 0 0 30px;
}

body.page-id-10008 .chbs-main .chbs-main-navigation-default li > a > span:last-child {
	font-size: 12px;
	line-height: 1.3;
}

body.page-id-10008 .chbs-main .chbs-google-map {
	border-radius: 14px;
	overflow: hidden;
}

/* Uniform content rhythm on long pages. */
body.sbc-service-page .theme-page-content,
body.sbc-catalogue-page .theme-page-content,
body.page-id-10008 .theme-page-content {
	padding-bottom: 88px !important;
}

body.sbc-catalogue-page .theme-page-content {
	padding-top: 72px !important;
}

@media (max-width: 960px) {
	body.page-template-vehicle-list .theme-page-content,
	body.sbc-service-page .theme-page-content,
	body.sbc-catalogue-page .theme-page-content,
	body.page-id-10008 .theme-page-content {
		padding-top: 52px !important;
		padding-bottom: 64px !important;
	}
}

@media (max-width: 700px) {
	body.page-id-10008 .chbs-main .chbs-main-navigation-default li > a > span:last-child {
		font-size: 10.5px !important;
		line-height: 1.35;
	}
}

body.page-id-10008 .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li:not(.ui-tabs-active) > a {
	background: transparent !important;
	border: 0 !important;
}

/* Parent theme fixes .theme-main to 300px on phones; use fluid gutters instead. */
@media (max-width: 767px) {
	html body .theme-main {
		margin-left: 20px;
		margin-right: 20px;
		width: auto;
	}
}

/* One pill for every Book now call to action. */
html body .theme-page .theme-page-header .theme-component-button > a,
html body .sbc-service__btn--solid,
html body .sbc-service__btn--light,
html body .sbc-reserve__book,
html body.home #SR7_2_1-8-8 .chbs-main .chbs-button.chbs-button-widget-submit {
	align-items: center;
	background: var(--sbc-purple) !important;
	border: 1px solid var(--sbc-purple) !important;
	border-radius: 999px !important;
	box-sizing: border-box;
	color: #fff !important;
	display: inline-flex !important;
	font-family: Lato, sans-serif;
	font-size: 13px !important;
	font-weight: 700 !important;
	height: 41px !important;
	justify-content: center;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	min-width: 136px;
	padding: 0 24px !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: nowrap;
	width: auto !important;
}

html body .theme-page .theme-page-header .theme-component-button > a:hover,
html body .theme-page .theme-page-header .theme-component-button > a:focus,
html body .theme-page .theme-page-header .theme-component-button > a:active,
html body .sbc-service__btn--solid:hover,
html body .sbc-service__btn--solid:focus-visible,
html body .sbc-service__btn--solid:active,
html body .sbc-service__btn--light:hover,
html body .sbc-service__btn--light:focus-visible,
html body .sbc-service__btn--light:active,
html body .sbc-reserve__book:hover,
html body .sbc-reserve__book:focus-visible,
html body.home #SR7_2_1-8-8 .chbs-main .chbs-button.chbs-button-widget-submit:hover,
html body.home #SR7_2_1-8-8 .chbs-main .chbs-button.chbs-button-widget-submit:focus {
	background: #530098 !important;
	border-color: #530098 !important;
	color: #fff !important;
	text-decoration: none !important;
}

/* One type scale and padding for every text button. */
html body .theme-component-button > a,
html body input[type="submit"].theme-component-button,
html body button.theme-component-button,
html body .theme-component-button button,
html body .theme-component-button input,
html body .sbc-book__btn,
html body .sbc-quote__btn,
html body .sbc-service__btn,
html body .sbc-service__related a,
html body .sbc-wwd__link,
html body .sbc-reserve__book,
html body .chbs-button,
html body .chbs-tab.ui-tabs .ui-tabs-nav > li > a,
html body a.button,
html body button.button,
html body input[type="submit"].button,
html body a.sbc-ca__chip,
html body .sbc-ca-toggle a,
html body .sbc-ca-jump a,
html body .widget button,
html body .theme-page-sidebar button,
html body .woocommerce-product-search button,
html body .searchform input[type="submit"],
html body .sbc-ca-area__meta a {
	align-items: center;
	display: inline-flex !important;
	font-family: Lato, sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	height: 41px !important;
	justify-content: center;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	padding: 0 24px !important;
	text-transform: none !important;
}

/* The submit input inside the comment form carries the button classes itself. */
html body input[type="submit"].theme-component-button {
	background: var(--sbc-purple) !important;
	border-color: var(--sbc-purple) !important;
}

html body input[type="submit"].theme-component-button:hover {
	background: #530098 !important;
	border-color: #530098 !important;
}

/* The wordmark is wide; keep it clear of the phone menu button. */
@media (max-width: 560px) {
	html body .theme-page-header-middle .theme-component-logo img {
		height: auto;
		max-height: 30px;
		max-width: calc(100vw - 132px) !important;
		width: auto;
	}
}

/* Below 768px the Distance/Hourly/Flat rate tab strip is 300px wide, so 24px
   side padding would force mid-word wraps; relax side padding only there. */
@media (max-width: 767px) {
	html body .chbs-tab.ui-tabs .ui-tabs-nav > li > a,
	html body .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li > a,
	html body.page-id-10008 .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
		padding: 0 16px !important;
	}
}

/* The vehicle attribute widget stacks its button directly under the table. */
html body .widget_theme_widget_vehicle_attribute .theme-component-button {
	margin-top: 24px;
}

/* Sidebar widget titles render as bare text nodes, so the only way to clear a
   heading off the block above it is to push that block away from below. */
html body .theme-column-right > div,
html body .theme-column-right > ul,
html body .theme-column-right > form {
	margin-bottom: 20px;
}

html body .theme-column-right > :last-child {
	margin-bottom: 0;
}

html body .theme-column-right ul.product_list_widget li {
	padding: 10px 0;
}

/* The price line sits in the same row box as the Filter pill, so it needs its
   own clearance or it lands on the button's bottom edge. */
html body .theme-column-right .price_label {
	margin-top: 12px;
}

/* The search field is full width, so its submit wraps underneath and touches. */
html body .theme-column-right .woocommerce-product-search button {
	background: var(--sbc-purple) !important;
	border-color: var(--sbc-purple) !important;
	border-radius: 999px !important;
	color: #fff !important;
	margin-top: 10px;
}

/* The classic search widget ships a bare browser-styled submit input. */
html body .searchform {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

html body .searchform > div {
	display: flex;
	flex: 1 1 100%;
	flex-wrap: wrap;
	gap: 10px;
}

html body .searchform input[type="submit"] {
	background: var(--sbc-purple) !important;
	border-color: var(--sbc-purple) !important;
	border-radius: 999px !important;
	color: #fff !important;
}


