.slider {
    position: relative;
    isolation: isolate;
}

.slider:after {
    content: '';
    position: absolute;
    top: -4px;
    top: -.25rem;
    right: -4px;
    right: -.25rem;
    bottom: -4px;
    bottom: -.25rem;
    left: -4px;
    left: -.25rem;
    border: 4px solid transparent;
    -webkit-transition: border-color .2s;
    transition: border-color .2s;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.slider:focus {
    outline: 1px solid transparent
}

.slider:-moz-focusring {
     border: none
}

[data-wi="keyboard"] .slider:focus:after {
    border-color: #000;
}

.slider__adjust-height .slider--wrapper {
    height: 100%;
}

.slider__adjust-height.slider__initialized .slider--wrapper {
    transition: height 0.4s ease-out;
}

.slider__adjust-height .slide:not(:first-child)  {
    position: absolute;
    left: 100%;
}

.slider:not(.slider__adjust-height) .slider--items {
    display: flex;
}

.slider.slider__dots-top:not(.slider__controls-top) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.slider__dots-hidden .slider--dots {
    display: none;
}

.slider.slider__autoplay.slider__play-outer-top:not(.slider__dots-top):not(.slider__controls-top) {
    padding-top: 44px;
    padding-top: 2.75rem
}

.slider.slider__autoplay.slider__play-outer-bottom.slider__dots-top:not(.slider__controls-bottom) {
    padding-bottom: 44px;
    padding-bottom: 2.75rem
}

.slider--title,
.slider--description,
.slider--live-region {
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0
}

.slider--inner {
    /* position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap */
}

.slider__dots-top:not(.slider__controls-top) .slider--inner {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.slider--wrapper {
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    width: 100%;
    overflow: hidden;
    -ms-touch-action: pan-y;
    touch-action: pan-y
}

[class*="slider__controls-top"] .slider--wrapper {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.slider__keep-shadows .slider--wrapper {
    -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.14));
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.14))
}

.slider--items {
    will-change: transform;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    display: -webkit-box;
    display: -ms-flexbox;
    position: relative;
    padding: 0;
    list-style: none;
    will-change: transform;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.slider--items:not(.grid) {
    margin: 0;
}

.slider--items .slide {
    flex-shrink: 0;
}

.slider__draggable .slide {
    cursor: -webkit-grab;
    cursor: grab
}

.slider__dragging .slide {
    cursor: -webkit-grabbing;
    cursor: grabbing;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text
}

.slider__dragging .slide>* {
    pointer-events: none
}

.slider__keep-shadows .slide>* {
    -webkit-box-shadow: none;
    box-shadow: none
}

.slider--controls {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding: 0 12px;
    padding: 0 .75rem;
    width: 100%;
    height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    z-index: 100;
}

.slider--details .slider--controls {
    position: static;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
    width: auto;
    height: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

[class*="slider__controls-top"] .slider--controls {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    position: static;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
    height: auto;
    padding: 0;
    padding-bottom: 8px;
    padding-bottom: .5rem;
}

[class*="slider__controls-bottom"] .slider--controls {
    position: static;
    top: auto;
    -webkit-transform: none;
    transform: none;
    height: auto;
    padding: 0;
    padding-top: 24px;
    padding-top: 1.5rem;
}

.slider__controls-top-left .slider--controls,
.slider__controls-top-right .slider--controls,
.slider__controls-bottom-left .slider--controls,
.slider__controls-bottom-right .slider--controls {
    width: auto;
}

.slider__controls-top-right .slider--controls,
.slider__controls-bottom-right .slider--controls {
    margin-left: auto;
}

.slider__hide-controls .slider--controls {
    display: none;
}

.slider--count {
    padding: 0 24px;
    padding: 0 1.5rem;
    text-align: center;
}

.slider--control {
    width: 64px;
    width: 4rem;
    height: 64px;
    height: 4rem;
    font-size: 32px;
    font-size: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #fff;
    opacity: .5;
    color: #000;
}

.slider--control:focus {
    outline: 1px solid transparent;
    box-shadow: 0 0 0 4px #000;
    box-shadow: 0 0 0 .25rem #000;
}

.slider--control__left {
    margin-left: 16px;
    margin-left: 1rem;
}

.slider--control__right {
    margin-right: 16px;
    margin-right: 1rem;
}

.slider--play {
    width: 32px;
    width: 2rem;
    height: 32px;
    height: 2rem;
    font-size: 24px;
    font-size: 1.5rem;
    z-index: 100;
    background-color: #000;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #000;
    box-shadow: 0 0 0 .25rem #000;
}

.slider--play .icon {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, transform .3s;
    transition: opacity .3s, transform .3s, -webkit-transform .3s;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
}

.slider--play .icon--pause {
    opacity: 0;
    -webkit-transform: rotate(-270deg) scale(0.5);
    transform: rotate(-270deg) scale(0.5);
}

.slider--play.slider--play__playing .icon--play {
    opacity: 0;
    -webkit-transform: rotate(270deg) scale(0.5);
    transform: rotate(270deg) scale(0.5);
}

.slider--play.slider--play__playing .icon--pause {
    opacity: 1;
    -webkit-transform: rotate(0) scale(1);
    transform: rotate(0) scale(1);
}

.slider--inner .slider--play {
    position: absolute;
    bottom: 64px;
    bottom: 4rem;
    right: 24px;
    right: 1.5rem;
}

.slider__controls-bottom:not(.slider--play-top) .slider--inner .slider--play {
    bottom: 68px;
    bottom: 4.25rem
}

.slider__play-top:not(.slider__controls-top) .slider--inner .slider--play {
    top: 12px;
    top: .75rem;
    bottom: auto;
}

.slider__play-outer-top.slider__dots-top:not(.slider__controls-top) .slider--inner .slider--play {
    top: -39px;
    top: -2.4375rem;
    bottom: auto;
    right: 0;
}

.slider__play-outer-top:not(.slider__dots-top):not(.slider__controls-top) .slider--inner .slider--play {
    top: -39px;
    top: -2.4375rem;
    bottom: auto;
    right: 0;
}

.slider__play-outer-bottom:not(.slider__dots-top):not(.slider__controls-bottom) .slider--inner .slider--play {
    bottom: -39px;
    bottom: -2.4375rem;
    right: 0;
}

.slider__play-outer-bottom.slider__dots-top:not(.slider__controls-bottom) .slider--inner .slider--play {
    bottom: -39px;
    bottom: -2.4375rem;
    right: 0;
}

.slider__hide-controls .slider--play,
.slider:not(.slider__autoplay) .slider--play {
    display: none;
}

.slider--dots {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
    line-height: 0;
    pointer-events: none;
}

.slider__hide-controls .slider--dots,
.slider__hide-dots .slider--dots {
    display: none;
}

.slider:not(.slider__dots-top):not(.slider__controls-bottom) .slider--dots {
    padding-top: 8px;
    padding-top: .5rem;
    min-height: 40px;
    min-height: 2.5rem;
}

.slider__controls-bottom:not(.slider__dots-top) .slider--dots {
    position: absolute;
    bottom: 0;
    z-index: 100;
}

.slider__dots-top:not(.slider__controls-top) .slider--dots {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding-bottom: 8px;
    padding-bottom: .5rem;
    min-height: 40px;
    min-height: 2.5rem;
}

.slider__dots-top.slider__controls-top .slider--dots {
    position: absolute;
    top: 9px;
}

.slider--dot {
    position: relative;
    width: 32px;
    width: 2rem;
    height: 32px;
    height: 2rem;
    background-color: transparent;
    cursor: pointer;
    border-radius: 50%;
    overflow: hidden;
    pointer-events: all;
}

.slider--dot:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 8px;
    width: .5rem;
    height: 8px;
    height: .5rem;
    border-radius: 50%;
    -webkit-transition: background-color 0.4s ease, width 0.2s ease, height 0.2s ease;
    transition: background-color 0.4s ease, width 0.2s ease, height 0.2s ease;
    border: none;
    background-color: #000;
}

.slider--dot:hover:before {
    width: 12px;
    width: .75rem;
    height: 12px;
    height: .75rem;
}

.slider--dot__active:before,
.slider--dot__active:hover:before {
    width: 12px;
    width: .75rem;
    height: 12px;
    height: .75rem;
    background-color: #666;
}
