/* ---------------------------------------------------------------- */
/*        Projekt:  goemint.de                                      */
/*        File:     style.css                                       */
/*        Autor:    Stephan Buchholz                                */
/*        Datum:    02.10.2020                                      */
/* ---------------------------------------------------------------- */

/* ---------------------------------------------------------------- */
      .left    { text-align: left; }
      .right   { text-align: right; }
      .center  { text-align: center; }
      .justify { text-align: justify; }
      .start   { text-align: start; }
      .end     { text-align: end; }
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/*    Small - Mobile First */
/* ---------------------------------------------------------------- */
/*
@font-face { font-family: 'Quicksand';
             src: url('../fonts/Quicksand-Regular.otf') format('opentype'); }
*/

@font-face { font-family: 'QuicksandBold';
             src: url('../fonts/Quicksand-Bold.otf') format('opentype'); }


@font-face { font-family: 'DejaVuSans';
             src: url('../fonts/DejaVuSans.ttf') format('truetype'); }

/* ---------------------------------------------------------------- */
/* Farben */
:root
{
   --html_background_color: #AFFFAF;
   --body_background_color: #F0F0F0;
   --body_text_color: #000000;
   --header_background_color: #FFF0F0;
   --header_text_color: #000000;
   --nav_background_color: #D0D0D0;
   --nav_a_background_color: #C0C0C0;
   --nav_a_text_color: #000000;
   --nav_a_hover_background_color: #303040;
   --nav_a_hover_text_color: #FFFFFF;
   --main_background_color: #E0FFE0;
   --main_text_color: #000000;
   --main_link_color: #200040;
   --article_background_color: #FFE0E0;
   --spalte_background_color: #E9F9E9;
   --spalte_text_color: #000000;
   --spalte_h1_background_color: #AFAFFF;
   --spalte_h2_background_color: #AFFFAF;
   --footer_background_color: #F0F0F0;
   --footer_text_color: #000000;
   --footer_link_color: #200040;
   --extern_link_color: #FF0000;
   --extern_link_background: #000000;
   --extern_link_color_hover: #000000;
   --extern_link_background_hover: #FF0000;
}
/* ---------------------------------------------------------------- */
html
{
   box-sizing: border-box;
}

*, ::before, ::after
{
   box-sizing: inherit;
}
/* ---------------------------------------------------------------- */

/* Universalselektor */
*
{
   -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
   -moz-box-sizing:    border-box; /* Firefox, other Gecko */
   box-sizing:         border-box; /* Opera/IE 8+ */
  /* border: 1px solid #FFFF80;*/ /* debug - gelber Rahmen um alle Objekte */
}

/* ---------------------------------------------------------------- */

html
{
   background-color: var(--html_background_color);
   /*background-image: linear-gradient(90deg, #AFFFAF 0%, #EFEFEF 35%, #EFEFEF 50%, #EFEFEF 65%, #AFFFAF 100%);*/
   background-repeat: no-repeat;
   /*background-image: url("../img/HintergrundMuster3_b.svg");
   background-repeat: repeat;
   background-size: 5em;*/
}

body
{
   display: flex;
   flex-flow: column nowrap; /* flex-flow (flex-direction) (flex-wrap) */ 
   justify-content:flex-start;
   align-items: stretch;
   /* minimale Breite -  mindestens iPhone 1 */
  /* min-width: 320px;*/
   margin: 5px auto 0px auto;
   padding: 5px auto;
 font-size: 100%;/*  font-size: 20px;  */
/* font-family: DejaVuSans, sans-serif;*/
/*  font-family: Arial, Helvetica, sans-serif;*/
font-family: Arial, Helvetica, sans-serif;
   color: #000000;
/*   background: var(--body_background_color); */
   background: transparent; 
/*background-image: linear-gradient(90deg, #FFF0F0 0%, #F0F0FF 100%);*/
max-width: 80em;
min-width: 12em;
}

/* ---------------------------------------------------------------- */
/* Hauptebene */

/* main - (Haupt-)Inhalt der Webseite */
main
{
   flex: 1 1 0%;
   order: 20;
   margin: 1.0em 0.5em 1.0em 0.5em;
   padding: 0.5em 0.5em 0.5em 0.5em;
   background: var(--main_background_color);
background-image: linear-gradient(100deg, #CFCFCF 0%, #FFFFFF 10%, #FFFFFF 35%, #DFDFDF 50%, #FFFFFF 65%, #FFFFFF 90%, #CFCFCF 100%);
/*   background-color:#FFFFC0;*/
   /* Rahmen */
/*   border: 1px solid grey;*/
/*   border-radius: 0.3em;*/
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey;
   /* sub-flex-container */
   display: flex;
   flex-flow: row wrap;  
   /* automatischer Zeilenumbruch */
   -ms-hyphens: auto;
   -webkit-hyphens: auto;
   hyphens: auto;
}


/* ---------------------------------------------------------------- */
main > h1
{
   flex: 1 1 100%;
   margin: 0.2em auto 0.2em auto;
   padding: 0.2em 1.0em 0.2em 1.0em;
   background: var(--spalte_background_color);
/*   background: linear-gradient(90deg, transparent 0%, #EFEFEF 30%, #EFEFEF 70%, transparent 100%);*/
/*   border: 1px solid grey;
   border-radius: 0.3em;
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey;*/
   text-align: center;
/*min-width: 12em;*/
/*max-width: 35em;*/
}
main > h2
{
   flex: 1 1 100%;
   margin: 0.2em auto 0.2em auto;
   padding: 0.2em 1.0em 0.2em 1.0em;
   background: var(--spalte_background_color);
/*   border: 1px solid grey;
   border-radius: 0.3em;
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey;*/
   text-align: center;
/*min-width: 12em;*/
/*max-width: 35em;*/
}

main article
{
   flex: 1 1 0%;
   margin: auto;
max-width: 40em;
   background: var(--article_background_color);
}

main section.spalte
{
   flex: 1 1 0%;
   margin: 0.2em auto 0.2em auto;
   padding: 0.2em 1.0em 0.2em 1.0em;
   color: var(--spalte_text_color);
   background: linear-gradient(90deg, #FFE9E0 0%, #EFEFEF 30%, #EFEFEF 70%, #F9F0E0 100%);
/*   border: 1px solid grey;
   border-radius: 0.3em;
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey;*/
min-width: 12em;
max-width: 35em;
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey; /* pink #FFC0CB */
}
main a
{
   display: block; /* makes the whole link area clickable */
   text-decoration: none; 
   color: var(--main_link_color);
   -ms-hyphens: auto;
   -webkit-hyphens: auto;
   hyphens: auto;
}
main p a
{
   display: inline; /* makes the whole link area clickable */
   text-decoration: none; 
   color: var(--main_link_color);
   -ms-hyphens: auto;
   -webkit-hyphens: auto;
   hyphens: auto;
}

main section.spalte a:focus
{
   background: #F0FFF0;
}
main section.spalte a:hover
{
   background: #FFFFFF;
}

main section.spalte a:active
{
   background: #F0F0FF;
}

.more
{
   text-align: center;
   width: 100%;
   display: block;
}

main section.spalte a:focus .more,
main section.spalte a:hover .more,
main section.spalte a:active .more
{
   background: var(--spalte_h2_background_color);
}

main aside
{
   flex: 1 1 0%;
   margin: 0;
}
main img
{
   flex: 1 1 0%;
   margin: 0;
   padding: 0 ;
   background: #E0E0E0;
}
/* ---------------------------------------------------------------- */
main section.spalte h1
{
   background: var(--spalte_h1_background_color);
   text-align: center;
}
main section.spalte h2
{
   background: var(--spalte_h2_background_color);
   text-align: center;
}


main section.spalte dl
{
    margin-bottom: 50px;
/*    clear: left;*/
    margin-top: 1em;
    margin-right: auto;
    margin-bottom: 1.2em;
    margin-left: auto;
    width: 25em;
/*   background: green;*/
}
 
main section.spalte dt
{	
   text-align: left; 
    margin: 0.3em 0em 0.25em;
 /*   font-weight: bold;*/
 /*   margin-right: 5px;*/
/*    padding: 5px; 
    width: 50%;
*/
}
main section.spalte dd
{
    text-align: center; 
    margin: 0.15em 0em;
/*    padding: 5px 0;*/
/*background: #203040;*/
}

.spalte img
{
width: 100%;
/*    padding: 5px 0;*/
/*background: #203040;*/
}
/* ---------------------------------------------------------------- */

main aside.spalte dl
{
    margin-bottom: 50px;
/*    clear: left;*/
}

main aside.spalte dt
{	
  text-align: left; 
    font-weight: bold;
    margin-right: 5px;
    padding: 5px; 
    width: 50%;
}
 

main aside.spalte dd
{
  text-align: center; 
    margin: 2px 0;
    padding: 5px 0;
}

/* ---------------------------------------------------------------- */
#sitemap
{
   flex: 1 1 0%;
   margin: 0.2em auto 0.2em auto;
   padding: 0.2em 1.0em 0.2em 1.0em;
   color: var(--spalte_text_color);
   background: linear-gradient(90deg, #FFE9E0 0%, #EFEFEF 30%, #EFEFEF 70%, #F9F0E0 100%);
  text-align: center; 
/*   border: 1px solid grey;
   border-radius: 0.3em;
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey;*/
min-width: 12em;
/*max-width: 35em;*/
   box-shadow: 0.1em 0.1em 0.3em white inset, 0.2em 0.2em 0.2em grey; /* pink #FFC0CB */
}
#sitemap svg
{
min-width: 12em;
   width: 100%;
   height: auto;
   margin: auto;
/*max-width: 35em;*/
}

#sitemap a:hover ellipse
{
   fill: url(#verlauf_hover);
}
/* ---------------------------------------------------------------- */
#under-construction
{
   flex: 1 1 100%;
   margin: 0.5em 1em 1.0em 1em;
   padding: 0.2em;
   font-size: 1.5em;
   font-weight: bold;
   text-align: center; 
   line-height: 2.0em; 
   background: RebeccaPurple; /* #663399 */
   color: hotpink;            /* #FF69B4 */
 /* border: 1px solid grey;*/
   border-radius: 0.3em;
   box-shadow: 0.1em 0.1em 0.3em pink inset, 0.2em 0.2em 0.2em grey; /* pink #FFC0CB */
}
#under-construction img
{
width: 1.5em;
/*text-align: left;*/
margin: 0.5em 1em -0.3em 1em;
   background: RebeccaPurple; /* #663399 */
}
/* ---------------------------------------------------------------- */
.extern_link
{
   color: var(--extern_link_color);
   background: var(--extern_link_background);
}
.extern_link:hover
{
   color: var(--extern_link_color_hover);
   background: var(--extern_link_background_hover);
}
/* ---------------------------------------------------------------- */

.gallery
{
   flex: 1 1 0%;
  color:#AFFFBF;
/*  padding-left;-2%;*/
  font-family:"Times New Roman", Times, serif;
  text-align: center;
}

/* ---------------------------------------------------------------- */

  /* slide in captions found @http://css-tricks.com/slide-in-image-captions/ */
 figure { 
   flex: 1 1 100%;
  padding:0;
  margin:0;
/*  width:auto;*/
  height: auto;
/*  padding:0;
  margin:0 -20px;
  display: block; 
  position: relative; */
  text-align: center;
  overflow: hidden; 
}
 figure img
{ 
/*  width:auto;*/
  height: auto;
/*  padding:0;
  margin:0 -20px;
  display: block; 
  position: relative; */
}
/*
figure:before { 
  content: "?"; 
  background: rgba(128,255,255,0.75); 
  color: black;
  width: 24px;
  height: 24px;
  bottom:30px; left:30px;
  -webkit-border-radius: 12px;
  border-radius:    12px;
  text-align: center;
  font-size: 14px;
  line-height: 24px;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
  opacity: 0.75;  
}
figure:hover:before {
  opacity: 0;
}
*/
figcaption { 
/*  position: absolute; */
  background: rgba(0,0,0,0.75); 
  color: white; 
/*  padding: 10px 20px;*/
/*  width:100%; */
  opacity: 0;
  padding:0;
  margin:0;
/*  bottom: -20%; 
  left: 0;*/
  -webkit-transition: all 0.6s ease;
  -moz-transition:  all 0.6s ease;
  -o-transition:   all 0.6s ease;
  transition: all 0.6s ease;
}

figure:hover figcaption {
  opacity: 1;
  bottom: 0;
}

/* ---------------------------------------------------------------- */

.redheart
{
color: #ff0000;
}

/* ---------------------------------------------------------------- */

/* ---------------------------------------------------------------- */

