
:root {
	/* Style everything Color */
	--primary: #322E6A;
	--secondary: yellow;
	--canvas_col: #dcdcdc;

	--fg_col: black;
	--bg_col: white;

	--weak_primary:#756cf5;
	--weak_fg: #383838;
	--weak_bg: var(--canvas_col);

	/* User interface Color*/
	--good_fg: darkgreen;
	--good_bg: lightgreen;
	--warn_fg: olive;
	--warn_bg: lightyellow;
	--bad_fg: darkred;
	--bad_bg: lightcoral;
	--info_fg: darkblue;
	--info_bg: lightblue;
}

body {
	width: min(100%, max(120vh,1080px));
	height: 100vh;

	display: flex;
	flex-direction: column;

	margin-top:0;
    margin-bottom: 0; 
	
	margin-left:auto;
	margin-right:auto;
	
}

header {
	position: relative;

	display: flex;
	align-items: center;
	justify-content:left;
	gap: 1rem;

	border-bottom:solid 2.5pt var(--fg_col);

	padding-bottom: 0;

	/*background: linear-gradient(to right, var(--bg_col) min(33vh,33vw), var(--secondary));*/
	background-color: var(--bg_col);
}

nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content:left;
	gap: 1rem;

	background-color: var(--secondary);
	/* background: linear-gradient(to right, var(--secondary), var(--primary)); */
	
	color: var(--fg_col);
	font-weight:bold;
	white-space: nowrap;

	border-bottom:solid 2.5pt var(--fg_col);
	padding: 4pt;
}

main {
	width: inherit;
	flex: 1;

    background-color: var(--bg_col);
	padding-top: 6pt;
	padding-bottom: 6pt;

	font-family: "Arial", "FreeSans", sans-serif;

	margin: 0;
}

footer{
	display: flex;
	align-items: center; 
	justify-content: space-between;
	gap: 1rem;

	padding-bottom: 0;
	padding-left: min(1cm,5%);
	
	border-top:solid 2.5pt var(--fg_col);
	background: linear-gradient(to right, var(--secondary) , var(--bg_col) 100%-4cm);
}

.canvas_container{
	padding: 0;
	border: 0;
	margin: 0;

	display: flex;
  	flex-direction: column;
	gap: 6pt;

	width: inherit;
}

.canvas_scroll,
.canvas_half,
.canvas{
	 
	box-sizing: border-box; 
	padding: 6pt;
	
	margin-top: 6pt;
	margin-bottom: 6pt;
	min-width: 0%;

	border: none;
	border-radius: 5pt;

	background-color: var(--canvas_col);
}

.canvas_container .canvas_scroll,
.canvas_container .canvas_half,
.canvas_container .canvas{
	 margin: 0;
}

.monospace{
	font-family: "FreeMono", "Courier New", monospace;
}

a:hover{
	color: var(--primary);
}

/* Responsive form, canvas*/
@media screen and (width >= 600px)  {
	.canvas,
	.canvas_scroll{
		grid-column: span 2;
	}

	.canvas_half{
		grid-column: span 1;
	}

	.canvas_container{
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.canvas_half,
	.canvas,
	.canvas_scroll{
		padding-left: min(1cm,5%);
		padding-right: min(1cm,5%);
	}
}

.canvas_scroll {
	overflow: auto;
}

#quicklinks {
	position: absolute;
	top: 0;
	right: 0;
	font-size:small;
	line-break: strict;
}


header h1 {
	margin-top: 6pt;
	margin-bottom: 6pt;
	margin-left:3rem;
}
#logo_top {
	display:block;
	width:min(33vh,33vw);
}
#logo_bottom {
	display:block;
	width: 4cm;
}

/* Responsive Header und Footer*/
@media screen and (width <= 600px)  {
	#quicklinks,
	#logo_bottom {
		display: none
	}
	header h1 {
		margin-left: 0;
		font-size: 18pt;
	}
	footer {
		flex-direction: column;
		text-align: center;
		background: linear-gradient(to bottom, var(--secondary), var(--bg_col));
	}
}

div.group_vert {
	display: flex;
	flex-direction: column;
	flex-wrap:wrap;
	align-items: center;
	justify-content:top;
	gap: 3pt;
}

div.group_hori{
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	align-items: center;
	justify-content:left;
	gap: 3pt;
}

a {
	color: var(--fg_col);
	text-decoration: underline;
}

dt {
	margin-top: 3pt;
	font-weight: bold;
}

@media print {
	.noprint
	 {
		visibility: hidden;
	}
}