*{
	margin:0;
/*	padding:0; */
	border:0;
	outline:none;
}

a{ 
	text-decoration: none; 
}

body {
	background-color:#fff;
}

.sg-gallery{
	position: relative;
	z-index: 10;
    width: 100%;
    min-height: 300px;/* mainly for preloader space, otherwise not necessary */
}
.sg-playlist{
	position: relative;
	z-index: 9;
	opacity: 0;
	transition: opacity 350ms ease-out;
}
.sg-content{
	position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}
.sg-content-url{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin:10px;
    overflow: hidden;
    background: #111;
}
.sg-centered{
	align-items: center;
    justify-content: center;
    display: flex;
}
.sg-slide{
    position: absolute;
    background: #fff;
    padding: 10px;
 	box-shadow: 1px 1px 5px #484848;
    box-sizing:content-box;
	transition-timing-function: ease;
    backface-visibility: hidden;
 	transition-property: transform;
 	overflow: hidden;
}
.sg-slide-duration{
    transition-duration: .5s;
}
.sg-slide-img{
    display: block;
    width: 100%;
    position: relative;
    backface-visibility: hidden;
    user-select: none;
    max-width: none!important;
    opacity: 1; 
    transition: opacity 300ms ease-out;
}
.sg-lazy-image {
    opacity: 0; 
    position: absolute;
}
.sg-blocker{
    position: absolute;
    top: 0;
    left:0;
    bottom:0;
    right:0;
    background: rgba(0,0,123,0);
    z-index: 99999999;
}


/* controls */
.sg-controls{
	z-index: 9999999;
    opacity: 0;
}

/* buttons */
.sg-button-controls{
	position:relative;
	display: flex;
	justify-content:space-between;
	flex-direction:row;
	width:115px;
	left:50%;
	top:0;
	margin-top: 20px;
	transform: translateX(-50%);
	z-index: 100;
	transition: opacity 350ms ease-out;
}
.sg-backward,
.sg-playback-toggle,
.sg-forward{
	position: relative;
	width:30px;	
	height:30px;
	cursor: pointer;
	border-radius: 100%;
	background: #111;
}
.sg-backward:hover,
.sg-playback-toggle:hover,
.sg-forward:hover{
	background: #9e9e9e;
}
.sg-backward img,
.sg-playback-toggle img,
.sg-forward img{
    display: block;
    position: absolute;
    left:50%;
    top:50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    user-select: none;
}


/* thumbs */
.sg-backward-thumb,
.sg-forward-thumb{
    position:absolute;
    top:0;
    height:100%;
    width:40px;
    cursor: pointer;
    display: none;
    background: rgba(255, 255, 255, 0);
}
.sg-backward-thumb img,
.sg-forward-thumb img{
    display: block;
    position: absolute;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
    user-select: none;
}
.sg-backward-thumb{
    left:0;
}
.sg-forward-thumb{
    right:0;
}
.sg-thumb-controls{
    position: relative;
    max-width: 424px;
    width: 100%;
    height: 52px;
    left:50%;
    top:auto;
    transform: translateX(-50%);
    margin-top: 10px;
}
.sg-thumb-controls-inner{
    position:absolute;
    top: 0;
    bottom: 0;
    left: 40px;
    right: 40px;
    height:100%;
    width: auto;
    overflow: hidden;
}
.sg-thumb-controls-content{
    position:absolute;
    left: 0;
    height: 100%;
    transition:transform ease-in-out 0.3s;
}
.sg-thumb{
    float: left;
    overflow: hidden;
    cursor: pointer;
    border:3px solid rgba(0,0,0,0);
    box-sizing:border-box;
    width: 86px;
    height: 100%;
}
.sg-thumb:hover,
.sg-thumb-selected{
    border:3px solid rgba(114,142,253,1);
}
.sg-thumb-selected{
    cursor: default;
}
.sg-thumb img{
    display: block;
    width: 100%;
    min-height: 100%;
    max-width: none;
    background: rgba(229, 229, 229, 0.28);
}



/* bullets */
.sg-bullet-controls{
    position: relative;
    left:50%;
    transform: translateX(-50%);
    display: flex;
    flex-wrap:wrap;
    justify-content: center;
    margin-top: 20px;
}
.sg-bullet{
    cursor: pointer;
    width: 18px;
    height: 18px;
    border-radius: 100%;
    background:#ddd;
    margin: 10px;
    flex-shrink:0;
}
.sg-bullet:hover,
.sg-bullet-selected{
    background: #e24b70;
}
.sg-bullet-selected{
    cursor: default;
}
.sg-bullet-tooltip{
    position: absolute;
    z-index: 99999999;
    border: 2px solid #fff;
    box-sizing:border-box;
    box-shadow: 1px 1px 5px #999;
    display: none;
}
.sg-bullet-tooltip img{
    position: relative;
    display: block;
}




/* link, lightbox buttons */

.sg-slide-detail{
	position:absolute; 
	width:30px;
	right:20px;
	top:20px;
	display: flex;
    justify-content: space-between;
    flex-direction: column;
    max-height: 70px;
}
.sg-slide-detail a{
	position:relative; 
	display:block;
	width:30px;
	height:30px;
	left:0;
	top:0;
	border-radius: 100%;
	background: #ccc;
}
.sg-slide-detail a:nth-child(2){
    margin-top: 10px;
}
.sg-slide-detail a:hover{
	background: #9e9e9e;
}
.sg-slide-detail img{
	display: block;
	position: absolute;
	left:50%;
	top:50%;
	-webkit-transform: translate(-50%, -50%);
  	-ms-transform: translate(-50%, -50%);
  	transform: translate(-50%, -50%);
  	user-select: none;
}


/* loader */

.sg-loader {
	position:absolute;
	top:50%;
	left:50%;
    width: 40px;
    height: 40px;
    margin-left:-20px;
	margin-top:-20px;
    background-color: #03a9f4;
    -webkit-animation: sg_loader 1.2s infinite ease-in-out;
    animation: sg_loader 1.2s infinite ease-in-out;
}
@-webkit-keyframes sg_loader {
    0% { -webkit-transform: perspective(120px) }
    50% { -webkit-transform: perspective(120px) rotateY(180deg) }
    100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}
@keyframes sg_loader {
    0% { 
	    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
	    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
    } 50% { 
	    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
	    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
    } 100% { 
	    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
	    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}


/* captions */

.sg-caption{
	position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
}
.sg-caption-left{
	position: relative;
	margin-bottom: 20px;
    padding: 5px;
    font-size:16px;
	float: left;
	clear: left;
	opacity: 0;
	left: -100px;
	margin-left: 20px;
	margin-right: 20px;
    transition: all 500ms ease-out;
    line-height: normal;
}
.sg-caption-left.sg-caption-shown{
	opacity: 1;
	left: 0;
}
.sg-c1{
	color: #E32636; 
	background-color: rgba(255, 255, 255, 0.9);
}
.sg-c2{
	color: #fff; 
	background-color: rgba(255, 0, 0, 0.9);
}
.sg-c3{
	color: #fff; 
	background-color: rgba(114, 142, 253, 0.8);
}
.sg-c4{
	color: #000; 
	background-color: rgba(255, 255, 255, 0.9);
}
.sg-c5{
	color: #fff; 
	background-color: rgba(204, 204, 153, 0.9);
}
.sg-c5 a{
	color: #fff; 
	text-decoration: underline;
}
.sg-c6{
	color: #fff; 
	background-color: rgba(30,144,255, 0.9);
}
.sg-c7{
	color: #fff; 
	background-color: rgba(60,179,113, 0.8);
}

.sg-caption-bottom{
    position: relative;
    left: 0;
    overflow: hidden;
    background: rgba(0,0,0,0.5);
    padding: 10px;
    opacity: 0;
    font-size:16px;
    transition: all 250ms ease-out;
    color:#e7e7e7;
    line-height: normal;
}
.sg-caption-bottom.sg-caption-shown{
    bottom:0!important; 
}
.sg-caption a{
    color: inherit;
}

@media only screen and (min-device-width: 480px){
    .sg-caption-left{
        font-size:20px;
        padding: 5px 12px;
    }
    .sg-caption-bottom{
        font-size:20px;
    }
}
@media only screen and (min-device-width: 768px){
    .sg-caption-left{
        font-size:23px;
        padding: 5px 20px;
    }
}




