/* //////////////////////////////////////////////
/////////////////// General
////////////////////////////////////////////// */

.smooth {
	-webkit-transition: background-color .5s ease, opacity .5s ease, border .5s ease !important;
	-moz-transition: background-color .5s ease, opacity .5s ease, border .5s ease !important;
	-o-transition: background-color .5s ease, opacity .5s ease, border .5s ease !important;
	transition: background-color .5s ease, opacity .5s ease, border .5s ease !important;
}

.gallery_jh_section {
	margin:15px 0 17px;
	float:left;
	width:100%;
}

.gallery_jh_section, .gallery_jh_section * {
    -webkit-transition: all .0s ease;
    -moz-transition: all .0s ease;
    -o-transition: all .0s ease;
    transition: all .0s ease;
}

.gallery-caption { 
    display: none; 
    position: absolute;
    z-index: 3;
    font-size: 0.8rem;
    background-color: #fff;
    border-radius: 2px;
    color: #222;
    padding: 10px 13px 14px 14px;
    line-height: 1rem;
    top: 6px; 
    left: 5px;
    cursor: pointer;
}

.lightbox-caption { 
    position: absolute;
    z-index: 3;
    font-size: 1.4rem;
    background-color: #fff;
    border-radius: 2px;
    color: #222;
    padding: 10px 13px 14px 14px;
    line-height: 1rem;
    top: 6px; 
    left: 5px;
    cursor: pointer;
}


/* //////////////////////////////////////////////
/////////////////// Categories
////////////////////////////////////////////// */

.gallery_jh_section .gallery_jh_cats {
	float:left;
	width:100%;
	margin-bottom: 33px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 26px;
}

.gallery_jh_section .gallery_jh_cats ul {
	margin:0;
	padding:0;
	float:left;
	width:100%;
}

.gallery_jh_section .gallery_jh_cats ul li {
    display: inline-block;
    position: relative;
    background: none;
    border: none;
    color: #222;
    font-size: 0.75rem;
    cursor: pointer;
    margin: 0 4px 4px 0;
    padding:0;
    border:1px solid #aaa;
    letter-spacing:1px;
    padding:10px 16px;
}

.gallery_jh_section .gallery_jh_cats ul li:after {
    content:'';
    position:absolute;
    bottom:-1px;
    left:0;
    height:1px;
    width:0;
    background-color:#222;
    transition: width 0.32s ease-in-out 0.15s;
}
.gallery_jh_section .gallery_jh_cats ul li:hover:after {
    width:100%;
    transition: width 0.75s ease-in-out 0s;
}

.gallery_jh_section .gallery_jh_cats ul li.active {
    border:1px solid #222;
}

@media screen and (min-width:600px) {
	.gallery_jh_section .gallery_jh_cats ul li {
	    padding: 14px 22px;
	}
}

@media screen and (min-width:1200px) {
	.gallery_jh_section .gallery_jh_cats ul li {
		font-size: 0.85rem;
	    padding: 17px 26px;
	}
}



/* //////////////////////////////////////////////
/////////////////// Photo list
////////////////////////////////////////////// */

.gallery_jh_section .gallery_jh_items, .gallery_images_for_lightbox {
	float:left;
	width:100%;
}

.gallery_images_for_lightbox ul {
    padding: 0;
    margin: 0;
    float:left;
    width:100%;
    list-style: none;
}

.gallery_jh_section .gallery_jh_items ul li {
	float:left !important;
	width:33.3%;
	list-style:none;
	padding:0 3px 3px 0;
	margin: 0 !important;
}

.gallery_jh_section .gallery_jh_items ul li a img {
	width:100%;
	float:left;
    height: auto;
	margin:0 !important;
    opacity:1;
}

.gallery_jh_section .gallery_jh_items ul li:hover a img {
	opacity:0.6;
}

@media screen and (min-width:600px) {
    .gallery_jh_section .gallery_jh_items ul li {
    	width:105px;
    }
}

@media screen and (min-width:960px) {
    .gallery_jh_section .gallery_jh_items ul li {
    	width:115px;
    }
}

@media screen and (min-width:1200px) {
    .gallery_jh_section .gallery_jh_items ul li {
    	width:125px;
    }
}

@media screen and (min-width:1600px) {
    .gallery_jh_section .gallery_jh_items ul li {
    	width:135px;
    }
}



/* //////////////////////////////////////////////
/////////////////// Lightbox
////////////////////////////////////////////// */

.gallery_jh_lightbox {
    display:none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
}

.gallery_jh_lightbox, .gallery_jh_lightbox * {
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

.gallery_jh_lightbox .controls span.close_jh {
    position:absolute;
    z-index:3;
    font-size: 1.3rem;
    background-color: #fff;
    border-radius:2px;
    color: #222;
    padding: 10px 13px 14px 14px;
    line-height: 1.0rem;
    top: 6px;
    right: 5px;
    cursor:pointer;
}

.gallery_jh_lightbox .controls img.directions {
    color:#fff;
    top:50%;
    position:absolute;
    z-index:3;
    cursor:pointer;
    padding:10px;
	width:34px;
	margin:-5px 0 0 0 !important;
}

.gallery_jh_lightbox .controls img#prev {
    left:20px;
}

.gallery_jh_lightbox .controls img#next {
    right:20px;
}

.gallery_jh_lightbox .gallery_jh_lightbox_bg {
    height: 100%;
    width:100%;
    background: rgba(0,0,0,0.85);
    position:absolute;
    top:0;
    left:0;
    z-index:1;
    cursor:zoom-out;
}

.gallery_jh_lightbox .gallery_jh_lightbox_img {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    max-width: 65vw;
    max-height: 65vh;
    z-index:2;
    margin:0 !important;
}

@media screen and (min-width:960px) {
    .gallery_jh_lightbox .controls span.close_jh {
        font-size: 1.6rem;
        padding: 17px 21px 22px 21px;
    }
    .gallery_jh_lightbox .controls img.directions {
        width:42px;
    }
    .gallery_jh_lightbox .controls img#prev {
        left:35px;
    }
    .gallery_jh_lightbox .controls img#next {
        right:35px;
    }
    .gallery_jh_lightbox .gallery_jh_lightbox_img {
        max-width: 75vw;
        max-height: 75vh;
    }
    .gallery_jh_lightbox_img {
        min-width:500px;
    }
}
