.etheme-hotspot-wrapper { --icon-space: 5px; --hotspot-x: 50%; --hotspot-y: 50%; --tooltip-space: 10px; } .etheme-hotspot { position: absolute; top: var(--hotspot-y); left: var(--hotspot-x); -webkit-transform: translate(calc(-1 * var(--hotspot-x)), calc(-1 * var(--hotspot-y))); transform: translate(calc(-1 * var(--hotspot-x)), calc(-1 * var(--hotspot-y))); text-align: center; z-index: 2; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; } .etheme-hotspot p:last-of-type { margin-bottom: 0; } .etheme-hotspot.active, .etheme-hotspot:hover { z-index: 3; } .swiper-slide .etheme-hotspot-item { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; } .etheme-hotspot-item { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; line-height: 1; white-space: nowrap; min-width: var(--hotspot-min-width); min-height: var(--hotspot-min-height); font-size: var(--hotspot-size, 18px); color: var(--hotspot-color, #fff); background: var(--hotspot-bg-color, #000); padding: var(--hotspot-padding, 5px); border-radius: var(--hotspot-border-radius, 3px); } .etheme-hotspot-item-default { width: var(--hotspot-size, 18px); height: var(--hotspot-size, 18px); border-radius: var(--hotspot-border-radius, 50%); } .etheme-hotspot-tooltip { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: absolute; color: var(--tooltip-text-color, #000); background-color: var(--tooltip-bg-color, #fff); padding: var(--tooltip-padding, 7px); border-radius: var(--tooltip-border-radius, 5px); text-align: var(--tooltip-align, center); min-width: var(--tooltip-min-width, 160px); min-height: var(--tooltip-min-height, 20px); z-index: 3; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; } .etheme-hotspot-tooltip-inner { width: 100%; } .etheme-hotspot-tooltip-bottom, .etheme-hotspot-tooltip-top { left: 50%; -webkit-transform: translate(var(--tooltip-offset-x, -50%), var(--tooltip-offset-y, 0)) scale(var(--tooltip-scale, 1)); transform: translate(var(--tooltip-offset-x, -50%), var(--tooltip-offset-y, 0)) scale(var(--tooltip-scale, 1)); } .etheme-hotspot-tooltip-right, .etheme-hotspot-tooltip-left { top: 50%; -webkit-transform: translate(var(--tooltip-offset-x, 0), var(--tooltip-offset-y, -50%)) scale(var(--tooltip-scale, 1)); transform: translate(var(--tooltip-offset-x, 0), var(--tooltip-offset-y, -50%)) scale(var(--tooltip-scale, 1)); } .etheme-hotspot-tooltip-bottom { bottom: calc(100% + var(--tooltip-space)); } .etheme-hotspot-tooltip-top { top: calc(100% + var(--tooltip-space)); } .etheme-hotspot-tooltip-right { right: calc(100% + var(--tooltip-space)); } .etheme-hotspot-tooltip-left { left: calc(100% + var(--tooltip-space)); } .etheme-hotspot-arrow:before { content: ''; width: 0; height: 0; border: 8px solid transparent; position: absolute; } .etheme-hotspot-arrow-top:before { border-bottom-color: var(--tooltip-arrow-color, #fff); bottom: 100%; left: calc(50% - 8px); } .etheme-hotspot-arrow-bottom:before { border-top-color: var(--tooltip-arrow-color, #fff); top: 100%; left: calc(50% - 8px); } .etheme-hotspot-arrow-left:before { border-right-color: var(--tooltip-arrow-color, #fff); right: 100%; top: calc(50% - 8px); } .etheme-hotspot-arrow-right:before { border-left-color: var(--tooltip-arrow-color, #fff); left: 100%; top: calc(50% - 8px); } .etheme-hotspot-icon { line-height: 1; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .etheme-hotspot-icon:first-child { margin-right: var(--icon-space, 5px); } .etheme-hotspot-icon:last-child { margin-left: var(--icon-space, 5px); } .etheme-hotspot-icon:only-child { margin: 0; } .etheme-hotspot-content-image { margin: 0 auto var(--image-spacing, 7px); } .etheme-hotspot-product-content-inner > span { display: block; } .etheme-hotspot-product-content-inline { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .etheme-hotspot-product-content-inline .etheme-hotspot-product-content-inner { width: 100%; overflow: hidden; } .etheme-hotspot-product-content-inline .etheme-hotspot-content-image { margin-bottom: 0; margin-right: var(--image-spacing, 7px); } .etheme-hotspot-tooltip-animation-fade.etheme-hotspot-tooltip-on-hover:not(:hover) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-slide.etheme-hotspot-tooltip-on-hover:not(:hover) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-scale.etheme-hotspot-tooltip-on-hover:not(:hover) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-fade.etheme-hotspot-tooltip-on-click:not(.active) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-slide.etheme-hotspot-tooltip-on-click:not(.active) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-scale.etheme-hotspot-tooltip-on-click:not(.active) .etheme-hotspot-tooltip { opacity: 0; visibility: hidden; } .etheme-hotspot-tooltip-animation-slide .etheme-hotspot-tooltip { -webkit-transition: all 0.3s linear, opacity 0.15s linear, visibility 0.15s linear; transition: all 0.3s linear, opacity 0.15s linear, visibility 0.15s linear; } .etheme-hotspot-tooltip-animation-slide.etheme-hotspot-tooltip-on-hover:not(:hover) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-slide.etheme-hotspot-tooltip-on-click:not(.active) .etheme-hotspot-tooltip { --tooltip-space: 15px; } .etheme-hotspot-tooltip-animation-scale.etheme-hotspot-tooltip-on-hover:not(:hover) .etheme-hotspot-tooltip, .etheme-hotspot-tooltip-animation-scale.etheme-hotspot-tooltip-on-click:not(.active) .etheme-hotspot-tooltip { --tooltip-scale: 0.8; } .etheme-hotspot-animation-soft-beat { -webkit-animation: etheme-hotspot-soft-beat var(--hotspot-animation-duration, 0.7s) infinite alternate; animation: etheme-hotspot-soft-beat var(--hotspot-animation-duration, 0.7s) infinite alternate; -webkit-animation-timing-function: ease; animation-timing-function: ease; } .etheme-hotspot-animation-expand { -webkit-animation: etheme-hotspot-expand var(--hotspot-animation-duration, 2s) infinite; animation: etheme-hotspot-expand var(--hotspot-animation-duration, 2s) infinite; } .etheme-hotspot-animation-shadow { -webkit-animation: etheme-hotspot-shadow var(--hotspot-animation-duration, 2s) infinite; animation: etheme-hotspot-shadow var(--hotspot-animation-duration, 2s) infinite; -webkit-box-shadow: 0 0 0 var(--hotspot-animation-shadow-size, 10px) var(--hotspot-animation-shadow-color, rgba(0, 0, 0, 0.4)); box-shadow: 0 0 0 var(--hotspot-animation-shadow-size, 10px) var(--hotspot-animation-shadow-color, rgba(0, 0, 0, 0.4)); } .etheme-hotspot-animation-delayed .etheme-hotspot-animation { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; } .etheme-hotspot-animation-delayed:nth-child(2n) .etheme-hotspot-animation { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; } .etheme-hotspot-animation-delayed:nth-child(3n) .etheme-hotspot-animation { -webkit-animation-delay: 0.25s; animation-delay: 0.25s; } .etheme-hotspot-animation-delayed:nth-child(4n) .etheme-hotspot-animation { -webkit-animation-delay: 0.7s; animation-delay: 0.7s; } .etheme-hotspot-animation-delayed:nth-child(5n) .etheme-hotspot-animation { -webkit-animation-delay: 0.35s; animation-delay: 0.35s; } @-webkit-keyframes etheme-hotspot-shadow { 0% { -webkit-box-shadow: 0 0 0 0 var(--hotspot-animation-shadow-color, rgba(0, 0, 0, 0.4)); box-shadow: 0 0 0 0 var(--hotspot-animation-shadow-color, rgba(0, 0, 0, 0.4)); } 70% { -webkit-box-shadow: 0 0 0 var(--hotspot-animation-shadow-size, 10px) rgba(0, 0, 0, 0); box-shadow: 0 0 0 var(--hotspot-animation-shadow-size, 10px) rgba(0, 0, 0, 0); } 100% { -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } } @keyframes etheme-hotspot-shadow { 0% { -webkit-box-shadow: 0 0 0 0 var(--hotspot-animation-shadow-color, rgba(0, 0, 0, 0.4)); box-shadow: 0 0 0 0 var(--hotspot-animation-shadow-color, rgba(0, 0, 0, 0.4)); } 70% { -webkit-box-shadow: 0 0 0 var(--hotspot-animation-shadow-size, 10px) rgba(0, 0, 0, 0); box-shadow: 0 0 0 var(--hotspot-animation-shadow-size, 10px) rgba(0, 0, 0, 0); } 100% { -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } } /* Animations */ @-webkit-keyframes etheme-hotspot-soft-beat { from { -webkit-transform: scale(1); transform: scale(1); } to { -webkit-transform: scale(1.1); transform: scale(1.1); } } @keyframes etheme-hotspot-soft-beat { from { -webkit-transform: scale(1); transform: scale(1); } to { -webkit-transform: scale(1.1); transform: scale(1.1); } } @-webkit-keyframes etheme-hotspot-expand { from { -webkit-transform: scale(0.5); transform: scale(0.5); opacity: 1; } to { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; } } @keyframes etheme-hotspot-expand { from { -webkit-transform: scale(0.5); transform: scale(0.5); opacity: 1; } to { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; } }