.slider {
    position: relative;
    height: 400px;
    margin: 20px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 16px 20px rgba(0,0,0,0.2); 
    overflow: hidden;
}
.slider-slides {
    position: relative;
    height: 100%;
    transition: transform 0.3s cubic-bezier(0.51, 0.92, 0.24, 1);
    will-change: transform;
}
.slider-slide {
    float: left;
    height: 100%;
    background-position: 50% 50%;
    background-size: cover;    
}
.slider-dots {
    display: flex;
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: calc(100% - 40px);
}
.slider-dot, 
.slider-indicator {
    display: block;
    margin: 0 5px;
    height: 14px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50px;
    cursor: pointer;
}
.slider-indicator {
    position: absolute;
    background: white;
    width: auto;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 16px 20px rgba(0,0,0,0.2);   
}
.slider-indicator-left {
    transition: left 0.3s cubic-bezier(0.51, 0.92, 0.24, 1.15), right 0.3s 0.1s cubic-bezier(0.51, 0.92, 0.24, 1.15);
}
.slider-indicator-right {
    transition: left 0.3s 0.1s cubic-bezier(0.51, 0.92, 0.24, 1.15), right 0.3s cubic-bezier(0.51, 0.92, 0.24, 1.15);
}