@import 'variables';
|
|
.body-overflow-hidden{
|
overflow: hidden !important;
|
}
|
|
.ng-image-gallery{
|
outline:none;
|
|
*{
|
outline:none;
|
}
|
|
.ng-image-gallery-thumbnails{
|
&:after{
|
content: "";
|
width:0;
|
height:0;
|
display: block;
|
visibility: hidden;
|
clear:both;
|
}
|
|
.thumb{
|
float:left;
|
overflow:hidden;
|
background-size:cover;
|
background-position:center center;
|
cursor: pointer;
|
background-color: $thumb-background-color;
|
position: relative;
|
|
&:not(:last-child){
|
margin-right: 5px;
|
margin-bottom: 5px;
|
}
|
|
>.loader{
|
position: absolute;
|
left: 10%;
|
top: 10%;
|
right: 10%;
|
bottom: 10%;
|
animation: thumb-load 1.4s infinite linear;
|
transform: translateZ(0);
|
|
@keyframes thumb-load{
|
0% {transform: rotate(0deg);}
|
100% {transform: rotate(360deg);}
|
}
|
|
&:before{
|
width: 50%;
|
height: 50%;
|
background: #ccc;
|
border-radius: 100% 0 0 0;
|
position: absolute;
|
top: 0;
|
left: 0;
|
content: '';
|
}
|
&:after{
|
background: $thumb-background-color;
|
width: 75%;
|
height: 75%;
|
border-radius: 50%;
|
content: '';
|
margin: auto;
|
position: absolute;
|
top: 0;
|
left: 0;
|
bottom: 0;
|
right: 0;
|
}
|
}
|
}
|
}
|
|
.ng-image-gallery-modal{
|
position: fixed;
|
z-index: 5000;
|
top:0;
|
right:0;
|
bottom:0;
|
left:0;
|
overflow:hidden;
|
|
// Animate when visible
|
transition: opacity 0.3s ease-in-out;
|
backface-visibility: hidden;
|
-webkit-backface-visibility: hidden;
|
|
// ngAnimate classes
|
&.ng-hide-add{
|
opacity : 1;
|
}
|
|
&.ng-hide-add-active{
|
opacity : 0;
|
}
|
|
&.ng-hide-remove{
|
opacity : 0;
|
}
|
|
&.ng-hide-remove-active{
|
opacity : 1;
|
}
|
|
// Gallery backdrop view
|
.ng-image-gallery-backdrop{
|
background-color : rgba(0,0,0,0.85);
|
position : absolute;
|
top:0;
|
right:0;
|
bottom:0;
|
left:0;
|
z-index: 1;
|
}
|
|
// Gallery content view
|
.ng-image-gallery-content{
|
position : absolute;
|
top:0;
|
right:0;
|
bottom:0;
|
left:0;
|
z-index: 2;
|
|
.actions-icons-container{
|
position:absolute;
|
left: 10px;
|
top:20px;
|
|
.delete-img{
|
&.ng-leave-active{
|
display: none;
|
}
|
|
&:hover{
|
background-color: rgba(255,255,255,0.1);
|
}
|
|
&:before{
|
content : "";
|
display: block;
|
position: absolute;
|
top : 5px;
|
right: 5px;
|
bottom:5px;
|
left:5px;
|
background-size:100% 100%;
|
background-repeat:no-repeat;
|
}
|
|
transition: background-color 0.3s ease-in-out;
|
position: relative;
|
display: inline-block;
|
width:30px;
|
height:30px;
|
overflow: hidden;
|
cursor: pointer;
|
text-decoration: none;
|
color:#fff;
|
vertical-align: bottom;
|
}
|
|
.delete-img:before{
|
background-image:url(../res/icons/delete.svg);
|
}
|
}
|
|
.control-icons-container{
|
position:absolute;
|
right: 10px;
|
top:20px;
|
|
.ext-url,
|
.close{
|
&.ng-leave-active{
|
display: none;
|
}
|
|
&:hover{
|
background-color: rgba(255,255,255,0.1);
|
}
|
|
&:before{
|
content : "";
|
display: block;
|
position: absolute;
|
top : 5px;
|
right: 5px;
|
bottom:5px;
|
left:5px;
|
background-size:100% 100%;
|
background-repeat:no-repeat;
|
}
|
|
transition: background-color 0.3s ease-in-out;
|
position: relative;
|
display: inline-block;
|
width:30px;
|
height:30px;
|
overflow: hidden;
|
cursor: pointer;
|
text-decoration: none;
|
color:#fff;
|
vertical-align: bottom;
|
}
|
|
.ext-url:before{
|
background-image:url(../res/icons/external-link.svg);
|
}
|
|
.close:before{
|
background-image:url(../res/icons/close.svg);
|
}
|
}
|
|
|
.prev,
|
.next{
|
position:absolute;
|
top: 50%;
|
margin-top:-25px;
|
|
width:50px;
|
height:50px;
|
background-size:100% 100%;
|
background-repeat:no-repeat;
|
overflow: hidden;
|
cursor: pointer;
|
|
&.bubbles-on{
|
top:calc((100% - 50px) / 2);
|
}
|
|
@media screen and (max-width:600px){
|
margin-top:-15px;
|
width:30px;
|
height:30px;
|
}
|
}
|
|
.prev{
|
left: 0px;
|
background-image:url(../res/icons/prev.svg);
|
}
|
|
.next{
|
right: 0px;
|
background-image:url(../res/icons/next.svg);
|
}
|
|
.galleria{
|
position:absolute;
|
top:0;
|
bottom:0;
|
left:80px;
|
right:80px;
|
overflow: hidden;
|
display:flex;
|
flex-direction: column;
|
align-items: center;
|
|
.galleria-images{
|
position: relative;
|
flex: 1;
|
width: 100%;
|
|
.galleria-image{
|
position: absolute;
|
left: 0;
|
right: 0;
|
top: 0;
|
bottom: 0;
|
margin: auto;
|
max-width: 100%;
|
max-height: 100%;
|
|
// Animate when visible
|
backface-visibility: hidden;
|
-webkit-backface-visibility: hidden;
|
|
// Prevent user selection and highlighting
|
-webkit-touch-callout: none;
|
-webkit-user-select: none;
|
-khtml-user-select: none;
|
-moz-user-select: none;
|
-ms-user-select: none;
|
user-select: none;
|
}
|
|
/*****************************************************/
|
|
// image fade animation
|
&.img-anim-fade{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out;
|
opacity : 0;
|
}
|
&.ng-enter-active{
|
opacity : 1;
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
}
|
}
|
}
|
|
// image fadeup animation
|
&.img-anim-fadeup{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
opacity : 0;
|
transform: scale(0.98);
|
}
|
&.ng-enter-active{
|
opacity : 1;
|
transform: scale(1);
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
}
|
}
|
}
|
|
// image zoom animation
|
&.img-anim-zoom{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
opacity : 0;
|
transform: scale(0);
|
}
|
&.ng-enter-active{
|
opacity : 1;
|
transform: scale(1);
|
}
|
&.ng-leave{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
transform: scale(0);
|
}
|
}
|
}
|
|
// image slide animation
|
&.img-anim-slide{
|
&.img-move-dir-backward{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
transform: translateX(-100%);
|
opacity : 0;
|
}
|
&.ng-enter-active{
|
transform: translateX(0px);
|
opacity : 1;
|
}
|
&.ng-leave{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
transform: translateX(100%);
|
}
|
}
|
}
|
&.img-move-dir-forward{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
transform: translateX(100%);
|
opacity : 0;
|
}
|
&.ng-enter-active{
|
transform: translateX(0px);
|
opacity : 1;
|
}
|
&.ng-leave{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
transform: translateX(-100%);
|
}
|
}
|
}
|
}
|
|
// image pop animation
|
&.img-anim-pop{
|
&.img-move-dir-backward{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
transform: translateX(-100%) scale(0,0);
|
opacity : 0;
|
}
|
&.ng-enter-active{
|
transform: translateX(0px) scale(1,1);
|
opacity : 1;
|
}
|
&.ng-leave{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
transform: translateX(100%) scale(0,0);
|
}
|
}
|
}
|
&.img-move-dir-forward{
|
.galleria-image{
|
&.ng-enter{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
transform: translateX(100%) scale(0,0);
|
opacity : 0;
|
}
|
&.ng-enter-active{
|
transform: translateX(0px) scale(1,1);
|
opacity : 1;
|
}
|
&.ng-leave{
|
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
|
}
|
&.ng-leave-active{
|
opacity : 0;
|
transform: translateX(-100%) scale(0,0);
|
}
|
}
|
}
|
}
|
|
// image revolve animation
|
&.img-anim-revolve{
|
&.img-move-dir-forward{
|
.galleria-image{
|
&.ng-enter{
|
animation: revolve-in-forward;
|
animation-duration: 0.3s;
|
}
|
&.ng-leave{
|
animation: revolve-out-forward;
|
animation-duration: 0.3s;
|
}
|
}
|
}
|
&.img-move-dir-backward{
|
.galleria-image{
|
&.ng-enter{
|
animation: revolve-in-backward;
|
animation-duration: 0.3s;
|
}
|
&.ng-leave{
|
animation: revolve-out-backward;
|
animation-duration: 0.3s;
|
}
|
}
|
}
|
}
|
}
|
|
.galleria-title-description-wrapper{
|
flex: none;
|
|
>div{
|
padding: 20px 0;
|
text-align: center;
|
color: #fff;
|
|
.title{
|
font-size: 18px;
|
margin-bottom: 10px;
|
}
|
|
.desc{
|
font-size: 12px;
|
line-height: 1.3;
|
}
|
}
|
}
|
|
.galleria-bubbles-wrapper{
|
flex: none;
|
margin: 20px 0;
|
overflow: hidden;
|
width: 100%;
|
font-size: 0;
|
|
>.galleria-bubbles{
|
display: block;
|
text-align: center;
|
white-space: nowrap;
|
transition: margin-left 0.3s;
|
|
span{
|
flex: none;
|
position:relative;
|
display: inline-block;
|
margin:0 5px;
|
cursor: pointer;
|
overflow: hidden;
|
border-radius: 100%;
|
background-size: cover;
|
background-position: center center;
|
vertical-align: middle;
|
background-color: $bubble-background-color;
|
|
&.ng-leave-active{
|
display: none;
|
}
|
|
&:not(.img-bubble){
|
background-color : rgba(255,255,255,0.5);
|
border-radius:100%;
|
overflow: hidden;
|
transition: all 0.3s ease-in-out;
|
|
&.active{
|
background-color : #fff;
|
}
|
}
|
|
&.img-bubble{
|
box-sizing:border-box;
|
border:1px solid transparent;
|
transition: border 0.3s ease-in-out, margin 0.3s ease-in-out;
|
|
&.active{
|
border:1px solid #fff;
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
// Image Error
|
.ng-image-gallery-errorplaceholder{
|
position : absolute;
|
top: 0;
|
bottom: 0;
|
left: 80px;
|
right: 80px;
|
z-index: 1;
|
|
display: flex;
|
flex-direction: row;
|
justify-content: center;
|
align-items: center;
|
}
|
|
// Image loading animation view
|
.ng-image-gallery-loader{
|
position : absolute;
|
top:0;
|
right:0;
|
bottom:0;
|
left:0;
|
z-index: 3;
|
|
display: flex;
|
flex-direction: row;
|
justify-content: center;
|
align-items: center;
|
|
// Spinner from http://tobiasahlin.com/spinkit/
|
.spinner{
|
flex:none;
|
width: 50px;
|
height: 50px;
|
text-align: center;
|
font-size: 10px;
|
|
>div{
|
background-color: #fff;
|
height: 100%;
|
width: 7px;
|
margin: 0 3px 0 0;
|
display: inline-block;
|
|
-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
animation: sk-stretchdelay 1.2s infinite ease-in-out;
|
}
|
|
.rect2{
|
-webkit-animation-delay: -1.1s;
|
animation-delay: -1.1s;
|
}
|
|
.rect3{
|
-webkit-animation-delay: -1.0s;
|
animation-delay: -1.0s;
|
}
|
|
.rect4{
|
-webkit-animation-delay: -0.9s;
|
animation-delay: -0.9s;
|
}
|
|
.rect5{
|
-webkit-animation-delay: -0.8s;
|
animation-delay: -0.8s;
|
}
|
}
|
|
}
|
}
|
|
|
/*****************************************************************
|
INLINE GALLERY
|
/*****************************************************************/
|
&.inline{
|
|
// Convert modal to inline dic
|
.ng-image-gallery-modal{
|
position: relative;
|
z-index: 1;
|
overflow:hidden;
|
width:100%;
|
height:300px;
|
|
.ng-image-gallery-content{
|
.actions-icons-container{
|
top:0;
|
|
.delete-img{
|
margin:0;
|
|
&:before{
|
background-image:url(../res/icons/delete-inline.svg);
|
}
|
}
|
}
|
|
.control-icons-container{
|
top:0;
|
|
.ext-url{
|
margin:0;
|
|
&:before{
|
background-image:url(../res/icons/external-link-inline.svg);
|
}
|
}
|
}
|
|
.prev{
|
background-image:url(../res/icons/prev-inline.svg);
|
}
|
|
.next{
|
background-image:url(../res/icons/next-inline.svg);
|
}
|
|
.prev, .next{
|
margin-top: -15px;
|
width: 30px;
|
height: 30px;
|
}
|
|
.galleria{
|
.galleria-bubbles{
|
span{
|
&:not(.img-bubble){
|
background-color : rgba(0,0,0,0.5);
|
|
&.active{
|
background-color : #333;
|
}
|
}
|
|
&.img-bubble{
|
&.active{
|
border:1px solid #000;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
.ng-image-gallery-loader{
|
.spinner{
|
> div{
|
background-color: #999;
|
}
|
}
|
}
|
}
|
}
|
}
|