/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

@font-face {
  font-family: "figtree";
  src: url("../fonts/Figtree-VariableFont_wght.ttf") format("opentype");
}
@font-face {
  font-family: "figtree";
  src: url("../fonts/Figtree-Italic-VariableFont_wght.ttf") format("opentype");
  font-style: italic;
}
html {
  font-family: Figtree, sans-serif;
  color: hsl(20, 32%, 7%);
}

h1 {
  font-size: 35px;
  font-weight: 600;
  line-height: 0.9;
}
@media (min-width: 750px) {
  h1 {
    font-size: 60px;
    font-weight: 650;
  }
}

h2 {
  font-size: 16px;
  font-weight: 500;
  margin: 8px 0 8px 0;
}
@media (min-width: 750px) {
  h2 {
    font-size: 18px;
    font-weight: 500;
  }
}
p {
  font-size: 16px;
  margin: 0;
}
.projects p {
  font-weight: 500;
}

a {
  font-size: 16px;
  font-weight: 500;
  color: hsl(20, 32%, 7%);
  text-decoration: none;
}
@media (min-width: 920px) {
  a {
    font-size: 18px;
  }
}
a:hover, a:active {
  text-decoration: underline;
}

html {
  height: 100%;
  width: 100%;
}

.background {
  position: fixed;
  top: -200px;
  bottom: -200px;
  left: -200px;
  right: -200px;
  height: calc(100% + 400px);
  width: calc(100% + 400px);
  animation: bg 15s linear infinite;
  background: linear-gradient(135deg, hsl(15, 100%, 70%), 50%, hsl(10, 85%, 52%));
}
@media (min-width: 570px) {
  .background {
    animation: bg 10s linear infinite;
  }
}

@keyframes bg {
  0%, 100% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(200px, 200px);
  }
  50% {
    transform: translate(0, 0);
  }
  75% {
    transform: translate(-200px, -200px);
  }
}
.content-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 15px;
  border-radius: 5px;
  background-color: hsl(18, 100%, 98%);
}
@media (min-width: 570px) {
  .content-wrapper {
    padding: 20px;
  }
}

.content-wrapper header {
  margin: 10px 0 40px 0;
  max-width: 650px;
}
@media (min-width: 920px) {
  .content-wrapper header {
    margin: 44px 0 64px 0;
  }
}
.content-wrapper header img.unterschrift {
  max-width: 400px;
}
.content-wrapper header svg {
  color: hsl(20, 32%, 7%);
  position: relative;
  width: 18px;
  top: 2px;
  margin-right: 1px;
}
@media (min-width: 920px) {
  .content-wrapper header svg {
    width: 20px;
    top: 3px;
    margin-right: 2px;
  }
}
.content-wrapper .projects {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 920px) {
  .content-wrapper .projects {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 820px;
  }
}
.content-wrapper .projects a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  max-width: 400px;
  text-decoration: none;
  margin-bottom: 12px;
}
.content-wrapper .projects a:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 920px) {
  .content-wrapper .projects a:nth-of-type(3) {
    order: 4;
  }
}
@media (min-width: 920px) {
  .content-wrapper .projects a:nth-of-type(even) img {
    height: 234px;
  }
}
@media (min-width: 920px) {
  .content-wrapper .projects a:nth-of-type(2n+1) img {
    height: 218px;
  }
}
@media (min-width: 920px) {
  .content-wrapper .projects a {
    width: 400px;
    max-width: none;
  }
}
@media (min-width: 920px) {
  .content-wrapper .projects a.ba-link {
    width: calc(400 * 2px + 20px);
  }
}
.content-wrapper .projects a:hover img, .content-wrapper .projects a:active img {
  filter: brightness(95%);
  text-decoration: none;
}
.content-wrapper .projects a:hover p.ba-title, .content-wrapper .projects a:active p.ba-title {
  filter: brightness(98%);
  text-decoration: none;
}
.content-wrapper .projects a:hover p, .content-wrapper .projects a:active p {
  text-decoration: underline;
}
.content-wrapper .projects a img, .content-wrapper .projects a p.ba-title {
  width: 100%;
  border-radius: 6px;
  position: relative;
  border: 1px solid hsl(20, 8%, 80%);
}
.content-wrapper .projects a p {
  padding: 8px;
  width: 100%;
  text-align: left;
}
.content-wrapper .projects a p.ba-title {
  height: 170px;
  color: black;
  background-color: white;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: arial;
  font-weight: bold;
}
@media (min-width: 480px) {
  .content-wrapper .projects a p.ba-title {
    height: 190px;
  }
}
@media (min-width: 920px) {
  .content-wrapper .projects a p.ba-title {
    height: 234px;
    font-size: 20px;
  }
}

nav a {
  font-size: 14px;
  text-decoration: underline;
}

article.ba {
  max-width: 550px;
  margin-top: 20px;
}
article.ba h1 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 2px;
}
@media (min-width: 400px) {
  article.ba h1 {
    font-size: 16px;
  }
}
@media (min-width: 750px) {
  article.ba h1 {
    font-size: 20px;
  }
}
article.ba h2 {
  font-size: 16px;
  line-height: normal;
  font-weight: 700;
}
@media (min-width: 400px) {
  article.ba h2 {
    font-size: 20px;
  }
}
@media (min-width: 750px) {
  article.ba h2 {
    font-size: 28px;
  }
}
article.ba p {
  margin: 16px 0;
  line-height: 1.5;
}
article.ba p.disclaimer {
  font-style: italic;
}
article.ba p a {
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 920px) {
  article.ba .projects {
    flex-direction: column;
    flex-wrap: nowrap;
    width: auto;
  }
}
article.ba .projects a {
  width: 100%;
  margin: 16px auto;
}
article.ba .projects a:hover img, article.ba .projects a:active img {
  filter: brightness(98%);
}
@media (min-width: 750px) {
  article.ba .projects a {
    width: 80%;
  }
}
article.ba .projects img {
  height: auto !important;
}

*, *:before, *:after {
  box-sizing: border-box;
}