
/**
 * RH Page Builder Styles
 * Tailwind-inspired utility classes for the page builder
 */

/* ==========================================================================
   Typography Base
   ========================================================================== */
.rh-2025, .rh-page-builder {
	font-family: "Poppins", sans-serif;
}

/* ==========================================================================
   Spacing Utilities (Tailwind-inspired) - Scoped to RH Page Builder
   ========================================================================== */

/* Margin Top */
.rh-2025 .mt-0 {
	margin-top: 0;
}

.rh-2025 .mt-1 {
	margin-top: .25rem;
}

.rh-2025 .mt-2 {
	margin-top: .5rem;
}

.rh-2025 .mt-3 {
	margin-top: .75rem;
}

.rh-2025 .mt-4 {
	margin-top: 1rem;
}

.rh-2025 .mt-5 {
	margin-top: 1.25rem;
}

.rh-2025 .mt-6 {
	margin-top: 1.5rem;
}

.rh-2025 .mt-8 {
	margin-top: 2rem;
}

.rh-2025 .mt-10 {
	margin-top: 2.5rem;
}

.rh-2025 .mt-12 {
	margin-top: 3rem;
}

.rh-2025 .mt-16 {
	margin-top: 4rem;
}

.rh-2025 .mt-20 {
	margin-top: 5rem;
}

.rh-2025 .mt-24 {
	margin-top: 6rem;
}

/* Margin Bottom */
.rh-2025 .mb-0 {
	margin-bottom: 0;
}

.rh-2025 .mb-1 {
	margin-bottom: .25rem;
}

.rh-2025 .mb-2 {
	margin-bottom: .5rem;
}

.rh-2025 .mb-3 {
	margin-bottom: .75rem;
}

.rh-2025 .mb-4 {
	margin-bottom: 1rem;
}

.rh-2025 .mb-5 {
	margin-bottom: 1.25rem;
}

.rh-2025 .mb-6 {
	margin-bottom: 1.5rem;
}

.rh-2025 .mb-8 {
	margin-bottom: 2rem;
}

.rh-2025 .mb-10 {
	margin-bottom: 2.5rem;
}

.rh-2025 .mb-12 {
	margin-bottom: 3rem;
}

.rh-2025 .mb-16 {
	margin-bottom: 4rem;
}

.rh-2025 .mb-20 {
	margin-bottom: 5rem;
}

.rh-2025 .mb-24 {
	margin-bottom: 6rem;
}

/* Margin Left */
.rh-2025 .ml-0 {
	margin-left: 0;
}

.rh-2025 .ml-1 {
	margin-left: .25rem;
}

.rh-2025 .ml-2 {
	margin-left: .5rem;
}

.rh-2025 .ml-3 {
	margin-left: .75rem;
}

.rh-2025 .ml-4 {
	margin-left: 1rem;
}

.rh-2025 .ml-5 {
	margin-left: 1.25rem;
}

.rh-2025 .ml-6 {
	margin-left: 1.5rem;
}

.rh-2025 .ml-8 {
	margin-left: 2rem;
}

.rh-2025 .ml-10 {
	margin-left: 2.5rem;
}

.rh-2025 .ml-12 {
	margin-left: 3rem;
}

/* Margin Right */
.rh-2025 .mr-0 {
	margin-right: 0;
}

.rh-2025 .mr-1 {
	margin-right: .25rem;
}

.rh-2025 .mr-2 {
	margin-right: .5rem;
}

.rh-2025 .mr-3 {
	margin-right: .75rem;
}

.rh-2025 .mr-4 {
	margin-right: 1rem;
}

.rh-2025 .mr-5 {
	margin-right: 1.25rem;
}

.rh-2025 .mr-6 {
	margin-right: 1.5rem;
}

.rh-2025 .mr-8 {
	margin-right: 2rem;
}

.rh-2025 .mr-10 {
	margin-right: 2.5rem;
}

.rh-2025 .mr-12 {
	margin-right: 3rem;
}

/* Margin X-axis (left & right) */
.rh-2025 .mx-0 {
	margin-left: 0;
	margin-right: 0;
}

.rh-2025 .mx-1 {
	margin-left: .25rem;
	margin-right: .25rem;
}

.rh-2025 .mx-2 {
	margin-left: .5rem;
	margin-right: .5rem;
}

.rh-2025 .mx-3 {
	margin-left: .75rem;
	margin-right: .75rem;
}

.rh-2025 .mx-4 {
	margin-left: 1rem;
	margin-right: 1rem;
}

.rh-2025 .mx-6 {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
}

.rh-2025 .mx-8 {
	margin-left: 2rem;
	margin-right: 2rem;
}

.rh-2025 .mx-auto {
	margin-left: auto;
	margin-right: auto;
}

/* Margin Y-axis (top & bottom) */
.rh-2025 .my-0 {
	margin-top: 0;
	margin-bottom: 0;
}

.rh-2025 .my-1 {
	margin-top: .25rem;
	margin-bottom: .25rem;
}

.rh-2025 .my-2 {
	margin-top: .5rem;
	margin-bottom: .5rem;
}

.rh-2025 .my-3 {
	margin-top: .75rem;
	margin-bottom: .75rem;
}

.rh-2025 .my-4 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.rh-2025 .my-6 {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.rh-2025 .my-8 {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.rh-2025 .my-10 {
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.rh-2025 .my-12 {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

.rh-2025 .my-16 {
	margin-top: 4rem;
	margin-bottom: 4rem;
}

.rh-2025 .my-20 {
	margin-top: 5rem;
	margin-bottom: 5rem;
}

/* Padding Top - Direct rem values (pt-4 = 4rem) */
.rh-2025 .pt-0 {
	padding-top: 0 !important;
}

.rh-2025 .pt-1 {
	padding-top: 1rem !important;
}

.rh-2025 .pt-2 {
	padding-top: 2rem !important;
}

.rh-2025 .pt-3 {
	padding-top: 3rem !important;
}

.rh-2025 .pt-4 {
	padding-top: 4rem !important;
}

.rh-2025 .pt-5 {
	padding-top: 5rem !important;
}

.rh-2025 .pt-6 {
	padding-top: 6rem !important;
}

.rh-2025 .pt-8 {
	padding-top: 8rem !important;
}

.rh-2025 .pt-10 {
	padding-top: 10rem !important;
}

.rh-2025 .pt-12 {
	padding-top: 12rem !important;
}

/* Padding Bottom - Direct rem values (pb-4 = 4rem) */
.rh-2025 .pb-0 {
	padding-bottom: 0 !important;
}

.rh-2025 .pb-1 {
	padding-bottom: 1rem !important;
}

.rh-2025 .pb-2 {
	padding-bottom: 2rem !important;
}

.rh-2025 .pb-3 {
	padding-bottom: 3rem !important;
}

.rh-2025 .pb-4 {
	padding-bottom: 4rem !important;
}

.rh-2025 .pb-5 {
	padding-bottom: 5rem !important;
}

.rh-2025 .pb-6 {
	padding-bottom: 6rem !important;
}

.rh-2025 .pb-8 {
	padding-bottom: 8rem !important;
}

.rh-2025 .pb-10 {
	padding-bottom: 10rem !important;
}

.rh-2025 .pb-12 {
	padding-bottom: 12rem !important;
}

/* Padding Left & Right - Tablet and Desktop only */
@media (min-width: 768px) {
	/* Padding Left - Direct rem values (pl-4 = 4rem) */
	.rh-2025 .pl-0 {
		padding-left: 0 !important;
	}
	
	.rh-2025 .pl-1 {
		padding-left: 1rem !important;
	}
	
	.rh-2025 .pl-2 {
		padding-left: 2rem !important;
	}
	
	.rh-2025 .pl-3 {
		padding-left: 3rem !important;
	}
	
	.rh-2025 .pl-4 {
		padding-left: 4rem !important;
	}
	
	.rh-2025 .pl-5 {
		padding-left: 5rem !important;
	}
	
	.rh-2025 .pl-6 {
		padding-left: 6rem !important;
	}
	
	.rh-2025 .pl-8 {
		padding-left: 8rem !important;
	}
	
	.rh-2025 .pl-10 {
		padding-left: 10rem !important;
	}
	
	.rh-2025 .pl-12 {
		padding-left: 12rem !important;
	}
	
	/* Padding Right - Direct rem values (pr-4 = 4rem) */
	.rh-2025 .pr-0 {
		padding-right: 0 !important;
	}
	
	.rh-2025 .pr-1 {
		padding-right: 1rem !important;
	}
	
	.rh-2025 .pr-2 {
		padding-right: 2rem !important;
	}
	
	.rh-2025 .pr-3 {
		padding-right: 3rem !important;
	}
	
	.rh-2025 .pr-4 {
		padding-right: 4rem !important;
	}
	
	.rh-2025 .pr-5 {
		padding-right: 5rem !important;
	}
	
	.rh-2025 .pr-6 {
		padding-right: 6rem !important;
	}
	
	.rh-2025 .pr-8 {
		padding-right: 8rem !important;
	}
	
	.rh-2025 .pr-10 {
		padding-right: 10rem !important;
	}
	
	.rh-2025 .pr-12 {
		padding-right: 12rem !important;
	}
	
	/* Padding X-axis (left & right) - Direct rem values (px-4 = 4rem) */
	.rh-2025 .px-0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.rh-2025 .px-1 {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	
	.rh-2025 .px-2 {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
	
	.rh-2025 .px-3 {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}
	
	.rh-2025 .px-4 {
		padding-left: 4rem !important;
		padding-right: 4rem !important;
	}
	
	.rh-2025 .px-5 {
		padding-left: 5rem !important;
		padding-right: 5rem !important;
	}
	
	.rh-2025 .px-6 {
		padding-left: 6rem !important;
		padding-right: 6rem !important;
	}
	
	.rh-2025 .px-8 {
		padding-left: 8rem !important;
		padding-right: 8rem !important;
	}
	
	.rh-2025 .px-10 {
		padding-left: 10rem !important;
		padding-right: 10rem !important;
	}
	
	.rh-2025 .px-12 {
		padding-left: 12rem !important;
		padding-right: 12rem !important;
	}
}

/* Padding Y-axis (top & bottom) - Direct rem values (py-4 = 4rem) */
.rh-2025 .py-0 {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.rh-2025 .py-1 {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

.rh-2025 .py-2 {
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
}

.rh-2025 .py-3 {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
}

.rh-2025 .py-4 {
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

.rh-2025 .py-5 {
	padding-top: 5rem !important;
	padding-bottom: 5rem !important;
}

.rh-2025 .py-6 {
	padding-top: 6rem !important;
	padding-bottom: 6rem !important;
}

.rh-2025 .py-8 {
	padding-top: 8rem !important;
	padding-bottom: 8rem !important;
}

.rh-2025 .py-10 {
	padding-top: 10rem !important;
	padding-bottom: 10rem !important;
}

.rh-2025 .py-12 {
	padding-top: 12rem !important;
	padding-bottom: 12rem !important;
}

/* Gap Utilities (for flex/grid) - Whole rem units */
.rh-2025 .gap-0 {
	gap: 0 !important;
}

.rh-2025 .gap-1 {
	gap: 1rem !important;
}

.rh-2025 .gap-2 {
	gap: 2rem !important;
}

.rh-2025 .gap-3 {
	gap: 3rem !important;
}

.rh-2025 .gap-4 {
	gap: 4rem !important;
}

.rh-2025 .gap-5 {
	gap: 5rem !important;
}

.rh-2025 .gap-6 {
	gap: 6rem !important;
}

.rh-2025 .gap-8 {
	gap: 8rem !important;
}

.rh-2025 .gap-10 {
	gap: 10rem !important;
}

.rh-2025 .gap-12 {
	gap: 12rem !important;
}

/* Extended Padding Utilities - Whole numbers only (pt-7 = 7rem) */
.rh-2025 .pt-7 {
	padding-top: 7rem !important;
}

.rh-2025 .pt-9 {
	padding-top: 9rem !important;
}

.rh-2025 .pt-11 {
	padding-top: 11rem !important;
}

.rh-2025 .pb-7 {
	padding-bottom: 7rem !important;
}

.rh-2025 .pb-9 {
	padding-bottom: 9rem !important;
}

.rh-2025 .pb-11 {
	padding-bottom: 11rem !important;
}

/* Extended Padding Left & Right - Tablet and Desktop only */
@media (min-width: 768px) {
	.rh-2025 .pl-7 {
		padding-left: 7rem !important;
	}
	
	.rh-2025 .pl-9 {
		padding-left: 9rem !important;
	}
	
	.rh-2025 .pl-11 {
		padding-left: 11rem !important;
	}
	
	.rh-2025 .pr-7 {
		padding-right: 7rem !important;
	}
	
	.rh-2025 .pr-9 {
		padding-right: 9rem !important;
	}
	
	.rh-2025 .pr-11 {
		padding-right: 11rem !important;
	}
}

/* ==========================================================================
   Layout & Container
   ========================================================================== */
.rh-page-builder {
	width: 100%;
}

/* Block Spacing - Add top margin when blocks are stacked */
.rh-2025 .rh-block + .rh-block {
	margin-top: 1rem;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.rh-2025 {
	width: 100%;
}

.rh-2025 .rh-section {
	width: 100%;
}

.rh-2025 .rh-section .container {
	max-width: 1330px;
	margin: 0 auto;
	padding: 0 15px;
}

/* ==========================================================================
   Columns Layout (Flexbox)
   ========================================================================== */
.rh-2025 .rh-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

/* Vertical Alignment */
.rh-align-start {
	align-items: flex-start;
}

.rh-align-center {
	align-items: center;
}

.rh-align-end {
	align-items: flex-end;
}

/* ==========================================================================
   Column Widths (Desktop)
   ========================================================================== */
.rh-2025 .rh-column {
	flex: 0 0 auto;
}

/* Mobile: All columns full width by default */
.rh-w-full, .rh-w-1\/2, .rh-w-1\/3, .rh-w-2\/3, .rh-w-2\/5, .rh-w-3\/5 {
	width: 100%;
}

/* Mobile-only: Custom column ordering and margin bottom */
@media (max-width: 767px) {
	.rh-column {
		order: var(--mobile-order, 0);
	}
	
	.rh-mobile-mb-0-5 {
		margin-bottom: .5rem;
	}
	
	.rh-mobile-mb-1 {
		margin-bottom: 1rem;
	}
	
	.rh-mobile-mb-1-5 {
		margin-bottom: 1.5rem;
	}
	
	.rh-mobile-mb-2 {
		margin-bottom: 2rem;
	}
	
	.rh-mobile-mb-2-5 {
		margin-bottom: 2.5rem;
	}
	
	.rh-mobile-mb-3 {
		margin-bottom: 3rem;
	}
}

/* ==========================================================================
   Responsive: Tablet (768px and up)
   ========================================================================== */
@media (min-width: 768px) {
	.rh-columns {
		gap: 0;
	}
	
	/* Tablet: Proportional column widths */
	.rh-w-full {
		width: 100%;
	}
	
	.rh-w-1\/2 {
		width: calc(50% - 1rem);
	}
	
	.rh-w-1\/3 {
		width: calc(33.333% - 1.333rem);
	}
	
	.rh-w-2\/3 {
		width: calc(66.666% - .666rem);
	}
	
	.rh-w-2\/5 {
		width: calc(40% - 1.2rem);
	}
	
	.rh-w-3\/5 {
		width: calc(60% - .8rem);
	}
}

/* ==========================================================================
   Responsive: Desktop (1200px and up)
   ========================================================================== */
@media (min-width: 1200px) {}

/* ==========================================================================
   Text Alignment
   ========================================================================== */
.rh-2025 .rh-text-left {
	text-align: left;
}

.rh-2025 .rh-text-center {
	text-align: center;
}

.rh-2025 .rh-text-right {
	text-align: right;
}

/* ==========================================================================
   Text Colors
   ========================================================================== */
.rh-2025 .text-black {
	color: #024 !important;
}

.rh-2025 .text-blue {
	color: #006dc2 !important;
}

.rh-2025 .text-orange {
	color: #cd4104 !important;
}

/* Background Utilities */
.rh-2025 .bg-lines {
	background-image: url("https://www.rectanglehealth.com/nitropack_static/mpAcHkeViPUNLlQglkPJWDDYbslcsYVO/assets/images/optimized/rev-3f3d938/www.rectanglehealth.com/wp-content/uploads/2025/11/lines-bg.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.rh-2025 .bg-lines.nitro-lazy {
	background-image: none !important;
}

.rh-2025 .bg-lines-white {
	background-image: url("https://www.rectanglehealth.com/wp-content/uploads/2025/11/lines-bg-white.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.rh-2025 .bg-lines-white.nitro-lazy {
	background-image: none !important;
}

.rh-2025 .bg-orange-bridge {
	background-image: url("https://www.rectanglehealth.com/nitropack_static/mpAcHkeViPUNLlQglkPJWDDYbslcsYVO/assets/images/optimized/rev-3f3d938/www.rectanglehealth.com/wp-content/uploads/2025/11/bg-orange-bridge.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.rh-2025 .bg-orange-bridge.nitro-lazy {
	background-image: none !important;
}

.rh-2025 .bg-lightblue-gradient {
	background: linear-gradient(0deg, rgba(223, 236, 245, 0) .65%, #dfecf5 99.35%);
}

.rh-2025 .bg-lightblue {
	background-color: #f2f8ff;
}

/* ==========================================================================
   Heading Styles - Utility Classes
   ========================================================================== */
.rh-2025 .rh-heading {
	font-family: "Poppins", sans-serif;
	font-style: normal;
	margin-bottom: 0;
}

.rh-2025 .heading--sm + .heading--xl, .rh-2025 .heading--sm + .heading--lg {
	margin-top: .5rem;
}

.rh-2025 .rh-rich-text + .rh-cta-block {
	margin-top: 2rem;
}

.rh-2025 .rh-heading + .rh-images {
	margin-top: 3rem;
}

/* Heading XL - Hero/Display (Mobile first) */
.rh-2025 .heading--xl {
	font-size: 32px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: -.8px;
}

/* Heading LG - Section Titles (Mobile first) */
.rh-2025 .heading--lg {
	font-size: 20px;
	font-weight: 600;
	line-height: 120%;
	letter-spacing: -.3px;
}

/* Heading MD - Subsection Titles (Mobile first) */
.rh-2025 .heading--md {
	font-size: 16px;
	font-weight: 600;
	line-height: 120%;
	letter-spacing: 0px;
}

/* Heading SM - Card/Module Titles (Mobile first) */
.rh-2025 .heading--sm {
	font-size: 10px;
	font-weight: 600;
	line-height: 120%;
	letter-spacing: 1.6px;
}

/* Tablet and Desktop: Larger heading sizes */
@media (min-width: 768px) {
	.rh-2025 .heading--xl {
		font-size: 50px;
		letter-spacing: -1.4px;
	}
	
	.rh-2025 .heading--lg {
		font-size: 30px;
		letter-spacing: -.5px;
	}
	
	.rh-2025 .heading--md {
		font-size: 20px;
		letter-spacing: 0px;
	}
	
	.rh-2025 .heading--sm {
		font-size: 12px;
		letter-spacing: 2px;
	}
}

/* Tablet and Desktop: Larger heading sizes */
@media (min-width: 1200px) {
	.rh-2025 .heading--xl {
		font-size: 70px;
	}
	
	.rh-2025 .heading--lg {
		font-size: 38px;
	}
	
	.rh-2025 .heading--md {
		font-size: 30px;
	}
	
	.rh-2025 .heading--sm {
		font-size: 20px;
	}
}

/* ==========================================================================
   Text/Body Utilities
   ========================================================================== */

/* Text Regular - Body Copy (Mobile first) */
.rh-2025 .text-regular, .rh-2025 .rh-rich-text p, .rh-2025 .rh-rich-text li {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
}

/* Text Large - Emphasis/Intro (Mobile first) */
.rh-2025 .text-large {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%;
}

/* Tablet and Desktop: Larger text sizes */
@media (min-width: 768px) {
	.text-regular, .rh-rich-text p, .rh-rich-text li {
		font-size: 17px;
	}
	
	.text-large {
		font-size: 20px;
	}
}

/* ==========================================================================
   Rich Text Block
   ========================================================================== */
.rh-2025 .rh-rich-text {
	margin-bottom: 1.5rem;
}

.rh-2025 .rh-rich-text p {
	margin-bottom: 1rem;
}

.rh-2025 .rh-rich-text p:last-child {
	margin-bottom: 0;
}

.rh-2025 .rh-rich-text ul, .rh-2025 .rh-rich-text ol {
	margin-bottom: 1rem;
	padding-left: 1.5rem;
}

.rh-2025 .rh-rich-text li {
	margin-bottom: .5rem;
}

.rh-2025 .rh-rich-text a {
	color: #06c;
	text-decoration: underline;
}

.rh-2025 .rh-rich-text a:hover {
	color: #0052a3;
}

/* ==========================================================================
   Images Block - Horizontal Rows with Flexbox
   ========================================================================== */
.rh-2025 .rh-images {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.rh-2025 .rh-images .rh-image, .rh-2025 .rh-images .rh-image-link {
	max-width: 100%;
	height: auto;
	display: block;
}

.rh-2025 .rh-images .rh-image-link img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Images per row variations */
.rh-2025 .rh-images-per-row-6 .rh-image, .rh-2025 .rh-images-per-row-6 .rh-image-link {
	width: calc(16.666% - 1.667rem);
}

/* Mobile first: 2 columns for 6-image layout */
.rh-images-per-row-6 .rh-image, .rh-images-per-row-6 .rh-image-link {
	width: calc(50% - 1rem);
}

/* Tablet and up: 6 columns */
@media (min-width: 768px) {
	.rh-images-per-row-6 .rh-image, .rh-images-per-row-6 .rh-image-link {
		width: calc(16.666% - 1.666rem);
	}
}

/* ==========================================================================
   Video Block
   ========================================================================== */
.rh-2025 .rh-video {
	margin-bottom: 2rem;
}

.rh-2025 .rh-video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.rh-2025 .rh-video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.rh-2025 .rh-video-file video {
	width: 100%;
	height: auto;
	display: block;
}

/* ==========================================================================
   Drawer/Accordion Block
   ========================================================================== */
.rh-2025 .rh-drawer-block {
	margin-bottom: 0;
}

.rh-2025 .rh-drawer-block .accordion-item {
	border: none;
	background: transparent;
}

.rh-2025 .rh-drawer-block .accordion-item + .accordion-item {
	margin-top: 1rem;
}

.rh-2025 .rh-drawer-block .accordion-button {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 150%;
	color: #024;
	background: transparent;
	border: none;
	padding: .5rem 0 .5rem 1.5rem;
	position: relative;
	box-shadow: none;
	display: flex;
	align-items: center;
}

.rh-2025 .rh-drawer-block .accordion-button:not(.collapsed) {
	background: transparent;
	color: #024;
	box-shadow: none;
}

.rh-2025 .rh-drawer-block .accordion-button:focus {
	box-shadow: none;
	border: none;
}

.rh-2025 .rh-drawer-block .accordion-button::after {
	display: none;
}

/* Simple Plus/Minus Icons - Text Characters */
.rh-2025 .rh-drawer-block .accordion-button::before {
	position: absolute;
	left: 0;
	top: .75rem;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: #225395;
}

/* Plus icon */
.rh-2025 .rh-drawer-block .accordion-button.collapsed::before {
	content: "+";
}

/* Minus icon */
.rh-2025 .rh-drawer-block .accordion-button:not(.collapsed)::before {
	content: "-";
}

.rh-2025 .rh-drawer-block .accordion-body {
	font-family: "Poppins", sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 160%;
	color: #024;
	padding: 0 0 0 1.5rem;
}

.rh-2025 .rh-drawer-block .accordion-collapse {
	border: none;
}

.rh-2025 .rh-drawer-block .rh-drawer-cta {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

/* ==========================================================================
   CTA Block - Button Utilities
   ========================================================================== */
.rh-2025 .rh-cta-block {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem;
}

.rh-2025 .rh-cta-block.rh-cta-align-start {
	justify-content: flex-start;
}

.rh-2025 .rh-cta-block.rh-cta-align-center {
	justify-content: center;
}

.rh-2025 .rh-cta-block.rh-cta-align-end {
	justify-content: flex-end;
}

.rh-2025 .rh-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	padding: 0 16px;
	border-radius: 50px;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all .3s ease;
	white-space: nowrap;
}

.rh-2025 .rh-cta:hover {
	text-decoration: underline;
}

.rh-2025 .rh-cta-icon {
	max-width: 20px;
	max-height: 20px;
	display: inline-block;
	flex-shrink: 0;
}

/* CTA Blue - Primary Button */
.rh-2025 .cta-blue {
	height: 48px;
	padding: 0 16px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	background: #006dc2;
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .3s ease;
}

.rh-2025 .cta-blue:hover {
	background-color: #0058a3;
	color: #fff;
	text-decoration: none;
}

/* CTA Arrow - Text Link Style */
.rh-2025 .cta-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: none;
	padding: 0;
	height: auto;
	color: #024;
	font-family: "Poppins", sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 160%;
	text-decoration: none;
}

.rh-2025 .cta-arrow::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 14px;
	background-image: url("data:image/svg+xml,%3Csvg width=\"9\" height=\"14\" viewBox=\"0 0 9 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M8.125 7.40625L2.0625 13.5C1.75 13.7812 1.28125 13.7812 1 13.5L0.28125 12.7812C0 12.5 0 12.0312 0.28125 11.7188L5.09375 6.875L0.28125 2.0625C0 1.75 0 1.28125 0.28125 1L1 0.28125C1.28125 0 1.75 0 2.0625 0.28125L8.125 6.375C8.40625 6.65625 8.40625 7.125 8.125 7.40625Z\" fill=\"%23CD4104\"/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform .3s ease;
}

.rh-2025 .cta-arrow:hover::after {
	transform: translateX(4px);
}

/* Mobile first: Full width CTAs */
.rh-2025 .rh-cta {
	width: 100%;
	justify-content: center;
}

/* Tablet and up: Auto width CTAs */
@media (min-width: 768px) {
	.rh-2025 .rh-cta {
		width: auto;
		justify-content: flex-start;
	}
}

/* ==========================================================================
   Cards Block
   ========================================================================== */
.rh-2025 .rh-cards {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: stretch;
}

.rh-2025 .rh-card {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	text-align: left;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: none;
	padding: 1.5rem 1rem;
	transition: transform .2s ease;
	height: auto;
	gap: 1rem;
}

.rh-2025 .rh-card:hover {
	transform: translateY(-2px);
	text-decoration: none;
}

.rh-2025 .rh-card-image {
	flex-shrink: 0;
	width: 60px;
	max-width: 60px;
	margin-bottom: 0;
}

.rh-2025 .rh-card-img {
	width: 100%;
	height: auto;
	display: block;
}

.rh-2025 .rh-card-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .5rem;
	flex: 1;
}

.rh-2025 .rh-card-heading {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 140%;
	color: #006dc2;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.rh-2025 .rh-card-heading::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 10px;
	background-image: url("data:image/svg+xml,%3Csvg width=\"9\" height=\"14\" viewBox=\"0 0 9 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M8.125 7.40625L2.0625 13.5C1.75 13.7812 1.28125 13.7812 1 13.5L0.28125 12.7812C0 12.5 0 12.0312 0.28125 11.7188L5.09375 6.875L0.28125 2.0625C0 1.75 0 1.28125 0.28125 1L1 0.28125C1.28125 0 1.75 0 2.0625 0.28125L8.125 6.375C8.40625 6.65625 8.40625 7.125 8.125 7.40625Z\" fill=\"%23006DC2\"/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform .3s ease;
}

.rh-2025 .rh-card:hover .rh-card-heading::after {
	transform: translateX(3px);
}

.rh-2025 .rh-card-text {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 160%;
	color: #666;
	margin: 0;
}

/* Mobile: All cards full width regardless of per-row setting */
.rh-2025 .rh-card {
	width: 100%;
}

/* Tablet and up: Horizontal rows + vertical card layout */
@media (min-width: 768px) {
	/* Enable horizontal wrapping for cards */
	.rh-2025 .rh-cards {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 2rem;
	}
	
	/* Cards per row variations - Tablet and up only */
	.rh-2025 .rh-cards-per-row-1 .rh-card {
		width: 100%;
	}
	
	.rh-2025 .rh-cards-per-row-2 .rh-card {
		width: calc(50% - 1rem);
	}
	
	.rh-2025 .rh-cards-per-row-3 .rh-card {
		width: calc(33.333% - 1.333rem);
	}
	
	.rh-2025 .rh-cards-per-row-4 .rh-card {
		width: calc(25% - 1.5rem);
	}
	
	/* Tablet and up: Vertical card layout */
	.rh-2025 .rh-card {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0;
		padding: 2rem 1.5rem;
		height: 100%;
	}
	
	.rh-2025 .rh-card-image {
		width: auto;
		max-width: 120px;
		margin-bottom: 1.5rem;
	}
	
	.rh-2025 .rh-card-content {
		align-items: center;
	}
}

/* ==========================================================================
   HTML Block
   ========================================================================== */
.rh-2025 .rh-html-block {
	margin-bottom: 2rem;
}

.rh-2025 .rh-html-block iframe {
	max-width: 100%;
}

/* ==========================================================================
   Testimonials Block
   ========================================================================== */
.rh-2025 .rh-testimonials {
	position: relative;
}

.rh-2025 .rh-testimonial {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 3rem;
	padding: 3rem 5rem;
	position: relative;
}

.rh-2025 .rh-testimonials-single .rh-testimonial {
	margin-bottom: 0;
}

.rh-2025 .rh-testimonial-content {
	flex: 1;
	max-width: 600px;
	text-align: left;
}

.rh-2025 .rh-testimonial-quote {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 150%;
	color: #024;
	margin-bottom: 2rem;
	position: relative;
	padding-left: 100px;
}

.rh-2025 .rh-testimonial-quote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 65px;
	height: 65px;
	background-image: url("data:image/svg+xml,%3Csvg width=\"80\" height=\"65\" viewBox=\"0 0 80 65\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M52.8219 0H80L56.9863 65H39.4521L52.8219 0ZM13.3699 0H40.5479L17.5342 65H0L13.3699 0Z\" fill=\"%23F47F31\"/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left top;
}

.rh-2025 .rh-testimonial-attribution {
	margin-bottom: 1.5rem;
	padding-left: 100px;
}

.rh-2025 .rh-attribution-primary {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 140%;
	color: #024;
	margin-bottom: .25rem;
}

.rh-2025 .rh-attribution-secondary {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	color: #006dc2;
	margin-bottom: 0;
}

.rh-2025 .rh-testimonial-cta {
	margin-left: 100px;
}

.rh-2025 .rh-testimonial-image {
	flex: 0 0 auto;
	width: 200px;
	height: 200px;
}

.rh-2025 .rh-testimonial-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

/* Testimonials Slider */
.rh-2025 .rh-testimonials-slider {
	position: relative;
}

.rh-2025 .rh-testimonials-slider-container {
	position: relative;
}

.rh-2025 .rh-testimonials-slides {
	margin-bottom: 1rem;
}

.rh-2025 .rh-testimonial-slide .rh-testimonial {
	margin-bottom: 0;
}

/* Slider Arrows - Simple Blue Chevrons */
.rh-2025 .rh-testimonials-arrows {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 10;
}

.rh-2025 .rh-arrow {
	position: absolute;
	width: 40px;
	height: 40px;
	cursor: pointer;
	pointer-events: all;
	transition: opacity .3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
}

.rh-2025 .rh-arrow::before {
	content: "";
	width: 16px;
	height: 16px;
	border-top: 3px solid #006dc2;
	border-right: 3px solid #006dc2;
	transition: all .3s ease;
}

.rh-2025 .rh-arrow-prev {
	left: 20px;
}

.rh-2025 .rh-arrow-prev::before {
	transform: rotate(-135deg);
}

.rh-2025 .rh-arrow-next {
	right: 20px;
}

.rh-2025 .rh-arrow-next::before {
	transform: rotate(45deg);
}

.rh-2025 .rh-arrow:hover {
	opacity: .7;
}

.rh-2025 .rh-arrow:hover::before {
	transform: scale(1.1) rotate(-135deg);
}

.rh-2025 .rh-arrow-next:hover::before {
	transform: scale(1.1) rotate(45deg);
}

/* Slick Dots */
.rh-2025 .rh-testimonials-slider .slick-dots {
	display: flex !important;
	justify-content: center;
	gap: 10px;
	padding: 0;
	margin: 1.5rem 0 0 0;
	list-style: none;
}

.rh-2025 .rh-testimonials-slider .slick-dots li {
	margin: 0;
	padding: 0;
}

.rh-2025 .rh-testimonials-slider .slick-dots li button {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 2px solid #06c;
	border-radius: 50%;
	background-color: transparent;
	font-size: 0;
	cursor: pointer;
	transition: all .3s ease;
}

.rh-2025 .rh-testimonials-slider .slick-dots li.slick-active button {
	background-color: #06c;
}

.rh-2025 .rh-testimonials-slider .slick-dots li button:hover {
	background-color: #06c;
	opacity: .7;
}

/* Mobile first: Vertical layout */
.rh-2025 .rh-testimonial {
	flex-direction: column;
	text-align: left;
	padding: 2rem 1.5rem;
	gap: 1.5rem;
}

.rh-2025 .rh-testimonial-content {
	text-align: left;
}

.rh-2025 .rh-testimonial-quote {
	padding-left: 0;
	padding-top: 0;
}

/* Hide quote icon on mobile */
.rh-2025 .rh-testimonial-quote::before {
	display: none;
}

.rh-2025 .rh-testimonial-attribution {
	padding-left: 0;
}

.rh-2025 .rh-testimonial-cta {
	margin-left: 0;
}

/* Hide profile image on mobile */
.rh-2025 .rh-testimonial-image {
	display: none;
}

/* Hide arrows on mobile, show dots only */
.rh-2025 .rh-testimonials-arrows {
	display: none;
}

/* Tablet and up: Horizontal layout */
@media (min-width: 768px) {
	.rh-2025 .rh-testimonial {
		flex-direction: row;
		text-align: left;
		padding: 3rem 4rem;
		gap: 3rem;
		align-items: center;
	}
	
	.rh-2025 .rh-testimonial-content {
		text-align: left;
	}
	
	.rh-2025 .rh-testimonial-quote {
		padding-left: 100px;
		padding-top: 0;
	}
	
	.rh-2025 .rh-testimonial-quote::before {
		display: block;
		left: 0;
	}
	
	.rh-2025 .rh-testimonial-attribution {
		padding-left: 100px;
	}
	
	.rh-2025 .rh-testimonial-cta {
		margin-left: 100px;
	}
	
	.rh-2025 .rh-testimonial-image {
		display: block;
		width: 200px;
		height: 200px;
		order: 2;
		align-self: center;
	}
	
	/* Show arrows on tablet/desktop */
	.rh-2025 .rh-testimonials-arrows {
		display: block;
	}
}

/* ==========================================================================
   Image Carousel Block
   ========================================================================== */
.rh-2025 .rh-image-carousel {
	width: 100%;
	position: relative;
	margin-bottom: 2rem;
}

.rh-2025 .rh-carousel-container {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.rh-2025 .rh-carousel-image {
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition-duration, 1s) ease-in-out, visibility 0s linear var(--transition-duration, 1s);
	pointer-events: none;
}

.rh-2025 .rh-carousel-image.active {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--transition-duration, 1s) ease-in-out, visibility 0s linear 0s;
	pointer-events: auto;
}

/* Stack all images on top of each other */
.rh-2025 .rh-carousel-container .rh-carousel-image:not(:first-child) {
	position: absolute;
	top: 0;
	left: 0;
}

/* First image is relative to set container height, but still fades in/out */
.rh-2025 .rh-carousel-container .rh-carousel-image:first-child {
	position: relative;
}

/* ==========================================================================
   Mini Banner Block
   ========================================================================== */
.flex-content.mini-banner .inner {
	padding: 32px 0;
	position: relative;
}

.flex-content.mini-banner .inner.light, .flex-content.mini-banner .inner.light-with-image {
	background: linear-gradient(244deg, #f3faff 28.62%, #fff 78.08%);
}

.flex-content.mini-banner .inner.blue, .flex-content.mini-banner .inner.blue-with-image {
	background: linear-gradient(244deg, #165492 28.62%, #024 78.08%);
}

.flex-content.mini-banner .inner.orange {
	background: #cd4104;
}

.flex-content.mini-banner .inner.blue-with-image:before, .flex-content.mini-banner .inner.light-with-image:before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-repeat: no-repeat;
	background-size: auto 100%;
	-webkit-transition: all 650ms ease-in-out;
	-moz-transition: all 650ms ease-in-out;
	-ms-transition: all 650ms ease-in-out;
	-o-transition: all 650ms ease-in-out;
	transition: all 650ms ease-in-out;
}

.flex-content.mini-banner.active .inner.blue-with-image:before, .flex-content.mini-banner.active .inner.light-with-image:before {
	left: 0;
	opacity: 1;
}

.flex-content.mini-banner .inner.blue-with-image:before {
	background-image: url("data:image/svg+xml,%3Csvg width=\'1512\' height=\'100\' viewBox=\'0 0 1512 100\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cg clip-path=\'url(%23clip0_6017_1539)\'%3E%3Cpath d=\'M1271.54 -37H-105V150H1412L1271.54 -37Z\' fill=\'white\' fill-opacity=\'0.06\'/%3E%3Cpath d=\'M1220.54 -37H-156V150H1361L1220.54 -37Z\' fill=\'white\' fill-opacity=\'0.06\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'clip0_6017_1539\'%3E%3Crect width=\'1512\' height=\'100\' fill=\'white\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.flex-content.mini-banner .inner.light-with-image:before {
	background-image: url("data:image/svg+xml,%3Csvg width=\'1512\' height=\'100\' viewBox=\'0 0 1512 100\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cg clip-path=\'url(%23clip0_5975_508)\'%3E%3Cpath d=\'M1247.54 -37H-129V150H1388L1247.54 -37Z\' fill=\'url(%23paint0_linear_5975_508)\' fill-opacity=\'0.3\'/%3E%3Cpath d=\'M1196.54 -37H-180V150H1337L1196.54 -37Z\' fill=\'url(%23paint1_linear_5975_508)\' fill-opacity=\'0.3\'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id=\'paint0_linear_5975_508\' x1=\'1388\' y1=\'56.5\' x2=\'-129\' y2=\'56.5\' gradientUnits=\'userSpaceOnUse\'%3E%3Cstop stop-color=\'%23DCEBF6\'/%3E%3Cstop offset=\'1\' stop-color=\'white\'/%3E%3C/linearGradient%3E%3ClinearGradient id=\'paint1_linear_5975_508\' x1=\'1337\' y1=\'56.5\' x2=\'-180\' y2=\'56.5\' gradientUnits=\'userSpaceOnUse\'%3E%3Cstop stop-color=\'%23DCEBF6\'/%3E%3Cstop offset=\'1\' stop-color=\'white\'/%3E%3C/linearGradient%3E%3CclipPath id=\'clip0_5975_508\'%3E%3Crect width=\'1512\' height=\'100\' fill=\'white\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.flex-content.mini-banner .content {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
}

.flex-content.mini-banner .content > img {
	margin-right: 20px;
}

.flex-content.mini-banner .content .text-outer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.flex-content.mini-banner .content .text {
	font-size: 18px;
	line-height: 1.5;
}

.flex-content.mini-banner .content .btn-container {
	margin-left: 0;
	margin-top: 16px;
}

/* Tablet and up: Larger font */
@media only screen and (min-width: 768px) {
	.flex-content.mini-banner .content .text {
		font-size: 20px;
	}
}

/* Desktop: Even larger font */
@media only screen and (min-width: 1200px) {
	.flex-content.mini-banner .content .text {
		font-size: 22px;
	}
}

.flex-content.mini-banner .inner.blue .content .text, .flex-content.mini-banner .inner.blue .content .text a, .flex-content.mini-banner .inner.blue-with-image .content .text, .flex-content.mini-banner .inner.blue-with-image .content .text a, .flex-content.mini-banner .inner.orange .content .text, .flex-content.mini-banner .inner.orange .content .text a {
	color: #fff;
}

.flex-content.mini-banner .content .text > *:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 1399px) {
	.flex-content.mini-banner .inner.blue-with-image:before, .flex-content.mini-banner .inner.light-with-image:before {
		background-size: auto 100%;
		background-position: right;
	}
}
