/* CSS Document */
@charset "UTF-8";
*,
*:after,
*::before {
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

:root {
    font-size: 12px;
}

html, body {  
	margin: 0px;
	padding: 0px;
	/* overflow: hidden; */
}

/* ------- 
@import url('https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css');
https://app.nootiz.com/register/plan/professional
@import url('https://fonts.googleapis.com/css?family=Montserrat:100,300,400,500,600,700,900');
*/

			
body {  
	font-family: "Century Gothic", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;
	font-weight: normal;
	color: #fff;
	text-decoration: none;
	background-color: #3e5218;
	background-color: #CCCCCC; /* Color */
	overflow: auto;	
	background-image: url("../images/overlay.png"), linear-gradient(45deg, #ccc 15%, #333 85%);
	
	/* */
	font-family: 'Inter UI', sans-serif;
	font-size: 1.6em;
	letter-spacing: .03em;

	font-size: clamp(14px, 2vw, 24px);
}

img{-ms-interpolation-mode:bicubic;}


a {text-decoration: none; white-space: nowrap; font-weight: 600; color: #dedede;}
a:hover {color: #333; color: #FFF;}

h1, h2, h3 ,h4, p { 
	margin: 10px auto; 
	/* text-shadow: 0 1px 0 rgba(51,51,51, 0.45); */
}
h1, h2, h3 ,h4 {  }
p { line-height: 1.4em;}
p strong, p b {  }
span.wrap { white-space: nowrap; }

/* /// icons google Material /// */
.material-icons { vertical-align: middle; }

.material-icons.md-10 { font-size: 10px; }
.material-icons.md-12 { font-size: 12px; }
.material-icons.md-14 { font-size: 14px; }
.material-icons.md-16 { font-size: 16px; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

.material-icons.md-big { font-size: 52px; }
.material-icons.md-xl-big { font-size: 152px; }

/* Rules for using icons as black on a light background. */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* Rules for using icons as white on a dark background. */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }

/* // CSS --- Full BG Image /////////// */

.full_bg {
	position: absolute;
	position: fixed;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	display: block;
	min-width: 100%;
	height: 100%;
	max-height: 100%;
	overflow: hidden;

	background: no-repeat center center scroll; 
	background-color: transparent;	
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	
	/* display: none; */
	z-index: -1;

}

.full_bg.fit {
	background: no-repeat center center scroll; 
	background-color: #FFF;	
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}

.full_bg.svg {
	background: no-repeat center center scroll; 
	background-color: #FFF;
    background-position:50% 50%;
	background-position:50% 50%9 !important;	
}

/* // CSS --- Full BG Image // als img tag // Cover /////////// */

div.full-cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	max-height: 100%;
	overflow: hidden; 
	z-index: 1;
}
div.full-cover img {
	position: relative;
	width: 100%;
	height: 100%; 
	object-fit: cover;
	object-position: center center;
	max-height: 100%;
	min-height: 100%;
	margin: 0;
	z-index: 1;
}
div.full-cover .full-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;	
	background-color: rgba(255,255,255,.5);
	background-color: rgba(0,0,0,.5);
	z-index: 2;
	/* */ display: none;
}



/* //////// DIVs /////////////////////////// */

#wrap {
	position: relative;
	z-index: 3;
    max-height: 100vh;

}
.wrapper {
    position: relative;	
    display: flex;
    background-color: #f0f1f7;
	background-color: rgba(0,0,0,.2);
}

aside, main {
    display: flex;
    /* min-height: 100vh;  height: 100vh; FUCK */
	min-height: 100vh;
}

aside {
	position: relative;
	overflow: auto;
    width: 40vw;    
	align-items: flex-start;
	align-items: center; /* vertical */
		
    justify-content: center; /* horizontal */  

	background-color: transparent;
	background-color: rgba(0,0,0,.8);
}


main {
	align-items: center;
	/* 
    align-items: flex-end;
	*/
    justify-content: center;	
    flex-direction: column;		

    overflow: auto;
    width: 60vw;
	background-color: transparent;
	background-color: rgba(255,255,255,.2);
	background-color: rgba(0,0,0,.6);
}

.inner {
display: block;
	margin: 0 auto;
    padding: 1.2em;
	background: rgba(255, 192, 203, .6); /* pink */
	background: transparent;	
}

main .inner {
		width: 100%;
	}

/* ///////// */
footer {
    width: 0;
    overflow: hidden;
	background: #FFF;
	background-color: rgba(255,255,255,.5);
}

footer .info-left {
    position: absolute;
    bottom: 1.5rem;
    left: 20%;
    transform: translateX(-50%);
    text-decoration: none;
}

footer .info-right {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    display: flex;
    flex-wrap: wrap
}

/* //////////////////////// */

@media(max-width: 992px) {
    .wrapper {
        flex-direction: column;
        justify-content: space-between;
        overflow: auto;
        min-height: 100vh;
		background-color: rgba(0,0,0,.7);
    }

	aside, main, footer, div { max-width: 100%; }
	
	aside, main, footer {display: block; width: 100%; height: auto; text-align: center; background: transparent; }
	
	main { /* min-height: 80vh; */ }
	
	.inner {
		/* max-height: unset; */
		padding: .6em;
	}
	aside, main { min-height: unset;}
	
	footer { background-color: rgba(0,0,0,.8); }	

    footer .info-left, footer .info-right {
	display: block;
        position: unset;
		text-align: center;
    }
    footer .info-left {        
        transform: none;
    }

}

/* ----------------- aspect ratio - iframes -------------- */
.ratio {
	position: relative;
	width: 100%; 
	width: clamp(360px, 100%, 1400px); /* s.u. DIN */	
	margin: 2px auto;
	background: rgba(0,0,0,.4);  /*  */
  }
  .ratio::before {
	display: block;
	padding-top: var(--bs-aspect-ratio);
	content: "";
  }
  .ratio > * {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
  }
  
  .ratio-1x1 {
	--bs-aspect-ratio: 100%;
  }
  
  .ratio-4x3 {
	--bs-aspect-ratio: 75%;
  }
  
  .ratio-16x9 {
	--bs-aspect-ratio: 56.25%;
  }
  
  .ratio-21x9 {
	--bs-aspect-ratio: 42.8571428571%;
  }

  .ratio-din4 {
	--bs-aspect-ratio: 120%;
  }
  .ratio.ratio-din4 {
	width: clamp(360px, 100%, 800px);
  }



/* https://loading.io/css/ */
.lds-hourglass {
	position: absolute;
	display: inline-block;
	width: 80px;
	height: 80px;

top: 20%;	
	left: 0; 
	right: 0; 
	margin-left: auto; 
	margin-right: auto; 
}
.lds-hourglass:after {
	content: " ";
	display: block;
	border-radius: 50%;
	width: 0;
	height: 0;
	margin: 8px;
	box-sizing: border-box;
	border: 32px solid #fff;
	border-color: #fff transparent #fff transparent;
	animation: lds-hourglass 1.2s infinite;
}
@keyframes lds-hourglass {
  0% {
    transform: rotate(0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  50% {
    transform: rotate(900deg);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  100% {
    transform: rotate(1800deg);
  }
}


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

/* piwik_frame */
.iframe_wrap.piwik_frame {
	background: transparent;
	border: 1px solid rgba(255,255,255, .4);
	min-height: 140px;
}
.iframe_wrap.piwik_frame iframe{
	background: transparent;
	border: 0px solid #efefef;
	background-color: rgba(255,255,255, .2); 
	width: 100%;
}

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

.smalltext{font-size: 0.85em; color: #666;}
.max-img {max-width: 100%; height: auto; width: 300px;}


/* CSS TRICKS //////////////////////////////////////

http://www.cssfiltergenerator.com/

////////////////////////////////////// */

/* ////////////// IMG faerben /////////////////// */

div.colorize.black img, img.colorize.black {
-webkit-filter: invert(30%) grayscale(100%) brightness(70%) contrast(4);
      filter: invert(30%) grayscale(100%) brightness(70%) contrast(4);
}

div.colorize.grey img, img.colorize.grey {
-webkit-filter: grayscale(100%) brightness(110%) contrast(0.9);
      filter: grayscale(100%) brightness(110%) contrast(0.9);
}

div.colorize.red img, img.colorize.red {
-webkit-filter: invert(40%) grayscale(100%) brightness(40%) sepia(100%) hue-rotate(-50deg) saturate(400%) contrast(2);
      filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(-50deg) saturate(600%) contrast(0.8);
}

div.colorize.blue img, img.colorize.blue {
-webkit-filter: grayscale(100%) brightness(30%) sepia(100%) hue-rotate(-180deg) saturate(700%) contrast(0.8);
      filter: grayscale(100%) brightness(30%) sepia(100%) hue-rotate(-180deg) saturate(700%) contrast(0.8);
}

div.colorize.green img, img.colorize.green {
-webkit-filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(50deg) saturate(1000%) contrast(0.8);
      filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(50deg) saturate(1000%) contrast(0.8);
}

div.colorize.yellow img, img.colorize.yellow {
-webkit-filter: grayscale(100%) brightness(120%) sepia(90%) hue-rotate(5deg) saturate(500%) contrast(0.7);
      filter: grayscale(100%) brightness(120%) sepia(90%) hue-rotate(5deg) saturate(500%) contrast(0.7);
}

/*
div.colorize img:hover, img.colorize:hover {
-webkit-filter: none!important;
      filter:none!important;
}
*/

/* //////////// Magnific PopUp - inline ///////////// */

.mfp-bg {
	position: fixed; /* Problem iPad */
	-webkit-overflow-scrolling:touch;	
	transform: translate3d(0,0,0);
}
.white-popup {
	position: relative;
	color: #333;
	background: #dfdfdf;
	padding: 20px;
	width: auto;
	max-width: 1024px;
	margin: 20px auto;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;  
	font-size: 0.9rem;
	
	word-wrap: break-word;
/* Trennzeichen bei langem Wort <article lang="de"> */
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

@media (max-width: 991px) { 
	.white-popup { 
		margin: 20px 20px;
	}
}

.white-popup a, .mfp-close-btn-in .mfp-close {color: #000;}
.white-popup a:hover {color: #333;}

.white-popup ul {
	margin: 10px 20px;
}

.white-popup {

}

/* ////////////////// CSS extra //////////// */

a.color {color: red; }
a:hover.color {color: #FFF; }

.text-center { text-align: center; }
.text-right { text-align: right; }

/* linie links + rechts */
.bg-line {
	display: flex;
	flex-direction: row;
	margin: 1rem .5rem;
  }
  .bg-line:before, .bg-line:after{
	content: "";
	flex: 1 1;
	border-bottom: 2px dotted;
	margin: auto;
	margin:auto 0.25em;
  }