/* Stylesheet für Selfhtml Design 08
  responsives Layout mit Grid Layout ab Z. 249   */

/* ====================================================   GLOBAL DEFINITION   ==================================================== */

/* alternatives Boxmodell */

/* Farbschema:
   Ebony:      #0A0708                        Dark Road Curve
   Cool Gray:  #444444                        https://www.canva.com/colors/color-palettes/dark-road-curve/
   Gray:       #747474
   Pewter:     #B1B1B1
   White:      #E5E8E8     WhiteSmoke
*/

html {
        box-sizing: border-box;
        padding: 0;
        margin: 0;
}

*, ::before, ::after {
        box-sizing: inherit;
}

@font-face { font-family: 'spot';
             src: url('../fonts/Montserrat-VariableFont_wght.ttf') format('truetype');}

body {margin: 0 auto;
      font-family: spot;  /* normal 1em Arial, sans-serif; Mindestschriftgröße wird dem Browser, bzw. dem Nutzer überlassen! */
      color: #0B0909;
      background-color: #0A0708;
      background-image: url("../img/pexels-wolfgang-2747450_SW.jpg");
      background-attachment: fixed;
      background-size: 100% auto;
      background-repeat: no-repeat;
      }

/* ====================================================   Inhalt   ==================================================== */


a {color: #747474;}         /* war skyblue */

a:hover,
a:focus {font-weight: 700;
         color: #B1B1B1;}

h1 {font-size: 1.3em;}

h2 {font-size: 1.2em;
    font-style: italic;}

h3 {font-size: 1.3em;
    font-weight: 300;
    font-style: italic;
    text-align: center;}

header {
  max-width: 80em;
  color: #0A0708;
  /* background:  #0A0708;   */
  background-color: rgb(10 7 8 /0.8);
  margin: 0 auto 1.6em;
  position: relative;
}

header::after {
  position: absolute;
  content: "";
  /* background: linear-gradient(to top, #feb040 25%, #282523 25%, #282523 50%, #34a2da 50%, #34a2da 75%, #0e76bc 75%);
  background: linear-gradient(to top, #B1B1B1 33%, #747474 33%, #747474 66%, #444444 66%);   */
  background: linear-gradient(to right, Indigo, #0A0708, #B1B1B1, #0A0708, Indigo);
  height: 0.5em;
  left: 0;
  right: 0;
  bottom: -0.5em;
}

header p {
    animation: einblenden 10s;
    -moz-animation: einblenden 10s; /* F�r Firefox */
    -webkit-animation: einblenden 10s; /* F�r Safari und Chrome */
    -o-animation: einblenden 10s; /* F�r Opera */
    text-align: center;
    margin-top: -0.5em;
    background-image: linear-gradient(to right, #0B0909, black, #0B0909);
}

@keyframes einblenden {
    from { opacity:0; }
    to { opacity:1; }
}

header img {width: 50%;
            height: auto;
            margin-bottom: -0.3em;}

main {
  display: block;   /*f�r IE9-11 */
  max-width: 80em;
  position:relative;
  padding:0 7px 0;
  margin: 0 auto;
  /* background-color: #0A0708;  0 auto;  */
  color: WhiteSmoke;        /* war #333 */
  background-color: rgb(10 7 8 /0.8);
  text-align: left;
  -webkit-hyphens: auto;
  hyphens: auto;}

#members img {width: 90%;
          height: auto;
          border: solid 1.6vmin #444444;
          border-bottom-color: #b1b1b1;
          border-left-color: #747474;
          border-radius: 2px;
          border-right-color: #747474;
          border-top-color: #444444;
          box-shadow: 0 0 5px 0 rgba(0, 0, 0, .25) inset, 0 5px 10px 5px rgba(0, 0, 0, .25);
          padding: 1vmin;
          position: relative;
          margin-bottom: 15px;}

.gallery{
  color: #FFFFFF;
  font-family: "Times New Roman", Times, serif;
}

  /* slide in captions found @http://css-tricks.com/slide-in-image-captions/ */
figure {
  padding:0;
  margin:0 -20px;
  display: block;
  position: relative;
  overflow: hidden;
}

figure:before {
  content: "?";
  position: absolute;
  background: rgba(255,255,255,0.75);
  color: black;
  width: 24px;
  height: 24px;
  bottom:30px; left:30px;
  border-radius: 12px;
  text-align: center;
  font-size: 14px;
  line-height: 24px;
  transition: all 0.6s ease;
  opacity: 0.75;
}
figure:hover:before {
  opacity: 0;
}

.gallery img {
        width: 103%;
        margin-left: -1.5%;
}

.media { display: grid;
        grid-template-columns: 1fr 1fr 1fr;	
        grid-template-rows: auto 1fr 10px; 
       }

.gallery iframe { width: 100%;
				  height: 300px;}
figcaption {
  position: absolute;
  background: rgba(0,0,0,0.75);
  color: white;
  padding: 10px 20px;
  width:100%;
  opacity: 0;
  bottom: -20%;
  left: 0;
  transition: all 0.6s ease;
}

figcaption h2 {
  margin: 0 12px;
}

figcaption p {
  margin: 12px 12px 0;
  padding: 0;
}
figure:hover figcaption {
  opacity: 1;
  bottom: 0;
}


article {
  /* background-color: #0A0708;                /* war #fff */
  padding: 0;
  width: 100%;
  }
article video {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; /* falls du es zentrieren willst */
}
article iframe {
                display: block;
                max-width: 100%;
                width: 100%;   /* zwingt es in die Box */
                height: auto;  /* behält Seitenverhältnis */
                box-sizing: border-box;
                }

article p img {margin-bottom: 3em;
    animation: einblenden 2s;
    -moz-animation: einblenden 2s; /* F�r Firefox */
    -webkit-animation: einblenden 2s; /* F�r Safari und Chrome */
    -o-animation: einblenden 2s; /* F�r Opera */
    border: 5px solid grey;
}
aside.contact {padding-left: 10%;
              padding-right: 10%;}

section.services{ padding-left: 5%;
                  padding-right: 5%;}

section.services h1{
  padding-left:0;
}

/* section.services p{
  border-bottom: 1px dashed #535353;
}                                         */

/* Sign in form */

#signin label {
        display: block;
}

#signin input, #signin textarea {
   width: 80%;
   border: 1px solid #dfdfdf;
   background: #fff;
   padding: 5px 3px;
}

#signin textarea{
   height:105px;
   overflow:auto;
}

#signin button{
   margin: 1em 1em;
   padding: 0.5em;
   float: right;
   color: #feb040;
   background: #468a98;
   border: 1px solid #333;
   border-radius: 5px;
}

#signin button:hover,
#signin button:focus {
        background: #feb040;
        color: #0e76bc;
}

/* .services img {
        width: 100%;
        filter: invert(0);
}                               */

  /* Navigation */

nav {   margin: 0;
        width: 100%;
        /* background: #0A0708;    */
        background-color: rgb(10 7 8 /0.8);}

nav ul {margin: 0;
        padding: 0;
        font-family: spot;
        font-weight: 400;
        color: yellow;
        list-style-type: none;}

nav li {display: inline;
        margin: 0;
        color: yellow;   }

nav a { position: relative;
        display: inline-block;
        text-decoration: none;
        color: #747474;
        padding: .5em;
        padding-right: 2em;
        text-align: right;
}

[aria-current=page] {
        font-weight: bold;
        color: WhiteSmoke;                /* war #feb040 */
}

nav a::after{
        content:" ▶";
        color: #747474;                /* war #feb040 */
        display: inline-block;
        width: 2em;
}

nav a:hover::after, nav a:focus::after{
        content:" ▼";
        color: WhiteSmoke;
}

nav a:hover, nav a:focus {
        background: transparent;
        transition: all ease 0.3s;}

nav ul ul {
        display: none;       /* ab hier neu war none*/
        font-family: spot;
        font-weight: 400;}

nav ul li:hover ul {
        display: block;
        font-family: spot;
        font-weight: 400;
        }

nav ul li {
        font-family: spot;
        font-weight: 400;
        display: inline-block;
}

nav ul li:hover a {
        color: WhiteSmoke;
        transition: all ease 0.3s;
}

nav ul li a {
        display: block;
        color: #b1b1b1;                  /*  Textfarbe Hauptmen� oben war #7F4A1B */
        text-decoration: none;
        margin: 0 20px 0 0;
/*        border-radius:5px;             */
        padding: 10px;
}

nav ul ul {
        position: absolute; top:35px;             /* Abstand Aufklappmen� */
        background: rgb(0,0,0);                   /* war rgb(0,0,0) */
        background: #0A0708;       /* war rgba(126,175,185,0.70) Farbe Hintergrund hover Untermen�punkte gro� */
        margin:0;
/*        border-radius:5px;            */
        z-index:99;
}
nav ul li:hover ul {display:block;transition: all ease 0.3s;}
nav ul ul li {
        color: yellow;
        display:block;
        float: none;
        position: relative;
        }

nav ul ul li a {
        background: #0A0708;
        margin: 0;
        font-family: spot;
        font-size: 0.7em;                    /* Schriftgr��e Aufklappmen� */
        }

nav ul ul li a:hover {
        color: WhiteSmoke;
        background: #0A0708;                /* war #7eafb9  Farbe Hintergrund hover Untermen�punkte */
        }

footer {
  max-width: 80em;
  padding: 1em;
  margin: 1em auto;
  color: #ccc;
  background-color: rgb(10 7 8 /0.8);
}

dl.grid {
  display: grid;
  grid-template-columns: 1fr 100%;
}
dd {
  margin: 0;
  padding-left: 1em;
}
dl.grid dd {
  margin-bottom: 1em;
}

a[href^="tel"] { white-space: nowrap; }

.copy {
        text-align: right;
}

/* ====================================================   LAYOUT   ==================================================== */

/* Mobile first ! alle Blöcke haben 100%, Navigation unten*/

body {padding: 0 1em;}

@media screen and (min-width: 35em) {                                   /* 2 Spalten, sobald Platz da ist */

         header img {width: 35%;
                    height: auto;}

        main {padding:0 10px 0;}
        
        main, footer {
                  display: grid;
                  grid-template-columns: repeat(2, 1fr);
                  grid-gap: 1em;
                 }

        main #members img {width: 80%;
                  height: auto;}

        article {grid-column: 1 / 2;}
        article video {
                display: block;
                max-width: 100%;
                width: 100%;   /* zwingt es in die Box */
                height: auto;  /* behält Seitenverhältnis */
                box-sizing: border-box;
                }
        article iframe {
                display: block;
                max-width: 100%;
                width: 100%;   /* zwingt es in die Box */
                height: auto;  /* behält Seitenverhältnis */
                box-sizing: border-box;
                }
        article video.portrait { width: 40%; }
        
        .gallery {
                grid-column: 1 / 3;
        }
		.gallery iframe { width: 100%;
				  height: 400px;}
        aside  {
                grid-column: 2 / 3;
        }
}

@media screen and (min-width: 50em) {

        header img {width: 25%;
                    height: auto;}

        main {padding:0 20px 0;}
        
        main, footer {
                  grid-template-columns: repeat(3, 1fr);                /* 3 Spalten, sobald Platz da ist */
        }
        main #members img {width: 50%;
                  height: auto;
                  border: solid 2vmin #444444;
                  border-bottom-color: #b1b1b1;
                  border-left-color: #747474;
                  border-radius: 2px;
                  border-right-color: #747474;
                  border-top-color: #444444;
                  box-shadow: 0 0 5px 0 rgba(0, 0, 0, .25) inset, 0 5px 10px 5px rgba(0, 0, 0, .25);
                  padding: 1vmin;
                  position: relative;
                  margin-bottom: 15px;}

        article {
                grid-column: 1 / 3;
        }
        article video {
                display: block;
                max-width: 100%;
                width: 100%;   /* zwingt es in die Box */
                height: auto;  /* behält Seitenverhältnis */
                box-sizing: border-box;
                }
        article iframe {
                display: block;
                max-width: 100%;
                width: 100%;   /* zwingt es in die Box */
                height: 13%;  /* behält Seitenverhältnis */
                box-sizing: border-box;
                }
         article video.portrait { width: 40%; 
                                }
        article video.portraitbottom  { width: 40%; 
                                       margin-bottom: 25em;}
        
        .gallery {
                grid-column: 1 / 4;
        }
		.gallery iframe { width: 100%;
				  height: 591px;}
        aside  {
                grid-column: 3 / 4;
        }
        figure {
                  margin: 0;
        }


nav ul {
  padding: 0 0 0 2%;
  font: 1.2em Arial,Helvetica,sans-serif;
  }
}