:root {
    --color-background: #EFF5F5;
    --color-text: #333333;
    --color-text-highlight: #008631;
    --color-heading-1: #016325;
    --color-background-footer: #003112;
    --color-background-transparent: #FEFEFEAA;
    --color-background-container:linear-gradient(180deg, rgba(254,254,254,0.7) 100em, rgba(254,254,254,1) 100.001em, rgba(254,254,254,1) 100%);
    --color-background-container:linear-gradient(180deg,  var(--color-background-transparent) 100em, var(--color-background-content) 100.001em, var(--color-background-content) 100%);
   /* --color-background-container: linear-gradient(180deg, var(--color-background-transparent) 0%, var(--color-background-content) 100%);*/
    --color-background-content: #FEFEFE;
    --color-border:#016325;
    --color-border-highlight:#D1DF2E;
    --color-highlight1:#D1DF2E;
    --color-highlight2:#D1DF2E;
    --color-highlight3:#C64404;
    --nav-height:3.5em;
    --nav-height-inner:3em;
    --border-height:0.25em;
    --border-height1:0.25em;
    --margin-left: 3em;
  }

html {
  	min-height:calc(100vh + 1px);
  	background-color: var(--color-background-footer);
  	width:auto;
  }

body {
    background-color: var(--color-background);
    color:var(--color-text);
    line-height: 1.5;
    font-size:calc(0.75em + (16 - 12) * (100vw - 768px) / (1600 - 768));
    font-family:"Roboto", sans-serif;
}

#main {
	font-size:1.1em;
}

header .logo, #container, header nav ul, footer .inside{
    width:100%;
    max-width:1300px;
    margin:auto;
    box-sizing:border-box;
}

header figure {
  display: inline-block;
}

header figure a, .mod_portfoliolist figure a{
  display: block;
}

h1, h2 {
	font-family: "Poppins";
	margin-top:0.75em;
	margin-bottom:0.5em;
}



h1 {
	text-transform:uppercase;
	color:var( --color-text-highlight);
	font-weight:600;
	font-size:1.5em;
}

h2 {
	font-size:1.3em;
		font-weight:600;
}

.heading2 {
	/*background-color:#eee;*/
	padding-bottom:0.5em;

}
.heading2 > legend, .heading2 fieldset.heading2 > legend{
	font-size:1.3em;
	font-weight:600;
	border-bottom:4px solid #DF9A2E;
	margin-top:0.5em;
	background-color: #fefefe;
	margin-bottom: 1em;
}

.heading2 fieldset.heading2 > legend{
	margin-top:0;
	margin-bottom:0.5em;
}


.heading2 .neu > legend::before, .heading2 .neu > label::before {
	display:inline-block;
	content:"NEU!";
	font-weight:600;
	background-color:#DF9A2E;
	padding:0.2em
}

.heading2.flex {
	gap:1em 2em
}

.heading2.flex .widget{
	flex-basis:calc(50% - 1em);
	padding:1em;
	box-sizing:border-box;
	background-color:#eee;
}

fieldset.heading2 span {
	display:block;
	margin: 0 0 0.5em 0.5em;
}

.seminare .mod_newslist h2, .seminare .mod_portfoliolist h2{
	background-color: #787878;
	color: #fff;
	padding: 0.3em 0.5em;
	font-weight: 400;
}


h3 {
	font-size:1.1em;
	font-weight:600;
	margin-top:1em;
	margin-bottom:0.3em;
}

 fieldset > legend {
 	font-size:1.4em;
	font-weight:600;
 	margin:1em 0 0.5em 0;
 	font-family:Poppins;
 	}

.seminare .mod_newslist h3, .seminare .mod_portfoliolist h3 {
	  color:#000;
	  margin-top:0.5em;
	  line-height:1;
}

.seminare #main .mod_newslist h3 a, .seminare #main .mod_portfoliolist h3 a{
  font-size:1.3em;
  color:#000;
  font-weight: 400;
 text-decoration:none;
}

.seminare .mod_portfoliolist figure{
	margin:0 2em 2em 0;

  float: left;

}

.layout_full.portfolio h1 {
	flex-basis:100%;
}

.portfolio__client {
	display: none;
}


.seminare .layout_latest {
	margin-top:0;
	padding:1.5em;
}

.seminare .layout_latest:nth-child(2n){
	background-color:var(--color-background);
}


.seminare .layout_latest.gem2, .seminare .layout_latest.gem4, .seminare .layout_latest.gem6{
	background-color:var(--color-background);
}

.seminare .layout_latest.gem1, .seminare .layout_latest.gem3, .seminare .layout_latest.gem5{
	background-color:transparent;
}
.gemeinden .portfolio__items{
	display:flex;
	flex-flow:row wrap;
}


.gemeinden .layout_latest {
	order:10;
	flex-basis:100%;
}

.gemeinden .gem1 {
	order:0;
}

.gemeinden .gem2 {
	order:1;
}
.gemeinden .gem3 {
	order:2;
}
.gemeinden .gem4 {
	order:3;
}
.gemeinden .gem5 {
	order:4;
}


.widget fieldset >legend {
	font-size:1em;
	margin-top: 0;
}

/*.content-text h3:first-child{ 
	margin-top:0;
}*/

strong {
font-weight:600	;
}

#main a {
	color:var(--color-border);
	text-decoration-style:dotted;
	text-decoration-color:var(--color-border);
}

#main .content-text:not(.icon_menu) ul , #main ol {
	margin-left:1em;
}

#main .content-text:not(.icon_menu) ul li {
	list-style-type: disc;
	list-style-position:outside;
}

#main ol li {
	list-style-type: decimal;
	list-style-position:outside;
}

#wrapper {
    width:100%;
}




header {
    background-image:url(../img/Blaetter_continue_RGB_1600_top.jpg);
    background-repeat: repeat-x;
    background-size: 100em auto;
    background-position:  bottom center;

}

header .logo img {
	width:12.5em;
	max-width:182px;
	margin:2em 0;
	margin-left: var(--margin-left);
}

header, header .inside {
	overflow:visible;
}



header nav ul {
	 box-sizing:border-box;  
	 height:var(--nav-height);
	 overflow:visible;
	 margin-top: calc(1px - var(--border-height));
}

header nav ul li {
	display:inline-block;
    height:var(--nav-height);
	box-sizing:border-box;
	margin-left: 0.75em;	
    position:relative;
    
}

header nav ul li:first-child {
	box-sizing:border-box;
	margin-left: calc(var(--margin-left)/1.2);
}

/*header nav ul li a, header nav ul li strong{
	color:var(--color-text);
	text-decoration:none;
	text-transform:uppercase;
	border-top:var(--border-height) solid transparent;
	border-bottom:var(--border-height) solid transparent;
    display: block;
    box-sizing: border-box;
    height:calc(0.85*var(--nav-height));
    font-size:1.2em;

}

header nav ul li strong, header nav ul .trail > a, header nav ul .submenu > a, header nav ul li:hover a{
	color:var(--color-text-highlight);
}*/

header nav ul li a, header nav ul li strong, .mobile_menu nav ul li a, .mobile_menu nav ul li strong{
	color:var(--color-text);
	text-decoration:none;
	text-transform:uppercase;
    display: block;
    box-sizing: border-box;
    height: var(--nav-height);
    padding:0 0.2em;
    line-height:3.5;
    box-sizing:border-box;
    
}

header nav ul li::before{
	display:block;
	height:calc(var(--border-height) + 1px);
	content:" ";
	top:-1px;
	position:absolute;
	z-index:200;
	width:100%;
}

header nav ul li:after{
	display:block;
	height:calc(var(--border-height) + 1px);
	content:" ";
	bottom: 0px;
	position:absolute;
	z-index:200;
	width:100%;
}

header nav ul .active::before, header nav ul .trail::before, header nav .submenu::before, header nav ul li:hover::before,
header nav ul .active::after, header nav ul .trail::after, header nav .submenu::after, header nav ul li:hover::after{
	background-color:var(--color-border-highlight);
}

header nav ul li strong, header nav ul .trail > a, header nav ul .submenu > a, header nav ul li:hover > a{
	color:var(--color-text-highlight);
	background-color:#f7f7f7cc;
	
}

.mobile_menu nav ul li a {
	border-width: 2px 0;
  border-color: transparent;
  border-style: solid;
}



.mobile_menu nav ul li strong, .mobile_menu nav ul .trail > a, .mobile_menu nav ul li:hover > a{
	color:var(--color-text-highlight);
	border-width: 2px 0;
  border-color: #d1df2e;
  border-style: solid;
  background-color:#f7f7f7cc;
}
	


#container {
	background-image: url(../img/Blaetter_continue_RGB_1600_bottom.jpg);
	background-color:var(--color-background-transparent);
	background-color:#fefefe;
    background-repeat: repeat-x;
    background-size: 100em auto, cover;
    background-position: top center ;
    min-height:400px;
}
#container {
  background-image: var(--color-background-container), url(../img/Blaetter_continue_RGB_1600_bottom.png);
  background-position: top center;
  background-repeat: repeat, no-repeat;
  background-size: auto, 100em auto;
  background-size: cover, 100em auto;
}


#main > .inside{
	/*background-color:var(--color-background-transparent);
    background-repeat: repeat-x;*/
    padding:var(--margin-left);
	min-height:300px;
}
#left{
	/*background-color:var(--color-background-transparent);*/
}

footer {
    background-color:var(--color-background-footer);
    color:#fff;

}

footer .inside {
	padding:1em var(--margin-left);
	display:flex;
	flex-flow:row wrap;
	box-sizing:border-box;
	justify-content: space-between;
}

/*footer h3 {
	margin-top:0;
}*/

footer a{
	color: #fff;
	text-decoration:none;
}

footer a:hover,
footer .mod_customnav strong
{
	color: var(--color-highlight2);
}

.flex, .layout_full{
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	gap:0.5em 2em;
}

.mod_search.flex25 {
  flex-grow: 1;
}

.flex25 {
	flex-basis:calc(25% - 2em);
}
.flex33 {
	flex-basis:calc(33% - 2em);
}

.flex33.wide {
	flex-basis:calc(33%);
}

.flex30 {
	flex-basis:calc(30% - 2em);
}

.flex50 {
	flex-basis:calc(50% - 2em);
}

.flex67 {
	flex-basis:calc(67% - 2em);
}
.noflex {
	flex-basis:100%;
}

.flex .back {
	flex-basis:100%;
	order:2;
}
.gap2{
	gap:5em
}
.flex.portraits{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	gap: 5em;
}
.portrait.rund img{
	border-radius:50%;
	border:1px solid #ccc;
	box-sizing:border-box;
}

.portrait.rund{
  text-align: center;

}
.portrait.rund.flex50{
	flex-basis:calc(40%);
}

.portrait.rund.flex50 p, .portrait.rund.flex30 p{
	 text-align: left;
	 hyphens:auto;
}

.portrait.rund.flex30{
	flex-basis:calc(25%);
}

.portrait.rund.flex50 figure{
	width:calc(62.5%);
	margin:auto;
}

.centered {
  margin: auto;
}

.flex30.centered {
	flex-basis:calc(30%);
	margin-right:35%;
	margin-left:35%;
}




.col2 {
	column-count:2;
	column-width:calc(50% - 2em);
	column-gap:4em;
	column-fill:balance;
	margin-bottom:2em;
}

.flex67.small {
	flex-basis:calc(63% - 2em);
	padding-right:5%;
	box-sizing:border-box;

}

.box{
	border: 1px solid var(--color-text-highlight);
	background-color:#f0f4f7;
	padding:2em;
	box-sizing:border-box;
	margin-top:1em;
}

.flex33.box {
		flex-basis:calc(37% - 2em);
		align-self:flex-start;
	order:1;
}

.flex33.box.ord0 {
	order:0;
}

.box h2 {
background-color: var(--color-heading-1);
  color: #fff;
  margin: -1.65em -1.65em 0;
line-height: 2.5em;
  padding: 0 1.6em;
  font-weight:500;
}
#main .back {
	  margin-top: 2em;
}


#main .back a {
  background-color: var(--color-text-highlight);
  color: #fff;
  line-height: 1em;
  font-size: 1.2em;
  text-align: right;
  display: inline-block;

  padding: 0.75em;
  box-shadow: 2px 2px 2px #666;
  border-radius: 0.3em;
  width: auto;
  text-align: center;
  margin: auto;
  font-weight: 500;
  font-family: Poppins;
  text-decoration: none;
}

#main .back a:hover, #main .back a:active {
	background-color: #DF9A2E;
	
}
#main .back a:active{
	box-shadow: 1px 1px 1px #666;
}


.back a::before {
  content: "<< ";
}

.anmelden a::before {
  content: "@ ";
}

#main a.anmelden{
background-color: #DF9A2E;
  color: #010101;
  line-height: 1em;
  font-size: 1.2em;
  text-align: right;
  display: block;
  margin-top: 1em;
  padding: 0.75em;
  box-shadow: 2px 2px 2px #666;
  border-radius: 0.3em;
  width: auto;
  text-align: center;
  margin: auto;
  font-weight: 500;
  font-family: Poppins;
  text-decoration: none;
}

#main a.anmelden:hover, #main a.anmelden:active{
background-color: var(--color-text-highlight);
color:#fff;

}

#main a.anmelden:active{
box-shadow: 1px 1px 1px #666;
}

#main .teaser + a[href^="/seminardetails/"] {
	display:block;
	text-align:right;
}

.mod_search .search_default:nth-child(2n), .mod_search .search_default:nth-child(2n+1) {
border-bottom:3px dotted var(--color-border);
}

mark.highlight {
	background-color:var(--color-highlight2);
}

.seminarcal table {
	width:100%;
}
.seminarcal table th{
	padding-bottom:0.3em;
}

.seminarcal table th {
	border-bottom:2px solid #000;
}

.seminarcal table tr:nth-child(2n) {
	background-color:var(--color-background);
}

.seminarcal table tr th:first-child, .seminarcal table tr th:last-child{
	width:20%;
}

.seminarcal table tr th:last-child{
	width:25%;
}

.seminarcal .red {
	color:#c00;
	font-weight:600;
}

#main a.red {
	color:#c00;
	text-decoration-color:#c00;
}

.seminarcal .blue {
	color:#04608e;
	font-weight:600;
}

.seminare .layout_latest.neu h3 a:before,
.seminare .layout_full.neu h1:before{
	content:"NEU! ";
	font-weight:600;
	color:var(--color-highlight1);
	background-color:var(--color-highlight3);
	display:inline-block;
	padding:0 0.1em;
	letter-spacing:0.05em;
	margin-right:0.2em;
}

.highlighted {
	color:var(--color-highlight3);
}

.bildbox {
	border:2px solid var(--color-border);
	padding:0;

}

.bildbox figure,.bildbox picture {
	line-height:0;
}

.bildbox .rte{
padding:2em;
box-sizing:border-box;
}

.big .rte{
flex-basis:50%;	
padding:2em;
}


.bildbox.big {
	display:flex;
	flex-flow:row wrap;
		margin:2em 0 5em 0;
}
.bildbox.big.content-text figure {
box-sizing:border-box;
	flex-basis:50%;
margin:auto;
}

.bildbox.big h2{
 text-align:left;
 color: #333;
 background-color:transparent;
}

.bildbox.small h2{
	background-color: var(--color-border);
	color:#fff;
	margin:0;
	padding:0.5em;
	text-align:center;
	font-size:calc(1em + (20 - 17) * (100vw - 768px) / (1600 - 768));
}
.bildbox.small {
	flex-basis:calc(33% - 3.5em);
	position:relative;
}

.bildbox.small a {
  display: block;
}

.bildbox figure {
	margin:0;
}

.bildbox.small figure{
	position:relative;
}
/*.bildbox.small figcaption,*/ .bildbox.small .rte{
  top: 100%;
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;

  padding:5em 1em 0 1em;
   box-sizing:border-box;
}

.bildbox.small figcaption {
	display:none;
}

/*.bildbox.small:hover figcaption,*/ .bildbox.small:hover .rte, .bildbox.small:focus-within .rte{
	top:0;
	position:absolute;
	background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) calc((1em + (20 - 17) * (100vw - 768px) / (1600 - 768)) * 1.5 + 1em), rgba(255,255,255,0.9) calc((1em + (20 - 17) * (100vw - 768px)  / (1600 - 768)) * 1.5 + 1em), rgba(255,255,255,0.9) 100%);
  text-align:left;
  color:#000;
  overflow:visible;
}

#main .bildbox.small .rte > a  {
	text-decoration:none;
	color:#000;
}

.bildbox.small:hover figcaption:after {
content: " ";
  display: block;
  height: 3em;
  background-color: rgba(255,255,255,0.8);
  position: absolute;
  top: 100%;
  width: 100%;
  margin-left: -1em;

}

/*.bildbox.small .rte{
	top: -3em;
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  display:none;

}


.bildbox.small:hover .rte{
	top:3.5em;
	position:absolute;
	background-color:#ffffffdd;

}*/


.grid.team {
	display:grid;
 grid-template-columns:  repeat(6, 1fr);
gap:1.5em 5em;
 justify-items: center;
}

.grid .flex30.centered {
	margin:0;
}

.grid.team .portrait.rund figure {
	width:100%;
}

.noflex{
  grid-column-start: 1;
  grid-column-end: 7;
  grid-row-start:1;
  grid-row-end:2;
  justify-self: stretch;
}

.flex50:nth-child(2) {
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start:2;
  grid-row-end:3;
}

.flex50:nth-child(3) {
	grid-column-start: 4;
  grid-column-end: 6;
  grid-row-start:2;
  grid-row-end:3;
}

.flex30:nth-child(4) {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start:3;
  grid-row-end:4;
}

.flex30:nth-child(5) {
  grid-column-start: 3;
  grid-column-end: 5;
  grid-row-start:3;
  grid-row-end:4;
}

.flex30:nth-child(6) {
  grid-column-start: 5;
  grid-column-end: 7;
  grid-row-start:3;
  grid-row-end:4;
}

.flex30:nth-child(7) {
  grid-column-start: 3;
  grid-column-end: 5;
  grid-row-start:4;
  grid-row-end:5;
}

.flex30:nth-child(8) {
  grid-column-start: 3;
  grid-column-end: 5;
  grid-row-start:5;
  grid-row-end:6;
}

.content-text.flex50 h3:first-child {
  margin-top: 0;
}
.content-image.flex50  {
  margin-top: 2em;
}

.content-text.media--right figure{
	 margin: 1.5em 0 1em 1.5em;
}


.content-text.media--left figure{
	 margin: 1.5em 1.5em 1em 0;
}

.content-text.media--right h1 +figure{
	 margin-top: 0;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	display: inline-block;
}

.widget_calendar .input-button {
	display:inline-block;
}

.flatpickr-input {
	max-width:7em;
}
.flatpickr-current-month input.cur-year:focus {
	color:#000;
}

footer .printonly{
	display:none;
}


#topcontrol {
	width:1em;
	height:1em;
    padding: .2em;
    text-align: center;
    background-color: var(--color-border);
    -webkit-box-shadow: 2px 2px 2px rgba(102, 102, 102, .5);
    box-shadow: 2px 2px 2px rgba(102, 102, 102, .5);
    border:0px solid #fff;
    border-radius: 0;
    font: 2em/1 "Line Awesome Free";
    color: #fff;
    opacity:0.7;
    cursor:pointer;
}

#topcontrol:hover {
	    background-color: #869F25;;
}

#topcontrol i {
	display:block;
    mask-image:url("../img/arrow-circle-up-solid.svg");
    -webkit-mask-image:url("../img/arrow-circle-up-solid.svg");
	mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    -webkit-mask-position: center;
    content:" ";
    width:1em;
    height:1em;
    background-color:#fefefe;
}

.content-gallery > ul {
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  gap: 0.5em;
  margin-top: 1em;
}

.content-gallery figure {
	line-height:1;
}