/*

 Theme Name:   WSUM Starter Theme

 Theme URI:    https://generatepress.com

 Description:  WSUM Starter Child theme for all web development

 Author:       BJ Bowen

 Author URI:   https://williamstonstartupmarketing.com;

 Template:     generatepress

 Version:      0.1

*/



/*

Name of website

Colors of website




FONTS OF WEBSITE:;
*/

/* roboto-slab-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/uploads/fonts/roboto-slab-v33-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-slab-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 600;
  src: url('/wp-content/uploads/fonts/roboto-slab-v33-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-slab-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 800;
  src: url('/wp-content/uploads/fonts/roboto-slab-v33-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/uploads/fonts/poppins-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('/wp-content/uploads/fonts/poppins-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('/wp-content/uploads/fonts/poppins-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  src: url('/wp-content/uploads/fonts/poppins-v20-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/uploads/fonts/poppins-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  src: url('/wp-content/uploads/fonts/poppins-v20-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* Font Awesome 5 Free */

@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/wp-content/uploads/fonts/fa-brands-400.eot");
  src: url("/wp-content/uploads/fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("/wp-content/uploads/fonts/fa-brands-400.woff2") format("woff2"), url("/wp-content/uploads/fonts/fa-brands-400.woff") format("woff"), url("/wp-content/uploads/fonts/fa-brands-400.ttf") format("truetype"), url("/wp-content/uploads/fonts/fa-brands-400.svg#fontawesome") format("svg"); }

.fab {
  font-family: 'Font Awesome 5 Brands';
  font-weight: 400; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/wp-content/uploads/fonts/fa-regular-400.eot");
  src: url("/wp-content/uploads/fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("/wp-content/uploads/fonts/fa-regular-400.woff2") format("woff2"), url("/wp-content/uploads/fonts/fa-regular-400.woff") format("woff"), url("/wp-content/uploads/fonts/fa-regular-400.ttf") format("truetype"), url("/wp-content/uploads/fonts/fa-regular-400.svg#fontawesome") format("svg"); }

.far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("/wp-content/uploads/fonts/fa-solid-900.eot");
  src: url("/wp-content/uploads/fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("/wp-content/uploads/fonts/fa-solid-900.woff2") format("woff2"), url("/wp-content/uploads/fonts/fa-solid-900.woff") format("woff"), url("/wp-content/uploads/fonts/fa-solid-900.ttf") format("truetype"), url("/wp-content/uploads/fonts/fa-solid-900.svg#fontawesome") format("svg"); }

.fa,
.fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-style: normal!important;
  display:inline-block; }

  .fa-paper-plane:before {
  content: "\f1d8"; }

  .fa-phone:before {
  content: "\f095"; }
  .fa-map-marker-alt:before {
  content: "\f3c5"; }
  .fa-user:before {
    content:"\f007";
  }
  .fa-check:before {
    content:"\f00c";
  }
  .fa-envelope:before {
    content:"\f0e0";
  }
  .fa-file-pdf {
    content:"\f1c1";
  }
  .fa-lightbulb::before {
  content: "\f0eb";
}
.fa-arrow-circle-down::before {
  content: "\f0ab";
}
.fa-mobile-alt::before {
  content: "\f3cd";
}
.fa-search::before {
  content: "\f002";
}
.fa-bolt::before {
  content: "\f0e7";
}
.fa-flag::before {
  content: "\f024";
}
.fa-heart::before {
  content: "\f004";
}
.fa-quote-right:before {
  content: "\f10e"; }

.icon-chevron-left::before {
  content: '\e87e';
}
.icon-chevron-right::before {
  content: '\e87d';
}
.fa-chevrons-right {
  content:'\f324';
}
  .fa-facebook-f:before {
    content: "\f39e"; 
}
.fa-instagram:before {
    content: "\f16d"; }
.fa-twitter:before {
  content: "\f099"; }
  .fa-linkedin:before {
  content: "\f08c"; }
.fa-youtube:before {
  content: "\f167"; }


/* Set Scroll for anchor links */
[id] {
  scroll-margin-top: 450px;
}

.hide-all {
  display:none!important;
}
.hide /* on mobile */ {
    display:unset!important;
}

.hide-desktop {
    display:none!important;
}
.mobile-break {
  display:none!important;
}

.fit-content {
  width:fit-content;
}
.small-width-cont {
  width:60%;
}
.list-no-indent ul{
  margin:0 1.5em 0;
}

.white-text {
  color:var(--base)!important;
}
i {
  font-style: normal!important;
}


/* Header */

.site-branding-container {
  display:block;
  font-family:'Roboto Slab', serif;
}
.site-branding p {
  font-family: Roboto Slab, serif;
  text-align: center;
}
#sticky-navigation, #sticky-navigation.main-navigation ul ul {
  background-color: var(--contrast-2-trans);
}
#sticky-navigation a {
  color:var(--base-3);
}
#sticky-navigation a:hover {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.block-header {
	position: relative;
	z-index: 9999;
	
	.menu-item {
		font-family: 'Roboto Slab';
		
		>a {
			padding-left: 20px;
			padding-right: 20px;
			line-height: 60px;
			font-size: 15px;
		}
	}
	
	
	.menu-item-has-gb-mega-menu {
		position: unset;
	}
	

	/* Center the inner content so columns line up with the header */
	 .gb-overlay__content > .gb-container {
		max-width: 100vw; 
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 20px;
		box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
	}
	
	
	.gb-menu-toggle {
		background-color: var(--base);
		color: var(--contrast-4);
		
		&.gb-menu-toggle--toggled {
			background-color: var(--accent-2);
			color: var(--base);
		}
	}
	
	.gb-menu-container--mobile {
		background-color: var(--accent-2);
		color: var(--base);
	}
	
	.mobile-overlay-logo {
		margin-top: 150px;
    	margin-bottom: 50px;
		
		 a {
			  background-image: url("/wp-content/uploads/2023/10/Visibull-V-logo-white-final.svg");
			  background-repeat: no-repeat;
			  background-position: center;
			  background-size: contain;
			  display:inline-block;
			  width:70px;
			}

		/* Hide the original <img> but keep its layout */
		a img{
		  opacity: 0;
		}
	}
	
	@media (min-width: 768px) {
		/* Force full-width Services mega menu to align to viewport, not the menu item */
		 .gb-overlay--anchored.gb-overlay--width-full {
			transform: translateY(90px) !important;
		}
		
		.mobile-overlay-logo {
			display: none;
		}
	}
	
	@media (max-width: 767px) {
		.gb-overlay--anchored.gb-overlay--width-full {
			width: 100%;
		}
		
		.menu-item {
			>a {
				justify-content: center;
			}
		}
	}
	
}


body:not(.single-vertical, .single-service) {
	.block-header {
		.gb-overlay__content > .gb-container {
			background-color: var(--base);
    		color: var(--contrast-2) !important;
			
			h3 {
				color: var(--contrast-5) !important;
			}
			
			.wp-block-navigation-item__content:hover {
				color: var(--contrast-4) !important;
			}
		}
	}
}

.services-overlay-menu {
	>.gb-container {
		padding-top: 30px;
		padding-bottom: 20px;
	}
}

#menu-item-1184 {
	padding-right: 20px;
	padding-left: 20px;
	
	a.gb-menu-link {
		position: relative;

		span.gb-submenu-toggle {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				display: flex;
				align-items: center;
				justify-content: flex-end;
				cursor: pointer;
		}
	}
	
	@media(max-width: 767px) {
		a.gb-menu-link {
			span.gb-submenu-toggle {
				position: static;
				width: auto;
				align-self: center;
			}
		}
	}
}

.site-footer .brand-statement img {
  max-width: 80%;
}

.site-footer:not(.home .site-footer) {
  margin-top:88px;
}

/* Set the main content area to a minimum of 65vh */
#main {
  min-height: 65vh;
}

body {
  background-color: var(--base);
}

/* Site Wrapper to set overall site max width */
.site-wrapper {
  width: 100%;
  max-width: 1920px;
  background-color: var(--base);
} 

body {
  background-color: var(--base);
}

.page-id-71 .site-header:not(.home),
.page-id-71 .block-header:not(.home){
  z-index: 4;
  background-color: var(--contrast-5);
}

.page-id-71 .site-header:not(.home) .main-nav ul li a,
.page-id-71 .block-header:not(.home) .gb-menu li a{
  color:var(--base-3);
}

.page-id-71 .site-header:not(.home) .main-nav ul li a:hover,
.page-id-71 .block-header:not(.home) .gb-menu li a:hover{
  color:var(--accent);
}

.page-id-71 {
	.block-header {
		.gb-menu-toggle {
			background-color: transparent;
			color: var(--base);
		}
	}
}

/* Homepage override */
.home .site-header{
  z-index: auto;
  background-color: transparent; /* or whatever the homepage should use */
}
.home .site-header .main-nav ul li a {
  color:var(--contrast-1);
}

.home .site-header .main-nav ul li a:hover {
  color:var(--var-contrast);
}

.hero-inner {
  margin-top:250px;
}

.rt-col-hero {
  position: relative;
  z-index: 2;
}

/* Let the hero grow with the form (no clipping) */
.hero-bkgd{
  height: auto;
  min-height: unset;
  overflow: visible; /* important if something upstream set hidden */
}

/* Make the grid columns stretch to the tallest column */
.hero-bkgd .gb-grid-wrapper{
  align-items: stretch;
}
.hero-bkgd,
.hero-bkgd .hero-inner{
  overflow: visible;
  height: auto;
  max-height: none;
}

.hero__overlay {
	position: relative;
	
	> * {
		position: relative;
		z-index: 2;
	}
}

.hero__overlay-dark {
	&:before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: linear-gradient(
		165deg,
		rgba(15, 50, 66, 0.92),
		rgba(10, 58, 77, 0.88)
	  );
	  z-index: 1;
	}
	
	/*
	&:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 200px;
		background: linear-gradient(to top, #0d1117, transparent);
		pointer-events: none;
	}
	*/
}


.hero__overlay-dark2 {
	&:before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: linear-gradient(165deg, rgb(15 50 66 / 78%), rgb(0 0 0 / 50%));		
	  z-index: 1;
	}
}


.hero__overlay-dark3 {
    &:before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(165deg, rgb(15 50 66 / 72%));
        z-index: 1;
    }
}


.hero__overlay-light {
	&:before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: rgb(207 240 255 / 34%);
	  z-index: 1;
	}
	
	&:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: auto;
		left: 0;
		right: 0;
		height: 400px;
        background: linear-gradient(to top, #c3dbffbf, transparent);
		transform: scaleY(-1);
		pointer-events: none;
		z-index: 0;
	}
}

.has-pattern {
	position: relative;
	
	&:after {
		content: '';
		position: absolute;
		inset: 0;
		pointer-events: none;
		z-index: 0;
		opacity: 0.18;
		background-image: linear-gradient(rgba(76, 147, 171, 1) 1px, transparent 1px), linear-gradient(90deg, rgba(76, 147, 171, 1) 1px, transparent 1px), linear-gradient(rgba(76, 147, 171, 0.35) 1px, transparent 1px), linear-gradient(90deg, rgba(76, 147, 171, 0.35) 1px, transparent 1px);
		background-size: 60px 60px, 60px 60px, 12px 12px, 12px 12px;
		height: 100%;
        z-index: 1;
	}
	
	> div {
		position: relative;
		z-index: 2;
	}
}

.has-stripes {
	position: relative;
	
	&:after {
		content: '';
		position: absolute;
		inset: 0;
		pointer-events: none;
		z-index: 0;
		opacity: 0.06;
		background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(76, 147, 171, 0.5) 20px, rgba(76, 147, 171, 0.5) 21px);
	}
	
	> div {
		position: relative;
		z-index: 2;
	}
}

.services-h1.italic {
  font-family:'Roboto Slab', serif;
  font-style: italic;
  font-size:1.7em;
  margin-bottom: 0;
}

.page-id-71 .main-navigation ul ul {
  background-color: var(--contrast-5);
}
.main-navigation ul ul .home {
  background-color: transparent;

}
/* Page 71 only: swap logo to the white V SVG */
.page-id-71 .wp-block-site-logo a{
  background-image: url("/wp-content/uploads/2023/10/Visibull-V-logo-white-final.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display:inline-block;
  width:70px;
}

/* Hide the original <img> but keep its layout */
.page-id-71 .wp-block-site-logo a img{
  opacity: 0;
}

.logos-cont {
  padding-top:62px;
}

.hero-bkgd .gb-grid-wrapper .gbp-badge-cont  {
  align-items: center;
}

.margin-bottom-56 {
  margin-bottom: 56px;
}
.center {
  margin-left: auto;
  margin-right: auto;
}


.no-pad-no-marg {
  padding:0!important;
  margin:0!important;
}



.page-id-71 .gb-hero-video{
  position: relative;
  overflow: hidden;
}

.page-id-71 .gb-hero-video .gb-video-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.page-id-71 .gb-hero-video > *:not(.gb-video-bg){
  position: relative;
  z-index: 2;
}
.page-id-71 .hero-bkgd{
  height: auto;
  overflow: visible; /* only if something is clipping */
}

.page-id-71 .gb-hero-video::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--contrast-5);
  opacity: 0.8; /* adjust */
  z-index: 1;
  pointer-events: none;
}
.local-seo-hero-list-cont ul li {
  width:fit-content;
}
.local-seo-hero-list-cont ul{
  width:fit-content;
  margin:0 auto 16px auto;
  list-style: inside;
}
.local-seo-hero-list-cont p {
  margin-bottom:0px;
}

/* GBP Banner  */
.gbp-badge-cont{
  position: relative;
  display: grid;
  width: 100%;
  overflow: visible;
}

/* overlap */
.badge-icon-cont,
.badge-bkgd-banner{
  grid-area: 1 / 1;
}

/* layering */
.badge-icon-cont{ z-index: 2; }
.badge-bkgd-banner{ z-index: 1; }

/* banner stays inside parent and sits to the right */
.badge-bkgd-banner{
  width: 100%;
  max-width: 90%;
  margin-left: auto;        /* pushes it flush right */
  box-sizing: border-box;
  padding-left: 120px;      /* space for badge icon */
  padding-right: 16px;
}
.med-p.badge-txt {
  font-size: 22px;
}



/* HELPER CLASSES */


/* Check List */
.entry-content ul.check-list {
    list-style-type: none;
    margin:0 0 0 1.75em;
}
.entry-content ul.check-list li {
    position: relative;
    margin-bottom:.6em;
}
.entry-content ul.check-list li:before {
    content: "\f00c";
    position: absolute;
    left: -25px;
    font-weight: 900;
    color: var(--accent);
    font-family: 'Font Awesome 5 Free';
}

.last-element-on-page, .last-element {
  margin-bottom:80px!important;
}
/* Equal column height (put on the short column) */

.col-height-100 {
  height:100%;
}

/* Buttons */

.gb-button {
  margin-bottom: 1.85rem;
  margin-top:1.5rem;
}

/* Hover Underline Headline */

.hover-underline-animation a::after {
    content: '';
    position: absolute;
    width: 36px;
    transform: scaleX(0);
    height: 2px;
    bottom: -10px;
    left: 0;
    background-color: var(--accent);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.hover-underline-animation a:hover {
    display: inline-block;
    position: relative;
    color: var(--contrast);
}
.hover-underline-animation a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
/* Standard Shadow(s) */

.shadow-standard {
  box-shadow: 0px 5px 16px -5px rgba(33, 33, 33, 0.2);
  transition: all .2s ease-in;
}

.shadow-standard:hover {
  box-shadow: 0px 8px 32px 0px rgba(33, 33, 33, 0.1);
}

/* Max Width(s) */

.max-width-1024 {
  max-width: 1024px;
}


.max-width-768 {
  max-width: 768px;
}

.max-width-640 {
  max-width: 640px;
}

.max-width-480 {
  max-width: 480px;
}

.entry-content {
  margin: 0 auto;
  padding: 0;

}

.separate-containers .inside-article {
  padding:0;
}


/* Margin Auto */

.margin-auto{
  margin-left: auto;
  margin-right: auto;
}

/* No margin */

.no-margin {
  margin:0!important;
}

/* Position Properties */

.relative{
  position: relative;
}

.absolute{
  position:absolute;
  top: 0px;
  left: 0px;
}

.sticky{
  position: sticky;
  top: 24px;
}

/* Image Aspect Ratios */

.aspect-1-1 img{
    aspect-ratio: 1/1;
  object-fit: cover;
}

.aspect-3-2 img{
    aspect-ratio: 3/2;
  object-fit: cover;
}

.aspect-2-3 img{
    aspect-ratio: 2/3;
  object-fit: cover;
}

.aspect-4-3 img{
    aspect-ratio: 4/3;
  object-fit: cover;
}

.aspect-3-4 img{
    aspect-ratio: 3/4;
  object-fit: cover;
}

.aspect-16-9 img{
    aspect-ratio: 16/9;
  object-fit: cover;
}

.aspect-9-16 img{
    aspect-ratio: 9/16;
  object-fit: cover;
}



/* Testimonials */
.testimonials-container  {
  font-size: 20px;
}
.testimonial-content {
text-align: center;
margin-top:2em;
text-wrap: balance;

}

.testimonial-author {
text-align: center;
margin-top:2em;
font-weight: 700;
}

.testimonial-city {
text-align: center;
font-style: italic;
}

.testimonial-company {
text-align: center;
text-transform: uppercase;
}

.testimonials-container span.gb-icon {
  border-radius:100px;
  padding:20px;
  border:1px solid var(--accent-2);
}

.testimonials-container {

}

.item-inner /* Testimonial Title */ {
  display:none;
}



/* ============================ TYPOGRAPHY ============================ */

:root {
  /* These HAVE TO match what is in the Customizer > Typography. Pull in font families using font manager. Set headline-font as "All Headings", set body-font as HTML */

  --headline-font: Roboto Slab, serif;
  --body-font: Poppins, sans-serif;
  --c-body: clamp(0.9375rem, 0.8807rem + 0.2424vw, 1.0625rem);
  --c-headline-xl: clamp(3.05rem, calc(2.24rem + 4.08vw), 5.53rem);
  --c-headline-h1: clamp(1.75rem, 1.4091rem + 1.4545vw, 2.5rem);
  --c-headline-h2: clamp(1.375rem, 1.0909rem + 1.2121vw, 2rem);
  --c-headline-h3: clamp(1.1875rem, 1.0455rem + 0.6061vw, 1.5rem);
  --c-headline-h4: clamp(1.25rem, calc(1.21rem + 0.21vw), 1.38rem);
  --c-headline-h5: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
  --c-headline-h6: clamp(1.25rem, calc(1.21rem + 0.21vw), 1.38rem);
  --c-headline-pre: clamp(0.97rem, calc(1.01rem + 0.05vw), 1rem);
  --c-headline-body-xl: clamp(1.27rem, calc(1.15rem + 0.59vw), 1.62rem);
  --c-headline-body-l: clamp(1.13rem, calc(1.05rem + 0.38vw), 1.35rem);
  --c-headline-body-s: clamp(0.89rem, calc(0.87rem + 0.08vw), 0.94rem);
  --c-headline-body-xs: clamp(0.78rem, calc(0.79rem + -0.01rem), 0.79rem);
  --text-s: clamp(0.75rem, 0.7216rem + 0.1212vw, 0.8125rem);
  --text-xs: clamp(0.78rem, calc(0.79rem + -0.01vw), 0.79rem);

}
  /* Default Body / p font settings */
  body {

  --wp--preset--font-size--medium: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}

p.margin-btm-6px  {
  margin-bottom: 6px!important;
}

body ol, body ul {
  font-size: var(--c-body);
  line-height: 1.8;
  font-family: var(--body-font);
}

  p, p.gb-headline {
    font-size: var(--c-body);
    font-weight:400;
    line-height: 1.8;
    margin-bottom: 1.5rem;
    font-family: var(--body-font);
  }
  p.lg-p {
    font-size:64px;
    line-height: 1.2;
  }
p.med-p {
  font-size: 1.5em;
  color:var(--base-3);
  line-height: 1.3;
  margin-bottom: 0;
  text-wrap: balance;
}
p.gb-headline.gmb-form-subhead {
  font-size: 1.55em;
  font-weight:600;
  line-height: unset;
  margin-top:-8px;
  padding-bottom:0;
}
p.gb-headline.gmb-form-head {
  font-size: 2em;
  font-weight:600;
  line-height: unset;
  margin-top:24px;
  margin-bottom: 0;
  padding:unset;
}
  p.gb-headline .medium-p
  p.has-medium-font-size {
    line-height:1.5;
  }
  p.large-p {
    font-size: clamp(1.625rem, 0.8688rem + 3.2267vw, 3.28875rem);
    color: var(--contrast-2);
    font-weight: 400;
    margin-bottom: 5.5rem;
    margin-top:3.5rem;
    line-height: 1.2;
  }

  p.x-large-p {
    font-size: clamp(1.5rem, -0.3182rem + 7.7576vw, 5.5rem);
    line-height: clamp(1.625rem, 0.1761rem + 6.1818vw, 4.8125rem); ;
    text-align: left;
    font-weight: 800;
    font-family: var(--headline-font);
  }
  .top-z-index {
    z-index: 15000!important;
  }

  .red {
    color: var(--accent)!important;
  }
 .blue {
    color: var(--contrast-4);
  }
.accent-2 {
  color: var(--accent-2)!important;
}
  p.medium-p {
      font-size: clamp(1.5rem, 1.2159rem + 1.2121vw, 2.125rem);
      color:var(--contrast-4);
      font-weight: 600;
  }
 p.large-p, p.medium-p, .headline-font  {
      font-family: var(--headline-font);
}
/* FOOTER NAVIGATION P */

.footer li.wp-block-navigation-item.wp-block-navigation-link:not(.social-media-icons li.wp-block-navigation-item.wp-block-navigation-link) {
  font-size: var(--text-s);
}
.footer .social-media-icons li.wp-block-navigation-item.wp-block-navigation-link {
  font-size:var(--c-headline-body-l);
}
.footer .social-media-icons {
  width:300px!important;
  margin: 1rem auto 1.5rem auto;
}
.footer .social-media-icons ul {
  justify-content: space-between;
  align-items: flex-start;
  flex-flow: row wrap;
  flex-wrap: wrap;
}
.footer .social-media-icons ul li {
  display:inline-block;
}

.footer h3 {
  font-size: var(--c-headline-h5)!important;
}
  /* Default Headings, weight, margin, font-family */

  h1, h2, h3, h4, h5, h6, .gb-headline-xxl, .gb-headline-xl, .gb-headline-h1, .gb-headline-h2, .gb-headline-h3, .gb-headline-h4, .gb-headline-h5, .gb-headline-h6 {
    font-weight: 600,;
    margin-bottom: .5em;
    font-family:var(--headline-font);
    text-wrap:balance;
  }

 /* Headine font size and line height */

 p.teaser {
  font-size: clamp(1.5rem, 1.2159rem + 1.2121vw, 2.125rem);
  color:var(--contrast-4);
 }
 p.teaser-2 {
  font-size: clamp(1.625rem, 1.1705rem + 1.9394vw, 2.625rem);  
  color:var(--contrast-4);
  font-weight:700;
   }
p.teaser-list {
  font-size: clamp(1.1875rem, 1.0298rem + 0.6727vw, 1.534375rem);
    color:var(--contrast-4);
}
.bracket:before {
  content: url('/wp-content/uploads/2023/10/l-bracket.svg');
  width: 28.7px;
  height:105.23px;
  display:inline-block;
}
.bracket:after {
  content: url('/wp-content/uploads/2023/10/r-bracket.svg');
  width: 28.7px;
  height:105.23px;
  display:inline-block;
}

.gb-headline:not(p) {
  font-family: var(--headline-font);
}
 .gb-headline-xl {
  font-size: var(--c-headline-xl);
  line-height: 1.05;
 }

 h1, .gb-headline-h1 {
  font-size: var(--c-headline-h1);
  line-height: 1.05;
 }

 h2, .gb-headline-h2 {
  font-size: var(--c-headline-h2);
  line-height: 1.1;
 }


 h3, .gb-headline-h3 {
  font-size: var(--c-headline-h3);
  line-height: 1.15;
  letter-spacing: .05em;
 }

  h4, .gb-headline-h4 {
  font-size: var(--c-headline-h4);
  line-height: 1.2;
 }

  h5, .gb-headline-h5 {
  font-size: var(--c-headline-h5);
  line-height: 1.25;
 }

  h6, .gb-headline-h6 {
  font-size: var(--c-headline-h6);
  line-height: 1.3;
 }

.gb-headline-pre {
  font-size: var(--c-headline-pre);
  text-transform: uppercase;
  letter-spacing: .1em;
}

.gb-headline-body-xl {
  font-famiy:var(--body-font);
  font-size: var(--c-headline-body-xl);

}


.gb-headline-body-l {
  font-famiy:var(--body-font);
  font-size: var(--c-headline-body-l);

}

.gb-headline-body-s {
  font-famiy:var(--body-font);
  font-size: var(--c-headline-body-s);

}

.gb-headline-body-xs {
  font-famiy:var(--body-font);
  font-size: var(--c-headline-body-xs);

}
.main-navigation a {
  font-family:var(--headline-font);
  font-weight:;
}

ul {
  font-family: var(--body-font);
}

.contact-menu ul li a {
    align-items: center;
    text-align: center;
    width: 48px;
    height: 48px;
    display: block;
    padding: 4px;
    background-color: var(--accent) !important;
    border-radius: 8px;
    display: block !important;
}

.contact-menu ul li a:hover {
  background-color: var(--contrast-2)!important;
}

p.gb-headline.c-t-a {
  font-size: 22px;
  line-height: 28px;
  text-align: center;
  color: var(--accent-2);
  margin-bottom: 36px;
}

/* HOME PAGE */

/* -------- HERO -------- */

.our-clients {
  width:100%;
}

.checkbox-list li:before, .x-checkbox-list li:before{
  content: '';
  width: 32px;
  height:32px;
  display:inline-block;
}
.checkbox-list li:before{
  content: url('/wp-content/uploads/2023/10/checkbox1.svg');
  }
  .x-checkbox-list li:before {
  content: url('/wp-content/uploads/2023/10/X-checkbox.svg');
}

  .checkbox-p {
font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);  }
.checkbox-p:before {
  content: '';
  width: 18px;
  height:18px;
  display:inline-block;
  content: url('/wp-content/uploads/2023/10/checkbox1.svg');
}

ul.checkbox-list, ul.x-checkbox-list  {
  list-style: none;
  margin:0;
}

.checkbox-list li, .x-checkbox-list li  {
font-size: clamp(1.125rem, 0.9389rem + 0.7939vw, 1.534375rem);
font-weight:600;
display:flex;
color:var(--contrast-4);
line-height:3.75rem;
}

a.gb-button-a1ae7c8a, a.gb-button-44a91cb6 {
  color: white !important;
}

.home h1 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(1.75rem, 1.2955rem + 1.9394vw, 2.75rem);
  margin-bottom: 0;
  font-weight: 600;
}

/* =========================== GRID =========================== */



/* =========================== COLUMNS =========================== */

.footer-columns {
  flex-wrap:wrap;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start!important;
}
.footer .wp-block-column {
  flex-basis:unset!important;
  flex-grow: unset!important;
}
.footer-columns .wp-block-column {
    max-width:250px;
}
.wp-block-column.is-vertically-aligned-center {
    width: unset;
}

/* logos on footer*/
.gb-grid-wrapper-c883be28 {
    display: flex;
    flex-wrap: wrap;
    text-align: center !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    justify-content: space-evenly;
}
.gb-grid-wrapper-c883be28 > .gb-grid-column {
    box-sizing: border-box;
    vertical-align: middle;
    display: flex;
    justify-content: center;
    align-items: center;
}


/* =========================== FOOTER =========================== */

.footer .wp-block-site-logo {
  margin-bottom: 1.5em;

}

#content .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: auto;
  flex-grow: 1;
}

/* ==================== ABOUT ============================ */

:where(.wp-block-columns.is-layout-flex):not(.footer .wp-block-columns.is-layout-flex) {
  gap: 64px;
}

.check-list li:before {
   font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f00c";
}
.bullet-list-center {
  display:inline-block;
  text-align: left;

}
.check-list.white-text.body li {
  color:var(--base);
  font-size: var(--c-body);
  line-height: 1.8;
  font-weight: normal;
}
.check-list.white-text.body li:before {
  color:var(--base);
} 



/* ==================== SERVICES PAGE ============================ */

.services {
  display:grid!important;
  grid-template-columns: 3.3fr 3.3fr 3.3fr;
  gap:40px!important;

}

.services.two-col-grid {
  grid-template-columns: 5fr 5fr;
}
.full-width-col {
  width:100%!important;
}

.service-card {
  background: var(--base-3);
  padding: 36px;
  text-align: center;
  border-radius:12px;
  position: relative;
}
.service-card ul li {
  text-align: left;
}
.service-card h2, .service-card figure {
  text-align: center;
  font-size: var(--c-headline-h4);
}
.bottom-24 {
  bottom: 24px;
}
.service-card h2 {
  min-height:50px;
  margin-top:48px;
}
.service-card p:not(.tax-service-category .service-card p.gb-button-btn-red) {
  text-align: left;
  margin-bottom:80px;
}

.service-card .gb-button-btn-red:not(.tax-service-category .service-card .gb-button-btn-red), .service-card .gb-button-btn-red:hover:not(.tax-service-category .service-card .gb-button-btn-red:hover) {
  display: block;
  border: var(--accent-2);
  background: var(--base);
  font-size: 17px;
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translate(-50%);
  width: 215px;
}
.service-card .gb-button-btn-red a {
  color:var(--contrast-4);
  font-family: ;
}

.service-card .gb-button-btn-red a:hover {
  border-bottom: 2px solid var(--accent-2);
  padding-bottom:4px;
}

.service-card .gb-button-btn-red :before, .service-card a.gb-button-btn-red:before {
  content: '\f054 \f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right:3px;
}

.service-card p.gb-button-btn-red  {
  font-family:Open Sans, sans-serif;
  font-size:17px;
  font-weight: 600;
}

.tax-service-category .service-card .gb-button-btn-red {
  display: block;
  border: var(--accent-2);
  background: var(--base);
  font-size: 17px;
}
.tax-service-category .btn-container {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translate(-50%);
  width:60%;
}
.tax-service-category .btn-container p {
  padding-bottom:12px;
  margin-bottom:0;
}

.tax-service-category .service-card p.gb-headline-text:not(.tax-service-category .btn-container p) {
  margin-bottom: 104px;
}


/* category icons */
.service-card figure:not(.full-thumb figure) {
  width: clamp(6.875rem, 5.7386rem + 4.8485vw, 9.375rem);
  height: clamp(6.875rem, 5.7386rem + 4.8485vw, 9.375rem);
  border: 2px solid var(--contrast-4-transp);
  border-radius: 100px 100px;
  text-align: center;
  padding: clamp(1rem, 0.7727rem + 0.9697vw, 1.5rem);;
  margin-right: auto;
  margin-left: auto;
}
.service-card figure a {
  display:inline-block;

}

.service-card .svg-icons {
  fill: var(--contrast-4-transp);
  width: clamp(4.6875rem, 3.9773rem + 3.0303vw, 6.25rem);
  height: clamp(4.6875rem, 3.9773rem + 3.0303vw, 6.25rem);
}
.featured-image {
  height:auto;
  overflow:hidden;
  margin-bottom: clamp(2rem, -0.0455rem + 8.7273vw, 6.5rem);
}
.featured-image img {
  width:100%;
  height: auto;
  max-width:1200px;
  object-fit: cover;

}

.service-card {
	.service-learnmore-btn {
		position: absolute;
		bottom: 30px;
		left: 0;
		right: 0;
	}
}

/*
.gb-container-33665fc7, .narrow-container {
  width: clamp(20.625rem, 9.2614rem + 48.4848vw, 45.625rem)!important;
  margin: auto auto;
}



/* Single Service Page */
.service-template-default .site-footer {
	margin-top: 0 !important;
}

.single-service .sub-head-h2 {
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
}

/* GBP Service Page */

.distribute-evenly-vertically {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
}

p.gb-headline.caption {
  font-size: 14px;
  line-height:22px;
  font-style: italic;
  padding-top:16px;
  padding-bottom:0;
}
p.gb-headline.caption.caption-w-line {
  border-top: 2px dotted var(--accent-2);

}

/* Service Category page with multiple posts */

/* Analytics & Search Console Page */

.go-back-btn {
  background-color: transparent;
  color: var(--accent-2);
  border: none;
  margin-bottom: 40px;
  padding:0;
  align-items: center;
  line-height: 1;
	
	svg {
		margin-right: 5px;
	}
}

.go-back-btn:hover {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 5px;
  background-color: transparent!important;
  color: var(--accent-3);
}

body.single-service .service-card p.gb-headline {
  color:var(--accent-2);
  margin-bottom:24px!important;
  font-size: clamp(1.1875rem, 1.0455rem + 0.6061vw, 1.5rem);
  line-height: clamp(1.5rem, 1.3295rem + 0.7273vw, 1.875rem);;
}


img.contact-us-feat-img {
  margin-top: -70px;
  max-width: 60%;
  margin-left: auto;
  margin-right: auto;
}

figure.gb-block-image-178f09ff {
  margin: 0;
  object-position: center;
  text-align: center;
}

.gb-grid-column-7df36170 {
  margin-top:-200px;
}

.industries-container {
  margin-top:-600px;
}
.about-bull {
  margin-top: -75px;
}

.about-left-col {
  margin-left:88px;
  width:750px;
}

.about-left-col h1 {
  margin-bottom: 0;
}
.about-left-col .has-accent-2-color p {
  line-height: 0;
}

.about-p-container {
  margin-left:150px;
}

.about-p-container-2 {
  margin-left:238px;
  max-width:611px;
}

.about-pg-top-cont {
  padding-top:0;
  padding-bottom:0;
}
.gb-container-50858c85 {
  padding-bottom:0;
}

/* Lead Forms */

.lead-form button.wsf-button {
  font-weight: 800;
  font-size: 20px;
  margin-top: 32px;
}
img.svg-drop-shadow {
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}
.lead-form-container, .col-space-between {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
}

/* ==================== BULLBUDDY LANDING PAGE ============================ */

.outline-text {
  -webkit-text-stroke: 7px var(--accent);
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));

}
.fix-stroke {
  paint-order: stroke fill;

}

.outline-text.large-stroke {
  -webkit-text-stroke: 10px var(--accent);
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5));
}

.dollar {
  font-size: 50%;
  position: relative;
  top:-.6em;
  margin-right:8px;
}


h1.outline-text.large-stroke {
  line-height: .45em;
  margin-left: clamp(-1.25rem, -1.5341rem + 1.2121vw, -0.625rem);
  margin-bottom: clamp(1.5rem, 2.0682rem + -2.4242vw, 0.25rem);

}
h1.gb-headline-0158719c {
font-size: clamp(9.375rem, 7.2443rem + 9.0909vw, 14.0625rem);
}

.drk-blue-bkd {
  background-color: var(--contrast-5);
  margin-top: 8px !important;
  padding-bottom: 0;
  border-radius: 0 0 20px 20px;
  line-height: 1.2;
  padding-top: 8px;
}

.gb-grid-column-80bb832b {
  background-color: #4C93ABAD;
  border-radius: 40px;
  border: 8px solid var(--contrast-5);
  filter: drop-shadow(5px 15px 15px rgba(0, 0, 0, 0.5));
}

body.page-id-1701 .site-footer {
  margin-top:0px !important;
}
h1.gb-headline-1a1d5a8f {
  font-size: clamp(3rem, 1.9773rem + 4.3636vw, 5.25rem);
  line-height: clamp(3rem, 2.375rem + 2.6667vw, 4.375rem);
}
ol li {
  margin-bottom: 16px;
}

.drk-bkd-link a {
  color:white;
}
.drk-bkd-link a:hover {
  color:white;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ------ 404 Page ----- */
.error404 .site-content,
.search .site-content {
    max-width: calc(1200px + 48px);
	margin: 0 auto;
	padding: 80px 24px 160px !important;
	
	header {
		padding-left: 0;
		padding-right: 0;
	}
	
	.entry-title a {
		color: var(--contrast-4);
	}
	
	h1 {
		margin-bottom: 24px;
	}
	
	form {
		margin-top: 30px;
	}
}

.search .site-content {
	article {
		&:not(:last-child) {
		 margin-bottom: 24px;				
	   }
		
		h2 {
			margin-bottom: 10px;
		}
	}
}

body.single-service,
body.single-vertical{
	.block-header{
	  z-index: 4;
	  background-color: var(--contrast-5);
	}
	
	.wp-block-site-logo a {
		background-image: url(/wp-content/uploads/2023/10/Visibull-V-logo-white-final.svg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		display: inline-block;
		width: 70px;
	}
	
	/* Hide the original <img> but keep its layout */
	.wp-block-site-logo a img{
	  opacity: 0;
	}
	
	.block-header ul.gb-menu li a {
	  color:var(--base-3);
	}

	.block-header ul.gb-menu li a:hover {
	  color:var(--accent);
	}
	
	.main-navigation ul ul {
		background-color: var(--contrast-5);
	}
	
	.gb-hero-video > *{
	  position: relative;
	  z-index: 2;
	}
	.hero-bkgd{
	  height: auto;
	  overflow: visible; /* only if something is clipping */
	}
	
	.block-header {
		.gb-menu-toggle {
			background-color: transparent;
			color: var(--base);
		}
	}
}

body.single-service #page.grid-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	
		
	.gb-hero-video{
	  position: relative;
	  overflow: hidden;
	}

	.gb-hero-video::before{
	  content: "";
	  position: absolute;
	  inset: 0;
	  background: var(--contrast-5);
	  opacity: 0.8; /* adjust */
	  z-index: 1;
	  pointer-events: none;
	}
}

body.single-vertical {
	#page.grid-container {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;	

		.testimonial-content {
			margin-top: 0;
		}
	}
	
	.site-footer {
		margin-top: 0 !important;
	}
	
	.gb-loop-item {
		.card-title {
			color: var(--contrast-4);			
			font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.25rem);
			font-weight: 700;
			margin: 0 0 0.875rem;
			line-height: 1.3;
		}
		
		.card-description {
			color: var(--contrast-4);
			font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);
			line-height: 1.6;
			text-align: left;
		}
	}
}



/*========================= MANUFACTURING PAGE ================================*/
.mfg-pain-tiles {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.mfg-pain-tile {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
	
	&:not(last-child) {
		margin-bottom: 60px;
	}
}
.mfg-pain-tile.flip-1 {
    flex-direction: row-reverse;
}

.mfg-pain-tile__media {
    flex: 1 1 35%;
    min-width: 0;
}

.mfg-pain-tile__content {
    flex: 1 1 65%;
    min-width: 0;
	
	h3 {
		margin-bottom: 30px;
		line-height: 1.5;
        letter-spacing: 0.01em;
	}
}

.mfg-pain-tile__media img {
    width: 100%;
    height: auto;
    display: block;
}



.mfg-services {
    padding: 60px 20px;
}
.mfg-services__header {
    text-align: center;
    margin-bottom: 50px;
}
.mfg-services__eyebrow {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 12px;
}
.mfg-services__heading {
    font-size: 2.25rem;
    line-height: 1.2;
    margin: 0;
}
.mfg-services__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
    max-width: 1200px;
    margin: 0 auto;
}
.mfg-service-card__heading-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.mfg-service-card__icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    object-fit: contain;
}
.mfg-service-card__heading {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}
.mfg-service-card__description {
    color: #555;
    line-height: 1.6;
    margin: 0;
}


.LargeWhiteHeadline * {
  /*font-size:64px;*/
  font-size: clamp(1rem, -0.3636rem + 5.8182vw, 4rem);
  line-height: 1.2;
  font-weight: bold;
  color: var(--base-3);
}


/* Process Steps */
.step-description p:last-child {
    margin-bottom: 0;
}
.process-step-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

/* Right column: Description */
.process-step .step-description {
    font-size: 1rem;
    line-height: 1.6;
}

/* Optional: divider between steps */
.process-step + .process-step {
    border-top: 1px solid var(--contrast-3, #e5e7eb);
    padding-top: 2em;
}

/**START: Trusted By**/

.trusted-by {
	figure.gb-block-image {
		text-align: center;
		
		img {
			height: 70px;
		}
	}
	
}

/**END: Trusted By**/


/**START: Features List**/
.features-two-columns ul {
    column-count: 2;
    column-gap: 40px;
    list-style-position: inside;
    padding: 0;
    margin: 0;
}

.features-two-columns ul li {
    break-inside: avoid;
    margin-bottom: 0.5em;
	text-align: left;
}

.features-two-columns ul li p {
    margin: 0;
    display: inline;
}
/**END: Features List**/


/** FAQ Section **/
.faq-section {
	.gb-loop-item {
		&:last-of-type .gb-accordion__item {
			border-bottom: none;
		}
		
		a { color: var(--base-2); }
	}
}



/** Manufacturing Process Steps Section **/
.manufacturing-build-process {
	.gb-grid-wrapper {
		position: relative;
		margin-left: 0;

		&:before {
			content: '';
			position: absolute;
			top: 36px;
			left: 60px;
			right: 60px;
			height: 3px;
			background: linear-gradient(90deg, rgba(76, 147, 171, 0.1), rgba(76, 147, 171, 0.3), rgba(172, 40, 0, 0.3));
			z-index: -1;
			
			@media(max-width: 768px) {
				display: none;
			}
		}
		
		.gb-grid-column {
			padding-left: 15px;
			padding-right: 15px;
		}
	}
	
	.v-process-section {
		padding: 2rem 1.5rem 3rem;
		color: var(--base-3);
	}

	/* Steps list (desktop) */
	.v-process-section__steps {
		list-style: none;
		counter-reset: process-step;
		padding: 0;
		margin: 0 auto;
		max-width: 1200px;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 2rem;
		position: relative;
	}

	/* Horizontal connecting line behind the circles */
	.v-process-section__steps::before {
		content: '';
		position: absolute;
		top: 30px;
		left: 10%;
		right: 10%;
		height: 3px;
		background: linear-gradient(90deg, rgba(76, 147, 171, 0.1), rgba(76, 147, 171, 0.3), rgba(172, 40, 0, 0.3));
		z-index: 0;
	}

	.v-process-step {
		counter-increment: process-step;
		text-align: center;
		position: relative;
		z-index: 1;
	}

	.v-process-step__number {
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: 2px solid var(--accent-2);
		background-color: var(--contrast-5);
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto 1.5rem;
		color: var(--accent-2);
		font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.625rem);
		font-weight: 600;
	}

	.v-process-step__number::before {
		content: counter(process-step);
	}

	.v-process-step__title {
		font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
		font-weight: 700;
		margin: 0 0 0.75rem;
		color: var(--base-3);
	}

	.v-process-step__description {
		font-size: clamp(0.875rem, 0.8rem + 0.25vw, 0.9375rem);
		line-height: 1.6;
		margin: 0;
	}

	/* Last step — red treatment */
	.v-process-step:last-child .v-process-step__number {
		border-color: #ac2800;
		color: #ac2800;
	}

	/* Mobile (≤767px): stack vertically */
	@media (max-width: 767px) {
		.v-process-section {
			padding: 3rem 1.25rem;
		}

		.v-process-section__head {
			margin-bottom: 2.5rem;
		}

		.v-process-section__steps {
			grid-template-columns: 1fr;
			max-width: 340px;
			gap: 2.5rem;
		}

		/* Hide horizontal line — it doesn't make sense in a vertical stack */
		.v-process-section__steps::before {
			display: none;
		}

		.v-process-step__number {
			margin-bottom: 1rem;
		}
	}
}




/** Timeline **/
.timeline {
	.timeline-grid {
		position: relative;
	}
	
	.timeline-icon {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 1;
		
		&:after {
			content: "";			
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
			width: 2px;
			height: 100%;
			display: block;
            margin: 0 auto;
			background-color: var(--contrast-4);
			z-index: -1;
		}
	}
	
	.timeline-block {
		&:last-child {
			.timeline-icon:after {
				display: none;
			}
		}
		
		h3 {
			font-size: clamp(1.5rem, 1.3864rem + 0.4848vw, 1.75rem);
		}
	}
	
	@media(max-width: 1024px) {
		.gb-container + .gb-container {
			margin-top: 80px;
		}
		
		.timeline-block {
			
		}
		
		.timeline-icon {
			position: relative;		
			margin-top: -40px;
			margin-bottom: 0;
			
			&:after {
				display: none;
			}
		}
		
		.timeline-block-textimage {
			.gb-grid-column {
				&:first-child {
					order: 2;
					margin-top: -40px;
				}
				
				&:nth-child(2) {
					order: 1;
				}
			}
		}
		
		.timeline-block-imagetext {
			.gb-grid-column {
				&:last-child {					
					margin-top: -40px;
				}
			}
		}
		
		.timeline-image {
			
		}
		
		
		
	}
	
	
	@media(max-width: 767px) {

		.timeline-block {
			h4 {
				font-size: clamp(1rem, 0.4318rem + 2.4242vw, 2.25rem);
			}			
		}
		
		.timeline-icon {
			margin-top: -20px;
		}
		
	}
}


.cost-divider {
	border: none;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(76, 147, 171, 0.3), transparent);
    margin: 8px 0;
}


/*** Costing Section ***/

.cost-stats__heading {
  color: #4a9eff;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.8125rem;
  font-weight: 600;
  margin: 0 0 1.75rem;
}

.cost-stats__list {
  display: flex;
  flex-direction: column;
  color: var(--base);
}

.cost-stats__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);

	.cost-stats__row-item {
		width: 100%;
		margin-bottom: 0;
	}
	
	@media(max-width: 767px) {
		flex-flow: column;
		gap: .5rem;
		text-align: center;
	}
}

.cost-stats__row:last-child {
  border-bottom: none;
}

.cost-stats__label {
  font-size: 1rem;
  line-height: 1.4;
	
	@media(max-width: 767px) {
		text-align: center;
	}
}

.cost-stats__value {
  font-size: 1.375rem;
  font-weight: 700;
  white-space: nowrap;
}

/* Color variants — values come from the ACF Select */
.cost-stats__row[data-color="negative"] .cost-stats__value { color: #ef4444; }
.cost-stats__row[data-color="positive"] .cost-stats__value { color: #22c55e; }
.cost-stats__row[data-color="highlight"] .cost-stats__value { color: #4a9eff; }
.cost-stats__row[data-color="neutral"]  .cost-stats__value { color: var(--base-3); }

/* The "ROI in year one" treatment — heavier label on highlight rows */
.cost-stats__row[data-color="highlight"] .cost-stats__label {
  font-weight: 700;
}



/* Failure Section */
.failure-section {

}
.failure-section__accent {
  color: #4C93AB; /* matches your blue from the Costing card */
}


.failure-section__intro {
  color: #1f2937;
  font-size: 1rem;
  margin: 0;
}

.failure-section__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.failure-card {
  background: var(--base-3);
  border-radius: 12px;
  padding: 1.5rem;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  height: 100%;
}

.failure-card__icon {
  width: 65px;
  height: 65px;
  margin-bottom: 1.5rem;
}

.failure-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/***** Vertical's Three-Grid Section *****/
.v-three-grid-section {
}

.v-three-grid-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  max-width: 1200px;
  margin: 0 auto;
}

.v-three-grid-card {
  background: var(--base-3);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.v-three-grid-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e5e7eb;
}

.v-three-grid-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.v-three-grid-card__body {
  padding: 1.5rem 1.75rem 2rem;
}


/****** Vertical's Three-Grid Section X2 ******/
.v-three-grid-x2-section {
  
}

.v-three-grid-x2-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  max-width: 1200px;
  margin: 0 auto;
}

.v-three-grid-x2-card {
  background: var(--base-3);
  border-radius: 14px;
  padding: 2rem 1.75rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
}

.v-three-grid-x2-card__icon {
  width: 45px;
  height: 45px;
  margin-bottom: 1.25rem;
}

.v-three-grid-x2-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}


/****** Why Choose Section *******/
.v-why-choose-section {
	
	.v-why-choose-section__grid {
	  display: grid;
	  grid-template-columns: repeat(2, 1fr);
	  gap: 1.75rem;
	  max-width: 1200px;
	  margin: 0 auto;
	}

	.v-why-choose-card {
	  background: var(--base-3);
	  border-radius: 14px;
	  padding: 2rem 2.25rem;
	  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	  display: flex;
	  flex-direction: column;
	}

	.v-why-choose-card__icon {
	  width: 45px;
	  height: 45px;
	  margin-bottom: 1.5rem;
	}

	.v-why-choose-card__icon img {
	  width: 100%;
	  height: 100%;
	  object-fit: contain;
	  display: block;
	}

	
	@media (max-width: 767px) {
	  .v-why-choose-section__grid {
		grid-template-columns: 1fr;
		max-width: 480px;
	  }
	}
}




@media only screen and (max-width: 1024px) {

  .inside-header {
    padding: 32px 20px 28px 20px;
}

  .outer-cont-w-lft-rt-padding {
    padding-left: clamp(1rem, 0.3182rem + 2.9091vw, 2.5rem);
    padding-right: clamp(1rem, 0.3182rem + 2.9091vw, 2.5rem);
  }

  .header-wrap .site-header {
    background: transparent;
    padding-left: 20px;
    padding-right: 20px;
  }
  .container.grid-container:not(.home .container.grid-container) {
    padding: 0 40px;
  }
  #generate-slideout-menu .site-logo {
    max-width: 180px;
  }
  #generate-slideout-menu .site-logo img {
    width: 180px;
    height:180px;
  }

  .slideout-navigation.do-overlay .menu-item-has-children .dropdown-menu-toggle {
    border-left: 0;
  }

  .gb-container-538e3b36{
    padding-top:90px!important;
  }
  body .stack-col-on-mobile {
    display:block;
  }
  p.gb-headline-1a42e0fd {
    text-align: center;
  }
  p.teaser-2 {
    margin-top: 40px;
  }

  .gb-container-538e3b36 {
    padding-bottom:0;
  }
 /* .mobile-break {
    display:block!important;
    line-height: 0;
  }*/
  .home h1, .home h1 .five-vw {
    font-size: clamp(1.75rem, 1.2955rem + 1.9394vw, 2.75rem);
  }
  p.large-p {
    margin-bottom: 0;
    margin-top: 0;
  }
  .large-p {
    font-size: 6.5vw;
    display:flex;
  }
  .large-p p, span.blue {
    display:inline-flex;
    align-items: center;
  }

  p.gb-headline-93e9c101 {
    line-height: 41px !important;
  }
  .bracket::before, .bracket::after  {
    width: 4vw;
    height:auto;
    align-items: center;
  }
  .gb-grid-wrapper-ddc97030 {
    margin-top: 54px;
    margin-left:0;
    width:100%;
  }
  .gb-grid-wrapper-ddc97030 > .gb-grid-column {
    padding-left: 0;
  }
  .gb-grid-wrapper > .gb-grid-column-a3e40e84 {
      width: 65%;
  }
  .gb-grid-wrapper > .gb-grid-column-bbbc3f5c {
    width: 40%;
    margin-left: -75px;
  }
  .gb-image-38a6225a {
    width: 100%;
  }

  .gb-block-image-38a6225a img {
    max-width: 100%;
  }

  .gb-grid-wrapper-d6670203 {
    margin-top:5vh;
  }
  .gb-container-contained-width:not(.site-footer .gb-container-contained-width) {
    padding-top: 5vh;
    padding-bottom: 5vh;
  }

  ul.x-checkbox-list, ul.checkbox-list {
    margin: 0 auto 0 5.5vw;
  }

  .gb-container-8a615fd8, .gb-container-5bb47e66 {
    padding-top:24px!important;
    padding-bottom:0!important;
  }

  .gb-headline-cbb0c873 {
    margin-top:0!important;
  }
  p.gb-headline-71507e75 {
      font-size: clamp(2rem, 1.5455rem + 1.9394vw, 3rem);
      line-height: 7vw;
  }

  .gb-grid-wrapper.column-reverse {
      flex-direction: column-reverse;
  }
  .gb-container-fb5ea59b.be-seen-inner.gb-container-contained-width{
    padding-bottom:0;
  }
  .be-seen-inner ul.checkbox-list {
    margin:0;
  }
  .be-seen-inner p.x-large-p {
    text-align: left;
  }

p.x-large-p {
  font-size: 10vw;
  text-align: center;
  font-weight: 800;
  font-family: var(--headline-font);
}

.gb-image-d9c27412 {
  border-bottom: 9px solid black;
}
.gb-container-05089299 {
  margin-top: 5vh;
}

.hide-mobile {
  display:none;
}

.our-clients .rt-col, .our-clients .rt-col ul {
  width:fit-content!important;
  margin:auto;
}
p.teaser-2 {
  font-size: 10vw;
}
.footer-columns .wp-block-column {
  max-width: 100%;
}

.gb-image-b687c20d {
  height: 24px;
}
.gb-image-2f6fa344 {
  height: 55px;
}
.gb-image-9139cf84 {
  height: 75px;
}
.gb-container-fw-pad-topbot {
  padding-top: 5vh;
}

.gb-container-0ce344f4 {
  padding-left: 0;
}
/*.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: wrap !important;
  justify-content: center;
}
.footer-columns .is-layout-flex {
  flex-wrap: wrap!important;
}

/* Services Pages */

.featured-image {
  height: auto;
  overflow: hidden;
  margin-bottom: clamp(2rem, -0.0455rem + 8.7273vw, 6.5rem);
}

.service .entry-content {
  padding: 0 16px;
}

.services {
  grid-template-columns: unset;
  gap: 40px !important;
}
	
.gb-container-33665fc7, .gb-container-5669a9c6  {
  width: clamp(20.625rem, 9.2614rem + 48.4848vw, 45.625rem)!important;
  margin: auto auto;
}


/* About Page */

.industries-container {
  margin-top: 0px;
}
.about-left-col, .about-p-container-2, .about-p-container {
  margin-left: 0;
  width: 100%;
}

.gb-grid-column-7df36170 {
  margin-top: -200px;
}
.gb-grid-column-7df36170 {
  margin-top: -90px;
}
.about-left-col p.has-accent-2-color, .gb-container-50858c85  {
  margin-bottom:0px;
  padding-bottom:0px;
}

.about-rt-col-who .large-p {
  margin-bottom: 16px;
}
.about-bull {
  margin-top: -95px;
}
.about-rt-col-who figure, .gb-grid-column-94eb7272, .gb-container-94eb7272, p.gb-headline-1c094bf8 {
  text-align: center!important;
}


.last-element {
  margin-bottom:40px!important;
}
.no-padding-mobile {
  padding:0 16px!important
}

body.single-service h1 {
  text-align: center;
}

.tax-service-category .services.two-col-grid, .single-service .services.two-col-grid {
  grid-template-columns: auto;
}

/* SITE Footer */


/* BULL BUDDY PAGE */

  .gb-grid-wrapper > .gb-grid-column-64bad024 {
    width: auto;
    margin: auto;
  }

  .gb-grid-wrapper-6b9b74f4 {
    display: block;
    width: 85%;
  }
  .gb-grid-wrapper > .gb-grid-column-80bb832b {
    width: 75%;
    margin: auto;
  }

  .gb-container-c975500b {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .gb-container-85e56a7e { padding-right: var(--vb-gutter); padding-left: var(--vb-gutter); padding-bottom: 48px; }
  h1.outline-text.margin-below {
    margin-bottom:24px!important;
  }
  h1.outline-text.fix-stroke {
    text-align: center!important;
  }
  .footer li.wp-block-navigation-item.wp-block-navigation-link:not(.social-media-icons li.wp-block-navigation-item.wp-block-navigation-link) {
      font-size: var(--text-s);
      text-align: left;
    }
  .footer h3 {
    font-size: var(--c-headline-h5) !important;
    text-align: left;
  }
  .gb-container-contained-width {
    padding-top: 0;
  }

	/**START: Trusted By**/
	
	.trusted-by {
		figure.gb-block-image {
			img {
				height: 45px;
			}
		}
	}
	
	/**END: Trusted By**/
	
	/**START: Process Steps**/
	.process-step {
        grid-template-columns: 1fr;
    }
    
    .process-step .step-label {
        text-align: center;
        justify-content: center;
        padding-right: 0;
        column-gap: 0.5em;
        flex-shrink: 0;
    }
		
	.process-step .step-text {
		flex-grow: 0;
	}
	/**END: Process Steps**/
	
	
	.mfg-services__grid { grid-template-columns: repeat(2, 1fr); }
}

@media only screen and (max-width: 820px) {


  p.gb-headline-71507e75 {
    font-size: clamp(2rem, 1.5455rem + 1.9394vw, 3rem);
    line-height: 5vw;
    width: 65%;
  }
  /* Be Seen -homepage */
  .gb-grid-wrapper > .gb-grid-column-f18bb734 {
    width: 40%;
  }
  .gb-grid-wrapper > .gb-grid-column-05089299 {
      width: 60%;
  }
  .gb-image-d9c27412 {
    height: auto;
  }
    .home h1, .home h1 .five-vw {
      font-size: 28px;
  }
	
	.hero__overlay {
		background-attachment: scroll;
	}
		
	/**START: Features List**/	
    .features-two-columns ul {
        column-count: 1;
    }
	/**END: Features List**/
	
	.v-three-grid-grid { 
		grid-template-columns: 1fr; 
		max-width: 480px; 
	}
	
	.v-three-grid-x2-grid { grid-template-columns: repeat(2, 1fr); }

	
}


@media only screen and (max-width:768px) {

    .home h1, .home h1 .five-vw {
        font-size: 26px;
    }
    .wp-block-columns.hp-logos {
      text-align: center;
    }
    .hp-logos.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: unset!important;
    }
	
	.LargeWhiteHeadline * {
	  font-size: 40px;
	  line-height: 1.2;
	}
	
	.process-step .step-label {
        font-size: 40px;
        text-align: center;
    }
	
	.mfg-pain-tile,
    .mfg-pain-tile.flip-1 {
        flex-direction: column;
    }
	
	.mfg-services__grid { grid-template-columns: 1fr; }
	
	.mobile-flex {
		display: flex;
		flex-wrap: wrap;
	}
	
	.failure-section__grid { grid-template-columns: 1fr; }
	
	.v-three-grid-x2-grid { grid-template-columns: 1fr; max-width: none; }

}



@media only screen and (max-width: 430px){

  .container.grid-container:not(.home .container.grid-container) {
    padding: 0 0px;
  }

  .narrow-container {
    width: 100% !important;
    margin: auto auto;
  }

  .center-text-mobile {
    text-align: center!important;
  }
  a.gb-button-44a91cb6 {
    margin-top: 32px;
    margin-bottom: 16px;
  }

  .gb-container-538e3b36{
    padding-top:90px!important;
  }
  body .stack-col-on-mobile {
    display:block;
  }
  p.gb-headline-1a42e0fd {
    text-align: center;
  }
  p.teaser-2 {
    margin-top: 40px;
  }

  .gb-container-538e3b36 {
    padding-bottom:0;
  }
  .mobile-break {
    display:block!important;
    line-height: 0;
  }
  .home h1, .home h1 .five-vw { 
    font-size: clamp(1.75rem, 1.2955rem + 1.9394vw, 2.75rem);
  }
  p.large-p {
    margin-bottom: 0;
    margin-top: 0;
  }
  .large-p {
    font-size: 6.5vw;
    display:flex;
  }
  .large-p p, span.blue {
    display:inline-flex;
    align-items: center;
  }
  .bracket::before, .bracket::after  {
    width: 4vw;
    height:auto;
    align-items: center;
  }

  .gb-grid-wrapper-d6670203 {
    margin-top:5vh;
  }
  .gb-container-contained-width:not(.site-footer .gb-container-contained-width) {
    padding-top: 5vh;
    padding-bottom: 5vh;
  }
ul.x-checkbox-list, ul.checkbox-list {
  margin: 0 auto 0 5.5vw;
}

.gb-headline-cbb0c873 {
  margin-top:0!important;
}
p.gb-headline-71507e75 {
  font-size: 8vw;
  line-height: 9vw;
}

  .gb-grid-wrapper.column-reverse {
      flex-direction: column-reverse;
  }

  .gb-grid-wrapper > .gb-grid-column-f18bb734 {
      width: 65%;
      margin: auto;
  }
  .gb-grid-wrapper > .gb-grid-column-05089299 {
      width: 100%;
  }    
  .be-seen-inner p.x-large-p {
      text-align: center;
  }

  .center-text-mobile {
  text-align: center!important;
}

p.x-large-p {
  font-size: 10vw;
  text-align: center;
  font-weight: 800;
  font-family: var(--headline-font);
}

.gb-image-d9c27412 {
  border-bottom: 9px solid black;
}
.gb-container-05089299 {
  margin-top: 5vh;
}

  .gb-grid-wrapper > .gb-grid-column-a3e40e84 {
      width: 100%;
  }
  .gb-grid-wrapper > .gb-grid-column-bbbc3f5c {
    width: 100%;
    margin-left: 9%;
  }

.hide-mobile {
  display:none;
}
.our-clients .rt-col, .our-clients .rt-col ul {
  width:fit-content!important;
  margin:auto;
}
p.teaser-2 {
  font-size: 10vw;
}
.footer-columns .wp-block-column {
  max-width: 100%;
}

.gb-image-b687c20d {
  height: 24px;
}
.gb-image-2f6fa344 {
  height: 55px;
}
.gb-image-9139cf84 {
  height: 75px;
}

.gb-container-fw-pad-topbot {
  padding-top: 5vh;
}
.gb-container-cfacf592 {
  padding:0!important;
}
.gb-container-0ce344f4 {
  padding-left: 0;
}
.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: wrap !important;
  justify-content: center;
}
.footer-columns .is-layout-flex {
  flex-wrap: wrap!important;
}

.gb-grid-wrapper-26868c7b {
    margin-left: 0;
}
.be-seen-inner.gb-container-contained-width {
  padding-left:0;
  padding-right:0;
}
.gb-grid-wrapper-26868c7b > .gb-grid-column {
    padding-left: 0;
}
.be-seen-inner ul {
  padding-left: 16px;
}

/* footer */

  .gb-grid-wrapper-d5e23187 > .gb-grid-column, .gb-grid-wrapper-d5e23187 {
    margin-left: 0px;
    padding-left: 0px;
  }
/* Services Pages */

.featured-image {
  height: auto;
  overflow: hidden;
  margin-bottom: clamp(2rem, -0.0455rem + 8.7273vw, 6.5rem);
}

.service .entry-content {
  padding: 0 16px;
}

.services {
  grid-template-columns: unset;
  gap: 40px !important;
}
.gb-container-33665fc7, .gb-container-5669a9c6, h1.services-h1  {
  width: clamp(20.625rem, 9.2614rem + 48.4848vw, 45.625rem)!important;
  margin: auto auto;
}


/* About Page */

.industries-container {
  margin-top: 0px;
}
.about-left-col, .about-p-container-2, .about-p-container {
  margin-left: 0;
  width: 100%;
}

.gb-grid-column-7df36170 {
  margin-top: -200px;
}
.gb-grid-column-7df36170 {
  margin-top: -90px;
}
.about-left-col p.has-accent-2-color, .gb-container-50858c85  {
  margin-bottom:0px;
  padding-bottom:0px;
}

.about-rt-col-who .large-p {
  margin-bottom: 16px;
}
.about-bull {
  margin-top: -95px;
}
.about-rt-col-who figure, .gb-grid-column-94eb7272, .gb-container-94eb7272, p.gb-headline-1c094bf8 {
  text-align: center!important;
}

.site-footer .wp-block-columns {
  margin-bottom: 0px;
}
.site-footer .gb-container-fw-pad-topbot {
  padding-bottom:40px;
}

.site-footer .gb-container-contained-width {
  padding-top: 40px;
}



.last-element {
  margin-bottom:40px!important;
}
.no-padding-mobile {
  padding:0 16px!important
}

body.single-service h1 {
  text-align: center;
}

.tax-service-category .services.two-col-grid, .single-service .services.two-col-grid {
  grid-template-columns: auto;
}

/* BULL BUDDY PAGE */

  .gb-grid-wrapper > .gb-grid-column-80bb832b {
    width: 100%;
    margin: auto;
  }

.gb-container-c975500b {
  display: flex;
  flex-direction: column;
  align-items: center;
}

  .gb-container-85e56a7e { padding-right: var(--vb-gutter); padding-left: var(--vb-gutter); padding-bottom: 48px; }
h1.outline-text.margin-below {
  margin-bottom:24px!important;
}

.site-footer .wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: none;
  display: block;
}
.site-footer .wp-block-columns.is-not-stacked-on-mobile h3 {
  text-align: center;
  margin-top:40px;
}
  .footer li.wp-block-navigation-item.wp-block-navigation-link:not(.social-media-icons li.wp-block-navigation-item.wp-block-navigation-link) {
    font-size: var(--text-s);
    text-align: center !important;
    display: block;
  }
  .site-footer .wp-block-navigation__container:only-child:not(.social-media-icons li.wp-block-navigation-item.wp-block-navigation-link), .wp-block-page-list:only-child {
  flex-grow: unset;
  display: block;
  width: 100%;
}

.site-footer ul.social-media-icons {
  display:flex!important;
}
  .footer .social-media-icons {
    width: 100%!important;
    margin: 1rem auto 1.5rem auto;
  }
  .foot-contact ul {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .foot-contact ul li {
    justify-content: space-between;
  }
  .footer .social-media-icons ul li {
  display: unset;
  }
	
	
	/**START: Trusted By**/
	
	.trusted-by {
		figure.gb-block-image {
			img {
				height: 60px;
				width: auto;
			}
		}
	}
	
	/**END: Trusted By**/

	
}


@media only screen and (max-width: 385px) {

  p.teaser {
    font-size: 22px;
  }
  .checkbox-list li, .x-checkbox-list li {
    font-size: 17px;
    line-height: 2.5rem;
  }

  .gb-grid-wrapper-d6670203 > .gb-grid-column {
      padding-left: 0;
  }

}









/* Reusable red CTA button (matches hero Start Today) */
.btn__red{display:inline-flex;align-items:center;background-color:var(--accent);color:#ffffff;padding:1rem 2rem;text-decoration:none;letter-spacing:1px;text-transform:uppercase;font-weight:600;box-shadow:0px 13px 20px -4px var(--contrast);border:1px solid var(--base-3);border-radius:10px;margin-top:40px;}
.btn__red:is(:hover,:focus){background-color:var(--contrast-1);color:#ffffff;}

/* ===== Case Study section (shortcode: visibull_case_study) ===== */
.vb-cs{background-color:var(--base-3);border-top:6px solid var(--accent);padding:88px var(--vb-gutter);}
.vb-cs__inner{max-width:var(--gb-container-width);margin-left:auto;margin-right:auto;}
.vb-cs__badge{display:inline-block;background-color:var(--accent);color:#ffffff;text-transform:uppercase;letter-spacing:3px;font-size:15px;font-weight:800;padding:10px 22px;border-radius:999px;margin:0 0 20px;box-shadow:0 8px 16px -6px rgba(172,40,0,.55);}
.vb-cs__kicker{text-transform:uppercase;letter-spacing:2px;font-size:15px;font-weight:700;color:var(--contrast-2);margin:0 0 10px;}
.vb-cs__headline{font-size:40px;line-height:1.2;font-weight:800;color:var(--contrast-5);margin:0 0 4px;}
.vb-cs__client{font-size:18px;font-weight:600;color:var(--contrast-2);margin:0 0 32px;}
.vb-cs__metrics{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.vb-cs__metrics li{background-color:var(--contrast-4);border-radius:12px;padding:24px 16px;text-align:center;display:flex;flex-direction:column;gap:6px;}
.vb-cs__metric-value{font-size:38px;line-height:1;font-weight:800;color:var(--base-3);}
.vb-cs__metric-label{font-size:14px;line-height:1.35;color:var(--base-3);opacity:.9;}
.vb-cs__body{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.vb-cs__subhead{font-size:22px;font-weight:700;color:var(--contrast-5);margin:0 0 8px;}
.vb-cs__text{margin:0 0 28px;}
.vb-cs__text p{margin:0 0 12px;}
.vb-cs__text ul{margin:0 0 12px;padding-left:1.25rem;}
.vb-cs__text li{margin-bottom:6px;}
.vb-cs__figure{margin:0;position:sticky;top:120px;}
.vb-cs__figure img{width:100%;height:auto;border-radius:12px;border:1px solid var(--contrast-3);box-shadow:0 13px 20px -4px rgba(0,0,0,.25);}
.vb-cs__figure figcaption{font-size:14px;color:var(--contrast-2);margin-top:10px;line-height:1.4;}
.vb-cs__quote{margin:48px 0 0;padding:24px 28px;border-left:5px solid var(--accent);background-color:var(--base-2);border-radius:0 12px 12px 0;}
.vb-cs__quote p{font-size:19px;line-height:1.5;font-style:italic;color:var(--contrast);margin:0 0 10px;}
.vb-cs__quote cite{font-style:normal;font-weight:700;color:var(--contrast-5);font-size:16px;}
@media (max-width:1024px){
  .vb-cs__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vb-cs__body{grid-template-columns:1fr;gap:32px;}
  .vb-cs__figure{position:static;}
  .vb-cs__headline{font-size:32px;}
}
@media (max-width:767px){
  .vb-cs{padding:56px var(--vb-gutter);}
  .vb-cs__metrics{grid-template-columns:1fr;}
  .vb-cs__headline{font-size:28px;}
  .vb-cs__metric-value{font-size:32px;}
}
/* ===== Packages / pricing tiers (shortcode: visibull_packages) ===== */
.vb-pkg{background-color:var(--base-2);padding:88px var(--vb-gutter);}
.vb-pkg__inner{max-width:var(--gb-container-width);margin-left:auto;margin-right:auto;}
.vb-pkg__heading{font-size:40px;line-height:1.2;font-weight:800;color:var(--contrast-5);text-align:center;margin:0 0 10px;}
.vb-pkg__subheading{font-size:18px;color:var(--contrast-2);text-align:center;max-width:860px;margin:0 auto 48px;text-wrap:pretty;}
.vb-pkg__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;}
.vb-pkg__card{position:relative;background-color:var(--base-3);border:1px solid var(--contrast-3);border-radius:14px;padding:32px 26px;display:flex;flex-direction:column;height:100%;}
.vb-pkg__card.is-highlight{border:2px solid var(--accent);box-shadow:0 18px 34px -14px rgba(0,0,0,.35);}
.vb-pkg__flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background-color:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;padding:6px 16px;border-radius:999px;white-space:nowrap;}
.vb-pkg__name{font-size:26px;font-weight:800;color:var(--contrast-5);margin:0 0 6px;}
.vb-pkg__tagline{font-size:17px;line-height:1.4;font-style:italic;font-weight:600;color:var(--contrast-4);margin:0 0 20px;min-height:48px;}
.vb-pkg__items-label{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;color:var(--contrast-2);margin:0 0 12px;}
.vb-pkg__price{margin:0 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;}
.vb-pkg__prefix{font-size:14px;color:var(--contrast-2);width:100%;}
.vb-pkg__amount{font-size:42px;line-height:1;font-weight:800;color:var(--contrast-4);}
.vb-pkg__period{font-size:16px;color:var(--contrast-2);}
.vb-pkg__note{font-size:13px;line-height:1.4;color:var(--contrast-2);margin:8px 0 22px;}
.vb-pkg__items{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:10px;flex-grow:1;}
.vb-pkg__items li{position:relative;padding-left:26px;font-size:15px;line-height:1.45;color:var(--contrast);}
.vb-pkg__items li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background-color:var(--accent-2);
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 8.4l2.6 2.6L12 5.6'/%3E%3C/svg%3E");
  background-size:14px 14px;background-position:center;background-repeat:no-repeat;}
.vb-pkg__items a{color:var(--contrast-4);text-decoration:underline;text-underline-offset:2px;}
.vb-pkg__items a:is(:hover,:focus){color:var(--accent);}
.vb-pkg__item-note{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--contrast-2);margin-left:6px;}
.vb-pkg__cta{display:inline-flex;justify-content:center;align-items:center;background-color:var(--accent);color:#fff;padding:.9rem 1.5rem;text-decoration:none;letter-spacing:1px;text-transform:uppercase;font-weight:600;border-radius:10px;margin-top:auto;}
.vb-pkg__cta:is(:hover,:focus){background-color:var(--contrast-1);color:#fff;}
.vb-pkg__footnote{font-size:14px;line-height:1.5;color:var(--contrast-2);text-align:center;max-width:760px;margin:36px auto 0;}
@media (max-width:1024px){
  .vb-pkg__grid{grid-template-columns:1fr;gap:32px;}
  .vb-pkg__tagline{min-height:0;}
  .vb-pkg__heading{font-size:32px;}
  .vb-pkg__flag{position:static;transform:none;display:inline-block;margin-bottom:12px;}
}
@media (max-width:767px){
  .vb-pkg{padding:56px var(--vb-gutter);}
  .vb-pkg__heading{font-size:28px;}
  .vb-pkg__amount{font-size:36px;}
}
/* Packages: hours band, shared levers, consulting aside */
.vb-pkg__hours{background-color:var(--contrast-4);color:var(--base-3);border-radius:10px;padding:16px 18px;margin:0 0 20px;display:block;}
.vb-pkg__card.is-highlight .vb-pkg__hours{background-color:var(--accent);}
.vb-pkg__hours-value{display:block;font-size:30px;line-height:1;font-weight:800;}
.vb-pkg__hours-note{display:block;font-size:13px;line-height:1.4;margin-top:6px;opacity:.92;}
.vb-pkg__price{margin:0 0 20px;}
.vb-pkg__levers{margin-top:56px;background-color:var(--base-3);border:1px solid var(--contrast-3);border-radius:14px;padding:36px 32px;}
.vb-pkg__levers-heading{font-size:26px;font-weight:800;color:var(--contrast-5);margin:0 0 10px;}
.vb-pkg__levers-intro{font-size:16px;line-height:1.6;color:var(--contrast-2);margin:0 0 24px;max-width:780px;}
.vb-pkg__levers-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;}
.vb-pkg__levers-list li{position:relative;padding-left:26px;font-size:15px;line-height:1.45;color:var(--contrast);}
.vb-pkg__levers-list li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background-color:var(--accent-2);
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 8.4l2.6 2.6L12 5.6'/%3E%3C/svg%3E");
  background-size:14px 14px;background-position:center;background-repeat:no-repeat;}
.vb-pkg__levers-list a{color:var(--contrast-4);text-decoration:underline;text-underline-offset:2px;}
.vb-pkg__levers-list a:is(:hover,:focus){color:var(--accent);}
.vb-pkg__aside{margin-top:28px;background-color:var(--contrast-5);color:var(--base-3);border-radius:14px;padding:28px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.vb-pkg__aside p{margin:0;font-size:17px;line-height:1.5;max-width:640px;}
.vb-pkg__aside-cta{display:inline-flex;align-items:center;background-color:var(--base-3);color:var(--contrast-5);padding:.85rem 1.4rem;border-radius:10px;text-decoration:none;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;}
.vb-pkg__aside-cta:is(:hover,:focus){background-color:var(--accent);color:#fff;}
@media (max-width:1024px){
  .vb-pkg__levers-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .vb-pkg__levers{padding:26px 20px;}
  .vb-pkg__levers-list{grid-template-columns:1fr;}
  .vb-pkg__aside{padding:22px 20px;}
}

/* === VISIBULL_NATIONAL_SEO_HERO (post 3727) ===========================
 * Left column vertically centered against the form (stretch + margin-top:auto
 * removed 2026-09-22). Hero bullet list hidden on this page only.
 * ================================================================== */
@media (min-width: 768px) {
	.post-3727 .gb-element-05bbda90 > div:first-child { display: flex; flex-direction: column; }
	.post-3727 .gb-element-7dabea90 .gb-text-648c172b { margin-bottom: 0; }
}
/* === /VISIBULL_NATIONAL_SEO_HERO ===================================== */

/* === VISIBULL_HERO_PILL: GB text block 7c4e1a93 (h1, ACF hero_subheadline) in template 2193 === */
.vb-hero-pill { display: inline-block; margin: 0 0 1rem; padding: 6px 16px; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; background: var(--accent-3); width: fit-content; max-width: 100%; align-self: flex-start; color: var(--base-3); font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: .03em; }
@media (max-width:767px) { .vb-hero-pill { font-size: 13px; } }
h1.vb-hero-pill { font-family: inherit; text-transform: none; }
/* Large hero headline is a div wrapping the WYSIWYG <p>; the div owns the spacing. */
.gb-text-0489ce6e > p { margin-bottom: 0; }
/* === /VISIBULL_HERO_PILL === */

.form-intro { line-height: 1.4; }\n\n/* === VISIBULL_WSF_DISABLED_BUTTON: greyed submit until required fields are filled === */
.wsf-form .wsf-button[disabled], .wsf-form .wsf-button:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(100%); }
/* === /VISIBULL_WSF_DISABLED_BUTTON === */




/* ===== Big Agency vs Visibull comparison (template 2193 block cmp01sec, toggle show_comparison) ===== */
.vb-compare{background-color:var(--contrast-5);padding:88px var(--vb-gutter);}
.vb-compare__inner{max-width:var(--gb-container-width);margin-left:auto;margin-right:auto;}
.vb-compare__heading{font-size:40px;line-height:1.2;font-weight:800;color:var(--base-3);text-align:center;margin:0 0 48px;text-wrap:balance;}
.vb-compare__table{background-color:var(--base-3);border-radius:14px;overflow:hidden;box-shadow:0 18px 34px -14px rgba(0,0,0,.5);}
.vb-compare__row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.1fr);border-top:1px solid var(--contrast-3);}
.vb-compare__row.vb-compare__head{border-top:0;}
.vb-compare__row > div{padding:18px 24px;font-size:16px;line-height:1.45;}
.vb-compare__row .vb-compare__label{font-weight:700;color:var(--contrast-5);background-color:var(--base);}
.vb-compare__row .vb-compare__them{position:relative;padding-left:56px;color:var(--contrast-2);}
.vb-compare__row .vb-compare__us{position:relative;padding-left:56px;font-weight:600;color:var(--contrast-5);background-color:rgba(76,147,171,.1);}
.vb-compare__row .vb-compare__them::before,.vb-compare__row .vb-compare__us::before{content:"";position:absolute;left:24px;top:20px;width:20px;height:20px;border-radius:50%;background-size:12px 12px;background-position:center;background-repeat:no-repeat;}
.vb-compare__row .vb-compare__them::before{background-color:var(--contrast-3);
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%236D7375' stroke-width='2' stroke-linecap='round' d='M3 3l6 6M9 3l-6 6'/%3E%3C/svg%3E");}
.vb-compare__row .vb-compare__us::before{background-color:var(--accent);background-size:14px 14px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 8.4l2.6 2.6L12 5.6'/%3E%3C/svg%3E");}
.vb-compare__head > div{font-size:14px;text-transform:uppercase;letter-spacing:2px;font-weight:800;padding-top:20px;padding-bottom:20px;}
.vb-compare__row.vb-compare__head .vb-compare__them,.vb-compare__row.vb-compare__head .vb-compare__us{padding-left:24px;}
.vb-compare__row.vb-compare__head .vb-compare__them::before,.vb-compare__row.vb-compare__head .vb-compare__us::before{display:none;}
.vb-compare__row.vb-compare__head .vb-compare__them{background-color:var(--base);color:var(--contrast-2);}
.vb-compare__row.vb-compare__head .vb-compare__us{background-color:var(--accent);color:#ffffff;}
.vb-compare__note{max-width:780px;margin:36px auto 0;text-align:center;color:var(--base-3);font-size:18px;line-height:1.6;}
.vb-compare__note p{margin:0 0 12px;}
.vb-compare__note p:last-child{margin-bottom:0;}
.vb-compare__note a{color:var(--base-3);font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.vb-compare__note a:is(:hover,:focus){color:var(--base-2);text-decoration:none;}
#who-is-visibull{scroll-margin-top:120px;}
@media (max-width:1024px){
  .vb-compare__heading{font-size:32px;}
}
@media (max-width:767px){
  .vb-compare{padding:56px var(--vb-gutter);}
  .vb-compare__heading{font-size:28px;margin-bottom:32px;}
  .vb-compare__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .vb-compare__row > div{padding:14px 14px;font-size:15px;}
  .vb-compare__row .vb-compare__label{grid-column:1 / -1;padding-top:10px;padding-bottom:10px;font-size:13px;text-transform:uppercase;letter-spacing:1px;}
  .vb-compare__row.vb-compare__head .vb-compare__label{display:none;}
  .vb-compare__row .vb-compare__them,.vb-compare__row .vb-compare__us{padding-left:42px;}
  .vb-compare__row .vb-compare__them::before,.vb-compare__row .vb-compare__us::before{left:14px;top:16px;}
  .vb-compare__row.vb-compare__head .vb-compare__them,.vb-compare__row.vb-compare__head .vb-compare__us{padding-left:14px;}
}

/* ===== Process Steps: Roadmap layout (template 2193 block rd01sect, ACF process_layout = roadmap) ===== */
.vb-roadmap{position:relative;overflow:clip;color:#ffffff;padding:104px var(--vb-gutter);background:url("assets/vb-roadmap-orbit.svg") left center/cover no-repeat,radial-gradient(circle at 22% 58%,#14607a 0%,var(--contrast-5) 48%,#0a2430 100%);}
.vb-roadmap__inner{max-width:var(--gb-container-width);margin-left:auto;margin-right:auto;}
.vb-roadmap__head{max-width:820px;margin-bottom:52px;}
.vb-roadmap__heading{color:#ffffff;font-size:clamp(30px,2.2vw + 16px,42px);line-height:1.22;font-weight:600;margin:0;}
.vb-roadmap__intro{color:#bcd5dd;font-size:19px;line-height:1.55;max-width:700px;margin:14px 0 0;}
.vb-roadmap__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;align-items:start;}
.vb-roadmap__side{position:sticky;top:var(--vb-sticky-top,110px);}
.vb-roadmap__img{display:block;width:100%;height:auto;max-height:calc(100vh - var(--vb-sticky-top,110px) - 28px);object-fit:contain;background:#1a1e25;border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 34px 60px -30px rgba(0,0,0,.8);}
.vb-roadmap__acc{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14);}
.vb-roadmap__item{margin:0;border-bottom:1px solid rgba(255,255,255,.14);}
.vb-roadmap__summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px minmax(0,1fr) auto 22px;column-gap:18px;align-items:center;padding:22px 0;}
.vb-roadmap__summary::-webkit-details-marker{display:none;}
.vb-roadmap__summary::marker{content:"";}
.vb-roadmap__summary::after{content:"";grid-column:4;grid-row:1 / span 2;width:22px;height:22px;opacity:.8;transition:transform .2s;
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E") center/20px no-repeat;}
.vb-roadmap__details[open] > .vb-roadmap__summary::after{transform:rotate(180deg);}
.vb-roadmap__num{grid-column:1;grid-row:1 / span 2;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--accent-2);color:#ffffff;font-weight:700;font-size:19px;}
.vb-roadmap__details[open] .vb-roadmap__num{background-color:var(--accent-2);}
.vb-roadmap__title{grid-column:2;grid-row:1;color:#ffffff;font-size:25px;font-weight:600;letter-spacing:normal;text-transform:none;line-height:1.22;margin:0;}
.vb-roadmap__summary:hover .vb-roadmap__title{color:#a9d3e2;}
.vb-roadmap__get{grid-column:2;grid-row:2;display:block;color:#a8c3cc;font-size:15px;margin-top:2px;}
.vb-roadmap__chip{grid-column:3;grid-row:1 / span 2;display:inline-block;color:#d5ebf2;background-color:rgba(169,211,226,.14);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 11px;border-radius:999px;white-space:nowrap;}
.vb-roadmap__body{padding:0 4px 28px 74px;color:#c6d9e0;}
.vb-roadmap__desc p{margin:0 0 12px;}
.vb-roadmap__desc strong{color:#ffffff;}
.vb-roadmap__desc ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;}
.vb-roadmap__desc li{position:relative;margin:0;padding-left:28px;}
.vb-roadmap__desc li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;
  background:var(--accent-2) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 8.4l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/12px no-repeat;}
.vb-roadmap__desc .btn__red{margin-top:6px;}
.vb-roadmap__graphic{display:block;width:100%;max-width:380px;height:auto;margin:0 auto;}
.vb-roadmap__cta{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:34px;}
.vb-roadmap__cta:empty{display:none;}
.vb-roadmap__cta .btn__red{margin-top:0;}
.vb-roadmap__note{margin:0;color:#ffffff;font-weight:600;}
@media (max-width:960px){
  .vb-roadmap{padding:64px var(--vb-gutter);}
  .vb-roadmap__head{margin-bottom:28px;}
  .vb-roadmap__grid{grid-template-columns:minmax(0,1fr);gap:40px;}
  .vb-roadmap__side{position:static;order:2;max-width:460px;}
  .vb-roadmap__main{order:1;}
  .vb-roadmap__img{max-height:none;}
  .vb-roadmap__summary{grid-template-columns:40px minmax(0,1fr) 20px;column-gap:12px;padding:18px 0;}
  .vb-roadmap__summary::after{grid-column:3;grid-row:1 / span 2;}
  .vb-roadmap__num{width:40px;height:40px;font-size:16px;grid-row:1 / span 3;}
  .vb-roadmap__title{font-size:21px;}
  .vb-roadmap__chip{grid-column:2;grid-row:3;justify-self:start;margin-top:8px;}
  .vb-roadmap__body{padding:0 0 22px 52px;}
  .vb-roadmap__graphic{max-width:300px;}
}


/* ===== Is / Isn't section + Hub Graphic (template 2193 block isn01sec, toggle show_is_isnt; hub data from hub-graphic CPT) ===== */
.vb-isnt{background-color:var(--contrast-5);color:#ffffff;padding:88px var(--vb-gutter);}
.vb-isnt__inner{max-width:var(--gb-container-width);margin:0 auto;}
.vb-isnt__heading{font-size:40px;line-height:1.2;font-weight:800;color:#ffffff;text-align:center;margin:0 0 14px;text-wrap:balance;}
.vb-isnt__intro{max-width:720px;margin:0 auto;text-align:center;color:rgba(255,255,255,.8);text-wrap:balance;}
.vb-isnt__hub{margin-top:48px;}
.vb-isnt__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;}
.vb-isnt__tile{background:rgba(255,255,255,.06);border-radius:20px;border-top:4px solid var(--accent-2);padding:26px 26px 24px;}
.vb-isnt__tile[data-type="isnt"]{border-top-color:#d9431a;}
.vb-isnt__tag{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:#9cc4d2;}
.vb-isnt__tag::before{content:"";flex:0 0 26px;height:26px;border-radius:50%;background:var(--accent-2) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 8.4l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/16px no-repeat;}
.vb-isnt__tile[data-type="isnt"] .vb-isnt__tag{color:#ff9b7a;}
.vb-isnt__tile[data-type="isnt"] .vb-isnt__tag::before{background:var(--accent) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' d='M5 5l6 6M11 5l-6 6'/%3E%3C/svg%3E") center/16px no-repeat;}
.vb-isnt__text{color:rgba(255,255,255,.88);}
.vb-isnt__text p{margin:0;}
.vb-isnt__text strong{color:#ffffff;}
.vb-isnt__note{margin:10px 0 0;font-size:.92em;color:rgba(255,255,255,.7);}
.vb-isnt__cta{margin-top:56px;padding-top:48px;border-top:1px solid rgba(255,255,255,.14);text-align:center;}
.vb-isnt__closing{max-width:640px;margin:0 auto 22px;font-size:1.15em;font-weight:500;color:#ffffff;text-wrap:balance;}
.vb-isnt .btn__red{margin-top:0;box-shadow:0 13px 20px -4px rgba(0,0,0,.5);}
@media (max-width:1024px){.vb-isnt__heading{font-size:32px;}}
@media (max-width:959px){.vb-isnt__tiles{grid-template-columns:1fr;gap:14px;margin-top:44px;}}
@media (max-width:767px){.vb-isnt{padding:56px var(--vb-gutter);}.vb-isnt__heading{font-size:28px;}}

/* Hub graphic: vertical tree under 1024px, curved map at 1024px+ (edges = assets/vb-hub-edges.svg, drawn for 4 items per side) */
.vb-hub{--hub-lbl:#ffffff;--hub-meta:rgba(255,255,255,.72);--hub-col:#9cc4d2;--hub-edge:var(--accent-2);--hub-dot:#d9431a;--hub-core:#ffffff;--hub-ring:#9cc4d2;--hub-bg:var(--contrast-5);}
.vb-hub p{margin:0;}
.vb-hub__map{position:relative;}
.vb-hub__center{display:grid;grid-template-columns:30px 1fr;column-gap:14px;align-items:center;}
.vb-hub__dot{display:block;grid-row:1 / span 2;width:30px;height:30px;border-radius:50%;background:var(--hub-core);box-shadow:0 0 0 6px color-mix(in srgb,var(--hub-ring) 30%,transparent);}
.vb-hub__label{font-family:var(--headline-font);font-size:22px;font-weight:800;line-height:1.2;color:var(--hub-lbl);}
.vb-hub__sub{font-size:14px;font-weight:500;line-height:1.4;color:var(--hub-meta);}
.vb-hub__side{margin-left:14px;}
.vb-hub__title{padding:14px 0 12px 44px;border-left:2px solid var(--hub-edge);font-size:13px;font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--hub-col);}
.vb-hub__list{list-style:none;margin:0;padding:0;}
.vb-hub__item{position:relative;margin:0;padding:0 0 16px 44px;border-left:2px solid var(--hub-edge);}
.vb-hub__item::before{content:"";position:absolute;left:-2px;top:0;width:26px;height:15px;border-bottom:2px solid var(--hub-edge);}
.vb-hub__item::after{content:"";position:absolute;left:24px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--hub-dot);}
.vb-hub__side--right .vb-hub__item:last-child{border-left-color:transparent;padding-bottom:0;}
.vb-hub__side--right .vb-hub__item:last-child::before{border-left:2px solid var(--hub-edge);border-bottom-left-radius:12px;}
.vb-hub__name{display:block;font-size:17px;font-weight:700;line-height:1.35;color:var(--hub-lbl);}
.vb-hub__detail{display:block;font-size:14px;font-weight:500;line-height:1.4;color:var(--hub-meta);}
.vb-hub__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:22px;font-size:14px;color:var(--hub-meta);}
.vb-hub__key{display:inline-flex;align-items:center;gap:8px;}
.vb-hub__key::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--hub-dot);}
.vb-hub__key--hub::before{background:var(--hub-core);}
@media (max-width:1023px){.vb-hub{max-width:440px;margin-left:auto;margin-right:auto;}}
@media (min-width:1024px){
  .vb-hub__map{width:980px;height:380px;margin:0 auto;background:url("assets/vb-hub-edges.svg") center/980px 380px no-repeat;}
  .vb-hub__center{display:block;position:absolute;left:490px;top:210px;width:0;height:0;}
  .vb-hub__dot{position:absolute;left:-15px;top:-15px;box-shadow:none;}
  .vb-hub__dot::after{content:"";position:absolute;inset:-13px;border:2px solid var(--hub-ring);border-radius:50%;opacity:.4;}
  .vb-hub__label{position:absolute;left:0;bottom:36px;transform:translateX(-50%);white-space:nowrap;padding:0 10px;background:var(--hub-bg);}
  .vb-hub__sub{position:absolute;left:0;top:30px;transform:translateX(-50%);white-space:nowrap;padding:0 8px;background:var(--hub-bg);}
  .vb-hub__side{position:absolute;top:0;width:320px;height:380px;margin:0;}
  .vb-hub__side--left{left:0;text-align:right;}
  .vb-hub__side--right{left:660px;}
  .vb-hub__title{position:absolute;top:8px;padding:0;border:0;}
  .vb-hub__side--left .vb-hub__title{right:16px;}
  .vb-hub__side--right .vb-hub__title{left:16px;}
  .vb-hub__list{position:absolute;top:40px;left:0;right:0;}
  .vb-hub__item,.vb-hub__side--right .vb-hub__item:last-child{height:80px;padding:0;border:0;display:flex;flex-direction:column;justify-content:center;}
  .vb-hub__side .vb-hub__item::before{display:none;}
  .vb-hub__side--left .vb-hub__item{align-items:flex-end;padding-right:16px;}
  .vb-hub__side--right .vb-hub__item,.vb-hub__side--right .vb-hub__item:last-child{padding-left:16px;}
  .vb-hub__item::after{top:50%;margin-top:-7px;}
  .vb-hub__side--left .vb-hub__item::after{left:auto;right:-7px;}
  .vb-hub__side--right .vb-hub__item::after{left:-7px;}
}
/* ===== /Is / Isn't section ===== */

/* ===== SITE GRID (2026-10-05) =====
   One grid for the whole site. Content is at most 1200px wide (--gb-container-width) and never closer
   than --vb-gutter to the edge of the screen. Top bar, header, every section and the footer line up on it.
   Build rule for new sections, pick one:
   (a) outer section: no side padding; inner container: max-width var(--vb-wrap) + side padding var(--vb-gutter)
   (b) outer section: side padding var(--vb-gutter); inner container: max-width var(--gb-container-width), no side padding
   Never add more side padding on wrappers inside the inner container; boxes and cards may pad their own insides. */
:root{--vb-gutter:20px;--vb-wrap:calc(var(--gb-container-width, 1200px) + (2 * var(--vb-gutter)));}

/* Top bar (GP secondary navigation): container on the grid, last link's text on the right edge (links have 20px padding) */
.secondary-navigation .inside-navigation.grid-container{max-width:var(--vb-wrap);padding-left:var(--vb-gutter);padding-right:var(--vb-gutter);box-sizing:border-box;}
.secondary-navigation .main-nav > ul{margin-right:-20px;}

/* Header (Block: Header 3138): last menu link's text on the right edge (links have 20px padding) */
@media (min-width:769px){.block-header .gb-menu{margin-right:-20px;}}

/* GP page container: no side padding, sections carry their own gutter */
@media only screen and (max-width:1024px){.container.grid-container:not(.home .container.grid-container){padding-left:0;padding-right:0;}}

/* Roadmap: no image = one column */
.vb-roadmap__side:not(:has(img)){display:none;}
.vb-roadmap__grid:not(:has(.vb-roadmap__side img)){grid-template-columns:minmax(0,1fr);}
/* Testimonials (service template): carousel on the grid, quote text keeps a readable width */
.gb-element-e653c572 .testimonial-content{max-width:900px;margin-left:auto;margin-right:auto;}
/* Pages with a contained (not full-width) content area: the page container is the grid */
body.page:not(.full-width-content) #page.grid-container{max-width:var(--vb-wrap);padding-left:var(--vb-gutter);padding-right:var(--vb-gutter);box-sizing:border-box;}
/* GP featured image on full-width pages */
.full-width-content .page-header-image.grid-container{max-width:var(--vb-wrap);padding-left:var(--vb-gutter);padding-right:var(--vb-gutter);box-sizing:border-box;}
/* Old helper class: only a contained-width container keeps side padding (the grid gutter); nested use adds none */
@media only screen and (max-width:1024px){.outer-cont-w-lft-rt-padding{padding-left:0;padding-right:0;}.gb-container-contained-width.outer-cont-w-lft-rt-padding{padding-left:var(--vb-gutter);padding-right:var(--vb-gutter);}}
/* Footer badges: the last badge (BBB seal) ends on the grid's right edge */
@media (min-width:1025px){.site-footer .hp-logos-grid > .gb-grid-column:last-child{flex-grow:1;}.site-footer .hp-logos-grid > .gb-grid-column:last-child > .gb-container{text-align:right;}}
/* Header on phones: hamburger icon (10px toggle padding) sits on the grid's right edge */
@media (max-width:768px){.block-header .gb-menu-toggle{margin-right:-10px;}}
/* ===== /SITE GRID ===== */