@charset "UTF-8";

:root {
 --colgap-img-m: 16px;
 --col-2-inrow-m: calc(100%*1/2 - (1 - 1/2)*var(--colgap-img-m));
 --col-4-inrow-m: calc(100%*1/4 - (1 - 1/4)*var(--colgap-img-m));
 --rowgap-m: calc(var(--p-tag--mb, 2rem) + .8rem);
 --m-hw-max-height: 14rem;
}

#modulGallery .galleryHeader {
	width: 100%;
	display: block;
	color: #707070
}
#modulGallery .albumHeader {
	width: 100%;
	display: block;
	color: #707070
}
#modulGallery .gallery.gallery-default {
	display: flex;
	flex-flow: row wrap;
	margin: 0rem -.5rem 2.8rem -.5rem;
}
#modulGallery .gallery.gallery-default .fotoThumbnail {
	position:relative;
	background: #fff;
	padding: .5rem;
	border: 0;
	max-width: 100%;
}
#modulGallery .gallery .fotoThumbnail .image a {
	position:relative;
	display: inline-block;
	

}
#modulGallery .gallery .fotoThumbnail .image img {
	display: block;
	max-width: 100%;
	height: auto;
	z-index: 1; 
}

#modulGallery .gallery.gallery-default.g-cover .image img {
	object-fit: cover;
}
#modulGallery .gallery.gallery-default.g-fill .image img {
	object-fit: fill;
}
#modulGallery .gallery.gallery-default.g-16-9 .image img {
	aspect-ratio: 16/9;
}
#modulGallery .gallery.gallery-default.g-3-2 .image img {
	aspect-ratio: 3/2;
}

@container (min-width: 480px) {
#modulGallery .gallery.gallery-default .fotoThumbnail {
	width : 50%;
	max-width: 50%
}
}
@container (min-width: 768px) {
#modulGallery .gallery.gallery-default .fotoThumbnail {
	width : 33.3333%;
	max-width: 33.3333%
}
}
@container (min-width: 992px) {
#modulGallery .gallery.gallery-default .fotoThumbnail {
	width : 25%;
	max-width: 25%
}
}
#modulGallery .gallery.gallery-masonry {
	column-count: 1;
	column-gap: 0;
    margin: 1rem -.5rem 2.8rem -.5rem;
	-webkit-column-fill:balance;
	-moz-column-fill:balance;
	column-fill:balance;
}
#modulGallery .gallery.gallery-masonry .fotoThumbnail {
	position:relative;
	display:block;
	padding: .1rem .5rem .5rem .5rem;
	cursor: pointer;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid-column;
}
#modulGallery .gallery.gallery-masonry .fotoThumbnail:last-child {
	padding: .1rem .5rem 0 .5rem;
}
@container (min-width: 480px) {
#modulGallery .gallery.gallery-masonry {
	column-count: 2;
}
}
@container (min-width: 768px) {
#modulGallery .gallery.gallery-masonry {
	column-count: 3;
}
}
@container (min-width: 992px) {
#modulGallery .gallery.gallery-masonry {
	column-count: 4;
}
}
#modulGallery .gallery.gallery-masonry-hw {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 1rem 0 2.8rem 0;
	display: flex;
	flex-wrap : wrap;
	gap:var(--colgap-img-m) var(--colgap-img-m);
}
#modulGallery .gallery.gallery-masonry-hw:after {
	content: "";
    flex-grow: 999;
}
#modulGallery .gallery.gallery-masonry-hw>.fotoThumbnail{
	position: relative;
	flex: 1 1 auto;
}
#modulGallery .gallery.gallery-masonry-hw>.fotoThumbnail>.image{
	flex: 1 1 auto;
	margin:0;
	position: relative;
}
#modulGallery .gallery.gallery-masonry-hw > .fotoThumbnail > .image > :is(a, a > img){
	display: block;
	width:100%;
	max-height: var(--m-hw-max-height);
	object-fit: cover;
	
}
#modulGallery .gallery.gallery-masonry-hw>.fotoThumbnail>.image:before {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-size: .9rem;
	text-shadow: 2px 2px 10px #303030, -2px -2px 10px #303030;
	color: #fff;
	z-index: 2;
}
#modulGallery .gallery.gallery-masonry-hw>.fotoThumbnail>.image:before {filter: opacity(0%);}
#modulGallery .gallery .image a span {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: url('../img/overlay.png');
	text-indent: -9999px;
	z-index: 1;
}
#modulGallery .gallery .image a span span {
	background: url('../img/more.png') center no-repeat;
	text-indent: -9999px;
}
#modulGallery .gallery .image a > :is(span, span > span) {
	opacity:0;
	transition:opacity .8s ease-out;
}
#modulGallery .gallery .image a:hover > :is(span, span > span) {
	opacity: 1;		
}
#modulGallery .gallery .image:has(img[data-src]) a > :is(span, span > span){
	visibility: hidden;
	opacity: 0 !important;
	pointer-events: none;
}
#modulGallery .gallery .image:has(img:not([data-src])) a > span {
	transform: translate3d(0, 0, 0); 
	animation: protectiveDelay 1.4s linear forwards;
}
#modulGallery .gallery .image:has(img:not([data-src])) a > span > span {
	animation: protectiveDelay 1.4s linear forwards;
}
@keyframes protectiveDelay {
	0%, 99% {visibility: hidden;opacity: 0 !important;transform: translate3d(0, -10px, 0);pointer-events: none;}
	100% {visibility: visible;opacity: 1 !important;transform: translate3d(0, 0, 0);pointer-events: auto;}
}
#modulGallery .gallery .fotoThumbnail :is(.galleryoverview.titel,.galleryalbum.titel){
	margin-top: auto;
	position:absolute;
	bottom: 1.3rem;
	left:.8rem;
	max-width:calc(100% - 1.6rem);
	word-wrap:break-word;
	background: rgba(255, 255, 255, .7);
	border-radius:4px;
	padding: .15rem .25rem;
	font-size:.85rem;
	line-height:1rem;
	z-index: 2;
}
#modulGallery .gallery .fotoThumbnail :is(.galleryoverview.titel.ontitle,.galleryalbum.titel.ontitle) {
	visibility:hidden;
	opacity: 0;
}
#modulGallery .gallery .fotoThumbnail:has(img:not([data-src])) :is(.galleryoverview.titel.ontitle,.galleryalbum.titel.ontitle) {
	visibility:visible;
	opacity: 1;
	transition:visibility 0s linear 1.2s, opacity 1.8s linear 1.2s;
}
#modulGallery .gallery .fotoThumbnail :is(.galleryoverview.titel.notitle,.galleryalbum.titel.notitle){
	display:none;
}
#modulGallery .gallery.gallery-masonry .fotoThumbnail:last-child .titel {
	bottom: .8rem;
}
#modulGallery .gallery .fotoThumbnail .titel a {
	font-weight: normal;
	color: #444!important;
	text-decoration: none!important
}
#modulGallery .gallery .fotoThumbnail .anzahl, #modulGallery .gallery .fotoThumbnail .imgdescription {
	color: #444!important;
	font-size:.75rem;
	line-height:1rem;
}
.galleryoverview {
	display: block;
}
.galleryalbum {
	display: block;
}
#modulGallery .clean {
	clear: both;
	height: 0;
	font-size: 0;
	display: block;
	width: 100%
}