.scheduleItem {
    position: relative;
    padding: 1em 0 1em 2em;
    border-bottom: 1px solid #d1d1d1;
}

.scheduleItem__time::before {
    position: absolute;
    left: 0;
    top: 1.2em;
    color: var(--primaryColor);
}

@media screen and (min-width: 768px) {
    .scheduleItem__time::before {
        position: static;
        margin-left: -2em;
        margin-right: 1em;
    }
}

.scheduleItem__title {
    display: block;
    margin: .5em 0;
    font-family: var(--bodyFont);
    font-weight: bold;
    color: #000;
}

.scheduleItem__title--more {
    color: var(--primaryColor);
}

.scheduleItem__more {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-indent: -999em;
}

.scheduleItem__moreIcon {
    padding-right: 0 !important;
}

.scheduleItem__moreIcon i::before {
    height: 2em;
    width: 2em;
    border-radius: 100%;
    line-height: 2em;
    color: var(--primaryColorBetterContrast);
    box-shadow: 0 0 0 1px var(--primaryColor) inset;
    cursor: pointer;
    transition: all .5s cubic-bezier(.165,.84,.44,1);
}

.scheduleItem:hover i::before {
    border-color: var(--primaryColor);
    color: #fff;
    box-shadow: 0 0 0 2em var(--primaryColor) inset;
}

.scheduleItem__moreIcon span {
    display: none;
}

.scheduleItem__description {
    position: relative;/** if containing links within hasMore open/close container */
    margin-top: 1rem;
    line-height: 1.2;
    font-size: .9em;
    color: #000;
}

.scheduleItem__description p {
    max-width: none;
}

@media screen and (min-width: 768px) {
    .scheduleItem > * {
        padding-right: 2em;
    }

    .scheduleItem__time {
        flex: 0 0 15%;
    }

    .scheduleItem__title {
        flex: 0 0 30%;
    }

    .scheduleItem__location {
        flex: 0 0 25%;
    }

    .scheduleItem__audience {
        flex: 0 0 20%;
    }

    .scheduleItem__description {
        padding-inline: 15%;
    }
}
