/* poppins-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url('userfonts/poppins-v21-latin-regular.eot'); /* IE9 Compat Modes */
src: url('userfonts/poppins-v21-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('userfonts/poppins-v21-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('userfonts/poppins-v21-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
        url('userfonts/poppins-v21-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
        url('userfonts/poppins-v21-latin-regular.svg#Poppins') format('svg'); /* Legacy iOS */
}

/* saira-condensed-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Saira Condensed';
    font-style: normal;
    font-weight: 400;
    src: url('userfonts/saira-condensed-v11-latin-regular.eot'); /* IE9 Compat Modes */
    src: url('userfonts/saira-condensed-v11-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('userfonts/saira-condensed-v11-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('userfonts/saira-condensed-v11-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
        url('userfonts/saira-condensed-v11-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
        url('userfonts/saira-condensed-v11-latin-regular.svg#SairaCondensed') format('svg'); /* Legacy iOS */
    } 

/* open-sans-regular - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
src: local(''),
        url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
        url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
        url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
        url('https://cdn.mcms.online/fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

:root {
    --main: #D72229;
    --white: #fff;
    --whiteHover: #cff5ff;
    --mainHover: #81161a;
    --bgPage: #ffffff;
    --headline: #D72229;
}


* {
    box-sizing: border-box;
}

html {
    overflow-y: scroll;
    font-size: 16px;
    font-size: 1rem;
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-family: 'Open Sans', sans-serif, arial;
    text-align: center;
    background-color: var(--bgPage);
    color: #444;
    height: 100%;
}

body,
#footer {
    background: url(../images/waves.png) top center repeat-x;
}
  
  
img { border: 0; }
a, .rot { color: var(--main); text-decoration: none; }
a:hover { color: var(--mainHover); }
a[href^=tel] { cursor: default; pointer-events: none; }
p { margin: 0 0 1rem 0; }
.blass { color: #aaa; }

h1 {
	color: var(--main);
	font-size: 3rem;
	font-weight: normal;
	font-family: 'Poppins', Arial, Helvetica, sans-serif;
	margin: 0 0 1rem 0;
}

h1 b, h1 strong,
h2 b, h2 strong,
h3 b, h3 strong,
.handwriting {
	font-family: 'Poppins';
}


h2 {
	font-family: 'Poppins', Arial, Helvetica, sans-serif;
	font-size: 2.5rem;
	font-weight: normal;
    line-height: 110%;
	margin: 0 0 1rem 0;
	color: var(--headline);
	position: relative;
	display: inline-block;
	text-transform: uppercase;
}
	
h3 {
	font-family: 'Poppins', 'Open Sans', sans-serif, arial;
	font-size: 1.5rem;
	font-weight: normal;
	margin: 0 0 1.5rem 0;
	color: #333;
	position: relative;
	display: inline-block;
}

header, main, footer, #pathfinder {
	text-align: left;
}



.wrapper {
	margin: 0 auto;
	width: 1400px;
    max-width: 100%;
    padding: 0 50px;
}



#header_cont {
    height: 50vh;
    margin: 5rem 0 2rem 0;
}
    #header_cont .wrapper {
        height: 100%;
        padding: 0;
        position: relative;
    }

    
        #header_fullsize {
            /* opacity: 0.65; */
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            height: 100%;
            position: relative;
        }
        
            #header_fullsize_video_cont {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 10;
            }            
                #header_fullsize_video {
                    position: relative;
                    width: 100%;
                    height: 100%;
                    overflow: hidden;
                }
                    #header_fullsize_video video {
                        position: absolute;
                        top: 50%;
                        left: 50%;
                        min-width: 100%;
                        min-height: 100%;
                        transform: translate(-50%, -50%);
                        object-fit: cover;
                    }


            #header_fullsize_mask {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 20;
                background: linear-gradient(to top, rgba(0,0,0,.4), rgba(0,0,0,.1));
            }
            
                #logo_wrapper {
                    position: absolute;
                    z-index: 95;
                    top: 1rem;
                    right: 1rem;
                    width: 20rem;
                    padding: 1rem;
                    background-color: rgba(255,255,255,.9);
                }
                    #header_mainlogo {
                        width: 100%;
                        height: auto;
                    }
                    #header_mainlogo_scrolldown {
                        display: none;
                    }
                    

                #header_intro_cont {
                    position: absolute;
                    z-index: 94;
                    bottom: 4rem;
                    left: 3rem;
                    max-width: 50%;
                    text-shadow: 4px 5px 9px rgba(0,0,0,0.7);
                }
                    #header_intro h3 {
                        color: #fff;
                        font-family: 'Poppins', Arial, Helvetica, sans-serif;
                        font-size: 3.5rem;
                        margin: 0;
                    }
                    #header_intro p {
                        color: #eee;
                        font-family: 'Open Sans', Arial, Helvetica, sans-serif;
                        font-size: 1.5rem;
                        line-height: 120%;
                    }

                #social_wrapper {
                    position: absolute;
                    z-index: 94;
                    top: -2rem;
                    right: 0;
                }
                    #social_wrapper a {
                        display: inline-block;
                        margin: 0 1rem 0 0;
                        padding: .5rem;
                        font-size: .75rem;
                        color: var(--main);
                    }
                    #social_wrapper a:hover {
                        color: var(--mainHover);
                    }



.background_gradient {
    background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 49%, var(--mainHover) 50%,var(--mainHover) 100%);
}
    .background_gradient .wrapper {
        background: linear-gradient(to right,  var(--main) 0%, var(--mainHover) 100%);
        width: 1350px;
    }



#header {
    position: relative;
}
    #header_menu_cont {
        position: absolute;
        width: 100%;
        left: 0;
        bottom: -1rem;
        z-index: 30;
    }


    ul#header_menu {
        /* position: absolute;
        top: 0;
        left: 0; */
        list-style-type: none;
        margin: 0;
        padding: 1rem;
        font-size: 1rem
    }
        ul#header_menu li {
            display: inline-block;
            margin-right: 1rem;
        }
            ul#header_menu li a {
                padding: .5rem;
                color: #fff;
            }
            ul#header_menu li a:hover,
            ul#header_menu li a.header_menu_akt {
                background-color: rgba(255,255,255,.2);
            }



h1.tpl_catbez {
    display: none;
}


#mobilebar_cont {
	display: none;
	padding: .5rem 0;
	font-size: 1rem;
    text-align: left;
	position: relative;
    background: linear-gradient(to right,  var(--main) 0%, var(--mainHover) 100%);
    margin-bottom: 1rem;
}
    #mobilebar_cont #mobilebar_icon {
        float: right;
        cursor: pointer;
    }
	#mobilebar_cont #mobilebar_akt {
		padding: .5rem 0.875rem;
		color: #fff;
	}
	#mobilebar {
		list-style-type: none;
		padding: 0;
		margin: 0;
		display: none;
	}
		#mobilebar li {
			border-top: 1px #aaa solid;
		}
			#mobilebar li a {
				display: block;
				padding: 6px 25px;
				color: #555;
			}
			#mobilebar li a.mobilebar_akt {
				background-color: #444 !important;
				color: #fff;
			}
			#mobilebar li a:hover {
				background-color: #777 !important;
				color: #fff;
			}
			
			#mobilebar li.depth0 a,
			#mobilebar li.depth1 a {
				padding-left: 2rem;
				font-size: .875rem;
				color: #fff;
			}
			#mobilebar li.depth2 {
				background-color: rgba(255, 255, 255, .2);
			}
				#mobilebar li.depth2 a {
					padding-left: 3rem;
					font-size: 0.8rem;
					color: #eee;
				}
				
			#mobilebar li.depth3 {
				background-color: rgba(255, 255, 255, .4);
			}
				#mobilebar li.depth3 a {
					padding-left: 60px;
					font-size: 0.8rem;	
				}
	


#pathfinder {
    font-size: 0.75rem;
    margin-bottom: 3rem;
}
    #pathfinder,
    #pathfinder a {
        color: #aaa;
    }
    #pathfinder a:hover {
        color: #444;
    }


.hidden {
    display: none !important;
}

.cta {
    display: inline-block;
    padding: .5rem 1rem;
    background-color: var(--main);
    color: #fff;
    border-radius: 5px;
    margin: 1rem 0;
    text-decoration: none;
}
    .cta:hover {
        background-color: var(--mainHover);
        color: #fff;
        box-shadow: 0 0 10px rgba(0,0,0,.1);
    }


.minipic_l, .minipic_r,
.minipic_l_zoom, .minipic_r_zoom {
    width: 40%;
}
.minipic_r,
.minipic_r_zoom {
    float: right;
    margin: 0 0 1rem 2rem;
}
.minipic_l,
.minipic_l_zoom {
    float: left;
    margin: 0 2rem 1rem 0;
}



/*	--- KARTE --- */

#dk_map_cont {
	width: 100%;
	height: 600px;
	max-height: 60vh;
    margin: 1rem 0 3rem 0;
}
    #dk_map {
        width: 100%;
        height: 100%;
        z-index: 90;
    }

    .leaflet-tooltip {
        background-color: rgba(0,0,0,.4) !important;
        color: #fff !important;
    }
    .leaflet-control-attribution {
        background-color: rgba(0,0,0,.2) !important;
        color: #888 !important;
    }

    #dk_map_filter_cont {
        margin: 2rem 0 0 0;
    }
    .dk_map_filter_label {
        display: inline-block;
        padding: .5rem;
        background-color: #f4f4f4;
        border-radius: 5px;
        margin: 0 1rem .75rem 0;
        cursor: pointer;
    }
        .dk_map_filter_label.active {
            background-color: var(--main);
            color: #fff;
        }

.dk_map_listing .wrapper {
    column-count: 2;
    column-gap: 1rem;
}
    .dk_map_listing .list_subcat_item {
        margin: 0 0 1rem 0;
        overflow: auto;
    }
        .dk_map_listing .list_subcat_item_cont {
            padding-left: 120px;
        }
            .dk_map_listing .list_subcat_item_pic {
                width: 100px;
            }


/* --- Auflistung --- */

.list_subcat {
	padding: 3rem 0;
    overflow: auto;
}

	.list_subcat_item {
		margin: 1rem 0 0 0;
		padding: 1rem;
		background-color: #f4f4f4;
        overflow: auto;
	}
		.list_subcat_item a {
			color: var(--main);
		}
		.list_subcat_item a:hover {
			color: #333;
		}
	
			.list_subcat_item h2,
			.list_subcat_item h3 {
				background: none;
				margin: 0 0 .5rem 0 !important;
			}
			.list_subcat_item .cont_dat_news {
				display: block;
				color: var(--main);
			}
				
			.list_subcat_item_pic {
				float: left;
				width: 150px;
				height: 100px;
				overflow: hidden;
                background-color: #eee;
			}
				.list_subcat_item_pic img {
					width: 100%;
                    height: 100%;
                    object-fit: cover;
				}
				
			.list_subcat_item_cont {
				font-size: 0.75rem;
				color: #666;
				padding: 0 1rem 0 200px;
			}
                .list_subcat_item_cont p {
                    margin: 0 0 .25rem 0;
                }

			.list_subcat .clearer {
				display: none;
			}





ul#footer_linklist {
    list-style-type: none;
    margin: 0;
    padding: 1rem;
    font-size: .8rem
}
    ul#footer_linklist li {
        display: inline-block;
        margin-right: 1rem;
    }
        ul#footer_linklist li a {
            padding: .5rem;
            color: #ddd;
        }
        ul#footer_linklist li a:hover {
            background-color: rgba(255,255,255,.2);
            color: #fff;
        }

        


#footer {
    padding: 4rem 0 8rem 0;
}

#footer_copyright {
    text-align: right;
    font-size: 0.75rem;
    margin-top: 1rem;
}
    #footer_copyright,
    #footer_copyright a {
        color: #aaa;
    }
    #footer_copyright a:hover {
        color: #444;
    }


main {
    overflow: auto;
}
main div[class^="dk_grid-"]:nth-child(2n+1) {
    background-color: #f9f9f9;
}



main .col-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}
main .col-row .col-12 { width: 100%; }
main .col-row .col-11 { width: 91.6667%; }
main .col-row .col-10 { width: 83.3333%; }
main .col-row .col-9 { width: 75%; }
main .col-row .col-8 { width: 66.6667%; }
main .col-row .col-7 { width: 58.3333%; }
main .col-row .col-6 { width: 50%; }
main .col-row .col-5 { width: 41.6667%; }
main .col-row .col-4 { width: 33.3333%; }
main .col-row .col-3 { width: 25%; }
main .col-row .col-2 { width: 16.6667%; }
main .col-row .col-1 { width: 8.3333%; }


main div.dk_grid-01_text {
    padding: 2rem 0;
}
    
main div.dk_grid-02_teaser-left .dk_grid-02_teaser-left_cont {
    padding: 2rem 1rem 2rem 0;
}
main div.dk_grid-03_teaser-right .dk_grid-03_teaser-right_cont {
    padding: 2rem 0 2rem 1rem;
}
    main div.dk_grid-02_teaser-left .dk_grid-02_teaser-left_image,
    main div.dk_grid-03_teaser-right .dk_grid-03_teaser-right_image {
        display: flex;
        overflow: hidden;
    }
    main div.dk_grid-02_teaser-left .dk_grid-02_teaser-left_image img,
    main div.dk_grid-03_teaser-right .dk_grid-03_teaser-right_image img {
        width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
/* ---------- TABLET ----------*/

 
@media only screen and (max-width: 1024px) {
    
    #header_menu {
        padding-left: 0;
    }
    ul#header_menu li {
        margin-right: 0;
    }
    
    #header_intro_cont {
        max-width: 90%;
    }
    #header_intro h3 {
        font-size: 2.5rem;
    }
    #header_intro p {
        font-size: 1rem;
    }

}


/* ---------- SMARTPHONE ---------- */

@media only screen and (max-width: 760px) {

	.responsive_smartphone_hide {
		display: none !important;
	}

	.responsive_linebreak_before {
		display: block;
	}

	body {
		font-size: 0.9rem;
	}

	a[href^=tel] {
		cursor: pointer;
		pointer-events: auto;
	}

	h1 {
		font-size: 1.5rem;
	}

	h2, h3 {
		font-size: 1.125rem;
	}


    .wrapper {
        padding: 1rem;
    }


    #header_cont {
        margin-bottom: 0;
    }
        #header_intro_cont {
            margin-left: 1rem;
            bottom: 1rem;
        }


    #header_intro_cont {
        left: 0;
    }
    #header_intro h3 {
        font-size: 2rem;
    }


    #header_menu_cont {
        display: none;
    }

    #logo_wrapper {
        max-width: 60%;
    }

    #pathfinder {
        display: none;
    }


	#mobilebar_cont {
		display: block;
	}

    
	
	#pathfinder_prefix {
		display: block;
	}


    ul#footer_linklist {
        line-height: 2rem;
    }


	.poweredby_mcms_online {
		display: block;
	}



	.list_subcat_item {
		padding: .5rem;
		overflow: visible;
	}

    .dk_map_listing .wrapper {
        column-count: 1;
    }

	.list_subcat_item_cont {	
		padding: .5rem;
	}

	.list_subcat_item_pic {
		position: static;
		width: 100%;
		height: auto;
		overflow: visible;
        margin-bottom: .75rem;
	}
	

    
    .dk_map_filter_label {
        font-size: .75rem;
        padding: .1rem;
        margin: 0 .5rem .5rem 0;
    }


    .dk_grid-02_teaser-left .col-6,
    .dk_grid-03_teaser-right .col-6 {
        padding: 0 !important;
        width: 100% !important;
    }

}