:root {
	--kc-red: #be2a26;
	--kc-red-dark: #9e1f1b;
	--kc-ink: #1f2328;
	--kc-muted: #5b6470;
	--kc-bg: #f6f7f9;
	--kc-border: #dfe3e8;
	--kc-radius: 10px;
	--kc-shadow: 0 1px 3px rgba(31, 35, 40, 0.08), 0 4px 12px rgba(31, 35, 40, 0.06);
	--kc-focus: #2563eb;
	--kc-header-h: 64px;
	--kc-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.kc-skip {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 10000;
	font-family: var(--kc-font);
}

.kc-skip:focus {
	position: fixed;
	left: 1rem;
	top: 1rem;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	background: #fff;
	color: var(--kc-ink);
	border: 2px solid var(--kc-focus);
	border-radius: var(--kc-radius);
	box-shadow: var(--kc-shadow);
}

.kc-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.kc-header,
.kc-footer {
	font-family: var(--kc-font);
	box-sizing: border-box;
}

.kc-header *,
.kc-footer * {
	box-sizing: border-box;
}

.kc-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	border-bottom: 1px solid var(--kc-border);
	box-shadow: var(--kc-shadow);
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.kc-header__bar {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	min-height: 56px;
	max-height: 64px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	overflow: hidden;
}

.kc-header__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	line-height: 0;
}

.kc-header__logo img {
	display: block;
	height: 40px;
	width: auto;
	max-width: min(154px, 42vw);
}

.kc-header__tools {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
}

.kc-header__book {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 1rem;
	border-radius: var(--kc-radius);
	background: var(--kc-red);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
	font-size: 0.95rem;
}

.kc-header__book:hover {
	background: var(--kc-red-dark);
}

.kc-nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 1px solid var(--kc-border);
	border-radius: var(--kc-radius);
	background: #fff;
	color: var(--kc-ink);
	cursor: pointer;
}

.kc-nav {
	flex: 1 1 100%;
	width: 100%;
}

.kc-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kc-nav__item {
	position: relative;
}

.kc-nav__link {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 0.5rem 0.75rem;
	color: var(--kc-ink);
	text-decoration: none;
	font-weight: 500;
}

.kc-nav__link--cta {
	background: var(--kc-red);
	color: #fff !important;
	border-radius: var(--kc-radius);
	font-weight: 600;
	justify-content: center;
}

.kc-nav__link--cta:hover {
	background: var(--kc-red-dark);
}

.kc-nav__item--current > .kc-nav__link:not(.kc-nav__link--cta),
.kc-nav__item--ancestor > .kc-nav__link:not(.kc-nav__link--cta) {
	box-shadow: inset 0 -3px 0 var(--kc-red);
}

.kc-nav__subtoggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--kc-muted);
}

.kc-nav__chevron {
	display: block;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-top: -0.15rem;
}

.kc-nav__submenu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kc-nav__sublink {
	display: block;
	padding: 0.65rem 1rem 0.65rem 1.5rem;
	min-height: 48px;
	color: var(--kc-muted);
	text-decoration: none;
}

.kc-nav__sublink--current,
.kc-nav__sublink:hover {
	color: var(--kc-ink);
}

/* Mobile: panel hidden when JS enabled until open */
html.kc-js .kc-nav {
	display: none;
	border-top: 1px solid var(--kc-border);
	padding-top: 0.5rem;
}

html.kc-js .kc-header--nav-open .kc-nav {
	display: block;
}

html.kc-js .kc-nav__item--has-children {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
}

html.kc-js .kc-nav__item--has-children > .kc-nav__link {
	grid-column: 1;
}

html.kc-js .kc-nav__item--has-children > .kc-nav__subtoggle {
	grid-column: 2;
}

html.kc-js .kc-nav__submenu {
	display: none;
	grid-column: 1 / -1;
}

html.kc-js .kc-nav__item--sub-open > .kc-nav__submenu {
	display: block;
}

/* No-JS: show full nav */
html.no-js .kc-nav-toggle {
	display: none;
}

html.no-js .kc-header__book {
	display: none;
}

html.no-js .kc-nav {
	display: block;
}

html.no-js .kc-nav__submenu {
	display: block;
}

@media (min-width: 1024px) {
	.kc-header__logo img {
		height: 48px;
		max-width: 154px;
	}

	.kc-header__tools {
		display: none;
	}

	.kc-header__bar {
		flex-wrap: nowrap;
		padding: 0.75rem 1.5rem;
		min-height: 64px;
		max-height: 80px;
	}

	html.kc-js .kc-nav {
		border-top: 0;
		padding-top: 0;
	}

	.kc-nav {
		flex: 1;
		display: block !important;
		width: auto;
		border: 0;
		padding: 0;
	}

	.kc-header__bar {
		align-items: center;
	}

	.kc-nav__list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 0.15rem;
	}

	.kc-nav__item--has-children {
		display: flex;
		align-items: stretch;
	}

	.kc-nav__subtoggle {
		display: none;
	}

	.kc-nav__link {
		min-height: 44px;
		padding: 0.5rem 0.65rem;
		font-size: 0.92rem;
	}

	.kc-nav__submenu {
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 220px;
		background: #fff;
		border: 1px solid var(--kc-border);
		border-radius: var(--kc-radius);
		box-shadow: var(--kc-shadow);
		padding: 0.35rem 0;
		display: none;
		z-index: 50;
	}

	.kc-nav__item--has-children:hover > .kc-nav__submenu,
	.kc-nav__item--has-children:focus-within > .kc-nav__submenu {
		display: block;
	}

	.kc-nav__sublink {
		padding: 0.5rem 1rem;
		min-height: 44px;
	}

	.kc-nav__item--cta {
		margin-left: 0.35rem;
	}
}

.kc-footer {
	background: var(--kc-ink);
	color: #e8eaed;
	margin-top: auto;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.kc-footer a {
	color: #e6e8eb;
	text-decoration: none;
	text-underline-offset: 2px;
}

.kc-footer a:hover,
.kc-footer a:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.kc-footer__grid {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2.5rem 1.25rem 1.5rem;
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.kc-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.kc-footer__grid {
		grid-template-columns: 1.2fr 1fr 1fr 0.8fr;
	}
}

.kc-footer__logo {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.kc-footer__logo-badge {
	display: inline-block;
	background: #fff;
	border-radius: var(--kc-radius);
	padding: 0.5rem 0.75rem;
	line-height: 0;
}

.kc-footer__tagline {
	margin: 1rem 0 0;
	color: #c5cad1;
	font-size: 0.95rem;
}

.kc-footer__heading {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #9aa3ad;
	font-weight: 600;
}

.kc-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kc-footer__list li {
	margin: 0;
}

.kc-footer__list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.35rem 0;
}

.kc-footer__social {
	display: flex;
	gap: 0.5rem;
}

.kc-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border-radius: var(--kc-radius);
	background: rgba(255, 255, 255, 0.08);
	color: #fff !important;
	text-decoration: none !important;
}

.kc-footer__social-link:hover {
	background: rgba(255, 255, 255, 0.16);
}

.kc-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	max-width: 1200px;
	margin: 0 auto;
	padding: 1rem 1.25rem 1.5rem;
}

.kc-footer__copy {
	margin: 0;
	font-size: 0.875rem;
	color: #c5cad1;
}

:focus-visible {
	outline: 3px solid var(--kc-focus);
	outline-offset: 2px;
}

.kc-header :focus-visible,
.kc-footer :focus-visible {
	outline-color: var(--kc-focus);
}

@media (prefers-reduced-motion: reduce) {
	.kc-header,
	.kc-footer,
	.kc-nav__link,
	.kc-header__book {
		transition: none !important;
	}
}

/* WordPress theme coexistence */
body.responsive {
	min-width: 0 !important;
}

html,
body {
	margin: 0;
	padding: 0;
}

body.boxed-body,
body.responsive.boxed-body,
body.responsive.boxed-body.wide {
	margin: 0 !important;
	max-width: none !important;
	box-shadow: none !important;
}

body.boxed-body #container {
	max-width: none !important;
}

html {
	--sticky-header-h: var(--kc-header-h, 64px);
}

[id] {
	scroll-margin-top: calc(var(--sticky-header-h, 64px) + 8px);
}

/* ==========================================================================
   Page title / breadcrumb band (Smarty + WordPress)
   ========================================================================== */

.content_holder > .top_content {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	overflow: visible;
	width: 100% !important;
	max-width: none !important;
	background: var(--kc-bg);
	border: 0 !important;
	border-bottom: 1px solid var(--kc-border) !important;
	box-sizing: border-box;
}

body.home .content_holder > .top_content {
	display: none !important;
}

.kc-page-head {
	background: var(--kc-bg);
	border-bottom: 1px solid var(--kc-border);
	width: 100%;
	margin: 0;
	padding: 1.25rem 0;
	float: none;
	box-sizing: border-box;
}

.kc-page-head__inner {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 1rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	box-sizing: border-box;
}

.top_content .info_bar {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 1.25rem 1rem !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	width: 100% !important;
	background: transparent;
	border-bottom: 0;
	box-sizing: border-box;
}

.top_content .info_bar .heading,
.top_content .info_bar .breadcrumb,
.info_bar .heading,
.info_bar .breadcrumb {
	width: auto !important;
	float: none !important;
	text-align: left !important;
}

.top_content .info_bar .heading h1,
.top_content .info_bar .heading h2,
.top_content .info_bar .heading p.page-heading,
.top_content .info_bar .heading .page-heading {
	margin: 0 0 0.35rem;
	font-family: var(--kc-font) !important;
	font-size: 1.75rem !important;
	line-height: 1.286 !important;
	font-weight: 700 !important;
	color: var(--kc-ink) !important;
	padding: 0 !important;
}

@media (min-width: 1024px) {
	.top_content .info_bar .heading h1,
	.top_content .info_bar .heading h2,
	.top_content .info_bar .heading p.page-heading,
	.top_content .info_bar .heading .page-heading {
		font-size: 2.25rem !important;
		line-height: 1.2 !important;
	}
}

.responsive .top_content .info_bar {
	width: 100% !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

section.content .info_bar {
	border-bottom: 0;
}

@media (min-width: 1024px) {
	.kc-page-head {
		padding: 1.5rem 0;
	}

	.top_content .info_bar {
		padding: 1.5rem !important;
	}

	.kc-page-head__inner {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

.kc-page-head__title,
.top_content .info_bar .heading h1,
.top_content .info_bar .heading h2,
section.content .info_bar .heading h1,
section.content .info_bar .heading h2 {
	margin: 0 0 0.35rem;
	font-size: 1.75rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--kc-ink);
	text-align: left;
	width: auto;
	float: none;
	padding: 0;
}

@media (min-width: 1024px) {
	.kc-page-head__title,
	.top_content .info_bar .heading h1,
	.top_content .info_bar .heading h2 {
		font-size: 2.25rem;
	}
}

.kc-page-head__breadcrumb,
.top_content .info_bar .breadcrumb,
section.content .info_bar .breadcrumb,
div.breadcrumb {
	float: none;
	width: auto;
	text-align: left;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--kc-muted);
	margin: 0;
	padding: 0;
	border: 0;
}

.kc-page-head__breadcrumb a,
.top_content .info_bar .breadcrumb a,
section.content .info_bar .breadcrumb a,
div.breadcrumb a {
	color: var(--kc-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.kc-page-head__breadcrumb a:hover,
.top_content .info_bar .breadcrumb a:hover {
	color: var(--kc-ink);
}

.kc-page-head__breadcrumb small,
.kc-page-head__breadcrumb .icon-angle-right:before,
.top_content .info_bar .breadcrumb small,
.top_content .breadcrumb .icon-home {
	color: var(--kc-muted);
	margin: 0 0.35rem;
}

.kc-page-head__breadcrumb span,
.top_content .breadcrumb span,
div.breadcrumb span,
.breadcrumb span[itemprop="name"] {
	color: var(--kc-muted) !important;
}

.top_content .breadcrumb .icon-home {
	font-size: 0.875rem;
	text-decoration: none;
}

.kc-page-head__breadcrumb a,
.top_content .info_bar .breadcrumb a,
section.content .info_bar .breadcrumb a,
div.breadcrumb a {
	margin-left: 0 !important;
	margin-right: 0;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding-top: 0.1875rem;
	padding-bottom: 0.1875rem;
	box-sizing: border-box;
}

.kc-page-head__breadcrumb a.icon-home,
.top_content .breadcrumb a.icon-home {
	text-decoration: underline;
}

.kc-page-head__breadcrumb a.icon-home::before,
.top_content .breadcrumb a.icon-home::before {
	display: none !important;
	content: none !important;
}

.top_content .info_bar .heading {
	width: auto;
	float: none;
}

.top_content .info_bar .breadcrumb {
	text-align: left;
}

section.content .info_bar {
	margin: 0 0 1.5rem;
	padding: 1rem 1rem 1.25rem;
	border-bottom: 1px solid var(--kc-border);
}

/* ==========================================================================
   Global body / layout (WordPress + Smarty #kc-main)
   ========================================================================== */

html {
	overflow-x: clip;
}

body,
body.responsive {
	font-family: var(--kc-font);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--kc-ink);
	background: #fff;
	min-width: 0 !important;
}

body.boxed-body,
body.boxed-body #container,
#container {
	max-width: none !important;
	margin: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
}

.content_holder,
.content_second_background {
	max-width: none;
	background: #fff;
}

#kc-main.content_holder .content_second_background {
	min-height: 0 !important;
	background: transparent !important;
}

#kc-main.content_holder .content_area,
body.responsive #kc-main.content_holder .content_area,
body.responsive.wide #kc-main.content_holder .content_area {
	width: 100% !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 0 !important;
	padding: 1.25rem 1rem 2.5rem !important;
	box-sizing: border-box;
	float: none !important;
	background: #fff;
}

body.et_divi_builder #kc-main.content_holder .content_area,
body.et_divi_builder.responsive #kc-main.content_holder .content_area,
body.et_divi_builder.responsive.wide #kc-main.content_holder .content_area {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
}

@media (min-width: 1024px) {
	#kc-main.content_holder .content_area,
	body.responsive #kc-main.content_holder .content_area,
	body.responsive.wide #kc-main.content_holder .content_area {
		padding: 1.5rem 1.5rem 3rem !important;
	}

	body.et_divi_builder #kc-main.content_holder .content_area,
	body.et_divi_builder.responsive #kc-main.content_holder .content_area,
	body.et_divi_builder.responsive.wide #kc-main.content_holder .content_area {
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
	}
}

#kc-main.content_holder .content_block,
body.responsive #kc-main.content_holder .content_block {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

#kc-main {
	flex: 1;
	width: 100%;
}

#kc-main > section,
#kc-main > .kc-booking,
.kc-content-column {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 1.25rem 1rem 2.5rem;
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	#kc-main > section,
	#kc-main > .kc-booking,
	.kc-content-column {
		padding: 1.5rem 1.5rem 3rem;
	}
}

#kc-main img,
.content_area img,
.et_pb_image img {
	max-width: 100%;
	height: auto;
}

#kc-main h2,
#kc-main h3,
#kc-main h4,
.content_area h2,
.content_area h3,
.content_area h4 {
	font-weight: 700;
	line-height: 1.25;
	color: var(--kc-ink);
}

#kc-main p,
#kc-main ul,
.content_area p,
.content_area ul {
	margin: 0 0 1rem;
}

#kc-main a:not(.kc-nav__link):not(.kc-header__book):not(.btn):not(.kc-btn-link),
.content_area a:not(.btn) {
	color: var(--kc-red);
	text-decoration: underline;
	text-underline-offset: 2px;
}

#kc-main .kc-footer a,
.kc-footer a {
	color: #e6e8eb !important;
	text-decoration: none !important;
}

#kc-main .kc-footer a:hover,
#kc-main .kc-footer a:focus-visible,
.kc-footer a:hover,
.kc-footer a:focus-visible {
	color: #fff !important;
	text-decoration: underline !important;
}

#kc-main a:not(.btn):hover,
.content_area a:not(.btn):hover {
	color: var(--kc-red-dark);
}

/* Hide obsolete chrome remnants */
#top_bar,
#navigation_bar,
#navigation,
#sticky_logo,
footer .footer_info,
.responsive footer .footer_info {
	display: none !important;
}

/* ==========================================================================
   WordPress theme / Divi / Gravity Forms overrides
   ========================================================================== */

body.responsive,
.content_area,
.et_pb_section {
	color: var(--kc-ink);
}

body.et_divi_builder #kc-main .content_area {
	overflow: visible;
}

body.et_divi_builder #kc-main .content_area .et_pb_section {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

body.et_divi_builder .et_pb_section {
	padding-left: max(1rem, env(safe-area-inset-left, 0px)) !important;
	padding-right: max(1rem, env(safe-area-inset-right, 0px)) !important;
}

body.et_divi_builder .et_pb_row {
	max-width: 1200px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: max(1.25rem, env(safe-area-inset-left, 0px)) !important;
	padding-right: max(1.25rem, env(safe-area-inset-right, 0px)) !important;
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	body.et_divi_builder .et_pb_row {
		padding-left: max(1.5rem, env(safe-area-inset-left, 0px)) !important;
		padding-right: max(1.5rem, env(safe-area-inset-right, 0px)) !important;
	}
}

.top_content {
	background: transparent;
}

.button_,
.et_pb_button,
.rt_button,
input[type="submit"]:not(.btn),
.gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.woocommerce a.button,
.woocommerce button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.25rem !important;
	border-radius: 10px !important;
	font-family: var(--kc-font) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	background: var(--kc-red) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer;
}

.button_:hover,
.et_pb_button:hover,
.rt_button:hover,
.gform_button:hover,
.woocommerce a.button:hover {
	background: var(--kc-red-dark) !important;
	color: #fff !important;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper select,
.gform_wrapper textarea {
	min-height: 44px;
	font-size: 1rem !important;
	font-family: var(--kc-font) !important;
	border: 1px solid var(--kc-border) !important;
	border-radius: 8px !important;
	padding: 0.65rem 0.75rem !important;
	color: var(--kc-ink) !important;
	box-shadow: none !important;
}

.gform_wrapper label,
.gform_wrapper .gfield_label {
	font-weight: 600 !important;
	color: var(--kc-ink) !important;
}

body.et_divi_builder,
body.et_divi_builder .et_pb_module,
body.et_divi_builder .et_pb_text_inner,
body.et_divi_builder h1,
body.et_divi_builder h2,
body.et_divi_builder h3,
body.et_divi_builder h4 {
	font-family: var(--kc-font) !important;
}

body.et_divi_builder .et_pb_button,
body.et_divi_builder a.et_pb_button {
	font-family: var(--kc-font) !important;
}

body.et_divi_builder .et_pb_button::before,
body.et_divi_builder .et_pb_button::after,
body.et_divi_builder a.et_pb_button::before,
body.et_divi_builder a.et_pb_button::after {
	display: none !important;
	content: none !important;
}

body.et_divi_builder a.et_pb_button[data-icon],
body.et_divi_builder .et_pb_button[data-icon] {
	font-family: var(--kc-font) !important;
}

body.et_divi_builder .et-pb-icon,
body.et_divi_builder .et_pb_font_icon,
body.et_divi_builder [data-icon]::before,
body.et_divi_builder [data-icon]::after,
body.et_divi_builder li[data-icon]:empty,
body.et_divi_builder [class*="et-pb-arrow"]::before,
body.et_divi_builder [class*="et-pb-arrow"]::after,
body.et_divi_builder .et_pb_toggle_title::before,
body.et_divi_builder .et_pb_accordion .et_pb_toggle_title::before,
body.et_divi_builder .et_pb_blurb .et-pb-icon {
	font-family: ETmodules !important;
	font-style: normal !important;
	font-weight: 400 !important;
	font-variant: normal !important;
	text-transform: none !important;
	line-height: 1;
	speak: never;
}

[class^="icon-"]::before,
[class*=" icon-"]::before {
	font-family: fontello, "fontello", ETmodules !important;
	font-style: normal !important;
	font-weight: 400 !important;
}

.et_animated:not(.et_parallax_bg),
.et-waypoint:not(.et_parallax_bg),
.et-animated:not(.et_parallax_bg),
[class*="et_pb_animation_"]:not(.et_parallax_bg) {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	animation: none !important;
	transition: none !important;
}

.et_parallax_bg {
	animation: none !important;
	transition: none !important;
}

body.et_divi_builder .et_pb_section {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
}

@media (min-width: 1024px) {
	body.et_divi_builder .et_pb_section {
		padding-top: 5rem !important;
		padding-bottom: 5rem !important;
	}
}

body.home.et_divi_builder .et_pb_section.et_pb_section_0 {
	position: relative;
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

@media (max-width: 767px) {
	body.home.et_divi_builder .et_pb_section.et_pb_section_0 {
		padding: 48px 20px !important;
	}

	body.home.et_divi_builder .et_pb_section.et_pb_section_0 h1 {
		font-size: clamp(2rem, 6vw + 1rem, 3rem) !important;
		line-height: 1.15 !important;
	}
}

body.home.et_divi_builder .et_pb_section.et_pb_section_0.et_pb_with_background::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(158, 31, 27, 0.72), rgba(31, 35, 40, 0.55));
	pointer-events: none;
	z-index: 1;
}

body.home.et_divi_builder .et_pb_section.et_pb_section_0 .et_pb_row {
	position: relative;
	z-index: 2;
}

body.home.et_divi_builder .et_pb_section.et_pb_section_0,
body.home.et_divi_builder .et_pb_section.et_pb_section_0 .et_pb_text,
body.home.et_divi_builder .et_pb_section.et_pb_section_0 .et_pb_text_inner {
	color: #fff !important;
}

body.home.et_divi_builder .et_pb_section_4 .et_pb_column_empty {
	display: none !important;
}

body.home.et_divi_builder .et_pb_section_4 .et_pb_row > .et_pb_column:not(.et_pb_column_empty) {
	width: 100% !important;
	margin: 0 !important;
}

body.home.et_divi_builder .et_pb_button,
body.home.et_divi_builder a.et_pb_button {
	border-radius: 999px !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
}

body.et_divi_builder .et_pb_blurb.et_pb_module {
	background: #fff;
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	padding: 1.25rem 1rem !important;
	box-shadow: var(--kc-shadow);
	min-height: 0 !important;
}

body.et_divi_builder .et_pb_blurb .et_pb_blurb_content {
	display: block !important;
}

body.et_divi_builder .et_pb_blurb .et_pb_main_blurb_image,
body.et_divi_builder .et_pb_blurb .et_pb_blurb_container {
	display: block !important;
	width: auto !important;
	height: auto !important;
}

body.et_divi_builder .et_pb_blurb .et_pb_main_blurb_image {
	margin-bottom: 0.75rem;
}

.et_pb_blurb .et_pb_main_blurb_image {
	background: transparent !important;
	border-radius: 0 !important;
}

/* Muted legacy grey text */
.content_area,
.et_pb_text,
#kc-main {
	color: var(--kc-ink);
}

.content_area p,
.et_pb_text_inner {
	color: var(--kc-ink);
}

/* ==========================================================================
   Smarty app shared form controls (#kc-main)
   ========================================================================== */

#kc-main .form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: 0.65rem 0.75rem;
	font-size: 1rem;
	font-family: var(--kc-font);
	color: var(--kc-ink);
	background: #fff;
	border: 1px solid var(--kc-border);
	border-radius: 8px;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#kc-main .form-control:focus {
	border-color: var(--kc-red);
	outline: none;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
}

#kc-main .form-control[required]:invalid {
	background-image: none;
}

#kc-main label {
	font-weight: 600;
	color: var(--kc-ink);
}

#kc-main .btn,
#kc-main .btn-inline:not(.kc-date-change),
#kc-main button.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.25rem;
	border: none;
	border-radius: 10px;
	font-family: var(--kc-font);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	background: var(--kc-muted);
	color: #fff;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	text-decoration: none;
}

#kc-main .btn-red,
#kc-main .btn-red:hover {
	background: var(--kc-red);
	color: #fff;
}

#kc-main .btn-red:hover {
	background: var(--kc-red-dark);
}

#kc-main .btn-default {
	background: #fff;
	color: var(--kc-ink);
	border: 1px solid var(--kc-border);
}

#kc-main .btn-default:hover {
	background: var(--kc-bg);
}

#kc-main .kc-btn-link {
	background: transparent;
	color: var(--kc-red);
	border: none;
	min-height: 44px;
	padding: 0.5rem 0;
	font-weight: 600;
	text-decoration: underline;
}

#kc-main .error_info {
	color: #b42318;
	margin: 0.75rem 0;
}

#kc-main .kc-required-hint {
	font-weight: 400;
	font-size: 0.8125rem;
	color: var(--kc-muted);
}

#kc-main .kc-app-page {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1.5rem 1.25rem;
	background: #fff;
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	box-shadow: var(--kc-shadow);
}

/* ==========================================================================
   Booking flow (#package_service, articles.forms)
   ========================================================================== */

.kc-booking #main_form {
	max-width: 47.5rem;
	margin: 0 auto;
}

.kc-booking #package_service {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.kc-booking #package_service > section,
.kc-booking article.forms > section,
.kc-booking article.location_entry.forms > section,
.kc-booking article#finalize.forms > section,
.kc-booking article#finalize_nonurgent.forms > section {
	background: #fff;
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	padding: 1.25rem 1.25rem 1.5rem;
	box-shadow: var(--kc-shadow);
	margin-bottom: 1rem;
}

@media (min-width: 768px) {
	.kc-booking #package_service > section,
	.kc-booking article.forms > section {
		padding: 1.75rem;
	}
}

.kc-booking .kc-step-title {
	margin: 0 0 1rem;
	font-size: 1.375rem;
	font-weight: 700;
	text-align: left;
}

.kc-booking .kc-form-helper {
	margin: 0 0 1rem;
	color: var(--kc-muted);
	font-size: 0.9375rem;
	text-align: left;
}

.kc-booking .kc-location-fields .location_selection {
	display: block;
	width: 100%;
	margin: 0 0 1rem;
	text-align: left;
}

.kc-booking .location_selection input {
	margin: 0.35rem 0 0;
	min-height: 48px;
}

.kc-booking .location_selection small {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.875rem;
	color: var(--kc-muted);
	min-height: 1.25em;
}

.kc-booking .itemchooser ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	padding: 0;
	margin: 0 0 1rem;
	list-style: none;
}

.kc-booking .itemchooser li {
	margin: 0;
	padding: 0;
}

.kc-booking .kc-itemchooser-label {
	font-weight: 600;
	color: var(--kc-ink);
	margin-right: 0.25rem;
}

.kc-booking .itemchooser li.action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	height: 44px;
	padding: 0 18px;
	border: 1.5px solid var(--kc-red);
	border-radius: 999px;
	background: #fff;
	color: var(--kc-red);
	font-weight: 600;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	box-sizing: border-box;
}

@media (max-width: 639px) {
	.kc-booking .itemchooser li:first-child {
		flex: 0 0 100%;
		width: 100%;
	}
}

.kc-booking .itemchooser li.action:hover,
.kc-booking .itemchooser li.action:focus-visible {
	background: var(--kc-red);
	color: #fff;
}

#kc-main #item_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

#kc-main #item_list > li.kc-item-row,
#kc-main #item_list > li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem 1rem;
	padding: 1rem;
	margin: 0 0 0.75rem;
	border: 1px solid var(--kc-border);
	border-radius: 10px;
	background: var(--kc-bg);
}

#kc-main #item_list > li:nth-child(even) {
	background: var(--kc-bg);
}

#kc-main #item_list .kc-item-field--desc,
#kc-main #item_list .kc-item-field--remove {
	grid-column: 1 / -1;
}

@media (min-width: 900px) {
	#kc-main #item_list > li.kc-item-row,
	#kc-main #item_list > li {
		grid-template-columns: 2fr repeat(5, minmax(0, 1fr));
		align-items: end;
	}

	#kc-main #item_list .kc-item-field--desc {
		grid-column: 1 / -1;
	}

	#kc-main #item_list .kc-item-field--remove {
		grid-column: 1 / -1;
		text-align: right;
	}
}

#kc-main #item_list li label {
	display: block;
	margin-bottom: 0.25rem;
	min-width: 0;
}

#kc-main #item_list li input.form-control {
	width: 100%;
	max-width: none;
}

#kc-main #item_list li small.note {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kc-muted);
	font-weight: 400;
	vertical-align: baseline;
	box-shadow: none;
}

.kc-booking .kc-date-group {
	margin-bottom: 1rem;
	text-align: left;
}

.kc-booking .kc-input-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

.kc-booking .kc-input-group .form-control {
	flex: 1 1 12rem;
	min-width: 0;
}

#kc-main label.kc-date-change,
.kc-booking .kc-date-change {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	height: 48px;
	padding: 0 1rem;
	border-radius: 8px;
	border: 1.5px solid var(--kc-red) !important;
	background: #fff !important;
	color: var(--kc-red) !important;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	box-shadow: none !important;
	text-shadow: none !important;
	box-sizing: border-box;
}

#kc-main label.kc-date-change:hover,
#kc-main label.kc-date-change:focus-visible,
.kc-booking .kc-date-change:hover,
.kc-booking .kc-date-change:focus-visible {
	background: rgba(190, 42, 38, 0.06) !important;
	color: var(--kc-red-dark) !important;
}

#kc-main #service_selection {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1rem 0;
	text-align: left;
}

@media (min-width: 640px) {
	#kc-main #service_selection {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}

#kc-main #service_selection > div {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-height: 8.5rem;
	padding: 0.85rem 0.85rem 0.85rem 0.85rem;
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	background: #fff;
	width: auto;
	height: auto;
	margin: 0;
	box-sizing: border-box;
}

#kc-main #service_selection header {
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
	padding-right: 1.5rem;
	white-space: nowrap;
}

#kc-main #service_selection > div > div {
	color: var(--kc-ink);
	font-size: 0.9375rem;
}

#kc-main #service_selection small {
	color: var(--kc-muted);
	font-size: 0.8125rem;
	line-height: 1.4;
}

#kc-main #service_selection label {
	position: absolute;
	inset: 0;
	z-index: 2;
	cursor: pointer;
	background: transparent !important;
	box-shadow: none !important;
}

#kc-main #service_selection input.service_item,
#kc-main #service_selection input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	z-index: 3;
}

#kc-main #service_selection > div:has(input:checked) {
	border: 2px solid var(--kc-red);
	background: rgba(190, 42, 38, 0.06);
}

#kc-main #service_selection > div:has(input:checked)::after {
	content: "";
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--kc-red);
	box-shadow: inset 0 0 0 2px #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M4.5 9 1.5 6l1-1 2 2 4-4 1 1z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
}

#kc-main #service_selection > div:has(input:focus-visible) {
	outline: 3px solid var(--kc-focus);
	outline-offset: 2px;
}

#kc-main #service_selection input:checked + label {
	background: none !important;
}

.kc-booking .kc-checkbox-list {
	margin: 0.5rem 0;
	text-align: left;
}

.kc-booking .kc-checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 500;
	min-height: 44px;
	cursor: pointer;
}

.kc-booking .kc-checkbox-row input {
	width: 1.25rem;
	height: 1.25rem;
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.kc-booking .kc-fee-note {
	color: var(--kc-muted);
	font-size: 0.8125rem;
	font-weight: 400;
}

.kc-booking .kc-price-panel {
	margin: 1.25rem 0;
	padding: 1rem 1.25rem;
	background: var(--kc-bg);
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	text-align: left;
	font-size: 1rem;
}

.kc-booking .kc-price-panel__label {
	font-size: 1.25rem;
	font-weight: 700;
}

.kc-booking .kc-price-panel .quoteprice {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--kc-ink);
}

@media (min-width: 768px) {
	.kc-booking .kc-price-panel__label {
		font-size: 1.5rem;
	}

	.kc-booking .kc-price-panel .quoteprice {
		font-size: 1.75rem;
	}
}

.kc-booking .kc-book-cta {
	display: flex;
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
	margin-top: 1rem;
	justify-content: center;
}

@media (min-width: 640px) {
	.kc-booking .kc-book-cta {
		width: auto;
		margin-left: auto;
		margin-right: 0;
	}
}

.kc-booking .kc-booking-terms {
	max-width: 47.5rem;
	margin: 1rem auto 0;
	padding: 0 1.25rem;
	text-align: left;
	font-size: 0.9375rem;
	color: var(--kc-muted);
	box-sizing: border-box;
}

.kc-booking .kc-booking-terms a {
	color: var(--kc-red);
}

.kc-booking .kc-booking-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 1rem;
}

.kc-booking .location_entry ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kc-booking .location_entry ul li {
	margin: 0 0 1rem;
}

.kc-booking .location_entry .field-title {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--kc-muted);
}

.kc-booking .form-control.field-long,
.kc-booking .form-control.field-mid,
.kc-booking .form-control.field-short {
	width: 100%;
	max-width: 100%;
}

.kc-booking .cell {
	display: block;
	width: 100%;
	margin-bottom: 0.5rem;
}

@media (min-width: 640px) {
	.kc-booking .location_entry .cell {
		display: inline-block;
		width: calc(50% - 0.5rem);
		vertical-align: top;
	}
}

/* Autocomplete dropdown */
.autocomplete-suggestions {
	border: 1px solid var(--kc-border);
	border-radius: 0 0 8px 8px;
	box-shadow: var(--kc-shadow);
	font-family: var(--kc-font);
}

.autocomplete-suggestion {
	min-height: 44px;
	line-height: 44px;
	padding: 0 0.75rem;
	font-size: 1rem;
	color: var(--kc-ink);
}

.autocomplete-suggestion.selected {
	background: rgba(190, 42, 38, 0.08);
	color: var(--kc-ink);
}

.autocomplete-suggestion b {
	color: var(--kc-red);
	font-weight: 600;
}

/* Flatpickr (booking) — overrides only; flatpickr.min.css untouched */
.flatpickr-calendar,
.flatpickr-calendar.open {
	z-index: 10001 !important;
	pointer-events: auto;
}

.kc-booking #package_service > section,
.kc-booking article.forms > section,
.kc-booking article.location_entry.forms > section {
	overflow: visible;
}

.flatpickr-calendar {
	font-family: var(--kc-font);
	border-radius: var(--kc-radius);
	box-shadow: var(--kc-shadow);
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-weekday {
	font-family: var(--kc-font);
	color: var(--kc-ink);
}

.flatpickr-day {
	max-width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 8px;
	color: var(--kc-ink);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover {
	background: var(--kc-red);
	border-color: var(--kc-red);
	color: #fff;
}

.flatpickr-day.today {
	border-color: var(--kc-red);
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
	background: rgba(190, 42, 38, 0.12);
	color: var(--kc-ink);
}

/* Legibility: Divi / Gravity muted greys */
body.et_divi_builder .et_pb_text_inner,
body.et_divi_builder .et_pb_blurb_description {
	color: var(--kc-ink) !important;
}

.gform_wrapper .gfield_description,
.gform_wrapper .gform_fileupload_rules,
.gform_wrapper .instruction,
.gform_wrapper .gform_description,
.gform_wrapper .gfield_sublabel,
.gform_wrapper .ginput_counter,
.gform_wrapper .charleft,
.gform_wrapper .ginput_counter.gfield_description {
	color: var(--kc-muted) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
}

/* ==========================================================================
   RT theme full-width page content column (GF pages, contact, login, etc.)
   ========================================================================== */

#kc-main .content_area section.content.full > .row,
#kc-main .content_area section.content.left > .row,
body.responsive .content_area section.content.full > .row,
body.responsive .content_area section.content.left > .row {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	float: none !important;
}

@media (min-width: 1024px) {
	#kc-main .content_area section.content.full > .row,
	#kc-main .content_area section.content.left > .row,
	body.responsive .content_area section.content.full > .row,
	body.responsive .content_area section.content.left > .row {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}
}

#kc-main .content_area section.content.full > .row .gform_wrapper,
body.responsive .content_area section.content.full > .row .gform_wrapper {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* OnTime login / tracking forms (legacy markup in page content) */
#kc-main #loginForm input[type="text"],
#kc-main #loginForm input[type="password"],
#kc-main #trForm input[type="text"],
.content_area #loginForm input[type="text"],
.content_area #loginForm input[type="password"],
.content_area #trForm input[type="text"] {
	min-height: 44px;
	padding: 0.65rem 0.75rem;
	font-size: 1rem;
	font-family: var(--kc-font);
	border: 1px solid var(--kc-border);
	border-radius: 8px;
	box-sizing: border-box;
}

#kc-main #loginForm input[type="submit"],
#kc-main #trForm input[type="submit"],
.content_area #loginForm input[type="submit"],
.content_area #trForm input[type="submit"] {
	min-height: 44px;
	min-width: 44px;
}

.content_area #loginForm a,
.content_area #trForm a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0.1875rem 0;
}

/* ==========================================================================
   Testimonials archive + single quote posts
   ========================================================================== */

.testimonials hr.style-four {
	display: none !important;
	border: 0 !important;
	margin: 0 !important;
}

.testimonials > .row {
	margin: 0 0 1rem !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

.testimonials .testimonial.box {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.testimonials .testimonial.box {
		grid-template-columns: 72px minmax(0, 1fr);
		align-items: start;
	}
}

.testimonials .client_image {
	float: none !important;
	display: block;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	border-radius: 50%;
	overflow: hidden;
	width: 72px;
	height: 72px;
	flex-shrink: 0;
}

.testimonials .client_image img {
	float: none !important;
	width: 72px !important;
	height: 72px !important;
	object-fit: cover;
	border: 0 !important;
	border-radius: 50%;
}

.testimonials .testimonial .text,
.testimonials .testimonial .with_image {
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0;
}

.testimonials .testimonial .text p {
	margin: 0 0 0.75rem;
	font-family: var(--kc-font) !important;
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--kc-ink) !important;
	font-style: normal;
}

.testimonials .testimonial .text .icon-quote-left,
.testimonials .testimonial .text .icon-quote-right {
	position: static !important;
	display: inline;
	font-size: 0.875rem;
	color: var(--kc-muted) !important;
	opacity: 0.65;
	padding: 0 0.25rem 0 0;
	vertical-align: baseline;
}

.testimonials .testimonial .text .icon-quote-right {
	padding: 0 0 0 0.25rem;
}

.testimonials .client_info {
	font-style: normal !important;
	font-size: 0.875rem !important;
	line-height: 1.5;
	color: var(--kc-muted) !important;
}

.testimonials .client_info a.client_link {
	color: var(--kc-red) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 500;
}

.testimonials .client_info a.client_link:hover {
	color: var(--kc-red-dark) !important;
}

/* Single testimonial-style blog posts */
.content_area article.blog_list.single {
	margin: 0 0 1.5rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid var(--kc-border);
	border-radius: 12px;
	box-sizing: border-box;
}

.content_area article.blog_list.single .article_content,
.content_area article.blog_list.single .article_content p {
	font-family: var(--kc-font) !important;
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--kc-ink) !important;
}

.content_area article.blog_list.single .post_data,
.content_area article.blog_list.single .post_data a {
	font-size: 0.875rem;
	color: var(--kc-muted) !important;
	text-decoration: underline;
}

.content_area article.blog_list.single .post-title-holder h1 {
	font-family: var(--kc-font) !important;
	font-size: 1.375rem !important;
	line-height: 1.3 !important;
	color: var(--kc-ink) !important;
}

.kc-footer__heading {
	color: #c5cad1;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
