.multicol {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
}

.lead-width {
    flex: 0 1 40%;
}

.full-width {
    flex: 1 0 100%;
}

.half-width {
    flex: 1 0 50%;
}

.venue-width {
    flex: 1 0 60%;
}

.link-width {
    flex: 1 0 40%;
}

.remaining-width {
    flex: 1;
}

.overflowable {
    flex-wrap: nowrap;
}

.img-wrapper {
    flex: 1 0 65%;
}

@media(max-width: 760px) {
    .half-width, .venue-width, .link-width, .lead-width {
        flex: 1 0 100%;
    }

    .mobile-end {
        order: 1000;
    }

    .overflowable {
        flex-wrap: wrap;
    }

    .img-wrapper {
        flex: 1 0 100%;
    }
}