/*------------------------------------ Carousel indicators v27 ------------------------------------*/ .u-carousel-indicators-v27, .u-carousel-indicators-v27--white, .u-carousel-indicators-v27--vertical, .u-carousel-indicators-v27--vertical--white { li { position: relative; width: 40px; height: 4px; float: left; margin: 0 5px; span { position: relative; display: block; width: 100%; height: 4px; opacity: .7; overflow: hidden; transition: opacity .3s; &::before { content: ""; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; transform: translate3d(0, 100%, 0); transition: transform .5s; transition-timing-function: cubic-bezier(.2, 1, .3, 1); } } strong { position: absolute; bottom: 105%; left: 0; display: block; width: 40px; font-weight: 700; font-size: 20px; opacity: 0; transform: translate3d(1em, 0, 0); transform-origin: 0 0; transition: transform .5s, opacity .5s; transition-timing-function: cubic-bezier(.2, 1, .3, 1); } &:not(.slick-active) { &:hover, &:focus { span { opacity: 1; } } } &.slick-active { span { &::before { transform: translate3d(0, 0, 0); } } strong { opacity: 1; transform: rotate3d(0, 0, 1, 0deg); } } } } .u-carousel-indicators-v27--vertical, .u-carousel-indicators-v27--vertical--white { li { display: block; width: 40px; height: 40px; float: none; margin: 15px 0; span { position: relative; display: block; width: 4px; height: 100%; opacity: .7; overflow: hidden; transition: opacity .3s; &::before { content: ""; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; transform: translate3d(0, 100%, 0); transition: transform .5s; transition-timing-function: cubic-bezier(.2, 1, .3, 1); } } strong { position: absolute; top: 0; bottom: auto; left: 105%; display: block; width: 40px; font-weight: 700; font-size: 20px; opacity: 0; transform: rotate3d(0, 0, 1, 90deg) translate3d(1em, 0, 0); transform-origin: 0 0; transition: transform .5s, opacity .5s; transition-timing-function: cubic-bezier(.2, 1, .3, 1); } &.slick-active { span { &::before { transform: translate3d(0, 0, 0); } } strong { opacity: 1; transform: rotate3d(0, 0, 1, 90deg); } } } } .u-carousel-indicators-v27--white, .u-carousel-indicators-v27--vertical--white { li { span { background: $g-color-white; &::before { background: $g-color-primary; } } strong { color: $g-color-white; } } }