strong {
    font-weight: 600;
}

#header-content {
    display: flex;
    flex-direction: row;
    column-gap: 100px;
    max-width: 960px;
    align-items: center;
    justify-content: center;
}

#header {
    position: relative;
    background-image: url('/static/images/landing_hero.webp');
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100vw;
    margin: 0px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 70vh;
    padding-bottom: 120px;
    padding-top: 150px;
    max-height: 500px;
    overflow-y: visible;
}

#header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    /* Adjust the opacity (0.5) for desired darkness */
    z-index: 1;
    /* Ensure it is layered below the content */
}

.website-notice {
    background-color: #eab208;
    color: black;
    z-index: 1;
    box-sizing: border-box;
    padding: 0px 12px;
    border-radius: 5px;
    position: absolute;
    bottom: 16px;

}


#header-content {
    position: relative;
    /* To ensure content appears above the overlay */
    z-index: 2;
    display: flex;
    flex-direction: row;
    column-gap: 100px;
    align-items: flex-start;
}

#header-left {
    flex: 1.2;
    text-align: center;
    flex-direction: column;
}

#header-left .col-white {
    margin-top: 0px;
    font-weight: 300;
}

#header-left .bold {
    font-weight: 600;
    font-size: 52px;
    max-width: 400px;
    text-align: center;
}

#header-left .secondary {
    font-size: 20px;
    font-weight: 400;
    max-width: 500px;
}

#header-right {
    display: none;
    flex: 1;
    background-color: #3131319c;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border-radius: 20px;
    padding: 20px;
}

#header-right h2 {
    color: white;
    font-weight: 200;
    margin: 0px;
}

#header-right p {
    color: var(--subtle-text);
    font-family: var(--crim);
    font-size: 20px;
    font-weight: 300;
    margin-bottom: 0px;
}

#header-right a {
    text-decoration: underline;
    text-decoration-style: dotted;
    color: var(--yel);
    transition: color .2s ease, transform .2s ease, font-weight .2s ease;
}

#header-right a:hover {
    font-weight: 500;
    transform: scale(1.02);
}

#central-cta {
    margin-top: 48px;
    z-index: 100;
}

#request-form {
    bottom: -280px;
    z-index: 100;
    width: 960px;
    background: linear-gradient(to bottom, #FAFAFA, #ebf1e4);
    height: 460px;
    position: absolute;
    border-radius: 50px;
    display: flex;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#request-form-input {
    display: flex;
    flex-direction: column;
    font-family: var(--crim);
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

#request-form-input input {
    height: 60px;
    width: 360px;
    border: 1px solid var(--border-grey);
    border-radius: 5px;
    font-family: var(--mont);
    text-align: center;
    font-size: 16px;
    margin-bottom: 36px;
    margin-top: 16px;
}

#request-form h1 {
    margin: 0px;
    margin-bottom: 20px;
    color: var(--d-green);
    font-weight: 600;
}

#req-form-top-p {
    margin: 0px;
    margin-bottom: 6px;
    color: var(--d-green);
    font-weight: 500;
}

#req-form-mid-p {
    max-width: 420px;
    margin: 0px;
    margin-bottom: 16px;
}

.info-text {
    visibility: hidden;
    position: absolute;
    background-color: #f9f9f9;
    color: #333;
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    top: -60px;
    right: -140px;
    white-space: wrap;
    z-index: 10;
    font-size: 16px;
    width: 200px;
    cursor: pointer;
    /* Fade effect */
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    font-family: var(--crim);
    /* Prevents interaction when hidden */
    pointer-events: none;
}

.info-icon:hover+.info-text,
.info-text:hover {
    visibility: visible;
    /* Use visibility instead of display */
    opacity: 1;
    pointer-events: auto;
    /* Enables interaction when visible */
}


/* Keyframes for the slow-moving conic gradient --------------------------- */
@keyframes spin-ring {
    from {
        transform: rotate(-180deg);
    }

    to {
        transform: rotate(180deg);
    }
}

/* ----------------------------------------------------------------------- */
/*  MAIN CALL-TO-ACTION BUTTON                                             */
/* ----------------------------------------------------------------------- */
.main-btn {
    /* layout */
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 32px;
    /* tweak to taste */
    font-weight: 300;

    /* look & feel */
    background: var(--m-green);
    color: white;
    border: none;
    border-radius: 100px;
    font: 600 16px/1 var(--mont);
    overflow: hidden;
    /* keep the glow inside the pill */
    cursor: pointer;

    /* motion */
    transition: color .1s ease, transform .2s ease, font-weight .2s ease;
    z-index: 0;
    width: 360px;
    height: 80px;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 500;
}

.main-btn:hover {
    transform: scale(1.02);
    color: white;
    background: var(--m-green);
    font-weight: 600;
}

/* ----------------------------------------------------------------------- */
/*  VIBRANT GRADIENT RING  ( ::before )                                    */
/* ----------------------------------------------------------------------- */
.main-btn::before {
    content: '';
    position: absolute;
    inset: -50%;
    /* make it much larger than btn   */
    background: conic-gradient(var(--yel) 0%,
            white 20%,
            rgba(255, 255, 255, 0) 25% 360deg);
    /* seamless loop                  */
    border-radius: 50%;
    /* full circle so rotation is smooth */
    animation: spin-ring 8s linear infinite;
    filter: blur(15px);
    /* soft glow                      */
    z-index: -1;
    transition: opacity .4s ease;
    /* lets us “dissipate” on hover   */
}

/* Fade the ring away on hover */
.main-btn:hover::before {
    opacity: 0;
}

/* ----------------------------------------------------------------------- */
/*  INNER MASK  ( ::after )                                                */
/*  Creates a solid fill so only the 2-3 px rim shows the gradient         */
/* ----------------------------------------------------------------------- */
.main-btn::after {
    content: '';
    position: absolute;
    inset: 3px;
    /* width of the rim               */
    background-color: var(--m-green);
    border-radius: inherit;
    z-index: -1;
    transition: background-color .4 ease;
}


#ekolinq-info {
    margin-top: 0px;
}

#impact {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 50px;
    column-gap: 48px;
}

#impact-left {
    flex: 1;
}

.fade-overlay {
    max-width: 50%;
    flex: 1;
    display: flex;
    flex-direction: column;
    max-height: 100%;
    margin-top: 36px;
    padding-top: 20px;
    padding-left: 60px;
    box-sizing: border-box;
}

.fade-overlay h3 {
    text-align: center;
    padding-bottom: 16px;
    font-weight: 600;
}

.carousel {
    position: relative;
    margin: 0 auto;
    padding: 10px 10px;
    max-width: 700px;
    height: 500px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;

    >* {
        flex: 0 0 100%;
    }

    &:hover .group {
        animation-play-state: paused;
    }
}

.carousel::before,
.carousel::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100px;
    /* adjust this to control fade distance */
    pointer-events: none;
    /* so underlying items are still clickable */
    z-index: 10;
    /* sit above your carousel content */
}

.carousel::before {
    top: 0;
    background: linear-gradient(to bottom,
            var(--off-white) 0%,
            rgba(255, 255, 255, 0) 100%);
}

.carousel::after {
    bottom: 0;
    background: linear-gradient(to top,
            var(--off-white) 0%,
            rgba(255, 255, 255, 0) 100%);
}

.card {
    color: black;
    border-radius: 24px;
    padding: 20px;
    font-size: xx-large;
    justify-content: center;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.1);
    background: transparent;
    border: 1px solid lightgrey;
    transition: background-color .2s ease, border .2s ease, box-shadow .2s ease, transform .4s ease;
}

.card:hover {
    background-color: #f9fbf9;
    border: 1px solid transparent;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.2);
    transform: scale(1.02);
}

.group {
    display: flex;
    flex-direction: column;
    gap: 24px;
    /* Add padding to the right to create a gap between the last and first card. */
    padding-bottom: 24px;
    will-change: transform;
    /* We should be nice to the browser - let it know what we're going to animate. */
    animation: scrolling 20s linear infinite;
}

@keyframes scrolling {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-100%);
    }
}

@keyframes scrollingX {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

.impact-square-text {
    width: 100%;
    font-size: 20px;
    text-align: center;
    margin-bottom: 8px;
    font-weight: 500;
    margin-top: 6px;
}

.impact-square-link {
    font-size: 16px;
    text-align: center;
    margin: 0px;
    width: 100%;
    font-family: var(--mont);
}

.impact-square-link a {
    color: var(--m-green) !important;
    font-weight: 500;
}

.bin-png {
    padding: 15px;
}

#problem {
    display: flex;
    flex-direction: row;
    column-gap: 64px;
    margin-top: 140px;
}

#problem-left {
    margin-right: 48px;
    flex: 1;
    width: 100%;
    background-image: url('/static/images/GettyImages-1061829496.webp');
    background-size: cover;
    background-position: center 60%;
    background-repeat: no-repeat;
    border-radius: 20px;
    position: relative;
}

#problem-left p {
    position: absolute;
    bottom: 12px;
    left: 12px;
    color: white;
    background-color: black;
    font-size: 12px;
}

#mobile-section-title {
    display: none;
}

#desktop-section-title {
    display: block;
}

#problem-right {
    flex: 1;
}

/* #image-belt {
    position: relative;
    width: 100vw;
    background-image: url('/static/images/pleasanton.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
    padding: 100px 0px;
}

#image-belt::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); /* Adjust the opacity (0.5) for desired darkness
    z-index: 1; /* Ensure it is layered below the content
} */

#image-belt {
    background-color: rgb(234, 234, 234);
}

#image-belt .section-title {
    color: black !important;
}

#image-belt h3 {
    color: black !important;
}


#items {
    position: relative;
    z-index: 2;
    max-width: 960px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 100px 0px;
    padding-bottom: 120px;

}

#items-header {
    max-width: 60%;
    color: black !important;
}

#items-header .a-green {
    font-weight: 600;
}

#items-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    row-gap: 36px;
    margin-top: 24px;
    color: white;
}

#accepted-items-wrapper, #unaccepted-items-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 12px;
    column-gap: 12px;
}

.item-wrapper {
    position: relative;
    overflow: hidden;    
    flex: 1;
    min-width: 48%;
    max-width: 48%;
    display: flex;
    flex-direction: row;
    column-gap: 16px;
    background-color: var(--m-green);
    border-radius: 5px;
    padding: 12px 16px;
    cursor: pointer;
    align-items: center;
    box-sizing: border-box;
    transition: transform .4s ease-in-out, background-color .2s ease, box-shadow .2s ease;
}


.item-header {
    font-size: 20px;
}

.item-wrapper img,
.item-wrapper .item-header,
.item-wrapper .hidden-item-desc {
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* front‐face starts fully visible */
.item-wrapper img,
.item-wrapper .item-header {
  opacity: 1;
  transform: translateY(0);
}

/* back‐face starts hidden and slid slightly down/right */
.item-wrapper .hidden-item-desc {
  position: absolute;
  top: 50%;
  left: 0px;                  /* same horizontal inset as your padding */
  transform: translateY(200px);
  opacity: 0;
  margin: 0;                   /* reset any default margins */
  white-space: normal;               /* allow wrapping */
  overflow-wrap: break-word;         /* break long words if needed */
  word-break: break-word;  
  width: 100%;
  padding: 0px 24px;
  box-sizing: border-box;
}

/* on hover: hide front‐face, show back‐face */
.item-wrapper:hover img {
  /* opacity: 0; */
  transform: translateY(-200px);
}

.item-wrapper:hover .item-header {
  /* opacity: 0; */
  transform: translateY(-200px);
}

.item-wrapper:hover {
    cursor: pointer;
    transform: scale(1.02);
}

.item-wrapper:hover .hidden-item-desc {
  opacity: 1;
  transform: translateY(-50%);
}

.unaccepted-item {
    position: relative;
    overflow: hidden;   
    cursor:not-allowed; 
    flex: 1;
    min-width: 48%;
    max-width: 48%;
    font-size: 16px;
    display: flex;
    flex-direction: row;
    column-gap: 16px;
    background-color: var(--m-blue);
    border-radius: 5px;
    padding: 16px 24px;
    align-items: center;
    box-sizing: border-box;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.unaccepted-item p {
    width: 100%;
}

#collection-event {
    padding: 64px 96px;
    background: linear-gradient(to bottom, #FAFAFA, #D5E1E7);
    border-radius: 50px;
    text-align: center;
}

#get-in-touch {
    align-self: center;
}

#shared-vision {
    flex-direction: column;
}

.initiatives {
    flex-direction: column;
    flex: 1;
}

.initiatives a {
    font-weight: 600;
}

#error-message {
    margin-top: 24px;
    width: 100%;
}

#main-429 {
    padding-top: 180px;
}

#div-wrapper-429 {
    flex-direction: column;
    max-width: 520px;
}

#div-wrapper-429 h1 {
    font-size: 48px;
    margin-bottom: 12px;
    color: var(--m-red);
}

#div-wrapper-429 h3,
#div-wrapper-429 p {
    text-align: center;
}

#error-back-to-home {
    margin-top: 24px;
}


@media (max-width: 980px) {
    body {
        overflow-x: hidden;
    }

    .navbar__menu {
        backdrop-filter: blur(5px);
        /* applies the blur */
        -webkit-backdrop-filter: blur(5px);
    }

    #header {
        padding-bottom: 200px;
        padding-top: 80px;
    }

    #header-content {
        width: 90%;
        margin-top: 20vh;
        column-gap: 36px;
        row-gap: 24px;
        padding: 0px;
        z-index: 1;
    }

    #header-right #header-left {
        margin: 0px;
    }

    #header-left {
        width: 100%;
    }

    #header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        /* Adjust the opacity (0.5) for desired darkness */
        z-index: 1;
        /* Ensure it is layered below the content */
    }

    #request-form {
        bottom: -300px;
        box-sizing: border-box;
        z-index: 100;
        width: 95%;
        padding: 3em 2em;
        height: auto;
    }

    #request-form-input {
        width: 100%;
        max-width: 420px;
    }

    #request-form-input input {
        width: 100%;
    }

    #problem {
        flex-direction: column;
        row-gap: 24px;
    }

    #problem-left {
        min-height: 280px !important;
        margin-top: 12px;
    }

    #mobile-section-title {
        display: block;
        margin: 0px;
    }

    #desktop-section-title {
        display: none;
    }

    #problem-right {
        flex: 1;
    }

    #problem-right h2 {
        margin-top: 12px !important;
    }

    #problem-right-text {
        column-count: 2;
    }

    #image-belt {
        position: relative;
        box-sizing: border-box;
        width: 100vw;
        padding: 3em 1em;
    }

    #items {
        padding: 20px;
    }

    #items-header {
        max-width: 100%;
    }

    #accepted-items-wrapper, #unaccepted-items-wrapper {
        flex-direction: column;
    }

    .item-wrapper {
        flex-direction: column;
    }

    .item-wrapper, .unaccepted-item {
        width: 100%;
        max-width: none;
        min-height: 160px;
        justify-content: center;
    }

    .unaccepted-item {
        min-height: 80px;
    }

    .item-header {
        margin-top: 8px;
        margin-bottom: 0px;
    }

    .hidden-item-desc {
        text-align: center;
    }

    .item-wrapper:hover img {
        opacity: 0;
        transform: translateY(-100%);
    }

    .item-wrapper:hover .item-header {
        opacity: 0;
        transform: translateY(100%);
    }

    .item-wrapper:hover {
        cursor: pointer;
        transform: scale(1.02);
    }

    .item-wrapper:hover .hidden-item-desc {
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }


    #items-info ul {
        padding-left: 24px;
    }

    #collection-event {
        padding: 3em 2em;
        flex-direction: column;
    }

    #mobile-image-removed {
        display: none;
    }

    #shared-vision {
        flex-direction: column;
    }

    #shared-vision-orgs {
        flex-direction: row;
    }

    .initiatives {
        flex-direction: column;
        flex: 1;
    }

    .section-title {
        color: var(--m-green);
    }
}

@media (max-width: 768px) {
    #header {
        padding-bottom: 160px;
        padding-top: 50px;
    }

    #header-content {
        flex-direction: column;
        width: 90%;
        margin-top: 20vh;
        column-gap: 0px;
        row-gap: 64px;
        padding: 0px;
        z-index: 1;
    }

    #header-right #header-left {
        margin: 0px;
    }

    #header-left .bold {
        font-size: 2.6em;
    }

    #central-cta {
        width: 90%;
        max-width: 400px;
    }

    .main-btn2 {
        width: 100%;
        padding: 0px;
    }

    #header-right h2 {
        font-size: 24px;
    }

    #header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        /* Adjust the opacity (0.5) for desired darkness */
        z-index: 1;
        /* Ensure it is layered below the content */
    }

    #request-form {
        bottom: -370px;
    }

    #request-form-input {
        width: 80%;
    }

    .info-text {
        top: 60px;
        right: -40px;
    }

    #ekolinq-info {
        margin-top: 0px;
    }

    #impact {
        margin-top: 40px !important;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    #impact-left {
        flex: 1;
    }

    .fade-overlay {
        width:100%;
        max-width: 100%;
        padding-left: 0px;
        align-items: center;
        margin-top: 12px;
    }

    .fade-overlay h3 {
        margin-bottom: 8px;
        padding-bottom: 24px;
    }
    .carousel {
        &:hover .group {
            animation-play-state:running;
        }
    }

    .card {
        display: flex;
        flex-direction: column;
    }

    .group {
        animation: scrolling 20s linear infinite;
    }

    #about-us-btn-desktop {
        display: none;
    }

    #about-us-text-mobile {
        display: inline !important;
        width: fit-content;
        text-align: center;
        margin-top: 16px;
        padding-top: 24px;
    }

    #about-us-text-mobile a {
        color: var(--m-green);
        font-weight: 600;
    }

    #problem {
        flex-direction: column;
        row-gap: 24px;
    }

    #problem-left {
        min-height: 220px !important;
        margin-top: 12px;
    }

    #mobile-section-title {
        display: block;
        margin: 0px;
    }

    #desktop-section-title {
        display: none;
    }

    #problem-right {
        flex: 1;
    }

    #problem-right h2 {
        margin-top: 12px !important;
    }

    #problem-right-text {
        column-count: 1;
    }

    #image-belt {
        position: relative;
        box-sizing: border-box;
        width: 100vw;
        padding: 3em 1em;
    }

    #items {
        padding: 20px;
    }

    #items-header {
        max-width: 100%;
    }

    #items-info {
        flex-direction: column;
    }

    #items-info ul {
        padding-left: 24px;
    }

    .item-wrapper:hover img {
        opacity: 0;
        transform: translateY(-100%);
    }

    .item-wrapper:hover .item-header {
        opacity: 0;
        transform: translateY(100%);
    }

    .item-wrapper:hover {
        cursor: pointer;
        transform: scale(1.02);
    }

    .item-wrapper:hover .hidden-item-desc {
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }

    #collection-event {
        padding: 3em 2em;
        flex-direction: column;
    }

    #mobile-image-removed {
        display: none;
    }

    #shared-vision {
        flex-direction: column;
    }

    #shared-vision-orgs {
        flex-direction: column;
    }

    .initiatives {
        flex-direction: column;
        flex: 1;
    }

    .section-title {
        color: var(--m-green);
        font-weight: 600;
    }
}

/* Request form input wrapper */
#request-form-input>div {
    position: relative;
    display: inline-block;
    margin: 0px;
    width: 100%;
}

/* Zip Code input */
#zipcode {
    font-weight: 500;
    box-sizing: border-box;
}

/* Impact section headings */
#impact-left h2 {
    margin: 0px;
}

#impact-left h2:first-of-type {
    margin-top: 24px;
}

/* Impact numbers */
.number-h2 {
    font-size: 64px;
    font-family: var(--mont);
    font-weight: 700;
    margin: 4px 0px !important;
}

.number-h2:nth-of-type(2) {
    color: var(--m-blue);
}

.number-h2:nth-of-type(4) {
    color: var(--m-green);
}

.number-h2 span {
    font-size: 24px;
    font-weight: 500;
}

/* Impact paragraphs */
#impact-left p {
    margin-top: 24px;
}

/* Problem section heading */
#problem-right h2 {
    margin: 0px;
    margin-top: 24px;
}

/* Problem section paragraph */
#problem-right-text {
    margin-top: 24px;
}

/* Problem section button */
#nav-textile-waste {
    margin-top: 36px;
}

/* Items header section */
#items-header .section-title {
    color: white;
    font-weight: 500;
}

/* Items info columns */
#items-info>div {
    flex: 1;
}

/* About Us button */
.about-us-btn {
    margin-top: 48px;
}

#about-us-text-mobile {
    display: none;
}

/* Collection Event layout */
#collection-event>div:first-child {
    flex: 1;
}

#collection-event>div:nth-child(2) {
    flex: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 300px;
}

#collection-event>div:nth-child(2) h2 {
    color: var(--m-blue);
    flex: 1;
    margin: 0px;
}

#collection-event>div:nth-child(2) p {
    margin: 0px;
    margin-top: 16px;
}

#get-in-touch {
    margin-top: 36px;
}

#get-in-touch .btn-icon {
    font-weight: bold;
}

#mobile-image-removed {
    flex: 1;
}

/* Shared Vision section */
#shared-vision {
    text-align: center;
}

#shared-vision hr {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.3);
    width: 60px;
    margin-bottom: 36px;
}

#shared-vision h2 {
    margin: 0px;
}

#shared-vision>p {
    font-weight: 500;
    max-width: 400px;
    margin: 24px;
}

/* Shared Vision organizations */
#shared-vision-orgs {
    gap: 36px;
    margin-top: 24px;
}

.initiatives img {
    border-radius: 20px;
}

.initiatives p {
    max-width: 280px;
}

.bi-exclamation-square {
    margin-right: 6px;
}