#events {
    width: 100%;
    min-height: 100px;
    overflow: hidden;
    padding: 1vw;
    text-align: center;
}

#events > .event {
    height: calc((100vw - -2500px) / 20);
    width: calc((100vw - -2500px) / 9);
    border-bottom: 2px solid black;
    margin: 1vw;   
    display: inline-block;
    text-align: left;
    background-color: #fff;
    border-radius: 5px 5px 0 0;
    cursor: pointer;
}

#events > .event > div:first-of-type {
    position: absolute;
    z-index: 1;
    height: calc((100vw - -2500px) / 21);
    width: calc((100vw - -2500px) / 14);
    background: rgb(255,255,255);
    background: -moz-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}

#events > .event > div:last-of-type {
    z-index: 2;
    position: absolute;
    width: inherit;
}

#events > .event > div:last-of-type > span {
    position: absolute;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    font-weight: bold;
    margin-left: 1vw;
    width: calc((100vw - -2500px) / 17 - 2vw);
    white-space: nowrap;
    text-overflow:ellipsis;
    overflow: hidden;
    line-height: initial;
    right: 0;
}

#events > .event > div:last-of-type > span:first-of-type {
    margin: 0 4px;
    width: inherit;
    white-space: unset;
    text-align: right;
}

#events > .event > div:last-of-type > span:nth-child(2) {
    margin-top: calc((100vw - -2500px) / 140);
}

#events > .event > div:last-of-type > span:nth-child(3) {
    margin-top: calc((100vw - -2500px) / 49);
}

#events > .event > div:last-of-type > span:nth-child(4) {
    margin-top: calc((100vw - -2500px) / 29);
}

#events > .event > div:last-of-type > span:nth-child(6) {
    position: absolute;
    text-align: right;
    margin: calc((100vw - -2500px) / 20.2) 0;
}

#events > .event > div:last-of-type > span:nth-child(6) > i {
    width: 35px;
    height: 35px;
    text-align: center;
    line-height: 35px;
    border-radius: 50%;
    color: white;
    background-color: black;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    text-shadow: none;
    font-size: 22px;
}

#events > .event > div:last-of-type > span:nth-child(6) > i:hover {
    -webkit-box-shadow: inset 0px 0px 15px -2px darkgreen;
    -moz-box-shadow: inset 0px 0px 15px -2px darkgreen;
    box-shadow: inset 0px 0px 15px -2px darkgreen;
    background-color: unset;
    color: black;
}

#events > .event > div:last-of-type > span:nth-child(6) > i.disabled,
#events > .event > div:last-of-type > span:nth-child(6) > i.disabled:hover {
    background-color: darkgrey;
    color: grey;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

#events > .event > div:last-of-type > span p {
    font-weight: normal;
    margin: 0;
    text-shadow: none;
}

#events > .event > div:last-of-type > span:last-of-type {
    width: calc(((100vw - -2500px) / 9) - (100vw - -2500px) / 23);
    height: calc((100vw - -2500px) / 16 - 52px);
    overflow: hidden;
    display: block;
    margin: 50px 0 0 calc((100vw - -2500px) / 23);
    position: unset;
    font-weight: normal;
    white-space: unset;
    padding-right: 5px;
}

#events > .event > div:nth-child(2) {
    position: absolute;
    z-index: 0;
}

#events > .event > div > img,
#events > .event > div > .placeholder {
    height: calc((100vw - -2500px) / 21);
    width: calc((100vw - -2500px) / 14);
    background-color: #eee;
    border-radius: 5px 0 0 5px;
    object-fit: cover;
}

#events .event.focus {
    width: calc((100vw - 500px) * 0.5 + 500px);
    height: unset;
}

#events > .event.focus > div:first-of-type {
    display: none;
}

#events > .event.focus > div:last-of-type {
    z-index: 2;
    position: unset;
    width: calc((100vw - 500px) * 0.5 + 500px);
    padding: 5px;
}

#events > .event.focus > div:last-of-type > span {
    position: unset;
    margin: 0;
    display: block;
    margin-bottom: 5px;
}


#events > .event.focus > div:last-of-type > span:first-of-type {
    margin: 0;
    display: block;
    margin-bottom: 10px;
    width: initial;
    text-align: left;
}

#events > .event.focus > div:nth-child(2) {
position: unset;
float: right;
}

#events > .event.focus > div:last-of-type > span:last-of-type {
width: 100%;
height: unset;
display: inline;
}

#events > .event.focus > div:last-of-type > span:last-of-type span {
    margin-right: 15px;
    display: inline-block;
    font-weight: bold;
}

#events > .event.focus > div:last-of-type > span:nth-child(6) {
    margin: -42px 0 9px -22px;
}

#events > .event.shown > div:last-of-type > span:last-of-type,
#events > .event.shown > div:last-of-type > span:nth-of-type(5),
#events > .event.shown > div:last-of-type > span:nth-of-type(6){
display: none;
}
#events > .event.focus > div:last-of-type > span:nth-of-type(2){
    display: none;
}

#events > .event.focus > div > img,
#events > .event.focus > div > .placeholder {
border-radius: 5px;
margin-left: 5px;
}

@media screen and (max-width: 600px) {
#events .event.focus {
    width: unset;
}

#events > .event.focus > div:last-of-type {
    width: unset;
}
}