@charset "utf-8";

@font-face {
   font-display: swap;
   font-family: 'Source Sans 3';
   font-style: normal;
   font-weight: 400;
   src: url('../fonts/source-sans-3-v19-latin-regular.eot');
   src: url('../fonts/source-sans-3-v19-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-3-v19-latin-regular.woff2') format('woff2'), url('../fonts/source-sans-3-v19-latin-regular.woff') format('woff'), url('../fonts/source-sans-3-v19-latin-regular.ttf') format('truetype'), url('../fonts/source-sans-3-v19-latin-regular.svg#SourceSans3') format('svg');
}

@font-face {
   font-display: swap;
   font-family: 'Source Sans 3';
   font-style: normal;
   font-weight: 700;
   src: url('../fonts/source-sans-3-v19-latin-700.eot');
   src: url('../fonts/source-sans-3-v19-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/source-sans-3-v19-latin-700.woff2') format('woff2'), url('../fonts/source-sans-3-v19-latin-700.woff') format('woff'), url('../fonts/source-sans-3-v19-latin-700.ttf') format('truetype'), url('../fonts/source-sans-3-v19-latin-700.svg#SourceSans3') format('svg');
}

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   color: #000;
   font-family: "Source Sans 3", sans-serif;
   font-size: 0.938rem;
   line-height: 1.5;
}

img {
   max-width: 100%;
   height: auto;
   display: block;
}

#wrapper {
   position: relative;
   max-width: 64.5rem;
   margin: 1rem auto;
   overflow: hidden;
   background: #fff;
}

:is(a:link, a:visited, a:hover, a:active) {
   color: inherit;
   text-decoration: none;
   white-space: nowrap;
}

a.link {
   color: #007749;
   text-decoration: underline;
}

p:not(:last-child) {
   margin-bottom: 1.25rem;
}

p.mb {
   margin-bottom: 0;
}

h1,
h2 {
   font-size: 3.125rem;
   line-height: 1.2;
}

h2 {
   background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../images/frau.jpg");
   background-size: cover;
   background-clip: text;
   background-position: bottom;
   color: rgb(0, 0, 0, 0.1);
   padding-bottom: 1.25rem;
}

h2 span {
   color: #007749;
}

h3 {
   font-size: 1rem;
   font-weight: normal;
   color: #007749;
   padding: 1.25rem 0;
}

h4 {
   font-size: 1rem;
   font-weight: normal;
   color: #007749;
}

ul {
   list-style: none;
   margin: 0 0 1.25rem;
}

ul li {
   padding: 0 0 7px 2.5rem;
}

ul li:before {
   content: "\f058";
   font-family: "Font Awesome 5 Free";
   float: left;
   margin-left: -2rem;
}

.section {
   padding: 2.5rem;
   background-color: #fff;
}

.title {
   position: relative;
}

.title>img {
   border-radius: 10px 10px 0 0;
}

.title div {
   background: #007749;
   color: #fff;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0) 69%, rgb(0, 119, 73) 91%);
   position: absolute;
   left: 0;
   bottom: 0;
   padding: 60rem 2.5rem 2.5rem;
   width: 100%;
}

.title div p {
   font-size: 1.25rem;
   line-height: 1.3;
}

.button a {
   color: #ffffff;
   padding: 10px 20px;
   background: #007749;
   border-radius: 3px;
   display: inline-block;
   line-height: 1.2;
   border: 1px solid #00442a;
   box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.18);
   text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
   position: absolute;
   right: 2.5rem;
   bottom: 10rem;
}

.button a:hover {
   box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
   background: #00aa68;
}

header {
   display: flex;
   justify-content: end;
   padding: 0 1rem;
}


.content {
   background: url("../images/frau.png") top center/contain no-repeat;
   box-shadow: 0 0 10px rgb(0, 0, 0, 0.3);
   margin: 1rem;
   border-radius: 10px 10px 0 0;
}

footer {
   padding: 0 2.5rem 2.5rem;
}

@media only screen and (max-width: 64.438rem) {

   #wrapper {
      border: none;
      margin: 0 auto;
   }

   p,
   ul {
      -moz-hyphens: auto;
      -webkit-hyphens: auto;
      -ms-hyphens: auto;
      hyphens: auto;
   }

   h1,
   h2 {
      font-size: 2rem;
   }
}

@media only screen and (max-width: 48rem) {
   header {
      justify-content: center;
   }

   .title div {
      background: #007749;
      position: static;
      padding: 1.5rem;
   }

   .section {
      padding: 1.5rem;
   }

   footer {
      padding: 0 1.5rem 1.5rem;
   }
}

@media only screen and (max-width: 30rem) {

   h1,
   h2 {
      font-size: 1.75rem;
   }

   .title div,
   .section {
      padding: 1.5rem 1rem;
   }

   .button a {
      position: static;
   }

   .button {
      display: flex;
      justify-content: center;
      margin: 1rem;
   }

   p:not(:last-child),
   ul {
      margin-bottom: 1rem;
   }

   h3 {
      padding: 0 0 1rem;
   }
}
