/*	==========================================================================
	begin config
	==========================================================================	*/

:root {

/*	fonts + scaling
  	--------------------------------------------------------------------------	*/

  	/* default font stack */
	--font-main-stack: 'times new roman', ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";
	
	/* the text and heading font families */
	
	--font-text: var(--font-main-stack);
	--font-heading: var(--font-main-stack);
	--weight-heading: 600;
	--weight-text: 500;

	--font-awesome: 'Font Awesome 6 Pro';
	--font-awesome-solid: 900;
	--font-awesome-regular: 400;
	--font-awesome-light: 300;

	/* the default font size */
	--base-font-size: 16px;
	--font-sm: 0.825rem;
	--font-lg: 1.125rem;

	/* the font-size + em scaling factor */
	--scaled-font-size: calc(var(--base-font-size) * (1 - 0.5) + 0.5vw);
	/* --scaled-font-size: 1vw; */

	/* auto-select the default or scaled font size */
	--font-size: max(var(--base-font-size), var(--scaled-font-size));

	/* the headings */
	--base-h1-size: 2.5rem;
	--base-h2-size: 2rem;
	--base-h3-size: 1.75rem;
	--base-h4-size: 1.5rem;
	--base-h5-size: 1.25rem;
	--base-h6-size: 1rem;
	
	--container-margin: 5vw;
	--card-padding: 2rem;
	--max-container-width: 80rem;
	--container-width: min(calc(100vw - var(--container-margin) * 2), var(--max-container-width));
	--grid-gap: 2rem;
	--section-padding: 6rem;
	--subsection-padding: 4rem;

/*	colors
  	--------------------------------------------------------------------------	*/

	--primary: #1a1919;
	--primary-hover:#4d5154;
	--secondary: #AA0000;
	--secondary-hover: #bb3333;
	--text: #4b5563;
	
	--gray-100: #fafafa;
	--gray-200: #eeeeee;
	--gray-300: #e1e1e1;
	--gray-400: #d5d5d5;
	--gray-500: #afafaf;
	--gray-600: #8a8a8a;
	--gray-700: #646464;
	--gray-800: #3f3f3f;
	--gray-900: #191919;
	
	--black: #1a1919;
	--white: #fff;

	--mobile-nav-bg: var(--gray-900);
	--mobile-nav-btn: #313030;
	--mobile-nav-active-btn: var(--secondary);

/*	design params
  	--------------------------------------------------------------------------	*/

  	--border-radius: 0.75rem;
	--btn-border-radius: 0.25rem;
	--btn-padding: 0.75rem 1.25rem;
	--btn-padding-small: 0.5rem 1rem;
	--header-padding: 1rem;
	--header-top-height: 6rem;
	--header-menu-height: 4rem;
	--header-menu-height-stuck: 4rem;
	--header-height: calc(var(--header-top-height) + var(--header-menu-height));
	--shadow: 0 8px 16px rgba(25,35,45,0.075);
	--transition-speed: 0.2s;
	--main-padding: 3rem;

/*	general breakpoints
  	--------------------------------------------------------------------------

	75rem: 1200px
	60rem: 992px
	48rem: 768px
	36rem: 576px

*/

} /* :root */

/*	mobile config
  	--------------------------------------------------------------------------	*/

@media(max-width: 75rem) {
	:root {
		--section-padding: 3rem;
		--subsection-padding: 2rem;
		--card-padding: 1rem;
		--base-h1-size: calc(1.375rem + 1.5vw);
		--base-h2-size: calc(1.325rem + .9vw) ;
		--base-h3-size: calc(1.3rem + .6vw);
		--base-h4-size: calc(1.275rem + .3vw);
	} /* end :root */
	
} /* end @media(max-width: 75rem) */

/*	> 1920px viewports
  	--------------------------------------------------------------------------	*/

@media(min-width: 120rem) {
	:root {
		--container-margin: 8rem;
	} /* end :root */
	
} /* end @media(min-width: 120rem) */
@media(min-width: 160rem) {
	:root {
		--container-margin: 12rem;
	} /* end :root */
	
} /* end @media(min-width: 160rem) */

/*	end config
  	--------------------------------------------------------------------------	*/

/*	==========================================================================
	Preload and lazy load states
	==========================================================================	*/

body.preload * {
	transition: none;
}

body.preload .db-nav-menu li > ul {
	transition: none;
	display: none;
}

.lazy {
	background-image: none !important;
}

.defer-bg {
	background-image: none !important;
}

/*	==========================================================================
	minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css 
	==========================================================================	*/

html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}
button, button:focus, button:hover {border: 0;padding: 0;margin: 0;outline: none;background: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}

/*	==========================================================================
	core css
	==========================================================================	*/

html {
	font-family: var(--font-text);
	font-size: var(--font-size);
	color: var(--text);
	font-weight: var(--weight-text);
	/* -webkit-font-smoothing: antialiased; */
}

html * {
	-webkit-tap-highlight-color: transparent;
	font-display: swap;
}

body {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	visibility: visible;
	transition: none;
	line-height: 1.6;
	margin: 0;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	overflow: visible;
}

body.locked {
	overflow: hidden;
}

button {
	font-family: var(--font-text);
	font-size: var(--font-size);
}

/*	.db-container
  	--------------------------------------------------------------------------	*/

.db-container {
	max-width: var(--container-width);
}

/*	headings
  	--------------------------------------------------------------------------	*/

h1, .h1 {
	font-size: var(--base-h1-size);
	font-family: var(--font-heading);
	font-weight: var(--weight-heading);
	letter-spacing: -0.0625rem;
}
h2, .h2 {
	font-size: var(--base-h2-size);
	font-family: var(--font-heading);
	font-weight: var(--weight-heading);
	letter-spacing: -0.0625rem;
}
h3, .h3 {
	font-size: var(--base-h3-size);
	font-family: var(--font-heading);
	font-weight: var(--weight-heading);
	letter-spacing: -0.03125rem;
}
h4, .h4 {
	font-size: var(--base-h4-size);
	font-family: var(--font-heading);
	font-weight: var(--weight-heading);
	letter-spacing: -0.03125rem;
}
h5, .h5 {
	font-size: var(--base-h5-size);
	font-family: var(--font-heading);
	font-weight: var(--weight-heading);
	letter-spacing: -0.03125rem;
}
h6, .h6 {
	font-size: var(--base-h6-size);
	font-family: var(--font-heading);
	font-weight: var(--weight-heading);
	letter-spacing: 0;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	margin-top: 0;
	margin-bottom: 1rem;
	line-height: 1.5em;
	color: var(--primary);
	text-wrap: balance;
}

/*	text
  	--------------------------------------------------------------------------	*/

.text-sm {
	font-size: 0.875rem;
}
.text-lg {
	font-size: 1.125rem;
}
.balance-text {
	text-wrap: balance;
}
.center-text {
	text-align: center;
}
.right-text {
	text-align: right;
}

/*	images
  	--------------------------------------------------------------------------	*/

div:has(img.cover) {
	overflow: hidden;
}
img.cover {
	object-fit: cover;
	object-position: center;
	display: block;
	vertical-align: top;
	width: 100%;
	height: 100%;
}
  
/*	icons
  	--------------------------------------------------------------------------	*/

.db-boxed-icon {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 1rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: white;
	background: linear-gradient(to bottom right, var(--secondary-hover), var(--secondary));
	font-size: 2.25rem;
	margin: 0 0 var(--card-padding) 0;
}
.db-boxed-icon i {
	font-weight: 500;
}

/*	color overrides
  	--------------------------------------------------------------------------	*/

.primary {
	color: var(--primary)
}
.secondary {
	color: var(--secondary);
}
.gray-100 {
	color: var(--gray-900);
}

/*	text margins
  	--------------------------------------------------------------------------	*/

p {
	margin-bottom: 1rem;
}
p:last-child {
	margin: 0;
}
ul:last-child {
	margin-bottom: 0;
}

/*	links
  	--------------------------------------------------------------------------	*/

a {
	transition: 0.25s color;
	color: var(--secondary);
	text-decoration: none;
}

a:hover {
	color: var(--secondary-hover);
}

a:active {
	color: var(--secondary-hover);
}

a:visited {
	color: var(--secondary);
}
p a:hover {
	text-decoration: underline;
}

/*	add underlines to body text links
  	--------------------------------------------------------------------------	*/
main a,
main li a {
	text-decoration: underline;
}

/*	hr
  	--------------------------------------------------------------------------	*/

hr {
	width: 100%;
	height: 1px;
	display: block;
	border: none;
	margin: 2em 0;
	background: var(--gray-200);
}

/*	utility
  	--------------------------------------------------------------------------	*/

 .transparent {
 	opacity: 0;
 }
 
 /*	transitions
  	--------------------------------------------------------------------------	*/
	  
 .db-hover-bounce {
  	-webkit-transform: perspective(1px) translateZ(0);
  	transform: perspective(1px) translateZ(0);
  	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  	transition: var(--transition-speed) transform, var(--transition-speed) color;
 }
 .db-hover-bounce:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/*	==========================================================================
	site header
	==========================================================================	*/

header#header {
	width: 100%;
	display: contents; /* Needed for child element with position: sticky */
}
header#header 
header .db-site-logo {
	height: 100%;
	width: auto;
	max-width: 16rem;
	height: auto;
	padding: 0.5rem 0;
}
.db-site-logo {
	max-width: 16rem;
}
@media(max-width:48rem) {
	header .db-site-logo {
		max-width: 50%;
	}
}
header .db-site-logo > a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
header .db-site-logo img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
}

/*	.db-header-top-row
  	--------------------------------------------------------------------------	*/

.db-header-top-row {
	width: 100%;
	height: auto;
}
.db-header-top-row .db-container {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.db-header-top-row .db-header-menu-group {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	gap: 1rem;
}
.db-header-top-row .menu {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	gap: 2rem;
}
.db-header-top-row .menu  > li > a {
	transition: 0s color;
}
.db-header-top-row .menu  > li > a:hover {
	color: var(--cta);
}
.db-header-top-row .db-btn.drop-down.open > ul {
	z-index: 100;
}
	
/*	.db-header-menu-row
  	--------------------------------------------------------------------------	*/

.db-header-menu-row {
	position: relative;
	width: 100%;
	height: auto;
	padding: 0.5rem 0;
	background: #fff;
}
.db-header-menu-row.dual-row {
	padding: 0.5rem 0;
}
.db-header-menu-row.stuck {
	border-bottom: 1px solid var(--gray-300);
}
.db-header-menu-row .db-container {
	height: 100%;
	display: flex;
	gap: 1rem;
	padding: 0;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	position: relative;
	border-radius: var(--border-radius);
}
@media(max-width:60rem) {
	.db-header-menu-row .db-container {
		justify-content: center;
	}
	.db-header-menu-row .menu-btn {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
	}
}
@media(max-width:48rem) {
	.db-header-menu-row .db-container {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		text-align: center;
	}
	.db-header-menu-row .logo {
		margin: 0 auto;
		order: 2;
	}
}

/*	.sticky-header
  	--------------------------------------------------------------------------	*/
	  
.sticky-header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 99;
	border-bottom: 1px solid transparent;
}

/*	==========================================================================
	.db-nav-menu | main nav menu
	==========================================================================	*/

.db-nav-menu {
	width: auto;
	flex: 1;
	position: static;
}

/*	nav menu link carets
  	--------------------------------------------------------------------------	*/

.db-nav-menu ul > li.menu-item-has-children > a::after {
    content: "\f107";
    display: inline-block;
    margin-left: 0.5rem;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 400;
    transition: 0.25s transform;
}
.db-nav-menu ul > li.menu-item-has-children.active > a::after {
	transform: rotate(180deg);
}

/*	desktop nav menu
  	--------------------------------------------------------------------------	*/

@media(min-width: 60rem) { 
	.db-nav-menu {
		display: flex;
		transition: none;
	    height: auto;
	}
	.db-header-menu-row .menu-btn {
		display: none;
	}
	.db-nav-menu > ul {
		list-style: none;
		display: flex;
		gap: 1rem;
		justify-content: flex-end;
		flex-direction: row;
		align-items: center;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		position: relative;
	}
	.db-nav-menu.menu-left > ul {
		justify-content: flex-start;
	}
	.db-nav-menu.menu-right > ul {
		justify-content: flex-end;
	}
	.db-nav-menu li.top-level-link.menu-item-has-children.active,
	.db-nav-menu li.top-level-link.grid-menu.active {
		border-color: var(--primary);
	}
	/* top level desktop nav  */
	.db-nav-menu > ul > li {
		display: flex;
		flex-grow: 0; /* stretch the menu? 1 for yes; 0 for no */
		width: auto;
		height: auto;
		transition: none;
		/* the alignment of the nav buttons within their cells */
		justify-content: flex-end;
	}
	.db-nav-menu.full-width > ul > li {
		flex-grow: 1; /* stretch the menu? 1 for yes; auto for no */
		justify-content: flex-start;
	}
	.db-nav-menu.full-width > ul > li.menu-item-phone {
		justify-content: flex-end;
	}
	/* top level nav links */
	.db-nav-menu > ul > li > a {
		line-height: var(--font-size);
		color: var(--primary);
		cursor: pointer;
		display: inline-flex;
		flex-grow: 0;
		height: auto;
		padding: 0.75rem 1rem;
		background: none;
		border-radius: var(--border-radius);
		transition: 0.3s background, 0.3s color;
		border: 1px solid transparent;
	}
	/* top level nav links hover */
	.db-nav-menu > ul > li > a:hover {
		color: var(--cta);
	}
	/* top level nav links (with drop-down) hover */
	.db-nav-menu > ul > li.menu-item-has-children > a:hover {
		background: var(--gray-200);
		color: var(--text);
	}
	/* top level nav links (with drop-down) active */
	.db-nav-menu > ul > li.active > a,
	.db-nav-menu > ul > li.active > a:hover {
		background: var(--secondary);
		color: var(--white);
	}
	.db-nav-menu > ul > li.cta > a {
		background: var(--secondary);
		color: var(--white);
	}
	/* top level nav phone link */
	.db-nav-menu > ul > li.menu-item-phone > a {
		background: var(--primary);
		color: #fff;
	}
	/* top level nav phone link hover */
	.db-nav-menu > ul > li.menu-item-phone > a:hover {
		color: #fff;
		background: var(--primary-hover);
	}
	/* top level nav phone link (with drop-down) active */
	.db-nav-menu > ul > li.menu-item-phone.active > a,
	.db-nav-menu > ul > li.menu-item-phone.active > a:hover {
		color: #fff;
		background: var(--cta);
	}
	/* top level nav phone link phone icon */
	.db-nav-menu > ul > li.menu-item-phone > a i {
		margin: 0 0.5rem 0 0;
	}

/*	desktop nav drop down menus
  	--------------------------------------------------------------------------	*/

	.db-nav-menu > ul > li.menu-item-has-children {
		position: relative;
		left: 0;
	}
	.db-nav-menu > ul > li.grid-menu {
		position: relative;
	}
	/* default submenus of drop-down and grid menus */
	.db-nav-menu > ul > li > ul,
	.db-nav-menu > ul > li.grid-menu > ul {
		display: flex;
		flex-direction: column;
		z-index: 99;
		position: absolute;
		height: auto;
		right: 0;
		top: calc(100% + 1rem);
		opacity: 0;
		min-width: 100%;
		border: 1px solid var(--gray-400);
		border-radius: var(--border-radius);
		overflow: hidden;
		box-shadow: var(--shadow);
		background: #fff;
		padding: 0.5rem;
		pointer-events: none;
		visibility: hidden;
		transition: var(--transition-speed) top, var(--transition-speed) opacity, var(--transition-speed) visibility;
		gap: 1px;
	}
	/* for full-width menu, grid menus position from left */
	.db-nav-menu.full-width > ul > li.grid-menu > ul {
		left: 0;
		right: auto;
	}
	/* dual header, left-aligned menu, not full width */
	.db-nav-menu.menu-left:not(.full-width) > ul > li > ul {
		left: 0;
		right: auto;
	}
	.db-nav-menu.menu-right > ul > li > ul {
		right: 0;
		left: auto;
	}
	.db-nav-menu > ul > li.menu-item-phone {
	}
	/* submenus of active drop-down and grid menus */
	.db-nav-menu > ul > li.menu-item-has-children.active > ul,
	.db-nav-menu > ul > li.grid-menu.active > ul {
		opacity: 1;
		top: calc(100% + 0.25rem);
		pointer-events: inherit;
		visibility: visible;
	}
	.db-nav-menu > ul > li.menu-item-has-children:not(.grid-menu) > ul > li > a {
		padding: 0.375rem;
	}
	.db-nav-menu > ul > li.menu-item-has-children:not(.grid-menu) > ul > li:first-child > a {
		border: none;
	}
	.db-nav-menu > ul > li.grid-menu > ul {
		border-radius: var(--border-radius);
	}
	.db-nav-menu > ul > li.menu-item-has-children.active > ul {
	}
	.db-nav-menu > ul > li.menu-item-has-children > ul li,
	.db-nav-menu > ul > li.grid-menu > ul li  {
		height: auto;
	}

	/* Desktop navigation menu grid drop-down menu (mega menu) */

	/* Desktop navigation menu traditional drop-down menu */

	.db-nav-menu li.menu-item-has-children > ul {
		flex-wrap: wrap;
		width: auto;
	}
	.db-nav-menu li.menu-item-has-children > ul li a {
		border: none;
		width: 100%;
		white-space: nowrap;
		display: block;
		background: #fff;
		color: var(--black);
		font-weight: 500;
		border-radius: 0.25rem;
		transition: var(--transition-speed) color, var(--transition-speed) background;
	}
	.db-nav-menu li.menu-item-has-children:not('.grid-menu') > ul > li:last-child a {
		border: none;
	}
	/* The drop down menu / sub menu link hover color */
	.db-nav-menu li.menu-item-has-children > ul > li > a:hover {
		color: var(--secondary);
		background: linear-gradient(to right, var(--gray-200), transparent);
	}
	.db-nav-menu li.menu-item-has-children > ul > li > a:hover::after {
		color: var(--secondary);
	}

/*	desktop nav menu grid-style sub menu
  	--------------------------------------------------------------------------	*/

	.db-nav-menu > ul > li.grid-menu {
	}
	.db-nav-menu > ul > li.grid-menu > ul {
		max-width: calc(100vh - var(--container-margin) * 2);
		width: auto;
		margin: 0 auto;
		padding: 0.5rem;
		gap: 2rem;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		min-width: 0;
		/* use grid-style mega menu? */
		/* display: grid; */
		/* grid-template-columns: repeat( auto-fit, minmax(15rem, 1fr) ); */
	}
	.db-nav-menu.menu-left > ul > li.grid-menu > ul {
		right: auto;
		left: 0;
	}
	/* grid menu sub-menus */
	.db-nav-menu > ul > li.grid-menu > ul > li.menu-item-has-children > ul.sub-menu {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		/* min-width: 20rem; */
	}
	/* the grid menu sub-menu headers */
	.db-nav-menu > ul > li.grid-menu > ul.sub-menu > li > a {
		font-size: var(--base-h6-size);
		font-weight: bold
	}
	/* grid sub-menu headers hover */
	.db-nav-menu > ul > li.grid-menu > ul.sub-menu > li > a:hover {
		
	}
	.db-nav-menu li.grid-menu > ul li {
		position: relative;
	}
	.db-nav-menu li.grid-menu > ul li a {
		width: 100%;
		padding: 0.375rem;
	}
	.db-nav-menu li.grid-menu > ul li a:hover {
	}
	/* grid menu sub-menu link carets */
	.db-nav-menu li.grid-menu > ul li a::after {
	    content: "\f105";
	    display: inline-block;
		display: none;
	    margin-left: 0.5rem;
	    font-family: "Font Awesome 6 Pro"; 
	    font-weight: var(--font-awesome-regular);
		font-size: var(--font-size);
	    transition: 0.25s right, 0.25s color;
	    position: absolute;
	    right: 0;
	    color: var(--primary);
	}
	.db-nav-menu li.grid-menu > ul li a:hover::after {
		right: -0.25rem;
	}
	/* remove border from last link of grid menu sub-menu */
	.db-nav-menu li.grid-menu > ul > li > ul > li:last-child > a {
		border: none;
	}

/*	full-width grid menus (comment out to disable)
  	--------------------------------------------------------------------------	*/

.db-nav-menu > ul > li.grid-menu {
	position: static;
}
.db-nav-menu > ul > li.grid-menu > ul {
	min-width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 3fr);
}

} /* end desktop menu

/*	mobile nav menu
  	--------------------------------------------------------------------------	*/

@media(max-width: 60rem) {
	.db-nav-menu-btn {
		z-index: 99;
	}
	.db-header-menu-row .menu-btn {
		width: auto;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.db-nav-menu {
		display: block;
		opacity: 1;
		transition: 0.25s all ease;
		position: fixed;
		top: 0;
		left: -100vw;
		width: 25rem;
		max-width: calc((100vw - (var(--container-margin) * 2)) - 2rem);
		height: 100vh;
		overflow-y: scroll;
		-webkit-overflow-scrolling:touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		z-index: 99;
		background: var(--mobile-nav-bg);
		margin: 0;
		padding: 0 0 50px 0;
	}
	.db-nav-menu::-webkit-scrollbar {
		width: 0;
		height: 0;
	}
	.db-nav-menu.active {
		left: 0;
		opacity: 1;
	}

/*	mobile nav menu top-level links
  	--------------------------------------------------------------------------	*/

	.db-nav-menu > ul {
		margin:0;
		list-style: none;
		display: block;
		width: 100%;
		padding: 1rem;
	}
	.db-nav-menu ul > li > ul {
		padding: 0;
	}
	.db-nav-menu ul li {
		display: block;
		width: 100%;
	}
	.db-nav-menu > ul > li {
		position: relative;
		display: block;
		text-decoration: none;
		border-radius: var(--border-radius);
		overflow: hidden;
		color: #fff;
		margin: 0;
		width: 100%;
		height: auto;
		margin: 0 0 0.5rem 0;
	}
	.db-nav-menu > ul > li.menu-item-has-children {
		border: 1px solid var(--mobile-nav-btn);
	}
	.db-nav-menu > ul > li.menu-item-has-children > a {
		background: var(--mobile-nav-btn);
	}
	.db-nav-menu > ul > li.menu-item-has-children.active > a {
		background: var(--mobile-nav-active-btn);
	}
	.db-nav-menu > ul > li.menu-item-has-children.active {
		border-color: var(--mobile-nav-active-btn);
	}
	.db-nav-menu > ul > li.menu-item-has-children.active li > a {
		background: var(--mobile-bg);
	}
	.db-nav-menu > ul > li > a {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		text-decoration: none;
		color: #fff;
		font-size: var(--font-size);
		margin: 0;
		padding: 1rem;
		width: 100%;
		height: 100%;
	}
	.db-nav-menu > ul > li > a {
		color: #fff;
	}
	.db-nav-menu ul li a:hover,
	.db-nav-menu ul li a:active,
	.db-nav-menu ul li.active a:hover {
		color:#fff;
	}
	.db-nav-menu li i {
		order: 2;
		font-size: 1.25em;
		margin: 0 0 0 0.5em;
		transition: 0.25s transform;
	}
	.db-nav-menu li.active i {
		transform: rotate(180deg);
	}

	/* change top-level mobile drop down carets to plus icons */
	.db-nav-menu ul > li.menu-item-has-children > a::after {
		margin-left: auto;
		font-size: 1.5rem;
	}
	.db-nav-menu > ul > li.menu-item-has-children > a::after {
	    content: "\2b";
	}
	.db-nav-menu > ul > li.menu-item-has-children.active > a::after {
		content: "\f068";
	}

/*	mobile nav menu sub menus
  	--------------------------------------------------------------------------	*/

  	.db-nav-menu li.menu-item-has-children {
  		position: relative;
  	}
	.db-nav-menu li.menu-item-has-children .sub-menu {
		margin: 0;
		position: relative;
		display: none;
		overflow: hidden;
		width: auto;
		background: var(--mobile-nav-btn);
	}
	.db-nav-menu li.menu-item-has-children.active .sub-menu {
		display: block;
	}
	.db-nav-menu * a {
		font-weight: normal;
		color: #fff;
		border: none;
		display: block;
		width: 100%;
		height: auto;
		text-align: left;
		padding: 1rem;
		/* border-top: 1px solid rgba(0,0,0,0.15); */
	}
	.db-nav-menu .sub-menu li {
		margin-top: 1px;
		background: var(--mobile-nav-bg);
	}
	.db-nav-menu .sub-menu li a {
		font-size: calc(var(--font-size) - 1px);
	}
	.db-nav-menu > ul > li > ul.sub-menu > li:first-child {
		margin: 0;
	}
	.db-nav-menu li > ul li:last-of-type a,
	.db-nav-menu ul li.grid-menu > ul .db-grid:last-of-type .block:last-of-type h4 a,
	.db-nav-menu ul li.grid-menu > ul .db-grid:last-of-type .block:last-of-type h5 a  {
		border-bottom: none;
	}

/*	mobile nav menu grid-style sub menus
  	--------------------------------------------------------------------------	*/

  	/* grid sub menu headers */
	.db-nav-menu li.grid-menu .db-grid,
	.db-nav-menu li.grid-menu .db-grid:not(:first-of-type) {
		display: block;
		margin:0;
		padding:0;
	}
	.db-nav-menu li.grid-menu .db-grid .block {
		display: block;
		margin:0;
		padding:0;
		width:100%;
	}
	.db-nav-menu li.grid-menu > ul h4,
	.db-nav-menu li.grid-menu > ul h5 {
		margin:0;
		padding:0;
	}
	.db-nav-menu li.grid-menu > ul h6 {
		display: none;
	}

	/* Disable .db-img-hover-box in mobile menu */

	.db-nav-menu li.grid-menu > ul .db-img-hover-box {
		display: none;
	}
	.db-nav-menu li.grid-menu > ul p {
		display: none;
	}

	/* .db-icon-box item visibility on mobile menu */

	.db-icon-box {
		display: block;
	}
	.db-icon-box i {
		display: none;
	}

	.db-nav-menu .mega-menu li.header {
		margin: 0;
	}
	.db-nav-menu .mega-menu li.header i {
		display: none;
	}
	.db-nav-menu .mega-menu-img {
		display: none;
	}
	
	/* indent grid submenu links */
	
	.db-nav-menu .sub-menu > li > .sub-menu > li > a {
		padding-left: 2rem;
	}

	/* add forward carets to mobile nav links */
	/* .db-nav-menu ul > li > a::after,
	.db-nav-menu ul > li.menu-item-has-children > a::after {
    	content: "\f105";
    	display: inline-block;
    	margin-left: 0.5rem;
    	font-family: "Font Awesome 6 Pro"; 
    	font-weight: 400;
    	position: absolute;
    	right: 1rem;
	} */

} /* End mobile navigation menu */

/* -------------------------------------------------------------
/ Hamburger by Jonathan Suh
/ - https://github.com/jonsuh/hamburgers
/ -------------------------------------------------------------*/

.hamburger{padding:1em 1em;display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.hamburger:hover{opacity:.7}.hamburger.active:hover{opacity:.7}.hamburger.active .hamburger-inner,.hamburger.active .hamburger-inner::after,.hamburger.active .hamburger-inner::before{background-color:#000}.hamburger-box{width:40px;height:24px;display:block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-2px}.hamburger-inner,.hamburger-inner::after,.hamburger-inner::before{width:40px;height:4px;background-color:#000;border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner::after,.hamburger-inner::before{content:"";display:block}.hamburger-inner::before{top:-10px}.hamburger-inner::after{bottom:-10px}.hamburger--collapse .hamburger-inner{top:auto;bottom:0;transition-duration:.13s;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse .hamburger-inner::after{top:-20px;transition:top .2s .2s cubic-bezier(.33333,.66667,.66667,1),opacity .1s linear}.hamburger--collapse .hamburger-inner::before{transition:top .12s .2s cubic-bezier(.33333,.66667,.66667,1),transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse.active .hamburger-inner{transform:translate3d(0,-10px,0) rotate(-45deg);transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--collapse.active .hamburger-inner::after{top:0;opacity:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s .22s linear}.hamburger--collapse.active .hamburger-inner::before{top:0;transform:rotate(-90deg);transition:top .1s .16s cubic-bezier(.33333,0,.66667,.33333),transform .13s .25s cubic-bezier(.215,.61,.355,1)}

.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
	background-color: var(--primary);
}

/*	==========================================================================
	Return to top button
	==========================================================================	*/

.db-rtt {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	padding: 0;
	width: 3rem;
	height: 3rem;
	border-radius: var(--border-radius);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--primary);
	color: #fff;
	opacity: 0;
	transition: 0.5s background, 0.5s color;
	cursor: pointer;
	z-index: 99;
	box-shadow: var(--shadow);
}
.db-rtt:hover {
	background: var(--primary-hover);
}
.db-rtt.visible {
	opacity: 1;
}

/*	==========================================================================
	Site content wrapper
	==========================================================================	*/

.db-content {
	width: 100%;
}

/*	==========================================================================
	Site container
	==========================================================================	*/

.db-container {
	width: 100%;
	margin: 0 auto;
	display: block;
}

/*	==========================================================================
	.db-flex
	==========================================================================	*/
	
.db-flex {
	display: flex;
}
	
/*	==========================================================================
	Site grid
	==========================================================================	*/

.db-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
	gap: var(--grid-gap);
}
.db-grid.margin-top {
	margin-top: 3rem;
}
.db-grid .block img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* Grid spacing in slick slider */

.db-grid.with-spacing .slick-slide {
	margin-right: 2em;
}
.db-grid.with-spacing .slick-list {
	margin-right: -2em;
}

@media(max-width:768px) {
	.db-grid.with-spacing .slick-slide {
		margin-right: 0;
	}
	.db-grid.with-spacing .slick-list {
		margin-right: 0;
	}

}

/*	==========================================================================
	Site buttons
	==========================================================================	*/

/*	Basic site button setup
  	--------------------------------------------------------------------------	*/

.db-btn {
	display: inline-block;
}
.db-btn > a {
	padding: var(--btn-padding);
	line-height: 1.5;
	border-radius: var(--btn-border-radius);
	background: var(--secondary);
	border: 2px solid transparent;
	color: #fff;
	text-decoration: none;
	transition: 0.5s background, 0.5s border, 0.5s color;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
}
.db-btn.btn-outline > a {
	background: none;
	color: var(--secondary);
	border-color: var(--secondary);
}
.db-btn > a:hover {
	background: var(--secondary-hover);
	color: #fff;
}
.db-btn.btn-outline > a:hover {
	background: var(--secondary-hover);
	border-color: var(--secondary-hover);
}
.db-btn.icon-right > a::after {
	font-family: 'Font Awesome 6 Pro';
	content: '\f061';
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 0.5rem;
	font-weight: 900;
}
.db-btn.icon-right.exit-url > a::after {
	content: '\f08e';
}

/*	Drop down buttons
  	--------------------------------------------------------------------------	*/

.db-btn.drop-down {
	position: relative;
}
.db-btn.drop-down button {
	background: var(--primary);
	padding: 0.55rem 1rem;
	line-height: 1.5;
	border-radius: var(--border-radius);
	cursor: pointer;
	color: #fff;
	transition: var(--transition-speed) background;
}
.db-btn.drop-down button:hover,
.db-btn.drop-down.open button {
	background: var(--primary-hover);
}
.db-btn.drop-down button::after {
	font-family: 'Font Awesome 6 Pro';
	content: '\f107';
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 0.5rem;
	font-weight: var(--font-awesome-regular);
	transition: var(--transition-speed) transform;
}
.db-btn.drop-down.open button::after {
	transform: rotate(-180deg);
}
.db-btn.drop-down > ul {
	display: flex;
	flex-direction: column;
	gap: 1px;
	position: absolute;
	top: calc(1rem + 100%);
	left: 0;
	width: auto;
	border-radius: var(--border-radius);
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--gray-400);
	padding: 0.5rem;
	visibility: hidden;
	opacity: 0;
	transition: var(--transition-speed) top, var(--transition-speed) visibility, var(--transition-speed) opacity;
}
.db-btn.drop-down.open > ul {
	visibility: visible;
	opacity: 1;
	top: calc(0.25rem + 100%);
}
.db-btn.drop-down > ul > li > a {
	display: flex;
	padding: 0.5rem;
	transition: var(--transition-speed) background, var(--transition-speed) color;
	border-radius: var(--border-radius);
	text-decoration: none;
	white-space: nowrap;
}
.db-btn.drop-down > ul > li > a:hover {
	background: var(--gray-100);
	color: var(--cta)
}
.db-btn.drop-down > ul > li > a span {
	opacity: 0.66;
	display: inline-block;
	margin-left: 0.5rem;
}

/*	Site button with click menu
  	--------------------------------------------------------------------------	*/

.db-btn.btn-menu {
	position: relative;
}
.db-btn.btn-menu > ul {
	z-index: 99;
	display: none;
	min-width: 100%;
	position: absolute;
	top: calc(100% + 1px);
	left: 0;
	background: #fff;
	border-radius: var(--border-radius);
	overflow: hidden;
	border: 1px solid var(--gray-400);
	box-shadow: 0 8px 16px rgb(25 35 45 / 8%);
}
.db-btn.btn-menu.active > ul {
	display: block;
}
.db-btn.btn-menu > ul > li {
	width: 100%;
	display: block;
}
.db-btn.btn-menu > ul > li > a {
	width: 100%;
	padding: 6px 12px;
	display: block;
	border-bottom: 1px solid var(--gray-200);
	white-space: nowrap;
}
.db-btn.btn-menu > ul > li > a:hover {
	background: var(--gray-200);
}
.db-btn.btn-menu > ul > li:last-child > a {
	border: none;
}

/*	==========================================================================
	accordion
	==========================================================================	*/

.db-accordion {
	width: 100%;
	border-radius: var(--border-radius);
	border: 1px solid var(--primary);
	overflow: hidden;
}

/* Individual accordion styles */

.db-accordion .section {
	border-top: 1px solid var(--primary);
}
.db-accordion .section:first-child {
	border: none;
}

/* Accordion title bars */

.db-accordion .title {
	color: var(--primary);
	padding: 1rem;
	background: #fff;
	margin:0;
	cursor: pointer;
	transition: 0.5s background, 0.5s color;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}

/* Opened accordion title */

.db-accordion .section.open .title {
	background: var(--primary);
	color: #fff;
}

/* Hovered accordion title */

.db-accordion .section:not(.open):hover .title {
	background: var(--gray-100);
}

/* The open/close symbol */

.db-accordion .title::after {
    margin-left: auto;
    margin-right: 5px;
    content: "\f067";
    color: var(--primary);
    text-align: center;
    font-family: 'Font Awesome 5 Pro';
    transition: 0.25s transform;
    font-size: 1.5em;
    font-weight: 600;
}

.db-accordion .section.open .title::after {
	transform: rotate(45deg);
	color:#fff;
}

/* The accordion body */

.db-accordion .body {
	display: none;
	padding: 1rem;
	background: #fff;
	color: var(--text);
}

/*	==========================================================================
	Site tabbed box
	==========================================================================	*/

.db-tabs {

}
.db-tabs .tabs {
	display: flex;
}
.db-tabs .tab {
	display: block;
	padding: 0.5rem 1rem;
	border-right: 1px solid #fff;
	border-radius: var(--border-radius) var(--border-radius) 0 0;
	background: var(--gray-200);
	color: #909295;
	cursor: pointer;
}
.db-tabs .tab.active {
	background: var(--primary);
	color: #fff;
}
.db-tabs .tab-contents {
	border: 1px solid var(--primary);
	border-top: 5px solid var(--primary);
	border-radius: 0 0 var(--border-radius) var(--border-radius);
	padding: 1rem;
}
.db-tabs .content {
	display: none;
}
.db-tabs .content.active {
	display: block;
}

/*	==========================================================================
	Site footer
	==========================================================================	*/


/*	breadcrumbs below title bar
	--------------------------------------------------------------------------	*/

.db-page-bread-crumbs {
	padding: 0.5rem var(--container-margin);
	border-bottom: 1px solid var(--gray-200);
	font-size: var(--font-sm);
	color: var(--secondary);
}
.db-page-bread-crumbs ol {
 	list-style: none;
 	margin: 0;
 	padding: 0;
 	display: inline-flex;
 	height: 100%;
 	align-items: center;
 	gap: 0.5rem;
 }
.db-page-bread-crumbs ol::before {
	font-family: var(--font-awesome);
	font-weight: var(--font-awesome-solid);
	display: inline-flex;
	margin: 0 0.25rem 0 0;
	justify-content: flex-start;
	align-items: enter;
	content: '\f3c5';
}
.db-page-bread-crumbs li {
 }
.db-page-bread-crumbs li a,
.db-page-bread-crumbs li a:active,
.db-page-bread-crumbs li a:visited {
 	color: var(--secondary);
 }
.db-page-bread-crumbs li a:hover {
 	color: var(--secondary-hover);
 	text-transform: underline;
 }
 @media(max-width:48rem) {
 	.db-page-bread-crumbs {
 		text-align: center;
 	}
	 .db-page-bread-crumbs ol {
		 flex-direction: column;
		 gap: 0.25rem;
	 }
	 .db-page-bread-crumbs .fa-arrow-right {
		 transform: rotate(90deg);
	 }
 }

/*	==========================================================================
	pages and posts
	==========================================================================	*/

main.has-sidebar {
	max-width: 75%;
}

/*	.db-content: the main content wrapper
  	--------------------------------------------------------------------------	*/

.db-content {
}

/*	.db-page-title: the page title and h1
  	--------------------------------------------------------------------------	*/
	  
.db-page-title {
	padding: 3rem 0;
	text-align: center;
	background: var(--gray-100);
	position: relative;
}
.db-page-title::before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	background: url('https://clients.donbyrom.com/jennie/wp-content/themes/dbstarter-child/img/page-title.svg');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0.5;
}
.db-page-title h1 {
	z-index: 2;
	position: relative;
}
.db-page-title .db-container {
}
.db-page-title .title {
	font-weight: 500;
	margin: 0;
	display: inline-block;
	color: var(--secondary);
	position: relative;
	z-index: 2;
}

/*	.db-page-heading: the page h1
  	--------------------------------------------------------------------------	*/
	  
.db-page-heading {
	padding: 3rem var(--container-margin);
	background: var(--gray-100);
}
.db-page-heading h1:last-child {
	margin: 0;
}

/*	.db-page-content: the main content of a page
  	--------------------------------------------------------------------------	*/
	  
.db-page-content {
}
.db-page .db-page-content {
	padding: var(--section-padding) 0;
}
.db-editor-content {
	padding: 3rem 0;
}
.db-page-content ul {
	list-style: disc;
	padding: 0 0 0 2rem;
	margin: 0 0 1rem 0;
}
.db-page-content ul:last-child {
	margin: 0;
}

/*	.db-page-intro: the intro h2 and paragraph
  	--------------------------------------------------------------------------	*/

.db-page-intro {
	padding: var(--section-padding) 0;
}
.db-page-intro .text {
  display: flex;
  align-content: center;
  flex-wrap: wrap;
  text-wrap: pretty;
}

/*	.db-page-services: a grid of services
  	--------------------------------------------------------------------------	*/

.db-page-services {
	background: var(--gray-100);
	padding: var(--section-padding) 0;
}

/*	.db-page-cta: a cta section
  	--------------------------------------------------------------------------	*/

.db-page-cta {
	padding: var(--section-padding) 0;
	background: var(--black);
}
.db-page-cta .text {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: center;
	color: var(--gray-500);
}
.db-page-cta h2 {
	color: var(--white);
}
.db-page-cta .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.db-page-cta .img {
	border-radius: var(--border-radius);
}

/*	template-home.php
  	--------------------------------------------------------------------------	*/
	  
.db-home-banner {
	padding: var(--section-padding) 0;
}
.db-home-about {
	padding: var(--section-padding) 0;
}
.db-home-services {
	background: var(--gray-100);
	padding: var(--section-padding) 0;
}
.home .db-page-intro p {
	text-wrap: balance;
}
.db-home-services .db-grid {
	grid-template-columns: repeat(2, 2fr);
}
@media (max-width:768px) {
	.db-home-services .db-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}
.db-home-services .grid-item {
	background: white;
	border-radius: var(--border-radius);
	padding: var(--card-padding);
}
.db-home-testimonials {
	padding: var(--section-padding) 0;
}
.db-home-cta {
	padding: var(--section-padding) 0;
}

/*	.db-template-staff
  	--------------------------------------------------------------------------	*/

.db-template-staff .db-page-content .db-grid {
}
.db-template-staff .db-page-content .grid-item {
	background: var(--gray-100);
	border-radius: var(--border-radius);
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.db-template-staff .db-page-content .grid-item h3 {
	font-weight: bold;
	font-size: var(--base-h5-size);
	margin: 0;
}
.db-template-staff .db-page-content .grid-item p {
}

/*	.db-template-satop
  	--------------------------------------------------------------------------	*/

 .db-satop-cta {
 	border-radius: var(--border-radius);
 	border: 2px solid var(--secondary);
 	margin-top: 3rem;
 	padding: 1rem;
 }
 .db-satop-cta h3 {
 	color: var(--secondary);
 	font-size: var(--base-h4-size);
 	margin: 0 0 0.5rem 0;
 }

/*	==========================================================================
	.template-home.php
	==========================================================================	*/

/*	.db-home-location
  	--------------------------------------------------------------------------	*/

.db-home-location {
	background: var(--gray-100);
	display: grid;
	grid-template-columns: repeat(2, 2fr);
	gap: 0;
}
.db-home-location .db-text {
	padding: 9rem var(--container-margin);
}
.db-home-location .db-map iframe {
	width: 100%;
	height: 100%;
	display: block;
}

/*	==========================================================================
	locations and contact
	==========================================================================	*/
	
/*	.db-location-meta
  	--------------------------------------------------------------------------	*/
	  
.db-location-meta {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.db-location-meta .db-location-name {
	margin: 0;
}
.db-location-meta .db-location-telephone::before,
.db-location-meta .db-location-fax::before,
.db-location-meta .db-location-address::before,
.db-location-meta .db-location-region::before,
.db-location-meta .db-location-email::before {
	font-family: var(--font-awesome);
	font-weight: var(--font-awesome-solid);
	color: var(--secondary);
	content: '';
	display: inline-flex;
	width: 2rem;
	text-align: left;
}
.db-location-meta .db-location-telephone::before {
	content: '\f095';
}
.db-location-meta .db-location-fax::before {
	content: '\f1ac';
}
.db-location-meta .db-location-address::before {
	content: '\f3c5';
}
.db-location-meta .db-location-email::before {
	content: '\f0e0';
}
.db-location-meta .db-location-social-media {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.db-location-meta .db-location-social-media a {
	font-size: var(--base-h4-size);
}
.db-location-meta .db-location-description p {
	margin: 0;
}

/*	.db-template-locations
  	--------------------------------------------------------------------------	*/

.db-template-locations main {
}
.db-template-locations .db-grid-item {
}
.db-template-locations .db-map {
	width: 100%;
	height: auto;
	max-height: calc(100vh - var(--header-height));
	background: var(--gray-200);
	aspect-ratio: 3/2;
}
.db-template-locations .db-map > iframe {
	width: 100%;
	height: 100%;
	display: block;
}
.db-template-locations .db-location-meta {
}

/*	.db-template-contact-style-map
  	--------------------------------------------------------------------------	*/
/* single location */

.db-template-contact-style-map .db-single-location {
}
.db-template-contact-style-map .db-single-location .db-map {
	position: relative;
	width: 100%;
	padding: 9rem 0;
	max-height: calc(100vh - var(--header-height));
	background: var(--gray-200);
}
.db-template-contact-style-map .db-single-location .db-map > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.db-template-contact-style-map .db-single-location .db-map > .db-container {
	position: relative;
	height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	z-index: 2;
}
.db-template-contact-style-map .db-single-location .db-location-meta {
	background: #fff;
	padding: 3rem;
	margin: 0 var(--container-margin) 0 0;
}
.db-template-contact-style-map .db-single-location .db-location-meta .db-location-name {
	font-size: var(--base-h4-size);
	margin: 0;
}

/* multi location */

.db-template-contact-style-map .db-multi-location .db-locations {
	background: var(--gray-100);
}

/*	.db-template-drug-testing
  	--------------------------------------------------------------------------	*/

.db-template-drug-testing .db-page-content {
	padding: 0 0 var(--section-padding) 0;
}
.db-template-drug-testing .db-page-content.drug-testing-bridge {
	padding-top: 6rem;
	text-wrap: balance;
}
.db-template-drug-testing .db-page-content.drug-testing-bridge h3 {
	color: var(--secondary);
	margin-bottom: 0.5rem;
	font-size: var(--base-h4-size);
}
@media(max-width:768px) {
	.db-template-drug-testing .db-page-content {
		padding: 0 0 3rem 0;
	}
	.db-template-drug-testing .db-page-content.drug-testing-bridge {
		padding-top: 3rem;
	}
}
.db-template-drug-testing .db-page-content img {
	margin-left: auto;
	margin-right: auto;
	object-fit: contain;
	object-position: center;
}
.db-template-drug-testing .drug-list {
	background: url('https://www.privateprobationservices.com/wp-content/themes/pps-child/img/drug-testing.svg');
	background-size: cover;
	background-position: center;
	border-radius: var(--border-radius);
	overflow: hidden;
}
.db-template-drug-testing .drug-list > ul {
	width: 100%;
	padding: 2rem;
	display: grid;
	grid-template-columns: repeat(4, 4fr);
	gap: 1rem;
	list-style: none;
	margin: 0;
	background: rgba(255, 255, 255, 0.8);
}
.db-template-drug-testing .drug-list > ul > li {
	color: #1a1919;
}
.db-template-drug-testing .drug-list > ul > li::before {
	position: relative;
	display: inline-flex;
	font-family: var(--font-awesome);
	font-weight: var(--font-awesome-solid);
	color: var(--secondary);
	justify-content: flex-start;
	align-items: center;
	content: '\f061';
	margin-right: 0.5rem;
}

@media(max-width: 60rem) {
	.db-template-drug-testing .drug-list > ul {
		grid-template-columns: repeat(2, 2fr);
	}
}
@media(max-width: 48rem) {
	.db-template-drug-testing .drug-list > ul {
		grid-template-columns: repeat(1, 1fr);
	}
}

/*	.db-template-electronic-monitoring
  	--------------------------------------------------------------------------	*/

.db-template-electronic-monitoring .devices {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.db-template-electronic-monitoring .device {
	background: #fff;
	border-radius: var(--border-radius);
	padding: 2rem;
	gap: 3rem;
	display: grid;
	grid-template-columns: repeat(3, 3fr);
}
.db-template-electronic-monitoring .device-content {
	grid-column: span 2;
}
.db-template-electronic-monitoring .device-img {
	position: relative;
}
.db-template-electronic-monitoring .device-img img {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
@media(max-width: 48rem) {
	.db-template-electronic-monitoring .device {
		grid-template-columns: repeat(1, 1fr);
	}
	.db-template-electronic-monitoring .device-content {
		grid-column: span 1;
	}
	.db-template-electronic-monitoring .device-img img {
		position: relative;
	}
}

/*	.db-template-forms-group
  	--------------------------------------------------------------------------	*/

.db-template-forms-group .forms-menu {
	list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-top: 1px solid var(--gray-300);
    margin-top: 2rem;
    padding-top: 2rem;
}
.forms-counselor-section {
	border-top: 1px solid var(--gray-300);
    margin-top: 2rem;
    padding-top: 2rem;
}
.forms-counselor-section .forms-menu {
	border-top: 0;
	padding-top: 0;
}

.db-template-forms-group .forms-menu > li > a {
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	border-radius: var(--border-radius);
	background: var(--gray-100);
	color: var(--primary);
	text-decoration: none;
	font-weight: 500;
	transition: 0.2s color;
}

.db-template-forms-group .forms-menu > li > a:hover {
	color: var(--secondary);
}

.db-template-forms-group .forms-menu > li > a i {
	display: inline-flex;
	justify-content: center;
	align-items: flex-start;
	font-size: 2rem;
	margin: 0 1rem 0 0;
	color: var(--secondary);
}

.db-template-forms-group span.forms-menu__text {
	flex: 1;
	display: flex;
	justify-content: space-between;
}

.db-template-forms-group span.forms-menu__note {
	font-style: italic;
	color: #777;
}

@media(max-width:1200px) {
	.db-template-forms-group .forms-menu > li > a {
		gap: 1rem;
		align-items: center;
	}
	.db-template-forms-group .forms-menu > li > a span.forms-menu__text {
		flex-direction: column;
		gap: 0rem;
		justify-content: flex-start;
		align-items: flex-start;
		text-wrap: balance;
	}
}
@media(max-width:360px) {
	.db-template-forms-group .forms-menu > li > a {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* pricing note */
.forms-page-pricing-note {
  margin-top: 1.5rem;
}

/* jotform embed page */

/* counselor form page note */

.jotform-note {
	text-align: center;
	margin-bottom: 1.5rem;
}
.jotform-fallback-link {
	border-radius: var(--border-radius);
	padding: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--gray-100);
	margin-bottom: 2rem;
	gap: 1rem;
}
.jotform-fallback-link i {
	font-size: 2rem;
	color: var(--secondary);
}

/*	additional service pages added july 2026
  	--------------------------------------------------------------------------	*/

.satop-class p {
	text-wrap: balance;
}
.satop-class .db-page-intro {
	padding-bottom: 0;
}
.satop-class h2 {
	border-top: 1px solid var(--gray-200);
	margin-top: var(--subsection-padding);
	padding-top: var(--subsection-padding);
	font-weight: 800;
}
@media (max-width:768px) {
	.satop-class h2 {
		margin-top: var(--subsection-padding);
		padding-top: var(--subsection-padding);
	}
}
.db-content-callout {
	background: linear-gradient(to bottom right, var(--gray-100) 50%, var(--gray-200));
	text-wrap: balance;
	margin-top: var(--card-padding);
	border-radius: var(--border-radius);
	padding: var(--card-padding);
}
.db-content-callout h3 {
	color: var(--secondary);
	font-size: var(--base-h5-size);
	margin-bottom: 0.5rem;
}
.db-satop-class-options .db-grid,
.db-testing-options {
	grid-template-columns: repeat(2, 2fr);
}
@media (max-width:768px) {
	.db-satop-class-options .db-grid,
	.db-testing-options {
		grid-template-columns: repeat(1, 1fr);
	}
}
.db-class-option,
.db-testing-option {
	border-radius: var(--border-radius);
	background: linear-gradient(to bottom right, var(--gray-100) 50%, var(--gray-200));
	padding: var(--card-padding);
	text-wrap: balance;
}
.db-class-option h3,
.db-testing-option h3 {
	font-size: var(--base-h5-size);
}
.db-page-faqs {
	padding-bottom: var(--section-padding);
	text-wrap: balance;
}
.db-page-faqs h3 {
	margin-bottom: 0.5rem;
	color: var(--secondary);
	font-size: var(--base-h5-size);
	margin-top: var(--card-padding);
}