/*
Theme Name:		Cer.bo 2025
Theme URI:		
Author:			Ellsworth Media
Author URI:		http://www.ellsworthmedia.com
Version:		1.03
*/

:root{
	--font-family:"Inter", sans-serif;
	--primary:#1570ef; 
	--primary50:#eff8ff;
	--primary100:#d1e9ff;
	--primary500:#2e90fa; 
	--primary600:#1570ef; 
	--primary700:#175cd3;
	--primary700-rgb: 23, 92, 211;
	--primary800:#1849a9;
	--secondary:#D70073;
	--secondary700:#c11574;
	--secondary-light:#fdf0f9; 
	--gray50:#fcfcfd;
	--gray100:#f2f4f7;
	--gray200:#eaecf0;
	--gray300:#d0d5dd;
	--gray400:#98a2b3;
	--gray500:#667085;
	--gray600:#475467;
	--gray700:#344054;
	--gray800:#1d2939;
	--gray900:#101828;
	--white:#fff;
	--black:#000;
	--orange50:#fef6ee;
	--orange700:#b93815;
	--border: solid 1px #eaecf0;
	--radius:8px;
	--shadow:0 10px 30px rgba(0,0,0,.35);
	--track-fill: 40%;
}

@font-face{
	font-family:DoyleMedium;
	src:url(fonts/Doyle-Medium.woff)format("woff");
	font-weight:500;
	font-style:normal;font-display:swap
}

@font-face{
	font-family:DoyleItalic;
	src:url(fonts/Doyle-MediumItalic.woff)format("woff");
	font-weight:500;
	font-style:italic;font-display:swap
}

html,body{height:100%; width: 100%;}
body {background: var(--white); margin:0; font-family: var(--font-family); font-size: 14px; color:var(--gray500); line-height: 1; font-weight: 400;}
a {color:var(--text); text-decoration:none}

h1 {font-family: "DoyleMedium", serif; font-size: 60px; letter-spacing: -1px;}
h2 {font-family: "DoyleMedium", serif; font-size: 2.8rem; line-height: 1.25; letter-spacing: -1px;}
h3 {}
h4 {}
h5 {margin-top: 1.25rem; margin-bottom: 1rem; font-size: 18px; color: var(--gray600); line-height: 20px; font-weight: 700;}

iframe {height: 100vh !important; min-width: unset !important; margin: 0 auto;}
.page-id-1354 iframe#hs-form-iframe-0 {height: 664px !important; max-width: 480px !important;}

/*-----------------------------------------------------------------------------------*/
/* Functions
/*-----------------------------------------------------------------------------------*/

.container {width: 100%; max-width: 1280px; margin:0 auto; padding:0; box-sizing: border-box; /*overflow: hidden;*/}

.btn {
	display: inline-block; border-radius: var(--radius); line-height: 61px; padding: 0 30px; background: var(--white); color: var(--gray700) !important; border: solid 1px var(--gray300); 
	margin-right: 10px; font-weight: 600; font-size: 1.125rem; cursor: pointer;
	transition: all 0.25s ease-in-out; text-align: center;
	text-decoration: none !important;
}
	.btn:hover {background: var(--secondary-light); color: var(--secondary) !important; border: solid 1px var(--secondary); text-decoration: none !important;}
	
.btn-primary {background: var(--primary); color: var(--white) !important; border: solid 1px var(--primary);}
	.btn-primary:hover {background: var(--secondary); color: var(--white) !important; border: solid 1px var(--secondary);}

h2.section-title {color: var(--gray900); font-size: 2.25rem; font-weight: 500;}
p.section-lead {color: var(--gray500); margin-bottom: 50px; font-size: 1.125rem; line-height: 1.5;}

.badge-group {
	display: inline-flex; flex-grow: 0; background: #eff8ff; color: var(--primary700); border-radius: 10rem; margin: 0 0 25px 0; padding: .25rem; align-items: center; 
}
	.badge-group-title {background: var(--white); border-radius: 10rem; padding: 5px 10px;}
	.badge-group-blurb {border-radius: 10rem; padding: 5px 10px;}
	.badge-group-icon {margin: 0 10px 0 0;}
		.badge-group-icon path {fill: var(--primary500);}

.image-holder {overflow: hidden; position: relative;}
	.image-holder img {width: 100%; height: 100%; object-fit: cover; transition:all .5s ease; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}


/*-----------------------------------------------------------------------------------*/
/* Header
/*-----------------------------------------------------------------------------------*/

header, header .container, header nav { overflow: visible; }
header { position: fixed; top:0; left:0; right:0; z-index: 9999; width:100%; padding:20px 0; background:var(--white); border-bottom:1px solid transparent; }	
	header.active {border-bottom: var(--border);}
	
	header .container { display:flex; align-items:center; width:100%; min-width:0; }
		#header-left { display:flex; align-items:center; min-width:0; }
			header .logo {margin-right: 40px; width: 107px;}
				header .logo img {width: 100%; height: auto; display:block;}
		#header-right { margin-left:auto; display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:nowrap; }
			#header-right .btn { margin:0; line-height:44px; padding:0 20px; }

	/* menu icon */
	header #menu-icon {display:none; width: 28px; height: 32px; cursor: pointer;}
		header #menu-icon svg {width: 100%; height: 100%; display: block;}

		#menu-icon .bar {
		  transform-box: fill-box;
		  transform-origin: center;
		  transition: transform 0.25s ease, opacity 0.2s ease;
		}

	/* close icon */
	#menu-icon.is-open .top {transform: translateY(128px) rotate(45deg);}
	#menu-icon.is-open .middle {opacity: 0;}
	#menu-icon.is-open .bottom {transform: translateY(-128px) rotate(-45deg);}

/* primary menu */
header nav ul#menu-main {display: flex; margin: 0; padding: 0;}
	header nav ul#menu-main > li {list-style: none; margin-right: 35px; position: relative; display: flex; align-items: center;}
		header nav ul#menu-main > li > a {color: var(--gray700); font-weight: 500; font-size: 16px; display: flex; align-items: center; white-space: nowrap;}
		header nav ul#menu-main > li.current-menu-item > a {color:var(--primary600);}
		header nav ul#menu-main > li > a:hover,
		header nav ul#menu-main > li.current-menu-item > a:hover {color:var(--gray500);}
	header nav ul#menu-main > li.menu-item-has-children > a .menu-arrow svg {margin-left: 5px;}
		header nav ul#menu-main > li.menu-item-has-children:hover > a .menu-arrow svg {transform: rotate(180deg); }
	
/* secondary menu */
header nav ul#menu-main li .sub-menu {
    position:absolute; z-index: 10000; top:100%; left:-10px; transform:translateY(10px); transition:all .25s ease;	
	min-width: 360px; padding: 10px 0; margin: 0; list-style:none; /*opacity:0; visibility:hidden;*/ display: none; 
}
	header nav ul#menu-main li .sub-menu li {display: block; width: 100%; padding: 0;}
	header nav .sub-menu-wrapper {
		display: flex; flex-wrap: wrap; width: 100%; flex-basis: 100%; padding: 10px; background: #fff;
		box-shadow: 0 12px 16px -4px #00000014,0 4px 6px -2px #10182808; border-radius: .5rem; border: solid 1px var(--gray200);
	}

header nav ul#menu-main li:hover > .sub-menu,
header nav ul#menu-main li:focus-within > .sub-menu {opacity:1; visibility:visible; transform:translateY(0); display: flex; flex-wrap: wrap; }

header nav ul#menu-main .sub-menu li a {display:flex; padding: 10px 5px 5px 5px; margin: 0; text-decoration:none;}
	header nav ul#menu-main .sub-menu li:hover a {background:var(--gray100); border-radius: .5rem;}

header nav ul#menu-main .sub-menu .menu-item-has-children {position:relative;}
	header nav ul#menu-main .sub-menu .menu-item-has-children .sub-menu {left:100%; top:0;}

	header nav .sub-menu .menu-item-wrapper {display: flex; align-items: flex-start; flex-basis: 100%; width: 100%; padding: 0 10px; margin: 5px 0;}

	/* products */
	header nav ul#menu-main li#menu-item-33 .sub-menu { left:-90px; }
	
	/* resources */
	header nav ul#menu-main li#menu-item-1339 .sub-menu { left:-160px; }
		header nav ul#menu-main li#menu-item-1339 .sub-menu .sub-menu-wrapper { justify-content: space-between; min-width: 640px; }
			header nav ul#menu-main li#menu-item-1339 .sub-menu .sub-menu-wrapper li { width: 48%; }

	/* icon */
	header nav ul#menu-main .sub-menu .menu-icon {margin: -2px 15px 0 0;}
		header nav ul#menu-main .sub-menu .menu-icon svg {width:24px; height:24px; display:block;}
			header nav ul#menu-main .sub-menu .menu-icon svg path {stroke: var(--primary600);}

	/* text and blurb */
	header nav .sub-menu .menu-text {width: 100%; display:flex; flex-direction:column; line-height:1.1; color: var(--gray900); font-weight: 600; font-size: 14px;}
		header nav .sub-menu .menu-blurb {font-weight: 400; color: var(--gray600); font-size: .875rem; line-height: 1.5; margin-top: .25rem;}

/* mobile menu */
#mobile-menu {
	display: block;
	position: fixed;
	left: 0;
	right: 0;
	top: 72px;                      
	height: calc(100vh - 72px);
	width: 100%;
	background: var(--white);
	z-index: 39;
	transform: translateY(-20px);
	opacity: 0;
	pointer-events: none;
	transition: transform .25s ease, opacity .2s ease;
	overflow: scroll;
}
	#mobile-menu.is-open{transform: translateY(0); opacity: 1; pointer-events: auto;}
	body.menu-open{ overflow: hidden; }

	/* primary level */
	#mobile-menu nav {display: block; width: 100%;}
		#mobile-menu nav ul.menu {display: block; margin: 0 auto; padding: 25px 0; width: 100%;}
			#mobile-menu nav ul.menu > li {list-style: none; margin: 10px 25px; align-items: center; width: calc(100% - 50px);}
				#mobile-menu nav ul.menu > li > a {
					color: var(--gray700); font-weight: 500; font-size: 16px; display: flex; align-items: center; white-space: nowrap;
					justify-content: space-between; line-height: 40px;
				}
				#mobile-menu nav ul.menu > li.current-menu-item > a {color:var(--primary600);}
				#mobile-menu nav ul.menu > li > a:hover,
				#mobile-menu nav ul.menu > li.current-menu-item > a:hover {color:var(--gray500);}
			#mobile-menu nav ul.menu > li.menu-item-has-children > a .menu-arrow svg {transition: transform .25s ease;}
				#mobile-menu li.is-open > a .menu-arrow svg {transform: rotate(180deg);}

	/* secondary level */
	#mobile-menu nav ul.menu li .sub-menu {
		display: none;           /* no !important */
		opacity: 1;              /* reset */
		visibility: visible;     /* reset */
		position: static;        /* override desktop absolute positioning */
		transform: none;
		min-width: 0;
		padding: 0;
		margin: 0;
		list-style: none;
	}
		#mobile-menu li.is-open > .sub-menu {display: block;}
		#mobile-menu nav ul.menu li .sub-menu li {display: block; width: 100%; padding: 0;}
		#mobile-menu nav .sub-menu-wrapper {display: flex; flex-wrap: wrap; width: 100%; flex-basis: 100%; padding: 0;}

		#mobile-menu .menu-item-wrapper {display: flex; width: 100%; margin: 12px 0;}
			#mobile-menu nav ul.menu .sub-menu .menu-icon {margin: -2px 15px 0 0; width: 24px;}
				#mobile-menu nav ul.menu .sub-menu .menu-icon svg {width:24px; height:24px; display:block;}
					#mobile-menu nav ul.menu .sub-menu .menu-icon svg path {stroke: var(--primary600);}
			#mobile-menu nav .sub-menu .menu-text {
				width: calc(100% - 44px); display:flex; flex-direction:column; line-height:1.1; color: var(--gray900); font-weight: 600; font-size: 14px;
			}
				#mobile-menu nav .sub-menu .menu-blurb {font-weight: 400; color: var(--gray600); font-size: .875rem; line-height: 1.5; margin-top: .25rem;}
		
	/* buttons */
	#mobile-menu #mobile-menu-buttons {display: block; width: 100%; padding: 0 25px;}
		#mobile-menu #mobile-menu-buttons .btn {}
	

/*-----------------------------------------------------------------------------------*/
/* Footer
/*-----------------------------------------------------------------------------------*/

footer {padding: 65px 0 50px 0;}
	#footer-top {padding-bottom: 65px; display: flex; justify-content: space-between; }
		#footer-top a.logo-mark img {margin-right: 90px;}
	
		#footer-top nav { width: calc( ( (100% - 265px) / 4) - 30px); margin-right: 30px; }
			#footer-top nav .footer-nav-heading {font-weight: 600; font-size: 16px; color: var(--gray700); padding: 0; margin: 0 0 15px 0;}
			#footer-top nav .footer-nav-heading-last {margin-top: 35px;}
			#footer-top nav ul {padding: 0; margin: 0;}
				#footer-top nav ul li {list-style: none; padding: 8px 0; margin: 0; line-height: 1.5; font-size: 1rem;}
					#footer-top nav ul li a {color: var(--gray500);}
					#footer-top nav ul li a:hover {color: var(--gray700);}

	#footer-bottom {padding-top: 30px; border-top: var(--border); display: flex; justify-content: space-between; align-items: center;}
		#footer-legal {font-size: .875rem; order: 1;}
			#footer-legal a {font-size: .875rem; margin-left: 30px;}
				#footer-legal a:hover {}
		#footer-social {order: 2;}
			#footer-social svg.linkedin {width: 24px; height: 24px;}
				#footer-social svg path {fill: var(--gray400);}	
				#footer-social svg:hover path {fill: var(--gray600);}	
			#footer-social img.linkedin {width: 26px; height: 26px; opacity: 0.45;}	
				#footer-social img.linkedin:hover {opacity: 0.66}	


/*-----------------------------------------------------------------------------------*/
/* Shared
/*-----------------------------------------------------------------------------------*/

#title-block {padding: 200px 0 100px 0; margin: auto; width: 100%; max-width: 760px; text-align: center;}
	#title-block #last-revised {
		color: var(--primary); padding: 0; margin: 0 0 10px 0;
		margin-bottom: .75rem;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1.5;
	}
	#title-block h1 {color: var(--gray900); padding: 0; margin: 0 0 20px 0; font-size: 60px; line-height: 1.2;}
	#title-block p { font-size: 1.125rem; color: var(--gray600); line-height: 1.5;}
	#title-block .btn {margin-top: 50px;}

.section-top {text-align: center;}

.hero-content {width: calc(50% - 30px);}
	.hero-content h1 {color: var(--gray900); line-height: 1.2; margin: 0 0 10px 0; font-style: normal;}
	.hero-content h2 {color: var(--gray900);}
.hero-card {width: calc(50% - 30px);}
	.hero-card img {width: 100%; height: 100%; object-fit: cover; border-top-right-radius: 96px; border-bottom-left-radius: 96px;}

#page-hero {padding: 160px 0 100px 0;}
	#page-hero .container {display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}

.split-blocks .container {display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; padding-top: 100px; padding-bottom: 100px;}
	.split-content {width: calc(50% - 30px);}
		.split-content h2 {color: var(--gray900); font-size: 2.25rem;}
		.split-content p {color: var(--gray600); margin-bottom: 30px; font-size: 1.125rem; line-height: 1.5;}
		.split-content ul {}
			.split-content ul li {font-size: 1.125rem; line-height: 1.5;}
		.split-content .btn-holder {margin: 0 auto 30px 0;}
			.split-content .btn-holder .btn {line-height: 40px; padding: 0 15px; font-size: 1rem;}
		.split-card {width: calc(50% - 30px); height: auto; overflow: hidden;}
			.split-card img {width: 100%; height: 100%; object-fit: cover;}
	/* odd */
	.split-blocks .container:nth-child(odd) .split-content {order: 2;}
	.split-blocks .container:nth-child(odd) .split-card {order: 1;}
		.split-blocks .container:nth-child(odd) .split-card img {border-top-right-radius: 160px; border-bottom-left-radius: 160px;}
	/* even */
	.split-blocks .container:nth-child(even) .split-card img {border-top-left-radius: 160px; border-bottom-right-radius: 160px;}
			
#cta {padding: 100px 0;}
	#cta .container {display: flex; justify-content: space-between; flex-wrap: wrap;}
		#cta .hero-content {order: 2;}
			#cta .hero-content h2 {margin: 0 0 20px 0; font-size: 3rem;}
			#cta .hero-content p.section-lead {margin-bottom: 90px;}
		#cta .hero-card {order: 1;}

.content h4 {
	color: var(--black); margin-top: 1.5rem; margin-bottom: 1.25rem;
	font-family: "DoyleMedium",sans-serif; font-size: 1.25rem; font-weight: 500; line-height: 130%;
}
.content p {margin-bottom: 1rem; font-size: 1.025rem; line-height: 140%;}
.content ol {}
	.content ol li {font-size: 1.025rem; line-height: 140%; list-style: decimal; margin: 0 0 1rem 0; padding: 0;}
.content ul {}
	.content ul li {font-size: 1.025rem; line-height: 140%; list-style: disc; margin: 0 0 1rem 0; padding: 0;}
	.content ol.alpha li {list-style: lower-alpha;}

body .content a {text-decoration: none;}
body .content a:hover {text-decoration: underline;}


#title-block p > a,
.content a {color: var(--primary700); text-decoration: underline;}

ul.posts-grid {width: calc(100% + 40px); margin: 0 -20px; padding: 0; display: flex; flex-wrap: wrap;} 
	ul.posts-grid li {width: calc(33.33% - 40px); margin: 0 20px 60px 20px; padding: 0; list-style: none;}
		ul.posts-grid li .image-holder {height: 233px; border-top-left-radius: 48px;}
			ul.posts-grid li .image-holder img {}
			ul.posts-grid li .image-holder:hover img {width: 105%; height: 105%;}
		ul.posts-grid li .text-holder {margin-top: 35px;}
			ul.posts-grid li .text-holder h3 {color: var(--gray900); font-size: 1.25rem; line-height: 130%; padding: 0 25px 0 0; margin: 0;}
			ul.posts-grid li .text-holder h3 a {color: var(--gray900); font-weight: 600;}
			ul.posts-grid li .text-holder svg {color: var(--primary600);}

.content blockquote,
.single-content blockquote {
	border-left: 5px solid #e2e2e2;
  	margin: 1.5rem 0 24px 0; padding: 2px 20px;
	font-style: italic;
	font-weight: 300;
	line-height: 28px; font-size: 18px; color: var(--gray600);
}

/* Privacy Policy Table */
.privacy-policy-table {width: 100%; border-collapse: collapse; border: 1px solid var(--gray300); margin: 2rem 0; font-size: 14px;}
	.privacy-policy-table thead th {
		background-color: var(--gray200); color: #333; text-align: left; font-weight: 600; padding: 15px; border: 1px solid var(--gray300); 
		white-space: nowrap;
	}
	.privacy-policy-table tbody td {padding: 15px; border: 1px solid var(--gray300); vertical-align: top; color: #333; line-height: 1.5;}


/*-----------------------------------------------------------------------------------*/
/* Home
/*-----------------------------------------------------------------------------------*/

#home-hero {padding: 160px 0 0 0;}
	#home-hero .container {display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
		#home-hero .section-title {color: var(--gray900); font-size: 60px; font-weight: 500;}
		#home-hero .hero-card {height: 640px; position: relative;}
			#home-hero .hero-card img {width: 100%; border-radius: 0; border-top-left-radius: 160px; border-bottom-right-radius: 160px;}
			.floating-pill-label {
				position: absolute; padding: 12px 16px; margin: 0; width: auto;
				color: var(--gray900); font-size: 16px; font-weight: 500; line-height: 20px;
				background: #f2f4f7bf; border-radius: 2rem; border: .35rem solid #f9fafbd9; box-shadow: 3px 2px 8px #0000001a;
			}
				.floating-pill-label .icon-holder {width: 20px; height: 20px; float: left; margin-right: 8px; }
					.floating-pill-label .icon-holder svg {max-width: 20px; max-height: 20px; margin: auto;}
						.floating-pill-label .icon-holder svg path {stroke: var(--primary700);}

				#float-1 {top: -19px; left: 51%; animation: floatDownUp 3s ease-in-out infinite;}
				#float-2 {top: 89px; left: -55px; animation: floatUpDown 3s ease-in-out infinite;}
				#float-3 {top: 30%; right: -15px; animation: floatDownUp 3s ease-in-out infinite;}
				#float-4 {bottom: 240px; left: 16px; animation: floatUpDown 3s ease-in-out infinite;}
				#float-5 {inset: auto 10px 90px auto; animation: floatDownUp 3s ease-in-out infinite;}
				#float-6 {bottom: -24px; left: -12px; animation: floatUpDown 3s ease-in-out infinite;}

				/* pill animations */
				@keyframes floatUpDown {
					0%   { transform: translateY(0); }
					50%  { transform: translateY(-3px); } 
					100% { transform: translateY(0); }
				}

				@keyframes floatDownUp {
					0%   { transform: translateY(0); }
					50%  { transform: translateY(3px); } /* move up a few pixels */
					100% { transform: translateY(0); }
				}

#home-serve {padding: 160px 0 100px 0; margin: auto; width: 100%; background: url(images/cerbo-symbol-half.svg?v=2) left top no-repeat; background-size: 680px auto;}
	#home-serve .container {display: flex; flex-wrap: wrap;}
		#home-serve-left {width: calc(50% - 30px); position: sticky; top: 120px; padding: 0 30px 50px 0; align-self: flex-start;}
			#home-serve-left h2 {color: var(--gray900); font-size: 2.25rem; font-weight: 500; max-width: 476px;}
			#home-serve-left p {color: var(--gray500); margin-bottom: 50px; font-size: 1.125rem; line-height: 1.5; max-width: 476px;}
		#home-serve-right {width: 50%; position: relative; padding-top: 30px; height: max-content;}
			#home-serve-right ul {padding: 0; margin: 0; position: relative; z-index: 2;}		
				#home-serve-right ul li {list-style: none; margin: 0; padding: 0 0 50px 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
					#home-serve-right ul li .icon-line {
						padding: 20px 0; background: var(--white);
						z-index: 1; position: relative;
					}
						#home-serve-right ul li .icon-holder {
							width: 100%; width: 24px; height: 24px; padding: 8px; margin: 0; background: var(--primary100); border-radius: 50%; border: solid 8px var(--primary50);
						}
							#home-serve-right ul li .icon-holder svg {max-width: 24px; max-height: 24px; margin: auto;}
								#home-serve-right ul li .icon-holder svg path {stroke: var(--primary700);}
					#home-serve-right ul li .text-holder {width: calc(100% - 100px); padding-top: 20px;}
						#home-serve-right ul li h3 {color: var(--gray900); margin: 0 0 10px 0; font-size: 1.25rem; font-weight: 600; line-height: 135%;}
						#home-serve-right ul li p {color: var(--gray500); margin: 0; font-size: 1rem; font-weight: 400; line-height: 1.5;}
						#home-serve-right ul li a {display: block; margin: 15px 0; color: var(--primary); font-size: 1rem;}

			.progress-bar-wrapper {
				position: absolute; z-index: 1; left: 28px; top: 50px; width: 2px; height: calc(100% - 200px);
				background-color: var(--gray200);
				
			}

			.progress-bar {
				position: absolute;  z-index: 2; top: 0; left: 0; width: 2px; height: 0; 
				background-color: var(--primary600);
				transition: height 0.2s linear;
			}

#metric {padding: 100px 0;}
	#metrics .section-top {max-width: 560px;}
		#metrics-grid {display: flex; flex-wrap: wrap; margin: 0; padding: 0;}
			#metrics-grid li {
				width: calc(33.333% - 80px); list-style: none; text-align: center; color: var(--gray500); margin-bottom: 50px; font-size: 1.125rem; line-height: 1.25; margin: 0 40px;
			}
				#metrics-grid li .count-outer {font-weight: 700; display: block; letter-spacing: -2px; font-size: 3rem; color: var(--secondary); font-family: "DoyleMedium",sans-serif;}
					#metrics-grid li .count {}

#home-features {padding: 200px 0 100px 0;}
	#home-features .section-top {max-width: 770px;}
	#home-features-tabs .container {display: flex; justify-content: space-between; flex-wrap: wrap;}
		#home-features-tabs-left {width: calc(50% - 60px);}
			#home-features-tabs-left ul {padding: 0; margin: 0; width: 100%;}
				#home-features-tabs-left ul li {border-left: 4px solid var(--gray100); list-style: none; padding: 20px 0 30px 30px; margin: 0;}
				#home-features-tabs-left ul li:hover,
				#home-features-tabs-left ul li.active {border-left: 4px solid var(--primary);}
					#home-features-tabs-left h3 {color: var(--gray900); margin: 0 0 10px 0; font-size: 1.25rem; font-weight: 600; line-height: 135%;}
					#home-features-tabs-left p {color: var(--gray500); margin: 0; font-size: 1.125rem; font-weight: 400; line-height: 1.5;}
				
		#home-features-tabs-right {width: calc(50%);}
			#home-features-tabs-right .image-holder {display: none; width: 100%; height: 680px; transition: all 2s ease-in-out;}
				#home-features-tabs-right .image-holder img { border-top-right-radius: 160px;}
			#home-features-tabs-right .active {display: block;}

#home-testimonials {width: 100%; overflow: hidden;}
	#home-testimonials .section-top {padding-top: 200px; text-align: left;}
		#home-testimonials .section-top h2 {font-weight: 600; width: 100%; max-width: 720px;}
		#home-testimonials .section-top p.section-lead {max-width: 770px; }

	.slider-container {position: relative; margin: 0; padding:0; width: calc(100% + 400px); max-width: calc( 100vw - ( (100vw - 1280px) / 2 ) ); overflow: hidden; }
	#testimonials-slider {position: relative; margin: 0; padding:0 0 80px 0; width: calc(100% + 400px); max-width: calc( 100vw - ( (100vw - 1280px) / 3 ) ); }
		#testimonials-slider .owl-item {}
		#testimonials-slider .slide-outer {
			background: var(--gray50); border: solid 1px var(--gray200); border-radius: 1rem;
		}
			#testimonials-slider .slide-outer blockquote {
				color: var(--gray800); padding: 30px; margin: 0; font-size: 1rem; font-weight: 400; line-height: 1.5;
				font-size: 1.1225rem;
			}
			.quote-author {display: flex; align-items: center; padding: 0 30px; margin: 0 0 20px 0;}
				.quote-author-photo {margin-right: 10px; width: 48px; height: 48px;}
					.quote-author-photo img {border-radius: 50%; width: 100%; height: auto;}
				.quote-author-text {}
					.quote-author-text .author-name {margin: 0 0 5px 0; color: var(--gray900); font-weight: 600;}

		#testimonials-slider .owl-nav { 
			position: absolute; width: 100%; max-width: 1280px; 
			bottom: 0; left: calc(1280px - 126px);
		}
			#testimonials-slider .owl-nav button {
				width: 48px; height: 48px; border-radius: 50%; margin-left: 15px;
				border: 1px solid var(--gray200);
				background: center center no-repeat;
			}
			#testimonials-slider .owl-nav button:hover {background-color: var(--gray100);}
				#testimonials-slider .owl-nav button.owl-prev {background-image: url(images/icon-left-arrow.svg);}
				#testimonials-slider .owl-nav button.owl-next {background-image: url(images/icon-right-arrow.svg);}
					#testimonials-slider .owl-nav button span {display: none;}
		#testimonials-slider .owl-dots {position: absolute; bottom: 0; margin: 0; width: 100%; max-width: 500px;}
			#testimonials-slider .owl-dots button.owl-dot {background: var(--gray300); margin-right: 0.625rem; width: 0.625rem; height: 0.625rem; border-radius: 50%;}
			#testimonials-slider .owl-dots button.active {background: var(--primary);}

/* paging */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
}

/* Wrapper around the numeric links */
.page-numbers-wrap {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* Default pagination link styling */
.pagination a, .pagination span {display: flex; align-items: center; justify-content: center; font-size: 16px; text-decoration: none; line-height: 32px; font-weight: 500;}

/* Circular arrow buttons (already added earlier) */
.page-arrow.circle {width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #F5F5F5; color: #272727;}
.page-arrow.circle.is-disabled {
    opacity: 0;              /* fully invisible, but still takes space */
    pointer-events: none;    /* not clickable */
}
/* Pagination numbers */
.pagination .page-numbers {padding: 0 12px; margin: 0 1px; line-height: 32px; border-radius: 4px; color: var(--gray600); font-size: 14px;}
.pagination .page-numbers.current {color: var(--primary600); background-color: rgba(21, 112, 239, 0.05);}
.pagination .page-numbers.prev, .pagination .page-numbers.next {padding: 0;}


/*-----------------------------------------------------------------------------------*/
/* Serve 
/*-----------------------------------------------------------------------------------*/

.page-template-serve #page-hero .hero-content {order: 2;}
	.page-template-serve #page-hero .hero-content h1 {}
	.page-template-serve #page-hero .hero-content p.section-lead {font-size: 1.25rem; font-weight: 400; padding-right: 60px;}
.page-template-serve #page-hero .hero-card {height: 640px; order: 1;}

#metric {padding: 100px 0;}
	#metrics .section-top {max-width: 560px;}
		#metrics-grid {display: flex; flex-wrap: wrap; margin: 0; padding: 0;}
			#metrics-grid li {
				width: calc(33.333% - 80px); list-style: none; text-align: center; color: var(--gray500); margin-bottom: 50px; font-size: 1.125rem; line-height: 1.25; margin: 0 40px;
			}
				#metrics-grid li strong {display: block; letter-spacing: -2px; font-size: 3rem; color: var(--secondary); font-family: "DoyleMedium",sans-serif;}

#key-features {padding: 100px 0 50px 0;}
	#key-features .section-top {max-width: 720px;}
		#key-features .section-top h2 {margin: 0 auto 10px auto;}
	#key-features-list {display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0;}
		#key-features-list li {width: calc(33.333% - 60px); margin: 15px 30px 45px 30px;}
			#key-features-list li .icon-holder {
				width: 100%; width: 24px; height: 24px; padding: 8px; margin: 0 auto 20px auto; 
				background: var(--primary100); border-radius: 50%; border: solid 8px var(--primary50);
			}
				#key-features-list li .icon-holder svg {max-width: 24px; max-height: 24px; margin: auto;}
					#key-features-list li .icon-holder svg path {stroke: var(--primary700);}
		#key-features-list li h3 {width: 100%; color: var(--gray900); font-size: 1.25rem; font-weight: 500; line-height: 40px; text-align: center; margin: 0 auto;}
		#key-features-list li p {color: var(--gray600); font-size: 1rem; line-height: 1.5; text-align: center; margin: auto; max-width: 325px;}

.page-template-serve .main {padding-top: 200px;}
	.page-template-serve .main h2 {text-align: center; font-size: 2.25rem; font-weight: 500; line-height: 1.3; color: var(--gray900);}
		.page-template-serve .main .qa:last-of-type {border-bottom: solid 1px var(--gray300);}


/*-----------------------------------------------------------------------------------*/
/* Product 
/*-----------------------------------------------------------------------------------*/

.page-template-product #page-hero .hero-content {width: calc(50% - 20px);}
	.page-template-product #page-hero .hero-content h1 {}
	.page-template-product #page-hero .hero-content p.section-lead {font-size: 1.25rem; font-weight: 400; padding-right: 60px;}
.page-template-product #page-hero .hero-card {width: calc(50% - 30px); height: 640px;}

.page-template-product #key-features-list li p {color: var(--gray900)}

.page-template-product .split-blocks .split-content ul {margin-left: -35px !important;}
	.page-template-product .split-content ul li {
		font-size: 1.125rem; color: var(--gray600); font-weight: 400; padding: 5px 0 5px 35px; margin: 7px 0; line-height: 1.5; list-style: none;
		background: url(images/icon-check-blue.svg) left 5px / 24px 24px no-repeat;
	}
	.page-template-product .split-content a {text-decoration: none; color: var(--primary700);}
		.page-template-product .split-content a:hover {text-decoration: underline;}


/*-----------------------------------------------------------------------------------*/
/* Security
/*-----------------------------------------------------------------------------------*/

#security-blocks {display: flex; flex-wrap: wrap;}
	.security-block {width: calc(50% - 70px); margin: 30px 70px 50px 0;}
		.security-block .icon-holder {width: 100%; width: 28px; height: 28px; padding: 6px; background: var(--primary100); border-radius: 50%; border: solid 8px var(--primary50);}
			.security-block .icon-holder svg {width: 28px; height: 28px; margin: auto;}
				.security-block .icon-holder svg path {stroke: var(--primary700);}
		.security-block h3 {color: var(--gray900); font-size: 1.25rem; font-weight: 600; line-height: 1.5;}
		.security-block p {color: var(--gray600); font-size: 1rem; line-height: 1.5; margin: 0 0 25px 0;}
		.security-block li {color: var(--gray600);}
			

/*-----------------------------------------------------------------------------------*/
/* FAQs (and variations)
/*-----------------------------------------------------------------------------------*/

.page-template-faqs #title-block {padding-bottom: 60px}

.page-template-implementation-training-hub #title-block {padding-bottom: 40px}
#timeline-list {
	padding: 30px; max-width: 840px; margin: 0 auto 70px auto;
	background: var(--gray50);
	border: solid 1px var(--gray200);
	border-radius: 1rem;
}
#timeline-list h2 {
	color: var(--gray900);
    letter-spacing: normal;
    margin-top: 0;
    margin-bottom: 0;
    font-family: Inter, sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 135%;
}
#timeline-list ul {margin: 20px 0 0 0; padding: 0;}
#timeline-list ul li {
	list-style: none; background: url(images/icon-check-blue.svg) left 12px / 24px 24px no-repeat;
	padding: 10px 10px 10px 40px; margin: 0;
	color: var(--gray600);
    letter-spacing: normal;
    font-family: Inter, sans-serif;
    font-size: 1.125rem;
    line-height: 1.5;
}


#faqs {padding-bottom: 100px; max-width: 900px; margin: auto;}
	#faqs h2 {
		margin-top: 0; margin-bottom: 0; 
		color: var(--gray900); text-align: left; letter-spacing: 0; font-family: Inter, sans-serif; font-size: 1.875rem; font-weight: 600; line-height: 1.4;
	}
	.qa {border-bottom: solid 1px var(--gray300); padding: 25px 0; margin: auto;}
	.qa:last-of-type {border-bottom: none;}
		.question {color: var(--gray900); margin: 0; font-size: 1.25rem; font-weight: 500; line-height: 135%; position: relative; cursor: pointer; padding-right: 35px;}
			.question strong {font-weight: 500;}
			.question svg {width: 24px; height: 24px; position: absolute; top: 0; right: 0;}
			.question svg.icon-minus {display: none;}
		.answer {padding: 20px 10px 20px 0; display: none;}
			.content .answer p {padding: 0; margin: 25px 0 0 0; font-size: 1.125rem; line-height: 140%; color: var(--gray600);}
			.content .answer p:first-child {margin: 5px 0 0 0;}
				.content .answer a {color: var(--primary); text-decoration: underline;}
			.content .answer li {font-size: 1.125rem; color: var(--gray600);}


/*-----------------------------------------------------------------------------------*/
/* Help & Support
/*-----------------------------------------------------------------------------------*/

.page-template-help-support .main {padding: 0 0 100px 0;}
	.page-template-help-support .main #title-block {padding-bottom: 40px;}

ul#link-boxes {margin: 0 -40px; padding: 0; width: calc(100% + 80px); display: flex; flex-wrap: wrap; justify-content: center;}
	ul#link-boxes li {display: flex; width: calc(50% - 62px); margin: 10px; padding: 1rem; list-style: none; border: 1px solid var(--gray300); border-radius: 8px; flex-wrap: wrap;}
		ul#link-boxes li .image-holder {width: 144px; height: 144px;}
			ul#link-boxes li .image-holder img {border-radius: 6px;}
		ul#link-boxes li .text-holder {width: calc(100% - 184px); position: relative; margin: 0 20px 0 20px;}
			ul#link-boxes li .text-holder h3 {color: var(--gray700); padding: 0; margin: 5px 0 15px 0; font-size: 1.125rem;}
			ul#link-boxes li .text-holder p {color: var(--gray600); padding: 0; margin: 0; font-size: .875rem; line-height: 1.5;}
			ul#link-boxes li .link {
				position: absolute; bottom: 0; left: 0; display: flex; align-items: center; color: var(--primary700); font-size: 1rem; font-weight: 600; line-height: 1.5;
			}
				ul#link-boxes li .link svg {margin-left: 5px;}
			
.callout-bar {background: #f9fafb; padding: 80px 0 70px 0;}
	.callout-bar .container {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
		.callout-left {width: calc(100% - 240px);}
			.callout-left h2 {color: var(--gray900); text-align: left; margin-top: 0; margin-bottom: 0; font-size: 2.25rem; font-weight: 500; line-height: 1.3;}
			.callout-left p {color: var(--gray600); font-size: 1.125rem; line-height: 1.5; padding: 10px 0; margin: 0;}
		.callout-right {}
			.callout-right .btn {font-size: 1rem; padding: .625rem 1.125rem; line-height: 1;}

.page-template-help-support #team-photo {padding: 120px 0;}
	.page-template-help-support #team-photo .section-top {max-width: 760px;}
		.page-template-help-support #team-photo .section-top h2 {margin: 0 auto; font-size: 2.25rem;}
		.page-template-help-support #team-photo .section-top p { margin: 25px auto 90px auto; font-size: 1.125rem; line-height: 1.5; color: var(--gray600);}	

#support-policies {padding: 100px 0;}
	#support-policies .section-top {max-width: 740px; padding-bottom: 10px;}
		#support-policies ul {display: flex; flex-wrap: wrap; padding: 0; width: calc(100% + 30px); margin: 0 -15px;}
			#support-policies ul li {
				width: calc(33.33333% - 92px); list-style: none; margin: 15px;
				padding: 30px; list-style: none; border: 1px solid var(--gray200); border-radius: 16px;
			}
				#support-policies ul .icon-holder {
					width: 100%; width: 28px; height: 28px; padding: 6px; background: var(--primary100); border-radius: 50%; 
					border: solid 8px var(--primary50);
				}
					#support-policies ul .icon-holder svg {width: 28px; height: 28px; margin: auto;}
						#support-policies ul .icon-holder svg path {stroke: var(--primary700);}
				#support-policies ul h3 {font-weight: 600; font-size: 1.25rem; color: var(--gray800); margin: 30px 0 15px 0;}
				#support-policies ul p {font-size: .875rem; color: var(--gray600); margin: 0 0 10px 0; line-height: 1.5;}

.page-template-help-support #faqs {padding: 100px 0;}

	
/*-----------------------------------------------------------------------------------*/
/* About
/*-----------------------------------------------------------------------------------*/

.page-template-about #title-block {padding-bottom: 60px;}

.page-template-about .main .btn-holder {margin: 30px auto 0 auto;}
	.page-template-about .main .btn-holder .btn {line-height: 40px; padding: 0 15px; font-size: 1rem;}

#team-photo .image-holder {width: 100%; height: 760px;}
	#team-photo .image-holder img { width: 100%; height: 100%; object-fit: cover; border-top-left-radius: 160px; border-bottom-right-radius: 160px;}

#values {padding: 100px 0;}
	#values .section-top {max-width: 740px; padding-bottom: 20px;}
	#values-detail {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;}
		#values-left {width: 52%;}
			ul#values-items {display: flex; flex-wrap: wrap; padding: 0; margin: 0;}
				ul#values-items li {width: calc(50% - 36px); list-style: none; padding: 0; margin: 30px 32px 30px 0;}
					ul#values-items .icon-holder {width: 100%; width: 28px; height: 28px; padding: 6px; background: var(--primary100); border-radius: 50%; border: solid 8px var(--primary50);}
						ul#values-items .icon-holder svg {width: 28px; height: 28px; margin: auto;}
							ul#values-items .icon-holder svg path {stroke: var(--primary700);}
					ul#values-items h3 {font-weight: 600; font-size: 1.25rem; color: var(--gray800); margin-bottom: 15px;}
					ul#values-items p {font-size: 1rem; color: var(--gray600); margin: 0; line-height: 1.5;}
		#values-right {width: 47%;}
			#values-right img {width: 100%; height: 100%; object-fit: cover; border-top-right-radius: 160px;}

#team {padding: 90px 0;}
	#team .section-top h2 {max-width: 700px; margin-left: auto; margin-right: auto;}
	#team .section-top p {max-width: 760px; margin-left: auto; margin-right: auto;}	
	ul#team-members {display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: 0 -15px; padding: 0;}
		ul#team-members li {width: calc(33.333% - 30px); margin: 50px 15px 20px 15px; list-style: none;}
			ul#team-members li .image-holder {width: 100%; height: 508px;}
				ul#team-members li .image-holder img {border-top-right-radius: 100px;}
			ul#team-members h3 {font-weight: 600; font-size: 1.125rem; color: var(--gray800); margin-bottom: 5px;}
			ul#team-members p {font-size: 1rem; color: var(--gray700); margin: 0;}

#openings {padding: 50px 0 100px 0;}
	#openings .section-top {}
		#openings .section-top h2, #openings .section-top p {text-align: left; max-width: 48rem;}
	#openings-listing {display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between;}
		#openings-listing-left {width: 48%;}
			#BambooHR-ATS h2 {font-family: "DoyleMedium", serif; font-size: 21px; line-height: 1.25; letter-spacing: -1px; font-weight: 500; color: var(--gray800);}
			#openings .resumator-job-title {
				padding: 5px 0 0; margin: 24px 0 0 !important;  font: 1.25rem Inter, sans-serif !important; font-weight: 600 !important; border-top: none !important;
			}
			#openings .resumator-job-heading, #openings .resumator-job-info {
				font: 1rem Inter, sans-serif !important; color: var(--gray500) !important; font-weight: 400 !important; margin: 12px 0 !important;
			}
			#openings .resumator-job-link {
				font: 1rem Inter, sans-serif !important; padding: 24px 0 !important; color: var(--primary) !important; font-weight: 600 !important;
			}
		#openings-listing-right {width: 48%;}
			#openings-listing-right img {width: 100%; height: 100%; object-fit: cover; border-top-left-radius: 160px;}


/*-----------------------------------------------------------------------------------*/
/* Pricing
/*-----------------------------------------------------------------------------------*/

.page-template-pricing #title-block {padding-bottom: 30px;}

.tab-switch {display: flex; justify-content: center;}
	.tab-switch ul {
		border: 1px solid var(--gray200);
		background-color: var(--white);
		color: var(--primary700);
		border-radius: .5rem;
		list-style: none;
		display: inline-flex; width: auto;
		padding: 0; margin: 25px auto;
	}
		.tab-switch li {
			display: block; padding: 0 20px; margin: 10px; font-size: 1.125rem; background: var(--white);
			color: var(--gray600); font-weight: 600; line-height: 48px; border-radius: 5px; 
		}
		.tab-switch li.active {
			display: block; padding: 0 20px; margin: 10px; font-size: 1.125rem; background: var(--secondary);
			color: var(--white); font-weight: 600; line-height: 48px; border-radius: 5px; 
		}

ul.pricing-block {padding: 0; margin: 0; display: flex; flex-wrap: wrap; border: 1px solid var(--gray200); border-radius: 1rem;}
	ul.pricing-block > li {padding: 25px; margin: 0; list-style: none; width: calc(33.333% - 52px); color: var(--gray600);}
		ul.pricing-block > li .icon-holder {width: 100%; width: 28px; height: 28px; padding: 6px; background: var(--primary100); border-radius: 50%; border: solid 8px var(--primary50);}
			ul.pricing-block > li .icon-holder svg {width: 28px; height: 28px; margin: auto;}
				ul.pricing-block > li .icon-holder svg path {stroke: var(--primary700);}
	ul.pricing-block > li h3 {margin-bottom: 30px;}
	ul.pricing-block > li h3.pricing-type {color: var(--primary700);}
	ul.pricing-block > li .price {font-size: 48px; color: var(--gray900); font-weight: 500; display: flex; align-items: flex-end;}
		ul.pricing-block > li .price span.frequency {font-size: 1rem; color: var(--gray600); font-weight: 400; line-height: 1.7;}
	ul.pricing-block > li p {font-size: 1rem; color: var(--gray600); font-weight: 400; line-height: 1.5;}
	ul.pricing-block > li ul {padding: 0; margin: 15px 0;}
		ul.pricing-block > li ul li {
			font-size: 1rem; color: var(--gray600); font-weight: 400; padding: 5px 0 5px 35px; margin: 7px 0; line-height: 1.5;
			background: url(images/icon-check-blue.svg) left 5px / 24px 24px no-repeat;
			list-style: none;
		}
		ul.pricing-block > li ul li.icon-x {background-image: url(images/icon-x-red.svg);}
		

	/* set default */
	.pricing-block .pricing-details-pt, ul.pricing-block > li .price-pt {display: none;}
	
#pricing-main ul.pricing-block > li:nth-child(1) {border-right: 1px solid var(--gray200); border-bottom: 1px solid var(--gray200);}
#pricing-main ul.pricing-block > li:nth-child(2) {border-right: 1px solid var(--gray200); border-bottom: 1px solid var(--gray200);}
#pricing-main ul.pricing-block > li:nth-child(3) {border-bottom: 1px solid var(--gray200);}
#pricing-main ul.pricing-block > li:nth-child(4) {border-right: 1px solid var(--gray200);}
#pricing-main ul.pricing-block > li:nth-child(5) {border-right: 1px solid var(--gray200);}
#pricing-main ul.pricing-block > li:nth-child(6) {}

/* practice */
#pricing-practice {padding: 50px 0 0 0;}
	#pricing-practice .section-top {}
		#pricing-practice .section-top h2, #pricing-practice .section-top p {text-align: left; max-width: 48rem;}
	#pricing-practice ul.pricing-block {border: none; width: calc(100% + 20px); margin: 0 -10px;}
		#pricing-practice ul.pricing-block > li {
			margin: 0 10px; padding-bottom: 100px; width: calc(50% - 72px); border: 1px solid var(--gray200); border-radius: 1rem; position: relative;
		}
			#pricing-practice ul.pricing-block > li h3 {color: var(--primary700);}
			#pricing-practice ul.pricing-block > li .price {display: flex; align-items: center;}
	
	/* blue */
	#pricing-practice ul.pricing-block > li .btn {
		background: var(--primary600); color: #fff !important; width: calc(100% - 112px); border: none;
		position: absolute; bottom: 30px; text-align: center; line-height: 46px;
	}
		#pricing-practice ul.pricing-block > li .btn:hover {background: var(--primary500);}	

	/* pink */
	#pricing-practice ul.pricing-block > li:last-of-type .icon-holder {background: #fce7f6; border-color: #fdf2fa;}
	#pricing-practice ul.pricing-block > li:last-of-type .icon-holder svg path {stroke: var(--secondary);}
	#pricing-practice ul.pricing-block > li:last-of-type h3 {color: var(--secondary);}

	#pricing-practice ul.pricing-block > li:last-of-type .price span.price-special {
		margin-left: 10px;
		color: var(--secondary); background: var(--secondary-light); border-radius: 16px;;
		padding: .125rem .75rem; font-size: 1rem; line-height: 1.2; text-transform: uppercase;
	}

	#pricing-practice ul.pricing-block > li:last-of-type ul li {background-image: url(images/icon-check-red.svg);}
	#pricing-practice ul.pricing-block > li:last-of-type .btn {background: var(--secondary);}
		#pricing-practice ul.pricing-block > li:last-of-type .btn:hover {opacity: 0.66;}
	
/* add-ons */
#pricing-addons {padding: 50px 0 100px 0;}
	#pricing-addons .section-top {}
		#pricing-addons .section-top h2, #pricing-addons .section-top p {text-align: left; max-width: 48rem;}

		#pricing-addons ul.pricing-block {border: none; width: calc(100% + 20px); margin: -10px -10px 0 -10px;}
			#pricing-addons ul.pricing-block > li {margin: 10px; border: 1px solid var(--gray200); border-radius: 1rem; width: calc(33.333% - 72px);}
				#pricing-addons ul.pricing-block > li h3 {color: var(--primary700);}
				#pricing-addons ul.pricing-block > li .btn {
					display: flex; align-items: center; justify-content: center; width: calc(100% - 72px);
					margin-top: 12px;
					background-color: var(--gray50); font-size: 1rem; line-height: 48px; 
				}
				#pricing-addons ul.pricing-block > li .btn:hover {background-color: var(--secondary-light);}
					#pricing-addons ul.pricing-block > li .btn svg {margin-left: 5px;}
						#pricing-addons ul.pricing-block > li .btn svg path {stroke: var(--primary700);}
						#pricing-addons ul.pricing-block > li .btn:hover svg path {stroke: var(--secondary700);}
	
	.radio-holder {color: var(--gray600); padding: 10px 0; margin: 0; font-size: 1rem;}
		.radio-holder input {margin-right: 10px;}

/* Slider Wrapper */
.slider-wrapper { width: 100%; max-width: 450px; margin: 20px auto; }
#patientPortalSlider { 
	cursor: pointer; --track-fill: 0%; --track-bg: var(--primary100); --track-fg: var(--primary); width: 100%; -webkit-appearance: none; background: transparent; 
	height: 24px; /* helps Safari render track/thumb consistently */
}
#patientPortalSlider::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 4px;
  background:
    linear-gradient(var(--track-fg), var(--track-fg)) 0/var(--track-fill) 100% no-repeat,
    var(--track-bg);
}
#patientPortalSlider::-moz-range-track { height: 8px; border-radius: 4px; background: var(--primary100); }
#patientPortalSlider::-moz-range-progress { height: 8px; border-radius: 4px; background: var(--primary); }
.slider-wrapper input[type="range"]::-webkit-slider-thumb { 
	-webkit-appearance: none; height: 24px; width: 24px; border-radius: 50%; background: #fff; border: 1px solid var(--primary); box-shadow: 0 0 4px rgba(0,0,0,0.2); margin-top: -8px; cursor: grab; 
}
.slider-wrapper input[type="range"]::-webkit-slider-thumb:active { cursor: grabbing; }
.slider-wrapper input[type="range"]::-moz-range-thumb { 
	height: 24px; width: 24px; border-radius: 50%; background: #ffffff; border: 3px solid var(--primary); box-shadow: 0 0 4px rgba(0,0,0,0.2); cursor: grab; 
}
.slider-wrapper input[type="range"]:focus::-webkit-slider-thumb, .slider-wrapper input[type="range"]:focus::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.25); }
.slider-value-floating { position: relative; height: 24px; margin-top: 5px; width: 100%;}
#sliderPrice { position: absolute; transform: translateX(-50%); font-size: 18px; font-weight: 500; color: #475467; white-space: nowrap; pointer-events: none; }

/* faqs */
.page-template-pricing #faqs .section-top {padding-bottom: 30px;}
	.page-template-pricing #faqs h2 {font-family: "DoyleMedium", serif; text-align: center; font-size: 2.25rem; font-weight: 500; line-height: 1.3;}
	.page-template-pricing #faqs .section-top p { font-size: 1.125rem; var(--gray600); line-height: 1.5; margin-top: 0;}


/*-----------------------------------------------------------------------------------*/
/* Legal
/*-----------------------------------------------------------------------------------*/

#legal #title-block h1 {margin-top: 20px;}
#legal #title-block p {color: var(--black);}
#legal .content {width: 100%; max-width: 740px; margin: auto; padding-bottom: 120px;}

/*-----------------------------------------------------------------------------------*/
/* Talk to Sales
/*-----------------------------------------------------------------------------------*/

.page-id-69 #title-block {padding-bottom: 10px;}
	.page-id-69 #title-block h1 {font-size: 3rem; line-height: 1.2;}


/*-----------------------------------------------------------------------------------*/
/* Blog
/*-----------------------------------------------------------------------------------*/

ul.blog-grid li .text-holder {display: flex; justify-content: space-between; margin-top: 35px;}


/*-----------------------------------------------------------------------------------*/
/* Customer Stories
/*-----------------------------------------------------------------------------------*/

ul.customer-stories-grid li {margin-bottom: 100px;}
	ul.customer-stories-grid li .image-holder {height: 280px;}
	ul.customer-stories-grid li .text-holder {}
		ul.customer-stories-grid li .text-holder h3 {margin-bottom: 15px;}
			ul.customer-stories-grid li .text-holder h3 a {color: var(--gray900); font-size: 1.5rem; font-weight: 600; line-height: 1.4;}
		ul.customer-stories-grid li .text-holder .excerpt {margin-bottom: 12px; color: var(--gray600); font-size: 1rem; line-height: 1.5;}
		ul.customer-stories-grid li .text-holder .read-more {color: var(--primary700); font-size: 1rem; font-weight: 600; line-height: 1.5; display: flex; align-items: center;}
			ul.customer-stories-grid li .text-holder .read-more svg {margin-left: 5px;}


/*-----------------------------------------------------------------------------------*/
/* Integration & Partners
/*-----------------------------------------------------------------------------------*/

.page-template-integration-partners #title-block {padding-bottom: 50px;}

#ip-searchbar {display: flex; justify-content: center;}
	.ip-search_field {
		border: 1px solid var(--gray300); color: var(--gray500);
		background-image: url("images/icon-search.svg");
		background-position: 14px;
		background-repeat: no-repeat;
		background-size: 20px;
		border-radius: .5rem;
		line-height: 32px;
		margin: 0;
		padding: 12px 14px 12px 42px;
		font-size: 1rem;
		width: 100%; max-width: 770px;
	}
	.ip-search_field:focus {
		border-color: var(--primary600) !important;
		box-shadow: 0 0 10px rgba(var(--primary700-rgb), 0.1) !important;
		outline: none !important;
	}

ul#integration-partner-categories {display: flex; flex-wrap: wrap; justify-content: center; padding: 0; margin: 30px 0 0 0;}
	ul#integration-partner-categories li {
		padding: 0 20px; margin: 5px; border: solid 1px var(--gray300); list-style: none;
		font-size: 1rem; border-radius: .5rem;
		font-weight: 600;
		line-height: 1.5rem;
		cursor: pointer;
		box-shadow: 0 1px 2px #1018280d;
		line-height: 48px;
		color: var(--gray800);
	}
		ul#integration-partner-categories li span.post-count {color: var(--gray500); padding-left: 5px;}
	ul#integration-partner-categories li.current {border-color: var(--primary600); background-color: var(--primary600); color: var(--white);}
		ul#integration-partner-categories li.current span.post-count {color: var(--white);}

ul.ip-grid {
    opacity: 1; display: grid !important; width: calc(100% + 60px); margin: 50px -30px 0 -30px; grid-template-columns: repeat(4, 1fr); gap: 30px; align-items: stretch;
}
	ul.ip-grid li {
		width: auto !important;
		margin: 0 !important;
		padding: 0;
		border: 1px solid var(--gray200);
		border-radius: 1rem;
		background-color: var(--gray50);
		text-align: left !important;
		display: flex;
		flex-direction: column;
		height: 100%;
	}			
		ul.ip-grid li .type-holder {display: flex; justify-content: flex-end; margin: 15px 15px 5px 0;}
			ul.ip-grid li .type-badge {text-align: center; font-weight: 500; font-size: 14px; line-height: 20px; padding: 2px 10px; border-radius: 16px;}
			ul.ip-grid li .partner-badge {background-color: var(--orange50); color: var(--orange700);}
			ul.ip-grid li .integration-badge {background-color: var(--secondary-light); color: var(--secondary700);}
		ul.ip-grid li .logo-holder {
			display: flex; justify-content: flex-start !important; align-items: center; position: relative;
			margin: 5px 0 0 25px;
		}
			ul.ip-grid li .logo-holder img {width: auto; max-width: 200px; max-height: 56px; object-fit: contain; margin-left: 0 !important; display: block;}
		ul.ip-grid li .text-holder { 
			display: flex; flex-direction: column; height: calc(100% - 50px); margin: 0 0 25px 0; padding: 25px 25px 40px 25px; 
			position: relative;
		}
			ul.ip-grid li .text-holder h3 {font-size: 1.25rem; font-weight: 600; line-height: 1.5; margin: 0; padding-right: 0;}
				ul.ip-grid li .text-holder h3 a {color: var(--gray900);}
			ul.ip-grid li .text-holder .excerpt {margin-bottom: 12px; color: var(--gray600); font-size: 1rem; line-height: 1.5;}
			ul.ip-grid li .text-holder .read-more {position: absolute; bottom: 0; color: var(--primary700); font-size: 1rem; font-weight: 600; line-height: 1.5; display: flex; align-items: center;}
				ul.ip-grid li .text-holder .read-more svg {margin-left: 5px;}


/*-----------------------------------------------------------------------------------*/
/* Product Logs
/*-----------------------------------------------------------------------------------*/

.flex-tabs-component {grid-column-gap: 0rem; grid-row-gap: 0rem; justify-content: space-between; align-items: flex-start; display: flex; position: relative;}

	.tab-menu {flex: 1; max-width: 200px; margin-right: 40px; position: sticky; top: 100px; flex-direction: column; justify-content: flex-start; align-items: stretch; width: 100%; display: flex;}

		.menu-link {
			background-color: transparent;
			border-radius: .375rem;
			width: 100%;
			margin-bottom: .25rem;
			padding: .75rem 1rem;
			text-decoration: none;
			transition: all .3s;
			color: var(--gray500); white-space: nowrap; font-weight: 600;
		}
			.menu-link.current-link {background-color: var(--gray50); color: var(--primary600);}

	.tab-content {
		flex: 1;
		transition: opacity 180ms ease;
		margin-left: 2rem;
		display: block;
		position: relative;
		overflow: hidden;
		min-height: 600px; /* adjust to whatever looks good in your layout */
	}
		.tab-content.is-fading {opacity: 0;}

		.tab-pane {display: none; opacity: 0; transition: none !important;}
		.tab-active {display: block; opacity: 1; transition: none !important;}

	.product-update-item {margin-bottom: 50px;}
		.product-update-item-top {display: flex; flex-wrap: wrap; align-items: center;}
			.product-update-item .icon-holder {
				width: 100%; width: 24px; height: 24px; padding: 8px; margin: 0 10px 0 0; background: var(--primary100); border-radius: 50%; border: solid 8px var(--primary50);
			}
				.product-update-item .icon-holder img {max-width: 24px; max-height: 24px; margin: auto;}
			.product-update-item h3 {color: var(--black); margin-top: 0; margin-bottom: 0; font-size: 1.5rem; font-weight: 700; line-height: 1.4;}
		.product-update-item p {margin-bottom: 24px; font-size: 16px; font-weight: 300; line-height: 28px; color: var(--gray600);}
			.product-update-item ul {color: var(--gray600); margin-bottom: 24px; font-weight: 300; line-height: 28px;}
				.product-update-item ul li {font-size: 16px; line-height: 28px !important; list-style: disc;}
				.product-update-item ol li {font-size: 16px; line-height: 28px !important; list-style: decimal;}
		.product-update-item .read-details {display: block; font-weight: 600; color: var(--primary700); font-size: 16px; line-height: 24px; margin-bottom: 24px;}


/*-----------------------------------------------------------------------------------*/
/* Video Library
/*-----------------------------------------------------------------------------------*/

.video-wrapper {
    position: relative; width: 100%;  height: 0; overflow: hidden;
    padding-bottom: 56.25%; /* 16:9 ratio — change if needed */
}
	.video-wrapper iframe, .video-wrapper embed, .video-wrapper video {position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; border: 0;}

/* --- Overlay (hidden by default) --- */
.video-popup {
    display: none; position: fixed; top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); /* Dark overlay */
    z-index: 9999;
    justify-content: center; align-items: center;
    padding: 30px;
    opacity: 0; /* For fade-in effect */
    transition: opacity 0.3s ease;
}
	.video-popup.active { display: flex; opacity: 1;}
	.video-popup-inner { position: relative; width: 90%; height: auto; max-width: 1000px; animation: popupScaleIn 0.3s ease;}

	/* --- Fade+scale animation --- */
	@keyframes popupScaleIn {
		from { opacity: 0; transform: scale(0.92); }
		to   { opacity: 1; transform: scale(1); }
	}

	/* --- Close button --- */
	.video-close {
		position: absolute; top: -50px; right: -50px; background: none; border: none; 
		cursor: pointer; line-height: 1; padding: 0; z-index: 10000;
		background: #ffffff4d; border-radius: 50%; width: 50px; height: 50px; display: flex; justify-content: center; align-items: center;
	}
		.video-close-icon {font-size: 42px; color: #fff; cursor: pointer; line-height: 1; padding: 0 0 5px 0;}
		.video-close:hover {opacity: 0.7;}

.meta-length {margin-top: 1.5rem; color: var(--primary600); font-size: .875rem; font-weight: 600; line-height: 1.5;}

#featured-video {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
	#featured-video .video-holder {width: calc(50%);}
	#featured-video .text-holder {width: calc(50% - 50px);}
		#featured-video .text-holder h2 {
			color: var(--gray900); letter-spacing: 0; margin-top: 0; margin-bottom: 0; font-size: 1.875rem; font-weight: 600; line-height: 1.4;
			font-family: system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif
		}
		#featured-video .text-holder p {color: var(--gray600);font-size: 1rem; line-height: 1.5;}

ul#video-categories {display: flex; justify-content: center; flex-wrap: wrap; padding: 0; margin: 100px 0 50px 0;}
	ul#video-categories li {
		padding: 0 20px; margin: 5px; border: solid 1px var(--gray300); list-style: none;
		font-size: 1rem; border-radius: .5rem;
		font-weight: 600;
		line-height: 1.5rem;
		cursor: pointer;
		box-shadow: 0 1px 2px #1018280d;
		line-height: 48px;
		color: var(--gray800);
	}
	ul#video-categories li.current {border-color: var(--primary600); background-color: var(--primary600); color: var(--white);}

ul.videos-grid {width: calc(100% + 80px); margin: 0 -40px; min-height: 500px;}
	ul.videos-grid li {}
		ul.videos-grid li .video-thumb {height: 230px; border-radius: 0; background-size: cover; position: relative;}

			ul.videos-grid li .video-cat-holder {position: absolute; top: 0; right: 0; display: flex; justify-content: flex-end; margin: 15px 15px 5px 0;}
				ul.videos-grid li .video-cat-badge {text-align: center; font-weight: 500; font-size: 14px; line-height: 20px; padding: 2px 10px; border-radius: 16px;}
				ul.videos-grid li .general-badge {background-color: var(--primary50); color: var(--primary700);}
				ul.videos-grid li .livestream-series-badge {background-color: #fdf2fa; color:  #c11574;}
				ul.videos-grid li .office-hours-badge {background-color: #fef6ee; color: #e04f16;}
				ul.videos-grid li .walkthrough-badge {background-color: #ecfdf3; color: #027048;}
			
			ul.videos-grid li .video-thumb a {display: block; width: 100%; height: 100%; position: relative;}
				.play-icon {
					width: 60px; height: 60px; background-color: var(--primary600); border-radius: 50%;
					position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
				}
					.play-icon:hover {background-color: var(--primary700);}
					.play-icon img, .play-icon img:hover {height: 23px; width: 20px; position: absolute; left: calc(50% + 2px); top: 50%; transform: translate(-50%, -50%);}

		ul.videos-grid li .text-holder {}
			ul.videos-grid li .text-holder h3 {font-size: 1.5rem; letter-spacing: 0; font-weight: 600; line-height: 1.4;}
			ul.videos-grid li .text-holder .excerpt {margin-bottom: 12px; color: var(--gray600); font-size: 1rem; line-height: 1.5;}
	

/*-----------------------------------------------------------------------------------*/
/* Permissions Matrix
/*-----------------------------------------------------------------------------------*/

.page-template-permissions-matrix {}

.price-grid {border: 1px solid var(--gray200); background-image: linear-gradient(270deg,var(--gray200),white 1.5%);}
.price-type {color:var(--primary700);}
.price-type.feature {color:var(--gray600); text-align:left}



/*-----------------------------------------------------------------------------------*/
/* Single
/*-----------------------------------------------------------------------------------*/

.single .main {padding-bottom: 160px;}
	.single #title-block {padding-bottom: 5px;}
		.single #title-block h1 {color: var(--gray900); font-weight: 500; line-height: 1.2;}
	.meta-author {padding: 20px 0 50px 0; margin: auto;}
	
	.single-content {margin: auto; max-width: 768px;}

.hero-image-container {
	height: 500px; width: 100%; max-width: 1030px; position: relative; overflow: hidden; margin: 20px auto 80px auto;
	border-top-right-radius: 120px; border-bottom-left-radius: 120px; 
}
	.hero-image-container img {width: 100%; height: 100%; object-fit: cover; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}

.single-content h2 {margin-top: 1.5rem; margin-bottom: 1rem; font-weight: 500; font-size: 32px; line-height: 36px; color: var(--gray600);}
.single-content > p {margin-bottom: 24px; font-size: 18px; font-weight: 300; line-height: 28px; color: var(--gray600);}
.single-content a {color: var(--primary700); text-decoration: underline;}

.single-content > ul {color: var(--gray600); margin-bottom: 24px; font-size: 18px; font-weight: 300; line-height: 28px;}
	.single-content > ul li {font-size: 18px; line-height: 28px !important; list-style: disc;}
	.single-content > ol li {font-size: 18px; line-height: 28px !important; list-style: decimal;}

.single figure.w-richtext-align-fullwidth,
.single figure.w-richtext-figure-type-image,
.single figure.w-richtext-align-center {text-align: center; clear: both; width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; display: block;}
	.single figure.w-richtext-align-fullwidth img,
	.single figure.w-richtext-figure-type-image img,
	.single figure.w-richtext-align-center img {height: auto; width: 100%;}

.single figure.w-richtext-figure-type-image {max-width: 60% !important; position: relative;}

.back-link {margin: 10px auto; max-width: 768px;}
	.back-link a {color: var(--primary700); font-size: 1rem; font-weight: 600; line-height: 1.5;}

/* blog */
.blog-cta {margin: 100px auto 10px auto; max-width: 768px; display: block;}
	.blog-cta img {width: 100%; height: auto; max-width: 768px;}
.back-button {margin: 10px auto; max-width: 768px;}
	
.uui-blogpost01_divider-3 {
  background-color: var(--gray200);
  width: 100%;
  max-width: 48rem;
  height: 1px;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

.uui-button-secondary-gray {
    grid-column-gap: .5rem;
    border: 1px solid var(--gray300);
    background-color: var(--white);
    color: var(--gray700);
    text-align: center;
    white-space: nowrap;
    border-radius: .5rem;
    justify-content: center;
    align-items: center;
    padding: .625rem 1.125rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    transition: all .3s;
    display: flex;
    box-shadow: 0 1px 2px #1018280d;
	max-width: 100%;
}
.uui-button-secondary-gray:hover {background: var(--gray50);}

/* product updates */
.single-product-updates #title-block h1 {margin-bottom: 20px;}
.single-product-updates .single-content {margin-bottom: 80px;}
	.single-product-updates .single-content h4 {
		font-family: "DoyleMedium", serif; color: var(--black); margin-top: 0; margin-bottom: 0; font-size: 1.5rem; font-weight: 500; line-height: 1.4;
		font-size: 18px;
	}
	.single-product-updates .single-content p {margin-bottom: 24px; font-size: 18px; font-weight: 300; line-height: 28px; color: var(--gray600);}
	.single-product-updates .single-content p strong {font-weight: 700;}
	.single-product-updates .single-content ul {color: var(--gray600); margin-bottom: 24px; font-size: 18px; font-weight: 300; line-height: 28px;}
		.single-product-updates .single-content ul li {font-size: 18px; line-height: 28px !important; list-style: disc;}
		.single-product-updates .single-content ol li {font-size: 18px; line-height: 28px !important; list-style: decimal;}
.single-product-updates .back-link a {font-size: 1.125rem;}

/* customer story */
.single-customer-stories .main .container {max-width: 1340px;}
	.single-customer-stories #customer-story-top {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; height: 640px; padding: 180px 0 100px 0;}
		.single-customer-stories #customer-story-top #title-block {width: calc(50% - 32px); text-align: left; padding: 0; margin: 0;}
			.single-customer-stories #customer-story-top #title-block h1 {margin: 0;}
			.single-customer-stories #customer-story-top #title-block .meta-author {color: var(--gray500); font-size: 1.25rem; line-height: 1.5; font-weight: 700;}
		.single #customer-story-top .image-holder {width: calc(50% - 32px); height: 40rem; border-top-left-radius: 160px; border-bottom-right-radius: 160px; position: relative; overflow: hidden;}
			.single #customer-story-top .image-holder img {width: 50%; object-fit: cover; border-top-left-radius: 0; width: 100%; height: 40rem;}

