@font-face {
  font-family: 'Source Sans 3';
  font-style: initial;
  font-weight: normal;
  src: url(../webfonts/sourcesans3.ttf) format('truetype');
}

@font-face {
  font-family: 'Archivo Narrow';
  font-style: initial;
  font-weight: normal;
  src: url(../webfonts/archivonarrow.ttf) format('truetype');
  font-weight: 1 1000;
}

@font-face {
  font-family: 'Six Caps';
  font-style: initial;
  font-stretch: condensed;
  src: url(../webfonts/sixcaps.ttf) format('truetype');
  font-weight: 1 1000;
}
:root {
	--h1_font_size: 8vmax;
	--h2_font_size: 1.2vmax;
	--h3_font_size: 1.0vmax;
	--text_font_size: 0.75vmax;
	--small_text_font_size: 0.5vw;
	--radius: 0.3vmax;
}
/* Use somewhat larger font sizes for high dpi media. */
@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13/10), only screen and (min-resolution: 120dpi) {
	:root {
		--h1_font_size: 8vmax;
		--h2_font_size: 2.0vmax;
		--h3_font_size: 2.0vmax;
		--text_font_size: 1.2vmax;
		--small_text_font_size: 0.8vw;
		--radius: 0.6vmax;
	}
}

@media only screen and (orientation: landscape) {
	:root {
		--content-float: left;
		--content-width: 25;
		--content-spacer-display: none;
		--wide-display: inline-block;
		--wide-width: 25;
		--bg-ypos: -65px;
	}
}

@media only screen and (orientation: portrait) {
	:root {
		--content-float: none;
		--content-width: 96;
		--content-spacer-display: block;
		--wide-display: block;
		--wide-width: 75;
		--bg-ypos: 0px;
	}
}

h1 {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin: 0px;
	margin-bottom: 2vh;
	padding: 0px;
	color: #403932;
	font-family: 'Six Caps';
	font-size: var(--h1_font_size);
	font-weight: 1;
	letter-spacing: 1vw;
	line-height: 95%;
}

h2 {
	color: #c43412;
	font-family: 'Archivo Narrow';
	font-size: var(--h2_font_size);
	font-weight: 1;
	margin-top: 0.3vh;
	padding-top: 0px;
	margin-bottom: 0.1vh;
	padding-bottom: 0px;
}

body {
	background-color: #000000;
	margin: 0px;
	padding: 0px;
	border: 0px;
	font-family: 'Source Sans 3';
	font-size: var(--text_font_size);
}

#bg_copyright {
	position: relative;
	font-family: 'Source Sans 3';
	font-size: var(--small_text_font_size);
	font-weight: 1;
	font-style: italic;
	color: #888888;
	text-decoration: none;
	padding: 1vw;
	top: 97%;
}

#bg {
	clear: left;
	text-align: right;
	min-width: 100vw;
	max-width: 100vw;
	width: 100vw;
	aspect-ratio: 3 / 2;
	background-color: #00000000;
	background-repeat: no-repeat;
	background-image: url('../img/wh.jpg');
	background-size: 100% auto;
	background-position: 0px var(--bg-ypos);
	padding: 0px;
	border: 0px;
	margin: 0px;
}

#bg_hobby {
	clear: left;
	text-align: right;
	min-width: 100vw;
	max-width: 100vw;
	width: 100vw;
	aspect-ratio: 3 / 2;
	background-color: #00000000;
	background-repeat: no-repeat;
	background-image: url('../img/hobby.jpg');
	background-size: 100% auto;
	background-position: 0px 0px;
	margin: 0px;
	padding: 0px;
	border: 0px;
}
#bg_vito {
	clear: left;
	text-align: right;
	min-width: 100vw;
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	background-size: 100% auto;
	background-color: #000000;
	margin: 0px;
	padding: 0px;
	border: 0px;
}

#bg_skills {
	clear: left;
	text-align: right;
	min-width: 100vw;
	max-width: 100vw;
	width: 100vw;
	aspect-ratio: 3 / 2;
	background-color: #00000000;
	background-repeat: no-repeat;
	background-image: url('../img/skills.jpg');
	background-size: 100% 100%;
	background-position: 0px 0px;
	margin: 0px;
	padding: 0px;
	border: 0px;
}

a {
	text-decoration: none;
	color: #603932;
}

a:hover {
	font-style: italic;
	text-decoration: underline;
	color: #000000;
}


p {
	font-size: var(--text_font_size);
	margin-top: 1vh;
	margin-bottom: 1vh;
	margin-left: 1vw;
	margin-right: 3vw;
	text-align: justify;
}

ul {
	margin-left: 0vw;
	padding-left: 2vw;
	margin-right: 3vw;
	text-align: justify;
}

li {
	margin-left: 0vw;
}

div.content_spacer {
	display: var(--content-spacer-display);
	min-height: 100%;
	padding: 0px;
	border: 0px;
	margin: 0px;
}

div.content {
	float: var(--content-float);
	text-align: left;
	background-color: #ffffff;
	padding-left: 4vw;
	border-radius: 0px 0px var(--radius) 0px;
	min-width: calc(var(--content-width) * 1vw);
	max-width: calc(var(--content-width) * 1vw);
	min-height: 100%;
	overflow: hidden;
}

div.contentr {
	float: right;
	margin-right: 3vw;
	text-align: left;
	background-color: #ffffff;
	padding-left: 4vw;
	padding-right: 4vw;
	min-width: 35vmax;
	max-width: 35vmax;
	overflow: hidden;
	min-height: 100%;
	/*max-height: 100%;
	height: 100%;*/
}


div.content_wide {
	text-align: center;
	color: #111111;
	background-color: #000000;
/*	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(16,16,13,1) 30%, rgba(16,16,13,1) 100%);*/
	min-width: 100vw;
	max-width: 100vw;
	min-height: 80vmin;
	padding-top: 5vh;
}

div.content_wide h1 {
	color: #ffffff;
}

div.content_wide h2 {
	text-align: left;
}


div.content_wide a {
	color: #880000;
}

div.content_wide div {
	min-width: calc(var(--wide-width) * 1%);
	max-width: calc(var(--wide-width) * 1%);
	width: calc(var(--wide-width) * 1%);
	min-height: 50%;
	padding: 1vw;
	margin: 1vw;
	border: 2px solid #111111;
	border-radius: var(--radius);
	background-color: #ffffff;
	display: var(--wide-display);
	vertical-align: top;
}

div.content_title {
	float: left;
	text-align: center;
	background-color: #00000000;
	padding-left: 4vw;
	min-width: 96vw;
	max-width: 96vw;
	min-height: 8vw;
	max-height: 8vw;
	height: 8vw;
}

div.content_title h1 {
	color: #eeeeee;
}

div.content_grid {
	float: none;
	text-align: left;
	background-color: #ffffff00;
	margin-left:5vw;
	min-width: 90vw;
	max-width: 90vw;
	min-height: 100vw;
}

div.grid {
	padding-top: 8vh;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1vw;
}

div.gridcell {
	border: #000000 solid 0.1vw;
	border-radius: var(--radius);
	padding: 1vw;
	padding-top: 0.3vh;
	padding-bottom: 1vh;
	margin: 1vw;
	background-color: #ffffff;
	flex-grow: 1;
	flex-basis: 15vmax;
}

div.gridcelle {
	border: #00000000 solid 1vw;
	margin: 1vw;
	background-color: #ffffff00;
	flex-grow: 1;
	flex-basis: 8vmax;
}

img.large {
	width: 80%;
}

img.small {
	width: 10%;
}

img.smallls {
	width: 18%;
}

div.notices {
	font-family: 'Source Sans 3';
	font-size: var(--small_text_font_size);
	font-weight: 1;
	font-style: italic;
	color: #888888;
	text-decoration: none;
	padding-top: 3vw;
	padding-bottom: 1vw;
	width: 100%;
	min-height: 2vh;
}