/**
Theme Name: Beekeeper Group 2025 Redesign
Author: Beekeeper Group
Author URI: http://wpastra.com/about/
Description: Child theme for the 2025 redesign of the Beekeeper Group site
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beekeeper-group-2025-redesign
Template: astra
*/

/*
 * This CSS provides the styling for the timeline component.
 * It's designed with accessibility and a mobile-first approach.
 * Responsive Breakpoint: 768px
 */

:root {
  /* Design Tokens for easy customization */
  --timeline-color: #3f51b5; /* Primary accent color */
  --timeline-line-color: #e0e0e0;
  --timeline-line-thickness: 4px;
  --timeline-circle-size: 20px;
  --font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --background-color: #f5f5f5;
  --text-color: #333;
}

.timeline {
  font-family: var(--font-stack);
  max-width: 960px;
  margin: 2rem auto;
  padding: 0 1rem;
  position: relative;
  color: var(--text-color);
  list-style: none; /* Remove list bullets */
}

/* Base styles for the timeline line */
.timeline-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  width: var(--timeline-line-thickness);
  background-color: var(--timeline-line-color);
}

.timeline-milestone {
  position: relative;
  padding-left: 40px;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--timeline-line-color);
}

.timeline-milestone:last-of-type {
  border-bottom: none;
}

.timeline-milestone-circle {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--timeline-circle-size);
  height: var(--timeline-circle-size);
  background-color: var(--timeline-color);
  border-radius: 50%;
  transform: translateX(calc(-50% + 10px));
}

.timeline-milestone-date {
  font-weight: 700;
  color: var(--timeline-color);
  margin-bottom: 0.5rem;
}

.timeline-milestone-title {
  margin-top: 0;
}

/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .timeline-milestone {
    transition: none;
  }
}

/*
 * --- Responsive Breakpoint: Desktop Layout ---
 * At 768px, we switch to a two-column layout.
 */
@media (min-width: 768px) {
  .timeline {
    padding: 0;
  }

  .timeline-line {
    left: 50%;
    transform: translateX(-50%);
  }

  .timeline-milestone {
    padding-left: 0;
    margin-bottom: 0;
    border-bottom: none;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 3rem;
  }
  
  .timeline-milestone:nth-child(odd) {
    flex-direction: row-reverse;
  }

  .timeline-milestone-circle {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease-in-out;
  }

  .timeline-milestone-content {
    max-width: 45%;
    padding: 0 1rem;
    box-sizing: border-box;
  }

  .timeline-milestone:nth-child(even) .timeline-milestone-content {
    text-align: right;
  }

  /* Accessibility: Focus state for timeline circles (if they were interactive) */
  .timeline-milestone-circle:focus {
    outline: 3px solid var(--timeline-color);
    outline-offset: 3px;
  }
}

/* Homepage Transparent Header */
.home.ast-theme-transparent-header .main-header-menu > .menu-item > a,
.home.ast-theme-transparent-header .main-header-menu > .menu-item > a .ast-nav-arrow {
    color: #020304 !important; /* Force the text and carat color for main menu items */
}

/* Makes the transparent header color black on homepage only */
.home .ast-mobile-svg {
	fill: var(--ast-global-color-2) !important;
}

/* Target the main navigation links on hover and focus states */
.home.ast-theme-transparent-header .main-header-menu > .menu-item > a:hover,
.home.ast-theme-transparent-header .main-header-menu > .menu-item > a:focus,
.home.ast-theme-transparent-header .main-header-menu > .menu-item > a:hover .ast-nav-arrow,
.home.ast-theme-transparent-header .main-header-menu > .menu-item > a:focus .ast-nav-arrow {
    color: var(--ast-global-color-1) !important; /* Maintain the text and carat color on hover/focus */
}
}

/* Target the main navigation links on hover and focus states */
.home.ast-transparent-header .main-header-menu > .menu-item > a:hover,
.home.ast-transparent-header .main-header-menu > .menu-item > a:focus,
.home.ast-transparent-header .main-header-menu > .menu-item > a:hover .ast-nav-arrow,
.home.ast-transparent-header .main-header-menu > .menu-item > a:focus .ast-nav-arrow {
    color: #020304 !important; /* Maintain the text and carat color on hover/focus */
}
/* End Home Transparent Header

/* New 8/29/25 Staff Grid Styling -- REVISED v5 (Responsive Fix) */

/* Makes the entire card clickable and removes underline */
.staff-link,
.staff-link:hover {
    display: block;
    text-decoration: none !important;
    color: inherit;
}

/* The main card container */
.about-card {
	aspect-ratio: 3 / 4;
	width: 100%;
	border-radius: 4px;
	overflow: hidden;
	transition: all 0.3s ease;
	position: relative; 
}

.facetwp-template .about-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	transition: all 0.3s ease;
}

/* REVISED: Image is now absolutely positioned to fill the container */
img.staff-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position:50% 100%;
}

/* REVISED: Overlay z-index is added to ensure it's on top */
.staff-meta {
	position: absolute;
	bottom: 0;
	left: 0; /* Corrected to lower-left corner */
	width: 75%;
	padding: 20px;
	background-color: white;
	z-index: 1; /* Ensures overlay is above the image */
}

/* Typography styles */
.staff-meta p {
    color: var(--ast-global-color-2);
    transition: none;
}

p.staff-name {
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1em;
	margin-bottom: 0.3em;
}

p.staff-position {
	line-height: 1.2em;
	margin-bottom: 0px;
}

/* End Staff Grid Styling */

/* Career Grid Styling */
/* --- Career Grid Layout --- */

/* 1. The main grid container */
.facetwp-template .career {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Default: 3 equal-width columns */
    gap: 40px; /* Space between cards */
    align-items: stretch; /* This makes all cards in a row equal height */
}

/* 2. The career card itself */
.career-card {
    display: flex; 
    flex-direction: column; /* Stacks content vertically */
    text-decoration: none;
    color: inherit;
    box-shadow: 0 0px 20px rgba(0,0,0,0.1);
    background-color: var(--ast-global-color-4);
    border-radius: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 300px;
}

/* 3. NEW: Flex container for card content */
/* This makes the meta info stick to the bottom of the card */
.career-card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allows this container to fill the available space */
    padding: 2rem;
}


.career-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* 4. Career title styling */
.career .career-card .career-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ast-global-color-2);
    margin: 0;
    flex-grow: 1; /* ADDED: Pushes the divider and meta to the bottom */
}

/* 5. The new shape divider */
.career .career-card .career-divider {
    width: 40px;
    height: 5px;
    background-color: var(--ast-global-color-1);
    margin-top: 20px;
    margin-bottom: 20px;
}

/* 6. Container for the meta info (location & commitment) */
.career .career-card .career-meta {
    display: flex;
    flex-direction: column;
    gap: 0rem;
    font-size: 1rem;
    color: #555;
}


/* --- Responsive Grid Adjustments --- */

/* For Tablet Screens */
@media (max-width: 1024px) {
    .facetwp-template .career {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
}

/* For Mobile Screens */
@media (max-width: 767px) {
    /* FIXED: The selector was corrected from ".career .facetwp-template" */
    .facetwp-template .career {
        grid-template-columns: 1fr; /* 1 column */
    }
}

/* --- Link Underline Removal --- */
.career .career-card,
.career .career-card:hover {
    text-decoration: none !important;
}

/* End Career Grid Styling */

/* Case Studies Grid Styling - v3 */

/* 1. The main grid container */
.facetwp-template .casestudies {
    display: grid;
    /* ADDED !important to override theme styles */
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px;
}
/* 2. The case study card itself - FORCED RULES */
.case-study-item {
    display: block;
    position: relative;
    overflow: hidden;
    
    /* FORCED aspect ratio using the padding hack */
    height: 0 !important;
    padding-bottom: 132.1% !important; /* (700px / 530px) * 100 */
    
    /* Background and other properties */
    border-radius: 4px;
    text-decoration: none;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* 3. Overlays and their content */
/* No changes needed here, these styles are correct */
.case-study-item .title-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 65%;
    background: #ffffff;
    padding: 1.5rem;
    line-height: 1.3;
    transition: opacity 0.3s ease;
}

.case-study-item .title-overlay h3 {
    margin: 0;
    padding: 0;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a1a;
}

.case-study-item .title-overlay h4 {
    margin: 0;
    padding: 0;
    font-size: .8rem;
    font-weight: 500;
    margin-top: 20px;
    color: var(--ast-global-color-5);
    line-height: 1rem;
}

.case-study-item .hover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(190, 19, 85, 0.9);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.case-study-item .hover-content {
    padding: 2rem;
    color: #ffffff;
}

.case-study-item .hover-content .read-more-link {
    display: block;
    color: #FFDD10;
    font-weight: bold;
    margin-bottom: 2rem;
}

.case-study-item .hover-content h3 {
    margin: 0 0 0.5rem 0;
    font-size: 3rem;
    line-height: 1;
    color: #ffffff;
}

.case-study-item .hover-content .client-name {
    margin: 0 0 1.5rem 0;
    opacity: 0.9;
    font-size: 1.4em;
    font-weight: 700;
}

.case-study-item .hover-content .excerpt {
    margin: 0;
    line-height: 1.2;
	font-weight:500;
}

.case-study-item .hover-content .deliverables {
    margin: 0;
    line-height: 1.2;
    font-size: 0.8em;
	position: absolute;
    bottom: 30px;
	width:70%;;
}

.case-study-item:hover .hover-overlay {
    opacity: 1;
}

.case-study-item:hover .title-overlay {
    opacity: 0;
}

/* --- Responsive Grid Adjustments --- */
@media (max-width: 767px) {
    .facetwp-template .casestudies {
        /* ADDED !important to ensure override on mobile */
        grid-template-columns: 1fr !important;
    }
}

@media (max-width:1025px) {
	.case-study-item .hover-content .excerpt {
	font-size:0.9rem;
}
	.case-study-item .hover-content h3 {
		font-size:2rem;
	}
}


/* END Case Study Styling */

/* --- Blog Card Styling --- */

.blog-card {
    display: flex;
    flex-direction: row;
    gap: 40px;
    padding: 40px;
    border-bottom: 1px solid #e0e0e0;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    background-color: var(--ast-global-color-4);
    border-radius: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
}

.blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 25px rgba(0,0,0,0.15);
}

.blog-image {
    flex: 0 0 40%;
	width: 40%;
	aspect-ratio: 4 / 3;
}

.blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}

.blog-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 30px;
}

.blog-card:not(:has(img)) {
    display: block;
}

.blog-card:not(:has(img)) .blog-image {
    display: none;
}

.blog-title a {
    font-size: 28px;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1.2;
    color: var(--ast-global-color-5);
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size 0.3s ease;
}

.blog-title a:hover {
    background-size: 100% 2px;
}

.blog-meta {
    margin: 8px 0 16px 0;
    font-size: 14px;
    color: var(--ast-global-color-3);
	line-height:1.2;
}

.blog-content .blog-divider {
    width: 40px;
    height: 5px;
    background-color: var(--ast-global-color-1);
    margin-top: 20px;
    margin-bottom: 20px;
}

.blog-excerpt {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
}

.read-more-btn {
    position: absolute;
    bottom: 40px;
    right: 40px;
    color: #000;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 16px;
}

.read-more-btn::after {
    content: '→';
    margin-left: 8px;
    color: var(--ast-global-color-5);
    transition: transform 0.2s ease-in-out;
}

.read-more-btn:hover::after {
    transform: translateX(5px);
}

/* --- NEW: Tablet Styles --- */
@media (max-width: 991px) {
    /* Switch to a stacked layout on screens 991px and smaller */
    .blog-card {
        flex-direction: column;
        gap: 25px;
    }

    /* Make the image container full-width */
    .blog-image {
        width: 100%;
        flex-basis: auto;
        /* The 4:3 aspect ratio works well here */
    }
}

/* --- UPDATED: Mobile Styles --- */
@media (max-width: 768px) {
    .blog-card {
        padding: 25px;
        gap: 20px;
    }

    /* On smaller screens, use a wider 16:9 aspect ratio */
    .blog-image {
        aspect-ratio: 16 / 9;
    }

    .blog-title a {
        font-size: 22px;
    }
    
    .read-more-btn {
        bottom: 25px;
        right: 25px;
    }
}

/* --- FacetWP "Load More" Button Styling --- */

@keyframes fwp-spinner-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.facetwp-type-pager {
    display: flex;
    justify-content: center;
    margin-top: 60px;
    padding-bottom: 40px;
}

.facetwp-load-more {
    background: none;
    border: none;
    padding: 16px 24px;
    cursor: pointer;
    color: #000;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    position: relative;
    transition: background-color 0.3s ease;
}

.facetwp-load-more:hover, .facetwp-load-more:active, .facetwp-load-more:focus {
    background-color: var(--ast-global-color-8);
}



.facetwp-load-more::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 8px;
    vertical-align: -0.15em;
    background-color: var(--ast-global-color-5);
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 448.6 278.6z"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transition: transform 0.2s ease-in-out;
}

.facetwp-load-more:hover::after {
    transform: translateX(5px);
}

/* When loading, make the original text and arrow invisible */
.facetwp-load-more.facetwp-loading {
    color: transparent;
    background-color: #f5f5f5 !important; /* ADD THIS LINE */
}

.facetwp-load-more.facetwp-loading::after {
    opacity: 0;
}

.facetwp-load-more.facetwp-loading::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.2em;
    height: 1.2em;
    margin-top: -0.6em;
    margin-left: -0.6em;
    border: 3px solid var(--ast-global-color-5);
    border-right-color: transparent;
    border-radius: 50%;
    animation: fwp-spinner-spin 1s linear infinite;
}

.stripe-scroll {
	background-color:black;
}

.client-logos {
	filter: grayscale(1) brightness(15) opacity(0.8);
}

.sidebar-casestudies a { 
	color:#020304;
}

.sidebar-casestudies a:hover { 
	color:var(--ast-global-color-1);
}

/* Center Yoast Breadcrumbs Block */
.breadcrumb-center {
	text-align:center;
	font-size:16px;
}

/* Remove Footer Paragraph Spacing */
.site-below-footer-inner-wrap p {
	margin-bottom:0px;
}

.site-below-footer-wrap {
	padding:0px;
}

/* Services Page Styling */

/* Change tab nav width for Services page */
.services-tabs .uagb-tabs__panel {
	min-width:40% !important;
	max-width:40% !important;
}

/* Services Slider Button Styling */
div#n2-ss-14 .n2-ss-button-container a span {
	color:var(--ast-global-color-5);
}

/* Begin Case Study Styling */

/* Case Study Slider Image Styling */
.slider-shadow {
	filter: drop-shadow(0 0 0.75rem rgba(2,3,4,0.2));
}

/* Form Styling - Contact and Jobs */
/* Next Button */
body .gform_wrapper .gform_body .gform_page_footer .gform_next_button {
	background-color:unset !important;
	color:#020304 !important;
	font-size:16px !important;
	font-weight:700 !important;
	background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="rgba(233,37,112,1)" d="M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"%2F%3E%3C%2Fsvg%3E') !important;
	background-repeat: no-repeat !important;
  background-position: 100% 50% !important;
  padding-right: 2rem !important;
  box-shadow:unset !important;
	border:unset !important;
}

/* Previous Button */
body .gform_wrapper .gform_body .gform_page_footer .gform_previous_button {
	background-color:unset !important;
	color:#020304 !important;
	font-size:16px !important;
	font-weight:700 !important;
	background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="rgba(233,37,112,1)" d="M447.1 256C447.1 273.7 433.7 288 416 288H109.3l105.4 105.4c12.5 12.5 12.5 32.75 0 45.25C208.4 444.9 200.2 448 192 448s-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25l160-160c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L109.3 224H416C433.7 224 447.1 238.3 447.1 256z"%2F%3E%3C%2Fsvg%3E') !important;
	background-repeat: no-repeat !important;
  background-position: 0% 50% !important;
  padding-left: 2rem !important;
  box-shadow:unset !important;
	border:unset !important;
}

/* Submit Button */
body .gform_wrapper .gform_body .gform_page_footer .gform_button {
	background-color:unset !important;
	color:#020304 !important;
	font-size:16px !important;
	font-weight:700 !important;
	background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="rgba(233,37,112,1)" d="M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"%2F%3E%3C%2Fsvg%3E') !important;
	background-repeat: no-repeat !important;
  background-position: 100% 50% !important;
  padding-right: 2rem !important;
  box-shadow:unset !important;
	border:unset !important;
}

/* Styling staff modal popup button */
.single-staff .wp-block-uagb-modal .uagb-modal-button-link {
	font-weight:700;
}

.single-staff .wp-block-uagb-modal .uagb-modal-button-link svg {
	fill: var(--ast-global-color-5) !important;
}

/* Homepage Pillar Hover Styling */
div.homepage-pillar, .homepage-pillar .wp-block-uagb-info-box {
	-webkit-transition: all .4s ease-out !important;
  -moz-transition: all .4s ease-out !important;
  -o-transition: all .4s ease-out !important;
  transition: all .4s ease-out !important;
}

.homepage-pillar .wp-block-uagb-info-box {
  border-left-width:10px !important;
}

.homepage-pillar .wp-block-uagb-info-box {
  border-left-width:10px !important;
}

div.homepage-pillar:hover {
	min-height:calc(80vh - 200px);
	background-blend-mode: multiply;
}

.homepage-pillar .wp-block-uagb-info-box:hover {
  border-left-width:40px !important;
}


div.homepage-pillar-1:hover {
  background-color:rgba(247,148,29,0.9);
}
div.homepage-pillar-2:hover {
  background-color:rgba(125,192,228,0.9);
}
div.homepage-pillar-3:hover {
  background-color:rgba(233,37,112,0.9);
}

/* Styling Checkbox UL for Thought Leadership */
.checkbox-list li::before {
	content: '';
    display: inline-flex
;
    align-items: before;
    margin-right: 10px;
    height: 16px;
    width: 16px;
    background-image: url(https://beekeeperstage.wpengine.com/wp-content/uploads/2025/01/checkbox-square-e1738106759704.png);
    background-size: contain;
}

.checkbox-list li {
  list-style:none;
}

.navigating-ai-callout .callout-img-overlay {
	margin:-50px -100px -100px 0px;
}


/* Thought Leadership Styling */
.thought-leadership .uagb-infobox-icon-left-title .uagb-ifb-image-content img {
	-webkit-box-shadow: unset;
	background-color:unset;
}

.spectra-gbs-thought-leadership-headline-w-icon1753193618002 {
	text-align:left !important;
}

/* Reverse Pullquote SVG */
.pullquote-reverse img {
	filter:grayscale(100%) brightness(100);
}

.progress-container-bottom {
	opacity:1.0 !important;
}

/* Homepage Sections Extra Styling */
/* NOTE: Do most of this in the Code Snippets PHP! */

/* About section timeline styling */
/* * Custom CSS for Spectra Post Carousel Block
 * This code adds a drop shadow, rounded corners, background color, and spacing to the carousel items.
 */

.page-id-43 .uagb-block-05233751:not(.is-grid).uagb-post__items article {
    background-color: #fff;
    margin: 10px;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
	padding-left:0px;
	padding-right:0px;
}

.uagb-block-05233751 .slick-arrow, .uagb-block-05233751 .slick-dots li button {
	box-shadow:none;
	border-radius:unset;
}

.uagb-block-05233751 .slick-arrow svg {
	fill:var(--ast-global-color-5) !important;
}

.uagb-block-05233751.uagb-slick-carousel ul.slick-dots li button:before {
	color:var(--ast-global-color-3) !important;
}

.page-id-43 .uagb-post__title {
	position:relative;
}

.page-id-43 .uagb-post__title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 6px; /* Adjust thickness as needed */
  background-color: #7DC0E4; /* Adjust color as needed */
}

.page-id-43 .uagb-post-grid-byline {
	margin-top:30px;
}

.page-id-43 .uagb-post__inner-wrap:hover {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
}

.page-id-43 .uagb-post__image {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

@media only screen and (min-width: 992px) {
.about-timeline .slick-slide {
	margin:0px 20px;
}
}

/* @media only screen and (min-width: 992px) {
	.faq-columns {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-auto-rows: auto;
  grid-gap: 40px;
}
} */

footer {
	z-index:1;
}

.footer-links .wp-block-button__link {
	padding:0px !important;
}

/* Disable links in About page highlights carousel */
.uagb-block-05233751 a {
	    pointer-events: none; /* Prevents the link from being clickable */
    cursor: default;     /* Changes the cursor to a default arrow instead of a pointer */
}

/* -- Preloader Styles V4 -- */

/* Main preloader container */
.site-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f7f7f7;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    visibility: visible;
    /* The background fade-out is now slightly faster */
    transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

/* Class added by JS when page is loaded */
.preloader-hidden {
    opacity: 0;
    visibility: hidden;
}

/* NEW: Rule to make the bee fly off-screen */
.preloader-hidden .bee-container {
    /* Moves the bee far off the right side of the screen */
    transform: translateX(150vw);
}

/* -- Bee Animation Styles -- */
.bee-container {
    /* NEW: Added a transition for the exit animation. */
    /* This uses a custom cubic-bezier for a nice acceleration effect. */
    transition: transform 0.8s cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

#bee {
    offset-path: path("M10,30 C10,10 40,10 50,30 C60,50 90,50 90,30 C90,10 60,10 50,30 C40,50 10,50 10,30 Z");
    animation: flight 1.5s linear infinite;
    offset-rotate: auto;
}

@keyframes flight {
    from {
        offset-distance: 0%;
    }
    to {
        offset-distance: 100%;
    }
}

/* -- Accessibility: Respects user preference for reduced motion -- */
@media (prefers-reduced-motion: reduce) {
  #bee {
    animation: none;
  }
  /* NEW: Disables the fly-away exit animation for reduced motion users. */
  .bee-container {
    transition: none;
  }
}

/* Headline Styles - balance lines, add big-intro class */

.balance {
	text-wrap:balance;
}

.big-intro h2 {
	font-family:Barlow, sans-serif;
	font-weight:900;
	font-size:4em;
}

@media (max-width: 767px) {
    .big-intro h2 {
    font-size: 2em;
    }
}

/* Convert quotation mark in quote boxes to Barlow */
.wp-block-uagb-info-box span.uagb-ifb-title-prefix {
	font-family:"Archivo Black" !important;
}

/* Begin Events Calendar styling */
.tribe_events.ast-article-single .tribe-events-event-image img {
	box-shadow:none;
	-webkit-box-shadow:none;
	-moz-box-shadow:none;
}

.tribe-events-event-meta {
	display:flex;
	flex: 1 1 auto;
}


table, td, tr {
	padding:0px !important;
	border:unset;
}

.newsletter-grid .uagb-post__title::after {
	content:"";
	display: block;
	height: 4px;
	width: 10%;
	position: relative;
	top: 20px;
	left: 0px;
	margin-bottom:20px;
	background: #7DC0E4;
}

.newsletter-grid .uagb-post__inner-wrap{
	border-radius:4px !important;
}

/* End Events Calendar Styling */

/*
 * Center all images within posts that have the 'mailchimp-import' class.
 */
body.mailchimp-import .entry-content img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*
 * Force 2-column WordPress galleries to display side-by-side
 * in mailchimp-import posts.
 */
body.mailchimp-import .wp-block-gallery.columns-2 {
    display: flex;
    gap: 16px; /* Adjust the space between images if needed */
}

/*
 * Make each image container in the gallery share the space equally.
 */
body.mailchimp-import .wp-block-gallery.columns-2 .wp-block-image {
    flex: 1;
    margin: 0;
}

/* Start About page timeline style */

.bkg-timeline-slider-container {
	margin-top:0px;
	margin-bottom:0px;
}

.bkg-timeline-arrow {
	display:none;
}

@media (max-width:787px) {
	.bkg-timeline-navigation-container {
		display:none;
	}
}
/* End About page timeline style */

/* --- Custom Mobile Menu Styles for Astra (Final, Forceful Version) --- */

/* 1. Add padding to the main menu content area and force it */
#ast-mobile-popup-wrapper .ast-mobile-popup-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

.ast-mobile-popup-drawer.active .ast-mobile-popup-inner, .ast-builder-menu-mobile .main-navigation .main-header-menu {
	background-color:var(--ast-global-color-4)
}

/* 2. Style for ALL mobile menu item links, forcing the border to appear */
#ast-mobile-popup-wrapper .ast-mobile-popup-content .menu-item a {
    display: block !important;
    width: 100% !important;
    border: none !important;
    border-bottom: 1px solid var(--ast-global-color-5) !important; /* Magenta line */
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important; /* Reset any margins */
}

/* 3. Style ONLY for the sub-menu item links, forcing the override */
/* CORRECTED SUB-MENU RULE */
#ast-mobile-popup-wrapper .ast-mobile-popup-content .sub-menu .menu-item a {
    border-bottom-color: var(--ast-global-color-1) !important; /* Orange line */
    width: auto !important;                   /* Allow the element to shrink */
    margin-left: 30px !important;          /* Indent the ENTIRE element, including its border */
    padding-left: 0 !important;              /* Reset the padding, as margin now creates the space */
}

#ast-mobile-popup-wrapper .sub-menu .ast-icon {
display: none;
}

#ast-mobile-popup-wrapper .ast-menu-toggle {
	box-shadow:none;
}

/* --- Center Mobile Menu Dropdown Arrows --- */

/* 1. Make the parent menu item a positioning container */
#ast-mobile-popup-wrapper .ast-mobile-popup-content .menu-item-has-children {
    position: relative !important;
}

/* 2. Absolutely position the arrow button within the container */
#ast-mobile-popup-wrapper .ast-mobile-popup-content .menu-item-has-children .ast-menu-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 0; /* Aligns to the far right of the menu item */
    transform: translateY(-50%) !important; /* The key to perfect vertical centering */
}

/* --- Set a consistent color for mobile menu arrows --- */

/* Targets the arrow icon in its default, hover, and open/expanded states */
#ast-mobile-popup-wrapper .ast-mobile-popup-content .ast-menu-toggle .ast-arrow-svg,
#ast-mobile-popup-wrapper .ast-mobile-popup-content .ast-menu-toggle:hover .ast-arrow-svg,
#ast-mobile-popup-wrapper .ast-mobile-popup-content .ast-submenu-expanded .ast-menu-toggle .ast-arrow-svg {
    fill: var(--ast-global-color-5) !important; /* Sets the arrow color to your magenta variable */
}
/* End mobile menu styling */

/* Rule to allow staff page contact popup to scroll */
.uagb-modal-popup.active .uagb-modal-popup-wrap {
    max-height: 85vh;
    overflow-y: auto;
}
/* End Rule to allow staff page contact popup to scroll */