/* Allgemein */
* {
  box-sizing: border-box;
}

body {
  font-family: 'robotoregular', sans-serif;
  margin: 0;
}

.bold {
  font-weight: bold;
}

h1,
.h1 {
  font-family: 'ralewaysemibold', sans-serif;
  color: #2E4E26;
  font-size: 1em;
  text-align: center;
  font-weight: bold;
}

h2 {
  font-family: 'ralewayregular', sans-serif;
  color: #2E4E26;
  font-size: 0.8em;
  text-align: center;
}

h3,
.h3 {
  font-family: 'ralewayregular', sans-serif;
  color: #2E4E26;
  font-size: 0.7em;
  font-weight: bold;
}

p, label {
  font-size: 0.42em;
}

img {
  max-width: 100%;
}

hr {
  border-top: 2px solid #2E4E26;
  width: calc(100% - 2 * 5%);
  margin: 50px 5%;
}

button {
  border-radius: 10px;
  transition: background .3s ease-out;
  cursor: pointer;
  border: none;
  background: #2E4E26;
  color: #fff;
  padding: 10px 40px;
  font-size: 0.5em;
  font-weight: bold;
}

input[type='submit'] {
  border-radius: 100px;
  transition: background .3s ease-out;
  cursor: pointer;
  border: none;
  background: #fff;
  color: #2E4E26;
  padding: 10px 30px;
  font-size: 0.5em;
  font-weight: bold;
  margin: 30px 0;
  width: 100%;
}

button a {
  color: #fff;
  text-decoration: none;
}

button:hover {
  background: #457539;
}

input[type='text'],
input[type='email'] {
  height: 30px;
  width: calc(100% - 10px);
  font-size: 0.42em;
  border: none;
  border-radius: 100px;
  padding: 5px 10px;
}

/* Sticky Icons */
.sticky-icons {
  position: fixed;
  bottom: 2%;
  right: -2px;
  z-index: 99;
}

.sticky-icons div {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  height: 50px;
  width: 100px;
  font-size: 0.8em;
  border: 2px solid #2E4E26;
  border-radius: 100px 0 0 100px;
  color: #2E4E26;
  margin-bottom: 10px;
  font-weight: bold;
  transition: border .3s ease-out;
}

.sticky-icons div:hover {
  border: 3px solid #2E4E26;
}

.sticky-icons div span i {
  font-size: 0.6em;
  margin-left: 5px;
}

/* Header */
header {
  position: relative;
  width: auto;
  height: 100vh;
}

.content p:first-of-type {
  color: #2E4E26;
  font-family: 'ralewaysemibold', sans-serif;
  font-size: 0.7em;
}

.content p:last-of-type {
  font-family: 'roboto', sans-serif;
  font-size: 0.5em;
}

/* Start */
.start {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: space-between;
  margin: 30px 0;
}

.start div:first-of-type {
  grid-column: span 2 / span 2;
}

.start p {
  margin: 10% 5%;
  line-height: 25px;
}

.start p span {
  font-size: 150%;
  font-weight: bold;
}

.categories {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.category {
  display: grid;
  border-radius: 40px;
  align-content: stretch;
  margin: 20px
}

.category h3 {
  margin-top: 5px;
  text-align: center;
}

.category hr {
  width: calc(100% - 30px);
  margin: 0 5% 15px 5%;
}

.category-image {
  border-radius: 40px 0 0 40px;
}

.category-image-abenteuerbox {
  background: url('../images/abenteuerboxen.jpg') center no-repeat;
  background-size: cover;
}

.category-image-krimskrams {
  background: url('../images/krimskrams.jpg') center no-repeat;
  background-size: cover;
}

.category-image-kinderbuecher {
  background: url('../images/kinderbuecher.jpg') center no-repeat;
  background-size: cover;
}

.category-image-adventskalender {
  background: url('../images/adventskalender.jpg') center no-repeat;
  background-size: cover;
}

.category-image-erwachsenes {
  background: url('../images/erwachsenes.jpg') center no-repeat;
  background-size: cover;
}

.category-image-ueber-mich {
  background: url('../images/ueber-mich.png') center no-repeat;
  background-size: cover;
}

.category > div:last-of-type, .category > div:nth-child(2) {
  padding: 30px;
}

.category > div:last-of-type {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #dbf5c9;
  border-radius: 0 40px 40px 0;
}

/* Footer/Kontakt und Impressum */
footer {
  display: flex;
  justify-content: space-between;
  padding: 30px 5%;
  background: #dbf5c9;
  line-height: 25px;
}

footer div:first-of-type a {
	font-size: 0.42em;
}

footer span {
  font-size: 0.42em;
}

.footer-link {
  transition: color .3s ease-out;
  text-decoration: none;
  color: #2E4E26;
}

.footer-link:hover {
  color: #1e5c5c;
}

/* Media Query Mobile */
@media (max-width: 991px) {
  body {
    font-size: 38px;
  }

  .header-image {
    background: url('../images/banner.png') center no-repeat;
    background-size: cover;
    height: 30vh;
  }

  .content, .start {
    margin: 10% 5%;
  }
  
  .content {
  	max-width: 80vw;
  }
  
  .start {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  }
  
  .start-image {
  	max-width: 300px;
  }
  
  .category {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

  .category-image {
  	border-radius: 40px 40px 0 0;
  }

  .category > div:last-of-type {
  	border-radius: 0px 0px 40px 40px;
  }

  footer {
    flex-direction: column;
  }
  
  footer > div {
  	max-width: 70vw;
  }
}

/* Media Query Tablet/Desktop */
@media (min-width: 992px) {
  body {
    font-size: 41px;
  }

  header {
    background: url('../images/banner.png') no-repeat;
    background-size: contain;
    padding: 0 5%;
  }

  .header-image {
    display: none;
  }

  .start {
    display: grid;
	align-items: center;
    margin: 0 7%;
  }

  .content {
    position: absolute;
    top: 60%;
    right: 10%;
    left: 10%;
  }
  
  .categories {
  	display: grid;
  }
  
  .category {
  	grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}