@charset "utf-8";

@font-face {
  font-family: 'CalibriLight';
  src: url('fonts/Calibri_Light.woff') format('woff');
}
@font-face {
  font-family: 'CalibriRegular';
  src: url('fonts/Calibri.woff') format('woff');
}
@font-face {
  font-family: 'CalibriBold';
  src: url('fonts/Calibri_Bold.woff') format('woff');
}

html {  }
body { overflow-x: hidden; font-weight: 400; font-size: 20px; /*font-size: 24px;*/ line-height: 1.58em; background: #ffffff; color: #000000; font-family: 'CalibriLight'; }
body.ov_hidden { overflow: hidden; }
@media only screen and (max-width: 1760px) {
	body { font-size: 20px; /*font-size: 23px;*/ }
}
@media only screen and (max-width: 1600px) {
	body { font-size: 20px; /*font-size: 22px;*/ }
}
@media only screen and (max-width: 1440px) {
	body { font-size: 20px; /*font-size: 21px;*/ }
}
@media only screen and (max-width: 1280px) {
	body { font-size: 20px; }
}
@media only screen and (max-width: 1120px) {
	body { font-size: 19px; }
}
@media only screen and (max-width: 1024px) {
	body { font-size: 18px; }
}

@media (prefers-color-scheme: dark) {
	body { background: #444444; color: #ffffff; }
}

header { z-index: 10; width: 100%; padding: 0 0 0 0; position: relative; position: fixed; left: 0; top: 0; right: 0; transition: 200ms; }
header .width_basic { z-index: 10; }
header.bg { background: #ffffff; }
main { z-index: 1; position: relative; padding: 70px 0; overflow: hidden; }
footer { } 
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 1020px) {
}
@media only screen and (max-width: 767px) {
	header .width_basic { background-image: none!important; }
}
@media (prefers-color-scheme: dark) {
	header.bg { background: #444444; }
}

h1 { /*margin: 4em 0 0 0;*/ margin: 0 0 1em 0; font-size: 2.91em; line-height: 1.2em; font-family: 'CalibriBold'; font-style: normal; font-weight: normal; text-align:center; }
h2 { margin: 0 0 0.5em 0; font-size: 1.5em; /*font-size: 1.25em;*/ line-height: 1.2em; font-family: 'CalibriBold'; font-style: normal; font-weight: normal; }
h3 { margin: 0 0 10px 0; font-size: 1.5em; line-height: 1.2em; font-weight: normal; font-style: normal; }
h4 { }
h5 { }
h6 { }
@media only screen and (max-width: 767px) {
	h1 { font-size: 1.8em; }
	h2 { font-size: 1.25em; }
}

.font_size_20 { font-size: 0.83em; line-height: 1.2em; }
.font_size_28 { font-size: 1.16em; line-height: 1.5em; }
.font_size_30 { font-size: 1.25em; line-height: 1.2em; }

a { text-decoration: underline; color: #000000; }
a:hover { color: #000000; text-decoration: none; }
p { margin-bottom: 1.58em; }
div { position: relative; }
img { -webkit-backface-visibility: hidden; -webkit-transform: translateZ(0); backface-visibility: hidden; transform: translateZ(0); }
@media (prefers-color-scheme: dark) {
	a { color: #ffffff; }
	a:hover { color: #ffffff; }
}

blockquote { font-size: 1.66em; line-height: 1.2em; font-family: 'CalibriBold'; padding: 0 0 1.5em 1.75em; margin: 0; }

@media only screen and (max-width: 767px) {
	blockquote { font-size: 1.00em; padding: 0 0 1.5em 1.00em;}
}
cite { display: block; margin: 0 0 1.5em; }
.blockquote-footer { text-align: right; color: #000000; font-size: 0.77em; }
.blockquote-footer:before { display: none; }

ul { margin-bottom: 1.58em; padding-left: 1.2em; }
ul li { }

ol { margin-bottom: 1.58em; }
ol li {}

dl {display: grid; grid-template-columns: max-content auto;}
dt {grid-column-start: 1; width: 12em;font-weight: normal; padding: 0.5em 0;}
dd {grid-column-start: 2; padding: 0.5em 0;}

@media only screen and (max-width: 767px) {
	dt {width: 6em;}
}

.eventheader dt {font-weight:bold; padding: 0;}
.eventheader dd {padding: 0;}


b, strong { font-family: 'CalibriBold'; font-style: normal; font-weight: normal; }

dl.row { margin-right: 0; margin-left: 0; }
dd { margin-bottom: 0; }

.accordion, figure, .blockquote, .btn { margin-bottom: 1em; }

table { font-size: 0.8em; width: 100%; }
table td, table th { padding: .75rem 0; vertical-align: top; border-bottom: 1px solid #000000; }

.text-primary { color: #B98202!important; }
.text-secondary { color: #0069b4!important; }

/* Button bootstrap classes */
.btn { text-decoration: none; padding: 0.75em 1.4em; border-radius: 0; font-size: 1em; }
.btn.btn-lg { font-size: 1.33em; }

.btn-primary { background-color: #D3DCE2; border-color: #D3DCE2; color: #000000; }
.btn-primary:hover { background-color: #e9eef1; border-color: #e9eef1; color:#000000; }

.btn-primary.focus, .btn-primary:focus { box-shadow: none; color:#000000;  }
.btn-primary.active, .btn-primary:active { box-shadow: none!important; background-color: #D3DCE2!important; border-color: #D3DCE2!important; color:#000000; }

.btn-secondary { background-color: #D3DCE2; border-color: #D3DCE2; color: #000000; }
.btn-secondary:hover { background-color: #e9eef1; border-color: #e9eef1; color:#000; }

.btn-secondary.focus, .btn-secondary:focus { box-shadow: none; color:#000000;  }
.btn-secondary.active, .btn-secondary:active { box-shadow: none!important; background-color: #D3DCE2!important; border-color: #D3DCE2!important; color:#000000; }

.btn-light { background:#FFFFFF; /*background-color: #ECECEC;*/ border-color:#FFFFFF; /*border-color: #ECECEC;*/ color: #000000; }


.btn:active { background:#D3DCE2;  border-color:#D3DCE2;  color: #000000!important;}


.alert-success {}
.alert-danger {}

.form-control { font-size: 1em; background: #ECECEC; border-radius: 0; border: none; }
.card .form-control {background:#FFFFFF;}

textarea.form-control {  }

/* Custom */
.overlay { position: absolute; left: 0; top: 0; right: 0; bottom: 0; }

.width_basic { max-width: 1920px; padding: 0 4.16em; }
.width_1280 { max-width: 1280px; padding: 0 4.16em; }
.content { max-width: 700px; }
.height_310 { height: 310px; }
.height_600 { height: 600px; }
.flexslider_height { height: 48.5em; padding-top: 5.66em; }
@media only screen and (max-width: 1920px) {
	.height_310 { height: 16.5vw; }
}
@media only screen and (max-width: 1200px) {
	.height_310 { height: 28vw; }
}
@media only screen and (max-width: 767px) {
	.height_310 { height: 56vw;} .flexslider_height { height: 30em; /*height: 42.5em;*/ }
	.text .width_basic {padding: 0 20px; }
}
@media only screen and (max-width: 1280px) {
	.width_basic { padding: 0 40px; }
	.width_1280 { padding: 0 40px; }
}

.cover { background-position:top !important; /*background-position: center!important;*/ background-repeat: no-repeat!important; background-size: cover!important; }
.cover.left { background-position: center left!important; }

@media only screen and (max-width: 1400px) {
	.startheader .cover { background-position:top left !important;}
}


.startheader { padding: 8.3em 0; z-index: 1; }
.startheader .bild { position: absolute; left: 0; right: 0; top: 0; bottom: 0; }
.startheader .text { font-size:24px;}

@media only screen and (max-width: 1400px) {
	.startheader { padding: 0; }
	.startheader .bild { position: relative; left: auto; right: auto; top: auto; bottom: auto; height: 100vw /*60vw*/; }
	.startheader .text .row { padding: 1.58em 4.16em 3em 4.16em; background: #FBFBFB; box-shadow: 3px 3px 10px rgb(0 0 0 / 12%); margin: -50px 0 0 0; /*margin: -100px 0 0 0;*/ }
	.startheader .text .row .col-12 { padding: 0; }
}
@media only screen and (max-width: 1280px) {
	.startheader .text .row { padding: 1.58em 20px 3em 20px;  /*padding: 1.58em 40px 3em 40px;*/ }
}

@media (prefers-color-scheme: dark) {
	.startheader .text { color: #000000; }
}
@media (prefers-color-scheme: dark) and (max-width: 1400px) {
	.startheader .text .row { background: #4B4B4B; }
	.startheader .text { color: #ffffff; }
	.startheader .text {  }
	.btn-outline-dark { background-color: transparent; border-color: #ffffff; color: #ffffff; }
	.btn-outline-dark:hover { background-color: #ffffff; border-color: #ffffff; color: #000000; }
	
	.btn-outline-dark.focus, .btn-outline-dark:focus { box-shadow: none;  }
	.btn-outline-dark.active, .btn-outline-dark:active { box-shadow: none!important; background-color: #ffffff!important; border-color: #ffffff!important; color: #000000!important; }
}

@media only screen and (max-width: 767px) {
	.startheader .text { font-size:18px; line-height:1.2em;}
}

.logo { width: 8em; /*width: 9.16em;*/ padding: 0; float: left; margin: 1em 0; }
.logo img { transition: 300ms; }
.logo_weiss { position: absolute; left: 0; opacity: 0.0; }
.logo_schwarz { }
@media (prefers-color-scheme: dark) {
	.logo_weiss { opacity: 1.0; }
	.logo_schwarz { opacity: 0.0; }
}
@media only screen and (max-width: 767px) {
}

.leadtext { font-size:24px;}

.nav_container { width: 25em; position: fixed; top: 0; bottom: 0; right: -25em; background: #D3DCE2; transition: 300ms; overflow: auto; padding: 5.66em 4.16em; }
.nav_container.show { right: 0; }
@media (prefers-color-scheme: dark) {
	.nav_container { background: #686A6C; }
}
@media only screen and (max-width: 767px) {
	.nav_container { width: 100%; right: -100%; }
}

.mainnav { }
.mainnav ul.level0 { display: block; margin: 0 0 3.33em 0; padding: 0; text-align: right; }
.mainnav ul.level0 li { list-style: none; margin: 0 0 0 0; position: relative; }
.mainnav ul.level0 li a { font-size: 1.66em; padding: 10px 0; display: block; text-decoration: none; }
.mainnav ul.level0 li a:hover { font-family: 'CalibriBold'; }
.mainnav ul.level0 li.active a { font-family: 'CalibriBold'; }
@media (prefers-color-scheme: dark) {
	.mainnav ul.level0 li a { color: #ffffff; }
}
@media only screen and (max-width: 767px) {
}

.mainnav ul.level0 li ul.level1 { left: 0; padding: 0; }
.mainnav ul.level0 li ul.level1 li { float: none; margin: 0 0 0 0; padding: 0; }
.mainnav ul.level0 li ul.level1 li a { font-size: 1.2em; padding: 0; font-family: 'CalibriLight'; }
.mainnav ul.level0 li ul.level1 a:hover { font-family: 'CalibriBold'; }
.mainnav ul.level0 li ul.level1 li.active a { font-family: 'CalibriBold'; }
@media only screen and (max-width: 767px) {
}

.metanavl {}
.metanav ul { padding: 0; text-align: right; }
.metanav ul li { list-style: none; }
.metanav ul li a { display: block; font-size: 1.25em; padding: 5px 0; line-height: 1.2em; text-decoration: none; }
.metanav ul li a:hover { font-family: 'CalibriBold'; }
.metanav ul li.active a { font-family: 'CalibriBold'; }

.contentnav {}
.contentnav ul { padding: 0; }
.contentnav ul li { list-style: none; }
.contentnav ul li a { display: block; text-decoration: none; }
.contentnav ul li a:hover { font-family: 'CalibriBold'; }
.contentnav ul li.active a { font-family: 'CalibriBold'; }

footer { background: #D3DCE2; padding: 50px 0 25px 0; font-size: 0.83em; line-height: 1.5em; }
footer a { text-decoration: none; }
.adresse_container { float: left; margin-right: 100px; }
.social_container { float: right; }
.copyright { float: left; }

@media (prefers-color-scheme: dark) {
	footer { background: #686a6c; }
}

.socialnav { text-align: right; }
.socialnav ul { padding: 0; display: inline-block; }
.socialnav ul li { float: left; list-style: none; margin-left: 20px; }
.socialnav ul li a { display: block; font-size: 1.8em; }

.footernav { float: right; }
.footernav ul { padding: 0; }
.footernav ul li { float: left; list-style: none; margin-left: 20px; }
.footernav ul li a { display: block; text-decoration: none; font-family: 'CalibriBold'; }

.menuicon { position: absolute; right: 4.16em; top: 2.2em; width: 30px; height: 25px; margin: -2px 0 0 0; transition: 0ms; cursor: pointer; z-index: 11; }
.menuicon .line { width: 30px; height: 3px; background: #000000; position: absolute; }
.menuicon .line:nth-of-type(1) { top: 0; }
.menuicon .line:nth-of-type(2) { top: 11px; }
.menuicon .line:nth-of-type(3) { top: 22px; }
.menuicon.active .line:nth-of-type(1) { top: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.menuicon.active .line:nth-of-type(2) { opacity: 0.0; visibility: hidden; }
.menuicon.active .line:nth-of-type(3) { top: 8px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (prefers-color-scheme: dark) {
	.menuicon .line { background: #ffffff; }
}
@media only screen and (max-width: 1280px) {
	.menuicon { right: 40px; }
}
@media only screen and (max-width: 767px) {
	.menuicon {  }
}

.flex-control-paging li a.flex-active { background: #a8c142; }

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

ul.square { list-style-type:square; }
ul.circle { list-style-type:circle; }
ul.square { list-style-type:square; }
ul.image { list-style-image: url('img/sqpurple.gif'); }

ol.decimal-leading-zero { list-style-type:decimal-leading-zero; }
ol.lower-alpha { list-style-type:lower-alpha; }
ol.upper-alpha { list-style-type:upper-alpha; }
ol.upper-roman { list-style-type:upper-roman; }

ul.linklist { list-style-type:none; }
ul li { position: relative; }
ul.linklist span { position: absolute; left: -20px; top: 2px; }

.custom_accordion_trigger { cursor: pointer; font-family: 'CalibriBold'; font-size: 1.25em; }
.custom_accordion_trigger_icon { position: absolute; right: 18px; top: 16px; -webkit-transform: rotate(90deg); transform: rotate(90deg); font-size: 1.2em; }
.collapsed .custom_accordion_trigger_icon { -webkit-transform: rotate(-0deg); transform: rotate(-0deg); }
.custom_accordion_trigger_icon .line { width: 20px; height: 1px; background: #ffffff; }
.custom_accordion_trigger_icon .line:nth-of-type(2) { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }

.accordion .card { overflow: inherit; margin-bottom: 20px; }
.accordion .card-header { background: transparent; }
.accordion .card-body { padding: 0 0 2rem 0; }

.accordion .card:first-child .card-header { border-radius: .25rem .25rem 0 0; }
.accordion .card:last-child .card-header { border-radius: 0 0 .25rem .25rem; }

.card { border-radius: 0; border: none; background:#e9eef1; /*background: #FBFBFB;*/ box-shadow: 3px 3px 10px rgba(0,0,0,0.12); }
.card .card-body { padding: 1.58em 4.16em 0;}
.card .card-footer { border-top: none; background: transparent; border-radius: 0; padding: 0; }
.card .bottom_title { position: absolute; left: 0; bottom: 0; right: 5.41em; background: #ffffff; padding: 10px 30px; }
.card .bottom_title h2 { margin: 0 0 0.15em 0; }
.card .bottom_title p { margin: 0 0 0.2em 0; }
.card a { display: block; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.0); transition: 300ms; }
.card a:hover { display: block; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,0.25); }

@media only screen and (max-width: 1350px) {
.card .bottom_title {right: 3.00em;}
}

@media only screen and (max-width: 767px) {
.card .bottom_title {right: 0em;}
}

@media (prefers-color-scheme: dark) {
	.card { background:#5c5d5f; /*background: #4B4B4B;*/ }
	.card .bottom_title { background: #2A2A2A; }
}
@media only screen and (max-width: 1280px) {
	.card .card-body { padding: 1.58em 20px 0; /*padding: 1.58em 40px 0;*/}
}

.nomobilecard { display:block;}
@media only screen and (max-width: 1200px) {
	.nomobilecard { display: none;}
	}

.ccModal-content h3 { color: #000000;}

.height_250 { height: 250px; }
@media (min-width: 576px) {
	.galerieUebersicht.card-deck { -ms-flex-flow: column; flex-flow: column; margin-right: 0; margin-left: 0; }
	.galerieUebersicht.card-deck .card { margin-right: 0; margin-left: 0; margin-bottom: 15px; }
}
@media (min-width: 776px) {
	.galerieUebersicht.card-deck { -ms-flex-flow: row wrap; flex-flow: row wrap; margin-right: -15px; margin-left: -15px; }
	.galerieUebersicht.card-deck .card { margin-right: 15px; margin-left: 15px; margin-bottom: 30px; }
}

.plugin_galerie_height { height: 180px; }

.responsive-video { position: relative; padding-bottom: 56.25%; padding-top: 0px; height: 0; overflow: hidden; width: 100%; }
.responsive-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

figure video { width: 100%; height: auto; display: block; }

hr { margin: 0; border: 0 none; background-color: #000000; height: 1px; clear: both; opacity: 1; }
hr.space1 { height: 1px; }
hr.space2 { height: 2px; }
hr.space3 { height: 3px; }
hr.space4 { height: 4px; }
hr.space5 { height: 5px; }
hr.space10 { height: 10px; }
@media (prefers-color-scheme: dark) {
	hr { background-color: #ffffff; }
}

.plugin_customcontainer_full_width { display: block; left: 50%; position: relative; transform: translateX(-50%); width: 100vw; /* border:1px dotted blue; */ }

.plugin_customcontainer_content_extrasmall {
    max-width: 480px;
    padding: 0 40px;
}
.plugin_customcontainer_content_small {
    max-width: 640px;
    padding: 0 40px;
}
.plugin_customcontainer_content_medium {
    max-width: 800px;
    padding: 0 40px;
}
.plugin_customcontainer_content_normal {
    max-width: 960px;
    padding: 0 40px;
}
.plugin_customcontainer_content_large {
    max-width: 1120px;
    padding: 0 40px;
}
.plugin_customcontainer_content_extralarge {
    max-width: 1280px;
    padding: 0 40px;
}
.plugin_customcontainer_content_superlarge {
    /*max-width: 1920px;*/ max-width: 1640px; /*max-width: 1600px;*/
    padding: 0 40px;
}
.plugin_customcontainer_content_full {
	padding: 0 40px;
}
.plugin_customcontainer > .bg-primary div {
	color:#ffffff;
}

@media only screen and (max-width: 1024px) {
	.plugin_customcontainer_content_extrasmall {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_small {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_medium {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_normal {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_large {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_extralarge {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_superlarge {
		padding: 0 30px;
	}
	.plugin_customcontainer_content_full {
		padding: 0 30px;
	}
}
@media only screen and (max-width: 767px) {
	.plugin_customcontainer_content_extrasmall {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_small {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_medium {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_normal {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_large {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_extralarge {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_superlarge {
		padding: 0 20px;
	}
	.plugin_customcontainer_content_full {
		padding: 0 20px;
	}
}


/* ===== PRINT (konzis.ch) ===== */
@page { size: A4 portrait; margin: 12mm; }

@media print {

  /* Basis */
  html, body {
    background:#fff !important; color:#000 !important;
    font: 11pt/1.4 'CalibriRegular', Arial, sans-serif !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    overflow: visible !important;
  }

  /* Effekte entfernen, aber Hintergründe NICHT global löschen */
  * { box-shadow:none !important; text-shadow:none !important; }

  /* Navigation/Interaktives ausblenden */
  .nav_container, .metanav, .socialnav, .footernav,
  .menuicon, .btn, .ccModal, .flex-control-paging,
  .responsive-video, iframe, .accordion .card-header,
  .nomobilecard { display:none !important; }

  /* Header/Footers neutral */
  header { position: static !important; }
  footer { background: transparent !important; padding-top:12pt !important; }
  .flexslider_height { height: 400px;}
  .flexslider .slides li { height: 300px; }

  /* Breite vereinheitlichen */
  .width_basic,
  .plugin_customcontainer_full_width,
  .plugin_customcontainer_content_superlarge,
  .plugin_customcontainer_content_full { max-width:100% !important; padding:0 !important; }
  main { padding:0 !important; }

  /* Startheader */
  .startheader { padding:0 !important; }
  .startheader .bild { display:none !important; }
  .startheader .text .row { background:transparent !important; box-shadow:none !important; margin:0 !important; padding:0 !important; }

  /* Karten/Teaser: BG-Bilder DRUCKEN */
  .card { border:1px solid #000 !important; background-clip: border-box !important; background-color: transparent !important; border: none; }
  .card.cover {
    /* wichtig: kein background: transparent; */
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    min-height: 55mm; /* damit die Bilder Fläche haben */
  }
  .height_310 { height:auto !important; min-height:55mm !important; }
  .card .bottom_title {
    position: static !important; background: rgba(255,255,255,.85) !important;
    padding:6pt 0 !important;
  }
  .card a { position: static !important; background: transparent !important; text-decoration:none !important; }
  .h-100 { height: auto !important;}
 
 
 /* .row, .row-cols-1, .row-cols-md-2, .row-cols-xl-3 { float: left !important; width: 40% !important;} */

.row .col.startseiteteaser { float: left !important; width: 50% !important;}

  /* Typo/Tabellen/Umbrüche */
  h1,h2,h3 { page-break-after: avoid; }
  table { font-size:10pt !important; border-collapse:collapse !important; }
  table td, table th { border-bottom:1px solid #000 !important; padding:6pt 0 !important; }
  table, figure, blockquote, pre, img { page-break-inside: avoid; }

  /* Definitionen lesbar */
  dl { display:block !important; }
  dt { width:auto !important; font-weight:bold !important; }
  dd { margin:0 0 6pt 0 !important; }

  /* Links mit Ziel zeigen */
  a { color:#000 !important; text-decoration: underline !important; }
  a[href^="http"]:after { content:" (" attr(href) ")"; }
  a[href^="mailto:"]:after { content:" (" attr(href) ")"; }
  a[href^="tel:"]:after { content:" (" attr(href) ")"; }

  /* Hilfsklassen */
  .print-hide { display:none !important; }
  .print-break-before { page-break-before: always !important; }
  .print-break-after  { page-break-after:  always !important; }
}
