/* @viewport wird zunehmend unterstützt - siehe https://developer.mozilla.org/de/docs/Web/CSS/@viewport
   Zusätzlich sollte das nicht standardisierte von Apple eingeführte viewport-meta-tag im HTML-HEAD gesetzt werden.
*/
@viewport     { width: extend-to-zoom; zoom: 1.0; }
@-o-viewport  { width: extend-to-zoom; zoom: 1.0; }
@-ms-viewport { width: extend-to-zoom; zoom: 1.0; }

/* Local hosted latin Google fonts: */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(font-opensans-v34.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(font-asap-v26-weight400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(font-asap-v24-weight700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


.pageFormat { 
	min-width: 240px; 
	max-width: 1000px; 
	margin: 0 auto; 
	background-color: rgba(255, 0, 0, 0);
}

body {
	background-color: #fcfcfc;
	color: #285f7a;
	margin: 0;
	line-height: 1.7em;
}

body, select, input, textarea { font-family: "Open Sans",sans-serif; font-size:18px; }

#header .pageFormat {
	height: 100px; 
	display: flex; 
	align-items: center;
	max-width: 1680px;
	/* padding-right: 20px !important; */
}
select, input, textarea {
	background-color: #f8f8f8;
	border: 1px solid #c0c0c0; border-radius: 3px;
	box-sizing: border-box; padding: 4px 6px;
}

input:focus, textarea:focus, select:focus {
	outline: none; /* disable default in Chrome browser */
	box-shadow: 0 0 4px orange;
}

label { font-weight: bold; color: #666; }
.row {
	background-color: rgba(254, 255, 0, 0);
	padding: 5% 0;
	width: 100%;
	max-width: 1080px;
	margin: auto;
	position: relative;
	display: flex;
}
.column {
	background-color: rgba(0, 254, 255, 0);
	margin-right: 4%;
	width:  48%;
	float: left;
	position: relative;
}
.column.fullwidth { width: 100%; }
.column:last-child { margin-right: 0!important; }
.image_wrap {
	text-align: center;    
	margin: auto;
	background-color: rgba(0, 154, 255, 0);
}
.image_wrap.logo{
	max-width: 50%;
}
.image_wrap.mini img{
		max-height: 300px;
}
.image_wrap.mac img{
	max-width: 100%;
	object-fit: fill;
}	

.screenshot {
	max-width: 80%;	
}
.screenshot img {
	object-fit: cover;
	max-width: 100%;
	max-height: 500px;
	object-position: 50% 0;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
h1 { font-size: 50px; 
line-height: 1.3em;
}
h2 { font-size: 32px; margin-top: 0;}

h1, h2, h3 { font-weight: bold; color: #285f7a; font-family: 'Asap', sans-serif;
}
h3 {
	margin-bottom: 0;
	margin-top: 3em;
}
.dark h1, .dark h2, .dark h3 { color: #285f7a; }

html { scroll-behavior: smooth; }

a { cursor: pointer; color: #7b7b7b; font-weight: normal; text-decoration: none; }
a:hover { text-decoration: underline; }

#header a:hover { text-decoration: none; 
color: #000;
}
.anmerkung {
	margin-top: 3em;
	font-size: 80%;
	font-style: italic;
	line-height: 1.3em;
}
button {
	cursor: pointer;
	padding: 16px 32px;
	border-radius: 50px;
	border-width: 0px;
	background-color: #3a88ae;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	font-family: sans-serif;
	transition: background-color 1s;
}
button:hover { background-color: #58A4CA; }
button:disabled { background-color: #d0d0d0; }

#header {
	width: 100%; position: fixed; top: 0;
	transition: background-color .2s, box-shadow .2s;
	z-index: 1;
}
#header.scrolled { background-color: #fff; 
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
	z-index: 1; /* needed vor Chrome video tag! */ }
#header.scrolled #menuTop a { }

#menuTop {
	display: flex; flex: 1 1 auto; margin: 0 30px; list-style-type: none; padding-left: 0;
	text-align: right; margin: 0; list-style-type: none; padding-left: 0;
	justify-content: flex-end;
}
#menuTop li { padding: 40px 10px 5px 10px; }
#menuTop li a {
	transition: color .8s;
	color: #285f7a; letter-spacing: 1px; font: normal normal 24px 'Asap', sans-serif;
	padding: 0px 10px;
}

#menuPopup { position: absolute; top: 37px; right: 3px; text-align: right; padding-right: 8px; }
#menuPopupButton {
	display: inline-block; position: relative; right: 2px; transform: rotate(270deg);
	font-weight: bold; font-size: 43px; font-family: sans-serif; text-align: right;
	cursor: pointer; vertical-align: middle; padding-bottom: 8px; 
}
#menuPopupList {
	color: #285f7a;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	background-color: #fff;
	overflow: hidden;
	transition: max-height .3s ease-in-out, max-width .3s ease-in-out;
	max-height: 0px;
	max-width: 0px;
	z-index: 100;
}
#menuPopupList ul {
	display: flex; list-style-type: none; flex-flow: column nowrap; align-items: start;
	white-space: nowrap; margin: 0; padding: 0;				
}
#menuPopupList ul li { line-height: 1.2em;padding: 10px; }
#menuPopupList ul li a { font-size: 18px; color: transparent; transition: color .5s ease-in-out .3s; }

#menuPopupList.open { max-height: 208px; max-width: 201px; }
#menuPopupList.open ul {}
#menuPopupList.open li a { color: #285f7a; }

#content > div { padding: 80px 0; }
#content > div.dark { background-color: rgba(57, 135, 174, 0.2); }

#tutorials h2 {margin-top: 30px; margin-bottom: 10px; }
video,
iframe { width: 100%;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

#footer {
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-around;		
	flex-wrap: wrap;
	background-color: #fff;
	border-top: 0px solid rgba(57, 135, 174, 0.2);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
#footer > span { padding: 20px; line-height: 1.7em; }


/* Phone */
@media screen and (max-width: 799px) {
	#menuTop { display: none; }
	#content > div { padding: 40px 0; }
	h1 { font-size: 36px; }
	h2 { font-size: 24px; margin-top: 0;}
	.pageFormat { padding: 0 10px;}
	.row {
		background-color: rgba(254, 255, 0, 0);
		padding: 5% 0 0 0;
		width: 100%;
		max-width: 1080px;
		margin: auto;
		position: relative;
		margin: 0;
		flex-direction: column;
	}
	.row:nth-child(even) { flex-direction: column-reverse; }
	.column {
		background-color: rgba(0, 254, 255, 0);
		width:  100%;
		margin: 0;
		padding: 5% 0 0 0;
		float: none;
	}
	.screenshot { max-width: 100%; }
}

/* Tablet, Desktop */
@media screen and (min-width: 800px) {
	.pageFormat { padding: 0 20px;}
	#menuPopup { display: none; }
}

/* Tablet */
@media screen and (min-width: 800px) and (max-width: 1024px) {
	.pageFormat { padding: 0 40px;}
	#header ul li { padding: 40px 0 5px 0; }
	.screenshot img { max-height: 400px; }
}

@media screen and (max-width: 920px) {
	#menuTop li a { font-size: 20px; }
}
