/*
 * overrides.css
 * Migrated from Additional CSS (Total > Custom CSS) — top-level rules, "Global Code",
 * and "Blogs" sections (site-wide overrides of Total/WPBakery/plugin defaults)
 * Migrated on: 2026-08-10
 */

.osano-cm-widget {
  display: none !important;
}

.skip-to-content,
.skip-link,
a.skip-link {
    display: none !important;
}

/*H2 mobile*/

@media only screen and (max-width: 959px) {
	    h2 {
				font-size: 36px !important;
	}
}

.blue-section-links a {
	color: #FFEEAA;
}
.blue-section-links a:hover {
	color: #FFCD00;
}

#gradient-grey-background {
background-image: linear-gradient(to top, #e0e4e8, #e8ebee, #f0f1f4, #f8f8f9, #ffffff);
}


/*-----Global Code-----*/

a span {
	pointer-events: none;
}


/*Remove Link Underline*/

a {
  text-decoration: none !important;
}


/*Outlined Button*/

.theme-button.outline {
    border: 2px solid currentColor;
}

.theme-button.outline:hover {
    color: var(--wpex-palette-1268-color);
}


/*float button left on mobile*/
@media only screen and (max-width: 747px) {
.theme-button.align-right, .color-button.align-right, .theme-txt-link.align-right {
    float: left !important;
}
}


/*Form*/

p.gform_required_legend{
	display: none !important;
}

.gform-footer{
	padding-bottom: 0px !important;
}


.gform_wrapper.gravity-theme .gfield textarea.small {
    height: 60px !important;
}

/*center recaptcha*/

#field_5_9 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#field_3_9 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#field_1_9 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#field_7_9 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/*popup*/

.fancybox-slide--html .fancybox-close-small {
    color: var(--wpex-palette-1276-color) !important;
	background-color: var(--wpex-palette-1268-color) !important;
}

.fancybox-slide.fancybox-slide--html.fancybox-slide--current.fancybox-slide--complete{
	top: 40px;
}


/*Reputation Overlap Image*/


@media only screen and (min-width: 1450px) {
figure.reputation-image{
    margin-top: -11vw !important;
}
}

@media only screen and (max-width: 1449px) and (min-width: 1300px){
figure.reputation-image{
    margin-top: -15vw !important;
}
}


/*On Dark Links*/

.on-dark-links a {
    color: var(--wpex-palette-1276-color) !important;
}
.on-dark-links a:hover {
    color: var(--wpex-palette-1268-color) !important;
}


/*Bullets*/

@media only screen and (min-width: 960px) {
.column-list {
  column-count: 3;
}
}

.column-list a {
    color: var(--wpex-palette-1281-color) !important;
}

.column-list a:hover {
    color: var(--wpex-palette-1268-color) !important;
}


.column-list.on-dark-links a {
    color: var(--wpex-palette-1276-color) !important;
}

.column-list.on-dark-links a:hover {
    color: var(--wpex-palette-1268-color) !important;
}


/*Outer Column Padding Fix*/

.vc_row.vc_column-gap-35>.vc_column_container {
    padding-bottom: 0px !important;
	padding-top: 0px !important;
	
}


/*Service Area Toggles*/

.theme-button.outline.active {
    color: #fff !important;
}

.area-2.active{
	background-color: #EE8051 !important;
}

.area-3.active{
	background-color: #EE8051 !important;
}


/*Page Title*/

.page-title-image > .vc_column-inner{
	background-position: top center;
	
}


/*Double Photo CTA*/

.left-photo{
	border-radius: 10px 0px 0px 10px;
}

.right-photo{
	border-radius: 0px 10px 10px 0px;
}


@media (max-width: 959px) {
.left-photo{
	border-radius: 10px 10px 0px 0px;
}

.right-photo{
	border-radius: 0px 0px 10px 10px;

}
}


/*Logo and Testimonial Carousels*/

.logo-carousel figure.wpex-carousel-entry-media {
    background: var(--wpex-palette-1272-color) !important;
    padding: 10px !important;
    border-radius: 5px !important;
}

.column-gradient-overlay .wpex-bg-overlay{
    z-index: 2 !important;
    background: linear-gradient(270deg, rgba(235,234,227,1) 5%, rgba(235,234,227,0) 33%, rgba(235,234,227,0) 66%, rgba(235,234,227,1) 95%) !important;
    
}


/*Services Side Bar Buttons*/

a.vcex-button.theme-button.outline.inline.side-bar-button:hover{
    border: 2px solid  !important;
}


/*-----End Global Code-----*/

/*-----Blogs-----*/

/*Blog Category*/

li.meta-post-terms{
	background-color: var(--wpex-palette-1268-color);
	padding: 3px;
	border-radius: 3px;
	font-weight: 500;
}


/*Table of Contents*/
#ez-toc-container {
    border-radius: 10px;
		padding: 20px;
}


/*-----End Blog Code-----*/


/** NEW DESIGN 2026 STARTS HERE */

/* Forms */
/*------------------------------------*\
  Gravity Forms
\*------------------------------------*/

/* Field Labels
-------------------------------------*/

.gform_wrapper.gravity-theme .gform-field-label__text {
	color: var(--color-off-black-text);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-regular);
	line-height: 20px;
}


/* Inputs, Selects + Textareas
-------------------------------------*/

.gform_wrapper.gravity-theme input[type="color"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="datetime-local"],
.gform_wrapper.gravity-theme input[type="datetime"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="month"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="time"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="week"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
	border: 1px solid var(--color-gray-divider) !important;
	padding: 8px 16px !important;
	color: var(--color-off-black-text) !important;
	font-weight: var(--font-weight-regular) !important;
	font-size: var(--text-lg);
}


/* Input + Textarea Placeholders
-------------------------------------*/

.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
	color: var(--color-gray-text) !important;
	opacity: 1;
	font-weight: var(--font-weight-regular);
	
}


/* Select Placeholder
-------------------------------------*/

.gform_wrapper.gravity-theme select {
	color: var(--color-gray-text) !important;
}

/* Selected value */
.gform_wrapper.gravity-theme select.has-value {
	color: var(--color-off-black-text) !important;
}

/* Options inside dropdown */
.gform_wrapper.gravity-theme select option {
	color: var(--color-off-black-text) !important;
}


/* Required Field Asterisk
-------------------------------------*/

.gform_wrapper.gravity-theme .gfield_required {
	color: var(--color-red) !important;
}

/* Form Buttons
-------------------------------------*/

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
	text-align: left;
}

.gform_wrapper.gravity-theme input[type="submit"],
.gform_wrapper.gravity-theme input[type="button"],
.gform_wrapper.gravity-theme button,
.gform_wrapper.gravity-theme input[type="submit"]:hover,
.gform_wrapper.gravity-theme input[type="button"]:hover,
.gform_wrapper.gravity-theme button:hover,
.gform_wrapper.gravity-theme input[type="submit"]:focus,
.gform_wrapper.gravity-theme input[type="button"]:focus,
.gform_wrapper.gravity-theme button:focus {
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	border: 1px solid var(--color-black) !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1 !important;
	
	font-size:var(--text-sm);
	font-weight: 500;
	line-height: 180%; /* 25.2px */
	padding:10px 32px;
	min-width:150px;
}

.gform_wrapper.gravity-theme input[type="submit"],
.gform_wrapper.gravity-theme input[type="button"],
.gform_wrapper.gravity-theme button {
	display: inline-block;
	margin-left: 0;
	margin-right: auto;
}

/* End of Forms */

/*-----Press Release ticker bar (Homepage only)-----*/
/*Sits directly below the header on Home V2. Static content, update manually
  when a new press release is published. Figma node 1679-42662.
  Added 2026-08-10*/

.c-press-ticker {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	background: #FFFFFF;
	padding: 12px 0;
	gap: 14px;
	box-sizing: border-box;
}

.c-press-ticker__label {
	font-family: 'Noto Sans', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #333333;
	white-space: nowrap;
}

.c-press-ticker__title {
	font-family: 'Noto Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #333333;
	text-decoration: none;
}

.c-press-ticker__title:hover {
	text-decoration: underline;
	color: #333333;
}

.c-press-ticker__date {
	font-family: 'Noto Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #333333;
	white-space: nowrap;
}

/* Mobile: flow left-to-right naturally (wrap), not centered.
   Added 2026-08-20 per feedback. */
@media (max-width: 767px) {
	.c-press-ticker {
		justify-content: flex-start;
		text-align: left;
		padding-left: 16px;
		padding-right: 16px;
	}
}

/*-----End Press Release ticker bar-----*/


/*-----Homepage Hero stats — mobile 2x2 grid-----*/
/*On mobile these 4 stat columns (2,000+ / 5,000+ / 2M+ / 120K+) default to
  stacking in a single column (Bootstrap vc_col-sm-3 behavior). Figma spec
  (node 942-224851) wants a 2x2 grid instead. Added 2026-08-11*/

@media (max-width: 767px) {
	.vc_custom_1777323505978 {
		display: flex !important;
		flex-wrap: wrap !important;
		column-gap: 28px !important;
		row-gap: 44px !important;
	}

	.vc_custom_1777323505978 > .vc_col-sm-3 {
		width: calc(50% - 14px) !important;
		flex: 0 0 calc(50% - 14px) !important;
		max-width: calc(50% - 14px) !important;
	}

	/*Figma mobile spec uses 44px for these numbers (vs 48px on desktop),
	  and the narrower 2-col width needs it to avoid wrapping.*/
	.vc_custom_1777323505978 .vcex-heading {
		font-size: 44px !important;
		letter-spacing: -1px !important;
		white-space: nowrap !important;
	}
}

/*-----End Homepage Hero stats — mobile 2x2 grid-----*/


/*Center hero H1 + paragraph on mobile only (desktop stays left-aligned)
  Added 2026-08-11*/

@media (max-width: 767px) {
	.vc_custom_1778705177813 h1,
	.vc_custom_1778705177813 .wpb_text_column {
		text-align: center !important;
	}

	/*Reduce header-to-title spacing on mobile (was 200px for desktop).
	  Note: there's a hidden vcex-divider before this spacer, so
	  :first-of-type (tag-based) doesn't match it — use adjacent
	  sibling combinator instead.*/
	.vc_custom_1778705177813 .vcex-divider + .vcex-spacing {
		height: 150px !important;
	}
}


/*-----Homepage Hero — enlarge dots GIF and let it bleed off the right edge-----*/
/*628px per Figma spec (was 560px). Also pull 120px past the page's right
  edge so it appears cut off. Added 2026-08-12*/

@media (min-width: 768px) {
	/*.vcex-image-img[src*="hero-animatio-dots-v2"] {
		width: 628px !important;
		height: 628px !important;
		max-width: none !important;
	}

	figure.vcex-image:has(img[src*="hero-animatio-dots-v2"]) {
		position: relative !important;
		right: -100px !important;
	}*/
}

/*Mobile: no bleed, no enlargement — back to normal centered responsive image*/
@media (max-width: 767px) {
	/*.vcex-image-img[src*="hero-animatio-dots-v2"] {
		width: auto !important;
		height: auto !important;
		max-width: 100% !important;
	}

	figure.vcex-image:has(img[src*="hero-animatio-dots-v2"]) {
		position: static !important;
		right: auto !important;
	}*/
}

/*-----End Homepage Hero dots GIF-----*/


