#instructors {
    width: 100%;
    min-height: 100px;
    overflow: hidden;
    padding: 1vw;
    text-align: center;
}

.instructor {
    width: min-content;
    padding: 1vw;
    display: inline-block;
    text-align: left;
}

.instructor div {
    cursor: pointer;
}

.instructor .placeholder {
    width: calc((100vw - -2500px) / 22);
    height: calc((100vw - -2500px) / 15);
    background-size: auto calc((100vw - -2500px) / 15);
    background-position: bottom;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-size: calc((100vw - -2500px) / 55);
}

.instructor img {
    width: calc((100vw - -2500px) / 22);
    height: calc((100vw - -2500px) / 15);
    transition: all 0.7s ease;
    object-fit: cover;
}

.instructor > div:first-child {
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
    border-radius: 20px 20px 0 0;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: calc((100vw - -2500px) / 22);
}

.instructor > div:nth-child(2) {
    -webkit-box-shadow: 0px -6px 17px 2px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px -6px 17px 2px rgba(0,0,0,0.3);
    box-shadow: 0px -6px 17px 2px rgba(0,0,0,0.3);
}

.instructor > div:last-child {
    color: #fff;
    border-radius: 20px 20px 0 0;
    transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
    -ms-transform: scaleY(-1);
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    background-position: bottom;
    background-size: auto calc((100vw - -2500px) / 15);
    -webkit-box-shadow: 0px -6px 17px 2px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px -6px 17px 2px rgba(0,0,0,0.3);
    box-shadow: 0px -6px 17px 2px rgba(0,0,0,0.3);
}

.instructor > div:last-child div {
    height: 100px;
    overflow: hidden;
    width: calc((100vw - -2500px) / 22);
    background: -moz-linear-gradient(-45deg,  rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%), -moz-linear-gradient(45deg,  rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(-45deg,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%), -webkit-linear-gradient(45deg,  rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(135deg,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%), linear-gradient(45deg,  rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=1 );
    color: #fff;
    padding: 0 6px;
    transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
    -ms-transform: scaleY(-1);
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    border-radius: 0 0 20px 20px;
}

.instructor.focus {
    width: calc((100vw - 500px) * 0.5 + 500px);
}

.instructor.focus div, .instructor.focus .placeholder {
    width: auto;
    transition: all 0.7s ease;
}

.instructor.focus div.placeholder
{
    border-radius: 50%;
    height: calc((100vw - -2500px) / 40);
    width: calc((100vw - -2500px) / 40);
    transition: all 0.7s ease;
    background-size: cover;
}

.instructor.focus div:first-child {
    text-align: left;
    padding-left: 20px;
    transition: all 0.7s ease;
}

.instructor.focus > div:nth-child(2) {
    background: none !important;
    transition: all 0.7s ease;
    padding: 10px;
}

.instructor.focus > div:last-child {
    background: none !important;
    height: auto;
    transition: all 0.7s ease;
}

.instructor.focus div:last-child div {
    color: black;
    width: auto;
    padding: 20px;
    height: auto;
    transition: all 0.7s ease;
    background: none !important;
}

@media screen and (max-width: 550px) {
    .instructor.focus {
        width: 100%;
    }
}