/*
 * Kontaktformular
 */
#kontaktformular-43 .form-group
{
	float:left;
	margin:0 0 20px;
	width:100%;
}

#kontaktformular-43 .form-group:last-child
{
	margin-bottom:0;
}

#kontaktformular-43 .form-group label
{
	float:left;
	width:100%;
}

#kontaktformular-43 .form-group input,
#kontaktformular-43 .form-group textarea
{
	float:left;
	width:100%;
}

/*
 * Gallery
 */
.mfp-wrap figcaption,
.mfp-wrap .mfp-bottom-bar
{
	display:none;
}

.gallery
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.gallery .magnific-popup
{
	margin:0 30px 30px 0;
	width:calc(100% / 4 - 90px / 4);
}

.gallery .magnific-popup:nth-child(4n)
{
	margin-right:0;
}

.gallery .magnific-popup:last-child
{
	margin-right:0 !important;
}

.gallery .magnific-popup:nth-last-child(-n+4)
{
	margin-bottom:0;
}

/*
 * Impfung
 */
#impfung .steps
{
	display:flex;
	float:left;
	margin:0 0 45px;
	position:relative;
	width:100%;
}

#impfung .steps:before
{
	background:#bdbdbd;
	content:'';
	height:1px;
	left:0;
	position:absolute;
	right:0;
	top:50%;;
}

#impfung .steps .step
{
	background:#fff;
	align-items:center;
	display:flex;
	flex-direction:column;
	padding:0 15px;
	position:relative;
	z-index:5;
}

#impfung .steps .step:nth-child(1)
{
	margin-right:auto;
	padding-left:0;
}

#impfung .steps .step:nth-child(2)
{
	margin:0 auto;
}

#impfung .steps .step:nth-child(3)
{
	margin-left:auto;
	padding-right:0;
}

#impfung .steps .step .nr
{
	align-items:center;
	background:#bdbdbd;
	border-radius:50%;
	color:#fff;
	display:flex;
	font-size:16px;
	height:30px;
	justify-content:center;
	line-height:16px;
	padding:2px 0 0;
	width:30px;
}

#impfung .steps .step.active .nr
{
	background:#a3c343;
}

#impfung .steps .step .text
{
	color:#bdbdbd;
	display:block;
	margin:8px 0 0;
	text-align:center;
}

#impfung .steps .step.active .text
{
	color:#a3c343;
}

#impfung .wrapper .step
{
	display:none;
}

#impfung .wrapper .step.active
{
	display:block;
}

#impfung .wrapper .step .full,
#impfung .wrapper .step .alreadysend
{
	color:#B53737;
	display:block;
	font-size:20px;
    font-weight:600;
    margin:0 0 30px;
    text-align:center;
}

#impfung .wrapper .step .alreadysend
{
	display:none;
}

#impfung .wrapper .step .accordion,
#impfung .wrapper .step .accordionoptik
{
	margin:0 0 20px;
}

#impfung .wrapper .step .accordion header:before
{
	top:0;
}

#impfung .wrapper .step .accordion header .headline
{
    display:block;
    float:left;
    margin:0 20px 0 0;
}

#impfung .wrapper .step .accordion header .value
{
    display:block;
    float:left;
    opacity:0.9;
}

#impfung .wrapper .step button.back
{
	background:#bdbdbd;
	margin:0 20px 0 0;
}

#impfung .wrapper .step button.disabled
{
	background:#bdbdbd;
}

#impfung .wrapper .step button.user
{
    padding-left:48px;
    position:relative;
}

#impfung .wrapper .step button.user:before
{
    content:"\f007";
    font-family:"Font Awesome 5 Free";
    font-weight:400;
    left:25px;
    position:absolute;
    top:11px;
}

#impfung .wrapper .step button.confirmation
{
    padding-left:48px;
    position:relative;
}

#impfung .wrapper .step button.confirmation:before
{
    content:"\f058";
    font-family:"Font Awesome 5 Free";
    font-weight:400;
    left:25px;
    position:absolute;
    top:11px;
}

#impfung .wrapper .step #calender .loading
{
    display:block;
    height:80px;
    margin:0 auto;
    position:relative;
    width:80px;
}

#impfung .wrapper .step #calender .loading div
{
    animation:loading 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    border:4px solid #a3c343;
    border-radius:50%;
    opacity:1;
    position:absolute;
}

#impfung .wrapper .step #calender .loading div:nth-child(2) 
{
    animation-delay:-0.5s;
}

#impfung .wrapper .step #calender .week
{
	display:none;
	flex-wrap:wrap;
	width:100%;
}

#impfung .wrapper .step #calender .week.active
{
	display:flex;
}

#impfung .wrapper .step #calender .week .header
{
	display:flex;
	margin:0 0 20px;
	width:100%;
}

#impfung .wrapper .step #calender .week .header .headline
{
	display:block;
	font-size:26px;
	line-height:34px;
	width:calc(100% - 54px);
}

#impfung .wrapper .step #calender .week .header .arrows
{
	display:flex;
	font-size:28px;
	line-height:28px;
	margin:0 0 auto;
}

#impfung .wrapper .step #calender .week .header .arrows .prev,
#impfung .wrapper .step #calender .week .header .arrows .next
{
	color:#a3c343;
	cursor:pointer;
	display:block;
}

#impfung .wrapper .step #calender .week .header .arrows .prev
{
	margin:0 15px 0 0;
}

#impfung .wrapper .step #calender .week .header .arrows .prev.disabled,
#impfung .wrapper .step #calender .week .header .arrows .next.disabled
{
	opacity:0;
}

#impfung .wrapper .step #calender .week .day
{
	border-left:1px solid #bbb;
	text-align:center;
	width:calc(100% / 7);
}

#impfung .wrapper .step #calender .week .day.day0
{
	border-right:1px solid #bbb;
}

#impfung .wrapper .step #calender .week .day.day6,
#impfung .wrapper .step #calender .week .day.day0
{
	background:rgba(13,123,193,0.1);
}

#impfung .wrapper .step #calender .week .day .date
{
	border-bottom:1px solid #bbb;
	padding:15px 0 20px;
	display:block;
}

#impfung .wrapper .step #calender .week .day .date .datename
{
	display:block;
	font-size:12px;
	font-weight:600;
}

#impfung .wrapper .step #calender .week .day .times
{
	display:flex;
	flex-wrap:wrap;
	margin:5px 0;
	padding:10px 8px;
	width:100%;
}

#impfung .wrapper .step #calender .week .day .times .time
{
	color:#a3c343;
	cursor:pointer;
	display:block;
	font-size:14px;
	font-weight:600;
	line-height:16px;
	margin:0 10px 10px 0;
	padding:10px 0 7px 0;
	width:calc(100% / 2 - 10px / 2);
}

#impfung .wrapper .step #calender .week .day .times .time:nth-child(2n)
{
	margin-right:0;
}

#impfung .wrapper .step #calender .week .day .times .time.active,
#impfung .wrapper .step #calender .week .day .times .time:hover
{
	background:rgba(13,123,193,0.3);
}

#impfung .wrapper .step .mwformular
{
	float:left;
	margin:0 0 30px;
	width:100%;
}

#impfung .wrapper .step .mwformular:last-child
{
	margin-bottom:0;
}

#impfung .wrapper .step .mwformular.default label
{
	display:block;
}

#impfung .wrapper .step .mwformular.default input
{
    margin:5px 0 0;
}

#impfung .wrapper .step .mwformular .error
{
	color:#B53737;
	display:none;
	font-weight:600;
}

#impfung .wrapper .step .mwformular.error .error
{
	display:block;
}

#impfung .wrapper .step .confirmationwrapper
{
	float:left;
	margin:0 0 10px;
	width:100%;
}

#impfung .wrapper .step .confirmationwrapper .row
{
	display:block;
	float:left;
	margin:0 0 20px;
	padding:0 0 0 32px;
	position:relative;
	width:100%;
}

#impfung .wrapper .step .confirmationwrapper .row.impftermin
{
	font-weight:600;
}

#impfung .wrapper .step .confirmationwrapper .row:before
{
	color:#a3c343;
    font-family:"Font Awesome 5 Free";
    font-size:24px;
    font-weight:400;
    left:0;
    line-height:24px;
    position:absolute;
}

#impfung .wrapper .step .confirmationwrapper .row.impftermin:before
{
    content:"\f48e";
    font-weight:900;
    left:1px;
    top:-2px;
}

#impfung .wrapper .step .confirmationwrapper .row.name:before
{
    content:"\f007";
    left:1px;
    top:-1px;
}

#impfung .wrapper .step .confirmationwrapper .row.birthday:before
{
    content:"\f1fd";
    font-weight:900;
    left:1px;
    top:-2px;
}

#impfung .wrapper .step .confirmationwrapper .row.email:before
{
    content:"\f0e0";
    top:-1px;
}

@media (max-width:1200px)
{
	/*
	 * Impfung
	 */
	#impfung .wrapper .step #calender .week .day .times .time
	{
		margin-right:0;
		width:100%;
	}
}

@media (min-width:768px) and (max-width:1023px)
{
	/*
	 * Gallery
	 */
	.gallery .magnific-popup,
	.gallery .magnific-popup:nth-child(4n),
	.gallery .magnific-popup:nth-last-child(-n+4)
	{
		margin:0 30px 30px 0;
		width:calc(100% / 3 - 60px / 3);
	}
	
	.gallery .magnific-popup:nth-child(3n)
	{
		margin-right:0;
	}
	
	.gallery .magnific-popup:nth-last-child(-n+3)
	{
		margin-bottom:0;
	}
}

@media (max-width:767px)
{
	/*
	 * Gallery
	 */
	.gallery .magnific-popup,
	.gallery .magnific-popup:nth-child(4n),
	.gallery .magnific-popup:nth-last-child(-n+4)
	{
		margin:0 20px 20px 0;
		width:calc(100% / 2 - 20px / 2);
	}
	
	.gallery .magnific-popup:nth-child(2n)
	{
		margin-right:0;
	}
	
	.gallery .magnific-popup:nth-last-child(-n+2)
	{
		margin-bottom:0;
	}
	
	/*
	 * Impfung
	 */
	#impfung .steps:before
	{
		top:12px;
	}
	
	#impfung .steps .step
	{
		background:none;
		padding:0;
		max-width:calc(100% / 3 - 15px);
	}
	
	#impfung .steps .step .text
	{
		font-size:14px;
		line-height:18px;
	}
	
	#impfung .steps .step:nth-child(1) .text
	{
		text-align:left;
	}
	
	#impfung .steps .step:nth-child(3) .text
	{
		text-align:right;
	}
	
	#impfung .steps .step .nr
	{
		font-size:12px;
		height:26px;
		line-height:12px;
		width:26px;
	}
	
	#impfung .steps .step:nth-child(1) .nr
	{
		margin-right:auto;
	}
	
	#impfung .steps .step:nth-child(3) .nr
	{
		margin-left:auto;
	}
	
	#impfung .wrapper .step #calender .week .header .headline
	{
        font-size:22px;
        line-height:28px;
        width:calc(100% - 48px);
	}
	
	#impfung .wrapper .step #calender .week .header .arrows
	{
        font-size:20px;
        line-height:20px;
	}
	
	#impfung .wrapper .step #calender .week .day
	{
        border-bottom:1px solid #ccc;
        display:flex;
	    width:100%;
	}
	
	#impfung .wrapper .step #calender .week .day:last-child
	{
        border-bottom:0;
	}
	
	#impfung .wrapper .step #calender .week .day .date
    {
        border-bottom:0;
        padding:10px 0;
        width:20%;
    }
    
    #impfung .wrapper .step #calender .week .day .times
    {
        align-items:center;
        flex-direction:row;
        flex-wrap:wrap;
        margin:0;
        padding:10px 0;
        width:80%;
    }
    
    #impfung .wrapper .step #calender .week .day .times .time
    {
        margin:5px;
        width:64px;
    }
}

@media (max-width:420px)
{
	#impfung .wrapper .step .mwformular.actions
    {
    	align-items:center;
    	display:flex;
    	flex-direction:column;
    }
    
    #impfung .wrapper .step button.back
    {
    	margin:0 0 20px;
    }
}

@keyframes loading 
{
	0% 
	{
		height:0;
    	left:36px;
    	opacity:1;
    	top:36px;
    	width:0;
	}
	100% 
	{
		height:72px;
    	left:0px;
    	opacity:0;
    	top:0px;
    	width:72px;
	}
}
.gm-style-iw-d {overflow:hidden!important;}
.mapinfocontent{width:250px!important;}


.bw {
        filter: grayscale(100%);
		  opacity: 0.6;} 
		
	  .ol-popup {
        position: absolute;
        background-color: white;
        padding: 15px;
        border-radius: 10px;
        border: 1px solid #cccccc;
        bottom: 12px;
        left: -50px;
        min-width: 180px;
      }
      .ol-popup:after, .ol-popup:before {
        top: 100%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
      }
      .ol-popup:after {
        border-top-color: white;
        border-width: 10px;
        left: 48px;
        margin-left: -10px;
      }
      .ol-popup:before {
        border-top-color: #cccccc;
        border-width: 11px;
        left: 48px;
        margin-left: -11px;
      }
      .ol-popup-closer {
        text-decoration: none;
        position: absolute;
        top: 2px;
        right: 8px;
      }
      .ol-popup-closer:after {
        content: "x";
      }

.ol-attribution button, .ol-rotate-reset {display: none;}
.ol-attribution {position:absolute; bottom:0;}
