@font-face {
 font-family:'Open Sans Variable';
 src:url('fonts/OpenSans-VariableFont_wdth,wght.ttf') format('truetype-variations');
 font-weight:100 800;
 font-stretch:75% 200%;
 font-display:swap;
}

:root {
 --pageBG:   #fff;
 --ciFarbe1: #689224;
 --ciShadow: #28370e;
 --ciShadowH:#3e5419;
 --maxBreite:  1920px;
 --headHoehe:  100px;
 --footHoehe:  35px;
 --heroHoehe:  90vh;

 --ciFarbe2: #f9bb41;
 --dblau:    #293f4d;
 --hgrau:    #f0f0f0;
 --drot:     #9e0303;
 --grau:     #cecece;
 --menuHover:#ff9100;
}

*                                                           {margin:0; padding:0; font-family:'Open Sans Variable',Arial,Helvetica,Sans-Serif; font-size:16px; color:#000000; line-height:24px;  font-variation-settings:'wght' 350; box-sizing:border-box;}
*:after, *:before                                           {box-sizing:border-box;}
body                                                        {background-color:var(--pageBG);}
body.content                                                {margin:0; width:100vw; overflow-x:hidden;}

body.popup                                                  {padding:10px;}
a, img                                                      {border-style:none; text-decoration:none;}
a                                                           {color:#000; text-decoration:underline;}
a, span                                                     {font-size:1.0em;}
h1, .titel                                                  {font-size:30px; line-height:38px; margin-bottom:24px; font-variation-settings:'wght' 400; text-transform:uppercase;}
h2, .untertitel                                             {font-size:24px; line-height:32px; margin-bottom:0; font-variation-settings:'wght' 550; text-transform:uppercase;}
h3, .content                                                {font-size:18px; line-height:26px; margin-bottom:0; font-variation-settings:'wght' 500;}
h3                                                          {margin:0;}
.einleitung                                                 {font-size:17px; font-variation-settings:'wght' 500;}
.gruen                                                      {color:var(--ciFarbe1);}
h2.login                                                    {margin-bottom:12px;}
h1.maintitle                                                {margin-top:0; margin-bottom:8px;}
h2.subtitle                                                 {font-size:12px; margin-top:0; margin-bottom:8px; font-weight:normal; text-transform:uppercase; letter-spacing:1px;}
b,strong                                                    {font-weight:550; font-variation-settings:'wght' 550; font-size:inherit; color:inherit; line-height:inherit;}
i                                                           {font-style:italic;}

div                                                         {margin:0; padding:0; display:block;}
p                                                           {margin-top:10px; margin-bottom:10px;}
label                                                       {vertical-align:middle;}

ol, ul, li                                                  {margin:0; padding:0;}
ul, ol, form                                                {margin-top:4px; margin-bottom:8px;}
form                                                        {margin-top:8px;}
ul                                                          {margin-left:15px;}
ol                                                          {margin-left:20px;}
ul ul, ul.sitemap1                                          {margin-left:15px;}
ul ul                                                       {margin-top:1px; margin-bottom:1px;}
ol ol                                                       {margin-top:1px; margin-bottom:1px;}

.kleiner                                                    {font-size:12px;}
a.button                                                    {width:fit-content; padding:5px 10px; display:flex; justify-content:center; align-items:center; position:relative; z-index:0; color:#fff; font-size:14px; font-variation-settings: 'wght' 550; text-transform:uppercase; text-decoration:none; border-radius:0; background-color:var(--ciFarbe1); cursor:pointer; border:2px solid var(--ciFarbe1); transition:background-color .2s ease-out, color .2s ease-out, color .2s ease-out; border-radius:5px;}


.inner                                                      {margin:0 auto; padding:0 20px;}


#footer                                                     {background-color:var(--ciFarbe1); padding-bottom:60px; position:relative; z-index:2;}


#navi                                                       {top:0; margin-top:-100px; position:-webkit-sticky; position:sticky; z-index:5; background:none; transition:background-color .5s; background-color:rgba(104, 146, 36, 0.25);}
#navi .inner                                                {max-width:var(--maxBreite); height:var(--headHoehe); display:grid; justify-content:left; align-content:center; }
ul.mainmenu                                                 {display:none;}
.headwrap                                                   {display:grid; grid-template-columns:auto 1fr; width:100%; max-width:var(--maxBreite);}
.headlogo                                                   {height:var(--headHoehe); display:grid; align-content:center; position:relative;}
.headlogo img                                               {width:auto; height:0; transition:all 1s; position:relative; top:-10px; filter:drop-shadow(0 0 5px var(--ciShadowH));}

#hero                                                       {height:var(--heroHoehe); background-color:var(--ciFarbe1); position:-webkit-sticky; position:sticky; z-index:4; top:calc(-1 * var(--heroHoehe) + var(--headHoehe)); overflow:hidden;}
#herologo                                                   {display:grid; align-content:center; justify-content:center; height:calc(var(--heroHoehe) - 32px);}
#herologo img                                               {width:auto; max-height:calc(var(--heroHoehe) / 3); max-width:80vw; min-width:max(60vw,250px); height:100%; position:relative; opacity:.95; filter:drop-shadow(5px 5px 10px var(--ciShadowH));}
#herologo div                                               {text-align:left; color:#fff; position:absolute; padding:10px 10px 5px; width:100%; font-size:12px;}
#herologo div *                                             {color:#fff; text-decoration:none;}
#hero.topimage img                                          {width:100%; height:100%; object-fit:cover;}     
.kurzkontakt                                                {width:100%; text-align:center; color:#fff !important; text-decoration:none !important; position:absolute; display:grid; justify-content:start; font-size:12px;}
.kurzkontakt div                                            {background:var(--ciFarbe1); width:fit-content; border-radius:0 0 10px 0; padding:0 15px 5px; color:#fff !important; text-decoration:none !important; font-size:12px;}


#hero,#navi,#afternav                                       {clip-path:polygon(99.995% calc(100% - 23.68px), 99.995% calc(100% - 23.68px), 99.998% calc(100% - 23.68px), 99.985% calc(100% - 23.68px), 99.92% calc(100% - 24px), 99.768% calc(100% - 24px), 99.494% calc(100% - 24.32px), 99.061% calc(100% - 24.64px), 98.435% calc(100% - 25.28px), 97.581% calc(100% - 25.6px), 96.463% calc(100% - 25.92px), 95.045% calc(100% - 26.24px), 95.045% calc(100% - 26.24px), 93.35% calc(100% - 26.88px), 91.732% calc(100% - 27.52px), 89.973% calc(100% - 28.16px), 87.855% calc(100% - 28.48px), 85.158% calc(100% - 28.8px), 81.665% calc(100% - 28.8px), 77.155% calc(100% - 28.48px), 71.411% calc(100% - 27.52px), 64.213% calc(100% - 25.92px), 55.343% calc(100% - 23.68px), 55.343% calc(100% - 23.68px), 45.873% calc(100% - 21.76px), 37.071% calc(100% - 21.12px), 29.014% calc(100% - 21.12px), 21.781% calc(100% - 22.08px), 15.448% calc(100% - 23.36px), 10.093% calc(100% - 24.96px), 5.794% calc(100% - 26.88px), 2.627% calc(100% - 28.16px), 0.67% calc(100% - 29.12px), 0% calc(100% - 29.76px), 0% 0%, 99.995% 0%, 99.995% calc(100% - 23.68px));}



#extra                                                      {width:50px; height:110px; top:calc(50vh - 50px); right:0; right:10px; display:none; position:fixed; z-index:5;}
#extra a                                                    {width:210px; height:50px; right:-10px; z-index:5; position:relative; transition:all .5s; display:block; background:var(--ciFarbe1); border-radius:25px 0 0 25px;}
#extra a img                                                {float:left;}
#extra a:first-child                                        {margin-bottom:10px;}
#extra a div                                                {display:grid; float:left; align-content:center; color:#fff; height:50px; text-decoration:none;}

.box                                                        {position:absolute; width:100vw; height:var(--heroHoehe); top:0; z-index:-1; left:0;background-color:var(--ciFarbe1); }
.wave                                                       {position:absolute; opacity:.4;  width:150vw; height:150vh; aspect-ratio:1; margin-left:-75vw; margin-top:-35vh; border-radius:50%;}
 @keyframes rotate {
  from {transform:rotate3d(0,0,1,0deg) scale3d(1.25,1.5,1);}  
  from {transform:rotate3d(0,0,1,360deg) scale3d(1,1,1);} 
  from{border-radius:46%;}
  from{border-radius:50%;}
 }

  .wave.-one                                                  {animation:rotate 12s infinite ; opacity:5%; background:#000;}
  .wave.-two                                                  {animation:rotate 14s infinite ; opacity:5%; background:#fff;}
  .wave.-three                                                {animation:rotate 17s infinite ; opacity:5%; background:#fff;}
  .wave.-four                                                 {animation:rotate 15s infinite ; opacity:5%; background:#000;}

#welleunten                                                 {height:var(--headHoehe); width:100vw; top:0; margin-top:calc(-1 * var(--headHoehe)); overflow:hidden; position:-webkit-sticky; position:sticky; z-index:5; display:grid; pointer-events:none;}
#welleunten::after                                          {content:''; height:20px; width:100vw; display:block; position:absolute; }

#welleoben                                                  {height:32px; width:100vw; top:-31px; overflow:hidden; position:relative; z-index:2; pointer-events:none;}
#welleoben img,#welleunten img                              {height:32px; width:100%; bottom:0; left:0; align-self:end; object-fit:cover; position:relative;}    
#welleunten                                                 {display:none;}


#afternav                                                   {width:100vw; height:100px; margin-top:-87px; position:relative; top:3px; position:-webkit-sticky; position:sticky; z-index:3; background:#fff;}


#content                                                    {position:relative; z-index:1;}
#content .inner                                             {min-height:0; margin:0 auto; padding:0;}
#content .inner.vollbreit                                   {max-width:100vw; margin:0 ;}
#seitentitel                                                {text-align:center; background-color:#fff; grid-column-start:1; grid-column-end:3; grid-row-start:1; grid-row-end:2;}
#seitentitel h1                                             {margin:0;}
.seitentitelwrap                                            {max-width:min(1200px,var(--maxBreite)); margin:auto; padding:50px max(50px,5vw); background-color:#fff;}

#content0                                                   {max-width:1000px; margin:0 auto; padding:0 max(50px,5vw) 50px;}

span.notracking                                             {position:absolute; z-index:0;}

.block                                                      {width:100vw; padding:0 0 50px; display:grid; justify-content:center; position:relative; background-color:#fff;}
.block .edbloc                                              {text-align:center;}

.block.bildtext .blockwrap                                  {max-width:var(--maxBreite); display:grid; grid-gap:min(50px,5vw); grid-template-columns:1fr; align-content:center;}

.block.bildtext .block01                                    {height:fit-content; grid-row-start:1; grid-row-end:2;}
.block.bildtext .block02                                    {height:fit-content; align-self:center; grid-row-start:2; grid-row-end:3; padding:25px min(25px,2.5vw);}

.block.bildtext .block01                                    {grid-row-start:1; grid-row-end:2;}
.block.textbild .block02                                    {height:fit-content; align-self:center; grid-row-start:3; grid-row-end:3; padding:25px min(25px,2.5vw);}

.block.bildtext img,.block.textbild img                     {width:100%; height:100%; object-fit:cover;}

.block:not(.nurbild):last-child                             {padding-bottom:150px !important;}   
.block.nurbild:last-child                                   {padding-bottom:0;} 
.block.bildtext .blockwrap,.block.textbild .blockwrap       {max-width:var(--maxBreite); margin:0 auto; position:relative;}
.block.nurbild .block01                                     {width:100vw; max-width:var(--maxBreite); position:relative; z-index:1;}
.block.nurbild .block01 img                                 {width:100%; height:100%; min-height:50vh; object-fit:cover;}    
.block.nurbild .block02                                     {width:100vw; max-width:var(--maxBreite); min-height:50vh; height:100%; top:0; left:0; position:absolute; display:grid; align-content:center; justify-items:center; text-align:center; z-index:2; }
.block.nurbild .blockwrap                                   {position:relative;}
.block.nurbild .block02 div                                 {width:80%; display:grid;} 
.block.block-gruen                                          {background-color:#eaf2e7;}

.zitat                                                      {color:#fff; font-size:18px; line-height:20px; font-variation-settings:'wght' 500; filter:drop-shadow(0 0 10px #000); text-transform:uppercase;}
.zitierter                                                  {color:#fff; font-size:14px; line-height:18px; font-variation-settings:'wght' 350; filter:drop-shadow(0 0 10px #000); font-style:italic; margin-top:10px;}

.block table                                                {width:100%; max-width:280px;}
.block table tr td                                          {width:auto; padding:5px 5px 10px;}
.block table tr td:first-child                              {width:60px !important; padding:5px 0 5px;}
.block table tr td:nth-child(2)                             {width:auto !important;}
.block table tr td:first-child img                          {max-width:50px; max-height:50px; }

#foot                                                       {width:100%; margin:auto; padding:0 2vw; padding:0 0 50px; display:grid; max-width:var(--maxBreite); color:#fff;}
#footer .inner                                              {max-width:var(--maxBreite); display:grid; padding:18px 10px 50px;}
.footmitte                                                  {width:fit-content; margin:0 auto; display:grid; align-content:center; grid-gap:0; grid-template-rows:auto 1fr; grid-template-columns:1fr;}
.foot2                                                      {grid-column-start:1; grid-column-end:2; display:grid; align-content:center;}
.foot2 img                                                  {width:auto; height:80px; filter:drop-shadow(0 0 5px var(--ciShadowH));}
.foot3                                                      {grid-column-start:2; grid-column-end:3; display:grid; align-content:center; color:#fff; font-size:12px; line-height:14px; }
.foot4                                                      {text-align:center; color:#fff; font-size:12px; padding-top:0;}
.foot4 a                                                    {padding:0 10px; color:#fff; font-size:12px; text-decoration:none; border-right:1px solid #ffffff50;}
.foot4 a:first-child                                        {padding-left:0;}
/*.foot4 a:nth-child(2)                                       {border:none; padding-right:0;}*/
.foot4 a:last-child                                         {padding-right:0; border:none;}
.foot23                                                     {margin:0 auto; display:grid; grid-template-columns:auto 100px; grid-gap:0 20px;}
.foot12 a                                                   {padding:0 10px; color:#fff; font-size:12px; text-decoration:none; border-right:1px solid #ffffff50;}
.foot12                                                     {text-align:center;}
.foot12 a:first-child                                       {padding-left:0;}
.foot12 a:nth-child(2)                                      {border:none; padding-right:0;}

li.activemenu, li.normalmenu                                {white-space:nowrap; overflow:hidden;}
li.activemenu                                               {background-color:#fff001;}
div.menupadding                                             {margin:0; padding:0; padding-left:5px;}
ul.menusubpagelist                                          {list-style-type:none; list-style-image:none; margin:0; padding-left:20px; white-space:nowrap; overflow:hidden; background-color:#ffffff;}
ul.submenu, ul.mainmenu                                     {list-style-type:none; list-style-image:none; margin:0; padding:0;}
li.activesubmenulayer3                                      {}
li.normalsubmenulayer3                                      {}
li.mainitem, h2.mainmenu, li.trenner                        {display:inline;}

span.mainmenu                                               {height:var(--headHoehe); display:inline-block; padding:0 30px 0 29px;}
ul.mainmenu li                                              {display:inline-block; border-right:1px solid #ffffff00; height:var(--headHoehe); padding:0 30px 0 29px; font-size:18px; color:#fff; text-transform:uppercase; overflow:hidden; transition:all .5s;}

ul.mainmenu li a                                            {height:var(--headHoehe); margin-top:-0; padding:0; position:relative; display:inline-grid; align-content:center; text-decoration:none; font-size:18px; color:#fff; font-variation-settings: 'wght' 475; transform-origin:center; transition:all.5s;}

a.activemenu                                                {color:#343333; font-weight:bold;}
a.normalmenu                                                {color:black;}
a.activemenu:hover, a.normalmenu:hover                      {color:red;}

a.activemainmenu                                            {transform:scale3d(1.15,1.15,1) translate3d(0,-10px,0); transition:all .25s; filter:drop-shadow(0 0 5px var(--ciShadow));}
a.normalmainmenu                                            {display:inline-grid; height:var(--headHoehe); top:-10px; padding:0; position:relative; font-size:18px; color:#fff;font-variation-settings:'wght' 300; align-content:center; text-decoration:none; transform:scale3d(1,1,1); transition:all .5s;}

a.activemainmenu:hover, a.normalmainmenu:hover              {color:#fff;}

#hiddennav nav .mobmen                                      {padding:30px 0 30px 30px;}
#hiddennav nav .mobmen a                                    {padding:5px 0 5px; font-size:14px; text-decoration:none; color:#000; display:block; border-bottom:1px solid #ccc;}


.myinput, input.text, textarea.text, select                 {border-style:solid; border-width:1px; border-color:silver; margin-top:1px; margin-bottom:1px;}
.login_input                                                {border-style:solid; border-width:1px; border-color:silver; margin-top:1px; margin-bottom:1px;}
input.loginsubmit                                           {margin-top:10px; margin-bottom:10px;}
.login_checkbox                                             {vertical-align:middle;}
.login_submit_area                                          {padding-top:5px;}
select                                                      {background-color:#ffffff;}

.galeriethumb                                               {margin-right:5px; margin-bottom:5px;}

.captcha                                                    {border:solid silver 1px; width:120px;}
img.captcha                                                 {margin-top:8px; margin-bottom:1px;}
input.captcha                                               {margin-bottom:2px;}

#editblock                                                  {border-color:silver;}
#editblock a img,
.bp_edit_area a img                                         {width:15px !important; height:15px !important; border-radius:0 !important;}

/* Privacy Layer - customized */
.cl_cookie_privacy_layer                                    {width:100vw !important; height:100vh !important; display:grid; align-content:center; background-color:#194623cc !important; }
.cl_cookie_privacy_layer > div                              {padding:20px !important; box-shadow: 0 0 0 5px #fff,20px 20px 50px 0 rgba(0, 0, 0, 0.5);}
.cl_cookie_privacy_layer *                                  {max-width:750px !important; background-color:#353c45 !important; border-radius:20px; color:#fff !important; }

.cl_cookie_privacy_layer a                                  {margin:20px 0 0; padding:10px 15px !important; color:#fff; background-color:#999 !important; border-radius:10px;}
.cl_cookie_privacy_layer a:last-child                       {margin-left:0px;}
#cl_privacy_link_y                                          {color:#fff; background-color:#468b0c !important;}
#cl_privacy_link_n                                          {color:#fff; background-color:#8b0c36 !important; margin-right:40px !important;}


/* ------------------- MEDIA QUERIES ------------------- */

@media(hover:hover) and (pointer:fine) {
 a:hover                                                    {color:var(--ciFarbe1); text-decoration:none;}
 .mainitem:hover a.normalmainmenu                           {transform:scale3d(1.15,1.15,1) translate3d(0,-1px,0); transition:all .25s; filter:drop-shadow(0 0 5px var(--ciShadow));}
 #hiddennav nav .mobmen a:hover                             {color:var(--ciFarbe1);}
 #footer a:hover                                            {color:#fff; text-decoration:underline;}
 .kurzkontakt div a:hover,
 #herolog div a                                             {text-decoration:underline;} 
 #navi:hover                                                {background-color:rgba(104, 146, 36, 1) !important;transition:background-color .5s}
 #extra a:hover                                             {right:150px;}
 a.button:hover                                             {background-color:#fff; color:var(--ciFarbe1); transition:background-color .2s ease-out, color .2s ease-out;}
}



@media screen and (orientation:landscape) {
 .wave.-one                                                 {animation:rotate 20s ease-in-out infinite alternate ;}
 .wave.-two                                                 {animation:rotate 21s ease-in-out infinite alternate ;}
 .wave.-three                                               {animation:rotate 22s ease-in-out infinite alternate ;}
 .wave.-four                                                {animation:rotate 23s ease-in-out infinite alternate;}
}

@media screen and (min-width:400px) {
.block table                                                {max-width:100%;}
#extra                                                      {display:block;}
}

@media screen and (min-width:500px) {
.kurzkontakt                                                {justify-content:center;}
.kurzkontakt div                                            {border-radius:0 0 10px 10px;}
#herologo div                                               {text-align:center;}
}

@media screen and (min-width:750px) {
  .block.bildtext,.block.textbild                            {padding:max(50px,5vw);}
  .block.bildtext .blockwrap,
  .block.textbild .blockwrap                                 {max-width:min(1200px,var(--maxBreite)); display:grid; grid-gap:min(50px,5vw); grid-template-rows:1fr; align-content:center;}
  .block.bildtext .blockwrap .block01                        {grid-column-start:1; grid-column-end:2; grid-row-start:1; grid-row-end:2; }
  .block.bildtext .blockwrap .block02                        {grid-column-start:2; grid-column-end:3; grid-row-start:1; grid-row-end:2; padding:0;}
  .block.bildtext .blockwrap                                 {grid-template-columns:2fr 3fr;}
  .block.textbild .blockwrap                                 {grid-template-columns:3fr 2fr;}
  .block.textbild .blockwrap .block01                        {grid-column-start:2; grid-column-end:3; grid-row-start:1; grid-row-end:2;}
  .block.textbild .blockwrap .block02                        {grid-column-start:1; grid-column-end:2; grid-row-start:1; grid-row-end:2; padding:0;}
  .block.nurbild .block01 img                                {height:auto;}
  #seitentitel                                               {text-align:center; background-color:#fff; grid-column-start:2; grid-column-end:3; grid-row-start:1; grid-row-end:2;}
  .zitat                                                     {font-size:24px; line-height:30px;}
  .zitierter                                                 {font-size:16px; line-height:20px;}
}

@media screen and (min-width:830px) {
 #navi ul.mainmenu                                           {display:block;}
}

@media screen and (min-width:1800px){
 .wave.-one                                                  {animation:rotate 20s ease-in-out infinite alternate ;}
 .wave.-two                                                  {animation:rotate 21s ease-in-out infinite alternate ;}
 .wave.-three                                                {animation:rotate 22s ease-in-out infinite alternate ;}
 .wave.-four                                                 {animation:rotate 23s ease-in-out infinite alternate;}
}