/*
 * State Line child theme styles.
 *
 * Elementor holds the content, colors and fonts (Site Settings > Global
 * Colors and Global Fonts). This file holds only what Elementor free cannot
 * set: font files, glass effects, layered shadows, hover lifts, the hero fade,
 * marquees, the reviews pager, the gallery grid, and form styling.
 * Every hook is an `sl-` class set in the element's Advanced > CSS Classes.
 */

/* ---------------------------------------------------------------- fonts */
@font-face {
	font-family: "League Spartan";
	src: url("../fonts/league-spartan.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Roboto";
	src: url("../fonts/roboto.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/montserrat.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* ---------------------------------------------------------------- base */
:root {
	--sl-navy: var(--e-global-color-primary, #172448);
	--sl-teal: var(--e-global-color-secondary, #24475b);
	--sl-slate: var(--e-global-color-accent, #587487);
	--sl-cream: var(--e-global-color-a7c3e01, #fff6d8);
	--sl-card: var(--e-global-color-b8d4f02, #d7cfb1);
}
html,
body {
	overflow-x: clip;
}
body {
	-webkit-font-smoothing: auto;
}
.elementor-widget-text-editor p,
.elementor-widget-text-editor ul {
	margin: 0;
}
/* GoDaddy sets text-wrap: pretty on its text, which changes some line breaks. */
.elementor-widget-text-editor,
.sl-reviews-head .elementor-heading-title,
.sl-cf7 {
	text-wrap: pretty;
}
.elementor-widget-text-editor strong,
.elementor-widget-text-editor b {
	font-weight: 700;
}
.elementor-widget-heading .elementor-heading-title {
	overflow-wrap: break-word;
}
.sl-links a,
.sl-links a:hover {
	color: var(--sl-slate);
	text-decoration: none;
}
/* The Header Footer Builder wrapper. */
#masthead {
	position: relative;
	z-index: 10002;
}
.bhf-hidden {
	display: none;
}

/* ---------------------------------------------------------------- marquees */
.sl-marquee {
	overflow: hidden;
	white-space: nowrap;
	width: 100%;
}
.sl-marquee .elementor-heading-title {
	white-space: nowrap;
}
.sl-marquee .elementor-heading-title > a {
	display: block;
	color: inherit;
}
.sl-mq-track {
	display: flex;
	width: max-content;
	margin-bottom: 1px;
	animation: sl-marquee var(--sl-mq-duration, 20s) linear infinite;
}
.sl-mq-item {
	flex: none;
	display: block;
}
.sl-marquee-top .sl-mq-item {
	padding-right: 32px;
}
.sl-marquee-hero .sl-mq-item {
	padding-right: 56px;
}
@keyframes sl-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
@media (prefers-reduced-motion: reduce) {
	.sl-mq-track {
		animation: none;
	}
}

/* ---------------------------------------------------------------- ticker and nav */
.sl-ticker {
	position: relative;
	z-index: 2;
}
.sl-nav {
	position: absolute !important;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 1;
	background-image: linear-gradient(
		rgba(255, 246, 216, 0.22) 0%,
		rgba(255, 246, 216, 0.121) 10%,
		rgba(255, 246, 216, 0.048) 24%,
		rgba(0, 0, 0, 0) 42%,
		rgba(0, 0, 0, 0) 58%,
		rgba(255, 246, 216, 0.022) 76%,
		rgba(255, 246, 216, 0.055) 90%,
		rgba(255, 246, 216, 0.1) 100%
	);
	-webkit-backdrop-filter: blur(12px) saturate(1.1);
	backdrop-filter: blur(12px) saturate(1.1);
	box-shadow: 0 22px 56px rgba(0, 0, 0, 0.36);
}
.sl-nav > .sl-logo {
	flex: 0 1 calc(50% - 16px);
	max-width: calc(50% - 16px);
}
.sl-logo .elementor-heading-title a {
	color: inherit;
}
.sl-fb-icon .elementor-icon-wrapper {
	display: flex;
	line-height: 0;
}
.sl-fb-icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
}
.sl-footer-fb .elementor-icon-wrapper {
	justify-content: center;
}
@media (max-width: 767px) {
	.sl-nav > .sl-logo {
		flex-basis: 100%;
		max-width: 100%;
	}
}

/* ---------------------------------------------------------------- hero */
.sl-hero {
	position: relative;
}
.sl-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 115px;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 25%, var(--sl-cream) 75%, var(--sl-cream) 100%);
	pointer-events: none;
	z-index: 1;
}
.sl-hero-h1 {
	position: relative;
}
.sl-hero-img img {
	display: block;
	min-height: 420px;
}
@media (max-width: 767px) {
	.sl-hero::after {
		height: 60px;
	}
	.sl-hero-img img {
		min-height: 0;
	}
}

/* ---------------------------------------------------------------- buttons */
.sl-btn .elementor-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	overflow: hidden;
	-webkit-backdrop-filter: blur(12px) saturate(1.1);
	backdrop-filter: blur(12px) saturate(1.1);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.sl-btn-glass .elementor-button {
	background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.11) 44%, rgba(255, 255, 255, 0.05) 100%);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.46), inset 0 -1px 0 rgba(255, 255, 255, 0.16), 0 6px 14px rgba(0, 0, 0, 0.14);
}
.sl-btn-glass .elementor-button:hover,
.sl-btn-glass .elementor-button:focus-visible {
	background-color: rgba(255, 255, 255, 0.16);
	background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.14) 44%, rgba(255, 255, 255, 0.07) 100%);
	border-color: rgba(255, 255, 255, 0.66);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.54), inset 0 -1px 0 rgba(255, 255, 255, 0.2), 0 8px 18px rgba(0, 0, 0, 0.18);
	color: rgba(255, 255, 255, 0.95);
	transform: translateY(-2px);
}

/* Light glass button, used by the three form submit buttons. */
.sl-cf7 .wpcf7-submit {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	height: 56px;
	padding: 8px 32px;
	margin: 0;
	border: 1px solid rgba(60, 68, 74, 0.48);
	border-radius: 12px;
	background-color: transparent;
	background-image: linear-gradient(135deg, rgba(17, 17, 17, 0.08) 0%, rgba(17, 17, 17, 0.04) 46%, rgba(17, 17, 17, 0.02) 100%);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.82), inset 0 -1px 0 rgba(17, 17, 17, 0.08), 0 6px 14px rgba(0, 0, 0, 0.12);
	-webkit-backdrop-filter: blur(12px) saturate(1.1);
	backdrop-filter: blur(12px) saturate(1.1);
	color: rgba(17, 17, 17, 0.92);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.28px;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.sl-cf7 .wpcf7-submit:hover,
.sl-cf7 .wpcf7-submit:focus-visible {
	background-color: transparent;
	color: rgba(17, 17, 17, 0.92);
	background-image: linear-gradient(135deg, rgba(17, 17, 17, 0.1) 0%, rgba(17, 17, 17, 0.05) 46%, rgba(17, 17, 17, 0.024) 100%);
	border-color: rgba(60, 68, 74, 0.58);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9), inset 0 -1px 0 rgba(17, 17, 17, 0.1), 0 8px 18px rgba(0, 0, 0, 0.16);
	transform: translateY(-2px);
	outline: none;
}

/* ---------------------------------------------------------------- reviews */
.sl-reviews-head,
.sl-reviews-head:hover {
	color: inherit;
	text-decoration: none;
}
.sl-fb-logo {
	align-self: center;
	margin-top: 4px;
}
.sl-fb-logo .elementor-icon-wrapper {
	display: flex;
	line-height: 0;
}
.sl-fb-logo .elementor-icon {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	/* White behind the cut-out "f" of the Facebook glyph. */
	background: radial-gradient(circle at 50% 50%, #fff 0, #fff 19px, transparent 19.5px);
}
.sl-reviews-viewall .elementor-heading-title,
.sl-reviews-viewall .elementor-heading-title a {
	text-decoration: underline;
	color: inherit;
}
/* Label widgets: edited once in Elementor, copied into every card by stateline.js. */
.sl-review-label {
	display: none !important;
}
.elementor-editor-active .sl-review-label {
	display: block !important;
	opacity: 0.6;
}
.sl-reviews {
	position: relative;
}
.sl-review {
	flex: 0 0 290px !important;
	width: 290px !important;
	max-width: 290px;
}
.sl-review .elementor-testimonial-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	box-sizing: border-box;
	height: 100%;
	min-height: 367px;
	padding: 32px 0;
	background-color: var(--sl-card);
	border-radius: 12px;
	box-shadow: 2px 6px 30px rgba(0, 0, 0, 0.18);
	overflow: hidden;
	text-align: center;
}
.sl-review .elementor-testimonial-meta,
.sl-review .elementor-testimonial-meta-inner {
	display: contents;
}
.sl-review .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image {
	order: 1;
	display: flex;
	justify-content: center;
	padding: 0;
	margin: 0;
}
.sl-review .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img {
	width: 100px !important;
	height: 100px !important;
	border-radius: 50%;
	object-fit: cover;
	background-color: #aa9600;
}
.sl-review .sl-rv-rec {
	order: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 24px 24px 0;
	color: var(--sl-teal);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: 26.4px;
}
.sl-review .sl-rv-rec::before {
	content: "";
	width: 20px;
	height: 28px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F277A7' fill-rule='evenodd' d='M6 18l-4 2 2-4V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6zm7-4.367L15.472 15 15 12.106l2-2.05-2.764-.423L13 7l-1.236 2.633L9 10.056l2 2.05L10.528 15 13 13.633z'/%3E%3C/svg%3E") center / 28px 28px no-repeat;
	margin-right: 16px;
}
.sl-review .sl-rv-body {
	order: 3;
	flex-grow: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px;
}
.sl-review .elementor-testimonial-wrapper .elementor-testimonial-content {
	margin: 0;
	letter-spacing: normal;
	min-height: 42px;
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px !important;
	font-weight: 400;
	font-style: normal;
	line-height: 20.8px !important;
	color: var(--sl-navy);
	text-align: center;
}
/* Before stateline.js runs (and in the editor), clamp the quote. */
.sl-review:not(.sl-rv-ready) .elementor-testimonial-content {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	order: 3;
	padding: 24px 24px 0;
}
.sl-review .sl-rv-more {
	display: block;
	margin-top: 16px;
	color: var(--sl-navy);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: 20px;
	text-decoration: none;
}
.sl-review .sl-rv-more::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 4px;
	vertical-align: -2px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23172448' fill-rule='evenodd' d='M7.861 4.125c-.335-.293-.84-.039-.84.424L7 19.362c0 .446.481.697.811.424l8.693-7.203a.56.56 0 0 0 .011-.836L7.861 4.125z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.sl-review .elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details {
	order: 5;
	flex-direction: row;
	letter-spacing: normal;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 24px;
	font-family: "Roboto", Arial, sans-serif;
	font-size: 12px;
	line-height: normal;
	color: var(--sl-teal);
	text-align: center;
}
.sl-review .elementor-testimonial-details::before {
	content: "";
	flex: none;
	width: 25px;
	height: 25px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234267b2' fill-rule='evenodd' d='M22 12.061C22 6.505 17.523 2 12 2S2 6.505 2 12.061c0 5.022 3.657 9.184 8.438 9.939v-7.03h-2.54v-2.91h2.54V9.845c0-2.522 1.492-3.915 3.777-3.915 1.094 0 2.238.197 2.238.197v2.476h-1.26c-1.243 0-1.63.775-1.63 1.57v1.888h2.773l-.443 2.908h-2.33V22c4.78-.755 8.437-4.917 8.437-9.939z'/%3E%3C/svg%3E") center / 25px 25px no-repeat;
}
.sl-review .elementor-testimonial-wrapper .elementor-testimonial-name {
	display: inline;
	margin: 0 0 0 16px;
	font-family: "Roboto", Arial, sans-serif !important;
	letter-spacing: normal !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: normal !important;
	color: var(--sl-teal) !important;
}
.sl-review .elementor-testimonial-name::after {
	content: " -";
	white-space: pre;
}
.sl-review .elementor-testimonial-wrapper .elementor-testimonial-job {
	display: inline;
	margin: 0 16px 0 0;
	font-family: "Roboto", Arial, sans-serif !important;
	letter-spacing: normal !important;
	padding-left: 0.28em;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: normal !important;
	color: var(--sl-teal) !important;
}
.sl-review .elementor-testimonial-name a,
.sl-review .elementor-testimonial-image a {
	color: inherit;
}
.sl-rv-hidden {
	display: none !important;
}
/* Pager controls (desktop). */
.sl-rv-arrow {
	position: absolute;
	top: 183.6px;
	width: 28px;
	height: 28px;
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	color: #fff;
	cursor: pointer;
	z-index: 1;
	line-height: 0;
}
.sl-rv-arrow:hover,
.sl-rv-arrow:focus {
	background: none;
	color: rgba(255, 255, 255, 0.6);
	outline: none;
}
.sl-rv-arrow svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}
.sl-rv-prev {
	left: -16px;
}
.sl-rv-next {
	left: calc(100% - 17px);
}
.sl-rv-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 40px;
	width: 100%;
}
.sl-rv-dot {
	width: 12px;
	height: 12px;
	margin: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 1px 2px 15px rgba(0, 0, 0, 0.18);
	opacity: 0.6;
	cursor: pointer;
}
.sl-rv-dot:hover,
.sl-rv-dot:focus {
	background: #fff;
	outline: none;
}
.sl-rv-dot.is-active {
	opacity: 1;
}
.sl-reviews-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@media (min-width: 768px) {
	.sl-reviews-section .sl-reviews > .sl-review.sl-rv-off {
		display: none;
	}
}
@media (max-width: 767px) {
	.sl-reviews-section .sl-reviews {
		justify-content: flex-start !important;
		gap: 10px !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		padding: 0 2px !important;
		margin: 0 24px;
		width: calc(100% - 48px) !important;
		max-width: calc(100% - 48px);
	}
	.sl-reviews-section .sl-reviews::-webkit-scrollbar {
		display: none;
	}
	.sl-review {
		scroll-snap-align: center;
	}
	.sl-review .elementor-testimonial-wrapper {
		padding: 24px 0;
		min-height: 372px;
	}
	.sl-rv-arrow,
	.sl-rv-dots {
		display: none;
	}
}

/* ---------------------------------------------------------------- google reviews */
.sl-greviews-section .sl-greviews-head {
	margin-bottom: 40px;
}
.sl-greviews-section a.sl-greviews-head-link,
.sl-greviews-section a.sl-greviews-head-link:hover {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	color: var(--sl-navy);
	text-decoration: none;
}
.sl-google-g {
	flex: 0 0 auto;
	padding: 10px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.sl-greviews-lines,
.sl-greviews-lines span {
	color: var(--sl-navy);
}
.sl-greviews-lines {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-family: Roboto, Arial, sans-serif;
	font-size: 22px;
	line-height: 1.3;
}
.sl-greviews-score strong {
	font-weight: 700;
}
.sl-greviews-lines .sl-stars {
	color: #f4b400;
	letter-spacing: 2px;
}
.sl-greviews-based {
	font-size: 16px;
	text-decoration: underline;
}
.sl-greviews {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 24px;
}
.sl-greview {
	flex: 0 1 calc((100% - 48px) / 3);
	max-width: calc((100% - 48px) / 3);
	margin: 0;
}
.sl-greview-card {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	height: 100%;
	padding: 28px;
	background-color: var(--sl-card);
	border-radius: 12px;
	box-shadow: 2px 6px 30px rgba(0, 0, 0, 0.12);
	font-family: Roboto, Arial, sans-serif;
	color: var(--sl-navy);
	text-align: left;
}
.sl-greview-stars {
	margin-bottom: 12px;
	color: #f4b400;
	font-size: 18px;
	letter-spacing: 2px;
}
.sl-greview-text {
	flex: 1 1 auto;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	font-size: 16px;
	font-style: normal;
	line-height: 1.55;
}
.sl-greview figcaption {
	font-style: normal;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.sl-greview-name,
.sl-greview-name a {
	font-weight: 700;
	font-size: 16px;
	color: var(--sl-navy);
	text-decoration: none;
}
.sl-greview-src {
	font-size: 14px;
	font-weight: 600;
	color: var(--sl-slate);
}
.sl-greviews-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px 28px;
	width: 100%;
}
.sl-greviews-links {
	margin-top: 32px;
}
.sl-greviews-section a.sl-greviews-btn,
.sl-greviews-section a.sl-greviews-btn:hover {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 8px;
	background: var(--sl-navy);
	color: #fff;
	font-family: Roboto, Arial, sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}
.sl-greviews-section a.sl-greviews-btn:hover {
	background: var(--sl-teal);
}
.sl-greviews-section a.sl-greviews-write,
.sl-greviews-section a.sl-greviews-write:hover {
	color: var(--sl-navy);
	font-family: Roboto, Arial, sans-serif;
	font-size: 16px;
	text-decoration: underline;
}
@media (max-width: 1024px) {
	.sl-greview {
		flex-basis: calc((100% - 24px) / 2);
		max-width: calc((100% - 24px) / 2);
	}
}
@media (max-width: 767px) {
	.sl-greviews-section a.sl-greviews-head-link {
		flex-direction: column;
		gap: 12px;
		text-align: center;
	}
	.sl-greviews-lines {
		font-size: 20px;
	}
	.sl-greviews {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.sl-greviews::-webkit-scrollbar {
		display: none;
	}
	.sl-greview {
		flex: 0 0 85%;
		max-width: 85%;
		scroll-snap-align: center;
	}
}

/* ---------------------------------------------------------------- about images */
.sl-img-circle img {
	border-radius: 50%;
}

/* ---------------------------------------------------------------- gallery */
.sl-gallery .gallery {
	display: grid !important;
	grid-template-columns: repeat(12, 1fr);
	gap: 0 !important;
	margin: 0 !important;
}
.sl-gallery .gallery-item {
	grid-column: span 3;
	width: auto !important;
	max-width: none !important;
	height: 300px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background-color: rgba(0, 0, 0, 0.1);
}
.sl-gallery .gallery-item:nth-child(n + 9) {
	grid-column: span 4;
	display: none;
}
.sl-gallery.sl-expanded .gallery-item:nth-child(n + 9) {
	display: block;
}
.sl-gallery .gallery-icon,
.sl-gallery .gallery-icon a {
	display: block;
	width: 100%;
	height: 100%;
}
.sl-gallery .gallery-item img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: 50% 50%;
	border: 0 !important;
	border-radius: 0;
	transition: transform 0.3s ease;
}
/* GoDaddy darkened the sixth tile with a 24% black overlay. */
.sl-gallery .gallery-item:nth-child(6) img {
	filter: brightness(0.76);
}
.sl-gallery .gallery-item:hover img {
	transform: scale(1.05);
}
.sl-gallery .gallery-caption {
	display: none;
}
.sl-gallery br {
	display: none;
}
.sl-show-more {
	line-height: 20px;
}
.sl-show-more .elementor-button {
	vertical-align: top;
	display: inline-flex;
	align-items: center;
	height: 20px;
	min-height: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	line-height: 20px;
	cursor: pointer;
}
.sl-show-more .elementor-button-icon svg {
	width: 16px;
	height: 16px;
}
.sl-show-more .elementor-button:hover {
	color: var(--sl-slate);
}
.sl-show-more-wrap.sl-hidden {
	display: none !important;
}
@media (max-width: 767px) {
	.sl-gallery .gallery-item {
		grid-column: span 6;
		height: 130px;
	}
	.sl-gallery .gallery-item:nth-child(n + 9) {
		grid-column: span 4;
	}
}

/* Lightbox: blur the page behind, close to GoDaddy's blurred backdrop. */
.elementor-lightbox {
	-webkit-backdrop-filter: blur(40px) brightness(0.6);
	backdrop-filter: blur(40px) brightness(0.6);
}

/* ---------------------------------------------------------------- forms */
.sl-form .wpcf7 {
	width: 100%;
}
.sl-cf7 {
	margin: 0;
	text-align: left;
}
.sl-cf7 .wpcf7-form-control-wrap {
	display: block;
	position: static;
}
.sl-cf7 .sl-field {
	position: relative;
	padding-bottom: 24.4px;
}
.sl-cf7 input[type="text"],
.sl-cf7 input[type="email"],
.sl-cf7 input[type="tel"],
.sl-cf7 textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 58px;
	margin: 0;
	padding: 23px 8px 7px;
	border: 1px solid rgba(17, 17, 17, 0.24);
	border-radius: 12px;
	background-color: rgba(17, 17, 17, 0.06);
	background-image: linear-gradient(135deg, rgba(17, 17, 17, 0.09) 0%, rgba(17, 17, 17, 0.043) 46%, rgba(17, 17, 17, 0.02) 100%);
	-webkit-backdrop-filter: blur(12px) saturate(1.1);
	backdrop-filter: blur(12px) saturate(1.1);
	color: var(--sl-navy);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: 26.4px;
	box-shadow: none;
	outline: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.sl-cf7 textarea {
	height: 176px;
	padding: 8px;
	resize: vertical;
	margin-bottom: 4px;
}
.sl-cf7 input:focus,
.sl-cf7 textarea:focus {
	border-color: rgba(17, 17, 17, 0.42);
	background-color: rgba(17, 17, 17, 0.08);
	box-shadow: none;
	outline: none;
}
.sl-cf7 textarea::placeholder {
	color: var(--sl-navy);
	opacity: 1;
}
.sl-cf7 .sl-float > label {
	position: absolute;
	top: 19.27px;
	left: 16px;
	margin: 0;
	color: var(--sl-slate);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: 26.4px;
	pointer-events: none;
	z-index: 1;
	transition: top 0.15s ease, font-size 0.15s ease, line-height 0.15s ease;
}
.sl-cf7 .sl-sub-email > label {
	top: 18.47px;
}
.sl-cf7 .sl-float.is-active > label {
	top: 8px;
	font-size: 12px;
	line-height: 19.8px;
}
.sl-cf7 .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 12px;
	line-height: 18px;
	color: #b3261e;
}
.sl-cf7 .wpcf7-not-valid {
	border-color: #b3261e !important;
}
/* Attach row. */
.sl-cf7 .sl-attach-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 40px;
	height: 19px;
	box-sizing: content-box;
}
.sl-cf7 .sl-attach {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin: 0;
	cursor: pointer;
	color: var(--sl-slate);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: normal;
}
.sl-cf7 .sl-attach-link::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: -3px;
	background-color: var(--sl-slate);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.6 11.6L17 13l-5.9 5.9c-1.3 1.3-2.9 1.9-4.6 1.9-1.7 0-3.2-.7-4.5-2-2.5-2.5-2.5-6.6 0-9.2l7.1-7.1.1-.1c1.9-2 5.1-2 7.1 0l.1.1c2 2 2 5.1 0 7.1l-6.9 6.6c-.7.7-1.6 1.1-2.5 1.2h-.3c-.9 0-1.7-.3-2.2-.9-.7-.7-1-1.6-.9-2.6.1-.9.5-1.8 1.2-2.5l5.5-5.8L11.7 7l-5.5 5.9c-.4.4-.6.8-.6 1.3 0 .2 0 .7.3 1 .3.3.7.3 1 .3.4 0 .9-.3 1.3-.6L15 8.2C16.2 7 16.2 5.1 15 4l-.1-.1c-1.2-1.2-3.1-1.2-4.3 0l-.7.7-6.5 6.5c-1.8 1.8-1.8 4.6 0 6.3 1.8 1.7 4.6 1.8 6.3 0l5.9-5.8z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.6 11.6L17 13l-5.9 5.9c-1.3 1.3-2.9 1.9-4.6 1.9-1.7 0-3.2-.7-4.5-2-2.5-2.5-2.5-6.6 0-9.2l7.1-7.1.1-.1c1.9-2 5.1-2 7.1 0l.1.1c2 2 2 5.1 0 7.1l-6.9 6.6c-.7.7-1.6 1.1-2.5 1.2h-.3c-.9 0-1.7-.3-2.2-.9-.7-.7-1-1.6-.9-2.6.1-.9.5-1.8 1.2-2.5l5.5-5.8L11.7 7l-5.5 5.9c-.4.4-.6.8-.6 1.3 0 .2 0 .7.3 1 .3.3.7.3 1 .3.4 0 .9-.3 1.3-.6L15 8.2C16.2 7 16.2 5.1 15 4l-.1-.1c-1.2-1.2-3.1-1.2-4.3 0l-.7.7-6.5 6.5c-1.8 1.8-1.8 4.6 0 6.3 1.8 1.7 4.6 1.8 6.3 0l5.9-5.8z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.sl-cf7 .sl-attach .wpcf7-form-control-wrap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.sl-cf7 .sl-attach-count {
	color: var(--sl-teal);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 12px;
	line-height: 18px;
}
/* Opt-in checkbox. */
.sl-cf7 .sl-check {
	margin-bottom: 24px;
}
.sl-cf7 .wpcf7-list-item {
	display: block;
	margin: 0;
}
.sl-cf7 .wpcf7-list-item label {
	position: relative;
	display: flex;
	align-items: flex-start;
	margin: 0;
	cursor: pointer;
}
.sl-cf7 .wpcf7-list-item input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 19px;
	height: 19px;
	margin: 0;
}
.sl-cf7 .wpcf7-list-item-label {
	display: flex;
	align-items: flex-start;
	margin: 0;
	color: var(--sl-navy);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: normal;
}
.sl-cf7 .wpcf7-list-item-label::before {
	content: "";
	flex: none;
	box-sizing: border-box;
	width: 19px;
	height: 19px;
	margin: 2px 8px 0 0;
	border: 1px solid rgba(120, 111, 78, 0.5);
	border-radius: 2px;
	box-shadow: 0 1px 3px #575240;
	background: transparent center / 13px 13px no-repeat;
}
.sl-cf7 .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23172448' stroke-width='3' d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E");
}
.sl-cf7 .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label::before {
	outline: 2px solid var(--sl-slate);
	outline-offset: 2px;
}
/* Submit rows. */
.sl-cf7 .sl-submit {
	position: relative;
	display: flex;
	justify-content: center;
}
.sl-cf7 .sl-submit-full {
	padding-bottom: 24px;
}
.sl-cf7 .sl-submit-full .wpcf7-submit {
	width: 100%;
}
.sl-cf7 .sl-submit-center {
	padding-top: 24px;
}
.sl-cf7 .wpcf7-spinner {
	position: absolute;
	right: -32px;
	top: 16px;
	margin: 0;
}
.sl-cf7 .sl-submit-full .wpcf7-spinner {
	right: 12px;
}
/* The response line sits where GoDaddy showed its small print. */
.wpcf7 .sl-cf7 .wpcf7-response-output,
.wpcf7 form.sl-cf7.init .wpcf7-response-output {
	display: block;
	box-sizing: content-box;
	min-height: 18px;
	margin: 0;
	padding: 8px 0 16px;
	border: 0;
	color: var(--sl-teal);
	font-family: "Roboto", Arial, sans-serif;
	font-size: 16px;
	line-height: 18px;
	text-align: center;
}
.wpcf7 form.sl-cf7.invalid .wpcf7-response-output,
.wpcf7 form.sl-cf7.failed .wpcf7-response-output,
.wpcf7 form.sl-cf7.unaccepted .wpcf7-response-output {
	color: #b3261e;
}
.sl-form-quote .sl-cf7 .wpcf7-response-output {
	min-height: 18px;
}
/* Subscribe row. */
.sl-cf7 .sl-sub-row {
	display: flex;
	align-items: flex-start;
	padding: 4px 0;
}
.sl-cf7 .sl-sub-row .sl-sub-email {
	flex: 1 1 auto;
	padding-bottom: 0;
	margin-right: 24px;
}
.sl-cf7 .sl-sub-email input[type="email"] {
	height: 56px;
}
.sl-cf7 .sl-sub-submit {
	flex: 0 0 auto;
	max-width: 30%;
}
.sl-form-subscribe .sl-cf7 .wpcf7-response-output {
	min-height: 0;
	padding: 8px 0 0;
}
.sl-form-subscribe .sl-cf7.init .wpcf7-response-output:empty {
	display: none;
}
@media (max-width: 767px) {
	.sl-cf7 .sl-sub-row {
		flex-direction: column;
		align-items: stretch;
		padding: 0;
	}
	.sl-cf7 .sl-sub-row .sl-sub-email {
		margin: 0 0 24px;
	}
	.sl-cf7 .sl-sub-email input[type="email"] {
		height: 58px;
	}
	.sl-cf7 .sl-sub-submit {
		max-width: none;
	}
	.sl-cf7 .sl-sub-submit .wpcf7-submit {
		width: 100%;
	}
	.sl-cf7 .wpcf7-list-item-label {
		line-height: 19px;
	}
	.sl-cf7 .sl-sub-email > label {
		top: 19.27px;
	}
	/* GoDaddy's small print wrapped to two lines here; keep the same space for the response line. */
	.sl-form-quote .wpcf7 form.sl-cf7 .wpcf7-response-output,
	.sl-form-hiring .wpcf7 form.sl-cf7 .wpcf7-response-output {
		min-height: 36px !important;
	}
}
