html {
font-size: 100%}

body		{

	margin: 0.4rem auto;
	padding: 0;
  	box-sizing: border-box;
    
	background: url(../site-img/khv-logo-150x150kachel.jpg) ;
	background-repeat: repeat;
	
    font-size: calc(10px + (16 - 10) * ((100vw - 320px) / (1200 - 320)));
    
    max-width: 1200px;
}

a { text-decoration: none; }
p { margin-top: 1.2em; }
h3 { margin: 0.1em; }
/*
Die oben gezeigte calc()-Funktion basiert auf folgender Formel:

body {
  font-size: calc([minimum size] + ([maximum size] - [minimum size]) * ((100vw - [minimum viewport width]) / ([maximum viewport width] - [minimum viewport width])));
}
Ausgangsformel war: 
body {
 font-size: calc(16px + (28 - 16) * ((100vw - 320px) / (1600 - 320)));
}

*/

.logo      {
   object-fit: contain;
   width: 80%;
   height: auto;
   max-width: 120px;
}


.schfl           {
   object-fit: contain;
   width: 100%;
   height: auto;
    
}


.bild-banner    {
    object-fit: contain;
    width: 100%;
    height: auto;
    max-width:1200px;
}
.bild-rund      {
    object-fit: contain;
    border-radius: 10px;
    width: 100%;
    height: auto;
    max-width: 580px;
    margin: 20px
}

.bild-start      {
    object-fit: contain;
    /*border-radius: 0px;*/
    width: 100%;
    height: auto;
    max-width: 600px;
    padding-bottom: 20px;
}

.bild-rahmen1      {
    
    object-fit: contain;
    margin: 10px;
    padding: 10px;
    background: #EEF3E2;
    border: 1px solid;
    
    border-color: #000000;
    width: 100%;
    height: auto;
    max-width: 405px;
}


.bild-presse800      {
    object-fit: contain;
    
    width: 100%;
    height: auto;
    max-width: 800px;
    padding: 20px;
}
.bild-presse600      {
    object-fit: contain;
    
    width: 100%;
    height: auto;
    max-width: 600px;
    padding: 20px;
}

.bild-presse400     {
    object-fit: contain;
    
    width: 100%;
    height: auto;
    max-width: 400px;
    padding: 20px;
}



main            {
	height: 100vh;
	display: grid;
	grid-template-columns: 1fr 25%;
	grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-areas:
	"box1 box2"
	"box3 box3"
   
	"box5 box5"
    "box5a box5a"    
    "box6 box6"
    "box7 box7"    
	"box8 box8";
    /*margin: 0px;*/
    background-color: #aae1ef;
    /*padding: 0px;
    border: 0px solid #000;*/
    
	
}

.box1   {
	grid-area: box1;
	display: flex;
	justify-content: center;
	flex-direction: column;
    align-items: left;
    font-family: sans-serif;
    font-size: 2em;
	padding: 20px;
	background: #cccccc; color: #ffffff;
    /*border: 0px solid #000;*/
   
	
}

.box2   {
	grid-area: box2;
	display: flex;
	justify-content: center;
	flex-direction: column;
    align-items: center;
    padding: 10px;
	background: #cccccc;
}


.box3   {
    grid-area: box3;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-family: sans-serif;
    padding: 4px;
    background: #333333;
    color: #ffffcd;
    font-size: 1.4em;
   
}
/*
.box4   {
    grid-area: box4;
    display: flex;
    justify-content: center;
    flex-direction: column;
   
    align-items: center;
    
    padding: 0px;
    background: #ffffff
}

*/    
.box5   {
    grid-area: box5;
    display: flex;
    flex-flow: row wrap;
    align-items: center; 
    justify-content: space-around;
    background-color: #999999;
    padding: 1px;
    
    border-top: 4px solid #999999; 
}

.box5a   {
    grid-area: box5a;
    display: flex;
    /*justify-content: center;*/
    flex-direction: column;
    align-items: center;
    background: #eeeeee;
    padding: 40px;
    font-family: sans-serif;
    font-size: 1em;
    text-align: justify;
    color: #000000;


   
}



.box6   {
	grid-area: box6;
	display: flex;
    align-items: center;
    flex-direction: column;
    background: #eeeeee;
    font-family: sans-serif;
    font-size: 1em;
    padding: 20px;
    text-align: justify;
    color: #000000;
}
/* Anfang Galerie */
ul {
  list-style: none;
}

.image-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.image-gallery li {
  flex-basis: 320px; /*width: vorher 350px;*/
  position: relative;
  cursor: pointer;
}

.image-gallery::after {
  content: "";
  flex-basis: 320px; /*width: vorher 350px;*/
}

.image-gallery li img {
  object-fit: cover;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-radius: 10px;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(57, 57, 57, 0.502);
  top: 0;
  left: 0;
  transform: scale(0);
  transition: all 0.2s 0.1s ease-in-out;
  color: #fff;
  border-radius: 10px;
  /* center overlay text */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* hover */
.image-gallery li:hover 
.overlay {
  transform: scale(1);
}

/* Ende Galerie */

.box7   {
	grid-area: box7;
    display: flex;
    flex-flow: row wrap;
    align-items: center; 
    justify-content: space-around;
    background-color: #999999;
    padding: 1px;
    border-top: 4px solid #999999;
   
}

.box8   {
	grid-area: box8;
	display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    font-family: sans-serif;
    font-size: 1em;
    padding: 4px;
    background: #000000;
    color: #ffffff;

}
/* Version vom 04.08.2025 */
