/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 3.1
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */ 

html {
  scroll-behavior: smooth;
	overflow-x: hidden;
}

.fl-row, .fl-post-grid {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

header {
	background-image: linear-gradient(
        to bottom, 
        rgb(47, 11, 31) 0%, 
        rgba(47, 11, 31, 0) 100%
    );

}

#homehdr {position:relative;}

#homehdr:before {content:'';display:block;background:url(images/Crosshairs/Lithgo_Graphic_Cross_White.svg);background-attachment:scroll;width:120px;height:120px;position:absolute;bottom:300px;left: 4%;z-index:5;
}

#homehdr .fl-row-content-wrap:before {content:'';display:block;background:url(images/Crosshairs/Lithgo_Graphic_Cross_White.svg);width:120px;height:120px;position:absolute;bottom:80px;right: 12%;z-index:5;
}

#homehdr:after {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_White.svg);width:50px;height:50px;position:absolute;top:18%;right:45%;z-index:2;}


#hdrimg {position:relative;}

#hdrimg:before {content:'';display:block;background:url(images/Crosshairs/Lithgo_Graphic_Cross_White.svg);width:120px;height:120px;position:absolute;bottom:80px;left: clamp(20px, 20%, 300px);z-index:5;
}

#hdrimg:after {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_White.svg);width:80px;height:80px;position:absolute;top:20%;right:35%;z-index:2;animation: moveVertical linear;
    animation-timeline: view();}

#introtext {position:relative;}

#introtext:before {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_Pink.svg);width:100px;height:100px;position:absolute;bottom:50px;left: clamp(0, 5%, 300px);z-index:5;}

#introtext:after {content:' ';background:url(images/Target/Lithgo_Graphic_Target-White.svg);width:80px;height:80px;position:absolute;top:10%;right:20%;z-index:2;}

#histext {position:relative;}

#histext:before {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_DarkPurple.svg);width:100px;height:100px;position:absolute;bottom:50px;left:5%;z-index:5;}

#histext:after {content:' ';background:url(images/Target/Lithgo_Graphic_Target-White.svg);width:80px;height:80px;position:absolute;top:10%;right:25%;z-index:2;}

#pracapproach {position:relative;}

#pracapproach:before {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_Pink.svg);width:100px;height:100px;position:absolute;bottom:50px;left:5%;z-index:5;}

#pracapproach:after {content:' ';background:url(images/Target/Lithgo_Graphic_Target-DarkPurple.svg);width:100px;height:100px;position:absolute;top:150px;right:5%;z-index:2;}

.purplecross {position:relative;}

.purplecross:before {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_DarkPurple.svg);width:100px;height:100px;position:absolute;top:30%;left:2%;z-index:5;}

.wws:before {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_DarkPurple.svg);width:100px;height:100px;position:absolute;top:35%;left:2%;z-index:5;}

#pamrow1 {position:relative;}

#pamrow1:before {content:' ';background:url(images/Target/Lithgo_Graphic_Target-DarkPurple.svg);width:80px;height:80px;position:absolute;top:20%;left:10%;z-index:5;}

#pamrow1:after {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_DarkPurple.svg);width:80px;height:80px;position:absolute;top:30%;right:10%;z-index:2;}

#pamrow2 {position:relative;}

#pamrow2:before {content:' ';background:url(images/Target/Lithgo_Graphic_Target-Pink.svg);width:80px;height:80px;position:absolute;top:20%;left:10%;z-index:5;}

#pamrow2:after {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_Pink.svg);width:80px;height:80px;position:absolute;top:30%;right:10%;z-index:2;}

.pamrow3 {position:relative;}

.pamrow3:before {content:' ';background:url(images/Target/Lithgo_Graphic_Target-Pink.svg);width:80px;height:80px;position:absolute;top:20%;left:10%;z-index:5;}

.pamrow3:after {content:' ';background:url(images/Crosshairs/Lithgo_Graphic_Cross_Pink.svg);width:80px;height:80px;position:absolute;bottom:30%;right:10%;z-index:2;}

h1 {line-height:1;}

body:not(.fl-builder-edit) #fullmenurow {position:fixed;top:0;left:0;width:100vw; height:100vh;;overflow:scroll;display:none;z-index:99999;}

.fullmenu {background: rgb(217, 46, 158);}

.hotpink {color:rgb(217, 46, 158);}
/* 1. Target the specific sub-item modules and force them to collapse */
.fl-node-8ogqrzjsu93h, 
.fl-node-hfs8r9o6qjmx, 
.fl-node-72exntyu14gp, 
.fl-node-isbm5qdukaeg, 
.fl-node-spw813f6b50a {
    height: 0 !important; /* Force the height to 0 */
    overflow: hidden !important;
    margin: 0 !important;
	margin-left:20px !important;
    padding: 0 !important;
    opacity: 0;
    transition: height 0.4s ease, opacity 0.3s ease, margin 0.4s ease;
}

/* 2. The 'Open' state - we use max-height to allow for variable content sizes */
.menu-open {
    height: auto !important;
    /* We use a large max-height for the animation transition */
    max-height: 1000px; 
    opacity: 1;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

/* 3. Handle the animation trigger for height */
/* Since we are switching to height: auto, we use this transition trick */
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.menu-open > * {
    animation: slideDown 0.8s forwards;
}

/* 4. Styling for the Solutions trigger */
.fl-node-drxohal9bjgu {
    cursor: pointer;
    margin-bottom: 5px !important;
}

.fl-node-qdhx20gm6vwa a:hover {text-decoration:none;}

.white {color:#ffffff !important;}

.purple {color:#220b18;}

.fl-main-content {background-color:#fff;}

/* Make the first row stick in place as we scroll */
.sticky-reveal-row {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    /* This keeps the row at the top of the viewport while the rest of the page moves */
}

/* Ensure the second row has a higher stack order to cover the first */
.sliding-overlay-row {
    position: relative;
    z-index: 10;
}

#btp {position:fixed;bottom:40px;right:40px;}

#newsrow .fl-post-grid-post {border:none;padding:0 20px;height:560px;}

#newsrow .fl-post-grid-image img {border-radius:0 50px 50px 50px;}

/* 1. Base State: Locked and Collapsed */
.fl-col:has(.pmcrow) > .fl-col-content {
    display: block !important; 
    height: 195px !important;
    overflow: hidden !important;
    border-radius: 0 50px 50px 50px !important;
    transition: none !important; /* Disable CSS transitions to let jQuery take over */
}

/* 2. Expanded State */
.fl-col.is-expanded:has(.pmcrow) > .fl-col-content {
	
}

/* 3. The Icon (.pmcrow) */
.pmcrow {
    position: absolute !important;
    bottom: 20px !important;
    right: 30px !important;
    z-index: 100;
    cursor: pointer;
    transition: transform 0.6s ease-in-out !important;
    transform: rotate(90deg) !important;
}

.is-expanded .pmcrow {
    transform: rotate(0deg) !important;
}

/* 4. Background Fade (Slower to match the box) */
.fl-row:has(.pmcrow) .fl-row-content-wrap {
    /* background-image: none !important; */
   /* transition: background-image 1.2s ease-in-out !important; */
	
	background-position:center top !important;
}

.fl-row.is-expanded .fl-row-content-wrap {
    background-size: cover !important;
    background-position: center bottom !important;
    background-image: url(/wp-content/uploads/2026/03/print_row_bg.webp) !important;
}

.fl-row.is-expanded.spacerow .fl-row-content-wrap {
    background-image: url(/wp-content/uploads/2026/03/spacebg.webp) !important;
}

.fl-row.is-expanded.eventsrow .fl-row-content-wrap {
    background-image: url(/wp-content/uploads/2026/03/eventsbg.webp) !important;
}

/* 5. Extra space for the background */
.fl-col.is-expanded .fl-col-content {
    padding-bottom:80px;
	
}


.megamenuonclick {
	
	color:#d92e9e;
	
}


.mega-menu-saved-row-container {

width: 100vw;
    background: #d92e9e;
    position: absolute;
    top: 0px;
    display: none;
}



.mega-menu-saved-row-container .fl-row-content-wrap{
	-webkit-align-items: start !important;
    -webkit-box-align: start !important;
    -webkit-box-pack: start !important;
    -webkit-justify-content: start !important;
    -ms-flex-align: start !important;
    -ms-flex-pack: start !important;
    justify-content: start !important;
    align-items: start !important;
	
}




.lithgo_button.financial a {background-image:url(images/icons/financial_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo_button.sports a {background-image:url(images/icons/sports_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo_button.agency a {background-image:url(images/icons/agency_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo_button.retail a {background-image:url(images/icons/retail_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo_button.charity a {background-image:url(images/icons/charity_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo_button.education a {background-image:url(images/icons/education_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo_button.construction a {background-image:url(images/icons/construction_icon.webp) !important;background-position:92% center;background-repeat:no-repeat;background-size:42px;}

.lithgo.button a:hover {background:inherit !important;background-position:inherit !important; background-repeat: no-repeat !important;border: inherit !important;background-size:42px !important;}

.lithgo_button a.fl-button:hover, .fl-builder-content a.fl-button:hover  {background-repeat: no-repeat !important;background-position:92% center !important;background-size:42px !important;}



/* 1. MAIN WRAPPER */
.testimonial-carousel-container {
   
    
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

/* 2. THE TEXT CONTENT & QUOTES */
.testimonial-text-content {
    color: #ffffff !important;
    font-size: clamp(18px, 4vw, 26px) !important; /* Responsive font size */
    line-height: 1.5 !important;
    font-weight: 500 !important;
    max-width: 900px !important;
    margin: 0 auto 30px auto !important;
    display: inline-block !important; /* Vital for quote alignment */
    position: relative !important;
}

/* Force WordPress <p> tags to stay inline so quotes can hug them */
.testimonial-text-content p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Opening Quote */
.testimonial-text-content::before {
    content: "“" !important;
    color: #d92e9e !important;
    font-size: 40px !important;
    font-family: "Funnel Sans", serif !important;
    margin-right: 0 !important;
    line-height: 0 !important;
    display: inline-block !important;
    vertical-align: -10px !important;
}

/* Closing Quote */
.testimonial-text-content::after {
    content: "”" !important;
    color: #d92e9e !important;
    font-size: 40px !important;
    font-family: "Funnel Sans", serif !important;
    margin-left: 0 !important;
    line-height: 0 !important;
    display: inline-block !important;
    vertical-align: -10px !important;
}

/* 3. NAME & COMPANY (META) */
.testimonial-meta {
    margin-top: 0 !important;
    display: block !important;
}

.testimonial-name {
    display: block !important;
    color: #d92e9e !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
}

.testimonial-company {
    display: block !important;
    color: #d92e9e !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* 4. THE CONTROL BAR (ARROWS & DOTS) */
.testimonial-controls {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
    margin-top: 50px !important;
    min-height: 30px !important;
}

/* Fix for disappearing Arrows */
.testimonial-prev-arrow, 
.testimonial-next-arrow {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.testimonial-prev-arrow svg, 
.testimonial-next-arrow svg {
    fill: #ffffff !important;
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

/* Fix for elongated Dots (Pills) */
.custom-slick-dots {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
}

.custom-slick-dots li {
    width: 12px !important;
    height: 12px !important;
    margin: 0 6px !important;
    padding: 0 !important;
    display: block !important;
}

.custom-slick-dots li button {
    width: 12px !important;
    height: 12px !important;
    padding: 0 !important;
    background: #4a3a44 !important; /* Inactive color */
    border-radius: 50% !important; /* Forces a circle */
    border: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    cursor: pointer !important;
    display: block !important;
    box-shadow: none !important;
}

/* Active Dot Color */
.custom-slick-dots li.slick-active button {
    background: #d92e9e !important; /* Pink active color */
}

/* 5. SLICK FADE TRANSITION FIX */
.testimonial-slick-slider {
    margin: 0 !important;
    padding: 0 !important;
}

.testimonial-slide {
    outline: none !important;
}

.testimonial-slide {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 350px; /* Adjust this height to give your content room to breathe */
}

/* --- News Grid Container --- */

.fl-post-grid-post {
    text-align: center !important;
    background: transparent !important;
    border: none !important;
  }

.fl-post-grid-column {padding:0;}


.fl-post-grid-post::last-child {border-right:none;}

/* --- Image Styling: Specific Rounded Corners --- */
.fl-post-grid-image {
    margin-bottom: 25px !important;
}

.fl-post-grid-image img {
    border-radius: 40px 40px 40px 0px !important; /* Matches the "bottom-left flat" look in your image */
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* --- Title Styling --- */
.fl-post-grid-title a {
    font-family: inherit; 
    color: #d92e9e !important; 
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
}

/* --- Meta Info (Date & Read Time) --- */
.fl-post-grid-meta {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
}

/* --- Excerpt / Content --- */
.fl-post-grid-content {
    font-size: 18px !important;
    line-height: 1.5 !important;
    color: #444 !important;
    margin-bottom: 25px !important;
	min-height:171px;
	position:relative;
}

/* --- "Read More" Button: The Light Blue Pill --- */
.fl-post-grid-more {
    display: inline-block !important;
    background-color: #cef2f7 !important; /* Light blue from image */
    color: #1e0915 !important; /* Dark text */
    padding: 12px 35px !important;
    border-radius: 0 15px 15px 15px !important; /* Pill shape */
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 20px !important;
    transition: background 0.3s ease !important;
	width:100%;
	position:absolute;bottom:0;right:0;
}

.fl-post-grid-more:hover {
    background-color: #bdecf3 !important;
}

.fl-module-button a {outline:2px solid #d92e9e !important;}

.fl-module-button a:hover {outline:none !important;}

/* --- Optional: Adding the vertical separator lines --- */
@media (min-width: 768px) {
    .fl-post-column {
        border-right: 2px solid #2f0b1f !important;
        padding: 0 !important;
    }
    .fl-post-column:last-child {
        border-right: none !important;
    }
}
/* Style the labels to match the dark homepage font */
.wpcf7-form label {
    font-size: 20px;
    font-weight: 600;      /* Slightly bolder to match headings */
    color: #1d1d1b !important;        /* Darker brand color from your homepage */
    margin-bottom: 12px;
    display: block;
	
}

/* Style the input fields and textarea */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    border: 2px solid #d92e9e; /* Pink border */
    border-radius: 15px;       /* Rounded corners */
    font-size: 18px;           /* Larger font size */
    padding: 12px; 
	margin-top:8px; 
    background-color: #fff;
    width: 100%;
    color: #1d1d1b;            /* Ensures text you type is also the dark color */
}

/* Change border color when clicking into a field */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: #c2185b;     /* Slightly darker pink on focus */
    outline: none;
}

/* Style the Submit Button */
.wpcf7-form input[type="submit"] {
    color: #ffffff;            /* White text */
    font-size: 20px;           /* Larger button text */
    font-weight: bold;
    padding: 15px 35px;
    border: none;
    border-radius: 50px;       /* Pill-shaped rounded corners */
    cursor: pointer;
    transition: background-color 0.3s ease;
    text-transform: uppercase;
}

/* Button Hover State */
.wpcf7-form input[type="submit"]:hover {
    background-color: #c2185b; /* Darker pink on hover */
}

a.menutoggle {text-decoration:none !important;}

a.menutoggle:hover {color:#d92e9e !important;}

#fullmenurow a.menutoggle:hover {color:#f2f2f2 !important;}

/*
.fl-node-content h2 {
    font-size: 35px !important;
}

.fl-node-content h3 {
    font-size: 26px !important;
}

*/

.parallax-content {
    perspective: 1px;
    height: 200vh; /* Adjust height as needed */
    overflow-x: hidden;
    overflow-y: auto;
}


.parallax-content .fl-row-content-wrap {
    transform: translateZ(-1px) scale(2);
    z-index: -1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.crossbg {position:absolute;top:140px;left:5%;}

.targetbg {position:absolute;top:40px;right:140px;}

.targetwhite svg path {
  fill: #ffffff; /* Changes the shape color */
  stroke: #ffffff; /* Changes the border color */
}

/* 1. Set the stage: Make the container the 'boundary' */
#printcol {
    position: relative;
    cursor: pointer;
}

/* 2. Stretch the trigger to cover the whole div */
#printcol .pmcrow::after {
    content: "";
    position: absolute;
    /* This makes the 'after' element fill the #printcol div */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* This ensures it sits on top of the text so the click registers */
    z-index: 10; 
}

/* 3. Ensure the trigger itself doesn't move weirdly */
#printcol .pmcrow {
    position: static;
}

textarea {height:250px !important;}

input[type=submit] {float:right; background-color:#d92e9e;}

.fl-node-hy6q8dvom2fa > .fl-row-content-wrap {background-size:100% auto !important;}



.ataglance a {cursor: default !important;pointer-events:none;}

.accred-text-content p:first-child {color: #d92e9e !important;}

.fl-module-rich-text, .testimonial-content-wrapper p {line-height:1.2 !important;}

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

	.fl-builder-content-11 .fl-node-j5qrn4bwmke2 {justify-content: center;}
	
	.crossbg {display:none;}
	
	.fl-col.is-expanded .fl-col-content {
    padding-bottom:80px;
	}
	
	.fl-col:has(.pmcrow) > .fl-col-content {
    height: 220px !important;
	}
	
	.fl-col:has(.pmcrow) > .fl-col-content .fl-module-rich-text {
    
		visibility:hidden;
	}
	
	.fl-col.is-expanded:has(.pmcrow) > .fl-col-content .fl-module-rich-text {
		
		visibility: visible;
	}
	
	.fl-row.is-expanded .fl-row-content-wrap {
 
    background-image: none !important;
	}
	footer .fl-col-small:not(.fl-col-small-full-width) {
        max-width: 100%;
    }
	
	.fl-node-qdhx20gm6vwa.fl-col > .fl-col-content {
		
		margin-left:15px;
	}
	
	.accred-text-content p {font-size:20px !important;}
}

@media only screen and (max-width: 1526px) {
	
	.crossbg {display:none;}
	
}

@media only screen and (max-width: 1425px) {
	.mobrembg .fl-row-content-wrap {background-size:0% !important;}
	
	
	#homehdr:before {display:none;
}

#homehdr .fl-row-content-wrap:before {
	display:none;
	}
	
#homehdr:after {display:none; }

	
	
	#hdrimg {position:relative;}

#hdrimg:before {
	display:none;
}

#hdrimg:after {
	display:none;
	}

#introtext {position:relative;}

#introtext:before {
	display:none;
	}

#introtext:after {
	
	display:none;
	}

#histext {position:relative;}

#histext:before {
	display:none;
	}

#histext:after {
	display:none;
	}

#pracapproach {position:relative;}

#pracapproach:before {
	display:none;
	}

#pracapproach:after {
	display:none;
	
	}

.purplecross {position:relative;}

.purplecross:before {
	display:none;
	}
	.wws:before {display:none;}

#pamrow1:before {display:none;}

#pamrow1:after {display:none;}

#pamrow2:before {display:none;}

#pamrow2:after {display:none;}

.pamrow3:before {display:none;}

.pamrow3:after {display:none;}

}

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

		.fl-row.is-expanded.fl-row-content-wrap, .fl-row:has(.pmcrow).fl-node-ga50s8wlfteo.fl-row-bg-photo > .fl-row-content-wrap, .fl-row:has(.pmcrow).fl-node-yha10p2tku8n.fl-row-bg-photo > .fl-row-content-wrap, .fl-row:has(.pmcrow).fl-node-r7x0y4bcao2z.fl-row-bg-photo > .fl-row-content-wrap {

			background: none !important;
		}
	
	.blog .fl-post-grid {max-width:130vw !important;}
	
	.fl-node-r5wx9emqjbcl .fl-col-content {max-width:390px;margin:auto !important;}
}

textarea {resize: none;}

.pamrow3 .fl-module-rich-text {padding-top:20px;}

@media (max-width: 768px) {
	
	.fl-builder-content .fl-node-u8xkdvibjyst.fl-module-rich-text.fl-rich-text {margin-bottom:10px !important;}
	
}
    