/* Enable smooth, cross-page transitions */
@view-transition {
    navigation: auto;
  }

.site-header {
	position: fixed;
	z-index: 999999;
	width: 100%;
	background: #fff;
	transition: ease .5s;
	top: 0;
}

.sticky-header {
	box-shadow: 0 0 10px #999;
}

/* .sticky-header #top-header-container {
	display: none;
} */

#bottom-header-container #logo img {
	transition: ease .5s;
}

.sticky-header #bottom-header-container #logo img {
	position: static;
	max-width: 195px;
	top: -5px !important;
}
@media screen and (max-width: 767px) {
	.sticky-header #bottom-header-container #logo img {
		max-width: 155px;
	}
}

.block-hero_section,
#interior-header-container {
	margin-top: 133px;
}

iframe {
	max-width: 100%;
}

.search-button input {
	font-size: 0;
}

.search-form .icon-search {
	cursor: pointer;
	color: #111;
	margin-left: 0.2rem;
}

/* Testimonials Section Styles */
.testimonials {
	padding: 60px 0;
	background-color: #f8f9fa;
}

.section-head {
	margin-bottom: 50px;
}

.section-title .heading-bg {
	display: block;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #666;
	margin-bottom: 10px;
}

.section-title .heading-secondary {
	font-size: 36px;
	font-weight: 700;
	color: var(--text-dark-1);
	margin: 0;
}

blockquote {
	background: #fff;
	border-radius: 8px;
	padding: 30px;
	margin: 0;
	box-shadow: 0 4px 20px rgba(0,0,0,0.1);
	border: none;
	position: relative;
    i {
        font-size: 3rem;
        color: rgb(37, 51, 92);
        margin-bottom: 1rem;
    }
}

.blockquote-content {
	margin-bottom: 20px;
	position: relative;
    .icon-quote {
        font-size: 24px;
        color: hsl(359, 94%, 40%);
        margin-bottom: 15px;
        display: block;
        text-align: center;
    }
    p {
        font-style: italic;
        font-size: 1.5rem;
        line-height: 1.3;
        color: #555;
        margin: 0;
    }
}

.blockquote-footer {
	margin-top: 2rem;
    font-size: 1.65rem;
    text-align: center;
}

.blockquote-footer__title strong {
	font-size: 16px;
	font-weight: 600;
	color: var(--text-dark-1);
}

/* Slick slider overrides */
.slick-dots {
	display: flex !important;
	justify-content: center;
	align-items: center;
	list-style: none;
	padding: 0;
    padding-left: 0 !important; /* Necessary to override another CSS rule */
	margin: 20px 0 0 0;
}

.slick-dots li {
	margin: 0 5px;
}

.slick-dots li button {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: none;
	background: #ccc;
	cursor: pointer;
	font-size: 0;
	transition: all 0.3s ease;
}

.slick-dots li.slick-active button,
.slick-dots li:hover button {
	background: #e74c3c;
}

/* Fix animsition causing page flash - ensure body is always visible */
body.animsition {
	opacity: 1 !important;
}

.search-form .icon-search:hover {
	color: #0c24c6;
}

.search-form .icon-search:after {
	content: '';
	font-family: 'icomoon' !important;
	display: inline-block;
}

.menu-main-menu-container {
	display: inline-block;
}

.menu-main-menu-container li :is(a, .link) {
	font-size: calc(0.5rem + 0.5vh + 0.5vw) !important;
}

.search-form--mobile {
	display: block !important;
}

.search-form {
	position: relative;
}

.search-form form {
	position: absolute;
	top: 56px;
	right: 0;
	display: none;
	background: #fff;
	padding: 1rem;
	box-shadow: 0 0 10px rgb(0 0 0 / 50%);
}

.search-form #search {
	padding-right: 6rem;
}

.search-form #search-submit {
	position: absolute;
	right: 10px;
	font-size: 13px;
	padding: 0.6rem;
	border: none;
	background-color: #0c24c6;
	color: #fff;
}

.search-page__wrapper {
	padding: 3rem 0;
	max-width: 99%;
	margin: 0 auto;
}

.search-page__wrapper .row {
	display: flex;
	flex-wrap: wrap;
}

.search-page__wrapper .news-card {
	margin-bottom: 2rem;
	width: 100%;
}

.search-page__wrapper .blog-text {
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	padding: 2rem 1rem;
	height: 100%;
	transition: ease .5s;
}

.search-page__wrapper .blog-text a {
	text-decoration: none;
	color: #111;
}

.search-page__wrapper .blog-text a:hover {
	text-decoration: none;
	color: #0c24c6;
}

.search-page__wrapper .blog-text:hover {
	box-shadow: 0 0 12px rgba(0, 0, 0, .5);
}

.search-page__wrapper .blog-text:hover a {
	color: #0c24c6;
}

.search-page__wrapper .posts-navigation {
	width: 100%;
	padding: 0 15px;
}

.no-results {
	text-align: center;
}

.search-form .icon-search {
	color: #0c24c6;
}

#home-introduction-container .page+p a:after,
.list-link li a:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	font-family: 'icomoon' !important;
	font-size: 1.1rem;
	margin-left: .5rem;
	transition: ease .5s;
}

#home-introduction-container .page+p a:hover:after,
.list-link li a:hover:after {
	margin-left: 1rem;
}

.block-features .page-widget,
#part-accessory-container .products a,
#single-parts-related a {
	padding: 5px;
	transition: ease .5s;
	text-align: center;
}

.block-features .page-widget:hover,
#part-accessory-container .products a:hover,
#single-parts-related a:hover {
	box-shadow: 0 0 10px;
}

.error404 .title-404 {
	color: #0c24c6;
	font-size: 50px;
	line-height: 1;
}

.error404 .buttons-warp .button {
	margin-bottom: 5px !important;
}

.error404 .wrap {
	min-height: auto !important;
	height: auto !important;
}

.page-404 #siteSearchForm {
	display: inline-block;
	width: 100%;
	position: relative;
	margin-bottom: 2.5rem;
}

.page-404 #siteSearchForm input[type=text],
.page-404 #error-container table {
	width: 100%;
}

.page-404 #siteSearchForm input[type=submit] {
	border-radius: 0;
	height: 50px;
	padding: 1rem;
	position: absolute;
	right: 0;
	top: 0;
}

.page-404 #error-container {
	max-width: 650px;
}

#home-introduction-container h3,
#home-introduction-container #background+a:hover p {
	color: #0c24c6 !important;
}

.home-testimonials-slide .home-testimonials-slide__item {
	width: 100% !important;
	text-align: center;
}

.home-testimonials-slide h3 {
	background-color: #fff;
	color: #000;
	padding: 2rem;
	position: relative;
}

.home-testimonials-slide h3:after {
	content: '';
	width: 10px;
	height: 10px;
	background-color: #fff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	margin: 0 auto;
	transform: rotate(45deg);
}

#home-testimonials-container .home-testimonials-slide>div>div:first-child>div {
	padding: 0 50px !important;
}

.why-row p {
	text-align: center;
}

#ship-to-different-address {
	padding-left: 20px;
}

/* Mobile Menu */

#mobile-menu {
	transform: translateX(100%);
	-webkit-transform: translateX(100%);
	box-shadow: 0 0 15px rgba(0, 0, 0, .2);
	top: 0;
	padding: 0 40px 0 20px;
}

#mobile-menu.is-visible {
	transform: translateX(20px);
	-webkit-transform: translateX(20px);
}

#mobile-menu .menu-main-menu-container {
	width: 100%;
}

#mobile-menu #mobile-menu-header>div:last-child a {
	right: 2rem;
	font-size: 14px;
}

.site-header #mobile-menu .menu-item-has-children .caret:before {
	background-image: url('/static/manufacturer1/fonts/arrow-down-s-line-1.svg');
	width: 24px;
	height: 24px;
	border: none;
}

#mobile-menu #mobile-menu-header>div:last-child a {
	color: #000;
}

#mobile-menu .menu-main-menu-container li a {
	font-family: 'Libre Franklin' !important;
}

#mobile-menu a.call {
	background: #fff;
	box-shadow: 0px 18px 67px rgb(0 0 0 / 16%);
	padding: 1rem 2rem;
	display: inline-block;
	margin-top: 2rem;
	border-radius: 6px;
	color: #0C24C6;
}

#mobile-menu #mobile-menu-content ul li {
	padding: 15px 0;
}

#breadcrumbs {
	color: #fff;
	margin-top: 10px;
}

#breadcrumbs span span span {
	padding-left: 8px;
}

#breadcrumbs span a {
	padding-right: 8px;
}


@media (min-width: 768px) {
	.search-page__wrapper .col-md-6 {
		max-width: 50%;
		flex-basis: 50%;
		padding: 0 15px;
	}

	.search-item {
		padding: 0 15px;
		box-shadow: 0 0 10px rgba(0, 0, 0, .5);
	}

	.search-page__wrapper .blog-text {
		padding: 2rem;
	}

	.error404 .title-404 {
		font-size: 100px;
	}
}


@media (min-width: 992px) {
	.search-page__wrapper .news-card {
		margin-bottom: 3rem;
	}

	.search-item {
		padding: 30px;
	}

    .block-hero_section,
	#interior-header-container {
		margin-top: 112px;
	}

	.search-page__wrapper {
		padding-bottom: 4rem;
	}

	.title-404 {
		font-size: 140px;
	}

}

@media (min-width: 1001px) {
	.search-form {
		display: inline-block !important;
	}

	.search-form--mobile {
		display: none !important;
	}

	.search-form .icon-search {
		font-size: 1.3rem;
	}
}

@media (min-width: 1200px) {
	.search-page__wrapper .blog-text {
		padding: 3rem 2rem;
	}

	.search-page__wrapper {
		padding: 6rem 0;
	}

	.menu-main-menu-container li {
		margin-right: 11px !important;
	}

	.menu-main-menu-container li:last-child {
		margin-right: 0 !important;
	}

	.search-form .icon-search {
		font-size: 1.6rem;
		margin-left: 1rem;
	}

	.error404 .title-404 {
		font-size: 190px;
	}
}

@media (min-width: 1600px) {
	.menu-main-menu-container li {
		margin-right: 20px !important;
	}

	.menu-main-menu-container li:last-child {
		margin-right: 0 !important;
	}
}

@media (max-width: 1200px) {

	#header-container #top-header-container>div>div>div:first-child,
	#header-container #bottom-header-container>div>div>div:first-child {
		max-width: 188px !important;
	}

	#header-container #bottom-header-container>div>div>div:first-child img {
		top: 0 !important;
	}

	.search-page__wrapper {
		padding: 3rem 15px;
	}
}

@media (max-width: 1000px) {
	.header_bottom {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
	}

	.site-header .menu-item-has-children .caret {
		top: 8px;
	}

	#header-container #bottom-header-container #mobile-menu-icon {
		right: 48px !important
	}

	.search-form .icon-search {
		margin: .5rem 0 0 .5rem;
	}

	.home-testimonials-slide {
		padding: 3rem 0;
	}

	.site-header .menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
	}

	.site-header .sub-menu {
		transition: inherit;
		width: 100%;
	}
}

/* Hero section styling - applies to all screen sizes */
#hero-container #hero-slider .hero-slide {
	position: relative;
	overflow: hidden;
}

/* Hero background image styling */
.hero-background-image {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	object-position: center;
    aspect-ratio: 21 / 9;
	z-index: 1;
    overflow: hidden;
	min-width: 100%;
    min-height: 100%;
	pointer-events: none; /* Prevent interaction with the image */
}

/* Hero content container */
.hero-slide .container {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
	min-height: inherit; /* Inherit the min-height from hero-slide */
}

.hero-slide .hero-content {
	position: relative;
	z-index: 3;
}

@media (max-width: 767px) {
	#breadcrumbs {
		font-size: 16px;
	}

	#interior-header-container {
		margin-top: 110px;
	}

	h1 {
		font-size: 25px !important;
	}

	h2 {
		font-size: 20px !important;
	}

	#content p {
		margin-bottom: 15px !important;
	}

	#hero-container #hero-slider .hero-slide {
		min-height: 70vh !important;
	}
	@media screen and (max-height: 667px) {
		#hero-container #hero-slider .hero-slide {
			min-height: 85vh !important;
		}
	}


	.block-features {
		padding-bottom: 20px !important;
	}

	.block-features .page-widget {
		margin: 10px 0 !important;
	}

/* 	.block-features .page-widget p {
		display: none;
	}
 */
	.block-features .page-widget img {
		margin-bottom: 15px !important;
	}

	.block-features .page-widget h3 {
		margin-bottom: 10px !important;
	}

	#home-testimonials-container {
		margin-bottom: 30px !important;
	}

	.search-page__wrapper .blog-text h3 {
		font-size: 18px !important;
	}
}


@media (max-width: 575px) {
	.search-form form {
		right: -14px;
	}

	.page-404 #siteSearchForm input[type=submit] {
		position: static;
		display: block;
		width: 100%;
		min-width: 100%;
		margin-top: 5px;
	}
}

@media (max-width: 375px) {

	.woocommerce-cart-form__contents .coupon input,
	.woocommerce-cart-form__contents .coupon button,
	.woocommerce-cart-form__contents .coupon+button {
		width: 100% !important;
		max-width: 100% !important;
	}

	.woocommerce-cart-form__contents .coupon input {
		margin-bottom: 1rem !important;
	}
}

/*2022-06-24*/
/*Color Changes */

#header-container #top-header-container,
#home-introduction-container>div>div>div:last-child #background,
#home-introduction-container>div>div>div:last-child:after,
#content input[type="submit"],
#content button[type="submit"],
#products-container #parts-wrapper>div:first-child .categories li.current-cat .root,
#blog-list-container>div#blog-category-container ul li a.current,
#blog-list-container>div#blog-category-container ul li a:hover {
	background: var(--color-dark-1);
}

#header-container #top-header-container>div>div>div:last-child ul li a:hover,
#header-container #bottom-header-container>div>div>div:last-child ul li a:hover,
#header-container #bottom-header-container>div>div>div:last-child ul li.current-menu-item a,
#home-introduction-container h3,
#home-introduction-container #background+a:hover p,
.why-row h2,
#fuel-cost-comparison-form h3,
#single-product-call h2 {
	color: #9CC5E5 !important;
}

li.menu-item:has(.current-menu-item) > :is(a, .link) {
    color: #9CC5E5 !important;
}

.site-header .sub-menu,
.search-form #search-submit {
	background-color: var(--color-dark-1);
	border: 1px solid var(--color-dark-1);
}

.search-form #search-submit {
	border: 1px solid var(--color-dark-1) !important;
}

input[type=submit]:not(#search-submit):hover {
	color: var(--color-dark-1) !important;
}

span.icon-arrow {
	color: #1b1b1b;
	font-weight: 700;
}

#content a:not(.button):not(.small-button):not(.button-alt):not(.page-numbers),
#content #interior-sub-navigation-container li.current_page_item a,
#content #interior-sub-navigation-container li a:hover,
#content #interior-sub-navigation-container li a:hover,
#content a:not(.button):not(.small-button):not(.page-numbers).blog-link,
#pagination-container .page-numbers.current,
#pagination-container .page-numbers:hover,
#header-container #bottom-header-container>div>div>div:last-child ul li.current-page-ancestor a,
.search-form .icon-search {
    color: hsl(224, 54%, 34%);
}

#content a:not(.button):not(.small-button):not(.page-numbers):hover,
#widgets-container>div .page-widget h3,
#content a:not(.button):not(.small-button):not(.page-numbers).blog-link:hover,
.search-form .icon-search:hover {
	color: var(--color-dark-1-lightened);
}

#home-introduction-container .page+p a:after {
	font-weight: 700;
	color: #1b1b1b;
}

#single-product-header h2 {
	color: var(--color-dark-1) !important;
}

#home-testimonials-container .home-testimonials-slide>div>div:last-child,
#home-testimonials-container .home-testimonials-slide {
	background-image: none !important;
	background-color: var(--color-dark-1) !important;
}

#footer-container #top-footer-container {
    background: #1b1b1b;
}

#content > *:not(.block-hero_section, #fuel-cost-container, #products-container, :has(.background-photo), dialog) {
    padding-block: 10rem;
}
/* override for last <section> on a page */
#content > *:last-of-type:not(.block-hero_section, #fuel-cost-container, #products-container, :has(.background-photo), dialog) {
    padding-block-end: 15rem;
}

/* override for first <section> after an <h1> */
h1 + section {
    padding-block-start: 8rem !important;
}


a.small-button {
    font-size: 1.5rem;
    border-radius: 6px;
    padding: 6px 12px;
    text-align: center;
}
a.small-button:hover {
    text-decoration: none !important;
    color: white !important;
}

#content a.small-button,
#content a.button-alt {
	border: 1px solid var(--color-dark-1);
	color: var(--color-dark-1);
}

#content a.small-button:hover,
#content a.button-alt:hover {
    color: var(--color-light-1) !important;
	background-color: var(--color-dark-1);
}

#content input[type="submit"],
#content button[type="submit"] {
	border: 1px solid var(--color-dark-1) !important;
}

#content input[type="submit"]:hover,
#content button[type="submit"]:hover {
	background: var(--color-dark-1);
	color: var(--color-dark-1) !important;
}

#content .product-wrapper h2 {
    color: #111;
    font-size: 2.25rem;
    font-weight: 700;
    font-family: roboto condensed;
    line-height: 1.5;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: .5px;
}

#single-product-details-wrapper>div:last-child>div {
	background-color: var(--color-dark-1);
}

.woocommerce ul.products li {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.woocommerce ul.products li form {
	display: flex;
}

.woocommerce ul.products li form input[type="submit"] {
	margin-top: 0 !important;
}

.woocommerce ul.products li.product .button {
	margin: 0 0 0 4px!important;
	min-width: 100px !important;
	padding: 16px 8px !important;
}

/* Template fix for archive page */
.tax-product_cat #products-container #parts-wrapper>div:last-child ul a{
    width: auto !important;
}

/* Formatting of text components of Hero slides */
.hero-slide span {
	color: white;
	font-family: inherit;
	display: block;
	max-width: 55vw;
	text-wrap: balance;
	position: relative;
	z-index: 4;
}
@media screen and (max-width: 767px) {
	.hero-slide span {
		max-width: unset;
		text-align: center;
		justify-content: center;
	}
}
.hero-slide .title-text {
	font-size: clamp(3rem, calc(2vh + 2vw), 5.5rem);
	font-weight: 700;
	line-height: 1.2;
    letter-spacing: 1px;
}
.hero-slide :is(.subtitle-text, .call-to-action) {
	font-size: clamp(1.75rem, calc(1.3vh + 1.3vw), 2.75rem);
    font-weight: 700;
    line-height: 1.33;
	margin-top: 1.5rem;
}
.hero-slide .main-text {
	margin-top: 2.5rem;
	font-size: clamp(1.5rem, calc(0.8vh + 0.8vw), 2.25rem);
}
.hero-slide .fine-print {
	margin-top: 2rem;
	font-size: clamp(1.2rem, calc(0.6vh + 0.6vw), 1.4rem);
}
.hero-slide .buttons {
	display: flex;
	margin-top: calc(1.25vh + 1.25vw);
	flex-wrap: wrap;
	gap: calc(0.4vh + 0.4vw);
	position: relative;
	z-index: 4;
}

/*****************  PRODUCT GRID  *****************/
/* NOTE: the "flip-card" class must be declared along with the product-wrapper" class in order to implement flip cards (see declaration below)  */
.product-grid {
	display: flex;
	gap: 4rem;
	justify-content: space-around;
	align-items: stretch;
	flex-wrap: wrap;
}
/* #content is necessary to override a declaration elsewhere without using !important */
#content .product-wrapper h3 {
	color: #111;
	font-size: 2.25rem;
	font-weight: 700;
	font-family: roboto condensed;
	line-height: 1.5;
	text-transform: uppercase;
	text-align: center;
    letter-spacing: .5px;
}
.product-grid .product-image-description-wrapper {
	flex-grow: 1;
	gap: 1.5rem;
	padding: 40px 20px;
	box-shadow: 0px 10px 29.1px 0.9px rgba(11, 12, 17, 0.1);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
    transform-style: preserve-3d;
    transition: transform 0.6s ease-in-out;
	position: relative;
}
.product-wrapper {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	perspective: 1000px;
    flex: 0 0 350px;
}
.product-image-description-wrapper :is(img, .description) {
	backface-visibility: hidden;
}
.product-image-description-wrapper img {
	height: auto;
	width: 100%;
    max-width: 300px;
	max-height: 375px;
}
.product-image-description-wrapper .button {
	padding: 12px !important;
	line-height: 1.25;
	font-size: 1.4rem;
	text-wrap: balance
}
.product-image-description-wrapper .description {
	transform: rotateY(180deg);
    position: absolute;
    font-size: 1.6rem;
    color: #111;
    padding: 2rem;
    display: flex;
	flex-direction: column;
    border: 7px solid #555;
    height: 100%;
    width: 100%;
    justify-content: space-around;
    align-items: center;
	text-align: center;
}
.product-wrapper.flip-card:hover .product-image-description-wrapper {
	transform: rotateY(180deg);
}
/****************   END  PRODUCT GRID   ******************/

html {
	scroll-behavior: smooth;
}

#parts_overview_grid {
	display: grid;
	gap: 3.5rem;
	grid-template-columns: repeat(auto-fill, minmax(140px, 180px));
	justify-content: center;
}
#parts_overview_grid ul {
	list-style: none;
}
#parts_overview_grid li {
	font-size: 1.5rem;
	margin-block-end: 0.75rem;
	width: 100%;
}
#parts_overview_grid li a {
	margin-bottom: 0 !important;
	flex-direction: row !important;
	justify-content: space-between;
	align-items: center;
}
#parts_overview_grid a:has(+ ul.categories) {
	display: inline-block;
	margin-bottom: 1rem;
	color: #555 !important;
	border-bottom: 1px dotted #555;
}
#parts_overview_grid a:has(+ ul.categories):hover {
	border-bottom: 1px solid #555;
}

.table-responsive {
	margin-block-end: 2rem;
}
.product-spec-table a {
	color: #555 !important;
	font-weight: 700;
}
.product-spec-table a:hover:not(:has(img)) {
	border-bottom: 1px solid #9CC5E5;
	color: #9CC5E5 !important;
}
.product-spec-table a:hover:has(img) {
	opacity: 0.5;
}
.product-spec-table img {
	max-width: 140px;
}
.product-spec-table td {
	max-width: 150px;
	white-space: normal !important;
	vertical-align: middle !important;
}
.product-spec-table tr td:not(:first-of-type) {
	text-align: center;
}
.product-spec-table thead tr td {
	border-bottom-width: 1px;
}
.product-spec-table tr td:first-of-type {
	font-weight: 700;
	font-size: 1.6rem;
	min-width: 12.5rem;
	position: sticky;
	left: 0;
	background-color: white;
	text-wrap: balance !important;
}
.product-spec-table thead tr:nth-child(-n+2) td:first-of-type {
	border-left: 1px solid white !important;
	border-top: 1px solid white !important;
}
.product-spec-table thead tr:first-of-type td:first-of-type {
	border-bottom: 1px solid white !important;

}

/* Fix problem with on-page ALL HEATING SYSTEMS link not working in mobile */
div:has(>#all_systems_small_screens) {
	display: none !important;
}
@media screen and (max-width: 1000px) {
	div:has(>#all_systems_small_screens) {
		display: block !important;
	}
}
#mobile-menu li:has([href$="#boilers-heaters-furnaces"]) {
	display: none;
}

/* Testimonials Section Styles */
.testimonials .section-head {
	margin-bottom: 3rem;
}

.testimonials .heading-bg {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #999;
	margin-bottom: 0.5rem;
	display: block;
}

.testimonials .heading-secondary {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--text-dark-1);
	margin: 0;
}

.testimonials-slide {
	margin-bottom: 2rem;
}

.testimonials-slide__item {
	padding: 0 15px;
    break-inside: avoid;
}

.css-columns .testimonials-slide__item {
    margin-block-end: 1.5rem;
}

/* Slick slider customizations */
.testimonials-slide.slick-initialized {
	display: block;
}

.slick-slide {
    margin-block-start: 0.8rem;
    margin-block-end: 1.5rem;
}

.slick-dots {
	display: flex !important;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 2rem 0 0 0;
	gap: 0.5rem;
}

.slick-dots li {
	margin: 0;
}

.slick-dots li button {
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 2px solid #ccc;
	background: transparent;
	font-size: 0;
	cursor: pointer;
	transition: all 0.3s ease;
}

.slick-dots li.slick-active button,
.slick-dots li button:hover {
	background: hsl(224, 41%, 47%);
	border-color: hsl(224, 41%, 47%);
}

/* Responsive adjustments */
@media (max-width: 1024px) {
	.testimonials .heading-secondary {
		font-size: 2rem;
	}

	.blockquote {
		padding: 1.5rem;
	}
}

:is([class$='text_beside_image_section'], .hero-slide) p {
    line-height: 1.5 !important;
}

/* Ensure <ul>'s inside slides aren't centered on smaller screens */
.hero-slide ul {
    display: inline-block;
    text-align: left;
}

/* CSS for blocks_section - copied from Belay Station Consulting */

/* Ensure blocks_section grid items stretch to equal heights */
.block-blocks_section .columns {
    align-items: stretch;
}

    .info-block {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        padding: calc(1.5vw + 1.5vh) calc(1vw + 1vh);
        box-shadow: 0px 10px 29.1px 0.9px rgba(11, 12, 17, 0.1);  /* Secondary shadow */
        text-align: center;
        .icon-or-image {
            height: clamp(3rem, calc(8rem + 0.5vh + 0.5vw), 12rem);
            margin-block-end: 1.5rem;
        }
        i {
            font-family: 'icomoon' !important;
            font-size: clamp(3rem, calc(2.5vw + 2.5vh), calc(2.5vw + 2.5vh));
            font-style: normal;
            font-weight: normal;
            font-variant: normal;
            text-transform: none;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            display: block;
            margin-bottom: calc(0.5vw + 0.5vh);
        }
        :is(i, img) + h3 {
            margin-block-start: calc(0.5vw + 0.5vh);
        }
        img {
            box-shadow: 0px 10px 29.1px 0.9px rgba(15, 16, 21, 0.4);  /* Secondary shadow */
            border-radius: clamp(3px, calc(0.3vh + 0.3vw), 6px);
        }
        p {
            text-wrap-style: balance;
        }
    }

/* Background colors for band types */
section:has(.band-type-1) {
    background-color: var(--color-light-1);
    color: var(--text-dark-1);
}
section:has(.band-type-2) {
    background-color: var(--color-light-2);
    color: var(--text-dark-1);
}

/* Other styling for band types */
.band-type-1 {
    background-color: var(--color-light-1);
    color: var(--text-dark-1);
    .info-block {
        i {
            color: hsl(224, 41%, 37%);
        }
    }
}
.band-type-2 {
    background-color: var(--color-light-2);
    color: var(--text-dark-1);
    .info-block {
        background-color: var(--color-light-1);
        i {
            color: hsl(224, 41%, 37%);
        }
    }
}
.band-type-3 {
}
.band-type-4 {
}
.band-type-5 {
}
.band-type-6 {
}

i + span {
    margin-inline-start: 0.5rem;
}

#instructions p {
    line-height: 1.3;
}

#content {
    a:not(.button), a:not(.button) > :is(h2, h3, h4, h5, h6) {
        color: var(--color-dark-1) !important;
    }
    a:not(:is(.button, .small-button, .button-alt, [href^="tel:"], [href^="mailto:"])):hover, a:not(:is(.button, .small-button, .button-alt)) > :is(h2, h3, h4, h5, h6):hover {
        color: var(--color-dark-1-lightened) !important;
    }
}

[href^="tel:"], [href^="mailto:"], [href^="tel:"]:hover, [href^="mailto:"]:hover {
    border-bottom: none !important;
}
[href^="tel:"]:hover, [href^="mailto:"]:hover {
    color: var(--color-lightgray) !important;
}