$fonts: Arial, "Hiragino Kaku Gothic Pro W3", Meiryo, sans-serif; $bg_color: #2d3042; $font_color: #efefef; $link_color: #efefef; $link_hover_color: #fff; *, *:before, *:after { box-sizing: border-box; padding: 0; margin: 0; outline: 0; } body { font-family: $fonts; background-color: $bg_color; position: relative; color: $font_color; text-align: center; a, a:visited { color: $link_color; text-decoration: none; } a:hover { color: $link_hover_color; } } %bv_hidden { -webkit-backface-visibility: hidden; backface-visibility: hidden; } %filled_obj { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .main-slider { position: relative; margin: 0 auto; width: 1100px; height: 300px; margin-bottom: 50px; opacity: 0; visibility: hidden; transition: all 1.2s ease; &.slick-initialized { opacity: 1; visibility: visible; } } .slick-slide { cursor: pointer; position: relative; margin: 0 5px; margin-top: 7px; width: 330px; height: 300px; overflow: hidden; @extend %bv_hidden; &::before { @extend %filled_obj; @extend %bv_hidden; background-color: #000; opacity: 0.4; z-index: 1; } video { display: block; position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: 300px; height: 300px; transform: translate(-50%, -50%); } iframe { position: relative; pointer-events: none; pointer: cursor; } figure { position: relative; height: 100%; } .slide-image { opacity: 0; height: 100%; background-size: cover; background-position: center; // background-color:rgba(#c46897,.38); // background-blend-mode:overlay; transition: all 0.8s ease; &.show { opacity: 1; } } .image-entity { width: 100%; opacity: 0; visibility: hidden; } .loading { position: absolute; top: 44%; left: 0; width: 100%; } .slide-media { animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1); } &.slick-active { height: 315px; width: 560px; margin-top: 0px; z-index: 1; .slide-media { animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1); } &::before { display: none; } iframe { pointer-events: all; } } } .slick-dots { text-align: center; padding-top: 15px; li { display: inline-block; vertical-align: top; margin: 0 8px; button { width: 16px; height: 16px; border: none; cursor: pointer; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 0 transparent; vertical-align: middle; color: #fff; background-color: #fff; transition: all 0.3s ease; opacity: 0.4; &:focus { outline: none; } &:hover { opacity: 1; } } &.slick-active { button { border-color: $bg_color; box-shadow: 0 0 0 2px #fff; opacity: 1; } } } } @keyframes slideIn { from { filter: blur(15px); } to { filter: blur(0); } } @keyframes slideOut { from { filter: blur(0); } to { filter: blur(15px); } } .slick-prev { top: 50%; left: 240px; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); position: absolute; z-index: 999; } .slick-next { top: 50%; right: 240px; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); position: absolute; z-index: 999; }