|
:root{ |
|
--primary-color:#ffffff; |
|
} |
|
#spotlight { |
|
position: fixed; |
|
top: -1px; |
|
bottom: -1px; |
|
width: 100%; |
|
z-index: 99999; |
|
color: #fff; |
|
background-color: #000; |
|
opacity: 0; |
|
overflow: hidden; |
|
user-select: none; |
|
transition: opacity 0.2s ease-out; |
|
font-family: Arial, sans-serif; |
|
font-size: 16px; |
|
font-weight: 400; |
|
contain: strict; |
|
touch-action: none; |
|
pointer-events: none; |
|
} |
|
#spotlight.show { |
|
opacity: 1; |
|
transition: none; |
|
pointer-events: auto; |
|
} |
|
#spotlight.white { |
|
color: #212529; |
|
background-color: #fff; |
|
} |
|
#spotlight.white .spl-spinner, |
|
#spotlight.white .spl-prev, |
|
#spotlight.white .spl-next, |
|
#spotlight.white .spl-page ~ * { |
|
filter: invert(1); |
|
} |
|
#spotlight.white .spl-progress { |
|
background-color: rgba(0, 0, 0, 0.35); |
|
} |
|
#spotlight.white .spl-header, |
|
#spotlight.white .spl-footer { |
|
background-color: rgba(255, 255, 255, 0.65); |
|
} |
|
#spotlight.white .spl-button { |
|
background: #212529; |
|
color: #fff; |
|
} |
|
#spotlight .cover { |
|
object-fit: cover; |
|
height: 100%; |
|
width: 100%; |
|
} |
|
#spotlight .contain { |
|
object-fit: contain; |
|
height: 100%; |
|
width: 100%; |
|
} |
|
#spotlight .autofit { |
|
object-fit: none; |
|
width: auto; |
|
height: auto; |
|
max-height: none; |
|
max-width: none; |
|
transition: none; |
|
} |
|
.spl-track { |
|
position: absolute; |
|
width: 100%; |
|
height: 100%; |
|
contain: strict; |
|
} |
|
.spl-spinner { |
|
position: absolute; |
|
width: 100%; |
|
height: 100%; |
|
background-position: center; |
|
background-repeat: no-repeat; |
|
background-size: 42px; |
|
opacity: 0; |
|
} |
|
.spl-spinner.spin { |
|
background-image: url("svg/spotlight/preloader.svg"); |
|
transition: opacity 0.2s linear 0.25s; |
|
opacity: 1; |
|
} |
|
.spl-spinner.error { |
|
background-image: url("svg/spotlight/error.svg"); |
|
background-size: 128px; |
|
transition: none; |
|
opacity: 0.5; |
|
} |
|
.spl-scene { |
|
position: absolute; |
|
width: 100%; |
|
height: 100%; |
|
transition: transform 0.65s cubic-bezier(0.1, 1, 0.1, 1); |
|
contain: layout size; |
|
will-change: transform; |
|
} |
|
.spl-pane > * { |
|
position: absolute; |
|
width: auto; |
|
height: auto; |
|
max-width: 100%; |
|
max-height: 100%; |
|
left: 50%; |
|
top: 50%; |
|
margin: 0; |
|
padding: 0; |
|
border: 0; |
|
transform: translate(-50%, -50%) scale(1); |
|
transition: transform 0.65s cubic-bezier(0.3, 1, 0.3, 1), opacity 0.65s ease; |
|
contain: layout style; |
|
will-change: transform, opacity; |
|
visibility: hidden; |
|
} |
|
.spl-pane { |
|
position: absolute; |
|
top: 0; |
|
width: 100%; |
|
height: 100%; |
|
transition: transform 0.65s cubic-bezier(0.3, 1, 0.3, 1); |
|
contain: layout size; |
|
will-change: transform, contents; |
|
} |
|
.spl-pane.hide img { |
|
display:none !important; |
|
} |
|
.spl-pane.hide { |
|
background-size: 100%; |
|
transition: background-size 0.65s cubic-bezier(0.3, 1, 0.3, 1) !important; |
|
will-change: background-size !important; |
|
transform: translate(0, 0) !important; |
|
} |
|
.spl-header { |
|
position: absolute; |
|
top: 0; |
|
width: 100%; |
|
height: 50px; |
|
text-align: right; |
|
background-color: rgba(0, 0, 0, 0.45); |
|
transform: translateY(-100px); |
|
transition: transform 0.35s ease; |
|
overflow: hidden; |
|
will-change: transform; |
|
} |
|
#spotlight.menu .spl-header, |
|
.spl-header:hover { |
|
transform: translateY(0); |
|
} |
|
.spl-header div { |
|
display: inline-block; |
|
vertical-align: middle; |
|
white-space: nowrap; |
|
width: 50px; |
|
height: 50px; |
|
opacity: 0.5; |
|
} |
|
.spl-progress { |
|
position: absolute; |
|
top: 0; |
|
width: 100%; |
|
height: 3px; |
|
background-color: rgba(255, 255, 255, 0.45); |
|
transform: translateX(-100%); |
|
transition: transform linear; |
|
} |
|
.spl-footer { |
|
position: absolute; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background-color: rgba(0, 0, 0, 0.45); |
|
line-height: 20px; |
|
padding: 20px 20px 0 20px; |
|
padding-bottom: env(safe-area-inset-bottom, 0); |
|
text-align: left; |
|
font-size: 15px; |
|
font-weight: 400; |
|
transform: translateY(100%); |
|
transition: transform 0.35s ease; |
|
will-change: transform; |
|
} |
|
#spotlight.menu .spl-footer, |
|
.spl-footer:hover { |
|
transform: translateY(0); |
|
} |
|
.spl-title { |
|
font-size: 22px; |
|
margin-bottom: 20px; |
|
} |
|
.spl-description { |
|
margin-bottom: 20px; |
|
} |
|
.spl-button { |
|
display: inline-block; |
|
background: #fff; |
|
color: #000; |
|
border-radius: 5px; |
|
padding: 10px 20px; |
|
margin-bottom: 20px; |
|
cursor: pointer; |
|
} |
|
.spl-page { |
|
float: left; |
|
width: auto; |
|
line-height: 50px; |
|
} |
|
.spl-page ~ * { |
|
background-position: center; |
|
background-repeat: no-repeat; |
|
background-size: 21px; |
|
float: right; |
|
} |
|
.spl-fullscreen { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/fullscreen-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/fullscreen-line.svg") no-repeat 50% 50%; |
|
} |
|
.spl-fullscreen.on { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/fullscreen-exit-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/fullscreen-exit-line.svg") no-repeat 50% 50%; |
|
} |
|
.spl-autofit { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/aspect-ratio-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/aspect-ratio-line.svg") no-repeat 50% 50%; |
|
} |
|
.spl-zoom-out { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/zoom-out-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/zoom-out-line.svg") no-repeat 50% 50%; |
|
background-size: 22px; |
|
} |
|
.spl-zoom-in { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/zoom-in-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/zoom-in-line.svg") no-repeat 50% 50%; |
|
background-size: 22px; |
|
} |
|
.spl-download { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/file-download-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/file-download-line.svg") no-repeat 50% 50%; |
|
background-size: 20px; |
|
} |
|
.spl-theme { |
|
background-image: url("svg/spotlight/theme.svg"); |
|
} |
|
.spl-play { |
|
background-image: url("svg/spotlight/play.svg"); |
|
} |
|
.spl-play.on { |
|
background-image: url("svg/spotlight/pause.svg"); |
|
animation: pulsate 1s ease infinite; |
|
} |
|
.spl-close { |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/close-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/close-line.svg") no-repeat 50% 50%; |
|
} |
|
.spl-like{ |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/heart-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/heart-line.svg") no-repeat 50% 50%; |
|
background-size: 22px; |
|
} |
|
.spl-like.on{ |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/heart-fill.svg") no-repeat 50% 50%; |
|
mask: url("svg/heart-fill.svg") no-repeat 50% 50%; |
|
} |
|
.spl-tile{ |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/grid-line.svg") no-repeat 50% 50%; |
|
mask: url("svg/grid-line.svg") no-repeat 50% 50%; |
|
background-size: 22px; |
|
} |
|
.spl-tile.on{ |
|
background-color:var(--primary-color); |
|
-webkit-mask: url("svg/grid-fill.svg") no-repeat 50% 50%; |
|
mask: url("svg/grid-fill.svg") no-repeat 50% 50%; |
|
} |
|
|
|
.spl-prev, |
|
.spl-next { |
|
position: absolute; |
|
top: 50%; |
|
left: 20px; |
|
width: 50px; |
|
height: 50px; |
|
opacity: 0.65; |
|
background-color: rgba(0, 0, 0, 0.45); |
|
border-radius: 100%; |
|
cursor: pointer; |
|
margin-top: -25px; |
|
transform: translateX(-100px); |
|
transition: transform 0.35s ease; |
|
background-image: url("svg/spotlight/arrow.svg"); |
|
background-position: center; |
|
background-repeat: no-repeat; |
|
background-size: 30px; |
|
will-change: transform; |
|
} |
|
.spl-next { |
|
left: auto; |
|
right: 20px; |
|
transform: translateX(100px) scaleX(-1); |
|
} |
|
#spotlight.menu .spl-prev { |
|
transform: translateX(0); |
|
} |
|
#spotlight.menu .spl-next { |
|
transform: translateX(0) scaleX(-1); |
|
} |
|
@media (hover: hover) { |
|
.spl-page ~ div { |
|
cursor: pointer; |
|
transition: opacity 0.2s ease; |
|
} |
|
.spl-page ~ div:hover, |
|
.spl-prev:hover, |
|
.spl-next:hover { |
|
opacity: 1; |
|
} |
|
} |
|
@media (max-width: 500px) { |
|
.spl-header div { |
|
width: 44px; |
|
} |
|
.spl-footer .spl-title { |
|
font-size: 20px; |
|
} |
|
.spl-footer { |
|
font-size: 14px; |
|
} |
|
.spl-prev, |
|
.spl-next { |
|
width: 35px; |
|
height: 35px; |
|
margin-top: -17.5px; |
|
background-size: 15px 15px; |
|
} |
|
.spl-spinner { |
|
background-size: 30px 30px; |
|
} |
|
} |
|
.hide-scrollbars { |
|
overflow: hidden !important; |
|
} |
|
@keyframes pulsate { |
|
0% { |
|
opacity: 1; |
|
} |
|
50% { |
|
opacity: 0.2; |
|
} |
|
100% { |
|
opacity: 1; |
|
} |
|
} |