
.image-cell {
    float: left;
    position: relative;
    width:33.333%
}

.image-basic {
    padding:0 10px
}

.image-basic .thumbnail {
    margin-bottom:0
}

.image-cell.is-collapsed .arrow-up {
    display: block;
    height: 10px;
    width:100%
}

.image-large {
    max-width: 100%;
    height: auto;
    display: block;
    padding: 40px;
    margin: 0 auto;
    box-sizing:border-box
}

.image-cell.is-collapsed .image-basic {
    cursor:pointer
}

.image-cell.is-expanded .image-expand {
    max-height: 600px;
    margin-bottom:10px
}

.image-expand {
	/*
    position: relative;
    left: -5px;
    padding: 0 5px;
    box-sizing: content-box;
    overflow: hidden;
    background: #222;
    max-height: 0;
    -webkit-transition: max-height .3s ease-in-out, margin-bottom .1s .2s;
    -moz-transition: max-height .3s ease-in-out, margin-bottom .1s .2s;
    transition: max-height .3s ease-in-out, margin-bottom .1s .2s;
    width:300%
	*/
}

.image-cell:nth-of-type(3n + 2) .image-expand {
    margin-left:-100%
}

.image-cell:nth-of-type(3n + 3) .image-expand {
    margin-left:-200%
}

.image-cell:nth-of-type(3n + 4) {
    clear:left
}

.image-cell.is-expanded .arrow-up {
    display: block;
    border-bottom: 12px solid #222;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    height: 0;
    width: 0;
    margin:2px auto 0
}

.expand-close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #565656;
    font-size: 50px;
    line-height: 50px;
    text-decoration: none;
    border: none;
    z-index:10
}

.expand-close:before {
    content: '×'
}

.expand-close:hover {
    color: #fff;
    border:none
}
.gallery-icon {
    position: absolute;
    font-size: 24px;
    text-align: center;
    line-height: 46px;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    margin: -22px 0 0 -25px;
    color: #fff;
    background: #4d87c2;
    background: var(--green-1);
    border-radius: 50%;
    opacity: 0;
    transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -webkit-transition: 0.3s ease;
    -ms-transition: 0.3s ease;
    -o-transition:0.3s ease
}

.thumbnail-link, 
.gallery-link {
    position: relative;
    display: block;
    border-bottom:none
}

.thumbnail-link:hover, 
.gallery-link:hover {
    border-bottom:none
}
.thumbnail-link:hover .gallery-icon, 
.gallery-link:hover .gallery-icon {
    opacity:1
}
.ba-container {
    margin: 20px;
    position:relative
}
.ba-image-container {
    position: relative;
    display: inline-block;
    width: auto;
    margin:20px auto
}
.ba-image-container img {
    display:block
}
img.ba {
    max-height: 100%;
    max-height:560px
	}
.ba-image-label {
    position: absolute;
    bottom: 0;
    right: 0;
    color: #fff;
    padding: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    opacity: 0;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0.3s 0.7s;
    -moz-transition: -moz-transform 0.3s 0.7s, opacity 0.3s 0.7s;
    transition:transform 0.3s 0.7s, opacity 0.3s 0.7s
	}
.ba-image-label.is-hidden {
    visibility:hidden
	}
.is-visible .ba-image-label {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform:translateY(0)
	}
.ba-resize-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility:hidden
	}
.ba-resize-img img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 100%;
    width: auto;
    max-width:none
	}
.ba-resize-img .ba-image-label {
    right: auto;
    left:0
	}
.is-visible .ba-resize-img {
    width: 50%;
    -webkit-animation: ba-bounce-in 0.7s;
    -moz-animation: ba-bounce-in 0.7s;
    animation:ba-bounce-in 0.7s
	}

@-webkit-keyframes ba-bounce-in {
    0% { width:0 }
    60% { width:55% }
    100% { width:50% }
}
@-moz-keyframes ba-bounce-in {
    0% { width:0 }
    60% { width:55% }
    100% { width:50% }
}
@keyframes ba-bounce-in {
    0% { width:0 }
    60% { width:55% }
    100% { width:50% }
}

.ba-handle {
    position: absolute;
    height: 44px;
    width: 44px;
    left: 50%;
    top: 50%;
    margin-left: -22px;
    margin-top: -22px;
    border-radius: 50%;
    background: var(--green-1) url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTMsMjEgOCwxNiAxMywxMSAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMTksMTEgMjQsMTYgMTksMjEgIi8+DQo8L3N2Zz4K) no-repeat center center;
    cursor: move;
    box-shadow: 0 0 0 6px rgba(0, 0, 0, .2), 0 0 10px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .3);
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0) scale(0);
    -moz-transform: translate3d(0, 0, 0) scale(0);
    -ms-transform: translate3d(0, 0, 0) scale(0);
    -o-transform: translate3d(0, 0, 0) scale(0);
    transform:translate3d(0, 0, 0) scale(0)
	}

.ba-handle.draggable {
    background-color: var(--green-2);
	}

.is-visible .ba-handle {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    -moz-transform: translate3d(0, 0, 0) scale(1);
    -ms-transform: translate3d(0, 0, 0) scale(1);
    -o-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1);
    -webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0s 0.7s;
    -moz-transition: -moz-transform 0.3s 0.7s, opacity 0s 0.7s;
    transition:transform 0.3s 0.7s, opacity 0s 0.7s
	}
