@font-face {
  font-family: "oswald";
  src: url("/fonts/oswald/oswald-regular.ttf") format("truetype");
	font-weight: 500;
}
@font-face {
  font-family: "oswald";
  src: url("/fonts/oswald/oswald-medium.ttf") format("truetype");
	font-weight: 600;
}@font-face {
	font-family: "oswald";
	src: url("/fonts/oswald/oswald-semibold.ttf") format("truetype");
	font-weight: 700;
}
@font-face {
	font-family: "oswald";
	src: url("/fonts/oswald/oswald-bold.ttf") format("truetype");
	font-weight: 900;
}

@font-face {
  font-family: "heebo";
  src: url("/fonts/heebo/heebo-regular.ttf") format("truetype");
	font-weight: 400;
}
@font-face {
  font-family: "heebo";
  src: url("/fonts/heebo/heebo-medium.ttf") format("truetype");
	font-weight: 400;
}@font-face {
	font-family: "heebo";
	src: url("/fonts/heebo/heebo-semibold.ttf") format("truetype");
	font-weight: 600;
}
@font-face {
	font-family: "heebo";
	src: url("/fonts/heebo/heebo-bold.ttf") format("truetype");
	font-weight: 700;
}

body {
	margin: 0 auto;
	max-width: 60em;
	font-family: sans-serif;
	color: #333333;
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-template-rows: auto 2fr auto 100px;
	gap: 0.5em;
	min-height: 100vh;
}

#teaser {
  /* Location of the image */
  background-image: url(images/manuela-fersen-start-love.jpg);

  /* Background image is centered vertically and horizontally at all times */
  background-position: center center;

  /* Background image doesn't tile */
  background-repeat: no-repeat;

  /* Background image is fixed in the viewport so that it doesn't move when
     the content's height is greater than the image's height */
  background-attachment: fixed;

  /* This is what makes the background image rescale based
     on the container's size */
  background-size: cover;

  /* Set a background color that will be displayed
     while the background image is loading */
  background-color: #464646;
}

header,
nav,
main,
article,
section,
aside,
footer {
	/*border-radius: 0px 0.5em 0.5em;
	border: 1px solid;*/
	padding: 10px;
}

header {
	background: #fff;
	border-color: #d5d5d5;
	grid-column: 1 / span 2;
	grid-row: 1;
	font-family: 'oswald', sans-serif;
}

header h1 {
	margin-bottom: 0px;
	font-size: 4em;
	font-weight: 500;
}

header h1 a {
	color: #cdcdcd;
	text-decoration: none;
}

header h1 a:hover:not(.active) {
	color: #333;
}

header h1.chapter {
	color: #cdcdcd;
}

header ul {
	font-size: 1.5em;
	font-weight: 500;
}

nav {
	background: #fff;
	border-color: #e7c157;
	grid-column: 1;
	grid-row: 2 / 3;
	font-family: 'oswald', sans-serif;
}

aside nav ul {
	font-size: 1.1em;
	font-weight: 500;
}

article {
	background: #fff;
	border-color: #df6c20;
	grid-column: 2;
	grid-row: 2 / 3;
}

aside {
	background: #fff;
	border-color: #8db243;
	grid-column: 1;
}

main {
	background: #fff;
	border-color: #8a9da8;
	padding-top: 4em;
	grid-column: 1 / span 2;
	grid-row: 3;
	font-family: 'heebo', sans-serif;
	font-size: small;
	font-weight: 400;
	text-align: justify;
}

main a {
	color: #a68751;
	text-decoration: none;
}

main a:hover:not(.active) {
	color: #333;
}

main h2 {
	font-family: 'oswald', sans-serif;
	font-size: 2em;
	font-weight: 500;
	margin-top: -.5em;
	margin-bottom: .5em;
}

footer a {
	color: #cdcdcd;
	text-decoration: none;
}

footer a:hover:not(.active) {
	color: #333;
}

side.workmeta {
	display: grid;
	align-items: center;
}

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

.wmeta {
	grid-column: 1;
	font-family: 'heebo', sans-serif;
	font-size: small;
	font-weight: 400;
	position: relative;
	top: 4em;
	padding-left: 10px;
}

.wsubmeta {
	font-family: 'heebo', sans-serif;
	font-size: small;
	font-weight: 400;
}

.wpict {
	grid-column: 1 / span 2;
	text-align: right;
	padding-top: 2em;
}

.fleximg {
  width: 100%;
  max-width: 650px;
  height: auto;
}

.halffleximg {
  width: 100%;
  max-width: 310px;
  height: auto;
}

.flexpor {
    max-width: 100%;
    max-height: 650px;
    height: auto;
}

footer {
	background: #fff;
	border-color: #8a9da8;
	grid-column: 1 / span 2;
	grid-row: 4;
	padding-top: 30px;
	font-family: 'heebo', sans-serif;
	font-size: small;
	font-weight: 400;
}

/* responsive top (horizontal) naviagation */
ul.topnav {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #fff;
}

ul.topnav li {float: left;}

ul.topnav li a {
  display: block;
  color: #cdcdcd;
  text-align: center;
  padding-right: 1em;
  text-decoration: none;
}

ul.topnav li a:hover:not(.active) {color: #333;}

ul.topnav li.active {
	display: block;
	color: #333;
	text-align: center;
	padding-right: 1em;
}

ul.topnav li a.active {color: #333;}

ul.topnav li.right {float: right; padding-right: 0px;}

ul.topnav li.icon {
  display: none;
}

@media screen and (max-width: 30em) {
  ul.topnav li:not(:last-child) {
    display: none;
  }
  ul.topnav li.icon {
    float: left;
    display: block;
  }
}

@media screen and (max-width: 30em) {
  ul.topnav.responsive {position: relative;}
  ul.topnav.responsive li.icon {
    position: absolute;
    left: 0;
    top: 0;
  }
  ul.topnav.responsive li:not(:first-child) {
		float: left;
    display: block;
  }
  ul.topnav.responsive li:nth-child(2) {
		padding-left: 35px;
  }
	header h1 {
		margin-bottom: 10px;
		font-size: 3em;
		font-weight: 500;
	}
}

/* chapter naviagation */
ul.chapternav {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #fff;
}

ul.chapternav li a {
  display: block;
  color: #cdcdcd;
  text-align: left;
  text-decoration: none;
}

ul.chapternav li a:hover:not(.active) {color: #333;}

ul.chapternav li.active {color: #333;}


/* image gallery */

.gallery {
	display: grid;
	/*grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));*/
	grid-template-columns: repeat(auto-fill, minmax(22px, auto));
	gap: 1.5em;
	grid-auto-flow: row dense;
}

.gallery figure {
	/*border: 1px solid #ccc;*/
	position: relative;
	margin: 0;
	/* figure hat sonst einen browsereigenen Abstand! */

	/*counter-increment: posMarkup;*/
}

.gallery figure.landscape {
	grid-column-end: span 4;
	grid-row-end: span 3;
}

.gallery figure.panorama {
	grid-column-end: span 4;
	grid-row-end: span 2;
}

.gallery figure.portrait {
	grid-column-end: span 3;
	grid-row-end: span 4;
}

.gallery figure.small {
	grid-column-end: span 2;
	grid-row-end: span 2;
}

.gallery figure.square {
	grid-column-end: span 3;
	grid-row-end: span 3;
}

.gallery figure img {
	display: block;
	object-fit: contain;
	width: 100%;
	height: 100%;
}
