@charset "utf-8";
/* CSS Document */

/* Grundlayout für SELFHTML-Beispiele */

html {
        background: transparent!important;    background: pink;
}

body {
	margin: 1em auto;
	max-width: 65em;
	font-family: sans-serif;
	color: #333333;
}

h1, main, aside, main svg {
	border-radius: 0 8px 8px;
	border: 1px solid;
	padding: 1em;
	margin: 1em;
}
/*+++++++++++Überschriften+++++++++++++++++++++++++++++++++++++++*/
h1 {
  border-color: #d5d5d5; 
  font-family: serif;
  text-align: left;
  font-size: 5 rem;      
}

/*h1::after {
  content: 'informiert SM';
}*/

h2 { 
  color: #2c3e50; 
  margin-top: 0; 
  text-align: left;
}
    
h3 { 
  color: #2c3e50; 
  margin-top: 0; 
  margin-bottom: 5px;
  font-size: 1rem;  
}

h4 {
  margin-bottom: 5px;
  text-decoration: underline;
}


p {margin-top: 5px;        
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++*/

.figure {
  display: inline-block;
  width: 100%;
  margin: 0.2em;
        flex-wrap: row;
        align-content: left;
        text-align: center;
        
}
.figure img {
  width: 48%;
        border: 2px solid black;
        max-inline-size: 48%;
/*block-size: auto;*/

height: auto;
        
}
.figure figcaption {
  font-style: arial;
}
/*++++++++++++++Header++++Logo+++++++++++++++++++++++++++++++++++++*/
#logo {
/* background: #F1F3F4 url("https://wiki.selfhtml.org/images/a/ad/Selfhtml-beispiel_150.svg") 0px 0px no-repeat;*/
        background: #f1f3f4 url("img/i.jp") 0px 0px no - repeat;
  display: inline-block;
  width:50px;
  height: 50px;
  border: 1px solid red; font: 0/0 a; text-shadow: none; color: transparent;
}
/*++++++++++++++Hinweis++++Container+++++++++++++++++++++++++++++++++++++*/
#hinweis {                    /* für Container */

	border-left: 5px solid #c32e04;
}

.hinweis {                    /* für Textzeile */
        color: #c32e04; 
        font-style: italic; 
        border-bottom: 1px dotted; 
        display:inline-block; 
}
/*++++++++++++++Listen++++im Text+++++++++++++++++++++++++++++++++++++*/
ul {
  list-style-type: none; /* Optional: Listenstil */
  padding-left: 5px; /* Optional: Einzug anpassen */
}

ul li {
  margin-bottom: 10px; /* Erzeugt 10px Abstand zwischen jedem Listenelement */
}

/* Optional: Letztes Element ohne Abstand */
ul li:last-child {
  margin-bottom: 0;
}

/* +++++++++++++++++++++++++++++++++++++*/

.top {
	margin-right: auto; 
  margin-left: 5px;
  margin-top: -1em; 
  margin-bottom: -0.5em;
  background: #ffede0;
  color: black;
	display: flex;
  flex-wrap: column;
  align-items: normal;
  border: none;  
  text-align: center;  
}

#div-top {
display: flex;
flex-flow: column wrap;
width: 50%;  
align-items: left;
}

#h_nav_bar {
  background: transparent;
  display: flex;
  flex-flow: row wrap;
  width: 50%; 
  align-items: left;
}
  #h_nav_bar a {padding:5px; display:block; width:auto;font-weight:bold; color:black; border: none;}

    #h_nav_bar a:link { color:black; background-color:transparent; }
    #h_nav_bar a:visited { color:black; background-color:transparent; }
    #h_nav_bar a:hover { color:black; background-color:transparent; }
    #h_nav_bar a:active { color:black; background-color:transparent; }


/* +++++++++++++++++++++++++++++++++++++++++++++++*/    
.aufzaehlung {
  list-style-type: none; /* Optional: Listenstil */
  padding-left: 5px; /* Optional: Einzug anpassen */
        margin-top: 5px;
        border: none;
        color: black;
}
.aufzaehlung li {
  margin-bottom: 5px;
  color: black;
  border: none; /* Erzeugt 10px Abstand zwischen jedem Listenelement */
}

/* Optional: Letztes Element ohne Abstand */
.aufzaehlung li:last-child {
  margin-bottom: 0;
}

/* responsives Layout responsives Layout responsives Layout responsives Layout*/

body {
  display: flex;
  flex-flow: row wrap;
}
main {
	display: block;     /* für IE */	
	min-height: 200px;
  
}

aside {
	background: #d4d7d8;
	border-color: #4b4b4b;
} 

/* Mobile first - alle Dokument-Blöcke bekommen 100% Breite */
header, nav, nav a, article, section, aside, footer {
  border-radius: 0px 0.5em 0.5em;
  border: 1px solid;
  padding: 1em;
  margin: 1em;
  flex: 1 100%;
}

header {
  background: #ffede0;
  border-color: #4b4b4b;
  display: flex;
  flex-flow: row wrap;
  border: none;
}
header * {
  flex: 1 1 0%;
  margin: 0 1em;
  
}
header img {
 /* flex: 0 0 150px;*/
   width="100%";  
  margin-right: 20px;
}
header nav {
  flex: 1 1 100%;
  margin: .5em 2em;
  border-color: #d5d5d5;
  border: none;
}

/* ++++++++++Nav++++Header++++++++++++++++++++*/

nav ul, nav li{
  margin: 0 0.5em;
  padding: 0 0.5em;
  border: none;
}
nav ul {
  display: flex;
  flex-direction: column;        
}
nav li {
  list-style-type:none;
  margin: 1.3em 0;
  flex: 1 1 100%;
        
}
nav a {
  display:inline-block;
  width:95%;
  background: #F1F3F4;
  border: 1px solid #bdbebe;
  margin: 0;
  text-decoration: none;
  text-align: center;
}
nav a:hover, nav a:focus {
  background-color: #f8f8f8;
}

nav a[aria-current=page] {
	color:black;
	font-weight:bold;
}

/* ++++++++++++++++++++++++++++++++++*/


article {
  background: #ffede0;
  border-color: #4b4b4b;
}

article img {
	width: 15%;
	float: right;
	margin-left: 0.2em;
}

section {
  background: #F1F3F4;
  border-color: #4b4b4b;
}


aside {
  background: #c4c5c2;
  border-color: #4b4b4b;
}

/* ++++++++++++++++++++++++++++++++++*/

footer {
  background: #ffede0;
  border-color: #4b4b4b;
  display: flex;
  flex-flow: row wrap;
        
}
footer * {
  flex: 1 1 30%;
  justify-content: center; /*space-between;*/
}
footer p:last-child {
  text-align: center;
        
}

/* Kalender einfach  ++++++++++++++++++++++++++
table, th, td { 
	width: 100%;
  	border: 1px solid; 
  	border-collapse: collapse; 
}

th, td {
	padding: .5em;
}

th {
	background: #c32e04;
	color: #ffede0;
}

caption {
	caption-side: bottom;
	padding-top: 2em;
	font-style: italic;
}
*/



/* Termine++++Section++++++++++++++++++++++++++++++++++++++++++++*
.calendar-container { 
 /* max-width: 800px;
  border-radius: 0px 0.5em 0.5em;
  border: 1px solid;
  padding: 1em;
  margin: 1em;
  flex: 1 100%;
  max-height: 300px;
  background: #F1F3F4;
  border-color: #4b4b4b;          
} */
  
 /* Tabelle für Kalender-Anzeige  
 table {
  
  width: 100%;
  max-height: 150px;
  background: #fff;
  border: 1px solid black; /*#dfe6e9;
  border-collapse: collapse;       
  overflow: auto; /* X und Y Scroll 
  table-layout:fixed; 
  scrollbar-width: auto; /* 'auto' oder 'thin' 
  scrollbar-color: black lightgray; /* Scrollbalken-Farbe | Hintergrund-Farbe  
 } 
  
  th {
            background-color: #bed5f7; /*#007bff;
            color: black;
            position: sticky;
            top: 0;
            z-index: 10;                 
            text-align: left;
            padding: 0.1em 0.85em;    
   }

  td {
            padding: 12px 15px;
            border-bottom: 1px solid #eee;
            color: #636e72;
   }

   table td:nth-of-type(1) {
          width: 10%;          
   }
   table td:nth-of-type(2) {
            width: 15%;            
   }
   table td:nth-of-type(3) {
            width: 40%;            
   }
   table td:nth-of-type(4) {
           width: 35%;            
   }

   
   /* Streifen-Look  der Zeilen  
   tbody tr:nth-child(even) { background-color: #f8f9fa; }
   tbody tr:hover { background-color: #e3f2fd; }
   /* Daten-Zelle hervorheben  
   .date-cell { font-weight: bold; color: #2d3436;}
 
 +++++++++++++++++++++++++++++++*/   

        .calendar-container { 
                width: 100%
                /*
            max-width: 800px;*/
                padding: 1em;
                margin: 1em;
            background: #F1F3F4;
            padding: 25px; 
            border-radius: 0 8px 8px;
            display: flex;
           flex-flow: row wrap;
        }

        /* Das Scroll-Fenster */
        .calendar-window {
            width: 100%;
            max-height: 350px;
                min-height: 100px;
            border: 2px solid black;
            border-radius: 4px;
            display: flex;
            flex-flow: row wrap;
            overflow: auto;  X und Y Scroll */
            background: #fff;
        }

        table {
            width: 100%;
            border: 0px solid black;
            border-collapse: collapse;
        	   	padding: 0px 10px;
            min-width: 650px; /* Erzwingt X-Scroll bei kleinen Bildschirmen */
        }

        th {
            background-color: #007bff;
            color: white;
            position: sticky;
            top: 0;
            z-index: 10;
            text-align: left;
            padding: 15px;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 1px;
        }

        td {
            padding: 12px 15px;
            border-bottom: 1px solid #eee;
            color: #636e72;
        }

        /* Zebra-Look */
        tbody tr:nth-child(even) { background-color: #f8f9fa; }
        tbody tr:hover { background-color: #e3f2fd; }

        .date-cell { font-weight: bold; color: #2d3436; }
    
     /* Scrollbar Styling */
        .calendar-window::-webkit-scrollbar { 
            width: 10px; 
            height: 6px; }
        .calendar-window::-webkit-scrollbar-thumb { 
            background: #b2bec3; 
            background-color: yellow; /* #007bff;/* Farbe des Schiebereglers */
            border-radius: 3px; /* Abrundung */
            border: 2px solid gray; /* Rahmen um den Regler */
        }
/* +++++++++*/


/* Der Container der Galerie */
.gallery-container {
    display: grid;
    /* Erstellt zwei Spalten mit gleicher Breite (1fr) */
    grid-template-columns: repeat(2, 1fr);
    /* Abstand zwischen den Bildern */
    gap: 15px;
    /* Begrenzung der Höhe, damit Scrollen in Y-Richtung erzwungen wird */
    max-height: 60vh; 
    overflow-y: auto;
    padding: 10px;
    border: 1px solid #ddd;
    background: white;
}

/* Styling für die einzelnen Bild-Boxen */
.gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    object-fit: cover; /* Verhindert Verzerrungen */
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* Responsive Anpassung: Auf sehr kleinen Bildschirmen nur eine Spalte */
@media (max-width: 480px) {
    .gallery-container {
        grid-template-columns: 1fr;
        max-height: none; /* Auf dem Handy lieber die ganze Seite scrollen */
    }
}

/* ++++++++++++++++++++  */


/* Smart Phones und Tablets mit mittlerer Auflösung */
@media all and (min-width: 35em) {
header img {
  margin-right: 50px;
        width="100%";
}
nav ul {
  flex-direction: row;
}
nav li {
  margin: 0 10px;
  flex: 1 1 0%;
}
 {
  order: 2;
}
#news {
  flex: 1 auto;
  order: 3;
}
aside {
/* durch auto werden die beiden asides in eine Zeile gesetzt */
  flex: 1 auto;
  order: 4;
}
footer {
  order: 5;
}
main{
flex: 1 auto;

}
}

/* Large screens */
@media all and (min-width: 50em) {
  article {    /* Der Article wird 2.5x so breit wie die beiden asides! */
    order: 3;
    flex: 3 1 0%;
  }
  aside {
    flex: 1 1 0%;
  }
  #news {
    flex: 1 1 0%;	  
    order: 2;
    align-self: center;
    height: 12em;
  }
}

