span.red,
h1.red,
h2.red,
h3.red,
p.red {
	color: var(--color-red);
}

span.red,
h1.indigo,
h2.indigo,
h3.indigo,
p.indigo {
	color: var(--color-indigo);
}

span.orange,
h1.orange,
h2.orange,
h3.orange,
p.orange {
	color: var(--color-orange);
}

span.white,
h1.white,
h2.white,
h3.white,
p.white {
	color: var(--color-white);
}

span.slate,
h1.slate,
h2.slate,
h3.slate,
p.slate {
	color: var(--color-slate);
}

span.blue,
h1.blue,
h2.blue,
h3.blue,
p.blue {
	color: var(--color-blue);
}

span.charcoal,
h1.charcoal,
h2.charcoal,
h3.charcoal,
p.charcoal {
	color: var(--color-charcoal);
}

span.charleston,
h1.charleston,
h2.charleston,
h3.charleston,
p.charleston {
	color: var(--color-charleston);
}

.button.orange,
.button.red,
.button.blue,
.button.sky,
.button.green,
.button.outline {
    text-align: center;
    margin: auto;
    white-space: break-spaces;
    padding: 10px 35px;
    border: 1px solid var(--color-black);
    line-height: 1;
    text-decoration: none !important;
	color: var(--color-white);
	font-size: 18px;
}

.button.red:hover,
.button.orange:hover,
.button.orange:focus,
.button.blue:hover,
.button.sky:hover,
.button.green:hover,
.button.red:focus,
.button.blue:focus,
.button.sky:focus,
.button.green:focus {
	background-color: var(--color-white);
}

.button.outline {
    color: var(--color-black);
}

.button.outline:hover,
.button.outline:focus {
    background-color: #f5f5f5;
}

.button.red {
	border-color: var(--color-red);
    background-color: var(--color-red);
}

.button.red:hover,
.button.red:focus {	
	border-color: var(--color-red);
	color: var(--color-red);
}

.button.blue {
	border-color: var(--color-blue);
    background-color: var(--color-blue);
}

.button.blue:hover,
.button.blue:focus {
	border-color: var(--color-blue);
	color: var(--color-blue);
}

.button.green {
	border-color: var(--color-green);
    background-color: var(--color-green);
}

.button.green:hover,
.button.green:focus {
	border-color: var(--color-green);
	color: var(--color-green);
}

.button.sky {
	border-color: var(--color-sky);
    background-color: var(--color-sky);
}

.button.sky:hover,
.button.sky:focus {
	border-color: var(--color-sky);
	color: var(--color-sky);
}

.button.orange {
	border-color: var(--color-orange);
    background-color: var(--color-orange);
}

.button.orange:hover,
.button.orange:focus {
	border-color: var(--color-orange);
	color: var(--color-orange);
}

/* Hero banner */
.hero {
	height: 435px;
}

.hero::before {
	background: linear-gradient(90deg, rgba(0, 144, 218, 0.608) 0%, rgba(153, 204, 0, 0.408) 100%);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}

.paragraph--type--c2a {
	background: rgba(0, 144, 218, 0.608);
}

.hero h1,
.hero h2 {
	text-shadow: 2px 4px 4px var(--color-black);
	padding-bottom: 10px;
}

.hero h1,
.hero h1>span,
.hero h2,
.hero h2>span {
	font-size: var(--fs-48) !important;
}

.hero p {
	font-size: var(--fs-20);
}

.hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero .media {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.hero .media video,
.hero .media img {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	max-width: inherit;
}

.hero .media video::-webkit-media-controls-start-playback-button {
	display: none !important;
	-webkit-appearance: none;
}

.hero .media video::-webkit-media-controls {
	display: none;
}

@media screen and (max-width: 767px) {
	.hero p {
		font-size: var(--fs-16);
	}

	.hero h1,
	.hero h1 span {
		font-size: var(--fs-28) !important;
	}
}

/* Paragraph column wrapper */
.column-wrapper {
	padding: 60px 0;
	background-color: var(--color-white);
}

.column-wrapper .column-wrapper-header h2 {
	--fs-18: var(--fs-46);
	margin-bottom: 20px;
}

.column-wrapper .content-description h3 {
	--fs-18: var(--fs-28);
}

.column-wrapper .field--name-field-media-image {
	text-align: center;
	height: 140px;
	overflow: hidden;
}

@media (min-width: 1200px) {
	.column-wrapper > .container {
		max-width: 1140px;
	}
}

@media screen and (max-width: 1023px) {
	.column-wrapper .column-wrapper-header h2 {
		--fs-46: var(--fs-20);
	}

	.column-wrapper .content-description h3 {
		--fs-28: var(--fs-20);
	}
}

@media screen and (max-width: 540px) {
	.content-column {
		margin-bottom: 20px;
	}
}

/* featured paragraph */
.featured {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.featured h2 {
	--fs-18: var(--fs-28);
}

.featured .featured-primary-wrapper .featured-secondary-wrapper {
	margin-bottom: -60px;
	margin-top: 30px !important;
	border: 1px solid var(--colorSet1);
	background-color: white;
}

@media screen and (max-width: 991px) {
	.featured {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

	.featured h2 {
		--fs-18: var(--fs-22);
	}
}

/* stack card paragraph */
.stack-card .media--type-image {
	text-align: center;
	padding-bottom: 15px;
}

.stack-card img {
	border-radius: 50%;
	width: 140px;
	min-width: 140px;
	height: 140px;
	min-height: 140px;
	display: inline-block;
	object-fit: cover;
}

.stack-card .button {
	width: max-content !important;
	display: inline-block;
	min-width: 200px;
}

.stack-card:last-child:before {
	content: "";
	height: 1px;
	width: 100%;
	background-color: var(--color-border-secondary);
	position: absolute;
	top: 0;
	left: 0;
	display: none;
}

@media screen and (max-width: 575px) {
	.stack-card:last-child:before {
		display: block;
	}
	.stack-card .media--type-image {
		padding-top: 15px;
	}
}

@media (max-width: 767px) {
	.stack-card p {
		margin-left: auto;
		margin-right: auto;
	}

	.stack-card p br {
		display: block !important;
	}

	.stack-card:first-child {
		margin-bottom: 20px;
	}

	.stack-card:last-child {
		margin-bottom: 20px;
	}

	.stack-card:last-child:not(:has(img)) {
		padding-top: 20px;
	}

	.content-column {
		max-width: 300px;
	}

	.paragraph--type--c2a .field--name-field-title {
		padding-bottom: 10px;
	}

}

@media (min-width: 768px) {
	.stack-card {
		max-width: 370px;
		padding-bottom: 40px;
	}

	.stack-card h3 {
		min-height: 100px;
	}

	.stack-card img {
		width: 100px;
		min-width: 100px;
		height: 100px;
		min-height: 100px;
	}

	.stack-card .button {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media (min-width: 992px) {
	.stack-card .button {
		width: 100%;
		max-width: 350px;
	}
}

.paragraph-1-4-image-3-4-text .field--name-field-full-width-bottom-text {
	padding-top: 15px;
}

.two-equal-width-cards > .row:before,
.two-equal-width-cards > .row:after {
	display: none;
}

.paragraph--type--full-width-media-and-button .field--type-link {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	justify-content: center;	
}

.paragraph--type--full-width-media-and-button .field--type-link a {
	border: solid 1px var(--colorSet1);
	box-shadow: none !important;
	height: auto;
	--fs-20: var(--fs-16);
	min-width: aut;
	padding: 8px 14px;
	line-height: 1;
}

.paragraph--type--full-width-media-and-button .field--type-link a:hover {
	background: white;
	color: var(--colorSet1) !important;
}

/* tile specific component styles */
.tile-content .paragraph--type--faq-list,
.tile-content .featured
.tile-content .column-wrapper {
    padding: 16px 0 !important;
}

.tile-content .paragraph--type--c2a {
    padding: 24px 0 !important;
}

.tile-content .paragraph--type--content-slider {
    padding: 16px var(--m-48);
}

@media screen and (min-width: 1024px) {
    .tile-content .paragraph--type--content-slide>div.slide-media {
        min-height: 300px;
    }
}

.tile-content .featured .featured-primary-wrapper .featured-secondary-wrapper {
	margin-right: 1rem !important;
	margin-left: 1rem !important;
	margin-bottom: 0;
}

.tile-content .field--name-field-link a {
	background: var(--brandCol1);
}

.paragraph--type--product-list .button--add-to-cart {
	background-color: var(--colorSet1);
	border-color: var(--colorSet1);
	padding: 9px 20px;
	min-width: 160px;
	line-height: 1;
	box-shadow: none !important;
	outline: none !important;
	margin-left: 0px;
	--fw-500: var(--fw-700);
	--fs-16: var(--fs-20);
}

@media screen and (max-width: 1024px) {
	.paragraph--type--product-list .button--add-to-cart {
		font-size: 16px !important;
	}
}

.product-grid .product-media .field--name-field-product-image {
	text-align: center;
}

.stack-card p:has(.button) {
	text-align: center;
}

@media screen and (max-width: 1023px) {
	.paragraph--type--content-slider .slick-arrow {
		display: none;
	}
}