/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

:root {
  --darkblue: #0d52a0;
  --lightblue: #83c8f2;
  --footerblue: #373c48;
  
  --lightblue-rgb: 131,200,242;
}


html
{	
	box-sizing: border-box;
	height: 100%;
	font-size: 120%;
	font-family: 'Open Sans', sans-serif;	
}

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

body
{
	/*
	background-image: url("../img/ui/Concrete-Bg.jpg");
	background-size: cover;
	*/

	color: #0d52a0;
	font-family: 'Open Sans', sans-serif;
	height: 100%;

	margin: 0;
	padding: 0;

	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto; 
}

img
{
	display: block;
	max-width: 100%;
}

video
{
	display: block;
	max-width: 100%;
	width: 100%    !important;
	height: auto   !important;
}

figure {margin: 2rem auto; border: 1px solid #ccc; padding: 0.7rem;
box-shadow: 1px 1px 5px 2px #ccc;}
figcaption {margin-top: 0.5rem; line-height: 1.2;}
.rotate {transform: rotate(-1.5deg);}
.rotate-left {transform: rotate(-1.5deg);}
.rotate-right {transform: rotate(1.5deg);}

header
{
	/*
	background-image: url("img/hero.jpg");
	background-size: contain;
	*/
}

.hero {margin: 70px auto 0 auto;}

main, .inner {padding: 1rem; max-width: 40rem; margin: auto auto 3rem auto;}

h1 {line-height: 1.2; font-weight: 600; }
video {margin: 3rem auto; display: block;}

/* Energiestadt video section styling */
.energiestadt-video {
	margin: 3rem 0;
	padding: 2rem;
	background-color: rgba(var(--lightblue-rgb),0.1);
	border-radius: 10px;
	border: 1px solid var(--lightblue);
}

.energiestadt-video h3 {
	color: var(--darkblue);
	margin-top: 0;
}

.energiestadt-video video {
	margin: 2rem auto;
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
h3 {}
main p, main li, main dd {line-height: 1.4;}
li, dt {margin-bottom: 0.5rem;}

.lebenslauf
{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 0.5rem; 
	background: whitesmoke;  
	padding: 1rem; 
	border: 1px solid gainsboro;      
}

.signature {max-width: 35%; width: 35%; min-width: 30%; margin-bottom: 2.5rem;}
.qrcode {width: 100%; border: 5px solid white;}




.button {display: inline-block; background-color: var(--darkblue); color: white; margin: 1rem 0; padding: .5rem 1rem; border-radius: .25rem; text-decoration: none;}
.button:hover {box-shadow: 0 0 0.25rem .1rem #ccc; text-decoration: underline;}

.button {
  position: relative;
  text-decoration: none!important;
}

.button:hover {
  color: #fff;
}

.button::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  bottom: -1px;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.button:hover::before {
  transform: scaleX(1);
}





.pic
{
	border: 1px solid #aaa;
	padding: 0.4rem;
	width: 80%;
	margin: 3rem auto 4rem;
	transform: rotate(-4deg);
	box-shadow: 5px 5px 5px rgba(0,0,0,0.1)
}

/* -------------------------------------------------------------------------*/
/*	Tabs e.g. "Unterstützung"	*/
/* -------------------------------------------------------------------------*/
.tabs
{
	display: block;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 3rem 0 0 0;
	overflow: hidden;
}

.tabs [class^="tab"] label,
.tabs [class*=" tab"] label
{
	cursor: pointer;
	display: block;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
	padding: 1rem 0;
	text-align: center;
}

.tabs [class^="tab"] label:hover,
.tabs [class*=" tab"] label:hover
{
	
}

.tabs [class^="tab"] [type="radio"],
.tabs [class*=" tab"] [type="radio"]
{
	border-bottom: 3px solid #ddd;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.tabs [class^="tab"] [type="radio"]:hover,
.tabs [class^="tab"] [type="radio"]:focus,
.tabs [class*=" tab"] [type="radio"]:hover,
.tabs [class*=" tab"] [type="radio"]:focus
{
	border-bottom: 3px solid rgba(12,211,0,1.00);
}

.tabs [class^="tab"] [type="radio"]:checked,
.tabs [class*=" tab"] [type="radio"]:checked
{
	border-bottom: 3px solid var(--darkblue);
}

.tabs [class^="tab"] [type="radio"]:checked + div,
.tabs [class*=" tab"] [type="radio"]:checked + div
{
	opacity: 1; }
	.tabs [class^="tab"] [type="radio"] + div,
	.tabs [class*=" tab"] [type="radio"] + div {
	display: block;
	opacity: 0;
	padding: 2rem 0;
	width: 90%;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
  .tabs .tab-2 {
    width: 50%; }
    .tabs .tab-2 [type="radio"] + div {
      width: 200%;
      margin-left: 200%; }
    .tabs .tab-2 [type="radio"]:checked + div {
      margin-left: 0; }
    .tabs .tab-2:last-child [type="radio"] + div {
      margin-left: 100%; }
    .tabs .tab-2:last-child [type="radio"]:checked + div {
      margin-left: -100%; }

.tabs input {border-radius: 0;}
.tabs img {margin: 0 auto;}

/* -------------------------------------------------------------------------*/
/* Footer */
/* -------------------------------------------------------------------------*/
footer {background-color: #373c48; font-size: 80%; color: rgba(255,255,255,0.5);}
footer .inner {margin-bottom: 0;}
.copyright{padding-bottom: 2rem;}
@media only screen and (min-width: 30em)
{
	.copyright{padding-bottom: 0;}
	footer .inner
	{
	  display: flex;
	  flex-direction: row;
	  flex-wrap: nowrap;
	  justify-content: space-between;
	  align-items: flex-start;
	  align-content: flex-start;
	}
}

/*
@media only screen and (min-width: 30rem)
{
	.lebenslauf
	{
		display: block;
		border: 1px solid red;  
	}
	
	.lebenslauf dt {display: block;}
	.lebenslauf dd {display: block;}

}

*/

footer ul {margin:0; padding: 0; list-style: none;}
footer li {line-height: 1.2;}

footer a,
footer a:link,
footer a:visited,
footer a:active,
footer a:focus	{color: white; text-decoration: none;}

footer a:hover {color: white; text-decoration: underline;}

.linkedin {background-image: url("../img/LinkedIn.svg"); padding-left: 1rem; background-repeat: no-repeat; background-size: 0.8rem; background-position: left center;}
footer hr {border-color: rgba(255,255,255,0.2);}


/* -------------------------------------------------------------------------*/
/* footer link underlines */
/* -------------------------------------------------------------------------*/
footer a {
  position: relative;
  text-decoration: none!important;
}

footer a:hover {
  color: #fff;
}

footer a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  bottom: -1px;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

footer a:hover::before {
  transform: scaleX(1);
}
/* -------------------------------------------------------------------------*/





/*
a       		{color: #c00; background: transparent;}
a:link		{}
a:visited	{color: #c33; background: transparent;}
a:hover		{color: #f00;}
a:active		{}
a:focus		{}
*/

.flexbox-item {
  flex: 0 1 auto;
}

.flex-item:nth-child(1) {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item:nth-child(2) {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item:nth-child(3) {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
}


/* -------------------------------------------------------------------------*/
/*	JavaScript warning	*/
/* -------------------------------------------------------------------------*/
/*
div.no-js, div.js {display: none; line-height: 1.2; font-weight: normal;}
html.no-js div.no-js {display: block;}
html.js div.js {display: block;}
*/

div.no-js, div.js {visibility: hidden; line-height: 1.2; font-weight: normal; display: none;}
html.no-js div.no-js {visibility: visible; display: block;}
html.js div.js {visibility: visible; display: block;}

.attention {height: 20px; max-height: 20px; display: inline-block; margin: 0 10px;}

.noscript
{
	background-color: rgba(191,0,0,1.00);
	color: white;
	text-align: center;
	padding: 0.25rem 1rem;
	margin: 0 auto;
}

.noscript a,
.noscript a:visited
{
	color: white;
}




/* -------------------------------------------------------------------------*/
/* Footer push */
/* -------------------------------------------------------------------------*/
header,
footer	{-webkit-box-flex: 0; -webkit-flex: none; -ms-flex: none; flex: none;}
body 
{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-webkit-flex-direction:column;
	-ms-flex-direction:column;
	flex-direction:column;
	height:100%;
}

main
{
	-webkit-box-flex:1;
	-webkit-flex:1 0 auto;
	-ms-flex:1 0 auto;
	flex:1 0 auto;
	width:100%;
}


/* -------------------------------------------------------------------------*/
/* confirmation messages */
/* -------------------------------------------------------------------------*/
.message	{border: 2px solid #666; padding: 0.5rem 1em 1em 100px; margin: 1em auto; min-height: 85px; font-weight: bold; border-radius: 0.3rem; font-size: 100%; display: flex; align-items: center;}
.ok		{border-color: #6DB800; color: #6DB800; background: rgba(109,184,0,0.1) url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAzNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzYgMzYiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBmaWxsPSIjMjY4ZTA1IiBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiLz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Im0xMSAyMGw1LjMgNS4zIDkuOS0xNSIvPjwvZz48L3N2Zz4=') 10px 10px no-repeat; background-size: 60px 60px;}
.error	{border-color: #cc0000; color: #cc0000; background: #ffdcdc url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAzNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzYgMzYiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBmaWxsPSIjYzAwIiBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiLz48ZyBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjxwYXRoIGQ9Ik0gMjUuOCwxMC4yIDkuNSwyNi41Ii8+PHBhdGggZD0ibTEwLjEgMTAuMWwxNi40IDE2LjQiLz48L2c+PC9nPjwvc3ZnPg==') 10px 10px  no-repeat; background-size: 60px 60px;}
.warning	{border-color: #ff9900; color: #ff9900; background: #ffedd2 url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAzNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzYgMzYiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBmaWxsPSIjZjkwIiBjeD0iMTgiIGN5PSIxOCIgcj0iMTgiLz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Im0xOCA0LjV2MTkiLz48Y2lyY2xlIGZpbGw9IiNmZmYiIGN4PSIxOCIgY3k9IjI5IiByPSIyIi8+PC9nPjwvc3ZnPg==') 10px 10px no-repeat; background-size: 60px 60px;}
.comment	{border-color: #00d1ff; color: #00d1ff; background: #d4f7ff url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAzNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzYgMzYiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iIzAwZDFmZiIgZD0iTTAsMThDMCw4LjEsOC4xLDAsMTgsMHMxOCw4LjEsMTgsMThzLTguMSwxOC0xOCwxOFMwLDI3LjksMCwxOHoiLz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Im04LjggMTcuN2gxOCIvPjwvZz48ZyBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiPjxwYXRoIGQ9Im0xOC44IDkuN2w4IDgiLz48cGF0aCBkPSJtMjYuOCAxNy43bC04IDgiLz48L2c+PC9zdmc+') 10px center no-repeat; background-size: 60px 60px;}

.message p {margin-top: 0;}
.message div {}
 

/* -------------------------------------------------------------------------*/
/* Mail protection */
/* -------------------------------------------------------------------------*/
.codedirection { unicode-bidi:bidi-override; direction: rtl; }






@media only screen and (max-width: 768px)
{
	h1 { font-size: 120%;}

}



/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

