271 lines
5.0 KiB
SCSS
271 lines
5.0 KiB
SCSS
@import '../libs/vars';
|
|
@import '../libs/functions';
|
|
@import '../libs/mixins';
|
|
|
|
///
|
|
/// Lens by HTML5 UP
|
|
/// html5up.net | @ajlkn
|
|
/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
|
///
|
|
|
|
/* Viewer */
|
|
|
|
@include keyframes(spinner) {
|
|
0% {
|
|
@include vendor('transform', 'rotate(0deg)');
|
|
}
|
|
|
|
100% {
|
|
@include vendor('transform', 'rotate(360deg)');
|
|
}
|
|
}
|
|
|
|
#viewer {
|
|
@include vendor('transition', ('opacity #{_duration(layout)} ease', 'width #{_duration(layout)} ease'));
|
|
position: absolute;
|
|
top: 0;
|
|
width: calc(100% - #{_size(main)});
|
|
height: 100%;
|
|
|
|
@if _misc(main-side) == 'left' {
|
|
right: 0;
|
|
}
|
|
@else {
|
|
left: 0;
|
|
}
|
|
|
|
.inner {
|
|
@include vendor('pointer-events', 'none');
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: 2;
|
|
|
|
> * {
|
|
@include vendor('pointer-events', 'auto');
|
|
}
|
|
|
|
&:before {
|
|
@include vendor('background-image', (
|
|
'linear-gradient(left, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0))',
|
|
'linear-gradient(right, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0))'
|
|
));
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.toggle {
|
|
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
|
position: absolute;
|
|
top: 0;
|
|
width: 4em;
|
|
height: 4em;
|
|
background-image: url('images/close.svg');
|
|
background-repeat: no-repeat;
|
|
background-size: 64px 64px;
|
|
cursor: pointer;
|
|
z-index: 1;
|
|
|
|
@if _misc(main-side) == 'left' {
|
|
left: 0;
|
|
background-position: 0.75em 0.75em;
|
|
}
|
|
@else {
|
|
right: 0;
|
|
background-position: calc(100% - 0.75em) 0.75em;
|
|
}
|
|
}
|
|
|
|
.nav-next,
|
|
.nav-previous {
|
|
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
|
position: absolute;
|
|
top: 50%;
|
|
width: 6em;
|
|
height: 6em;
|
|
margin-top: -3em;
|
|
background-image: url('images/arrow.svg');
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: contain;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.nav-previous {
|
|
@include vendor('transform', 'scaleX(-1)');
|
|
left: 0;
|
|
}
|
|
|
|
.nav-next {
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
.slide {
|
|
@include vendor('transition', 'opacity #{_duration(slide)} ease-in-out');
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
opacity: 1;
|
|
z-index: 1;
|
|
|
|
.caption {
|
|
@include vendor('background-image', (
|
|
'linear-gradient(bottom, rgba(16,16,16,0.75), rgba(16,16,16,0.25) 80%, rgba(16,16,16,0))',
|
|
));
|
|
@include padding(2em, 2em);
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
color: rgba(255,255,255,0.5);
|
|
z-index: 1;
|
|
|
|
h2, h3, h4, h5, h6 {
|
|
color: #fff;
|
|
}
|
|
}
|
|
|
|
.image {
|
|
@include vendor('transition', 'opacity #{_duration(slide)} ease-in-out');
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
opacity: 0;
|
|
}
|
|
|
|
&:before {
|
|
@include vendor('animation', 'spinner #{_duration(spinner)} linear infinite');
|
|
@include vendor('transition', 'opacity #{_duration(slide)} ease-in-out');
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 3em;
|
|
height: 3em;
|
|
background-image: url('images/spinner.svg');
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: contain;
|
|
margin: -1.5em 0 0 -1.5em;
|
|
opacity: 0;
|
|
}
|
|
|
|
&.loading {
|
|
&:before {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
&.active {
|
|
.image {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
body.fullscreen & {
|
|
width: 100%;
|
|
|
|
.inner {
|
|
.toggle {
|
|
background-image: url('images/open.svg');
|
|
}
|
|
}
|
|
}
|
|
|
|
body.is-loading-1 & {
|
|
opacity: 0;
|
|
}
|
|
|
|
body.is-loading-2 & {
|
|
.slide {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@include breakpoint(large) {
|
|
width: calc(100% - #{_size(main-alt)});
|
|
}
|
|
|
|
@include breakpoint(medium) {
|
|
width: 100%;
|
|
|
|
.inner {
|
|
.toggle {
|
|
@include vendor('transition', 'opacity #{_duration(layout)} ease');
|
|
background-image: url('images/open.svg');
|
|
opacity: 0;
|
|
|
|
@if _misc(main-side) == 'left' {
|
|
left: 0;
|
|
}
|
|
@else {
|
|
right: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
body.fullscreen & {
|
|
.inner {
|
|
.toggle {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@include breakpoint(small) {
|
|
.inner {
|
|
.toggle {
|
|
background-size: 32px 32px;
|
|
}
|
|
|
|
.nav-next,
|
|
.nav-previous {
|
|
background-image: url('images/arrow-small.svg');
|
|
background-size: 32px 32px;
|
|
}
|
|
}
|
|
|
|
body.fullscreen & {
|
|
.inner {
|
|
.toggle {
|
|
background-image: url('images/open-small.svg');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@include breakpoint(xsmall) {
|
|
@include vendor('transition', ('opacity #{_duration(layout-alt)} ease'));
|
|
@include vendor('transition-delay', '0s');
|
|
opacity: 0;
|
|
|
|
.inner {
|
|
.toggle {
|
|
background-image: url('images/close-small.svg') !important;
|
|
background-size: 32px 32px;
|
|
}
|
|
}
|
|
|
|
body.fullscreen & {
|
|
@include vendor('transition-delay', '#{_duration(layout-alt)}');
|
|
opacity: 1;
|
|
}
|
|
}
|
|
} |