/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* Make GeneratePress header sticky */
.root-eb-row-1os9r {
  position: sticky;
  top: 0;
  z-index: 999;
/* 	box-shadow: 0 2px 10px rgba(256, 256, 256, 0.05); */
  transition: all 0.3s ease;
}

.root-eb-row-kw1ef {
  position: sticky;
  top: 0;
  z-index: 999;
  transition: all 0.3s ease;
}

/* Optional: Add shadow when scrolling */
.site-header.scrolled {
  box-shadow: 0 2px 10px rgba(256, 256, 256, 0.5);
}

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:active  {
			font-family: "Poppins", sans-serif !important;
        background: transparent;
        color : #72FFE0 !important;
        font-weight: normal;
        text-decoration: none;
        border-color: white;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link  {
			font-family: "Poppins", sans-serif !important;
    }

.main-navigation a {
	font-family: "Poppins", sans-serif !important;
    display: block;
    text-decoration: none;
    font-weight: 600;
    text-transform: none;
    font-size: 15px;
}

p.eb-text {
    font-family: "Poppins", sans-serif !important;
}

/* Disable horizontal scroll */
html {
/*   overflow-x: hidden; */
	scroll-behavior: smooth;
}
/* .root-eb-row-kw1ef {
    overflow: hidden;
} */
.eb-row-nh2eh.eb-row-root-container.hide-before::before {
  opacity: 0;
}

h3.eb-ah-title{
    font-family: Poppins, sans-serif !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image img {
    max-width: 80% !important;
    width: auto;
}
.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
    margin-bottom: 0px;
}

/* Use a menu class for exact targeting */
.main-navigation .menu li.menu-button > a {
	font-family: Poppins, sans-serif !important;
  display: inline-block;
  padding: 0px 20px 0px 20px;
  background: #F16C20;
  color: #fff !important;
  border-radius: 8px;
  text-transform: none;
  font-weight: 600;
  box-shadow: 0 3px 0 rgba(0,0,0,0.08);
}

/* Hover/focus */
.main-navigation .menu li.menu-button > a:hover,
.main-navigation .menu li.menu-button > a:focus {
  background: #F16C00;
  transform: translateY(-1px);
}

.main-navigation .main-nav ul li a {
    padding-left: 20px;
    padding-right: 20px;
    line-height: 45px;
}
/* === Services Section === */
.fixed-left-section {
  align-items: flex-start;
  position: relative;
}

/* LEFT COLUMN — Sticky only within the section */
.fixed-left-section .left-column {
  position: sticky;
  top: 120px;            /* adjust for header height */
  width: 50%;
  padding: 2rem;
  align-self: flex-start;
  height: fit-content;   /* auto height */
  z-index: 1;
}

/* RIGHT COLUMN — Scrolls normally */
.fixed-left-section .right-column {
  width: 52%;
  padding: 2rem 0rem 2rem 2rem;
}

/* === Responsive for mobile === */
@media (max-width: 767px) {
  .fixed-left-section {
    display: block;
  }

  .fixed-left-section .left-column,
  .fixed-left-section .right-column {
    position: relative;
    top: 0;
    width: 100%;
    height: auto;
		padding:0;
  }
}



.eb-post-grid-wrapper.eb-post-grid-jvctz .ebpg-categories-meta a { 
	  font-family: "Poppins", sans-serif !important;
    color: var(--eb-global-button-text-color);
    background-color: var(--accent);
		color:#0e3159;
   	font-size: 12px;
    padding: 6px 9px;
    font-weight: 700;
	  border-radius:0px;
}


.services-btn a  {
    text-decoration: none;
    color: white;
}
.services-btn a:hover  {
    text-decoration: underline;
    color: white;
}

/* Layout fix for side-by-side columns */
.wp-block-columns {
  align-items: flex-start;
}

/* Left column scrolls normally */
.left-content {
  position: relative;
  z-index: 1;
}

/* Right column sticky */
.right-sticky {
  position: sticky;
  top: 130px; /* distance from top when scrolling */
  align-self: flex-start;
}

/* Optional: adjust spacing if needed */
@media (max-width: 768px) {
  .right-sticky {
    position: static; /* disable sticky on mobile */
    margin-top: 30px;
  }
}


@media only screen and (min-width: 768px) and (max-width: 1080px) {
.fixed-left-section .right-column {
    width: 47%;
    padding: 2rem;
}
}

.services-btn .eb-text {
	font-family: "Poppins", sans-serif !important;
  font-weight: 700;
  text-transform: none;
  text-decoration: none;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.6) 0%,   /* soft top light */
    #ffffff 45%,                   /* bright white center */
    rgba(255, 255, 255, 0.6) 100%  /* soft bottom light */
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  transition: all 0.3s ease;
}

/* Optional subtle glow & lift on hover */
.services-btn .eb-text a:hover {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.25);
  transform: translateY(-2px);
}

@media (max-width: 768px) {
	.eb-text-wrapper.eb-text-cec88 .eb-text {
		line-height:2.5em !important;
	}
}

form css
/* ====== Gravity Form Clean One-Column Layout (Fixed Name Field) ====== */
body .gform_wrapper {
  max-width: 600px;
  margin: 0 auto;
  font-family: 'Inter', sans-serif;
}

/* Hide form title if not needed */
body .gform_wrapper .gform_heading {
  display: none;
}

/* One column layout */
body .gform_wrapper .gform_fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 25px;
}

/* --- Fix Name Field (First / Last stacked vertically) --- */


body .gform_wrapper .ginput_complex.ginput_container_name span {
  display: block !important;
  width: 100% !important;
}

/* Labels */
body .gform_wrapper label.gfield_label {
	font-family:poppins;
  font-weight: 700;
  color: var(--global-color-8);
  margin-bottom: 6px;
  font-size: 18px;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
font-family:poppins;
  font-weight: 700;
  color: var(--global-color-8);
  margin-bottom: 6px;
  font-size: 18px;
}

/* Inputs & Textareas */
body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper textarea {
  width: 100% !important;
  border: none;
  border-bottom: 1px solid var(--global-color-8);
  padding: 10px 5px;
  font-size: 16px;
	font-weight:400;
  background: transparent;
  transition: all 0.3s ease;
  border-radius: 0;
  box-shadow: none;
}

body .gform_wrapper input:focus,
body .gform_wrapper textarea:focus {
  border-color: var(--global-color-8);
  outline: none;
}

/* Placeholder color */
body .gform_wrapper ::placeholder {
  color: #7a869a;
}

/* Required field indicator styling */
body .gform_wrapper .gfield_required {
	font-family:poppins;
  color: #b13c00;
  font-weight: 600;
}

/* Submit button */
input#gform_submit_button_1 {
	font-family:poppins;
	font-size:18px;
  background: transparent;
  color: var(--global-color-8);
  border: 2px solid var(--global-color-8);
  padding: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 5px;
  transition: all 0.3s ease;
}

input#gform_submit_button_1:hover {
  background: var(--global-color-8);
  color: #ffffff;
}

.blog-post a.ebpg-grid-post-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3.2em;
    word-break: break-word;
}

.blog-post .ebpg-grid-post-excerpt p {
   display: -webkit-box;
  -webkit-line-clamp: 3;        /* Show only 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 4.8em;            /* 3 lines × line-height */
  word-break: break-word;
}

/* Adjust textarea height */
body .gform_wrapper textarea {
  min-height: 120px;
}

/* Responsive spacing */
@media (max-width: 767px) {
  body .gform_wrapper {
    padding: 0 0px;
  }
}


.archive-post .wp-block-post-title :where(a) {
    display: inline-block;
    color: #0e3159;
    font-family: inherit;
    font-size: 31px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: inherit;
    line-height: 1.3em;
    text-decoration: none;
    margin: 20px 0px -10px 0px;
	      display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3.2em;
    word-break: break-word;
}

.archive-post .wp-block-post-excerpt__excerpt {
	 color:#292929;
	 display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 4.8em;
    word-break: break-word;
}

.archive-post .wp-block-post-excerpt__more-link {
	  margin: 10px 0px 0px 0px;
    color: #0e3159;
    font-size: 18px;
    font-weight: 600;
    display: inline-block;
    text-decoration: none;
}

.wp-block-group.archive-post {
    padding: 0px !important;
}

.site-main .wp-block-group__inner-container {
    padding: 0px 3px;
    border: none;
}

.archive-post figure.wp-block-post-featured-image {
    margin: 0px 0px 20px 0px;
}

.archive-post span.eb-tax-item a {
    background: #72FFE0;
    color: #0e3159;
    padding: 6px 9px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.archive-post span.eb-tax-item a:hover {
    background: #0e3159;
    color: #fff;
    padding: 6px 9px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.archive-post .wp-block-post-featured-image :where(img) {
    box-sizing: border-box;
    height: 250px;
    object-fit: cover !important;
    max-width: 100%;
    vertical-align: bottom;
    width: 100%;
}

.separate-containers .site-main {
    margin: 0px !important;
}
.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation {
    padding: 0px !important;
}


.eb-row-root-container.eb-row-nh2eh {
    background-color: var(--global-color-8)!important;
    padding-top: 80px !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    padding-bottom: 80px !important;
    transition: all 0.5s, background 0.5s, border 0.5s, border-radius 0.5s, box-shadow 0.5s;
}

.eb-row-wrapper:not(.for-editor-page)>.eb-row-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    margin: auto !important;
    max-width: none !important;
    position: relative;
    width: auto !important;
}

.arch-title {
    color: #fff !important;
}

.eb-row-root-container.eb-row-7ucfx {
    background-color: rgba(255, 255, 255, 1);
    padding-top: 100px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 100px;
    transition: all 0.5s, background 0.5s, border 0.5s, border-radius 0.5s, box-shadow 0.5s;
}

.eb-row-7ucfx.eb-row-root-container > .eb-row-wrapper {
    max-width: 1170px;
    position: relative;
}

body .gfield_required_text {
  display: none !important;
}

/* Add red asterisk to required field labels */
body .gfield_label .gfield_required::before {
  content: "*";
  color: #0E3159;
  font-size:18px;
  font-weight: bold;
}

#gform_1_validation_container {
  display: none !important;
}


/* Single Case Study Page */

.casestudy-page-header {
    background-color: var(--global-color-8) !important;
    height: 330px;
    color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.case-subheading {
    font-family: Poppins, sans-serif;
    font-size: 55px;
    font-weight: 700;
    line-height: 66px;
    color: rgb(255, 255, 255);
	margin-bottom: 12px;
}
.case-heading {
    font-family: Poppins, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    color: rgb(244, 246, 253);
    margin-bottom: 0px !important;
}
.case-study-thumb {
    text-align: center;
    margin-top: -100px;
}

.case-study-thumb img {
    width: 1008px;
}

section.case-study-sections {
    max-width: 850px;
    margin: 0 auto;
    margin-top: 80px;
	margin-bottom:80px;
}
section.case-study-sections h2 {
    font-family: Poppins, sans-serif;
    font-size: 31px;
    font-weight: 700;
    line-height: 40.3px;
    color: #000;
	margin-bottom:10px !important;
}
section.case-study-sections strong, section.case-study-sections b {
    font-weight: 600;
}
section.case-study-sections hr:last-child {
    display: none;
}
.testimonial-section {
    background-color: white;
}
.cta-section {
	background-color:white;
}
h2.cta-heading {
    font-family: Poppins, sans-serif;
    font-size: 31px;
    font-weight: 700;
    line-height: 40.3px;
    color: #000;
}
.case-study-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    padding: 50px 150px 80px 150px;
    max-width: 1170px;
    margin: auto;
    border-top: 1px solid #cacaca;
}
a.cta-button.eb-button-anchor {
    width: 153px;
    display: block;
    border: 2px solid var(--global-color-8);
    text-align: center;
    color: var(--global-color-8);
    text-decoration: none;
    padding: 10px;
    border-radius: 5px;
}
a.cta-button.eb-button-anchor:hover {
    background-color: var(--global-color-8);
    color: white;
}
.archive-case-study .casestudy-page-header p, .page-case-studies .casestudy-page-header h2 {
    max-width: 850px;
    margin: 0 auto;
}
.tax-case-study-category .wp-block-essential-blocks-row.alignfull.root-eb-row-78r2t {
    margin-bottom: -20px;
}
.casestudy-page-header.archive-header {
    max-width: 100%;
}
.archive-header h1.case-subheading {
    color: white !important;
}

.archive-case-study .casestudy-page-header {
    max-width: 100%;
}
.archive-case-study .casestudy-page-header h1.case-subheading {
    color: white;
    font-size: 48px;
    margin-bottom: 15px;
    line-height: 45px;
}

.case-study-sections hr {
    background-color: rgba(0, 0, 0, .1);
    border: 0;
    height: 1px;
    margin-bottom: 27px;
    margin-top: 27px;
}



@media only screen and (max-width: 1050px){
.RISE-testimonial-section {
    overflow: hidden;
}
.RISE-testimonial-section {
    width: 90%;
}	
.featured-image, section.case-study-sections {
    padding: 0 20px;
}
.case-study-cta {
    padding: 50px 20px 30px 20px;
}	
	
	
}

@media only screen and (max-width: 760px){
.casestudy-page-header {
    height: 270px;
	padding: 0px 20px;
}	
.case-subheading {
	font-size: 35px;
	margin-bottom: 0;
}	
.case-heading {
    font-size: 16px;
    margin-bottom: 50px;
}

.case-study-thumb {
    text-align: center;
    margin-top: -80px;
}
	
.page-content {
    font-size: 16px;
}	
section.case-study-sections h2 {
    font-size: 20px;
    margin-bottom: 20px;
}
section.case-study-sections {
    margin-top: 40px;
    margin-bottom: 40px;
}
section.case-study-cta {
    justify-content: start;
    align-items: flex-start;
    gap: 0;
    flex-direction: column;
}
h2.cta-heading {
    font-size: 22px;
    line-height: 30px;
}
.archive-case-study .case-studies-container h3, .page-case-studies .case-study h3 {
    font-size: 22px;
}
.archive-case-study .case-studies-container h2, .page-case-studies .case-study h2 {
    font-size: 24px;
}	
.archive-case-study .casestudy-page-header h1, .page-case-studies h1 {
    color: white;
    font-size: 35px !important;
    line-height: 45px;
}
	
}

