/* The gallery overlay */

#galleryOverlay{
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	opacity:0;
	z-index:100000;
	background-color:#222;
	background-color:rgba(0,0,0,0.8);
	overflow:hidden;
	display:none;

	-moz-transition:opacity 1s ease;
	-webkit-transition:opacity 1s ease;
	transition:opacity 1s ease;
}

/* This class will trigger the animation */

#galleryOverlay.visible{
	opacity:1;
}

#gallerySlider{
	height:100%;

	left:0;
	top:0;

	width:100%;
	white-space: nowrap;
	position:absolute;

	-moz-transition:left 0.4s ease;
	-webkit-transition:left 0.4s ease;
	transition:left 0.4s ease;
}

#gallerySlider .placeholder{
	background: url("../grafx/loader.gif") no-repeat center center;
	height: 100%;
	line-height: 1px;
	text-align: center;
	width:100%;
	display:inline-block;
}

/* The before element moves the
 * image halfway from the top */

#gallerySlider .placeholder:before{
	position: relative;
    content: "";
	display: inline-block;
	height: 50%;
	width: 1px;
	margin-right:-1px;
}

#gallerySlider .placeholder img{
	display: inline-block;
    height: auto;
    max-height: 100%;
	max-width: 100%;
	vertical-align: middle;
}

#gallerySlider.rightSpring{
	-moz-animation: rightSpring 0.3s;
	-webkit-animation: rightSpring 0.3s;
}

#gallerySlider.leftSpring{
	-moz-animation: leftSpring 0.3s;
	-webkit-animation: leftSpring 0.3s;
}

@keyframes rightSpring{
	0%{		margin-left:0px;}
	50%{	margin-left:-30px;}
	100%{	margin-left:0px;}
}

@keyframes leftSpring{
	0%{		margin-left:0px;}
	50%{	margin-left:30px;}
	100%{	margin-left:0px;}
}

/* Safari and Chrome Keyframe Animations */

@-webkit-keyframes rightSpring{
	0%{		margin-left:0px;}
	50%{	margin-left:-30px;}
	100%{	margin-left:0px;}
}

@-webkit-keyframes leftSpring{
	0%{		margin-left:0px;}
	50%{	margin-left:30px;}
	100%{	margin-left:0px;}
}

/* Arrows */

#prevArrow,#nextArrow{
	border:none;
	text-decoration:none;
	background:url('../grafx/arrows.png') no-repeat;
	opacity:0.5;
	cursor:pointer;
	position:absolute;
	width:43px;
	height:58px;

	top:50%;
	margin-top:-29px;

	-moz-transition:opacity 0.2s ease;
	-webkit-transition:opacity 0.2s ease;
	transition:opacity 0.2s ease;
}

#prevArrow:hover, #nextArrow:hover{
	opacity:1;
}

#prevArrow{
	height: 80px;
    border: 3px solid white;
	background-position:left top;
	left:10%;
}

#nextArrow{
    height: 80px;
    border: 3px solid white;
	background-position:right top;
	right:10%;
}

@media (max-width: 640px)
{
/* hide arrows if screen supports touch events and is small enough */
#prevArrow.hasTouch,
#nextArrow.hasTouch {
    display: none !important;
}
}



#photos {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 40px auto;
    padding: 10px;
    text-align: center;
    font-size: 0;
}
.magnifier {
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    width: calc(20% - 8px);
    margin: 12px 4px;
}
@media (max-width: 1023px) {
.magnifier {
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    width: calc(25% - 8px);
    margin: 4px;
}
}
@media (max-width: 767px) {
.magnifier {
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    width: calc(33% - 8px);
    margin: 4px;
}
}

.magnifier img {
    position: relative;
    display: inline-block;
    width: 100%;
    height: auto;
}