﻿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: 0.1em; }
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;
}

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"
    "box4 box4"
	"box5 box5"
    "box6 box7"
	"box6a 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: #993300; color: #ffffff;
    border: 0px solid #000;
   
	
}

.box2   {
	grid-area: box2;
	display: flex;
	justify-content: center;
	flex-direction: column;
    align-items: center;
    padding: 10px;
	background: #993300;
}


.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: black;
    padding: 1px;
     
}

.box6   {
	grid-area: box6;
	display: flex;
    align-items: center;
    flex-direction: column;
    background: #eeeeee;
    font-family: sans-serif;
    font-size: 0.9em;
    padding: 20px;
    text-align: justify;
    color: #000000;
}



.box6a   {
	grid-area: box6a;
	display: flex;
    align-items: center;
    flex-direction: column;
    background: #eeeeee;
    font-family: sans-serif;
    font-size: 0.9em;
    padding: 20px;
    text-align: justify;
    color: #000000;
    
}

/* Anfang Galerie */
ul {
  list-style: none;
}

.image-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.image-gallery li {
  flex-basis: 350px; /*width: 350px;*/
  position: relative;
  cursor: pointer;
}

.image-gallery::after {
  content: "";
  flex-basis: 350px;
}

.image-gallery li img {
  object-fit: cover;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-radius: 0px;
}

.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: 0px;
  /* 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-direction: column;
    font-family: sans-serif;
    font-size: 0.8em;
    padding: 10px;
    text-align: center;
    background: #ffffcd;
    color: #000000;
    border-left: 1px solid #000000; 
}

.modalDialog {
 position: fixed;
 font-family: Verdana, sans-serif;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background-color: rgba(0, 0, 0, 0.6);
 z-index: 99999;
 opacity: 0;
 transition: opacity 400ms ease-in;
 pointer-events: none;
}

.modalDialog:target {
 opacity: 1;
 pointer-events: auto;
}

.modalDialog > div {
 width: 300px;
 position: relative;
 margin: 10% auto;
 padding: 5px 20px 13px 20px;
 border-radius: 10px;
 background-color: #ffffff;
 background: linear-gradient(#ffffff, #999999);
 cursor: default;
}

.close {
 background-color: #606061;
 color: #ffffff;
 line-height: 25px;
 position: absolute;
 right: -12px;
 text-align: center;
 top: -10px;
 width: 24px;
 text-decoration: none;
 font-weight: bold;
 border-radius: 12px;
 box-shadow: 1px 1px 3px #000000;
}

.close:hover {
 background-color: #00d9ff;
} 




.box8   {
	grid-area: box8;
	display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
   
    font-family: sans-serif;
    font-size: 1em;
    padding: 4px;
    background: #000000;
    color: #ffffff;

}
/* Version vom 15.06.2023 */
