/* https://simplelightbox.com/ */
/* https://github.com/guoyunhe/flexbin */

.flexbin {
	display: flex;
	overflow: hidden;
	flex-wrap: wrap;
	margin: -2.5px;
}

.flexbin:after {
	content: '';
	flex-grow: 999999999;
	min-width: 300px;
	height: 0;
}

.flexbin > * {
	position: relative;
	display: block;
	flex-grow: 1;
}

.flexbin>*>img {
	object-fit: cover;
	max-width: 100%;
	min-width: 100%;
	vertical-align: bottom;
}

.single-gallery .flexbin > *,
.single-gallery .flexbin>*>img {
	height: 300px;
}

.single-gallery .flexbin > * {
	margin: 10px;
}

.flexbin.flexbin-margin {
	margin: 2.5px;
}

@media (max-width: 980px) {
	.flexbin {
		display: flex;
		overflow: hidden;
		flex-wrap: wrap;
		margin: -2.5px;
	}
	.flexbin:after {
		content: '';
		flex-grow: 999999999;
		min-width: 150px;
		height: 0;
	}
	.flexbin>* {
		position: relative;
		display: block;
		height: 150px;
		margin: 2.5px;
		flex-grow: 1;
	}
	.flexbin>*>img {
		height: 150px;
		object-fit: cover;
		max-width: 100%;
		min-width: 100%;
		vertical-align: bottom;
	}
	.flexbin.flexbin-margin {
		margin: 2.5px;
	}
}

@media (max-width: 678) {
	.flexbin {
		display: flex;
		overflow: hidden;
		flex-wrap: wrap;
		margin: -2.5px;
	}
	.flexbin:after {
		content: '';
		flex-grow: 999999999;
		min-width: 100px;
		height: 0;
	}
	.flexbin>* {
		position: relative;
		display: block;
		height: 100px;
		margin: 10px;
		flex-grow: 1;
	}
	.flexbin>*>img {
		height: 100px;
		object-fit: cover;
		max-width: 100%;
		min-width: 100%;
		vertical-align: bottom;
	}
	.flexbin.flexbin-margin {
		margin: 2.5px;
	}
}


body.hidden-scroll {
    overflow: hidden;
}

.sl-overlay {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #fff;
	opacity: 0.9;
	display: none;
	z-index: 1035;
}
 .sl-wrapper {
	 z-index: 1040;
}
 .sl-wrapper * {
	 box-sizing: border-box;
}
 .sl-wrapper button {
	 border: 0 none;
	 background: transparent;
	 font-size: 28px;
	 padding: 0;
	 cursor: pointer;
}
 .sl-wrapper button:hover {
	 opacity: 0.7;
}
 .sl-wrapper .sl-close {
	 display: none;
	 position: fixed;
	 right: 30px;
	 top: 30px;
	 z-index: 10060;
	 margin-top: -14px;
	 margin-right: -14px;
	 height: 44px;
	 width: 44px;
	 line-height: 44px;
	 font-family: Arial, Baskerville, monospace;
	 color: #000;
	 font-size: 3rem;
}
 .sl-wrapper .sl-close:focus {
	 outline: none;
}
 .sl-wrapper .sl-counter {
	 display: none;
	 position: fixed;
	 top: 30px;
	 left: 30px;
	 z-index: 1060;
	 color: #000;
	 font-size: 1rem;
}
 .sl-wrapper .sl-navigation {
	 width: 100%;
	 display: none;
}
 .sl-wrapper .sl-navigation button {
	 position: fixed;
	 top: 50%;
	 margin-top: -22px;
	 height: 44px;
	 width: 22px;
	 line-height: 44px;
	 text-align: center;
	 display: block;
	 z-index: 10060;
	 font-family: Arial, Baskerville, monospace;
	 color: #000;
}
 .sl-wrapper .sl-navigation button.sl-next {
	 right: 5px;
	 font-size: 2rem;
}
 .sl-wrapper .sl-navigation button.sl-prev {
	 left: 5px;
	 font-size: 2rem;
}
 .sl-wrapper .sl-navigation button:focus {
	 outline: none;
}
 @media (min-width: 35.5em) {
	 .sl-wrapper .sl-navigation button {
		 width: 44px;
	}
	 .sl-wrapper .sl-navigation button.sl-next {
		 right: 10px;
		 font-size: 3rem;
	}
	 .sl-wrapper .sl-navigation button.sl-prev {
		 left: 10px;
		 font-size: 3rem;
	}
}
 @media (min-width: 50em) {
	 .sl-wrapper .sl-navigation button {
		 width: 44px;
	}
	 .sl-wrapper .sl-navigation button.sl-next {
		 right: 20px;
		 font-size: 3rem;
	}
	 .sl-wrapper .sl-navigation button.sl-prev {
		 left: 20px;
		 font-size: 3rem;
	}
}
 .sl-wrapper.sl-dir-rtl .sl-navigation {
	 direction: ltr;
}
 .sl-wrapper .sl-image {
	 position: fixed;
	 -ms-touch-action: none;
	 touch-action: none;
	 z-index: 10000;
}
 .sl-wrapper .sl-image img {
	 margin: 0;
	 padding: 0;
	 display: block;
	 border: 0 none;
	 width: 100%;
	 height: auto;
}
 @media (min-width: 35.5em) {
	 .sl-wrapper .sl-image img {
		 border: 0 none;
	}
}
 @media (min-width: 50em) {
	 .sl-wrapper .sl-image img {
		 border: 0 none;
	}
}
 .sl-wrapper .sl-image iframe {
	 background: #000;
	 border: 0 none;
}
 @media (min-width: 35.5em) {
	 .sl-wrapper .sl-image iframe {
		 border: 0 none;
	}
}
 @media (min-width: 50em) {
	 .sl-wrapper .sl-image iframe {
		 border: 0 none;
	}
}
 .sl-wrapper .sl-image .sl-caption {
	 display: none;
	 padding: 10px;
	 color: #fff;
	 background: rgba(0, 0, 0, 0.8);
	 font-size: 1rem;
	 position: absolute;
	 bottom: 0;
	 left: 0;
	 right: 0;
}
 .sl-wrapper .sl-image .sl-caption.pos-top {
	 bottom: auto;
	 top: 0;
}
 .sl-wrapper .sl-image .sl-caption.pos-outside {
	 bottom: auto;
}
 .sl-wrapper .sl-image .sl-download {
	 display: none;
	 position: absolute;
	 bottom: 5px;
	 right: 5px;
	 color: #000;
	 z-index: 1060;
}
 .sl-spinner {
	 display: none;
	 border: 5px solid #333;
	 border-radius: 40px;
	 height: 40px;
	 left: 50%;
	 margin: -20px 0 0 -20px;
	 opacity: 0;
	 position: fixed;
	 top: 50%;
	 width: 40px;
	 z-index: 1007;
	 -webkit-animation: pulsate 1s ease-out infinite;
	 -moz-animation: pulsate 1s ease-out infinite;
	 -ms-animation: pulsate 1s ease-out infinite;
	 -o-animation: pulsate 1s ease-out infinite;
	 animation: pulsate 1s ease-out infinite;
}
 .sl-scrollbar-measure {
	 position: absolute;
	 top: -9999px;
	 width: 50px;
	 height: 50px;
	 overflow: scroll;
}
 .sl-transition {
	 transition: -moz-transform ease 200ms;
	 transition: -ms-transform ease 200ms;
	 transition: -o-transform ease 200ms;
	 transition: -webkit-transform ease 200ms;
	 transition: transform ease 200ms;
}
 @-webkit-keyframes pulsate {
	 0% {
		 transform: scale(0.1);
		 opacity: 0;
	}
	 50% {
		 opacity: 1;
	}
	 100% {
		 transform: scale(1.2);
		 opacity: 0;
	}
}
 @keyframes pulsate {
	 0% {
		 transform: scale(0.1);
		 opacity: 0;
	}
	 50% {
		 opacity: 1;
	}
	 100% {
		 transform: scale(1.2);
		 opacity: 0;
	}
}
 @-moz-keyframes pulsate {
	 0% {
		 transform: scale(0.1);
		 opacity: 0;
	}
	 50% {
		 opacity: 1;
	}
	 100% {
		 transform: scale(1.2);
		 opacity: 0;
	}
}
 @-o-keyframes pulsate {
	 0% {
		 transform: scale(0.1);
		 opacity: 0;
	}
	 50% {
		 opacity: 1;
	}
	 100% {
		 transform: scale(1.2);
		 opacity: 0;
	}
}
 @-ms-keyframes pulsate {
	 0% {
		 transform: scale(0.1);
		 opacity: 0;
	}
	 50% {
		 opacity: 1;
	}
	 100% {
		 transform: scale(1.2);
		 opacity: 0;
	}
}

/* SINGLE PROGRAM OVERRIDE */
.single-program .flexbin{
	display: grid;
	gap: 6px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0;
}

@media (max-width: 1024px) {
	.single-program .flexbin{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.single-program .gallery.flexbin{
		margin-top: 150px;
	}
}

@media (max-width: 400px) {
	.single-program .flexbin{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.single-program .flexbin .kvk-gallery-picture{
	overflow: hidden;
}

.single-program .flexbin .kvk-gallery-picture img{
	aspect-ratio: 1/1;
	width: 100%;
	height: auto;
	max-height: initial;
}

.single-program .flexbin > * > img{
	height: auto;
}

.single-program .flexbin > *{
	height: inherit;
}