/*------------------------------------ Block Hovers ------------------------------------*/ // // Common Styles // [class*="u-block-hover"] { position: relative; max-width: 100%; margin: 0; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); &, &::before, &::after { transition: all .3s ease; } } .u-block-hover--uncroped { overflow: visible; } .u-block-hover--uncroped:hover { z-index: 2; } .u-block-hover__img { max-width: 100%; vertical-align: top; } .u-block-hover__block { min-height: 100%; } [class*="u-block-hover__additional"] { position: absolute; top: 0; bottom: 0; left: 0; right: 0; } [class*="u-block-hover__additional--v1"] { // Z position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: 15px; opacity: 0; } // // Opacity // Z // .u-block-hover:hover .u-block-hover__additional--v1 { opacity: 1; } // // Box-shadow // .u-block-hover--shadow { &:hover, &:hover .u-block-hover__additional-shadow { box-shadow: 0 0 10px $g-color-gray-dark-v4; } &-v2:hover, &-v2:hover .u-block-hover__additional-shadow { box-shadow: 0 0 15px $g-color-gray-light-v3; } &-v3:hover, &-v3:hover .u-block-hover__additional-shadow { box-shadow: 0 0 3px $g-color-gray-light-v3; } } // // Scale // .u-block-hover--scale:hover, .u-block-hover--scale-img:hover .u-block-hover__img { transform: scale3d(1.1, 1.1, 1.1); } .u-block-hover__additional-scale { z-index: -1; max-width: initial; } .u-block-hover:hover .u-block-hover__additional-scale { top: -20px; right: -20px; bottom: -20px; left: -20px; } .u-block-hover--scale-down:hover, .u-block-hover--scale-down-img:hover .u-block-hover__img { transform: scale3d(.9, .9, .9); } .u-block-hover__additional-scale-down { z-index: -1; max-width: initial; } .u-block-hover:hover .u-block-hover__additional-scale-down { top: 20px; right: 20px; bottom: 20px; left: 20px; } // // Zoom v1 // .u-block-hover__main--zoom-v1, .u-block-hover__main--zoom-v2 { // Improvement flashing issue for Chrome browser -webkit-transform: scale(1.01); } .u-block-hover:hover .u-block-hover__main--zoom-v1 { transform: scale(1.1); } .u-block-hover:hover .u-block-hover__main--zoom-v2 { transform: scale(1.04); } // temperory solution for icons (cut issue) // relative position issue with backface-visibility .u-block-hover [class*="icon-"] { padding: 1px; } // // Filters // // Grayscale .u-block-hover__main--grayscale { filter: url("data:image/svg+xml;utf8,#grayscale"); /* Firefox 10+, Firefox on Android */ filter: gray; -webkit-filter: grayscale(100%); } .u-block-hover:hover .u-block-hover__main--grayscale { filter: url("data:image/svg+xml;utf8,#grayscale"); -webkit-filter: grayscale(0%); } // White .u-block-hover__main--white { filter: brightness(0) invert(1); } // // Blur // .u-block-hover__additional--blur { opacity: 0; .u-block-hover:hover & { opacity: 1; transition-delay: .11s; } } .u-block-hover:hover .u-block-hover__main--blur { filter: blur(30px); transform: scale(1.2); opacity: 0; } // // Overlays // [class*="u-block-hover-image-overlay"]::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; opacity: 0; transition: all .35s ease; } .u-block-hover:hover .u-block-hover-image-overlay::after { opacity: 1; } // // Fade // .u-block-hover__additional--fade { opacity: 0; .u-block-hover:hover & { opacity: 1; transform: translate(0, 0); } // Fade up &-up { transform: translate(0, 15%); } // Fade down &-down { transform: translate(0, -15%); } // Fade left &-left { transform: translate(-15%, 0); } // Fade right &-right { transform: translate(15%, 0); } } // // Push // .u-block-hover:hover [class*="u-block-hover__additional--push"] { transform: translate(0, 0); } // Push up .u-block-hover:hover .u-block-hover__main--push-up { transform: translateY(-100%); } .u-block-hover__additional--push-up { transform: translateY(100%); } // Push down .u-block-hover:hover .u-block-hover__main--push-down { transform: translateY(100%); } .u-block-hover__additional--push-down { transform: translateY(-100%); } // Push left .u-block-hover:hover .u-block-hover__main--push-left { transform: translateX(-100%); } .u-block-hover__additional--push-left { transform: translateX(100%); } // Push right .u-block-hover:hover .u-block-hover__main--push-right { transform: translateX(100%); } .u-block-hover__additional--push-right { transform: translateX(-100%); } // // Slide // .u-block-hover:hover [class*="u-block-hover__additional--slide"], .u-block-hover:hover [class*="u-block-hover__additional--partially-slide"] { transform: translate(0, 0); } // Slide up .u-block-hover__additional--slide-up { transform: translateY(100%); } // Slide up .u-block-hover__additional--slide-down { transform: translateY(-100%); } // Slide left .u-block-hover__additional--slide-left { transform: translateX(100%); } // Slide right .u-block-hover__additional--slide-right { transform: translateX(-100%); } // Slide bottom-right .u-block-hover__additional--slide-bottom-right { transform: translate(-100%, -100%); } // Slide bottom-left .u-block-hover__additional--slide-bottom-left { transform: translate(100%, -100%); } // Slide top-right .u-block-hover__additional--slide-top-right { transform: translate(-100%, 100%); } // Slide top-left .u-block-hover__additional--slide-top-left { transform: translate(100%, 100%); } // Partially slide-up .u-block-hover__additional--partially-slide-up { top: auto; transform: translate3d(0, 100%, 0); overflow: visible; .u-block-hover__visible { position: absolute; bottom: 100%; margin-bottom: -1px; left: 0; right: 0; padding-left: inherit; padding-right: inherit; background: inherit; } } // Partially slide-down .u-block-hover__additional--partially-slide-down { bottom: auto; transform: translate3d(0, -100%, 0); overflow: visible; .u-block-hover__visible { position: absolute; top: 100%; margin-top: -1px; left: 0; right: 0; padding-left: inherit; padding-right: inherit; background: inherit; } } // // Cot // .u-block-hover--cot { perspective: 50em; } [class*="u-block-hover__additional--cot"] { opacity: 0; z-index: 1; } .u-block-hover--cot:hover [class*="u-block-hover__main--cot"] { opacity: 0; } .u-block-hover--cot:hover [class*="u-block-hover__additional--cot"] { opacity: 1; transition-delay: 0.21s; } // Cot up .u-block-hover__main--cot-up { transform-origin: 50% 0; } .u-block-hover__additional--cot-up { transform: rotateX(90deg); transform-origin: 50% 100%; } .u-block-hover--cot:hover .u-block-hover__main--cot-up { transform: rotateX(-90deg); } .u-block-hover--cot:hover .u-block-hover__additional--cot-up { transform: rotateX(0deg); } // Cot down .u-block-hover__main--cot-down { transform-origin: 50% 100%; } .u-block-hover__additional--cot-down { transform: rotateX(-90deg); transform-origin: 50% -50%; } .u-block-hover--cot:hover .u-block-hover__main--cot-down { transform: rotateX(90deg); opacity: 0; } .u-block-hover--cot:hover .u-block-hover__additional--cot-down { transform: rotateX(0deg); } // Cot left .u-block-hover__main--cot-left { transform-origin: 0% 50%; } .u-block-hover__additional--cot-left { transform: rotateY(-90deg); transform-origin: 100% 50%; } .u-block-hover--cot:hover .u-block-hover__main--cot-left { transform: rotateY(90deg); } .u-block-hover--cot:hover .u-block-hover__additional--cot-left { transform: rotateY(0deg); } // Cot right .u-block-hover__main--cot-right { transform-origin: 100% 50%; } .u-block-hover__additional--cot-right { transform: rotateY(90deg); transform-origin: 0 50%; } .u-block-hover--cot:hover .u-block-hover__main--cot-right { transform: rotateY(-90deg); } .u-block-hover--cot:hover .u-block-hover__additional--cot-right { transform: rotateY(0deg); } // // Flip // .u-block-hover--flip { perspective: 50em; } [class*="u-block-hover__main--flip"] { backface-visibility: hidden; } [class*="u-block-hover__additional--flip"] { opacity: 0; } .u-block-hover--flip:hover [class*="u-block-hover__main--flip"] { opacity: 0; } .u-block-hover--flip:hover [class*="u-block-hover__additional--flip"] { opacity: 1; transition-delay: 0.13999999999999999s; } // Flip horizontal .u-block-hover__additional--flip-horiz { transform: rotateX(90deg); transform-origin: 0 50%; } .u-block-hover--flip:hover .u-block-hover__main--flip-horiz { transform: rotateX(-180deg); } .u-block-hover--flip:hover .u-block-hover__additional--flip-horiz { transform: rotateX(0deg); } // Flip vertical .u-block-hover__additional--flip-vert { transform: rotateY(90deg); transform-origin: 50% 0%; } .u-block-hover--flip:hover .u-block-hover__main--flip-vert { transform: rotateY(-180deg); } .u-block-hover--flip:hover .u-block-hover__additional--flip-vert { transform: rotateY(0deg); } // Flip diagonal-1 .u-block-hover__additional--flip-diag-1 { transform: rotate3d(1, 1, 0, 100deg); } .u-block-hover--flip:hover .u-block-hover__main--flip-diag-1 { transform: rotate3d(-1, -1, 0, 100deg); } .u-block-hover--flip:hover .u-block-hover__additional--flip-diag-1 { transform: rotate3d(0, 0, 0, 0deg); } // Flip diagonal-2 .u-block-hover__additional--flip-diag-2 { transform: rotate3d(1, -1, 0, 100deg); } .u-block-hover--flip:hover .u-block-hover__main--flip-diag-2 { transform: rotate3d(-1, 1, 0, 100deg); } .u-block-hover--flip:hover .u-block-hover__additional--flip-diag-2 { transform: rotate3d(0, 0, 0, 0deg); } // // Fold // .u-block-hover--fold { perspective: 50em; } [class*="u-block-hover__main--fold"] { transform-origin: 50% 0; } [class*="u-block-hover__additional--fold"] { z-index: 1; opacity: 0; } .u-block-hover--fold:hover [class*="u-block-hover__main--fold"] { opacity: 0; transition-delay: 0; } .u-block-hover--fold:hover [class*="u-block-hover__additional--fold"] { transform: rotateX(0deg) translate3d(0, 0, 0) scale(1); opacity: 1; transition-delay: .21s; } // Flip-up .u-block-hover__main--fold-up { transform-origin: 50% 0; } .u-block-hover__additional--fold-up { transform: rotateX(-90deg) translate3d(0, -50%, 0) scale(.6); transform-origin: 50% 100%; } .u-block-hover--fold:hover .u-block-hover__main--fold-up { transform: rotateX(90deg) scale(.6) translateY(50%); } // Flip-down .u-block-hover__main--fold-down { transform-origin: 50% 100%; } .u-block-hover__additional--fold-down { transform: rotateX(90deg) translate3d(0, 50%, 0) scale(.6); transform-origin: 50% 0; } .u-block-hover--fold:hover .u-block-hover__main--fold-down { transform: rotateX(-90deg) scale(.6) translateY(-50%); } // Flip-left .u-block-hover__main--fold-left { transform-origin: 0 50%; } .u-block-hover__additional--fold-left { transform: rotateY(90deg) translate3d(-50%, 0, 0) scale(.6); transform-origin: 100% 50%; } .u-block-hover--fold:hover .u-block-hover__main--fold-left { transform: rotateY(-90deg) scale(.6) translateX(50%); } // Flip-right .u-block-hover__main--fold-right { transform-origin: 100% 50%; } .u-block-hover__additional--fold-right { transform: rotateY(-90deg) translate3d(50%, 0, 0) scale(.6); transform-origin: 0 50%; } .u-block-hover--fold:hover .u-block-hover__main--fold-right { transform: rotateY(90deg) scale(.6) translateX(-50%); } // // Zoom-in // .u-block-hover__additional--zoom-in { opacity: 0; transform: scale(.5); } .u-block-hover:hover .u-block-hover__additional--zoom-in { transform: scale(1); opacity: 1; } // // Zoom-out // .u-block-hover__additional--zoom-out { transform: scale(.5); transform-origin: 50% 50%; opacity: 0; } .u-block-hover:hover .u-block-hover__main--zoom-out { transform: scale(.5); opacity: 0; } .u-block-hover:hover .u-block-hover__additional--zoom-out { transform: scale(1); opacity: 1; transition-delay: .35s; } // // Shutter-out // [class*="u-block-hover--shutter-out"]::after { content: ""; position: absolute; transition-delay: .105s; z-index: 1; } .u-block-hover__additional--shutter-out { opacity: 0; transition-delay: 0s; z-index: 2; } [class*="u-block-hover--shutter-out"]:hover::after { transition-delay: 0s; } [class*="u-block-hover--shutter-out"]:hover .u-block-hover__additional--shutter-out { opacity: 1; transition-delay: .105s; } // Shutter-out horizontal .u-block-hover--shutter-out-horiz::after { left: 50%; right: 50%; top: 0; bottom: 0; } .u-block-hover--shutter-out-horiz:hover::after { left: 0; right: 0; } // Shutter-out vertical .u-block-hover--shutter-out-vert::after { top: 50%; bottom: 50%; left: 0; right: 0; } .u-block-hover--shutter-out-vert:hover::after { top: 0; bottom: 0; } // Shutter-out diagonal-1 .u-block-hover--shutter-out-diag-1::after { top: 50%; bottom: 50%; left: -35%; right: -35%; transform: rotate(45deg); } .u-block-hover--shutter-out-diag-1:hover::after { top: -35%; bottom: -35%; } // Shutter-out diagonal-2 .u-block-hover--shutter-out-diag-2::after { top: 50%; bottom: 50%; left: -35%; right: -35%; transform: rotate(-45deg); } .u-block-hover--shutter-out-diag-2:hover::after { top: -35%; bottom: -35%; } // // Shutter-in // [class*="u-block-hover--shutter-in"]::after, [class*="u-block-hover--shutter-in"]::before { content: ""; position: absolute; z-index: 1; } [class*="u-block-hover--shutter-in"]::after { top: 0; left: 0; } [class*="u-block-hover--shutter-in"]::before { right: 0; bottom: 0; } .u-block-hover__additional--shutter-in { opacity: 0; z-index: 2; } [class*="u-block-hover--shutter-in"]:hover .u-block-hover__additional--shutter-in { opacity: 1; transition-delay: .21s; } // Shutter-in horizontal .u-block-hover--shutter-in-horiz::after, .u-block-hover--shutter-in-horiz::before { width: 0; height: 100%; } .u-block-hover--shutter-in-horiz:hover::after, .u-block-hover--shutter-in-horiz:hover::before { width: 100%; } // Shutter-in horizontal .u-block-hover--shutter-in-vert::after, .u-block-hover--shutter-in-vert::before { height: 0; width: 100%; } .u-block-hover--shutter-in-vert:hover::after, .u-block-hover--shutter-in-vert:hover::before { height: 100%; } // Shutter-in diagonal-1 .u-block-hover--shutter-in-diag-1::after, .u-block-hover--shutter-in-diag-1::before { width: 200%; height: 200%; transition: all .6s ease; } .u-block-hover--shutter-in-diag-1::after { transform: skew(-45deg) translateX(-150%); } .u-block-hover--shutter-in-diag-1::before { transform: skew(-45deg) translateX(150%); } .u-block-hover--shutter-in-diag-1:hover::after { transform: skew(-45deg) translateX(-50%); } .u-block-hover--shutter-in-diag-1:hover::before { transform: skew(-45deg) translateX(50%); } // Shutter-in diagonal-2 .u-block-hover--shutter-in-diag-2::after, .u-block-hover--shutter-in-diag-2::before { width: 200%; height: 200%; transition: all .6s ease; } .u-block-hover--shutter-in-diag-2::after { transform: skew(45deg) translateX(-100%); } .u-block-hover--shutter-in-diag-2::before { transform: skew(45deg) translateX(100%); } .u-block-hover--shutter-in-diag-2:hover::after { transform: skew(45deg) translateX(0); } .u-block-hover--shutter-in-diag-2:hover::before { transform: skew(45deg) translateX(0); } // // Shutter-in-out // [class*="u-block-hover--shutter-in-out"]::after, [class*="u-block-hover--shutter-in-out"]::before { content: ""; position: absolute; z-index: 1; } [class*="u-block-hover--shutter-in-out"]::after { top: 0; left: 0; } [class*="u-block-hover--shutter-in-out"]::before { right: 0; bottom: 0; } .u-block-hover__additional--shutter-in-out { opacity: 0; z-index: 2; } [class*="u-block-hover--shutter-in-out"]:hover .u-block-hover__additional--shutter-in-out { opacity: 1; transition-delay: .21s; } // Shutter-in-out horizontal .u-block-hover--shutter-in-out-horiz::after, .u-block-hover--shutter-in-out-horiz::before { width: 0; height: 100%; } .u-block-hover--shutter-in-out-horiz:hover::after, .u-block-hover--shutter-in-out-horiz:hover::before { width: 100%; opacity: .75; } // Shutter-in-out horizontal .u-block-hover--shutter-in-out-vert::after, .u-block-hover--shutter-in-out-vert::before { height: 0; width: 100%; } .u-block-hover--shutter-in-out-vert:hover::after, .u-block-hover--shutter-in-out-vert:hover::before { height: 100%; opacity: .75; } // Shutter-in-out diagonal-1 .u-block-hover--shutter-in-out-diag-1::after, .u-block-hover--shutter-in-out-diag-1::before { width: 200%; height: 200%; transition: all .6s ease; opacity: .75; } .u-block-hover--shutter-in-out-diag-1::after { transform: skew(-45deg) translateX(-150%); } .u-block-hover--shutter-in-out-diag-1::before { transform: skew(-45deg) translateX(150%); } .u-block-hover--shutter-in-out-diag-1:hover::after { transform: skew(-45deg) translateX(-50%); } .u-block-hover--shutter-in-out-diag-1:hover::before { transform: skew(-45deg) translateX(50%); } // Shutter-in-out diagonal-2 .u-block-hover--shutter-in-out-diag-2::after, .u-block-hover--shutter-in-out-diag-2::before { width: 200%; height: 200%; transition: all .6s ease; opacity: .75; } .u-block-hover--shutter-in-out-diag-2::after { transform: skew(45deg) translateX(-100%); } .u-block-hover--shutter-in-out-diag-2::before { transform: skew(45deg) translateX(100%); } .u-block-hover--shutter-in-out-diag-2:hover::after { transform: skew(45deg) translateX(0); } .u-block-hover--shutter-in-out-diag-2:hover::before { transform: skew(45deg) translateX(0); } // // Strip shutter // .u-block-hover--strip-shutter::before, .u-block-hover--strip-shutter::after, .u-block-hover__additional--strip-shutter::before, .u-block-hover__additional--strip-shutter::after { content: ""; position: absolute; top: 0; width: 25%; height: 100%; transform: scaleY(0); opacity: 0; } .u-block-hover--strip-shutter::before, .u-block-hover--strip-shutter::after { z-index: 1; } .u-block-hover--strip-shutter::before { left: 0; transition-delay: 0s; } .u-block-hover--strip-shutter::after { left: 25%; transition-delay: .105s; } .u-block-hover__additional--strip-shutter { z-index: 3; } .u-block-hover__additional--strip-shutter::before, .u-block-hover__additional--strip-shutter::after { z-index: -1; } .u-block-hover__additional--strip-shutter::before { left: 50%; transition-delay: .21s; } .u-block-hover__additional--strip-shutter::after { left: 75%; transition-delay: .35s; } .u-block-hover--strip-shutter:hover::before, .u-block-hover--strip-shutter:hover::after, .u-block-hover--strip-shutter:hover .u-block-hover__additional--strip-shutter::before, .u-block-hover--strip-shutter:hover .u-block-hover__additional--strip-shutter::after { transform: scale(1); opacity: 1; } .u-block-hover__additional--strip-shutter__inner { opacity: 0; } .u-block-hover--strip-shutter:hover .u-block-hover__additional--strip-shutter__inner { opacity: 1; transition-delay: .35s; } // // Tile // .u-block-hover--tile::before, .u-block-hover--tile::after, .u-block-hover__additional--tile::before, .u-block-hover__additional--tile::after { content: ""; position: absolute; width: 50%; height: 50%; transform: scale(0); opacity: 0; } .u-block-hover--tile::before, .u-block-hover--tile::after { z-index: 1; } .u-block-hover--tile::before { top: 0; left: 0; transition-delay: 0s; } .u-block-hover--tile::after { top: 0; left: 50%; transition-delay: .105s; } .u-block-hover__additional--tile { z-index: 3; } .u-block-hover__additional--tile::before, .u-block-hover__additional--tile::after { z-index: -1; } .u-block-hover__additional--tile::before { top: 50%; left: 0; transition-delay: .21s; } .u-block-hover__additional--tile::after { top: 50%; left: 50%; transition-delay: .35s; } .u-block-hover--tile:hover::before, .u-block-hover--tile:hover::after, .u-block-hover--tile:hover .u-block-hover__additional--tile::before, .u-block-hover--tile:hover .u-block-hover__additional--tile::after { transform: scale(1); opacity: 1; } .u-block-hover__additional--tile__inner { opacity: 0; } .u-block-hover--tile:hover .u-block-hover__additional--tile__inner { opacity: 1; transition-delay: .35s; } // // Cube // .u-block-hover--cube { overflow: visible; background-color: transparent; perspective: 50em; transform-style: preserve-3d; } [class*="u-block-hover__main--cube"] { transition-delay: .05s; } [class*="u-block-hover__additional--cube"] { opacity: 0; transition-delay: 0s; } .u-block-hover--cube:hover [class*="u-block-hover__main--cube"] { opacity: 0; transition-delay: 0s; } .u-block-hover--cube:hover [class*="u-block-hover__additional--cube"] { opacity: 1; transform: translateY(0%) rotateX(0deg); transition-delay: .05s; } // Cube-up .u-block-hover__additional--cube-up { transform: translateY(50%) rotateX(-90deg); } .u-block-hover--cube:hover .u-block-hover__main--cube-up { transform: translateY(-50%) rotateX(90deg); } // Cube-down .u-block-hover__additional--cube-down { transform: translateY(-50%) rotateX(90deg); } .u-block-hover--cube:hover .u-block-hover__main--cube-down { transform: translateY(50%) rotateX(-90deg); } // Cube-left .u-block-hover__additional--cube-left { transform: translateX(-50%) rotateY(-90deg); } .u-block-hover--cube:hover .u-block-hover__main--cube-left { transform: translateX(50%) rotateY(90deg); } // Cube-right .u-block-hover__additional--cube-right { transform: translateX(50%) rotateY(90deg); } .u-block-hover--cube:hover .u-block-hover__main--cube-right { transform: translateX(-50%) rotateY(-90deg); } // // Border reveal // .u-block-hover--border-reveal::before, .u-block-hover--border-reveal::after, .u-block-hover__additional--border-reveal::before, .u-block-hover__additional--border-reveal::after { content: ""; position: absolute; background-color: $g-color-white; transform-origin: 0 0; } .u-block-hover--border-reveal::before, .u-block-hover--border-reveal::after { left: 5px; right: 5px; height: 4px; z-index: 1; transform: scaleX(0); } .u-block-hover--border-reveal::before { top: 5px; transition-delay: .28s; } .u-block-hover--border-reveal:hover::before { transition-delay: 0s; } .u-block-hover--border-reveal::after { bottom: 5px; transition-delay: 0s; } .u-block-hover--border-reveal:hover::after { transition-delay: .28s; } .u-block-hover__additional--border-reveal { background-color: transparent; z-index: 3; } .u-block-hover__additional--border-reveal__inner { opacity: 0; } .u-block-hover__additional--border-reveal::before, .u-block-hover__additional--border-reveal::after { top: 5px; bottom: 5px; width: 4px; z-index: -1; transform: scaleY(0); } .u-block-hover__additional--border-reveal::before { left: 5px; transition-delay: .28s; } .u-block-hover--border-reveal:hover .u-block-hover__additional--border-reveal::before { transition-delay: 0s; } .u-block-hover__additional--border-reveal::after { right: 5px; transition-delay: 0s; } .u-block-hover--border-reveal:hover .u-block-hover__additional--border-reveal::after { transition-delay: .28s; } .u-block-hover--border-reveal:hover .u-block-hover__main--border-reveal { opacity: 0; } .u-block-hover--border-reveal:hover::before, .u-block-hover--border-reveal:hover::after, .u-block-hover--border-reveal:hover .u-block-hover__additional--border-reveal::before, .u-block-hover--border-reveal:hover .u-block-hover__additional--border-reveal::after { transform: scale(1); } .u-block-hover--border-reveal:hover .u-block-hover__additional--border-reveal__inner { opacity: 1; transition-delay: .35s; } // // Mover // .u-block-hover:hover img[class*="u-block-hover__main--mover-"], .u-block-hover:hover [class*="u-block-hover__additional--mover-"] { opacity: 1; transform: translate3d(0, 0, 0) scale3d(1, 1, 1); } img[class*="u-block-hover__main--mover-"] { max-width: initial; width: calc(100% + 60px); transition-duration: 0.5s; transform-origin: 50% 50%; } [class*="u-block-hover__additional--mover-"] { opacity: 0; transition-duration: 0.5s; } // Mover-left img.u-block-hover__main--mover-left { transform: translate3d(-60px, 0, 0); } .u-block-hover__additional--mover-left { transform: translate3d(10px, 0, 0); } // Mover-right img.u-block-hover__main--mover-right { transform: translate3d(-60px, 0, 0); } .u-block-hover__additional--mover-right { transform: translate3d(-10px, 0, 0); } // Mover-up img.u-block-hover__main--mover-up { transform: translate3d(0, 20px, 0) scale3d(1.1, 1.1, 1.1); } .u-block-hover__additional--mover-up { transform: translate3d(0, 10px, 0); } // Mover-down img.u-block-hover__main--mover-down { transform: translate3d(0, -20px, 0) scale3d(1.1, 1.1, 1.1); } .u-block-hover__additional--mover-down { transform: translate3d(0, -10px, 0); } // // Focuser // .u-block-hover__additional--focuser-element { top: 30px; right: 30px; bottom: 30px; left: 30px; opacity: .3; box-shadow: 0 0 0 31px rgba(0,0,0,.5); transform: scale3d(1.4, 1.4, 1.4); transition-duration: .5s; } .u-block-hover__additional--focuser-target { position: static; opacity: 0; transform: scale3d(1.4, 1.4, 1.4); transition-duration: .5s; } .u-block-hover:hover .u-block-hover__additional--focuser-target, .u-block-hover:hover .u-block-hover__additional--focuser-element { opacity: 1; transform: scale3d(1, 1, 1); transition-duration: .3s; } // // Magnifier // img[class*="u-block-hover__main--magnifier"] { max-width: initial; width: calc(100% + 10px); margin: -10px 0; } [class*="u-block-hover__additional--magnifier-element"] { width: 400px; height: 400px; border-radius: 50%; box-shadow: 0 0 0 4000px rgba(255,255,255,.3); z-index: 2; opacity: 0; transform: scale3d(.7, .7, .7); transform-origin: 50% 50%; } .u-block-hover:hover [class*="u-block-hover__additional--magnifier-element"] { opacity: 1; transform: scale3d(1, 1, 1); } [class*="u-block-hover__additional--magnifier-description"] { max-width: 115px; z-index: 3; opacity: 0; } .u-block-hover:hover [class*="u-block-hover__additional--magnifier-description"] { opacity: 1; transform: translate3d(0, 0, 0); } // Magnifier-bottom-right .u-block-hover__additional--magnifier-element-bottom-right { top: auto; left: auto; bottom: -180px; right: -180px; } .u-block-hover__additional--magnifier-description-bottom-right { top: auto; right: 30px; bottom: 30px; left: auto; transform: translate3d(20px, 20px, 0); } .u-block-hover:hover img.u-block-hover__main--magnifier-bottom-right { transform: translate3d(-10px, -10px, 0); } // Magnifier-top-right .u-block-hover__additional--magnifier-element-top-right { top: -180px; right: -180px; bottom: auto; left: auto; } .u-block-hover__additional--magnifier-description-top-right { top: 30px; right: 30px; bottom: auto; left: auto; transform: translate3d(20px, -20px, 0); } .u-block-hover:hover img.u-block-hover__main--magnifier-top-right { transform: translate3d(-10px, 10px, 0); } // Magnifier-bottom-left img.u-block-hover__main--magnifier-bottom-left { transform: translate3d(-10px, 0, 0); } .u-block-hover__additional--magnifier-element-bottom-left { top: auto; left: -180px; bottom: -180px; right: auto; } .u-block-hover__additional--magnifier-description-bottom-left { top: auto; right: auto; bottom: 30px; left: 30px; transform: translate3d(-20px, 20px, 0); } .u-block-hover:hover img.u-block-hover__main--magnifier-bottom-left { transform: translate3d(0, -10px, 0); } // Magnifier-top-left img.u-block-hover__main--magnifier-top-left { transform: translate3d(-10px, 0, 0); } .u-block-hover__additional--magnifier-element-top-left { top: -180px; left: -180px; bottom: auto; right: auto; } .u-block-hover__additional--magnifier-description-top-left { top: 30px; right: auto; bottom: auto; left: 30px; transform: translate3d(-20px, -20px, 0); } .u-block-hover:hover img.u-block-hover__main--magnifier-top-left { transform: translate3d(0, 10px, 0); } // // Pappercuter // [class*="u-block-hover__additional--pappercuter"] { transform-origin: 50% 50%; } .u-block-hover__additional--pappercuter-inner { width: 100%; transform: rotate3d(0, 0, 1, 5deg); } .u-block-hover__additional--pappercuter-front, .u-block-hover__additional--pappercuter-back { max-width: initial; width: 120%; top: -60px; bottom: -60px; left: -10%; z-index: 2; background-position: center; background-size: cover; transform: rotate3d(0, 0, 1, -5deg); } .u-block-hover__additional--pappercuter-front { clip: rect(0px, auto, 246px, 0px); } .u-block-hover__additional--pappercuter-back { top: -61px; clip: rect(246px, auto, auto, 0px); } .u-block-hover:hover .u-block-hover__additional--pappercuter-front { transform: scale3d(1.3, 1.3, 1.3) rotate3d(0, 0, 1, -10deg) translate3d(0, -45%, 0); } .u-block-hover:hover .u-block-hover__additional--pappercuter-back { transform: scale3d(1.3, 1.3, 1.3) rotate3d(0, 0, 1, -10deg) translate3d(0, 45%, 0); } // // Slide Outside // [class*="u-block-hover__additional--outside"] { opacity: 0; visibility: hidden; transition-duration: .5s; transition-timing-function: cubic-bezier(0.7, -1.2, 0.8, 1.2); } .u-block-hover:hover [class*="u-block-hover__additional--outside"] { opacity: 1; visibility: visible; transform: translate3d(0, 0, 0); transition-timing-function: cubic-bezier(0.25, 1.8, 0.8, 1); } .u-block-hover__additional--outside-down { transform: translate3d(0, -100%, 0); } .u-block-hover__additional--outside-up { transform: translate3d(0, 100%, 0); } .u-block-hover__additional--outside-left { transform: translate3d(100%, 0, 0); } .u-block-hover__additional--outside-right { transform: translate3d(-100%, 0, 0); } // // Slide Lightspeed // [class*="u-block-hover__additional--lightspeed"] { visibility: hidden; opacity: 0; transition-duration: .7s; transition-timing-function: cubic-bezier(0.75, -1.2, 0.8, 2); } .u-block-hover:hover [class*="u-block-hover__additional--lightspeed"] { opacity: 1; visibility: visible; transform: translate3d(0, 0, 0) skew(0deg, 0deg); transition-timing-function: cubic-bezier(0.25, 2, 0.75, 1); } .u-block-hover__additional--lightspeed-left { transform-origin: 50% 0%; transform: translate3d(150%, 0, 0) skew(-35deg, 0deg); } .u-block-hover__additional--lightspeed-right { transform-origin: 50% 100%; transform: translate3d(-150%, 0, 0) skew(35deg, 0deg); } .u-block-hover__additional--lightspeed-down { transform-origin: 50% 50%; transform: translate3d(0, -150%, 0) skew(0deg, -35deg); } .u-block-hover__additional--lightspeed-up { transform-origin: 100% 50%; transform: translate3d(0, 150%, 0) skew(0deg, -35deg); } // // Rotate // [class*="u-block-hover__additional--rotate"] { opacity: 0; visibility: hidden; } .u-block-hover:hover [class*="u-block-hover__additional--rotate"] { opacity: 1; visibility: visible; transform: rotate3d(0, 0, 0, 0deg) scale3d(1, 1, 1); } .u-block-hover__additional--rotate-in { opacity: 1; transition-property: transform, opacity, visibility; transition-duration: .4s; transform: rotate3d(0, 0, 1, 720deg) scale3d(0, 0, 0); } .u-block-hover__additional--rotate-down-left { transform-origin: 0 100%; transform: rotate3d(0, 0, 1, -45deg); } .u-block-hover__additional--rotate-down-right { transform-origin: 100% 100%; transform: rotate3d(0, 0, 1, 45deg); } .u-block-hover__additional--rotate-up-left { transform-origin: 0 100%; transform: rotate3d(0, 0, 1, 45deg); } .u-block-hover__additional--rotate-up-right { transform-origin: 100% 100%; transform: rotate3d(0, 0, 1, -45deg); } // // Jump // .u-block-hover__additional--jump { position: static; } .u-block-hover:hover .u-block-hover__additional--jump, .u-block-hover.u-block-hover__additional--jump:hover { transform: translate3d(0, -10px, 0); } /*------------------------------------ Dedicated Properties ------------------------------------*/ .u-block-hover { &:hover, &:focus { /* Opacity */ .u-block-hover__prop-opacity-1 { opacity: 1; } /* Colors */ .u-block-hover__prop-color-white { color: #fff; } /* Background-colors */ .u-block-hover__prop-bg-primary { background-color: $g-color-primary; &-opacity-0_9 { background-color: rgba($g-color-primary, .9); } } } }