/* home hero styles 

.home-h1  {
	font-size: 160px !important; 
	letter-spacing: -7px;
	line-height: 130px !important; 
	text-transform: uppercase;
}
*/

.home-hero-section {
	padding-right: 300px; 
}

.home-h2 {
	font-size: 120px; 
	line-height: .9;
	color: #D7DD03 !important;
}



.hero-spacing {
	padding: 60px 0px;
	margin-bottom: 70px; 
}

.hero-p {
	font-size: 32px;
	line-height: 42px; 
	
}


.hero-p-align {
	margin-top: 40px !important; 
}

.kb-svg-icon-wrap {
	padding-bottom: 25px !important; 
}


/* typography */

.medium {
	
	font-weight: 500 !important;
}
.semi-bold {
	
	font-weight: 600;
}

.bold {
	font-weight: 700;
}

.extra-bold {	
	font-weight: 800;
}


.black {	
	font-weight: 900;
}


.h2 {
	font-size: 90px;
}

.h3 {
	
	font-size: 60px;
	line-height: 64px;
}

.h4 {
 font-size: 48px;
	line-height: 52px;
}

.h5 {
	font-size: 32px; 
	letter-spacing: 0px;
	line-height: 36px;
}

.h6 {
	
	font-size: 24px;
	letter-spacing: 0px;
	line-height: 26px !important;
}

.small-h6 {
	font-size: 20px; 
	line-height: 22px; 
}

.smaller-h6 {
	font-size: 16px; 
}

h1, h2, h3, h4, h5, h6, .wp-block-heading {
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.package-header {
	margin-bottom: 40px !important; 
	
}

.all-caps {
	text-transform: uppercase;
	letter-spacing: 2px !important;
}

.align-left {
margin-left: 0px !important; 	
	
}

/* end of typography */

/*make icon left of heading*/

.ux-icon-heading-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1rem;
  text-align: left;
}

.ux-icon-heading-row .wp-block-kadence-icon {
  flex-shrink: 0;
  margin: 0;
  display: inline-flex;
  width: auto;
}

.ux-icon-heading-row .wp-block-heading {
  margin: 0;
}
/*add line under heading */
.heading-underline {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
}

.heading-underline::after {
  content: "";
  display: block;
  width: 80px;           /* adjust line width here */
  height: 5px;           /* adjust thickness here */
  background-color: #D7DD03; 
  margin-top: 15px;
}


/* buttons */
/* Target only front-end buttons that are inside wp-block-button.primary */
.wp-block-button.primary .wp-block-button__link {
  color: var(--global-palette5) !important; /* Text color (white) */
  background-color: var(--global-palette1) !important; /* Primary background color (#49447A) */
  border-radius: 50px !important; /* Custom border radius */
}

/* Hover State */
.wp-block-button.primary .wp-block-button__link:hover {
  background-color: var(--global-palette2) !important; /* Hover background color (#8645CE) */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important; /* Hover shadow */
}

/* Active State */
.wp-block-button.primary .wp-block-button__link:active {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important; /* Active button shadow */
}

/* Secondary Button Styles */
.wp-block-button.secondary .wp-block-button__link {
  color: var(--global-palette5) !important; /* Text color (white) */
  background-color: var(--global-palette2) !important; /* Secondary background color (#8645CE) */
  border-radius: 50px !important; /* Custom border radius */
}

/* Hover State */
.wp-block-button.secondary .wp-block-button__link:hover {
  color: var(--global-palette1) !important; /* Text color (#49447A) */
	background-color: var(--global-palette3) !important; /* Hover background color (#D7DD03) */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important; /* Hover shadow */
}

/* Active State */
.wp-block-button.secondary .wp-block-button__link:active {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important; /* Active button shadow */
}

/* Tertiary Button Styles */
.wp-block-button.tertiary .wp-block-button__link {
  color: var(--global-palette1) !important; /* Text color (#49447A) */
  background-color: var(--global-palette3) !important; /* Hover background color (#D7DD03);*/
  border-radius: 50px !important; /* Custom border radius */
}

/* Hover State */
.wp-block-button.tertiary .wp-block-button__link:hover {
    color: var(--global-palette5) !important; /* Text color (white) */
	background-color: var(--global-palette1) !important; /* background color (##49447A) */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important; /* Hover shadow */
}

/* Active State */
.wp-block-button.tertiary .wp-block-button__link:active {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important; /* Active button shadow */
}

/* Reverse Button Styles */
.wp-block-button.reverse .wp-block-button__link {
  color: var(--global-palette1) !important; /* Text color (#49447A) */
  background-color: var(--global-palette5) !important; /* Background color (white) */
  border-radius: 50px !important; /* Custom border radius */
}

/* Hover State */
.wp-block-button.reverse .wp-block-button__link:hover {
 
	 background-color: var(--global-palette3) !important; /* Hover background color (#D7DD03);*/
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important; /* Hover shadow */
}

/* Active State */
.wp-block-button.reverse .wp-block-button__link:active {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important; /* Active button shadow */
}



/* Ensure the visited state is also overridden */
.wp-block-button__link:visited {
  background: var(--global-palette1) !important;
  color: var(--global-palette5) !important;
}

/* Generic Button Styles - Avoid affecting Kadence internal block buttons */
button, .button, .wp-block-button__link, .wp-element-button, input[type=button], input[type=reset], input[type=submit] {
  border-radius: 50px !important; /* Custom border radius */
  background-color: var(--global-palette1) !important; /* Default button background color (#49447A) */
  color: var(--global-palette5) !important; /* Default button text color (white) */
}



/*previous link */

.post-navigation-link-previous {
	font-family: 'Raleway';
	font-size: 16px; 
	font-weight: 500;
	letter-spacing: 2px; 
	
}

.post-navigation-link-previous a {
	text-decoration: none !important;
}



/* Show a downward caret under the active Kadence tab */
li.kt-title-item.kt-tab-title-active {
  position: relative !important;
  overflow: visible;
}

li.kt-title-item.kt-tab-title-active::after {
  content: "";
  position: absolute;
  bottom: -13px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #49447A;
  z-index: 9999;
}

.CTA-HR {
	width: 20% !important;
	height: 5px !important; 
	margin: 30px auto !important; 
}

.CTA-GetStarted {
	padding: 40px 0px;
}

.CTA-GetStarted h3 {
	margin-top: 0px; 
	
}

.wp-block-separator {
	border: solid 2px #F2F3F5;
}

.section-border {
	border-right: solid 2px #F2F3F5;
}

.column-separator {
	margin: 30px 0px !important; 
	
}

	.hr-mobile-show {
		display: none;
	}

  .mb-0\@lg { margin-bottom: 0 !important; }
  .mb-10\@lg { margin-bottom: 10px !important; }
  .mb-20\@lg { margin-bottom: 20px !important; }
  .mb-30\@lg { margin-bottom: 30px !important; }
  .mb-40\@lg { margin-bottom: 40px !important; }
  .mb-50\@lg { margin-bottom: 50px !important; }

  .mt-0\@lg { margin-top: 0 !important; }
  .mt-10\@lg { margin-top: 10px !important; }
  .mt-20\@lg { margin-top: 20px !important; }
  .mt-30\@lg { margin-top: 30px !important; }
  .mt-40\@lg { margin-top: 40px !important; }
  .mt-50\@lg { margin-top: 50px !important; }

  .pt-0\@lg { padding-top: 0 !important; }
  .pt-10\@lg { padding-top: 10px !important; }
  .pt-20\@lg { padding-top: 20px !important; }
  .pt-30\@lg { padding-top: 30px !important; }
  .pt-40\@lg { padding-top: 40px !important; }
  .pt-50\@lg { padding-top: 50px !important; }

 .pb-0\@lg { padding-bottom: 0 !important; }
  .pb-10\@lg { padding-bottom: 10px !important; }
  .pb-20\@lg { padding-bottom: 20px !important; }
  .pb-30\@lg { padding-bottom: 30px !important; }
  .pb-40\@lg { padding-bottom: 40px !important; }
  .pb-50\@lg { padding-bottom: 50px !important; }


/*contact form width and alignment*/

	.wp-block-kadence-advanced-form1952-cpt-id {
		
		width: 60%;
		margin: 0px auto;
	}

.kadence-column1928_9063c3-0f p {
		
		width: 60%;
		margin: 0px auto 30px;
	
}

/* Desktop footer spacing: 100px */

  .entry-content-wrap {
    margin-bottom: 100px;
  }

.page-id-1009  .entry-content-wrap {
  margin-bottom: 0px;
}	


/*home what we do section h2 width*/
.kb-row-layout-id1009_b9a3cb-6c h2 {
	width: 80%;
}

.breadcrumb-link a {
	font-size: 24px; 
	text-transform: uppercase;
	text-decoration: none;
	color: #49447a;
	margin-bottom: 0px !important; 
	font-family: Raleway, sans-serif;
}

.breadcrumb-link a:hover {
	color: #8645CE;
}

/* Footer: stack nav menu */
.site-footer .footer-navigation ul.menu {
  display: flex;
  flex-direction: column; /* stack items vertically */
  align-items: flex-start; /* optional: left-align */
  gap: 0.5em; /* optional: space between items */
}

.site-footer .footer-navigation ul.menu li {
  display: block;
}

/* Footer socials: flush left + even spacing */
.site-footer .footer-social-wrap ul {
  display: flex !important;
  justify-content: flex-start !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  gap: 0.8rem; /* controls spacing between icons */
}

/* Kill per-item margins so we rely on gap only */
.site-footer .footer-social-wrap li { margin: 0 !important; }
.site-footer .footer-social-wrap a.social-button.footer-social-item {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
}

/*BLOG 
/* Make the archive title area stack vertically */
.post-archive-hero-section .post-archive-title {
  display: flex;
  flex-direction: column;  /* puts the subhead under the H1 */
}

/* Inject the subhead under "Gimme Five" on the blog archive */
.post-archive-hero-section .post-archive-title::after {
  content: "Mostly design. Definitely squirrels."; /* your subhead */
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 400;
  color: #FFFFFF;
  margin-top: 0.5em;
	margin-left: 10px;
}


/* Make single post hero look like other page heroes */
.single-post .entry-hero {
  background-color: #D7DD03;   /* Replace with your green brand hex */
  padding: 60px 0px !important;         /* Adjust top/bottom spacing to match your pages */
  text-align: center;          /* Or left, if your other pages use left-align */
  margin: 0 0 70px 0;                   /* Removes any extra spacing */
}

/* Style the post title (H1) inside the hero */
.single-post .entry-hero .page-title {
  color: #49447A;              /* Replace with your blue brand hex */
  font-size: 3rem;             /* Match your other page hero font size */
  font-weight: 700;            /* Match your brand style */
  margin: 0;
}

.single-post .entry-hero .entry-hero-inner {
  max-width: 1380px; /* matches your site container */
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--global-content-edge-padding, 20px);
  padding-right: var(--global-content-edge-padding, 20px);
}

.blog .widget-area ul {
	padding-left: 0px;
}

.blog h2.wp-block-heading {
	 font-size: 16px !important;
	margin-bottom: 10px !important;
	color: #4B4780;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 16px !important;
	
}


#secondary h2.wp-block-heading {
	 font-size: 16px !important;
	margin-bottom: 10px !important;
	color: #4B4780;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 16px !important;
	
}



.wp-block-archives-list li, .wp-block-categories-list li
 {
    color: #4B4780;
    text-decoration: none;
}

.wp-block-archives-list li a, .wp-block-categories-list li a
 {
    color: #8645ce;
    text-decoration: none;
}

.entry-footer a.post-more-link  {
	color: #8645ce;
}

/*add random posts at bottom*/
.random-posts-section {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px solid #eee;
}

.random-posts-title {
  font-size: 1.8rem;
  margin-bottom: 20px;
  color: var(--global-palette1);
}

.random-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.random-post {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  transition: box-shadow .3s ease;
}

.random-post:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); }

.random-post-thumb img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin-bottom: 15px;
}

.random-post-heading { font-size: 1.2rem; margin: 0 0 10px; }
.random-post-heading a { color: var(--global-palette1); text-decoration: none; }
.random-post-heading a:hover { color: var(--global-palette2); }
.random-post-excerpt { font-size: .95rem; color: #555; }

.entry-header .entry-meta {
	
	margin-top: 30px; 
}
h2.list-signup {
	text-transform: none;
	font-size: 32px; 
	font-weight: 600;
}
/*
.single-entry .kt-row-column-wrap {
	padding-left: 0px !important;
	padding-right: 0px !important; 
}*/

body.single-post .kt-row-column-wrap {
    padding-left: 0px !important;   /* or whatever your site padding is */
    padding-right: 0px !important;
}

/*align navigation on desktop with logo */
.header-menu-container, .header-navigation {
    margin-top: 5px;
}

@media only screen and (max-width: 1024px) {
	
.home-hero-section {
	padding-right: 0px; 
}
	
h2 {
	font-size: 70px; 
	}
	
h3 {
	font-size: 50px; 
	}
	
	h4 {
	font-size: 40px; 
	}
	
	h5 {
	font-size: 24px; 
	}
	
	h6 {
	font-size: 20px; 
	}	
	

.home-hero-section {
	padding-right: 0px; 
}

	

	
}

@media (max-width: 768px){
	

	
	
	h2, .h2 {
        font-size: 50px !important;
        line-height: 50px !important;
		margin: 0px !important;
}



	h3, .h3 {
	
		font-size: 40px !important;
		line-height: 40px !important;
}

	h4, .h4 {
 		font-size: 32px !important;
		line-height: 32px !important;
}

	h5, .h5 {
		font-size: 24px !important; 
		line-height: 24px !important;
}

	h6, .h6 {
	
	font-size: 20px !important;
	}

	
	
  .site-footer .footer-social-wrap a.social-button.footer-social-item.social-link-linkedin{
    transform: translateX(-8px); /* try -6, -8, -10 until it lines up perfectly */
  }

  .site-footer .footer-row-inner .footer-column:nth-child(1) {
    padding-left: 0 !important;
  }

  .site-footer .footer-row-inner .footer-column:nth-child(1) {
    padding-left: 0 !important;
  }

	/*blog header */

  /* 0) Neutralize theme/AO side padding on the hero itself */
  body.single-post .entry-hero {
    padding: 40px 0 !important;   /* keep top/btm; remove left/right */
	  margin-bottom: 40px;
    text-align: left !important;  /* AO sometimes centers */
    overflow: hidden;             /* safety */
  }

  /* 1) Add clean 16px gutters ONLY to the inner header wrapper */
  /*body.single-post .entry-hero header.entry-header {
    display: block !important;    /* cancel Kadence flex so padding applies */
  /*  padding: 0 16px !important;
    box-sizing: border-box;
  }*/

  /* 2) Title: big but never spills; static 60px on mobile */
  body.single-post .entry-hero h1.entry-title,
  body.single-post .entry-hero .page-title {
    font-size: 60px !important;
    line-height: 1;
    margin: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
  }

  /* 3) Ensure the post body doesn't inherit extra padding from earlier tries */
  body.single-post .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Single-post hero H1: prevent all word breaks */
  body.single-post .entry-hero h1.entry-title,
  body.single-post .entry-hero .page-title {
   
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;            /* no automatic hyphenation */
  }

	/*tab styling */
	
/* === Swipeable horizontal tab list === */
  .kt-tabs-title-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 0px;
    white-space: nowrap;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }

  .kt-tabs-title-list::-webkit-scrollbar {
    display: none;
  }

  .kt-tabs-title-list > li.kt-title-item {
    flex: 0 0 220px !important;
    max-width: 220px !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    scroll-snap-align: start;
    text-align: center;
    position: relative;
    overflow: visible;
  }

  .kt-tab-title {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px;
    font-size: 15px;
    line-height: 1.4;
    white-space: normal !important;
    word-break: break-word;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  /* === Caret for active tab === */
  .kt-title-item.kt-tab-title-active::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #3f2e73;
    z-index: 10;
    pointer-events: none;
  }

  /* === Prevent content from being scrollable === */
  .wp-block-kadence-tabs,
  .kt-tabs-content-wrap,
  .kt-tabs-content {
    overflow: visible !important;
  }

	.kt-blocks-info-box-media-container .kb-svg-icon-wrap {
    padding-bottom: 0px !important;
}
	
	
/*styling tab titles and padding */

.service-tabs .kt-tab-title {
		
		padding: 40px 20px 20px 20px !important;
		font-size: 20px !important; 
	}
    .wp-block-kadence-tabs .kt-tabs-id1093_7dd441-3a > .kt-tabs-title-list li svg {
        font-size: 32px !important;
	}
/*end of tab styling */
		
	
	.cool-flipbox-back .service-list.li {
		text-align: left !important; 
	}

	/*home hero headline text */

	.home-h1 {
        font-size: 110px !important;
        line-height: 90px !important;
        letter-spacing: -3px;
        }
	
	.home-h2 {
		font-size: 90px; 
}
	
	/* sub page hero styling */
	
	.hero-p-align {
	margin-top: 0px !important; 
}
	
	.hero-spacing {
    padding: 30px 0px;
    margin-bottom: 40px;
	}
	

/*hide icon on info box */
	.no-icon .kt-blocks-info-box-media-container {
		height: 15px; 	
	}
	
	.no-icon .kt-info-svg-icon {
		display: none !important;
	}
	
	.section-border {
		border-right: none;
}
	
	.section-border .kt-inside-inner-col {

		border-right: 0px !important;
		padding-right: 0px !important; 
		padding-left: 0px !important;
}
	

	
	.hr-mobile-show {
		display: block;
	}
	
	
/*adds margin to bottom of CTA when stacked */
	.CTA-margin {
	margin-bottom: 40px; 
	} 
	
	


.mb-0 { margin-bottom: 0px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-50 { margin-bottom: 50px !important; }

.mt-0 { margin-top: 0 !important; }
.mt-10 { margin-top: 10px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-50 { margin-top: 50px !important; }

.pt-0 { padding-top: 0 !important; }
.pt-10 { padding-top: 10px !important; }
.pt-20 { padding-top: 20px !important; }
.pt-30 { padding-top: 30px !important; }
.pt-40 { padding-top: 40px !important; }
.pt-50 { padding-top: 50px !important; }

.pb-0 { padding-bottom: 0 !important; }
.pb-10 { padding-bottom: 10px !important; }
.pb-20 { padding-bottom: 20px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pb-40 { padding-bottom: 40px !important; }
.pb-50 { padding-bottom: 50px !important; }

/*icon list on homepage */



.home-icon-list  .kb-svg-icon-wrap {
	padding: 0px!important;
	}
	
	
   
	
	   /* tagline: Remove margin and enlarge  */
   header.site-header .site-bottom-header-inner-wrap .mobile-html-inner > p {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }
	
	
  header.site-header .site-bottom-header-inner-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  /* Force the section (column) that holds the tagline full width */
  header.site-header .site-header-bottom-section-left {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
  }

	
	/*contact form width and alignment*/

	.wp-block-kadence-advanced-form1952-cpt-id {
		
		width: 100%;
	
	}

.kadence-column1928_9063c3-0f p {
		
		width: 100%;
		margin: 0px auto 30px;
	
}
	
	
	.CTA-GetStarted {
    padding: 20px 0px !important;
	}
	
  body .wp-block-media-text > .wp-block-media-text__content {
    padding-left: 0 !important;
    padding-right: 0 !important;
	margin-top: 30px !important; 
	  
  }

	  .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
		  margin-bottom: 40px !important; 
    }
	
	
/* Mobile footer spacing: 30px */
.entry-content-wrap {
  margin-bottom: 30px;
}	

.page-id-1009  .entry-content-wrap {
  margin-bottom: 0px;
}	
	
	
		.footer-navigation .footer-menu-container > ul > li.menu-item-1558 > a {
				padding-left: 0px !important; 
	}
		
	
.post-1009 .wp-block-kadence-infobox .kt-infobox-textcontent h3.kt-blocks-info-box-title, .post-1093 .wp-block-kadence-infobox .kt-infobox-textcontent h3.kt-blocks-info-box-title {
        font-size: 32px !important;
		line-height: 36px !important;
    }
	
	.post-1093 .wp-block-kadence-infobox .kt-infobox-textcontent h3.kt-blocks-info-box-title {
        font-size: 28px !important;
		line-height: 32px !important;
    }
	
	.post-archive-hero-section {
		margin-bottom: 60px;
	}


}

@media (max-width: 600px) {
	
	.home-h1 {
        font-size: 60px !important;
        line-height: 50px !important;
        letter-spacing: -3px;		
	}
	
	.home-h2 {
		font-size: 50px !important; 
	}

	.home-hero-row {
		gap: 10px !important;	
	}

}

/* --- Tagline desktop margin fix (at the very end) --- */
@media (min-width: 1025px) {

   .header-html-inner p:first-child {
    margin-top: 15px !important;
  }
}