/*
** OneUp Consulting brand color system (v2)
**
** Overrides the "BooKeeper" template's default accent palette with the
** OneUp Consulting brand palette. Loaded after main.css so these rules win
** on the cascade without editing main.css directly.
**
** Palette (see also /brand-guide.html and /BRAND.md):
**   Navy   #0B1320  - dark backgrounds (nav/footer), headings, body text
**   Blue   #2563EB  - supporting accent (icons, secondary highlights)
**   Teal   #14BBA6  - primary CTA / highlight color
**   Green  #22C55E  - supporting accent (icons, secondary highlights)
**   Violet #7C3AED  - supporting accent, used sparingly (process step 4)
**   Surface #F1F5F9 - light section background
**   Alert  #DC2626  - error/alert color
*/

:root {
	--oneup-navy: #0B1320;
	--oneup-blue: #2563EB;
	--oneup-teal: #14BBA6;
	--oneup-green: #22C55E;
	--oneup-violet: #7C3AED;
	--oneup-surface: #F1F5F9;
	--oneup-alert: #DC2626;
}

.breadcrumb > .active {
	color: #14BBA6;
}

.pagination > li > span:focus {
	background-color: #14BBA6;
	color: #ffffff;
}

.pagination > .active > span:focus {
	background-color: #14BBA6;
	color: #ffffff;
}

.form-control + .theme_button {
	position: absolute;
	padding: 0;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	text-align: center;
	line-height: 46px;
	border-radius: 0 5px 5px 0;
	color: #22C55E;
}

.form-control + .theme_button {
	color: #22C55E;
}

.form-control.invalid {
	box-shadow: 0 0 0 2px #14BBA6;
}

form .with_icon:focus + [class*="icon2-"] {
	color: #14BBA6;
}

.form-control + [class*="icon2-"] {
	position: absolute;
	font-size: 24px;
	left: 20px;
	top: 50%;
	color: #14BBA6;
}

.form-inline-button .form-inline .theme_button {
	font-size: 0;
	padding-left: 22px;
	padding-right: 22px;
	margin: 0;
	position: absolute;
	right: 0;
	top: 0;
	border: none;
	background-color: #14BBA6;
	color: #ffffff;
}

.has-error .form-control {
	border-color: #14BBA6;
}

.has-error .help-block {
	color: #14BBA6;
}

.carousel-indicators .active {
	width: 10px;
	height: 10px;
	margin: 0 3px;
	background-color: #14BBA6;
}

.panel-heading .panel-title > a {
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.3;
	display: block;
	padding: 21px 50px 21px 25px;
	background-color: #14BBA6;
	border: 1px solid #14BBA6;
	color: #ffffff;
	border-radius: 0;
	word-wrap: break-word;
}

.panel-heading .panel-title > a:hover {
	background-color: #14BBA6;
	border-color: #14BBA6;
	color: #ffffff;
}

.panel-heading .panel-title > a.collapsed i {
	color: #0B1320;
}

.collapse-unstyled .panel h4 a:after {
	color: #14BBA6;
	padding: 0 5px;
	display: inline-block;
	font-family: 'FontAwesome';
	content: "\f107";
}

.progress-bar {
	background-color: #14BBA6;
	color: inherit;
	box-shadow: none;
	height: 5px;
}

.nav-unstyled .active a {
	color: #2f363c;
	border-color: #14BBA6;
}

.tab-content.top-color-border:before {
	content: '';
	position: absolute;
	left: -1px;
	right: -1px;
	top: -1px;
	height: 10px;
	background-color: #14BBA6;
}

.nav-tabs > li.active > a:focus {
	border-color: #14BBA6;
	background-color: #14BBA6;
	color: #ffffff;
}

.nav-tabs.nav-justified > .active > a {
	border-color: #14BBA6;
	background-color: #14BBA6;
	color: #ffffff;
}

.vertical-tabs .nav > li > a:hover {
	background-color: #14BBA6;
	border-color: #14BBA6;
	color: #ffffff;
}

::-moz-selection {
	color: #ffffff;
	background-color: #14BBA6;
}

::selection {
	color: #ffffff;
	background-color: #14BBA6;
}

a:hover {
	color: #0B1320;
	text-decoration: none;
	transition: all 0.2s linear 0s;
}

.table_template thead {
	background-color: #14BBA6;
	color: #2f363c;
}

.list1 li:before {
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #14BBA6;
	left: 10px;
	top: 18px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
}

.list2 li:before {
	font-family: 'FontAwesome';
	font-size: 14px;
	color: #0B1320;
	content: "\f00c";
	display: block;
	position: absolute;
	left: -25px;
	top: 5px;
}

.list3 li:after {
	content: counter(li) ".";
	counter-increment: li;
	position: absolute;
	left: 2px;
	top: 50%;
	margin-top: -13px;
	font-weight: 700;
	color: #14BBA6;
}

.form-submit [type="submit"] {
	background-color: #14BBA6;
	border-color: #14BBA6;
}

.form-submit [type="submit"]:active {
	color: #2f363c;
	background-color: #14BBA6;
	border-color: #14BBA6;
}

.form-submit [type="submit"].inverse {
	border-color: #14BBA6;
}

.form-submit [type="submit"].inverse:active {
	background-color: #14BBA6;
}

.theme_button.color2 {
	background-color: #0B1320;
	border-color: #0B1320;
}

.theme_button.color2:active {
	color: #2f363c;
	border-color: #0B1320;
	background-color: #0B1320;
}

.owl-carousel .owl-dots .owl-dot.active span, .owl-carousel .owl-dots .owl-dot:hover span {
	border-color: #14BBA6;
	background-color: #14BBA6;
}

.owl-carousel .owl-nav > div:hover:after {
	color: #0B1320;
}

.flex-control-paging li a.flex-active {
	background-color: #14BBA6;
	border-color: #14BBA6;
}

.flex-custom-nav .flex-custom-link:hover {
	color: #14BBA6;
}

.pp_gallery ul .selected a {
	border-color: #14BBA6;
}

#timetable tbody .current {
	background-color: #14BBA6;
	border-color: #14BBA6;
}

#toTop {
	bottom: 10px;
	right: 10px;
	display: none;
	width: 50px;
	height: 50px;
	overflow: hidden;
	position: fixed;
	text-decoration: none;
	z-index: 9999;
	font-size: 0;
	color: transparent;
	color: #ffffff;
	background-color: #14BBA6;
	border-radius: 50%;
}

.countdown-amount {
	font-size: 80px;
	line-height: 1;
	font-weight: 700;
	color: #14BBA6;
}

.parallax.cs:after {
	background-color: #14BBA6;
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=90)";
	filter: alpha(opacity=95);
	opacity: 0.95;
}

.parallax.cs.main_color2:after {
	background-color: #0B1320;
}

.parallax.cs.main_color3:after {
	background-color: #22C55E;
}

.dark_gradient:before {
	background: #14BBA6;
	background: linear-gradient(to right, #14BBA6 0%, #0B1320 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$mainColor', endColorstr='$mainColor2',GradientType=1 );
}

.vertical_gradient:before {
	background: #14BBA6;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #14BBA6 0%, #0B1320 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$mainColor', endColorstr='$mainColor2',GradientType=0 );
  /* IE6-9 */
}

.with_border.color_border {
	border-color: #14BBA6;
}

.bottom_color_border {
	border-bottom: 5px solid #14BBA6;
}

.highlight {
	color: #14BBA6;
	border-color: #14BBA6;
}

.highlight2 {
	color: #0B1320;
	border-color: #0B1320;
}

.highlight3 {
	color: #22C55E;
	border-color: #22C55E;
}

.highlight4 {
	color: #DC2626;
	border-color: #DC2626;
}

.colorbg-links a {
	background-color: #14BBA6;
	color: #ffffff;
}

.colorbg-links a:hover {
	color: #ffffff;
	background-color: #14BBA6;
}

.main_bg_color {
	background-color: #14BBA6;
}

.main_bg_color2 {
	background-color: #0B1320;
}

.main_bg_color3 {
	background-color: #22C55E;
}

.bottom-right-corner {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50px;
	height: 50px;
	border: 25px solid transparent;
	border-right-color: #14BBA6;
	border-bottom-color: #14BBA6;
	font-size: 12px;
	color: #ffffff;
	z-index: 0;
}

[class*="-item"] .links-wrap a.p-view:hover {
	color: #14BBA6;
}

[class*="-item"] .links-wrap a.p-link:hover {
	color: #14BBA6;
}

.header_color {
	background-color: #14BBA6;
}

.header-dropdown-number {
	position: absolute;
	font-size: 10px;
	color: #ffffff;
	background-color: #14BBA6;
	border-radius: 5px;
	line-height: 1;
	padding: 2px 4px 1px;
	top: 22%;
	right: 0;
	font-weight: bold;
}

#search_modal a:hover {
	color: #14BBA6;
	opacity: 1;
}

.menu-click > li.active-submenu {
	padding-top: 19px;
	padding-bottom: 10px;
	border-color: #14BBA6;
}

.menu-click li.active > a {
	color: #14BBA6;
}

.ls h6 a:hover {
	color: #14BBA6;
}

.ls h6.hover-color2 a:hover {
	color: #0B1320;
}

.ls h6.hover-color3 a:hover {
	color: #22C55E;
}

.ls a {
	color: #0B1320;
}

.ls .highlight {
	color: #14BBA6;
}

.ls .highlight2 {
	color: #0B1320;
}

.ls .highlightlink {
	color: #14BBA6;
}

.ls .darklinks a:hover {
	color: #14BBA6;
}

.ls .pagination > li > span:focus {
	background-color: #14BBA6;
	color: #ffffff;
}

.ls .theme_button.inverse.color1 {
	color: #14BBA6;
}

.ls .nav-unstyled .active a {
	color: #14BBA6;
}

.ls.ms .nav-tabs > li a:hover, .ls.ms .nav-tabs > li a:focus {
	color: #14BBA6;
}

.ls.ms .nav-tabs > li.active a {
	color: #ffffff;
	background-color: #14BBA6;
	border-color: #14BBA6;
}

.ls.ms .breadcrumb a:hover {
	color: #14BBA6;
}

.ds h6 a:hover {
	color: #14BBA6;
}

.ds .ls h6 a:hover {
	color: #14BBA6;
}

.ds .ls a {
	color: #14BBA6;
}

.ds .ls .darklinks a:hover {
	color: #14BBA6;
}

.ds .ls .highlight {
	color: #14BBA6;
}

.ds a:hover {
	color: #14BBA6;
}

.ds hr.main_bg_color {
	background-color: #14BBA6;
}

.ds .highlight {
	color: #14BBA6;
}

.ds .highlight2 {
	color: #0B1320;
}

.ds .highlightlink {
	color: #14BBA6;
}

.ds .greylinks a:hover {
	color: #14BBA6;
}

.ds .darklinks a:hover {
	color: #14BBA6;
}

.ds .iconlinks a:hover i {
	color: #14BBA6;
}

.ds .underlinedlinks a:hover {
	color: #14BBA6;
	text-decoration: underline;
}

.ds .color-bg-icon:hover {
	background-color: #14BBA6;
}

.ds .nav-tabs > li.active > a:focus {
	border-color: #14BBA6;
	color: #ffffff;
}

.ds .owl-theme .owl-dots .owl-dot:hover span {
	background-color: #14BBA6;
}

.ds .widget_shopping_cart li a + a:hover {
	color: #14BBA6;
}

.ds .pagination > li > span:focus {
	background-color: #14BBA6;
	color: #ffffff;
}

.ds .text-nav .owl-nav > div:hover:after {
	color: #0B1320;
}

.theme_button.color1 {
	color: #ffffff;
	background-color: #14BBA6;
	border-color: #14BBA6;
}

.theme_button.color1:hover,
.theme_button.color1:focus,
.theme_button.color1:active {
	background-color: #0fa391;
	border-color: #0fa391;
}

.ds .theme_button.color1 {
	color: #ffffff;
	border-color: #14BBA6;
	background-color: #14BBA6;
}

.ds .theme_button.color1.inverse {
	color: #14BBA6;
	background-color: transparent;
}

.ds .theme_button.color1.inverse:hover, .ds .theme_button.color1.inverse:focus, .ds .theme_button.color1.inverse:active {
	color: #ffffff;
	background-color: #14BBA6;
}

.ds .theme_button.color2 {
	color: #ffffff;
	border-color: #0B1320;
	background-color: #0B1320;
}

.ds .widget_slider .owl-carousel .owl-nav > div:hover:after {
	color: #14BBA6;
}

.cs.main_color2 {
	background-color: #0B1320;
}

.cs.main_color2 .highlight {
	color: #14BBA6;
}

.cs.main_color3 {
	background-color: #22C55E;
}

.cs.main_color3 .highlight {
	color: #14BBA6;
}

.cs.two_color {
	background: linear-gradient(-90deg, #0B1320 50%, #14BBA6 50%);
}

.cs {
	background-color: #14BBA6;
	color: #eaeaea;
}

.cs .ls h6 a:hover {
	color: #14BBA6;
}

.cs .ds h6 a:hover {
	color: #14BBA6;
}

.cs .theme_button.color1 {
	background-color: #ffffff;
	border-color: #ffffff;
	color: #14BBA6;
}

.intro_section:after {
	content: "";
	display: block;
	height: 4px;
	background: linear-gradient(to right, #0B1320, #0B1320 33.3333%, #14BBA6 33.3334%, #14BBA6 66.6666%, #22C55E 66.6667%);
}

@media (min-width: 992px) {
	.affix .sf-menu > li > a {
		padding-top: 25px;
		padding-bottom: 25px;
	}

	.sf-menu > li > a:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		margin-top: 30px;
		height: 2px;
		background-color: #ffffff;
		opacity: 0;
		transition: all 0.2s ease 0s;
	}

	.sf-menu > li > a:hover:after,
  .sf-menu > li.active > a:after {
		margin-top: 25px;
		opacity: 1;
	}

	.bordered_items .sf-menu > li {
		padding: 0;
	}

	.bordered_items .sf-menu > li + li:before {
		content: '';
		width: 1px;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.2);
	}

	.header_white .sf-menu > li > a {
		color: #2f363c;
	}

	.header_white .sf-menu > li > a:after {
		background-color: #2f363c;
	}

	.header_white .sf-menu > li + li:before {
		background-color: #f1f1f1;
	}

	.header_darkgrey .sf-menu > li > a {
		color: #ffffff;
	}

	.header_color .sf-menu > li > a {
		color: #ffffff;
	}

	.sf-menu li:hover,
  .sf-menu li.sfHover {
    /* only transition out, not in */
		transition: none;
	}
  /* second and next levels */
	.sf-menu > li .mega-menu,
  .sf-menu li > ul {
		margin-top: 10px;
		text-align: left;
		list-style: none;
		padding: 15px 0;
		background-color: #2f363c;
		box-shadow: 2px 0 20px rgba(0, 0, 0, 0.2);
		min-width: 10em;
    /* allow long menu items to determine submenu width */
		*width: 10em;
    /* no auto sub width for IE7, see white-space comment below */
	}

	.sf-menu ul a {
		color: #ffffff;
		padding-left: 40px;
		padding-right: 40px;
	}

	.sf-menu .mega-menu ul {
		box-shadow: none;
		padding: 0;
	}

	.sf-menu .mega-menu ul a {
		padding-left: 0;
		padding-right: 0;
	}

	.sf-menu ul a:hover,
  .sf-menu ul li.active > a {
		color: #14BBA6;
	}
  /* third level */
	.sf-menu ul ul {
		margin-top: 0;
	}

	.header_darkgrey .sf-menu ul a:hover, .header_darkgrey .sf-menu ul a:focus, .header_darkgrey .sf-menu ul a:active {
		color: #ffffff;
	}

	.header_darkgrey .mainmenu_wrapper .mega-menu-col {
		border-color: rgba(255, 255, 255, 0.2);
	}
}

.post-adds .like_button:hover > i {
	color: #14BBA6;
}

.entry-content p.big-first-letter:first-letter {
	font-size: 60px;
	line-height: 60px;
	font-weight: 700;
	color: #14BBA6;
	float: left;
	margin-right: 10px;
}

.filters a.selected {
	color: #14BBA6;
}

.format-gallery .owl-carousel .owl-dots .owl-dot.active span {
	border-color: #14BBA6;
}

.widget_mailchimp form .theme_button {
	font-size: 0;
	padding: 12px 0;
	margin: 0;
	position: absolute;
	right: 0;
	top: 0;
	height: 50px;
	width: 50px;
	border: none;
	background-color: transparent;
	color: #22C55E;
	border-radius: 0;
}

.widget_recent_comments li:before {
	font-family: 'FontAwesome';
	content: "\f0e5";
	font-size: 16px;
	line-height: 1;
	padding-right: 10px;
	color: #14BBA6;
}

.widget_pages a:before {
	font-family: 'FontAwesome';
	content: "\f0da";
	font-size: 16px;
	color: #14BBA6;
	position: absolute;
	left: 0;
}

.widget_tag_cloud a {
	letter-spacing: 0.2em;
	padding: 2px 6px 0;
	margin: 0 1px 0 0;
	font-size: 12px;
	text-transform: uppercase;
	text-align: center;
	font-weight: 500;
	line-height: 18px;
	color: #ffffff;
	background-color: #14BBA6;
	display: inline-block;
	border-radius: 5px;
}

.widget_tag_cloud a:hover, .widget_tag_cloud a:focus, .widget_tag_cloud a:active {
	color: #ffffff;
	background-color: #0B1320;
}

.widget_calendar caption {
	line-height: 1;
	font-size: 24px;
	padding: 18px 0 18px;
	text-align: center;
	color: #ffffff;
	background-color: #14BBA6;
}

.widget_calendar tbody td a {
	font-weight: 700;
	color: #14BBA6;
}

.widget_calendar tbody td a:hover {
	color: #0B1320;
}

.widget_calendar tfoot td a:hover {
	color: #ffffff;
	background-color: #14BBA6;
	border-color: #14BBA6;
}

.bg_teaser.darkgrey_bg .highlight, .bg_teaser.black_bg .highlight {
	color: #14BBA6;
}

.testimonials-carousel .carousel-indicators li {
	border-color: #14BBA6;
}

.testimonials-carousel .carousel-indicators li.active {
	background-color: #14BBA6;
}

.thumbnail h3 + p {
	color: #14BBA6;
	margin-bottom: 10px;
}

.plan-name.color2 {
	background-color: #0B1320;
}

.plan-name.color3 {
	background-color: #22C55E;
}

.features-list .disabled:before {
	font-family: 'rt-icons-2';
	font-size: 24px;
	line-height: 1;
	position: relative;
	top: 5px;
	right: 4px;
	content: "\e116";
	padding-right: 8px;
	color: #14BBA6;
}

.price-table.style1.centered .features-list {
	border: 3px solid #0B1320;
	border-width: 0 3px 0 3px;
}

.price-table.style1.centered .call-to-action {
	border: 3px solid #0B1320;
	border-width: 0 3px 3px 3px;
}

.price-table.style2 {
	border: 2px solid #14BBA6;
}

.price-table.style2 .plan-name {
	background-color: #14BBA6;
}

a.social-icon.color-bg-icon:hover {
	background-color: #14BBA6;
	color: #ffffff;
}

a.color-icon.border-icon:hover {
	color: #ffffff;
	background-color: #14BBA6;
	border-color: transparent;
}

/* section backgrounds whose source images were removed with the old template content */
.texture_bg {
	background-image: linear-gradient(135deg, #0B1320 0%, #2563EB 55%, #14BBA6 100%);
}

.page_contact.background_cover {
	background-image: linear-gradient(135deg, #0B1320 0%, #2563EB 55%, #14BBA6 100%);
}

/* header: logo + nav side by side (the template's absolute-centered
   header_logo_center layout could render the logo behind/under the nav) */
.header-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.header-flex .logo_wrapper {
	position: static;
}

.header-flex .site-logo {
	height: 38px;
	width: auto;
	max-width: none;
}

@media (max-width: 767px) {
	.header-flex {
		justify-content: center;
	}
}

.nav-cta {
	display: inline-block;
	margin-left: 24px;
	padding: 10px 20px !important;
	border: 2px solid #14BBA6 !important;
	border-radius: 4px;
	color: #ffffff !important;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.nav-cta:hover {
	background-color: #14BBA6;
}

/* hero: light section (flips the old dark-gradient hero) */
.hero_section {
	background-color: #F1F5F9;
	background-image: radial-gradient(circle at 15% 20%, rgba(37, 99, 235, 0.10) 0%, rgba(37, 99, 235, 0) 45%),
		radial-gradient(circle at 5% 60%, rgba(20, 187, 166, 0.12) 0%, rgba(20, 187, 166, 0) 40%);
	color: #0B1320;
	overflow: hidden;
}

.hero_flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 30px 0;
	min-height: calc(100vh - 120px);
}

.hero_text_col {
	flex: 1 1 480px;
	padding: 0 40px 0 6vw;
}

.hero_cta_row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 6px;
}

.hero_cta_row .theme_button {
	margin: 0;
	white-space: nowrap;
	padding: 16px 22px;
	font-size: 12px;
	letter-spacing: 0.2em;
}

@media (max-width: 480px) {
	.hero_cta_row {
		flex-direction: column;
		align-items: stretch;
	}
}

.hero_image_col {
	flex: 1 1 50%;
	max-width: 50%;
	padding: 20px 0 20px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 991px) {
	.hero_flex {
		padding: 50px 20px;
		min-height: 0;
	}
	.hero_text_col {
		padding: 0 0 30px;
	}
	.hero_image_col {
		max-width: 100%;
		padding: 0;
	}
}

.hero_section .eyebrow {
	color: #14BBA6;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.hero_headline {
	font-size: 56px;
	font-weight: 800;
	line-height: 1.15;
}

@media (max-width: 767px) {
	.hero_headline {
		font-size: 38px;
	}
}

.hero_section .small-text,
.hero_section p {
	color: #5A6472;
}

.hero_section .theme_button.inverse {
	color: #0B1320;
	border-color: #0B1320;
}

.hero_section .theme_button.inverse:hover,
.hero_section .theme_button.inverse:focus,
.hero_section .theme_button.inverse:active {
	color: #ffffff;
	background-color: #0B1320;
	border-color: #0B1320;
}

.hero_graphic {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: calc(100vh - 230px);
	margin: 0 auto;
	display: block;
	filter: drop-shadow(0 20px 35px rgba(11, 19, 32, 0.18));
}

/* services grid: equal-width cards in one aligned row on desktop */
.services-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

@media (min-width: 992px) {
	.services-row > [class*="col-"] {
		flex: 0 0 25%;
		max-width: 25%;
	}
}

.service_icon_circle {
	width: 90px;
	height: 90px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #E3E9F2;
	border: 1px solid rgba(11, 19, 32, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.service_icon_circle img {
	transition: filter 0.3s ease;
}

.services-row .teaser {
	border-radius: 14px;
	padding-top: 40px;
	padding-bottom: 40px;
	transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.services-row .teaser:hover {
	background-color: #ffffff;
	transform: translateY(-8px);
	box-shadow: 0 22px 45px rgba(11, 19, 32, 0.12);
}

.services-row .teaser:hover .service_icon_circle {
	background-color: #14BBA6;
	border-color: #14BBA6;
	transform: scale(1.08);
}

.services-row .teaser:hover .service_icon_circle img {
	filter: brightness(0) invert(1);
}

.services-row .teaser:hover h4 {
	color: #14BBA6;
}

.services-row .teaser:hover .learn-more-link {
	color: #0B1320;
}

/* about-us hub diagram: hover highlight on each node */
.node-diagram {
	width: 100%;
	height: auto;
	display: block;
}

.node-circle {
	cursor: pointer;
	transform-box: fill-box;
	transform-origin: center;
	transition: transform 0.3s ease;
}

.node-circle:hover {
	transform: scale(1.07);
}

.node-circle circle,
.node-circle path,
.node-circle rect,
.node-circle text {
	transition: fill 0.3s ease, stroke 0.3s ease;
}

.node-circle:not(.node-center):hover circle {
	fill: #14BBA6;
	stroke: #14BBA6;
}

.node-circle:not(.node-center):hover path {
	stroke: #FFFFFF;
}

.node-circle:not(.node-center):hover rect {
	fill: #FFFFFF;
}

.node-circle:not(.node-center):hover text {
	fill: #FFFFFF;
}

.node-center:hover circle:nth-of-type(2) {
	stroke: #14BBA6;
}

.learn-more-link {
	color: #14BBA6;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.learn-more-link:hover {
	color: #0B1320;
}

/* stats / "delivering impact" section */
.impact_section {
	background-color: #0B1320;
	color: #ffffff;
}

.impact_section .eyebrow {
	color: #14BBA6;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.impact_section p {
	color: #B7C0CC;
}

.impact_section .theme_button.inverse,
.cta_banner .theme_button.inverse {
	color: #ffffff;
	border-color: #ffffff;
}

.impact_section .theme_button.inverse:hover,
.impact_section .theme_button.inverse:focus,
.cta_banner .theme_button.inverse:hover,
.cta_banner .theme_button.inverse:focus {
	color: #0B1320;
	background-color: #ffffff;
	border-color: #ffffff;
}

.stat_card {
	text-align: center;
}

.stat_card {
	cursor: pointer;
}

.stat_icon_circle {
	width: 64px;
	height: 64px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.stat_icon_circle i {
	transition: color 0.3s ease;
}

.stat_card:hover .stat_icon_circle {
	background-color: #14BBA6;
	transform: scale(1.1);
}

.stat_card:hover .stat_icon_circle i {
	color: #ffffff !important;
}

.stat_number {
	font-size: 34px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.1;
}

.stat_label {
	font-size: 12px;
	letter-spacing: 0.08em;
	color: #B7C0CC;
	text-transform: uppercase;
}

/* consulting process section (same card/circle language as the services section) */
.process_step {
	text-align: center;
	cursor: pointer;
	border-radius: 14px;
	padding: 30px 15px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.process_step:hover {
	transform: translateY(-8px);
	box-shadow: 0 22px 45px rgba(11, 19, 32, 0.12);
}

.process_ring {
	width: 90px;
	height: 90px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #E3E9F2;
	border: 1px solid rgba(11, 19, 32, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.process_ring i {
	transition: color 0.3s ease;
}

.process_step:hover .process_ring {
	background-color: #14BBA6;
	border-color: #14BBA6;
	transform: scale(1.08);
}

.process_step:hover .process_ring i {
	color: #ffffff !important;
}

.process_step:hover h4 {
	color: #14BBA6;
}

.process_number {
	font-weight: 700;
	color: #0B1320;
	margin-right: 6px;
}

/* CTA banner: "ready to grow your business" */
.cta_banner {
	background-color: #0B1320;
	color: #ffffff;
}

.cta_banner p {
	color: #B7C0CC;
}

/* footer v2 */
.footer_v2 {
	background-color: #0B1320;
}

.footer_v2 .widget-title {
	color: #ffffff;
}

.footer_v2 a {
	color: #B7C0CC;
}

.footer_v2 a:hover {
	color: #14BBA6;
}

.footer_v2 .footer_social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	margin-right: 8px;
	color: #ffffff !important;
}

.footer_v2 .footer_social a:hover {
	background: #14BBA6;
}

.newsletter_form {
	display: flex;
	align-items: stretch;
}

.newsletter_form input {
	flex: 1 1 auto;
	min-width: 0;
	border-radius: 4px 0 0 4px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.newsletter_form input::placeholder {
	color: #B7C0CC;
}

.newsletter_form button {
	flex: 0 0 auto;
	border-radius: 0 4px 4px 0;
	white-space: nowrap;
	padding: 12px 18px !important;
	letter-spacing: 0.05em;
	margin: 0;
}

/* the template's ".form-control + .theme_button" rule is built for a tiny
   absolute-positioned icon button inside a search box; the newsletter form
   reuses .form-control on its input, so undo that positioning here */
.newsletter_form .form-control + .theme_button {
	position: static;
	width: auto;
	height: auto;
	line-height: normal;
	color: #ffffff;
}
