@media (min-width: 992px) {
    .menu-heading>a {
        pointer-events: none;
        cursor: default;
        color: inherit;
    }
}

.navbar-nav .dropdown-menu {
    margin-bottom: 10px;
}

/* Main Menu Link Styles */
#nav-main .navbar-nav .nav-link {
    font-weight: 500;
    color: var(--acs-blue);
    letter-spacing: -0.025em;
}

#nav-main .navbar-nav .nav-link.active,
#nav-main .navbar-nav .current-menu-item > .nav-link,
#nav-main .navbar-nav .nav-link:hover,
#nav-main .navbar-nav .nav-link:focus,
#nav-main .navbar-nav .show > .nav-link,
#nav-main .navbar-nav .dropdown:hover > .nav-link {
    /* text-shadow: 0 0 2px rgba(42, 193, 201, 0.5); */
}

#nav-main .footer-only {
    display: none;
}

/*Bootscore custom styles*/

body { font-family:"Open Sans", sans-serif;font-style:normal }

h1, h2, h3, h4, h5, h6 {
    word-break: normal; /* don’t force breaks inside words */
    overflow-wrap: normal; /* don’t insert breaks inside words */
    white-space: normal; /* allow wrapping between words */
}

/* Skip Link Accessibility */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: #000;
    color: #fff;
    padding: 8px;
    text-decoration: none;
    border-radius: 4px;
    z-index: 1000;
    transition: top 0.3s;
}

.skip-link:focus {
    top: 6px;
}

/* Force header actions (nav-toggler) to always align right */
.header-actions {
    margin-left: auto;
}

.bg-light {
    background-color: var(--light-neutral) !important;
}

/* Shadow Utility Classes */
.shadow-xs {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.shadow-sm {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.shadow-md {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.shadow-lg {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.shadow-xl {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.shadow-inner {
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
}

.shadow-none {
    box-shadow: none !important;
}

/* Hover variants */
.shadow-hover-sm:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease-in-out;
}

.shadow-hover-md:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease-in-out;
}

.shadow-hover-lg:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease-in-out;
}

p, li {
      font-size: 0.95rem;
  }

  .primary-color {
    color: var(--primary-color);
  }

/* Responsive font size - smaller on mobile */
@media (max-width: 767.98px) {
  /* Base text sizing */
  body {
    font-size: 0.95rem;
  }
  
  p {
    font-size: 0.95rem;
  }
  
  .lead {
    font-size: 1.1rem;
  }
  
  /* Header sizing */
  .hero-full h1, 
  .hero-constrained h2,
  .hero-content .display-4 {
    font-size: 2rem;
  }
  
  .hero-full p.fs-5,
  .hero-content p.fs-5 {
    font-size: 1rem !important;
  }
  
  /* Button sizing */
  .btn-lg {
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
  }
  
  /* Header buttons specific */
  .hero-full .btn,
  .hero-content .btn {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
  
  .logo-type {
    font-size: 1.25rem;
  }
}

/* Extra small devices (phones) */
@media (max-width: 575.98px) {

  /* Even smaller header sizing */
  .hero-full h1, 
  .hero-constrained h2,
  .hero-content .display-4 {
    font-size: 1.75rem;
  }
  
  .hero-full p.fs-5,
  .hero-content p.fs-5 {
    font-size: 0.95rem !important;
  }
  
  /* More compact button layout */
  .hero-full .btn,
  .hero-content .btn {
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
  }
}

/* Override Bootstrap's bg-primary to use our theme variable */
.bg-primary {
  background-color: var(--primary-color) !important;
}

.section-heading, .modal-title {
	color: var(--primary-color);
    font-weight: 300;
}

.profile-photo{width:100%}

.rounded {
	border-radius: .5rem; /* Rounded corners */
}  

.bg-lt-gray {
    background-color: #f8f9fa;
}

.awards-list .col {
    display: block;
}

/* Card styling for inset appearance */
.awards-list .card {
	border: none;
	padding: 1rem;
	border-radius: 0.5rem;
	background-color: #f8f9fa;
	text-align: center;
	box-shadow: none;
}

/* Optional hover effect for a slight lift */
.awards-list .card:hover {
/*    box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.15),
                inset -1px -1px 4px rgba(255, 255, 255, 0.5),
                2px 2px 5px rgba(0, 0, 0, 0.08);
    transform: scale(1.02);*/
}

.awards-list .card-body {
    text-align: center;
    font-weight: 500;
}

.awards-list .card-title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #444;
}

.awards-list .card-text strong {
    color: #222;
}

.award-year {
	display:block;
}

.award-recipient {
	display:block;
}

.award-recipient a {
    text-decoration: none;
}
.citation-heading, .award-year-heading {
	color: var(--primary-color);
    font-weight: 400;
    font-size: 1.25rem;
}
.recipient-affiliation {
    font-size: 0.85rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: -0.05em;
}
.award-description {
    font-size: 0.95rem;
    font-weight: 400;
}
.stacked-names .name-first, .award-card .award-recipient.stacked-names span {
    display: block;
}
/* ACS Pin Logo Positioning - All Breakpoints */
#acs-pin {
	position: relative;
	z-index: 99;
	max-width: 125px;
	margin-top: -5rem; /* Default: Full upward extension */
}

/* Extra small devices (phones) */
@media (max-width: 575.98px) {
    #acs-pin {
        max-width: 100px;
        margin-top: -3rem; /* Less upward extension on small screens */
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
    #acs-pin {
        max-width: 125px;
        margin-top: -4rem; /* Moderate upward extension */
    }
}

/* Medium screens and up */
@media (min-width: 768px) {
    #acs-pin {
        max-width: 125px;
        margin-top: -5rem; /* Full upward extension */
    }
}

/* Past Officer Cards */
.past-officer-card {
    padding: 1rem;
    border-radius: 0.5rem;
    background-color: #f8f9fa;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.past-officer-card .years {
    font-size: 1.1rem;
}

.past-officer-card .name {
    font-size: 1rem;
    line-height: 1.4;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem; /* This accommodates 2 lines of text */
}

.past-officer-card .name a {
    color: var(--bs-link-color);
    text-decoration: underline;
}

.past-officer-card .name a:hover {
    color: var(--bs-link-hover-color);
}

/* Graduate Schools Layout */
.school-card {
    border-top: 2px solid var(--light-neutral);
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
    position: relative;
}

.school-card__thick-border {
    position: absolute;
    top: -2px;
    left: 0;
    width: 33.333%;
    height: 5px;
    background-color: var(--light-neutral);
}

.school-card__title {
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-size: 1.1rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

/* Job Cards Layout */

.job-sector-filters {
    text-align: center;
}

.job-card {
    border-top: 2px solid var(--light-neutral);
    padding-top: .5rem;
    margin-bottom: .5rem;
    position: relative;
    border-bottom: 2px solid var(--light-neutral);
}

.job-card__thick-border {
    position: absolute;
    top: -2px;
    left: 0;
    width: 50%;
    height: 5px;
    background-color: var(--light-neutral);
}

.job-card .my-card-header {
    background-color: var(--light-neutral);
    border-bottom: none;
    padding: 0;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.sidebar, .sidebar p {
    font-size: 0.875rem;  /* 14px when base is 16px */
}

/* Meeting Cards Layout */
.meeting-card {
    position: relative;
    padding-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.meeting-card__thick-border {
    position: absolute;
    top: -2px;
    right: 0;
    width: 66.666%;
    height: 5px;
    background-color: var(--light-neutral);
}

.meeting-card__thin-border {
    position: absolute;
    top: -2px;
    right: 0;
    width: 100%;
    height: 2px;
    background-color: var(--light-neutral);
}

.meeting-card__image-container {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* Creates a square aspect ratio */
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.meeting-card__title {
    font-family: 'Merriweather', serif;
    font-weight: 700;
    font-size: 1.35rem;
    margin-top: 5px;
    margin-bottom: 0;
}
.meeting-card__title.featured {
    font-size: 1.35rem;
}
.meeting-details {
    font-weight: 400;
    color: #6c757d;
    text-transform: uppercase;
    font-size: .85rem;
}

.v-divider {
    margin: 0 0.25rem;
    color: var(--light-neutral-match);
}

.upcoming {
    letter-spacing: .25em;
    text-transform: uppercase;
    font-weight: 600;
    color: #6c757d;
}

/* Meeting Sessions Styles */
.meeting-sessions {
    padding-top: 1rem;
}

/* Reusable section label style */
.section-label {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--light-neutral-match);
    margin-bottom: 0.5rem;
    font-weight: 600;
    display: block;
}

/* Separates File Section */
.separates-section {
    padding-top: 1rem;
    position: relative;
}

.session-title {
    color: #333;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.session-organizers {
    color: #666;
    font-size: 0.9em;
}

.memorial-text {
    font-size: 0.95em;
    line-height: 1.6;
    color: #333;
}

/* Memorial text with gradient fade effect for truncated content */
.memorial-text-truncated {
    position: relative;
    max-height: 9em; 
    overflow: hidden;
}

.memorial-text-truncated::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3em; /* Height of the fade effect */
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.8) 50%,
        rgba(255, 255, 255, 1) 100%
    );
    pointer-events: none;
}

/* In Memoriam title styling - matches award-recipient */
.in-memoriam-title {
    font-size: 1.15rem;
    line-height: 1.25;
    display: block;
    word-wrap: break-word;
}

.in-memoriam-title span {
    display: inline;
}

.in-memoriam-title .name-first {
    /* margin-right: 0.25em; */
}

.in-memoriam-title a {
    color: var(--acs-blue);
    text-decoration: none;
}

.in-memoriam-title a:hover {
    color: var(--bs-link-hover-color);
}

/* Sidebar link styling to prevent line breaks */
.sidebar a {
    display: inline;
}

.meeting-card__title a {
    color: var(--bs-link-color);
}

.meeting-card__title a:hover {
    color: var(--bs-link-hover-color);
}

.meeting-details-link {
    display: inline-block;
    margin-top: 1rem;
    font-size: 0.9em;
    color: var(--bs-link-color);
}

.meeting-details-link:hover {
    color: var(--bs-link-hover-color);
}

.meeting-theme {
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--acs-blue);
    font-size: 1.1em;
    line-height: 1em;
    }

/* Award Cards */
.award-card {
    padding: 1rem;
    border-radius: 0.5rem;
    background-color: var(--light-neutral);
    height: 100%;
    text-align: center;
}

.award-card .award-year {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    display: block;
}

.award-card .award-recipient {
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    text-align: center;
    word-wrap: break-word;
}

.award-card .award-recipient span {
    display: inline;
}

.award-card .award-recipient .name-first {
    margin-right: 0.25em;
}

.award-card .award-recipient a {
    color: var(--acs-blue);
    text-decoration: none;
}

.award-card .award-recipient a:hover {
    color: var(--bs-link-hover-color);
}

.award-modal-content .award-recipient .recipient-name .name-first, .award-modal-content .award-recipient .recipient-name .name-last {
    font-size: 1.5rem;
}
.award-modal-content .award-recipient .recipient-affiliation {
    font-size: 1rem;
}
.award-modal-content h4.recipient-name {
    margin-bottom: 0;
}

/* Award Modal Curved Background Effect */
#awardModal .modal-body {
    position: relative;
    isolation: isolate;
    padding: 0; /* Remove default padding, we'll add it to inner wrapper */
}

#awardModal .modal-body::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 300' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 225 Q 200 125 400 105 L 400 300 L 0 300 Z' fill='%23e0dad0'/%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1;
    border-radius: inherit;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 35%, black 85%);
    mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 35%, black 85%);
    pointer-events: none;
    opacity: 0.85;
}

/* Award Modal Content Wrapper */
.award-modal-content {
    position: relative;
    z-index: 2;
}

.award-modal-inner {
    padding: 1.5rem; /* Add padding back via inner wrapper */
}

/* ACS Border - Custom yellow right border */
.acs-border {
    border-right: 2px solid var(--acs-yellow) !important;
}

/* Award Modal Footer */
.award-modal-footer {
    background-color: var(--light-neutral);
    padding: 1rem 1.5rem;
    border-radius: 0 0 0.5rem 0.5rem;
    position: relative;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0; /* No top margin needed */
}

/* Top-only inset shadow for award modal footer */
.award-modal-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), transparent);
    pointer-events: none;
}

/* Footer Social Links */
.social-links a {
    color: var(--bs-body-color);
    transition: color 0.2s ease-in-out;
}

.social-links a:hover {
    color: var(--bs-link-color);
}

/* Social Media Cards */
.social-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem;
    list-style: none;
    padding: 0;
}

.social-cards li {
    text-align: center;
}

.social-cards a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    background-color: #f8f9fa;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.social-cards i {
    font-size: 2rem;
    color: var(--bs-link-color);
    transition: color 0.2s ease-in-out;
}

.social-cards a:hover {
    background-color: var(--bs-link-color);
}

.social-cards a:hover i {
    color: white;
}

/* Join Page Styles */
.benefit-card {

}

.benefit-card:hover {
}

.committee-members .affiliation {

}
.committee-members .role {
    font-weight: 600;
}

.cta-button {
    padding: 0.75rem 2rem;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.cta-button:hover {
    transform: scale(1.05);
}

.divider {
    height: 4px;
    width: 80px;
    margin: 1rem auto;
}

/* Photo Feature Card */
.photo-feature-card {
    margin-top: 20px;
    border-radius: 0px;
 }
 
 .photo-feature-card .card-img-block {
    width: 91%;
    margin: 0 auto;
    position: relative;
    top: -20px;
 }
 
 .photo-feature-card .card-img-block img {
    border-radius: 0px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.63);
 }

/* Header Logo Type */
.logo-type {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: -0.05em;
}

.logo-type-newsletter {
    font-weight: 700;
    color: var(--acs-blue);
    text-transform: uppercase;
}

.newsletter-issue {
    font-weight: 500;
    color: var(--acs-blue);
}

.newsletter-archive-container .newsletter-title {
    font-size: 1em;
}

/* Curved Background Effect - Generic for all featured sections */
.curved-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 300' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 225 Q 200 125 400 105 L 400 300 L 0 300 Z' fill='%23e0dad0'/%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 3;
    border-radius: inherit;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 35%, black 100%);
    mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 35%, black 100%);
    opacity: 0.85;
}

/* Footer Logo Type */
.footer-logotype {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.05em;
}

.logo-type a, .footer-logotype a {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.logo-type-acs, .footer-logotype .acs {
    color: var(--acs-blue);
}

.logo-type-nucl, .footer-logotype .nucl {
    color: var(--acs-yellow);
    font-weight: 700;
}

.footer-logotype .nucl {
    font-size: 1.25rem;
}

.affilliation, .recipient-affiliation {
    font-size: 0.85rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: -0.05em;
}

/* Popover styling */
.popover {
    border: none;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.popover .popover-arrow::before {
    display: none;
}

.popover .popover-arrow::after {
    border-top-color: #fff;
}

/* Two-colored border effect */
.two-color-border {
    position: relative;
    padding-bottom: 0.5rem;
    display: inline-block;
}

.two-color-border::after,
.two-color-border::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;    
}

.two-color-border::after {
    width: 100%;
    background-color: var(--acs-blue);
}

.two-color-border::before {
    width: 20%;
    background-color: var(--acs-yellow);
    z-index: 1;
}

/* Hero Logo Type */
.hero-logotype {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 1.1;
}

.hero-logotype::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--acs-yellow);
}

.hero-logotype::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20%;
    height: 2px;
    background-color: var(--acs-blue);
    z-index: 1;
}

.hero-logotype-acs {
    color: white;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    display: block;
    letter-spacing: -0.025em;
}

.hero-logotype-nucl {
    color: var(--acs-yellow);
    font-weight: 700;
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    display: block;
    letter-spacing: -0.05em;
}

/* Special layout for iPad/768px */
@media (min-width: 768px) and (max-width: 991.98px) {
    .hero-content {
        padding-left: 1rem;
    }

    .hero-logotype {
        font-size: 2rem;
    }

    .hero-logotype-acs {
        font-size: 1.25rem;
    }

    .hero-logotype-nucl {
        font-size: 2rem;
    }
}

/* Responsive adjustments for hero logotype */
@media (max-width: 767.98px) {
    .hero-logotype {
        font-size: 2rem;
    }
    
    .hero-logotype-acs {
        font-size: 1.25rem;
    }
    
    .hero-logotype-nucl {
        font-size: 2rem;
    }
}

@media (max-width: 575.98px) {
    .hero-logotype {
        font-size: 1.75rem;
    }
    
    .hero-logotype-acs {
        font-size: 1.1rem;
    }
    
    .hero-logotype-nucl {
        font-size: 1.75rem;
    }
}

.hero-headline {
    letter-spacing: -0.05em;
    font-weight:400;
}

.membership-join-section {
    background-image: url('../img/join/join-bg-7.jpg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    /* color: white; */
}

.membership-join-section::before {
    /* content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: inherit; */
}

.membership-join-section .card {
    background-color: rgba(255, 255, 255, 0.95);
}

.membership-join-section .row {
    position: relative;
    z-index: 1;
}

.membership-join-section-panels .panels-container {
    position: relative;
}

.membership-join-section-panels .panel-row {
    display: flex;
    width: 100%;
    gap: 1rem;
}

.membership-join-section-panels .panel {
    flex: 1;
    min-height: 400px; /* Minimum height, can be adjusted */
    overflow: hidden;
    position: relative;
    border-radius: 0.5rem;
    color: white;
    background-color: var(--acs-blue);
}

.membership-join-section-panels .image-clip {
    position: absolute;
    top: 0;
    width: 300%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center; /* Anchor to top */
    z-index: 1;
}

.membership-join-section-panels .panel-content {
    position: relative;
    z-index: 3;
    height: 100%;
    padding: 2rem;
    display: flex;
    flex-direction: column;
}

.membership-join-section-panels .panel-title, .action-title {
    font-style: italic;
    text-transform: uppercase;
    font-weight: 700;
}

.action-button, #menu-item-142 a.nav-link {
    font-style: italic;
    text-transform: uppercase;
    font-weight: 700;
}
.action-button, .btn.action {
    font-style: italic;
    text-transform: uppercase;
    font-weight: 700;
    }
#menu-item-142 a.nav-link {
    font-size: 0.85em;
}

.membership-join-section-panels .panel-text {
    font-size: 1rem;
    margin: 0;
}

/* Pattern Overlay for Membership Panels */
.membership-join-section-panels .panel::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.65;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(0, 76, 151)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

.section-header {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 3rem;
}

.section-header .heading-col {
    flex: 1;
    text-align: right;
    padding-right: 2rem;
}

.section-header .text-col {
    flex: 2;
    padding-left: 2rem;
    border-left: 2px solid var(--acs-yellow);
}

@media (max-width: 991.98px) {
    .section-header .heading-col,
    .section-header .text-col {
        flex: 1;
    }
}

@media (max-width: 767.98px) {
    .section-header {
        flex-direction: column;
        gap: 1rem;
    }

    .section-header .heading-col {
        text-align: left;
        padding-right: 0;
    }

    .section-header .text-col {
        padding-left: 0;
        border-left: none;
    }
}

.section-header h2,
.panel-title,
.card-title {
    letter-spacing: -0.05em;
}

.section-header h2 {
    color: var(--acs-blue);
}

/* Carousel with ACS Background System */
.carousel-16x9 {
    position: relative;
    width: 100%;
    padding-bottom: 33.333%;
    overflow: hidden;
    max-width: 900px;
    min-height: 400px;
    margin: auto;
}

.carousel-16x9 .carousel,
.carousel-16x9 .carousel-inner,
.carousel-16x9 .carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Target only the background containers */
.carousel-16x9 .carousel-item > .acs-background-primary,
.carousel-16x9 .carousel-item > .acs-background-secondary {
    height: 100%;
    border-radius: 0.5rem;
}

/* Content container styles */
.carousel-16x9 .container-fluid {
    padding: 0 3rem 3rem 3rem;
}

/* Title container */
.carousel-16x9 .container-fluid h5 {
    font-size: 1.75rem;
    margin-bottom: 1rem;
}

/* Description text */
.carousel-16x9 .container-fluid p {
    font-size: 1.15rem;
    max-width: 80%;
    margin-bottom: 0;
}

/* Carousel Controls */
.carousel-control-prev,
.carousel-control-next {
    z-index: 5;
}

/* Carousel gradient overlays */
.carousel-item.yellow-tint::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(to top, 
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.8) 30%,
        rgba(255, 255, 255, 0) 100%
    );
    z-index: 1;
}

.carousel-item.blue-tint::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(to top, 
        rgba(0, 38, 76, 0.95) 0%,
        rgba(0, 38, 76, 0.8) 30%,
        rgba(0, 38, 76, 0) 100%
    );
    z-index: 1;
}

/* Carousel caption styling */
.carousel-caption {
    text-align: left;
    padding: 3rem 4rem;
    color: #000;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 2;
}

.carousel-caption h5 {
    color: var(--acs-blue);
    font-size: 1.75rem;
    margin-bottom: 1rem;
}

.carousel-caption p {
    font-size: 1.15rem;
    line-height: 1.5;
    margin-bottom: 0;
    max-width: 80%;
}

/* Override text color for blue-tint captions */
.carousel-item.blue-tint .carousel-caption {
    color: white;
}

.carousel-item.blue-tint .carousel-caption h5 {
    color: white;
}

/* Featured Meeting Card Style */
.featured-meeting {
    position: relative;
    min-height: 400px;
    border-radius: 8px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 2rem;
    display: flex;
}

.featured-meeting::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, 
        rgba(var(--primary-color-rgb), 0.1), 
        rgba(var(--primary-color-rgb), 0.98)
    );
    mix-blend-mode: multiply;
}

.featured-meeting::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom,
        rgba(0, 0, 0, 0),
        rgba(0, 0, 0, 0.5)
    );
}

.featured-meeting-content {
    position: relative;
    padding: 3rem;
    z-index: 1;
    width: 100%;
    margin-top: auto;
}

.featured-meeting-status {
    margin-bottom: 0.5rem;
}

.title, .featured-meeting-status {
    font-weight: 500;
    color: var(--primary-color);
    font-size: 1.45em;
    letter-spacing: -0.0375em;
    }

.meeting-card__title.featured {
    font-size: 1.5rem;
    font-weight: 700;
}

.featured-meeting p {
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: 1.5rem;
}

.featured-meeting .btn-light {
    border: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .featured-meeting {
        min-height: 350px;
    }

    .featured-meeting-content {
        padding: 2rem;
    }

    .featured-meeting h2 {
        font-size: 2rem;
        max-width: 100%;
    }

    .featured-meeting p {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .featured-meeting {
        min-height: 300px;
    }

    .featured-meeting-content {
        padding: 1.5rem;
    }

    .featured-meeting h2 {
        font-size: 1.75rem;
    }
}

.card-header {
    border-radius: inherit;
    padding: 0.75rem 1.25rem;
}

.my-card-header {
    /* color: var(--acs-blue); */
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    padding: 0.75rem 1.25rem;
    background-color: var(--light-neutral);
    border-radius: inherit;
    border-bottom: none;
    mix-blend-mode: multiply;
}

.job-content {
    font-size: 0.85rem;
    line-height: 1.5;
}

.job-content p:last-child {
    margin-bottom: 0;
}

.pdf-distribution {
    background-color: rgba(var(--light-neutral-rgb), 0.5);
    border-radius: 0.5rem;
    padding: 2rem;
}

.pdf-item {
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    height: 100%;
}

.pdf-thumbnail {
    width: 120px;
    height: 160px;
    margin: 0.5rem 0;
    border-radius: 0.25rem;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.pdf-thumbnail img {
    /* width: 100%; */
    /* height: 100%; */
    object-fit: cover;
}

.pdf-content {
    padding: 0.5rem 0.5rem 0.5rem 1.5rem;
}

.pdf-content h4.file-title, .file-title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    color: var(--acs-blue);
    font-weight: 600;
}

.pdf-actions {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 767.98px) {
    .pdf-thumbnail {
        width: 100px;
        height: 133px;
    }
    
    .pdf-content {
        padding: 0.5rem 0.5rem 0.5rem 1rem;
    }
    
    .pdf-content h4 {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }
}

/* Layered Background System - Restructured */
.acs-background-fx {
    position: relative;
    isolation: isolate;
    /* display: flex;
    flex-direction: column;
    min-height: 400px; */
}

.acs-background-fx.grid-400 {
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

.grid-200 {
    min-height: 200px;
}

/* Color Variants */
.acs-background-fx.blue {
    background-color: var(--primary-color);
    color: white;
}

.acs-background-fx.yellow {
    background-color: var(--acs-yellow);
    color: var(--acs-blue);
}

.acs-background-fx.grey {
    background-color: white;
}

.acs-background-fx.mini {
    background-color: white;
    border-radius: inherit;
}

/* Background Image Layer */
.acs-background-fx::after {
    content: '';
    position: absolute;
    inset: 0;
    background-position: right center;
    background-size: inherit;
    background-repeat: no-repeat;
    background-image: var(--bg-image);
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 0) 90%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 0) 90%);
    z-index: 1;
    border-radius: inherit;
}

/* Pattern Layer Base */
.acs-background-fx::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 1;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    mix-blend-mode: multiply;
}

/* Standard Pattern Mask */
.acs-background-fx.pattern::before {
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 20%, rgba(0,0,0,0) 70%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 70%);
}

/* Mini Pattern Mask */
.acs-background-fx.mini::before {
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);
}

/* Pattern Alt Mask - same as mini */
.acs-background-fx.pattern-alt::before {
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);
}

/* Standard Pattern Images */
.acs-background-fx.pattern::before {
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(224, 218, 208)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

.acs-background-fx.blue.pattern::before {
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(0, 76, 151)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

.acs-background-fx.yellow.pattern::before {
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(255, 205, 0)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

.acs-background-fx.grey.pattern::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='12' height='24' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(224, 218, 208)' stroke-width='1.5' d='M0 18h12L6 30zm-6-12h12L0 18zm12 0h12L12 18zM0-6h12L6 6z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

.acs-background-fx.pattern-alt::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(224, 218, 208)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

.acs-background-fx.pattern-alt.blue::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(0, 76, 151)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

.acs-background-fx.pattern-alt.yellow::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(255, 205, 0)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

.acs-background-fx.pattern-alt.grey::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(224, 218, 208)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

/* Mini Pattern Images */
.acs-background-fx.mini::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(224, 218, 208)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

.acs-background-fx.mini.blue::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(0, 76, 151)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

.acs-background-fx.mini.yellow::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(255, 205, 0)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

.acs-background-fx.mini.grey::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(224, 218, 208)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
}

/* Gradient Overlay */
.acs-background-fx > .gradient-overlay {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    opacity: 1;
}

.acs-background-fx.blue > .gradient-overlay {
    background: linear-gradient(
        to top,
        rgba(0, 38, 76, 0.95) 0%,
        rgba(0, 38, 76, 0.8) 30%,
        rgba(0, 38, 76, 0) 100%
    );
}

.acs-background-fx.yellow > .gradient-overlay {
    background: linear-gradient(
        to top,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.8) 30%,
        rgba(255, 255, 255, 0) 100%
    );
}

.acs-background-fx.grey > .gradient-overlay,
.acs-background-fx.mini > .gradient-overlay {
    background: linear-gradient(
        to top,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.7) 70%,
        rgba(255, 255, 255, 0) 100%
    );
}

.acs-background-fx>.gradient-overlay-right {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    opacity: 1;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.7) 70%,
        rgba(255, 255, 255, 0) 100%
    );
}

/* Blue variant for gradient-overlay-right */
.acs-background-fx>.gradient-overlay-right.blue {
    background: linear-gradient(
        to right,
        rgba(0, 38, 76, 0.95) 0%,
        rgba(0, 38, 76, 0.7) 70%,
        rgba(0, 38, 76, 0) 100%
    );
    opacity: 0.85;
}

/* Yellow variant for gradient-overlay-right */
.acs-background-fx>.gradient-overlay-right.yellow {
    background: linear-gradient(
        to right,
        rgba(255, 205, 0, 0.95) 0%,
        rgba(255, 205, 0, 0.7) 70%,
        rgba(255, 205, 0, 0) 100%
    );
}
/* Content Layer */
.acs-background-fx > .container-fluid,
.acs-background-fx > .mini-container {
    position: relative;
    z-index: 4;
    margin-top: auto;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.acs-background-fx > .mini-container {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Mini Box Header and Body Structure */
.mini-header {
    flex-shrink: 0; /* Prevent header from shrinking */
}

.mini-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.mini-body.mt-auto {
    justify-content: flex-end;
}

/* Ensure buttons don't stretch in flex containers */
.acs-background-fx .btn {
    align-self: flex-start;
    display: inline-flex;
}

/* Button color override for yellow variant */
.acs-background-fx.yellow .btn-outline-primary {
    --bs-btn-color: var(--acs-blue);
    --bs-btn-border-color: var(--acs-blue);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--acs-blue);
    --bs-btn-hover-border-color: var(--acs-blue);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--acs-blue);
    --bs-btn-active-border-color: var(--acs-blue);
}

/* Card Footer for Mini Background */
.acs-background-fx .card-footer {
    background-color: var(--light-neutral);
    padding: 1rem 1.5rem;
    margin-top: auto;
    border-radius: 0 0 0.5rem 0.5rem;
    position: relative;
    z-index: 5;
}

/* Top-only inset shadow for card footer */
.acs-background-fx .card-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), transparent);
    pointer-events: none;
}

/* Prevent stretching of specific elements */
.acs-background-fx .two-color-border {
    width: auto;
    align-self: flex-start;
}

/* Carousel specific background adjustments */
.carousel-16x9 .carousel-item > .acs-background-fx::after {
    background-size: inherit;
    background-position: right center;
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 80%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 80%);
}

.carousel-16x9 .carousel-item > .acs-background-fx {
    height: 100%;
    border-radius: 0.5rem;
}

/* Responsive background sizes - excluding carousel */
@media (max-width: 991.98px) {
    .acs-background-fx:not(.carousel-16x9 .carousel-item > .acs-background-fx)::after {
        background-size: inherit;
    }
}

@media (max-width: 767.98px) {
    .acs-background-fx:not(.carousel-16x9 .carousel-item > .acs-background-fx)::after {
        background-size: inherit;
    }
}

@media (max-width: 575.98px) {
    .acs-background-fx:not(.carousel-16x9 .carousel-item > .acs-background-fx)::after {
        background-size: inherit;
    }
}

/* Home page override */
.home .acs-background-fx.grey::after {
    background-size: inherit;
}

/* 60th Anniversary Background */
.acs-60th {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    background-color: var(--light-neutral);
    border-radius: inherit;
    min-height: 400px;
}

.acs-60th::before {
    /* content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='20' height='40' patternTransform='scale(1) rotate(180)'><rect x='0' y='0' width='100%' height='100%' fill='%23098afbff'/><path d='M0 30h20L10 50zm-10-20h20L0 30zm20 0h20L20 30zM0-10h20L10 10z'  stroke-width='3' stroke='%23231560bd' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");    background-repeat: no-repeat;
    z-index: 1;
    border-radius: inherit; */
}

.acs-60th::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 300' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 225 Q 200 125 400 105 L 400 300 L 0 300 Z' fill='%23e0dad0'/%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1;
    border-radius: inherit;
    -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 25%, black 90%);
    mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 25%, black 90%);
}

/* Content Layer */
.acs-60th > .container,
.acs-60th > .mini-container {
    position: relative;
    z-index: 2;
    flex: 1;
}

/* 60th Anniversary Image Scaling */
.acs-60th img {
    max-width: 40%;
    height: auto;
}

.acs-60th a {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ACS Background Tone System - Full Coverage Patterns */
.acs-background-tone {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

/* Tone Color Variants */
.acs-background-tone.blue {
    background-color: var(--primary-color);
    color: white;
}

.acs-background-tone.yellow {
    background-color: var(--acs-yellow);
    color: var(--acs-blue);
}

.acs-background-tone.grey {
    background-color: var(--light-neutral);
}

/* Background Image Layer */
.acs-background-tone::after {
    content: '';
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: var(--bg-image);
    z-index: 1;
    border-radius: inherit;
}

/* Pattern Layer - Full Coverage, No Fade */
.acs-background-tone::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.15;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    mix-blend-mode: multiply;
}

/* Blue Tone Pattern */
.acs-background-tone.blue::before {
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(0, 76, 151)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

/* Yellow Tone Pattern */
.acs-background-tone.yellow::before {
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(255, 205, 0)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

/* Grey Tone Pattern */
.acs-background-tone.grey::before {
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(224, 218, 208)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

/* Content Layer */
.acs-background-tone > .container,
.acs-background-tone > .container-fluid,
.acs-background-tone > .panels-container {
    position: relative;
    z-index: 3;
}

/* Enhanced Join Button with Fading Outline using .students-join-free class */
.students-join-free {
    position: relative;
    z-index: 2;
}

/* Create the fading outline around the join button */
.students-join-free::before {
    content: '';
    position: absolute;
    top: -16px;
    left: -16px;
    right: -16px;
    bottom: -16px; /* More space for text to nestle */
    border: 2px solid var(--acs-yellow);
    border-radius: 20px;
    z-index: -1;
    
    /* Create fade effect using radial ellipse centered below button */
    -webkit-mask-image: radial-gradient(
        ellipse 120px 40px at center calc(100% - 12px),
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.1) 80%,
        rgba(0, 0, 0, 1) 90%
    );
    mask-image: radial-gradient(ellipse 120px 40px at center calc(100% - 12px),
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.1) 80%,
            rgba(0, 0, 0, 1) 90%
    );
}

/* Students Join Free text using pseudo-element */
.students-join-free::after {
    content: 'Students Join Free*';
    position: absolute;
    top: calc(100% + 3px); /* Position just below the button */
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.75em;
    color: var(--acs-yellow);
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-style: normal;
    z-index: 1;
    text-align: center;
    font-weight: 600;
}

/* Responsive adjustments */
/* @media (max-width: 767.98px) {
    /* Hide outline and text on mobile for cleaner look */
    /* .students-join-free::before,
    .students-join-free::after {
        display: none;
    }
} */

.panel-card {
    background-color: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 0.375rem;
    border: none;
    display: flex;
    flex-direction: column;
    }

/* Frosted glass item panel listing cards */
.item-panel-listing {
    background-color: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 0.375rem;
    padding: 1rem;
    border: none;
    display: flex;
    flex-direction: column;
}

.item-panel-listing .job-title {
    letter-spacing: -0.05em;
    color: var(--acs-blue);
}

.inset-panel {
    background-color: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 0.375rem;
    position: relative;
    z-index: 5;
}

.outline-panel {
    border: 1px solid var(--acs-yellow);
    border-radius: 0.375rem;
}

/* Item panel listing card header styling */
.item-panel-listing .my-card-header {
    background-color: var(--light-neutral);
    color: var(--acs-blue);
    border-bottom: none;
}

.item-panel-listing .card-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.job-card .job-content {
    flex: 1 1 auto;
    overflow-y: auto;
    height: 15rem;
    font-size: 0.8rem;
}

.job-card .job-content p {
    font-size: 0.8rem;
}

.form-check-inline {
    font-size: 0.8rem;
    text-transform: uppercase;
    background-color: white;
    transition: background-color 0.2s ease, color 0.2s ease;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--acs-blue);
}

.form-check-inline:has(input:checked) {
    background-color: var(--light-neutral);
    color: var(--acs-blue);
}

.form-check .form-check-input {
    margin-right: 0.5rem;
    margin-left: 0rem;
}
/* ---- Responsive tweaks for Membership Triptych ---- */
@media (max-width: 767.98px) {
  .membership-join-section-panels .panel-row {
    gap: 0;
  }

  .membership-join-section-panels .panel.single {
    min-height: 420px;
  }

  .membership-join-section-panels .panel.single .image-clip {
    width: 100%;
    left: 0 !important;
  }

  .membership-join-section-panels .panel.single .panel-content {
    padding: 2rem 1.5rem;
  }

  .membership-join-section-panels .panel.single .panel-title + .panel-title {
    margin-top: 1.75rem;
  }
}

/* Responsive tweaks for Transform Your Career carousel */
@media (max-width: 991.98px) {
  .carousel-16x9 {
    padding-bottom: 45%;
  }
}

@media (max-width: 767.98px) {
  .carousel-16x9 {
    padding-bottom: 56.25%;
    min-height: 400px;
  }

  .carousel-16x9 .container-fluid {
    padding: 0 1.5rem 2rem 1.5rem;
  }

  .carousel-16x9 .container-fluid h5 {
    font-size: 1.4rem;
  }
  .carousel-16x9 .container-fluid p {
    font-size: 1rem;
  }
}

@media (max-width: 575.98px) {
  .carousel-16x9 {
    min-height: 420px;
  }
  .carousel-16x9 .container-fluid h5 {
    font-size: 1.25rem;
  }
  .carousel-16x9 .container-fluid p {
    font-size: 0.95rem;
  }
}

/* Responsive mask tweaks for carousel */
@media (max-width: 991.98px) {
  .carousel-16x9 .carousel-item > .acs-background-primary::after,
  .carousel-16x9 .carousel-item > .acs-background-secondary::after {
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 0) 80%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 0) 80%);
  }
  .carousel-16x9 .carousel-item > .acs-background-primary::before,
  .carousel-16x9 .carousel-item > .acs-background-secondary::before {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 60%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 60%);
  }
}

@media (max-width: 767.98px) {
  .carousel-16x9 .carousel-item > .acs-background-primary::after,
  .carousel-16x9 .carousel-item > .acs-background-secondary::after {
    background-size: cover;
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 85%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 85%);
  }
  .carousel-16x9 .carousel-item > .acs-background-primary::before,
  .carousel-16x9 .carousel-item > .acs-background-secondary::before {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0) 55%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0) 55%);
  }
}

@media (max-width: 575.98px) {
  .carousel-16x9 .carousel-item > .acs-background-primary::after,
  .carousel-16x9 .carousel-item > .acs-background-secondary::after {
    background-size: cover;
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 55%, rgba(0, 0, 0, 0) 90%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 55%, rgba(0, 0, 0, 0) 90%);
  }
  .carousel-16x9 .carousel-item > .acs-background-primary::before,
  .carousel-16x9 .carousel-item > .acs-background-secondary::before {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 5%, rgba(0, 0, 0, 0) 50%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 5%, rgba(0, 0, 0, 0) 50%);
  }
}

.no-wrap-heading {
    white-space: nowrap;
}

/* Featured Award Photo – simple scale */
.featured-award-img {
  width: 65%;
  height: auto;
  display: block;
  margin: auto;
}

/* Footer background override */
.bootscore-footer-columns,
.bootscore-footer-info {
    background-color: var(--light-neutral) !important;
}

footer {
    background-color: var(--light-neutral);
}

@media (min-width: 991.98px) {
    footer {
        font-size: 0.875em;
    }
}

.footer-menu-heading {
    text-transform: uppercase;
    font-weight: 600;
}

.footer-nav-list {
    font-weight: 500;
    letter-spacing: -0.0125em;
}

/* Override Bootstrap colors with ACS blue */
.btn-primary {
    background-color: var(--acs-blue);
    border-color: var(--acs-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--acs-blue);
    border-color: var(--acs-blue);
}

.btn-outline-primary {
    color: var(--acs-blue);
    border-color: var(--acs-blue);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--acs-blue);
    border-color: var(--acs-blue);
}

a {
    color: var(--acs-blue);
}

a:hover {
    /* color: var(--acs-blue); */
}

/* Links inside primary buttons should be white for contrast */
.btn-primary a {
    color: white;
}

.btn-primary a:hover {
    /* color: white; */
}

.btn.nav-toggler {
    color: var(--acs-blue) !important;
}

.acs-blue-text {
    color: var(--acs-blue);
}
.acs-yellow-text {
    color: var(--acs-yellow);
}

/* Card Header for ACS Background FX */
.acs-background-fx .card-header {
    position: relative;
    z-index: 4;
    text-transform: none; /* Override default uppercase */
    border-radius: 0.5rem 0.5rem 0 0; /* Only top corners rounded */
    background-color: transparent;
}

.acs-background-fx .card-header h3 {
    margin-bottom: 0;
}

.acs-background-fx .card-header p {
    margin-bottom: 0;
    font-size: 0.95rem;
    color: inherit;
    text-transform: none;
    letter-spacing: normal;
}

/* Content Layer */
.acs-background-fx > .container-fluid {
    position: relative;
    z-index: 4;
    margin-top: auto;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

/* Override for sections with card headers - content should flow from top */
.acs-background-fx .card-header + .container-fluid {
    margin-top: 0;
    padding: .75rem;
    justify-content: flex-start;
    flex: 1;
}

/* Standalone Pattern Classes - Only apply to non-acs-background-fx elements */
.pattern-alt:not(.acs-background-fx) {
    position: relative;
    isolation: isolate;
}

.pattern-alt:not(.acs-background-fx)::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.5;
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: multiply;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='16.5' height='32.877' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='%23ffffff00'/><path fill='none' stroke='rgb(224, 218, 208)' stroke-width='3.25' d='m-5 2 5 10L5 2zm16.5 0 5 10 5-10zM8.25 4.438l-5 10h10zm-5 14 5 10.001 5-10zM0 20.878l-5 10H5zm16.5 0-5 10h10z'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)' transform='translate(0 -.754)'/></svg>");
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 100%);
}

.standalone-pattern:not(.acs-background-fx) {
    position: relative;
    isolation: isolate;
}

.standalone-pattern:not(.acs-background-fx)::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.5;
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: multiply;
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='rgb(224, 218, 208)' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 20%, rgba(0,0,0,0) 70%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0) 70%);
}

/* Gradient Overlay for Standalone Patterns */
.pattern-alt:not(.acs-background-fx)::after,
.standalone-pattern:not(.acs-background-fx)::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.7) 70%,
        rgba(255, 255, 255, 0) 100%
    );
}

/* Ensure content stays above patterns and gradients */
.pattern-alt:not(.acs-background-fx) > *,
.standalone-pattern:not(.acs-background-fx) > * {
    position: relative;
    z-index: 3;
}

/* Close button for FB3D Modal */

.fb3d-modal .cmd-close {
    color: transparent !important;
        /* Hide original X */
}
.fb3d-modal .cmd-close::before {
    content: '✕';
    font-size: 1.5em;
    font-weight: bold;
    color: #fff !important;
    position: absolute;
    right: 10px;
    top: 8px;
    z-index: 2;
    text-indent: 0;
}

/* Eligibility Panels - Individual Background Images */
.eligibility-panels {
    display: flex;
    gap: 1rem;
    margin: 2rem 0;
}

.eligibility-panel {
    flex: 1;
    min-height: 300px;
    position: relative;
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: var(--acs-blue);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Background Image Layer */
.eligibility-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: var(--panel-bg-image);
    z-index: 1;
    border-radius: inherit;
}

/* Pattern Overlay */
.eligibility-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.85;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='15' height='30' patternTransform='scale(0.85) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffff00'/><path d='M0 22.5h15L7.5 37.5zm-7.5-15h15L0 22.5zm15 0h15L15 22.5zM0-7.5h15L7.5 7.5z'  stroke-width='1' stroke='%23004c97' fill='none'/></pattern></defs><rect width='800%' height='800%' fill='url(%23a)'/></svg>");
}

/* Content Layer */
.eligibility-panel-content {
    position: relative;
    z-index: 3;
    padding: 2rem;
}

.eligibility-panel-title {
    font-style: italic;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 1rem;
    color: white;
}

.eligibility-panel-text {
    margin: 0;
    color: white;
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.3em;
    letter-spacing: -.025em;
}

/* Mobile Responsive */
@media (max-width: 767.98px) {
    .eligibility-panels {
        flex-direction: column;
        gap: 1rem;
    }
    
    .eligibility-panel {
        min-height: 250px;
    }
    
    .eligibility-panel-content {
        padding: 1.5rem;
    }
}

/* Simple Background Image System */
.acs-background-img {
    position: relative;
    isolation: isolate;
    border-radius: inherit;
    overflow: hidden;
}

.acs-background-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: var(--bg-image);
    z-index: 1;
    border-radius: inherit;
}

/* Content Layer */
.acs-background-img > .container-fluid {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.acs-background-img.grid-400 {
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

.acs-background-img.grid-200 {
    min-height: 200px;
}