
/* = = = = = = = = = = = = = = = = = datei format.css = = = = = = = = = = = = = = = = = = = = = = = = = */


/* ############################################################ */
/* allgemein */
/* ############################################################ */

*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

html, body {
font-family:'open_sanscondensed_light', arial,helvetica, roboto ,sans-serif;
font-size:62.5%;
line-height:1.5;
}

body {height:100%;
font-size:1.8rem;
margin: 0 auto;
overflow-x:hidden;
color:#686868;
}


/* ---- überschriften ----- */

h1, h2, h3, h4, h5 {text-align:left;
font-weight:bold;text-transform:none;
}


h2 {
font-size:2.8rem;
line-height: 3.5rem;
margin-top: 1rem;
margin-bottom: 3.5rem;
letter-spacing: 0rem;
}


h3 {
font-size:2rem;
line-height: 3rem;
margin-top: 1rem;
margin-bottom:2.5rem;
letter-spacing: -.1rem;
}

/* ----- h2 und h3 extra ----- */

h2.extra {
margin-top: 0rem;
margin-bottom: 3rem;
letter-spacing:1px;
}

h3.extra {
font-size:1.7rem;
line-height: 2.6rem;
margin-top: -1rem;
margin-bottom:1rem;
letter-spacing:.1rem;
}


/* ----- quelltext-erklärungen - wenn vorhanden ----- */

pre {white-space:pre-wrap;position:relative;
font-size:1.5rem;
font-family:'open_sanscondensed_light', tahoma,georgia,  arial, Verdana, Segoe, 'Open Sans',helvetica,roboto ,sans-serif;
padding:0rem 1rem 2rem 1rem;
margin:4rem auto;
text-align:center;
border:dotted 0.1rem #686868;
background:transparent;
}

pre .extra {display:inline-block;
position:absolute;
left:-1.5rem;top:1.5rem;font-size:1.8rem;
color:#fff;font-weight:normal;
background:#0169ce;padding:0 .5rem;
transform:rotate(-45deg);
}


/*  ----------------------------------------  */
/* allgemeine links */
/*  ----------------------------------------  */

a  {color:#686868;
text-decoration: underline; }

label a {cursor:pointer; }

a:hover {color:#686868;
text-decoration: none;
}


/* ############################################################ */
/*  speziell*/
/* ############################################################ */

/* bilder -anpassen der grösse */
img {max-width: 100%;display:block;
margin:0 auto;
height: auto;
border-radius:0rem;
}


/*  ----------------------------------------  */
/*   MEHR LESEN-BUTTON  */
/*  ----------------------------------------  */

/* ----- style ----- */

.button  {display:block;
margin:3rem 0 1rem 0;
text-align:left;
}

.button .mehr_lesen a {display:inline-block;
text-transform:uppercase;
font-size:1.5rem;
letter-spacing:2px;
border-radius:.5rem;
text-decoration:none;
padding:.5rem 3rem ;
cursor:pointer;
}

.button .mehr_lesen a:hover {color:#fff;
background:transparent;
}


/* spezielle button-platzierung mit position:relative/absolute */
/* siehe beim abschnitt information */

.button-position {POSITION:relative; }


/*  ----------------------------------------  */
/* LISTE-SPEZIAL  */
/*  ----------------------------------------  */

/* ----- style 1 ----- */

.liste-spez   {display:block;padding:0;}

.liste-spez ul  {text-align:left;
margin:0rem 0 0 0;
padding:0rem 0 0 2rem;
}

.liste-spez li {list-style:square; }


/* ----- style 2 -  bei vorangestelltem icon (fontawesome) ----- */

.liste-spez-2 ul  {text-align:left;
margin:0 0 0 0rem;
padding:0 0 0 2rem;
}

.liste-spez-2 li {list-style:none;
list-style-position: inside; /* rückt gfls zweite zeile ein*/
text-indent:-1.6rem; /* rückt gfls zweite zeile ein */
padding-left: 1.5rem; /* rückt gfls zweite zeile ein */
}

.liste-spez-2  i {transform:scale(.9);padding-right:1.5rem;color:#9B315B; }
.liste-spez-2 li a:hover i {color:dodgerblue; }



/*  ----------------------------------------  */
/* float box vom text umflossen  */
/*  ----------------------------------------  */

.flt-box {display:inline-block;
background:#fffcf1;
padding:1.5rem .5rem 1.5rem 2rem;
float:left;width:100%;
margin:2rem 0rem 2rem 0;
border:solid 1px rgba(0,0,0,.05);
border-radius:2rem;
}



/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */
/*  GRID-SYSTEM  - für Bilder / Spalten */
/* = = = = = = = = = =  = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = */

/* ---------- boxen - grundsystem ---------- */

.box {display:inline-block;
text-align:left;
vertical-align:top;
width:100%;
padding: 1rem 2rem;
margin:0  -.25rem -.25rem -.25rem; /* ausgleich ( minus-margin) für INLINE-BLOCK-WHITESPACE-BUG*/
}

.box-1_of_1 ,
.box-1_of_2 ,
.box-1_of_3,
.box-1_of_4,
.box-1_of_5 {width:100%; }


/* ---------- boxen - bilder ---------- */

.bilder  {text-align:center; }
.bilder .box  {padding:.3rem; }

.bilder .box-1_of_1 ,
.bilder .box-1_of_2 ,
.bilder .box-1_of_3,
.bilder .box-1_of_4 {width:100%; }

#gallery .bilder .box img {border-radius:0;}
#gallery .bilder .box-1_of_2 {width:50%; }
#gallery .bilder .box-1_of_3 {width:33.33%; }
#gallery .bilder .box-1_of_4 {width:50%; }
#picture-spez-block .bilder .box-1_of_4 {width:100%; }

/*  bei Mausberührung der Bilder, wenn diese verlinkt sind (z.B Lightbox) */
a:hover img {opacity:.8;  filter: blur(2px)  }


/*  ---------- boxen - andere ---------- */

#logo .box-1_of_2 {width: 100%; }
#fuss .box-1_of_3 {width: 100%; }




/* ############################################################ */
/* bereich header */
/* ############################################################ */

header {height:100%;
background:#9B315B;
background-image:url(../images/picture04.jpg);
background-repeat:no-repeat;
background-position:50% 50%;
background-size:cover;
}

header .filter {
background:linear-gradient(to bottom,rgba(24,29,56,.8),transparent);
}


/* ############################################################ */
/* bereich top */
/* ############################################################ */

#top {display:table;width:100%;
padding:0rem;margin:0 auto;
}

.top-a {display:table-cell;vertical-align:top;
width:auto;
text-align:center;
padding:1rem 0.5rem 1rem 0.5rem;
}


/* ############################################################ */
/* bereich logo */
/* ############################################################ */

#logo {
display:table;
width:100%;
margin:0 auto;
height:100vh;
padding:3rem 1.5rem;
}

.logo-a  {display:table-cell;vertical-align:middle;text-align:center; }
.logo-a-inhalt  {display:block;margin:0 auto;}

#logo .box {vertical-align:middle;padding:0; }

#logo .box:nth-child(1) {display:none; } /* leere box 1 ausgeschaltet, dient als abstandhalter */

/* logo-object  */

#logo .logo-object {display:block;width:100%;
background:linear-gradient(to right bottom ,rgba(155,49,91,.8), rgba(0,0,0,.3),rgba(155,49,91,.4) );
text-align:left;margin:0 auto;
padding:8rem 2rem;margin-top:-1rem;
box-shadow:2px 2px 50px rgba(0,0,0,.4);
border-top-left-radius:2rem;
border-top-right-radius:2rem;
border-bottom-right-radius:2rem;
border-bottom-left-radius:2rem;
}

#logo .slogan {color:#E1E3F2;
font-size:1.4rem;
letter-spacing:1px;
}

#logo .name {display:block;color:cornsilk;
border-bottom:solid 4px #7C7621;
font-weight:bold;
text-transform:uppercase;
font-size:2.8rem;
line-height: 4rem;
letter-spacing:0px;
margin: 0 ;
padding:0;
}



/* ############################################################ */
/* bereich inhalt */
/* ############################################################ */

main#inhalt {display:block;
background:cornsilk;
padding:0rem 0rem 0rem 0rem;
margin:0 auto;
}

.inhalt-a {display:block;
width:100%;
margin:0 auto;
padding: 1.5rem 1.5rem 2rem 1.5rem;
}



/*  ----------------------------------------  */
/*  box presentation */
/*  ----------------------------------------  */

#presentation  {background:cornsilk;color:darkslategray;}

#presentation h2 {text-align:center;color:#9B315B; }

#presentation h3.extra {text-align:center;color:#1f1f1f;text-transform:uppercase;letter-spacing:5px; }


.liste-spez-2#contact-details li ,
.liste-spez-2#contact-details li a {color:#3f3f3f; }

.liste-spez-2#contact-details  i {color:slategray; }
.liste-spez-2#contact-details li a:hover i {color:#9b315b; }



/*  ----------------------------------------  */
/*  picture-spez-block box */
/*  ----------------------------------------  */

.section-inhalt#picture-spez-block  {margin:-.3rem; }

#picture-spez-block .inhalt-a  {padding:0; }

#picture-spez-block  { background:#1c2140; }

#picture-spez-block .bilder .box  {padding:0rem; }



/*  ----------------------------------------  */
/*  project box - zitat */
/*  ----------------------------------------  */

#project  { background:#0169CE;
color:cornsilk;margin:0 auto; }

#project .box  {margin:0;padding:0; }


/* blockquote-zitat */

blockquote.zitat {display:table;width:100%;border-collapse: collapse;
color:lightskyblue;margin:0 auto ;
text-shadow:1px 1px 3px rgba(0,0,0,.5);
font-weight:normal;
font-style:normal;
font-size:2.2rem;line-height:3.4rem;
padding:0rem 1rem;
text-align:left;
letter-spacing:0px;
}


/* icon  vorangestellt beim zitat mit ::before  */

blockquote.zitat::before {display:table-cell; /* platziert icon über den text */
font-family:'Font Awesome 5 Free';/* - 'Font Awesome 5 Free' for Regular and Solid symbols;
                                     - 'Font Awesome 5 Brands' for Brands symbols. */
font-weight: 900;/*  Weight of the font (mandatory)
                     - 400 for Regular and Brands symbols;
                     - 900 for Solid symbols. */
content:"\f10d";
text-align:center;
font-size:auto;
background:#015eb9;
color:lightskyblue;
padding:0rem 1rem;
box-shadow:40px 40px 80px rgba(0,0,0,.8);
border-right:double .6rem lightskyblue;
}

blockquote.zitat span {display:block;
background:transparent;
padding: 2rem 1rem 1rem 1rem;
}


/*  ----------------------------------------  */
/* box information  */
/*  ----------------------------------------  */

#information {background:cornsilk; }


#information h3.extra {text-align:center;color:#000;text-transform:uppercase;letter-spacing:5px; }
#information h2 {text-align:center;color:#9B315B; }

#information .box  {padding: 1rem 1rem;margin:0 auto;
margin-bottom:3rem;background:transparent;
}

#information-group h3 {
margin-top: 0rem;
margin-bottom:1rem;color:#884D63;
}


/* spezielle button-platzierung mit position */

#information-group .button-position .button  {
POSITION:static; /* keine auswirkungen  */
bottom:-3rem;left:0rem;
}

#information-group .button .mehr_lesen a {
color:darkslategray;
background:white;
border:solid 1px #efefef;
}

#information-group .button .mehr_lesen a:hover {color:darkslategray;
background:papayawhip;
}



/* ############################################################ */
/* bereich fuss */
/* ############################################################ */

footer {
margin:0 auto;
padding:0rem ;
background:#9B315B;
}

#fuss {display:block;
width:100%;
margin: 0 auto;
padding:0;
}

.fuss-a {display:block;
margin: 0 auto;
padding:2rem 1.5rem;
border-top-left-radius:2rem;
border-top-right-radius:2rem;
}

/* gilt nur für jeden zweiten article in der jeweiligen fuss box, also hier für FOLLOW US  */
#fuss .box article:nth-child(2) {margin-top:3.5rem; }


#fuss .box h3 {
text-align:left;
font-size:1.7rem;
color:cornsilk;
letter-spacing:2px;
font-weight:bold;
text-transform:uppercase;
padding-bottom:.5rem;
margin-top:2rem;
margin-bottom:.5rem;
}



/*  ----------------------------------------  */
/*  die wesentlichen schriftformate für den gesamten footer plus fussmenu */
/*  ----------------------------------------  */

#fuss ,
#fuss a {
color:#DCD1D8;
text-shadow:none;
font-weight:normal;
font-size:1.6rem;
line-height:2.8rem;
text-decoration:none;
}

.fussmenu  ul {text-align:left;list-style: none;padding: 0;margin: 0; }
.fussmenu li { display:block;paddingd:0 .1rem; }
#fuss li a:hover {color:#fff;text-decoration:underline }


/* icons social media */

.fussmenu ul.social li  {display:inline-block; margin-right:1rem; }

.fussmenu ul.social li span  {display:block;
background:cornsilk;
text-align:center;
width:3rem;height:3rem;line-height:3rem;
border-radius:36rem;
}

.fussmenu ul.social li i {display:block;color:#9B315B;
width:3rem;height:3rem;line-height:3rem;
font-size:1.3rem;transition:all .8s ease-out;
}

.fussmenu ul.social li i:hover {transform:rotate(360deg) ;color:dodgerblue; }

#fuss .fussmenu ul.social a:hover  {text-decoration:none; }
.fussmenu ul.social li a:hover span {background:cornsilk;  }


/* icons kontakt */

.fussmenu ul.contact li  {display:block; }
.fussmenu ul.contact li i {color:cornsilk;margin-right:1.2rem;transition:all .3s; }
.fussmenu ul.contact li a:hover i {color:#fff;transform:rotate(360deg) }




/* ############################################################ */
/* M E D I A   Q U E R I E S */
/* CSS Bildschirmabfragen */
/* ############################################################ */

/* ==================================== ab 320 pixel ================================== */
@media (min-width: 320px) {

/* - hinweis -
für die kleinste smartphone-auflösung von 320 pixel benötigen wir KEINE bildschirmabragen (css-media queries),
denn hierfür gilt ja automtisch der gesamte vorstehende quelltext-code  -
weil wir das template ja 'MOBILE-FIRST' angelegt haben.
*/

}


/* ==================================== ab 360 pixel ================================== */
@media (min-width: 360px) {

/* keine angabe */

}


/* ==================================== ab 480 pixel ================================== */
@media (min-width: 480px) {

html {font-size:70%; }

#logo .logo-object {width:36rem; padding:2rem 2rem; }

.bilder .box-1_of_4  {width: 50%; }

}


/* ==================================== ab 580 pixel ================================== */
@media (min-width: 580px) {

.logo-a-inhalt  {width: 550px; }
.fuss-a  {width:94%; }

blockquote.zitat {font-size:3rem;line-height:4rem; }

.bilder .box-1_of_2  {width: 50%; }
#gallery .bilder .box-1_of_4 {width:25%; }

}


/* ==================================== ab 640 pixel ================================== */
@media (min-width: 640px) {

#fuss .box-1_of_3  {width: 50%; }
#picture-spez-block .bilder .box-1_of_4 {width:50%; }

}


/* ==================================== ab 760 pixel ================================== */
@media (min-width: 760px) {

html {font-size:80%; }

#top {padding: 1rem 0 1rem 0; }

#logo {height:45vh; }
#logo .logo-object {margin-top:-5rem; } /* weil oben das menü hinzukommt */

.logo-a-inhalt  {width: 730px; }

.inhalt-a  {width: 700px; }
#picture-spez-block .inhalt-a  {width:100%; }

.bilder .box-1_of_3  {width: 33.33%;  }

#fuss , #fuss  a {font-size:1.3rem; }
#fuss .box h3 {font-size:1.3rem; }

}


/* ==================================== ab 800 pixel ================================== */
@media (min-width: 800px) {

/* keine angabe */

}


/* ===================================== ab 960 pixel ================================= */
@media (min-width: 960px) {

#logo {height:60vh; }

.logo-a-inhalt {width: 90%; }
.inhalt-a  {width: 90%; }
.fuss-a  {width:90%; }

#logo .box:nth-child(1) {width: 50%; display:inline-block; }
#logo .box:nth-child(2) {width: 50%; }

.flt-box {width:28rem; margin:2rem 2rem 1rem 0; }

#information-group {display:table;width: 100%;border-spacing:3rem 0rem;table-layout:fixed;padding-bottom:4rem }
#information-group .box {display:table-cell;padding:0rem 0 4rem 0;  }

/* spezielle button-platzierung mit position */
#information-group .button-position .button  {
POSITION:absolute;
}

blockquote.zitat  {width:80%; }
blockquote.zitat span {padding: 0rem 1rem 0rem 1rem; }

.bilder .box-1_of_4  {width: 25%; }
#fuss .box-1_of_3  {width: 33.33%; }

/* gilt nur für jeden zweiten article in der fuss box, also hier für FOLLOW US  */
#fuss .box article:nth-child(2) {margin-top:0; }

}


/* ===================================== ab 1024 pixel ================================= */
@media (min-width: 1024px) {

pre {width:70%; }

}


/* ===================================== ab 1280 pixel ================================= */
@media (min-width: 1280px) {

#top {width: 80%;}
.logo-a-inhalt {width: 80%;}
#logo {height:70vh; }
.inhalt-a  {width: 80%; }
.fuss-a  {width:80%; }

}


/* ===================================== ab 1400 pixel ================================= */
@media (min-width: 1400px) {

html {font-size:85%; }

}


/* ===================================== ab 1650 pixel ================================= */
@media (min-width: 1650px) {

.logo-a-inhalt {width: 1600px; }
.inhalt-a  {width: 1600px; }
.fuss-a  {width:1600px; }

}

/* ============================================= */
/*  Letzte Themen – vollständige Styles (mobile-first)  */
/* ============================================= */

/* Reset/Box-Sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Container */
.last-topics {
  max-width: 90%;
  margin: 2rem auto;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.last-topics ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.last-topics .topic-item {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border-bottom: 1px solid #eee;
}

.last-topics .topic-item:last-child {
  border-bottom: none;
}

.last-topics .topic-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #283857;
  text-decoration: none;
  transition: color 0.2s ease;
}

.last-topics .topic-title:hover {
  color: #9B315B;
}

.last-topics .topic-meta {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #666;
}

.last-topics .topic-meta a {
  color: #9B315B;
  text-decoration: none;
  transition: color 0.2s ease;
}

.last-topics .topic-meta a:hover {
  color: #0169CE;
}

/* Tablet (ab 600px) */
@media (min-width: 600px) {
  .last-topics {
    max-width: 80%;
  }
  .last-topics .topic-item {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
  }
  .last-topics .topic-meta {
    margin-top: 0;
  }
}

/* Desktop (ab 1024px) */
@media (min-width: 1024px) {
  .last-topics {
    max-width: 100%;
  }
  .last-topics .topic-item {
    padding: 1.5rem 2rem;
  }
  .last-topics .topic-title {
    font-size: 1.25rem;
  }
  .last-topics .topic-meta {
    font-size: 0.875rem;
  }
}  /* <-- Hier Medienquery schließen! */

/* ===================================== ab 1650 pixel ================================= */
@media (min-width: 1650px) {
  .logo-a-inhalt { width: 1600px; }
  .inhalt-a     { width: 1600px; }
  .fuss-a       { width: 1600px; }
}

/* -------------------------------- */
/*  iFrame-Container & -Styling     */
/* -------------------------------- */
.iframe-container {
  width: 100%;
  max-width: 100%;
  margin: 2rem auto;
  overflow: hidden;
}
.iframe-container iframe {
  width: 100%;
  height: auto;    /* wird per JS überschrieben */
  border: none;
  display: block;
}
}
