.cobalt-events--banner {
    display:flex;
    flex-direction: row;
    padding: 1em 5em;
    justify-content: space-between;
    position: sticky;
    top:0;
    background: var(--project-events-banner-background);
    z-index: calc(var(--project-modal-z-index) - 1);
    align-items: center;
}

.cobalt-events--banner :is(h1, h1:first-of-type){
    margin: 0;
    font-size: 1.5em;
}


a.cobalt-events--cta-button {
    display: inline-block;
    background: var(--project-events-button-color);
    color: var(--project-events-button-text);
    /* border: 3px solid; */
    padding: .3rem .6rem;
    text-decoration: none;
    justify-self: flex-end;
    align-self: center;
    text-align: center;
    width: max-content;
    font-weight: bold;
    border-radius: 3px;
    font-size: 1.1em;
    font-family: var(--project-events-font-family);
}


a.cobalt-events--cta-button:hover {
    filter: brightness(120%);
}


button.cobalt-events--banner-close {
    border: none;
    background:transparent;
    position: absolute;
    color: var(--project-events-banner-text);
    right: 1em;
    padding: 0;
}


button.cobalt-events--banner-close, button.cobalt-events--banner-close:hover, button.cobalt-events--banner-close:active {
    background: unset;
    border: unset;
}

/* Modal-specific styles */
    
#cobalt-events--modal-window{
    padding:0;
}

#cobalt-events--modal-window section.modal-body{
    display:flex;
    flex-grow:1;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

.cobalt-events--modal {
    display:flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 1rem;
}

.cobalt-events--modal .cobalt-events--banner-close{
    position:absolute;
    top:0;
    right:0;

}

.cobalt-events--modal h1:first-of-type {
    margin-top: 0;
    font-size: 2.5em;
}

.cobalt-events--default :is(h1,h2,h3,h4,h5) {
    color: var(--project-events-banner-text);
}

.cobalt-events--default article{
    background: transparent;
    width: 100%;
    margin: 10px;
    padding: 0;
}


.cobalt-events--modal a.cobalt-events--cta-button{
    margin-top: auto;
    font-size: 1.4em;
}

/** Handle Animation Types **/
.cobalt-events--default.cobalt-events--banner {
    --animation: CobaltEventsBannerIn;
    overflow: hidden;
    box-sizing: border-box;
}

.cobalt-events--animation {
    animation-name: var(--animation);
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.cobalt-events--banner.cobalt-events--banner-stablestate {
    padding: 1em 5em;
    height: var(--height);
}

.cobalt-events--default.cobalt-events--banner.cobalt-events--dismiss {
    animation-direction: reverse;
}

@keyframes CobaltEventsBannerIn {
    from {
        padding: 0 5em;
        height: 0px;
    }
    to {
        padding: 1em 5em;
        height: var(--height);
    }
}

@media only screen and (max-width: 35em) {
    .cobalt-events--banner {
        padding: 1rem;
        flex-direction: column;
    }
}


.event-listing--index {
    .event-listing--item {
        display: flex;
        gap: var(--gap, .75em);
        background: var(--surface-color-1);
        color: var(--surface-color-1-fg);
        padding-right: 1em;
        margin: 0 auto;
        &:nth-of-type(even){
            background: rgb(from var(--surface-color-1) r g b / .5);
        }
        img {
            width: 12em;
            height: 12em;
            object-fit: cover;
            object-position: center;
        }
        h2 {
            margin-bottom: 0;
        }
        a.event-listing--date-permalink, time {
            color: rgb(from currentColor r g b / .4);
            text-decoration: none;
            font-size: 0.9em;
            &:is(a):hover {
                text-decoration: underline;
            }
        }
        article {
            margin-top: 1em;
        }
        @media only screen and (max-width: 35em) {
            display: flex;
            flex-direction: column;
            --gap: var(--margin-s);
            padding-right: 0;
            img {
                width: 100%;
            }
            h2 {
                margin: var(--margin-xs) 0 var(--margin-s);
            }
        }
    }
}

/* The full page listing that displays all the content for this item */
.event-listing--content {
    --width: 72ch;
    --block-editor-horizontal: 0;
    text-align: center;
    .event-listing--body {
        text-align: left;
    }
    .event-listing--image {
        /* width: var(--width); */
        height: auto;
        max-height: 60vh;
        object-fit: cover;
        object-position: center;
    }
    h2 {
        margin-bottom: 0;
    }
    time {
        color: rgb(from currentColor r g b / .4);
    }
    .event-listing--body {
        width: var(--width);
        margin: 0 auto;
        h2, time {
            padding: 0 var(--block-editor-horizontal);
        }
    }
    @media only screen and (max-width: 35em) {
        --width: 100%;
        a.calendar-button {
            margin: 0 0 var(--margin-s);
        }
    }
}