/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

VARIABLEN

-------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */

:root {
	
  /*--primary:var(--primary);*/
  /*--primary-dark:var(--primary-dark);*/
  --primary:#51a4be;
  --primary-dark:#40879c;
  --white:#ffffff;
  --secondary:var(--secondary);
    
}


body {
    background: #fff;
    font-size: 17px;
	line-height:1.5em;
    position: relative;
    height:100%;
}

html {
    min-height:100% !important;
    height:100% !important;
}

::-moz-selection {
  color: #fff;
  background: var(--primary); }

::selection {
  color: #fff;
  background: var(--primary); }


/*
-----------------------------------------------
Schriften definieren
----------------------------------------------- */

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/../fonts/SourceSansPro/SourceSansPro-Bold.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-Bold.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-Bold.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-Bold.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-Bold.svg#../fonts/SourceSansPro/SourceSansPro-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-BoldItalic.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-BoldItalic.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-BoldItalic.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-BoldItalic.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-BoldItalic.svg#../fonts/SourceSansPro/SourceSansPro-BoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-BlackItalic.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-BlackItalic.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-BlackItalic.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-BlackItalic.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-BlackItalic.svg#../fonts/SourceSansPro/SourceSansPro-BlackItalic') format('svg');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-Black.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-Black.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-Black.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-Black.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-Black.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-Black.svg#../fonts/SourceSansPro/SourceSansPro-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-LightItalic.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-LightItalic.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-LightItalic.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-LightItalic.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-LightItalic.svg#../fonts/SourceSansPro/SourceSansPro-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.svg#../fonts/SourceSansPro/SourceSansPro-SemiBoldItalic') format('svg');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.svg#../fonts/SourceSansPro/SourceSansPro-ExtraLightItalic') format('svg');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-Regular.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-Regular.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-Regular.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-Regular.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-Regular.svg#../fonts/SourceSansPro/SourceSansPro-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-Light.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-Light.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-Light.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-Light.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-Light.svg#../fonts/SourceSansPro/SourceSansPro-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-ExtraLight.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-ExtraLight.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLight.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLight.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLight.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-ExtraLight.svg#../fonts/SourceSansPro/SourceSansPro-ExtraLight') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-SemiBold.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBold.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBold.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBold.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-SemiBold.svg#../fonts/SourceSansPro/SourceSansPro-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro/SourceSansPro-Italic.eot');
    src: url('../fonts/SourceSansPro/SourceSansPro-Italic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SourceSansPro/SourceSansPro-Italic.woff2') format('woff2'),
        url('../fonts/SourceSansPro/SourceSansPro-Italic.woff') format('woff'),
        url('../fonts/SourceSansPro/SourceSansPro-Italic.ttf') format('truetype'),
        url('../fonts/SourceSansPro/SourceSansPro-Italic.svg#../fonts/SourceSansPro/SourceSansPro-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}




/* Share Tech */

@font-face {
    font-family: 'Share Tech Mono';
    src: url('../fonts/ShareTech/ShareTechMono-Regular.eot');
    src: url('../fonts/ShareTech/ShareTechMono-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ShareTech/ShareTechMono-Regular.woff2') format('woff2'),
        url('../fonts/ShareTech/ShareTechMono-Regular.woff') format('woff'),
        url('../fonts/ShareTech/ShareTechMono-Regular.ttf') format('truetype'),
        url('../fonts/ShareTech/ShareTechMono-Regular.svg#ShareTechMono-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}




/* UnicaOne */

@font-face {
    font-family: 'Unica One';
    src: url('../fonts/UnicaOne/UnicaOne-Regular.eot');
    src: url('../fonts/UnicaOne/UnicaOne-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/UnicaOne/UnicaOne-Regular.woff2') format('woff2'),
        url('../fonts/UnicaOne/UnicaOne-Regular.woff') format('woff'),
        url('../fonts/UnicaOne/UnicaOne-Regular.ttf') format('truetype'),
        url('../fonts/UnicaOne/UnicaOne-Regular.svg#UnicaOne-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}





/* Serif */

@font-face {
    font-family: 'Vidaloka';
    src: url('../fonts/Vidaloka/Vidaloka-Regular.eot');
    src: url('../fonts/Vidaloka/Vidaloka-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Vidaloka/Vidaloka-Regular.woff2') format('woff2'),
        url('../fonts/Vidaloka/Vidaloka-Regular.woff') format('woff'),
        url('../fonts/Vidaloka/Vidaloka-Regular.ttf') format('truetype'),
        url('../fonts/Vidaloka/Vidaloka-Regular.svg#Vidaloka-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}





/* Schreibschrift */

@font-face {
    font-family: 'Birthstone Bounce';
    src: url('../fonts/BirthstoneBounce/BirthstoneBounce-Medium.eot');
    src: url('../fonts/BirthstoneBounce/BirthstoneBounce-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Medium.woff2') format('woff2'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Medium.woff') format('woff'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Medium.ttf') format('truetype'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Medium.svg#BirthstoneBounce-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Birthstone Bounce';
    src: url('../fonts/BirthstoneBounce/BirthstoneBounce-Regular.eot');
    src: url('../fonts/BirthstoneBounce/BirthstoneBounce-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Regular.woff2') format('woff2'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Regular.woff') format('woff'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Regular.ttf') format('truetype'),
        url('../fonts/BirthstoneBounce/BirthstoneBounce-Regular.svg#BirthstoneBounce-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/* Antonio */
/* Schmale Serifenlos - aus Logo */

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-Regular.eot');
    src: url('../fonts/Antonio/Antonio-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-Regular.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-Regular.woff') format('woff'),
        url('../fonts/Antonio/Antonio-Regular.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-Regular.svg#Antonio-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-Thin.eot');
    src: url('../fonts/Antonio/Antonio-Thin.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-Thin.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-Thin.woff') format('woff'),
        url('../fonts/Antonio/Antonio-Thin.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-Thin.svg#Antonio-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-ExtraLight.eot');
    src: url('../fonts/Antonio/Antonio-ExtraLight.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-ExtraLight.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-ExtraLight.woff') format('woff'),
        url('../fonts/Antonio/Antonio-ExtraLight.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-ExtraLight.svg#Antonio-ExtraLight') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-Medium.eot');
    src: url('../fonts/Antonio/Antonio-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-Medium.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-Medium.woff') format('woff'),
        url('../fonts/Antonio/Antonio-Medium.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-Medium.svg#Antonio-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-Light.eot');
    src: url('../fonts/Antonio/Antonio-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-Light.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-Light.woff') format('woff'),
        url('../fonts/Antonio/Antonio-Light.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-Light.svg#Antonio-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-Bold.eot');
    src: url('../fonts/Antonio/Antonio-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-Bold.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-Bold.woff') format('woff'),
        url('../fonts/Antonio/Antonio-Bold.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-Bold.svg#Antonio-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-SemiBold.eot');
    src: url('../fonts/Antonio/Antonio-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-SemiBold.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-SemiBold.woff') format('woff'),
        url('../fonts/Antonio/Antonio-SemiBold.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-SemiBold.svg#Antonio-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('../fonts/Antonio/Antonio-Regular_1.eot');
    src: url('../fonts/Antonio/Antonio-Regular_1.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Antonio/Antonio-Regular_1.woff2') format('woff2'),
        url('../fonts/Antonio/Antonio-Regular_1.woff') format('woff'),
        url('../fonts/Antonio/Antonio-Regular_1.ttf') format('truetype'),
        url('../fonts/Antonio/Antonio-Regular_1.svg#Antonio-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}






/* Icons */

/*!
 * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 */

/* Brands */
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fontawesome/fa-brands-400.eot");
  src: url("../fonts/fontawesome/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome/fa-brands-400.woff2") format("woff2"), url("../fonts/fontawesome/fa-brands-400.woff") format("woff"), url("../fonts/fontawesome/fa-brands-400.ttf") format("truetype"), url("../fonts/fontawesome/fa-brands-400.svg#fontawesome") format("svg"); }

/* Light */
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url("../fonts/fontawesome/fa-light-300.eot");
  src: url("../fonts/fontawesome/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome/fa-light-300.woff2") format("woff2"), url("../fonts/fontawesome/fa-light-300.woff") format("woff"), url("../fonts/fontawesome/fa-light-300.ttf") format("truetype"), url("../fonts/fontawesome/fa-light-300.svg#fontawesome") format("svg"); }

/* Solid */
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../fonts/fontawesome/fa-solid-900.eot");
  src: url("../fonts/fontawesome/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../fonts/fontawesome/fa-solid-900.ttf") format("truetype"), url("../fonts/fontawesome/fa-solid-900.svg#fontawesome") format("svg"); }





/* Schriftarten */

/* Grundschrift */
/* Serifenlos light */
body {
    font-family: 'Source Sans Pro' !important;
    font-weight: 300 !important;
    font-style: normal !important;
}
/* Headlines und Co */
/* Serifenlos schmal bold */
h1 {
	font-family: 'Antonio';
	font-weight:normal;
    font-style: normal !important;
	text-transform:uppercase;
}
/* Serifenlos light */
h2, h2 + h3, header + h3, h4 {
    font-family: 'Source Sans Pro' !important;
    font-weight: 300 !important;
    font-style: normal !important;
}

/* Auszeichnung */
/* Serifenlos bold */
b, strong, h3, h5, .font-weight-bold, .site-navbar nav .menu, h2.font-weight-bold {
    font-family: 'Source Sans Pro' !important;
    font-weight: 600 !important;
    font-style: normal !important;	
}
/* Startseite */
/* Slider Bildschimfüllend */
.startseite .site-hero h1 {
    /*font-family: 'Birthstone Bounce' !important;*/
	font-family: 'Antonio' !important;
	font-weight: normal !important;
    font-style: normal !important;	
	text-transform:uppercase;
}


/* Serifenschrift */
/*
.history .carousel-indicators h4 {
	font-family: 'Vidaloka' !important;
	font-weight:normal;
	font-style:normal;
}
*/

/* Brands */
.fab,
.video:before{
  font-family: 'Font Awesome 5 Brands';
  font-weight: 400; }

/* Light */
.fal, 
.intern:before,
.mehr:before,
.zurueck:before,
.download:before,
.email:before,
.btn-email:before,
a.pdf:before, 
a.download:before, 
a[href*=".pdf"]:before,
.frame-type-filelist_filelist a[href*=".jpg"]:before,
.frame-type-filelist_filelist a[href*=".JPG"]:before,
.frame-type-filelist_filelist a[href*=".jpeg"]:before,
.frame-type-filelist_filelist a[href*=".JPEG"]:before,
.frame-type-filelist_filelist a[href*=".png"]:before,
.frame-type-filelist_filelist a[href*=".PNG"]:before,
.frame-type-filelist_filelist a.video:before,
.frame-type-filelist_filelist a[href*=".mp4"]:before,
.frame-type-filelist_filelist a[href*=".mov"]:before{
  font-family: 'Font Awesome 5 Pro';
  font-weight: 300; }


/* Solid */
.fa,
.fas,
.telefon:before {
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900; }




/*
-----------------------------------------------
Stilvorlagen
----------------------------------------------- */

p {
	margin-bottom:0.5em !important;
}

p:last-child {
	margin-bottom:0em !important;
}



/* Breiten der Texte und Headlines */
@media (min-width:992px) {
header + h2,
.container-fluid > .container > .frame-type-text > .ce-body > .text-center {
    width: 80%;
    margin: 0 auto;
}
.lightbox-wrapper header + h2 {
    width: 100%;
}
}


/* // H1 // */


.startseite .banner-container h1 {
	/*line-height:0.875em !important;*/
	line-height:1em !important;
	margin-bottom:0.25em;
}

/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 0px) and (max-width:575px) { 
h1 {
	font-size:3.5em;
	margin-bottom:0.25em;
}
.startseite .banner-container h1 {
	font-size:3em !important;
}

}
	
/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width:767px) { 
h1 {
	font-size:6em;
	margin-bottom:0.25em;
}
.startseite .banner-container h1 {
	font-size:11em !important;
}

}

/* // Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width:991px) { 
h1 {
	font-size:6em;
	margin-bottom:0.25em;
}
.startseite .banner-container h1 {
	font-size:11em !important;
}


}

/* // Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width:1199px) { 
h1 {
	font-size:6em;
	margin-bottom:0.25em;
}
.startseite .banner-container h1 {
	font-size:11em !important;
}


}

/* // X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width:1399px) { 
h1 {
	font-size:6em;
	margin-bottom:0.25em;
}
.startseite .banner-container h1 {
	font-size:11em !important;
}

}

/* // XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 
h1 {
	font-size:6em;
	margin-bottom:0.25em;
}
.startseite .banner-container h1 {
	font-size:11em !important;
}


}



/* // H2 // */



/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 0px) and (max-width:575px) { 
h2 {
    font-size:3.5em;
}
.startseite header + h3,
.startseite .banner-container h2,
header + h2 {
	font-size: 1.5em;
}
}
	
/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width:767px) { 
h2 {
    font-size:3.5em;
}
.startseite header + h3,
.startseite .banner-container h2,
header + h2 {
	font-size: 1.75em;
}
}

/* // Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width:991px) { 
h2 {
    font-size:3.5em;
}
.startseite header + h3,
.startseite .banner-container h2,
header + h2 {
	font-size: 1.75em;
}
}

/* // Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width:1199px) { 
h2 {
    font-size:3.5em;
}
.startseite header + h3,
.startseite .banner-container h2,
header + h2 {
	font-size: 1.75em;
}

}

/* // X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width:1399px) { 
h2 {
    font-size:3.5em;
}
.startseite header + h3,
.startseite .banner-container h2,
header + h2 {
	font-size: 1.75em;
}

}

/* // XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 
h2 {
    font-size:3.5em;
}
.startseite header + h3,
.startseite .banner-container h2,
header + h2 {
	font-size: 1.75em;
}

}






/* // H3 // */





/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 0px) and (max-width:575px) { 
h3 {
	font-size: 1.75em;
}
main .content > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center,
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center{
	margin-bottom:25px;	
}
}
	
/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width:767px) { 
h3, .h3 {
	font-size: 1.75em;
}
main .content > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center,
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center{
	margin-bottom:25px;	
}
}

/* // Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width:991px) { 
h3, .h3 {
	font-size: 1.75em;
}
main .content > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center,
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center{
	margin-bottom:25px;	
}
}

/* // Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width:1199px) { 
h3, .h3 {
	font-size: 1.75em;
}
main .content > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center,
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center{
	margin-bottom:25px;	
}
}

/* // X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width:1399px) { 
h3, .h3 {
	font-size: 1.75em;
}
main .content > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center,
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center{
	margin-bottom:25px;	
}
}

/* // XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 
h3, .h3 {
	font-size: 1.75em;
}
main .content > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center,
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:first-child h3.ce-headline-center{
	margin-bottom:25px;	
}

}







h4, .custom-caption {
	font-size: 1.25rem;
	margin-bottom:1em !important;
}
/* H4 im History Slider, aktive Jahreszahl gross */
.history .carousel-indicators li.active h4,
.history .carousel-item h4{
	font-size: 2.25em;
}
.history .carousel-indicators li h4{
	margin-bottom:0em !important;
}
.history .carousel-item h4{
	margin-bottom:10px !important;
}



.small, .klein, .subfooter {
	font-size:0.85em;
	line-height:1em !important;
/*font-weight: 300 !important;*/
/*font-style: normal !important;*/
}

.lead, .gross {
	font-size:1.25em;
	line-height:1em;
}
.startseite .site-hero .gross {
	font-size:1.75em;
}


.ce-headline-center,
.text-align-center {
	text-align:center;
}



/* Span Formatierungen */

.telefon::before {
    content: "\f095";
}
.email::before,
a[href*="mailto:"]:before,
.btn-email:before{
    content: "\f0e0";
}

.telefon::before,
.email::before,
a[href*="mailto:"]:before,
.btn-email:before {
	margin-right:7px;
	font-size:0.8em;
}




/* Listen */


main ul {
	padding-left:1em;
}
main ul li {
	margin-bottom:5px;
}

/* Liste mit Linien */
main .ul-bottom-lines ul {
	padding-left:0em !important;	
	margin-top:20px;
	margin-bottom:25px;
}
main .ul-bottom-lines ul li {
	list-style-type: none;
	border-bottom:1px solid #f0f0f0;
	padding-top:5px;
	padding-bottom:5px;
	line-height:1.5em !important;
}
main .ul-bottom-lines ul li:first-child {
	border-top:1px solid #f0f0f0;
}


footer p, footer ul {
	margin-bottom:0em;
}

footer p, footer ul li{
	line-height:1.5em;
}

footer ul {
	padding-left:0em;
}
footer ul li {
	margin-bottom:0px;
	list-style-type:none;
}



/*
-----------------------------------------------
Farben definieren
----------------------------------------------- */

/* Primary */
.btn-primary, 
.carousel-indicators li.active,.carousel-indicators li:hover,
.history .carousel-indicators li.active:before{
	background-color:var(--primary);
}
.bg-primary {
	background-color:var(--primary) !important;	
    color:#ffffff;
}
.bg-primary .btn-primary {
  color: #ffffff !important;
  background-color: transparent;
  border-color: var(--white) !important;	
}
.text-primary,
.history .carousel-indicators li.active h4{
	color:var(--primary);
}
main a:not(.btn-primary):not(.btn-default):not(.btn-outline),
main a:not(.btn-primary):not(.btn-default):not(.btn-outline):hover{
 	color:var(--primary) !important;   
}
.border-primary, 
.btn-primary {
	border-color:var(--primary);	
}

/* Primary dark */
.bg-primary-dark, .btn-primary:hover {
	background-color:var(--primary-dark);
}
.text-primary-dark {
	color:var(--primary-dark);
}
.border-primary-dark, 
.btn-primary:hover {
	border-color:var(--primary-dark);	
}

/* Secondary */
.bg-secondary {
	background-color:var(--secondary) !important;
}
.text-secondary {
	color:var(--secondary);
}
.border-secondary {
	border-color:var(--secondary);	
}
.bg-success {
	
}
.bg-info {
	
}
.bg-warning {
	
}
.bg-danger {
	
}

/* Light */
.bg-light, .hg-hellgrau {
	background-color: #f8f8f8;	
}
.text-light {
	color:#f8f8f8;
}

/* Dark */
.bg-dark {
	background-color: #343a40;		
}
.text-dark, 
body, .btn-outline{
	color:#343a40;
}
.border-dark,
.btn-outline {
	border-color:#343a40;
}


/* Grey */
.bg-gray, .btn-default {
	background-color: #bebebe;	
}
.text-gray {
	color:#bebebe;
}
.border-gray, .btn-default {
	border-color:#bebebe;
}
/* Grey dark */
.bg-gray-dark, .btn-default:hover {
	background-color: var(--primary-dark);	
}
.text-gray-dark {
	color:var(--primary-dark);	
}
.border-gray-dark, .btn-default:hover {
	border-color:var(--primary-dark);	
}



/* White */
.bg-white,
.hg-weiss {
	background-color: #ffffff;
}
.text-white,
.btn-primary, .btn-primary:hover,
.btn-default, .btn-default:hover,
.btn-secondary, .btn-secondary:hover,
.footer-section p,
.footer-section a,
.site-hero,
main .grid-container[class*="background"],
main .grid-container[class*="background"] p,
main .grid-container[class*="background"] h1,
main .grid-container[class*="background"] h2, 
main .grid-container[class*="background"] h3, 
main .grid-container[class*="background"] h4, 
main .grid-container[class*="background"] h5,
.startseite .banner-container h1,
.startseite .banner-container h2, 
.startseite .banner-container h3, 
.startseite .banner-container h4, 
.startseite .banner-container h5,
.grid-container.overlay > .container-fluid .standard > .ce-body .btn-outline,
.startseite .banner-container * {
	color:#ffffff !important;
}

.grid-container.overlay > .container-fluid .standard > .ce-body .btn-outline {
	border-color:#ffffff;
}


/* Transparent */

.bg-transparent {
	background-color: transparent;
}


/* Black */
/*
h1, h2, h3, h4, h5,
main a:not(.btn-primary) {
	color:#000000;
}
*/

/*
-----------------------------------------------
Container Angaben
----------------------------------------------- */

div[class*="col-"].not-equal > div {
	height:auto;
}
div[class*="col-"].d-flex > .grid-container 
div[class*="col-"].d-flex > .grid-container > .container-fluid,
div[class*="col-"].d-flex > .grid-container > .container-fluid > .container,
div[class*="col-"].d-flex > .frame-type-shortcut,
div[class*="col-"].d-flex > .frame-type-shortcut > .ce-body,
div[class*="col-"].d-flex > .frame-type-shortcut > .ce-body > .grid-container, 
div[class*="col-"].d-flex > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid,
div[class*="col-"].d-flex > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container{
	height:100%;
} 

main div[class*="col-"]:not(.d-flex) {
	flex-direction:column;
	flex-wrap:wrap;
}

main div[class*="col-"] > div{
	width:100%;
}

main .container .container,
main .container-fluid .container-fluid{
	width:100%;
	max-width:100%;
	padding-left:0em;
	padding-right:0em;
}






/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 0px) and (max-width:767px) { 
/*
main .content > .grid-container > .container-fluid > .container,
.site-header .container-fluid > .container,
footer .container, 
.toolbar-buchung .container,
main .content > .frame-type-shortcut > div > div > div > .container,
.lightbox-wrapper > .container-fluid > .container
 */ 
.container,
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    width:100% !important;
	max-width:100% !important;
}
.container .container {
    width:100% !important;
	max-width:100% !important;
    }
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    width:100% !important;
	max-width:100% !important;
}
}

@media (min-width: 768px) {
.container,
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    max-width: 720px;
  }
}

@media (min-width: 992px) {
.container,
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
.container,
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    max-width: 1140px;
  }
}

@media (min-width: 1400px)  { 
/*
main .content > .grid-container > .container-fluid > .container,
.site-header .container-fluid > .container,
footer .container, 
.toolbar-buchung .container,
main .content > .frame-type-shortcut > div > div > div > .container,
.lightbox-wrapper > .container-fluid > .container
 */
.container,
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    /*
	width:70% !important;
	max-width:70% !important;
	*/
	width:1320px !important;
	max-width:1320px !important;
}
.container .container {
    width:100% !important;
	max-width:100% !important;
    }
}





div[class*="col-"] > .grid-container > .container-fluid,
div[class*="col-"] > .grid-container > .container-fluid .container-fluid,
div[class*="col-"] > .grid-container > .container-fluid > .container,
div[class*="col-"] > .grid-container > .container-fluid > .container .container{
	padding-left:0em;
	padding-right:0em;
}
div[class*="col-"] > .grid-container > .container-fluid > .container {
	max-width: none;
}

.section,
main .content > .grid-container[class*="hg-"],
main .content > .grid-container[class*="bg-"],
main .content > .grid-container[class*="background"],
main .content > .frame-type-shortcut > div > .grid-container[class*="hg-"],
main .content > .frame-type-shortcut > div > .grid-container[class*="bg-"],
main .content > .frame-type-shortcut > div > .grid-container[class*="background"] {
  padding: 100px 0; 
}

main > .content > .grid-container:first-child {
	padding-bottom:100px;
}


@media (max-width: 991.98px) {
.section,
main .content > .grid-container[class*="hg-"],
main .content > .grid-container[class*="bg-"],
main .content > .grid-container[class*="background"],
main .content > .frame-type-shortcut > div > .grid-container[class*="hg-"],
main .content > .frame-type-shortcut > div > .grid-container[class*="bg-"],
main .content > .frame-type-shortcut > div > .grid-container[class*="background"] {
    padding: 50px 0; 
} 

main > .content > .grid-container:first-child {
    padding-bottom:50px;
}
}

main .content > .grid-container.hg-weiss + .grid-container.hg-weiss,
main .content > .frame-type-form_formframework + .grid-container.hg-weiss {
    padding-top:0em;
}

legend {
    width:auto;
    padding-left:10px;
    padding-right:10px;
}


/* Zweispaltig im Formular */
fieldset#anmeldungAquafit-2760-fieldset-1 {
    display:flex;
    flex-direction:row;
}
fieldset#anmeldungAquafit-2760-fieldset-1 > .form-group{
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    padding-left:15px;
    padding-right:15px;
}



/*
-----------------------------------------------
Cols und Co
----------------------------------------------- */

.hg-hellgrau > .ce-body > .gutter-line div[class*="col-"] + div[class*="col-"] {
	border-left:5px solid #ffffff;	
}
div:not(.hg-hellgrau):not(.hg-grau):not(.hg-dark):not(.hg-primary):not(.hg-secondary) > .ce-body > .gutter-line div[class*="col-"] + div[class*="col-"] {
	border-left:1px solid #343a40;	
}




/*
-----------------------------------------------
Layout Angaben
----------------------------------------------- */


body.standard main {
	/*padding-top:150px;*/
}



.startseite .site-header,
.site-header.sticky{ 
	position:fixed;
	 -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out;
	}
.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 30px 0;
  z-index: 999;
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out; }
  .site-header.sticky {
    padding: 20px 0;
    background: #fff;
    -webkit-box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1); }
    .site-header.sticky .site-menu-toggle {
      /*top: 10px;*/
      position: relative; }
      .site-header.sticky .site-menu-toggle span {
        background: #000; }
    .site-header.sticky .site-logo {
      position: relative;
      z-index: 100; }
      .site-header.sticky .site-logo a {
        color: #000; }



/*.site-logo {
  padding-left: 40px; }

.site-logo a {
    font-size: 30px;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    font-family: "Playfair Display", times, serif; }
    @media (max-width: 991.98px) {
      .site-logo a {
        font-size: 27px; } }
*/



/* Logoeinblendung Schwarz - Weiss */

/* Starseite */
body.startseite header:not(.sticky) .site-logo .black,
body.startseite header:not(.sticky) .site-logo .white,
body.startseite header:not(.sticky) .site-signet .black-sz,
body.startseite header:not(.sticky) .site-signet .white-sz,
/* Standardvorlage */
body.standard header:not(.sticky) .site-logo .white,
body.standard header:not(.sticky) .site-signet .white-sz,
body.standard header:not(.sticky) .site-signet .black-sz,
body.lightbox header:not(.sticky) .site-logo .white,
body.lightbox header:not(.sticky) .site-signet .white-sz,
body.lightbox header:not(.sticky) .site-signet .black-sz,
/* Wenn Header Sticky */
body.startseite header.sticky .site-logo .white,
body.startseite header.sticky .site-signet .white-sz,
body.startseite header.sticky .site-logo .black,
body.standard header.sticky .site-logo .white,
body.standard header.sticky .site-signet .white-sz,
body.standard header.sticky .site-logo .black,
body.lightbox header.sticky .site-logo .white,
body.lightbox header.sticky .site-signet .white-sz,
body.lightbox header.sticky .site-logo .black{
	display:none;
}


header.sticky .container-fluid > .row.align-items-start {
	-webkit-box-align: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}


/* Site Logo auf Unterseiten mittig */

body.standard .site-logo img {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}







/* Header Anfrage Button */

header .btn {
	margin-right:50px;
}



/* Banner */
/* Phone */
@media (min-width:0px) and (max-width:767px) {
body.standard .banner-container,
body.standard header + main{
	padding-top: 270px;
}
body.standard.privat header + main{
	padding-top: 0px;
}
body.standard .banner-container > div {
    padding-bottom: 30px;
}
}

/* Tablet */
@media (min-width:768px) and (max-width:991px) {
body.standard .banner-container,
body.standard header + main{
	padding-top: 270px;
}
body.standard.privat header + main{
	padding-top: 0px;
}
body.standard .banner-container > div {
    padding-bottom: 50px;
}}

/* Tablet */
@media (min-width:922px) {

body.standard .banner-container,
body.standard header + main{
    padding-top: 270px;
}
body.standard.privat header + main{
	padding-top: 0px;
}
body.standard .banner-container > div {
    padding-bottom: 50px;
}}



/* Main */
/*
body.standard header + main > .content > .grid-container:first-child {
	padding-top: 12.5em;
	padding-bottom: 7em;
}
body.standard .lightbox-wrapper header + main > .content > .grid-container:first-child {
	padding-top: 7em;
	padding-bottom: 7em;
}
*/



/* Footer */

.footer-section {
  background: #1a1a1a;
  color: #fff; }
  .footer-section a {
    color: rgba(255, 255, 255, 0.7); }
    .footer-section a:hover {
      color: #fff; }
  .footer-section p {
    color: rgba(255, 255, 255, 0.5); }
  .footer-section .bordertop {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px; }
  .footer-section .contact-info span.d-block {
    font-style: italic;
    color: #fff; }
  .footer-section .social a {
    font-size: 18px;
    padding: 10px; }
  .footer-section .link li {
    margin-bottom: 10px; }

.footer div[class*="col-"]:last-child {
	text-align:right;
}
footer.section.footer-section {
	padding-top:0em !important;
}

footer.section.footer-section .footer {
	padding-top:50px;
	padding-bottom:50px;
}

footer .subfooter {
	padding-top:30px;
	padding-bottom:30px;
	border-top:1px solid white;
}

/*
-----------------------------------------------
Toolbar Footer
----------------------------------------------- */

footer .subfooter ul {
	list-style-type: none;
	float:left;
	padding-left:0em;
}

footer .subfooter ul li {
	float:left;
	margin-right:15px;
	padding-left:0em;
	line-height:1em !important;
}
.subfooter a {
	margin-right:15px;
}

/* Footer Padding unten wegen Booking-Section */
@media (min-width:0px) and (max-width:767px) {
footer.section.footer-section {
    padding-bottom:55px !important;
}
}
@media (min-width:768px) and (max-width:991px) {
footer.section.footer-section {
    padding-bottom:110px !important;
}
}
@media (min-width:992px) {
footer.section.footer-section {
    padding-bottom:85px !important;
}
}



/*
-----------------------------------------------
Toolbar Navi
----------------------------------------------- */

header .navbar-collapse ul.toolbar {
	list-style-type: none;
	float:left;
	padding-left:0em;    
    margin-top:50px;
}
header .navbar-collapse ul.toolbar {
    display:flex;
    flex-direction: row; 
}
header .navbar-collapse ul.toolbar li + li {
    margin-left:15px;
}
header .navbar-collapse ul.toolbar li a{
    font-size:0.85em;
    padding:0px;
}

/*
-----------------------------------------------
Toolbar Buchen
----------------------------------------------- */

.toolbar-buchung {
	position:fixed;
	width:100%;
	bottom:0;
	z-index:777;
}

@media (min-width:0px) and (max-width:767px) {
.toolbar-buchung {
	padding-top: 10px;
	padding-bottom: 10px;
	height:55px;
}
.toolbar-buchung a.btn {
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.toolbar-buchung  .frage-buchen,
.toolbar-buchung .email-button {
   margin-bottom:10px; 
}
/* Buttons nebeneinander */
.toolbar-buchung .mobil .container  {
    display:flex;
    justify-content: space-between;
}
}
@media (min-width:768px) and (max-width:991px) {
.toolbar-buchung {
	padding-top: 20px;
	padding-bottom: 20px;
 	height:110px;   
}
.toolbar-buchung a {
    width:100%;
}
.toolbar-buchung .email-button {
    justify-content:flex-start;       
}
.toolbar-buchung .anfrage-buttons {
    justify-content:flex-end;       
}
.toolbar-buchung  .frage-buchen {
    margin-bottom:10px;
}
.toolbar-buchung a.btn {
    min-width:200px;
}
}
@media (min-width:992px) {
.toolbar-buchung {
	padding-top: 20px;
	padding-bottom: 20px;
 	height:85px;   
}
.toolbar-buchung .anfrage-buttons {
    justify-content:flex-end;
}
}

.toolbar-buchung div[class*="col-"] {
	align-items: center;
}




/*
-----------------------------------------------
Navigation - Menü
----------------------------------------------- */

.menu-open {
  position: relative; }
  .menu-open .site-header {
    position: fixed; }
  .menu-open .site-logo {
    position: relative;
    z-index: 100; }
    .menu-open .site-logo a {
      color: #000; }
  .menu-open .navbar-collapse {
    border: 10px solid #f8f9fa; }


.navbar-collapse {
  position: fixed;
 /* display: none;*/
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
	background-color:#ffffff;
  border: 20px solid transparent;
  min-height: 300px;
  overflow-y: scroll; }
  .navbar-collapse nav {
    text-align: left; }
.navbar-collapse nav .menu li + li {
	margin-top:35px;
}
     .navbar-collapse nav .menu li a {
        color: #000;
        font-size: 40px;
        padding: 0px;
        position: relative; }
        .navbar-collapse nav .menu li a:hover:before {
          width: 100%; }
      .navbar-collapse nav .menu li.active a,
	  .navbar-collapse nav .menu li:hover a{
        /*color: var(--primary); */
        color:#4898af;}
        .navbar-collapse nav .menu li.active a:before {
          width: 100%; }


@media (min-width:0px) and (max-width:767px) {
    .navbar-collapse nav .menu li a {
        font-size: 37px;
    }
}

.navbar-toggle span,
body.standard .navbar-toggle.collapsed span{
  background: #000000; }
.navbar-toggle.collapsed span{
  background: #ffffff; }

.navbar-toggle {
  top: 0;
  /*float: right;*/
  width: 40px;
	height:35px;
  position: relative;
  /*margin: 0px auto;*/
  z-index: 200;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  /*margin-right: 40px;*/ }
  .navbar-toggle span {
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out; }


.navbar-toggle:not(.collapsed) span:nth-child(1) {
    top: 13px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg); }
  .navbar-toggle:not(.collapsed) span:nth-child(2) {
    opacity: 0;
    left: -60px; }
  .navbar-toggle:not(.collapsed) span:nth-child(3) {
    top: 13px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg); }



  .navbar-toggle.collapsed span:nth-child(1) {
    top: 0px; }
  .navbar-toggle.collapsed span:nth-child(2) {
    top: 15px; }
  .navbar-toggle.collapsed span:nth-child(3) {
    top: 30px; }
  




/*
-----------------------------------------------
Elemente
----------------------------------------------- */

.full-height {
  /*height: 100vh;*/
  /*height:100lvh;*/
  max-height: 100%;
  height: -webkit-fill-available;
}

/* 100 Prozent Viewport minus Höhe Buchen-Toolbar unten */
@media (min-width:0px) {
.full-height {
  height: calc(100lvh - 55px);
  max-height: 100%;
	}
}
@media (min-width:768px) {
.full-height {
  height: calc(100lvh - 108px);
  /*min-height: 700px;*/
   max-height: 100%;
}
}
@media (min-width:992px) {
.full-height {
  height: calc(100lvh - 85px);
   max-height: 100%;
}
}

/* Site Hero */

.site-hero.container {
    width:100% !important;
	max-width:100% !important;   
}

.site-hero {
  background-size: cover;
  width: 100%;
  position: relative; 
  overflow:hidden;
  height: -webkit-fill-available;
}


/* 100 Prozent Viewport minus Höhe Buchen-Toolbar unten */
@media (min-width:0px) {
.site-hero {
  height: calc(100lvh - 55px);
  max-height: 100%;
	}
}
@media (min-width:768px) {
.site-hero {
  height: calc(100lvh - 108px);
  /*min-height: 700px;*/
   max-height: 100%;
}
}
@media (min-width:992px) {
.site-hero {
  height: calc(100lvh - 85px);
   max-height: 100%;
}
}

.site-hero .container-fluid {
	padding-left:0em !important;
	padding-right:0em !important;
	max-width:none;
}
.site-hero > .container-fluid >  .container {
	width:100%;
	max-width:100%;
	padding-left:0em !important;
	padding-right:0em !important;
}
.site-hero > .container-fluid > .container > .hero-bilder,
.site-hero > .container-fluid > .container > .hero-content-text-logo{
  position:absolute;
  background-size: cover;
  /*height: 100lvh;*/
 /*min-height: 700px;*/
  width: 100%;
  overflow:hidden;
}
.site-hero .hero-content-text-logo {
  min-width: 100%;
  /*height: 100lvh;*/
}

/* 100 Prozent Viewport minus Höhe Buchen-Toolbar unten */
@media (min-width:0px) {
.site-hero > .container-fluid > .container > .hero-bilder,
.site-hero > .container-fluid > .container > .hero-content-text-logo,
	.site-hero .hero-content-text-logo{
	height: calc(100lvh - 55px);
  max-height: 100%;
	}
}
@media (min-width:768px) {
.site-hero > .container-fluid > .container > .hero-bilder,
.site-hero > .container-fluid > .container > .hero-content-text-logo,
	.site-hero .hero-content-text-logo{
	height: calc(100lvh - 108px);
  /*min-height: 700px;*/
   max-height: 100%;
}
}
@media (min-width:992px) {
.site-hero > .container-fluid > .container > .hero-bilder,
.site-hero > .container-fluid > .container > .hero-content-text-logo,
	.site-hero .hero-content-text-logo{
	height: calc(100lvh - 85px);
   max-height: 100%;
}
}



.site-hero > .container-fluid > .container .hero-content-text-logo{
	z-index:777;
}

.site-hero .hero-bilder .carousel-inner *:not(img) {
    /*height:100lvh;*/
    width:100%;
}
.site-hero .hero-bilder img {
    object-fit: cover;
    min-width: 100%;
    /*min-height: 100lvh;*/
}

/* 100 Prozent Viewport minus Höhe Buchen-Toolbar unten */
@media (min-width:0px) {
.site-hero .hero-bilder .carousel-inner *:not(img),
.site-hero .hero-bilder img {
  height: calc(100lvh - 55px);
  max-height: 100%;
	}
}
@media (min-width:768px) {
.site-hero .hero-bilder .carousel-inner *:not(img),
.site-hero .hero-bilder img {
	height: calc(100lvh - 108px);
  /*min-height: 700px;*/
   max-height: 100%;
}
}
@media (min-width:992px) {
.site-hero .hero-bilder .carousel-inner *:not(img),
.site-hero .hero-bilder img {
	height: calc(100lvh - 85px);
   max-height: 100%;
}
}



/* Logo auf Startseite */
.site-hero img[src*=".svg"] {
 	height: 50lvh;
	margin: 0 auto;
	min-height: 0px;
	width: auto;
}
@media (min-width:0px) {
.site-hero img[src*=".svg"] {
 	height: 40lvh;
	}
}
@media (min-width:768px) {
.site-hero img[src*=".svg"] {
 	height: 50lvh;
	}
}

.site-hero .image{
  display: flex;
  justify-content: center;
  align-items: center;
}


.site-hero .scroll-down {
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff; }
.site-hero.overlay .carousel-container .image {
	position:relative;
}
.site-hero.overlay .carousel-container .image:before {
    background: rgba(0, 0, 0, 0.35);
    content: "";
    position: absolute;
    /*height: 100lvh;*/
    /*min-height: 700px;*/
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; 
	z-index:1;
}
/* 100 Prozent Viewport minus Höhe Buchen-Toolbar unten */
@media (min-width:0px) {
.site-hero.overlay .carousel-container .image:before {
  height: calc(100lvh - 55px);
  max-height: 100%;
	}
}
@media (min-width:768px) {
.site-hero.overlay .carousel-container .image:before {
  height: calc(100lvh - 108px);
  /*min-height: 700px;*/
   max-height: 100%;
}
}
@media (min-width:992px) {
.site-hero.overlay .carousel-container .image:before {
  height: calc(100lvh - 85px);
   max-height: 100%;
}
}

.site-hero figure.image {
	width:100%;
}

.site-hero .ce-outer,
.site-hero .ce-inner {
	width:100% !important;
	float:none !important;
	right:auto !important;
	left:auto !important;
}
.site-hero .ce-column:last-child {
	margin:0em !important;
	width:100% !important;
}




/* Check Availabilty */
.check-availabilty {
    margin-top: -50px;
    position: absolute;
    left: auto;
	right: auto;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
    z-index:888;
}

.check-availabilty .container > div {
    -webkit-box-shadow: 0 2px 80px -10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 80px -10px rgba(0, 0, 0, 0.2);
}


/* Wenn Background-Section Overlay Klasse bekommt */

.grid-container[class*="background"],
.grid-container[class*="background"] .container > div{
	 position:relative;
	}
.grid-container[class*="background"].overlay .container-fluid:before {
	background: rgba(0, 0, 0, 0.45);
    content: "";
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; 
	z-index:0;	
}




/* Tabelle */

table {
	width:100%;
	line-height:1.35em;
}

/* Tabelle ohne Linien */

.ce-table th, .ce-table td {
  border-top: 0px solid #dadada !important;
}
.ce-table th, .ce-table-bordered td {
  border-top: 0px solid #dadada !important;
}
.ce-table th, .ce-table td {
  padding: 0em 0.75em 0.5em 0em !important;
  vertical-align: top;
}



/* Tabelle mit Linien */

.ce-table-bordered th, .ce-table-bordered td {
  border: 0px solid #dadada !important;
}
.ce-table-bordered th, .ce-table-bordered td {
  border-top: 1px solid #dadada !important;
}
.ce-table-bordered th, .ce-table-bordered td {
  padding: 0.5em 0.75em !important;
  vertical-align: top !important;
}
.ce-table-bordered td:first-child {
	padding-left:0em !important;
}





/*
-----------------------------------------------
Gestaltung Elemente
----------------------------------------------- */


/* Card */

.card-header {
  background-color: rgba(0,0,0,.075) !important;
}

.card.standard {
	background-color:transparent;
}

.card {
	border:0px solid #d3d3d3;
	border-radius:0px !important;
	width:100%;
}
.card.hg-weiss,
.border{
	border:1px solid #d3d3d3;	
}

.card.container-fluid,
.card.grid-container,
.card.frame-type-gridelements_pi1,
.card:not(.frame-type-textpic):not(.frame-type-gridelements_pi1) > .ce-body:only-child {
	padding:30px;
}
.card.padding-small.container-fluid,
.card.padding-small.grid-container,
.card.padding-small.frame-type-gridelements_pi1 {
	padding:10px;
}

/* Ohne Bild */
.card > header:first-child,
/* Mit Bild oben */
.card > .ce-body:first-child .imglayout-27 .ce-gallery + header{
	padding:30px 30px 0px 30px;
}
.card.padding-small > header:first-child,
/* Mit Bild oben */
.card.padding-small > .ce-body:first-child .imglayout-27 .ce-gallery + header{
	padding:10px 10px 0px 10px;
}

/* Ohne Bild */
.card > header:first-child + .ce-body,
/* Mit Bild oben */
.card > .ce-body:first-child .imglayout-27 header + .ce-bodytext,
.card > .ce-body:first-child > .ce-textpic.imglayout-27 > header + .ce-bodytext,.card:not(.frame-type-textpic):not(.frame-type-gridelements_pi1) > .ce-body {
	padding: 0px 30px 30px 30px;
}
.card.padding-small > header:first-child + .ce-body,
/* Mit Bild oben */
.card.padding-small > .ce-body:first-child .imglayout-27 header + .ce-bodytext,
.card.padding-small > .ce-body:first-child > .ce-textpic.imglayout-27 > header + .ce-bodytext {
	padding: 0px 10px 10px 10px;
}

/* Mit Bild oben */
.card > .ce-body:first-child > div.imglayout-27 > .ce-gallery + .ce-bodytext,
/* Mit Bild woanders */
.card > .ce-body:first-child > div:not(.imglayout-27):not(.frame-type-gridelements_pi1),
.card > .ce-body:first-child > .ce-textpic.imglayout-27 > .ce-bodytext:first-child{
	padding:30px;
}
.card.padding-small > .ce-body:first-child > div.imglayout-27 > .ce-gallery + .ce-bodytext,
/* Mit Bild woanders */
.card.padding-small > .ce-body:first-child > div:not(.imglayout-27):not(.frame-type-gridelements_pi1),
.card.padding-small > .ce-body:first-child > .ce-textpic.imglayout-27 > .ce-bodytext:first-child{
	padding:10px;
}
.gutter-line .card.padding-small > .ce-body:first-child > div.imglayout-27 > .ce-gallery + .ce-bodytext,
/* Mit Bild woanders */
.gutter-line .card.padding-small > .ce-body:first-child > div:not(.imglayout-27):not(.frame-type-gridelements_pi1),
.gutter-line .card.padding-small > .ce-body:first-child > .ce-textpic.imglayout-27 > .ce-bodytext:first-child{
	padding:30px 10px 30px 10px;
}

/* Mit Bild oben ohne Hintergrundfarbe */
.ce-textpic.imglayout-27 .ce-gallery + * {
	padding-top:30px;
}

/* Bild - Überschrift - Text */
/* Bild mittig ausgerichtet */
.imglayout-27 > .ce-gallery {
	display: flex;
	flex-direction: column;
	align-items: center;
}




/* Element Linie nach Headline */

.border-after-headline > header {
	/*border-bottom:2px solid var(--primary);*/
    border-bottom:2px solid #4898af;
	margin-bottom:10px;
}







/* Halb Halb Element */

.half .image, .half .text {
  width: 50%; }
  @media (max-width: 991.98px) {
    .half .image, .half .text {
      width: 100%; } }

.half .image {
  background-size: cover;
  background-position: center center; }
  @media (max-width: 991.98px) {
    .half .image {
      height: 300px; } }

.half .text {
  padding: 100px 7%; }
  @media (max-width: 991.98px) {
    .half .text {
      padding-top: 50px;
      padding-bottom: 50px; } }
  .half .text h2 {
    font-size: 70px; }
    @media (max-width: 991.98px) {
      .half .text h2 {
        font-size: 40px; } }



.bg-pattern {
  background: #e9ecef url("../img/round.png"); }

.slider-section {
  position: relative; }






/* Grid Elements */

/* No Gutters - ohne Abstand */
.no-gutters.frame-type-gridelements_pi1 .row {
	margin-left:0em;
	margin-right:0em;
}
.no-gutters.frame-type-gridelements_pi1 .row div[class*="col-"] {
	padding-left:0em;
	padding-right:0em;
}

.no-gutters div[class*="col"] .frame-type-image:only-child,
.no-gutters div[class*="col"] .frame-type-image:only-child * {
	height:100%;	
}
.no-gutters div[class*="col"] .frame-type-image figure.image {
	display:flex;
}
.no-gutters div[class*="col"] .frame-type-image figure.image img {
	height:100%;
	object-fit: cover;
}

.no-gutters div[class*="col-"] + div[class*="col-"] {
	margin-top:0em;
}


/* Mouse Animation */
.mouse {
  width: 100px;
  display: inline-block;
  position: absolute;
  left: 50%;
  bottom: 140px;
  z-index: 1;
  -webkit-transform: translateX(-25%);
  -ms-transform: translateX(-25%);
  transform: translateX(-25%); }

.mouse-icon {
  width: 25px;
  height: 45px;
  border: 2px solid white;
  border-radius: 15px;
  cursor: pointer;
  position: relative;
  text-align: center; }

.mouse-wheel {
  height: 6px;
  margin: 2px auto 0;
  display: block;
  width: 3px;
  background-color: white;
  border-radius: 50%;
  -webkit-animation: 1.6s ease infinite wheel-up-down;
  -moz-animation: 1.6s ease infinite wheel-up-down;
  animation: 1.6s ease infinite wheel-up-down; }

@-webkit-keyframes wheel-up-down {
  0% {
    margin-top: 2px;
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    margin-top: 20px;
    opacity: 0; } }

@-moz-keyframes wheel-up-down {
  0% {
    margin-top: 2px;
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    margin-top: 20px;
    opacity: 0; } }

@keyframes wheel-up-down {
  0% {
    margin-top: 2px;
    opacity: 0; }
  30% {
    opacity: 1; }
  100% {
    margin-top: 20px;
    opacity: 0; } }




.bg-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  z-index: 1; }
  .bg-image.overlay {
    position: relative; }
    .bg-image.overlay > .container {
      position: relative;
      z-index: 3; }
    .bg-image.overlay:before {
      z-index: 2;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      content: "";
      background: rgba(0, 0, 0, 0.6); }







/*
-----------------------------------------------
Accordions 
----------------------------------------------- */

.accordion .card + .card {
	margin-top:5px;
}

.accordion .card > header:first-child {
  padding: 0;
}
.accordion .card a.card-link {
	text-decoration: none !important;
	font-weight:bold;
	font-style:normal;
	padding: 1.25rem;
	float:left;
	width:100%;
}
.card-link:not(.collapsed) {
	color:var(--primary);
}
/* zugeklappt */
.card-link.collapsed:after{
	content:url("../images/icons/icon-plus-primary.svg");
    position:absolute;
	right:1.25rem;
}
/* aufgeklappt */
.card-link:not(.collapsed):after {
	content:url("../images/icons/icon-minus-primary.svg");
    position:absolute;
	right:1.25rem;
}
.card-body.accordion-body > div > header,
.card-body.accordion-body .ce-bodytext > header{
    display:none;
}



/*
-----------------------------------------------
Links 
----------------------------------------------- */

a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  text-decoration: none; 
  color:#343a40;
}
  a:hover {
    text-decoration: none; 
    color:var(--primary);
}

main a:not(.btn) {
    font-style:italic;
    /*text-decoration:underline;*/
}

.bg-primary a:not(.btn) {
    color:#ffffff;
}
.bg-primary a:not(.btn):hover {
    color:#343a40;
}
a.intern:before,
a.mehr:before {
	content:"\f105";
	display:inline-block;
	margin-right:7px;
	font-style:normal;
}

a.zurueck:before {
	content:"\f104";
	display:inline-block;
	margin-right:7px;
	font-style:normal;
}

a.download:before {
	content:"\f33d";
	display:inline-block;
	margin-right:7px;
	font-style:normal;
}

a.pdf:before, a[href*=".pdf"]:before{
	content:"\f1c1";
	display:inline-block;
	margin-right:7px;
	font-style:normal;
}

.frame-type-filelist_filelist a.video:before,
.frame-type-filelist_filelist a[href*=".mp4"]:before,
.frame-type-filelist_filelist a[href*=".mov"]:before {
	content:"\f144";
	display:inline-block;
	margin-right:3px;	
	font-style:normal;
}

/* Link Video */

a.video {
    font-style:normal !important;
    text-decoration:none !important;
    color:var(--primary);   
}
a.video:before {
	content:"\f167";
	display:inline-block;
	margin-right:7px;
    color:red;
}

.frame-type-filelist_filelist #filtertable a[href*=".jpg"]:before,
.frame-type-filelist_filelist #filtertable a[href*=".JPG"]:before,
.frame-type-filelist_filelist #filtertable a[href*=".jpeg"]:before,
.frame-type-filelist_filelist #filtertable a[href*=".JPEG"]:before,
.frame-type-filelist_filelist #filtertable a[href*=".png"]:before,
.frame-type-filelist_filelist #filtertable a[href*=".PNG"]:before{
	content:"\f1c5";
	display:inline-block;
	margin-right:7px;	
	font-style:normal;
}


.btn {
  padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    border-radius: 0px !important;
	font-size:0.85em !important; }

.btn-lg {
	font-size:1.15em !important;
	padding-top: 10px !important;
    padding-bottom: 10px !important;
}


.btn-outline:hover {
    background-color:var(--primary);
    color:white !important;
    border-color:var(--primary);
}





/* Button 3D-Rundgang */

.rundgang {
	background-image: url("../images/icons/logo-360-grad-tuerkis.svg");
	background-size: 45px 45px;
	background-repeat: no-repeat;
	text-transform: none;
	position: relative;
	padding-left: 55px;
	padding-bottom: 10px;
	background-position: 0px;
	padding-top: 10px;
	line-height:30px;
    /*font-style:normal !important;*/
    text-decoration:none !important;
    color:var(--primary);
}

.rundgang:hover {
	background-image: url("../images/icons/logo-360-grad-tuerkis.svg");
    color:var(--primary-dark);
}

/*

  .btn.btn-outline-white {
    border: 2px solid #fff; }
    .btn.btn-outline-white:hover {
      border: 1px solid transparent;
      background: #000;
      color: #fff; }
  .btn.btn-outline-white-primary {
    border: 1px solid #fff; }
    .btn.btn-outline-white-primary:hover {
      border: 1px solid transparent;
      background: var(--primary);
      color: #fff; }
  

.btn, .form-control {
  outline: none;
  -webkit-box-shadow: none !important;
  box-shadow: none !important; }
  .btn:focus, .btn:active, .form-control:focus, .form-control:active {
    outline: none; }

*/


footer .toolbar .nav-link {
	padding:0em !important;
}
footer a:hover {
    color:var(--primary) !important;
}

[type=button], [type=reset], [type=submit], button {
-webkit-appearance: none;
}



/*
-----------------------------------------------
Formular Angaben
----------------------------------------------- */


/* Abstände anpassen, da Formular nicht in Container platziert werden kann */
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
	padding-bottom:100px;
}
@media (min-width:0px) and (max-width:767px) {
main form,
form[id*="anfrage"],
form[id*="anmeldungHousewarming"],
form[id*="feedbackVillaBodensee"]{
	padding-right: 30px;
    padding-left: 30px;	
	}
}
.form-check-input {
  position: relative !important;
  margin-right:5px;
  margin-left: 0rem;
  margin-top:0em;
}
.form-check {
    padding-left:0em;
}
.form-check input {
    margin-right:8px;
}

.form-control {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  height: 33px;
  border-width: 1px; 
  border-radius:0px;
}
  .form-control:active, .form-control:focus {
    border-color: var(--primary); }

textarea.form-control {
  height: inherit; }


.form-control:not([id*="textarea"]):not([id*="select"]) {
	border-radius:0px !important;
	height:33px !important;
}
.form-control[id*="textarea"] {
	min-height:150px;
}

fieldset {
    border: 1px solid #ced4da;
    padding:20px;
}


/* Miniformular Startseite Wohnung anfragen */
form.unterkunft-anfragen {
    display:flex;
    flex-direction:row;
    width:100%;
    justify-content: space-between;
}

form.unterkunft-anfragen select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}
form.unterkunft-anfragen select::-ms-expand {
  display: none;
}
form.unterkunft-anfragen select {
  width: 100%;
  height: 40px;
  -moz-padding-start: calc(10px - 3px);
  padding-left: 10px;
  padding-right:30px;
  background: #ffffff;
  color: #999999;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.3);
  border-radius: 0px;
  outline: none;
    border:1px solid #d3d3d3;
}
form.unterkunft-anfragen select option {
  color: #666;
}
form.unterkunft-anfragen select:focus::-ms-value {
  background-color: transparent;
}
form.unterkunft-anfragen select {
  cursor: pointer;
}
.select-wrapper {
  position: relative;
}
.select-wrapper:before {
  font-family: 'Font Awesome 5 Pro';
  content: "\f107";
  font-size: 20px;
  position: absolute;
  right: 10px;
  top: 3px;
  color: #999999;
}
.select-wrapper::before {
  pointer-events: none;
}




fieldset + fieldset,
.form-group + fieldset {
    margin-top:2em;
}
@media (min-width:992px) {
form[id*="einkaufsliste"] .form-group .form-control {
    width:100%;
}
form[id*="einkaufsliste"] fieldset div.form-group {
	width:30%;
	float:left;
}

form[id*="einkaufsliste"] fieldset div.form-group {
	margin-right:2%;
}
}
::placeholder,
select:invalid{
  color: #d3d3d3 !important;
}

select option {
  color: black;
}





/*
-----------------------------------------------
Abstände
----------------------------------------------- */

.container-fluid .container-fluid,
.container .container {
    padding-left:0em;
    padding-right:0em;
}

main div[class*="col-"] > div + div,
main .content > .grid-container > .container-fluid > .container > .frame-type-gridelements_pi1 + .frame-type-gridelements_pi1,  
.row + .row {
	margin-top:30px;
}

.ce-gallery figure:last-child {
    margin: 0;
}

main .content > .grid-container > .container-fluid > .container > div:not([class*="frame-space-"]) + div:not([class*="frame-space-"]),
body.standard .banner-container > .grid-container > .container-fluid > .container > div:not([class*="frame-space-"]) + div:not([class*="frame-space-"]),
main .content > .frame-type-shortcut > .ce-body > .grid-container > .container-fluid > .container > div:not([class*="frame-space-"]) + div:not([class*="frame-space-"]){
	margin-top:50px;
}

main .content > .grid-container > .container-fluid > .container > div:first-child:not(.card) > header + .ce-body {
	margin-top:20px;
}

.no-padding-top {
	padding-top:0em !important;
}
.no-padding-bottom {
	padding-bottom:0em !important;
}
.toolbar-buchung [class*="col-"]:last-child div + div {
    margin-left:15px;
}

/* Phone */
@media (min-width:0px) and (max-width:767px) {
    main .col-md-4:not([class*="col-6"]):not([class*="col-sm-"]):not([class*="xs-"]):not(:first-child),
	main .col-lg-8:not([class*="sm-"]),
	main .content > .grid-container > .container-fluid > .container > div:not([class*="frame-space-"]) + div:not([class*="frame-space-"]),
	.col-lg-6:not([class*="md-"]):not(:first-child),
	main .row > .col-md-6,
	main .row > .col-lg-6,
    main .col-lg-8 + .col-lg-4{
        margin-top:30px;        
}
}

/* Tablet */
@media (min-width:768px) and (max-width:991px) {
    main .col-lg-6:not([class*="md-"]):not(:first-child),
	main .col-md-12 ,
	main .content > .grid-container > .container-fluid > .container > div:not([class*="frame-space-"]) + div:not([class*="frame-space-"]),
    main .col-lg-8 + .col-lg-4,
	main .col-lg-3.col-md-6:nth-child(3),
	main .col-lg-3.col-md-6:nth-child(4)	{
        margin-top:30px;
    }
    }




/* Schriften und Abstände */
@media (min-width:0px) {
    /* Wenn Fließtext auf Subhead folt */
    h2.ce-headline-center + .ce-body:not(:empty) {
        margin-top:30px;
    } 
	/* Wenn kein Fließtext auf Subhead folt */
	h2.ce-headline-center + .ce-body:empty {
        margin-bottom:0px;
    } 
}
@media (min-width:768px) {
    /* Wenn Fließtext auf Subhead folt */
    h2.ce-headline-center + .ce-body:not(:empty) {
        margin-top:50px;
    }  
	/* Wenn kein Fließtext auf Subhead folt */
	h2.ce-headline-center + .ce-body:empty {
        margin-bottom:50px;
    } 
}
@media (min-width:992px) {
    /* Wenn Fließtext auf Subhead folt */
    h2.ce-headline-center + .ce-body:not(:empty) {
        margin-top:50px;
    }       
    /* Wenn kein Fließtext auf Subhead folt */
	h2.ce-headline-center + .ce-body:empty {
        margin-bottom:50px;
    } 
}
@media (min-width:1200px) {
    /* Wenn Fließtext auf Subhead folt */
    h2.ce-headline-center + .ce-body:not(:empty) {
        margin-top:50px;
    }   
    /* Wenn kein Fließtext auf Subhead folt */
	h2.ce-headline-center + .ce-body:empty {
        margin-bottom:50px;
    } 
}

/* Juni 2024 */
.card .ce-body div:last-child {
    margin-bottom:0em !important;
}


/*
-----------------------------------------------
Scroll to Top
----------------------------------------------- */

.scrollToTop {
  height: 45px;
  width: 45px;
  background-color: rgba(0,0,0,.25);
  color: #fff;
  cursor: pointer;
  opacity: 1;
  position: fixed;
  display: none;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
  z-index: 5;
  border-radius: 50%;
}
@media (min-width:0px) {
.scrollToTop {
  bottom: 75px;
  right: 10px;
}	
}
@media (min-width:768px) {
.scrollToTop {
  bottom: 120px;
  right: 25px;
}
}

.scrollToTop .icon:before {
  content: url('../images/icons/pfeil-up-weiss.svg');
  display: block;
	height:27px;
}

.scrollToTop .icon {
  width: 100%;
  height: 100%;
  display: flex !important;
  justify-content: center;
  align-items: center;
}


/*
-----------------------------------------------
Bilder
----------------------------------------------- */

figcaption {
    margin-top:10px;
	font-size:85%;
	line-height:1.15em;
}

main img[src*=".jpg"],
main img[src*=".jpeg"],
main img[src*=".png"],
/*main img[src*=".svg"],*/
footer img[src*=".jpg"],
footer img[src*=".jpeg"],
footer img[src*=".png"]/*,
footer img[src*=".svg"]*/ {
	width: 100%;
	height: auto;
	max-width: 100%;
}
/*
main img[src*=".svg"] {
	width:auto;
	max-width:none;
}
*/

main .w-100 img {
	max-width:100%;
	height:auto;
}

main .imglayout-27 img[src*=".svg"] {
	width: 100%;
	height: auto;
	max-width: 100%;
}

.ce-border img, .ce-border iframe {
  border: 1px solid #d3d3d3 !important;
}



/*
-----------------------------------------------
Slider Main Container
----------------------------------------------- */

main .carousel-control-prev {
    left: 10px;
}

main .carousel-control-next {
    right: 10px;
}

main .carousel-inner {
	width:100%;
	margin: 0 auto;
}
main .carousel-indicators li {
    width: 10px;
	height: 10px;
	display: inline-block;
	border-top:0px !important;
	border-bottom:0px !important;
	margin-right: 5px;
	margin-left: 5px;
}


/*
-----------------------------------------------
Slider Banner Container
----------------------------------------------- */

@media (min-width:0px) {
.banner-container .carousel-control-prev {
    left: 10px;
}
.banner-container .carousel-control-next {
    right: 10px;
}
.banner-container .carousel-control-next, 
.banner-container .carousel-control-prev {		
	width: 20px;
	align-items: flex-end !important;
	padding-bottom:120px !important;
}
}

@media (min-width:768px) {
.banner-container .carousel-control-prev {
    left: 50px;
}
.banner-container .carousel-control-next {
    right: 50px;
}
.banner-container .carousel-control-next, 
.banner-container .carousel-control-prev {		
	width: 20px;
	align-items: center !important;
	padding-bottom:auto !important;
}
}
.banner-container .carousel-indicators li {
    width: 20px;
	height: 20px;
	margin-right: 10px;
	margin-left: 10px;
}


/*
-----------------------------------------------
Slider Allgemeine Angaben
----------------------------------------------- */
.carousel-indicators,
.carousel-control-next,
.carousel-control-prev {
    z-index:777;
}
.carousel-indicators li:hover {
    opacity:1;
}
.carousel-indicators li {
    border-radius: 100%;
    display: inline-block;
	border-top:0px !important;
	border-bottom:0px !important;
}
.carousel-indicators .active,
.carousel-indicators li:hover{
    background: var(--primary);
}
.carousel-control-prev-icon{
    background-image: url("../images/icons/slider-prev-light.svg");
}
.carousel-control-next-icon {
    background-image: url("../images/icons/slider-next-light.svg");
}
@media (min-width:0px) {
.carousel-control-next-icon, 
.carousel-control-prev-icon {
    display: inline-block;
    width: 15px;
    height: 40px;
}
.carousel-control-next, 
.carousel-control-prev {
	width:15px;
}
}
@media (min-width:768px) {
.carousel-control-next-icon, 
.carousel-control-prev-icon {
    display: inline-block;
    width: 30px;
    height: 80px;
}
.carousel-control-next, 
.carousel-control-prev {
	width:30px;
}
}



/*
----------------------------------------------------
Slider Style-2 / Pfeile und Punkte unter dem Slider
---------------------------------------------------- */

main .carousel-container.style-2 .carousel-inner {
	padding-bottom:50px !important;
}

main .carousel-container.style-2 .carousel-control-next, 
main .carousel-container.style-2 .carousel-control-prev {
	height:50px !important;
	top:auto !important;
}
main .carousel-container.style-2 .carousel-control-prev-icon {
	background-size:50% !important;
}
main .carousel-container.style-2 .carousel-indicators {
  margin-bottom:0em;
	height:50px !important;
	align-items:flex-end !important;
}
main .carousel-container.style-2 .carousel-control-next-icon, 
main .carousel-container.style-2 .carousel-control-prev-icon {
  height: 50px !important;
}
main .carousel-container.style-2 .carousel-control-prev-icon {
  background-image: url("../images/icons/slider-prev-dark.svg");
}

main .carousel-container.style-2 .carousel-indicators li:not(.active),
main .carousel-container.style-2 .carousel-indicators li:hover{
	background: #999999 !important;
}


/*
-----------------------------------------------
Slider History
----------------------------------------------- */

/* Slider wird im Moment nicht verwendet */
.history .carousel-container {
	margin-top:100px;
}

.history .carousel-container .slide {
	padding-top:50px;
}

.history .carousel-container .carousel-indicators {
	bottom:auto;
	margin-left:0em;
	margin-right:0em;
}

.history .carousel-container .slide:before {
	display:block;
	top:10px;
	position:absolute;
	content:"";
	width:100%;
	height:1px;
background: #ffffff;
background: -moz-linear-gradient(left,  #ffffff 0%, #343a40 15%, #343a40 85%, #ffffff 100%); 
background: -webkit-linear-gradient(left,  #ffffff 0%,#343a40 15%,#343a40 85%,#ffffff 100%); 
background: linear-gradient(to right,  #ffffff 0%,#343a40 15%,#343a40 85%,#ffffff 100%); 
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=1 ); 
}

.history .carousel-indicators li {
    width: auto;
    height: auto;
    border-radius: 0%;
	opacity: 1;
	margin-right: auto;
	margin-left: auto;
	text-indent: 0px;
	text-align:center;
	display: flex;
	flex-direction: column;
	flex-flow: column-reverse;
}
.history .carousel-indicators li,
.history .carousel-indicators li.active {
    background: transparent;	
}

.history .carousel-indicators li:before {
	content:"";
	display:block;
    width: 20px;
    height: 20px;
    border-radius: 100%;
	opacity: 1;
	margin-right: auto;
	margin-left: auto;
	text-indent: 0px;
	text-align:center;	
	margin-top:10px;
}

.history .carousel-indicators li:not(.active):before {
    background: #343a40;
}

.history .carousel-inner {
	margin-top:20px;
}
.history .carousel-inner,
.history .carousel-indicators{
	padding-left:80px;
	padding-right:80px;
}
/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 0px) and (max-width:767px) { 
/* Phone h4 bei Indikators ausblenden */
.history .carousel-indicators h4 {
	display:none;
}
.history .carousel-container .carousel-indicators {
	top:-10px;
}
.history .carousel-indicators li {
	min-width:auto;
}
.history .content-item .frame {
	display:flex;
	flex-direction: column;
	}
	.history .content-item .frame header{
		order: 2;
	}
	.history .content-item .frame h4{
		order: 1;
	}
	.history .content-item .frame .ce-body {
		order:3;
	}
}
/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 768px)  { 
/* Desktop h4 im Slider-Item ausblenden */
.history .carousel-item h4 {
	display:none;
}
.history .carousel-container .carousel-indicators {
	top:-50px;
	}
.history .carousel-indicators li {
	min-width:80px;
}
}













/*
==========================================================
======== lightbox-wrapper ========================================
==========================================================
*/

.lightbox-wrapper,
.lightbox-wrapper .container-fluid,
.lightbox-wrapper .container-fluid .container,
.lightbox-wrapper .lightbox-content{
    min-height:100%;
}
.lightbox-wrapper {
    margin: 0px auto;
    background-color:#d3d3d3;
    padding:25px 0px;
}
.lightbox-wrapper .lightbox-content {
    background-color:#ffffff;
}
.lightbox-wrapper .lightbox-content .content {
    padding-top:25px;
}
.lightbox-wrapper .container-fluid .container-fluid.card {
  padding:18px !important;
}

.lightbox .container-fluid:last-child {
	border-bottom:0px solid #ffffff;
}

.lightbox-content header,
.lightbox-content main {
	width:100%;
	/*overflow:hidden;*/
}

.lightbox-wrapper .site-header {
  position: relative;
  padding: 20px 20px;
}
.lightbox-wrapper main {
  padding: 0px 20px;    
}

.lightbox-wrapper .button + .button {
	margin-left: 15px;
}	
.lightbox-wrapper .button {
  width: 60px;
  height: 60px;
}


#calSection {
  max-width: 100% !important;
  min-width: 280px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #333333;
  border: 1px solid #ddd;
  margin: 15px auto 15px 0px !important;
  padding: 20px;
  border-radius: 0px !important;
  background-color: #ffffff;
}








/* Flex Angaben */

main div[class*="col-"].d-flex.align-items-center > div{
    display:flex;
    align-items: center;
}

.h-100 > .container-fluid,
.h-100 > .container-fluid > .container {
    height:100%;
}
.h-100 > .container-fluid > .container {
    position:relative;
}
.valign-bottom {
  padding-top:25px;
}
.valign-bottom > div {
  position: absolute;
  width: 100%;
  bottom: 0;
}



/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

FLEX LAYOUT

-------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */


main div[class*="col-"].d-flex,
main div[class*="col-"].d-flex[class*="justify-"] > div,
main div[class*="col-"].d-flex[class*="align-"] > div,
main div[class*="col-"].d-flex[class*="ms-flex-"] > div{
	display: -ms-flexbox;
	display: flex;
	flex-direction:column;
}

main div[class*="col-"].d-flex[class*="justify-"] > div:last-child,
main div[class*="col-"].d-flex[class*="align-"] > div:last-child,
main div[class*="col-"].d-flex[class*="ms-flex-"] > div:last-child {
	flex-direction:row;	
	flex-wrap:wrap;
	height:100%;
}
main div[class*="col-"].d-flex[class*="justify-"] > .frame-type-image:last-child,
main div[class*="col-"].d-flex[class*="align-"] > .frame-type-image:last-child,
main div[class*="col-"].d-flex[class*="ms-flex-"] > .frame-type-image:last-child{
	flex-direction:column;	
	flex-wrap:wrap;
}
/*
main div[class*="col-"].d-flex {
	align-content: flex-start;
}
*/
main div[class*="col-"].d-flex:not([class*="justify-"]):not([class*="align-"]) > div:only-child:not(.flip-container),
main div[class*="col-"].d-flex .frame-type-list,
main div[class*="col-"].d-flex .frame-type-list .ce-body,
main div[class*="col-"].d-flex .frame-type-list .ce-body .tx-ttaddress,
main div[class*="col-"].d-flex .frame-type-list .ce-body .tx-ttaddress .tt_address_list,
main div[class*="col-"].d-flex .frame-type-list .ce-body .tx-ttaddress .tt_address_list .row,
main div[class*="col-"].d-flex > .frame-type-html > .ce-body,
main div[class*="col-"].d-flex > .frame-type-html > .ce-body > .card,
main div[class*="col-"].d-flex > .frame-type-shortcut > .ce-body,
main div[class*="col-"].d-flex > .frame-type-shortcut > .ce-body > .card,
main div[class*="col-"].d-flex  > .news-list-item.veranstaltung .card .ce-body,
main div[class*="col-"].d-flex  > .frame-type-menu_sitemap_pages > .ce-body,
main div[class*="col-"].d-flex  > .frame-type-menu_sitemap_pages > .ce-body > .teasermenu2level
{ 
	height:100%;
}



main div[class*="col-"].d-flex.align-items-start > div,
main div[class*="col-"].d-flex.align-items-start > .frame-type-image .ce-body,
main .content-item[class*="layout-"].align-items-start > .row > div[class*="col-"] > div {
  -ms-flex-align: flex-start !important;
  align-items: flex-start !important;
}
main div[class*="col-"].d-flex.align-items-center > div,
main div[class*="col-"].d-flex.align-items-center > .frame-type-image .ce-body,
main .content-item[class*="layout-"].align-content-center > .row > div[class*="col-"] > div {
  -ms-flex-align: center !important;
  align-items: center !important;
}
main div[class*="col-"].d-flex.align-items-end > div,
main div[class*="col-"].d-flex.align-items-end > .frame-type-image .ce-body,
main .content-item[class*="layout-"].align-items-end > .row > div[class*="col-"] > div {
  -ms-flex-align: flex-end !important;
  align-items: flex-end !important;
}


main div[class*="col-"].d-flex.align-content-start > div,
main div[class*="col-"].d-flex.align-content-start > .frame-type-image .ce-body,
main .content-item[class*="layout-"].align-content-start > .row > div[class*="col-"] > div {
  -ms-flex-line-pack: flex-start !important;
  align-content: flex-start !important;
}
main div[class*="col-"].d-flex.align-content-center > div,
main div[class*="col-"].d-flex.align-content-center > .frame-type-image .ce-body,
main .content-item[class*="layout-"].align-content-center > .row > div[class*="col-"] > div {
  -ms-flex-line-pack: center !important;
  align-content: center !important;
}
main div[class*="col-"].d-flex.align-content-end > div,
main div[class*="col-"].d-flex.align-content-end > .frame-type-image .ce-body,
main .content-item[class*="layout-"].align-content-end > .row > div[class*="col-"] > div {
  -ms-flex-line-pack: flex-end !important;
  align-content: flex-end !important;
}



main div[class*="col-"].d-flex.justify-items-start > div,
main div[class*="col-"].d-flex.justify-items-start > .frame-type-image .ce-body,
main .content-item[class*="layout-"].justify-items-start > .row > div[class*="col-"] > div {
  -ms-flex-justify: flex-start !important;
  justify-items: flex-start !important;
}
main div[class*="col-"].d-flex.justify-items-center > div,
main div[class*="col-"].d-flex.justify-items-center > .frame-type-image .ce-body,
main .content-item[class*="layout-"].justify-items-cente > .row > div[class*="col-"] > div{
  -ms-flex-justify: center !important;
  justify-items: center !important;
}
main div[class*="col-"].d-flex.justify-items-end > div,
main div[class*="col-"].d-flex.justify-items-end > .frame-type-image .ce-body,
main .content-item[class*="layout-"].justify-items-end > .row > div[class*="col-"] > div {
  -ms-flex-justify: flex-end !important;
  justify-items: flex-end !important;
}


main div[class*="col-"].d-flex.justify-content-start > div,
main div[class*="col-"].d-flex.justify-content-start > .frame-type-image .ce-body,
main .content-item[class*="layout-"].justify-content-start > .row > div[class*="col-"] > div {
	-ms-flex-pack: flex-start !important;
    justify-content: flex-start !important;
}
main div[class*="col-"].d-flex.justify-content-center > div,
main div[class*="col-"].d-flex.justify-content-center > .frame-type-image .ce-body,
main .content-item[class*="layout-"].justify-content-center > .row > div[class*="col-"] > div,
main .card.align-text-center {
	-ms-flex-pack: center !important;
	justify-content: center !important;
}
main div[class*="col-"].d-flex.justify-content-end > div,
main div[class*="col-"].d-flex.justify-content-end > .frame-type-image .ce-body,
main .content-item[class*="layout-"].justify-content-end > .row > div[class*="col-"] > div {
	-ms-flex-pack: flex-end !important;
    justify-content: flex-end !important
}



/* Wenn etwas rechtsbündig angeordnet ist wird es bei 100% Breite linksbündig */
@media (min-width: 0px) and (max-width: 991px) {
main div[class*="col-md-12"].d-flex.justify-content-end > div, 
main div[class*="col-md-12"].d-flex.justify-content-end > .frame-type-image .ce-body,
main div.col-lg-4.d-flex.justify-content-end > div {
  -ms-flex-pack: flex-start !important;
  justify-content: flex-start !important;
}
}






/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

SEE GUIDE

-------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */

.frame-type-menu_categorized_content {
	text-align:center;
}
.filterbutton {
	margin-bottom:15px;
}
.filterbutton.active {
	background-color:var(--primary);
	border-color:var(--primary); 
}
.tipps {
	display: flex;
    flex-wrap: wrap;
}
.tipps > .container-fluid {
   padding-left: 0 !important;
   padding-right: 0 !important;
   margin-left: -15px !important;
   margin-right: -15px !important;
   width:calc(100% + 30px) !important;;
	margin:0 auto;
	max-width:none !important;
}
@media (min-width: 0px) {
  .tipps .card  {
	position: relative;
    width: 100%;
    margin-bottom:30px;
	margin-left: 15px;
    margin-right: 15px;
	flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 768px) {
  .tipps .card  {
	position: relative;
    width: 100%;
    margin-bottom:30px;
	margin-left: 15px;
    margin-right: 15px;
	flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 992px) {
  .tipps .card  {
	position: relative;
    width: 100%;
    margin-bottom:30px;
	margin-left: 15px;
    margin-right: 15px;
	flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}





/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

DATENSCHUTZ COOKIE TOOL

-------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------- */

.consent-setting-btn {
	color:var(--white) !important;
}
#usercentrics-button .privacy-chip-wrapper {
  background-color: var(--primary) !important;
	color:var(--white) !important;
  border-radius: 0px !important;
}
.usercentrics-button .privacy-chip-wrapper {
  font-size: 12px !important;
  opacity: .9;
  padding: 5px !important;
  width: 185px !important;
}

.usercentrics-button.layout-1 .uc-banner-content .btn-list .uc-btn.uc-btn-primary {
  background-color: var(--primary) !important;
  color: #ffffff;
}
.usercentrics-button .uc-banner {
  background-color: rgba(0,0,0,0.25) !important;
}
.usercentrics-button .uc-btn:not([class*="primary"]) {
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: all 0.4s !important;
	background-color:#f8f8f8 !important;
}





/* ------------------------
Spalten ausblenden
------------------------ */

@media (min-width:0px) and (max-width:575px) {
	.d-flex.d-none.d-sm-block,
	.d-flex.d-none.d-md-block,
	.d-flex.d-none.d-lg-block,
	.d-flex.d-none.d-xl-block,
	.d-flex.d-none.d-xxl-block{
		display:none !important;
	}
}
@media (min-width:576px) and (max-width:767px) {
	.d-flex.d-none.d-md-block,
	.d-flex.d-none.d-lg-block,
	.d-flex.d-none.d-xl-block,
	.d-flex.d-none.d-xxl-block{
		display:none !important;
	}
	.d-flex.d-none.d-sm-block {
		display:flex !important;		
	}
}
@media (min-width:768px) and (max-width:991px) {
	.d-flex.d-none.d-lg-block,
	.d-flex.d-none.d-xl-block,
	.d-flex.d-none.d-xxl-block{
		display:none !important;
	}
	.d-flex.d-none.d-sm-block,
	.d-flex.d-none.d-md-block{
		display:flex !important;
	}
}
@media (min-width:992px) and (max-width:1199px) {
	.d-flex.d-none.d-xl-block,
	.d-flex.d-none.d-xxl-block{
		display:none !important;
	}
	.d-flex.d-none.d-sm-block,
	.d-flex.d-none.d-md-block,
	.d-flex.d-none.d-lg-block {
		display:flex !important;
	}
}
@media (min-width:1200px){
	.d-flex.d-none.d-xxl-block {
		display:none !important;
	}
	.d-flex.d-none.d-sm-block,
	.d-flex.d-none.d-md-block,
	.d-flex.d-none.d-lg-block,
	.d-flex.d-none.d-xl-block {
		display:flex !important;		
	}
}




/* ------------------------
Videos
------------------------ */


/* IFrame-Video-Youtube einbetten Responsive */
.video-container,
.video-container iframe,
.video-container object,
.video-container embed {
    width:100%;
}
.youtube-video {
  aspect-ratio: 16 / 9;
  width: 100%;
}




/* -----------------------------
Filelist - Gebrauchsanweisungen
----------------------------- */

.frame-type-filelist_filelist .table thead th {
  border-bottom: 1px solid #dee2e6;
}

.frame-type-filelist_filelist a {
	text-decoration:none !important;
	font-weight:bold;
	font-style:normal !important;
}
.frame-type-filelist_filelist a:hover {
	color:var(--primary);
}
.frame-type-filelist_filelist .table td:first-child,
.frame-type-filelist_filelist .table th:first-child {
  padding: .75rem .75rem .75rem 0em;
}
.frame-type-filelist_filelist .table td:last-child,
.frame-type-filelist_filelist .table th:last-child {
  padding: .75rem 0rem .75rem .75rem;
}
.frame-type-filelist_filelist .table th:only-child {
  padding: .75rem 0rem .75rem 0rem;
}
/* Letzte Spalte Datum */
.frame-type-filelist_filelist .table td:last-child {
	min-width:150px;
}
/* Zweite Spalte Größe */
.frame-type-filelist_filelist .table td:nth-child(2) {
	min-width:80px;
}
form.filterung label.suche {
	margin-bottom:0em;
	font-weight:bold;
}
form.filterung input {
	margin-left:15px;
	padding-left:10px;
	border:1px solid #d3d3d3;
	min-width:550px;
}
@media (min-width:0px) and (max-width:767px) {
form.filterung input {
	margin-left:0px;
	margin-top:5px;
	width:100%;
}
}
form.filterung {
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
	align-items:center;
	margin-bottom:30px;
	padding:20px;
	background-color:var(--light);
}
@media (min-width:0px) and (max-width:767px) {
form.filterung {
	flex-direction:column;
	justify-content:flex-start;
	align-items:flex-start;	}
}
.table td, .table th {
  border-top: 1px solid #f0f0f0;
}



/* -----------------------------
Filelist - Bilderthumbnails
----------------------------- */

.frame-type-filelist_filelist .tx-filelist div[class*="col-"] {
    margin-bottom:30px;
}




@media (min-width:0px) and (max-width:767px) {
	div[class*="col-"] .text-right {
		text-align:left !important;
	}
}





/* -----------------------------
Cards Teaser - Buttons unten
----------------------------- */


p.element-bottom {
  height: 100%;
  width: 100%;
  position: relative;
  margin-top: 15px;
  display: flex;
  align-items: end;
}

.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-body,
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-bodytext,
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .imglayout-27,
.card > .ce-body,
.card > .ce-body .ce-textpic,
.card > .ce-body .ce-textpic .ce-bodytext{
    display:flex;
    flex-direction:column;
}
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-body,
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-bodytext,
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .imglayout-27,
.card > .ce-body,
.card > .ce-body .ce-textpic,
.card > .ce-body .ce-textpic .ce-bodytext{
    height:100%;
}
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-textpic, 
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-image, 
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-nowrap .ce-bodytext, 
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-gallery, 
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-row, 
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-uploads li, 
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) .ce-uploads div,
.imglayout-27 .ce-gallery{
    overflow:visible;
}
.menu-item-abstract.card:not([class*="justify"]):not([class*="align"]) h3 {
	hyphens:auto;
}





/* NEUTRALE SEITE OHNE LOGOS UND FOOTER */

.standard.neutral > header,
.standard.neutral > footer,
.standard.neutral > .toolbar-buchung {
	display:none !important;
}

@media (min-width: 922px) {
.standard.neutral  .banner-container, 
.standard.neutral header + main {
    padding-top: 100px;
  }
}

