@charset "utf-8";

@font-face {
   font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
   font-family: 'Ubuntu';
   font-style: normal;
   font-weight: 400;
   src: url('../fonts/ubuntu-v20-latin-regular.eot');
   /* IE9 Compat Modes */
   src: url('../fonts/ubuntu-v20-latin-regular.eot?#iefix') format('embedded-opentype'),
      /* IE6-IE8 */
      url('../fonts/ubuntu-v20-latin-regular.woff2') format('woff2'),
      /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url('../fonts/ubuntu-v20-latin-regular.woff') format('woff'),
      /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
      url('../fonts/ubuntu-v20-latin-regular.ttf') format('truetype'),
      /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
      url('../fonts/ubuntu-v20-latin-regular.svg#Ubuntu') format('svg');
   /* Legacy iOS */
}

@font-face {
   font-display: swap;
   /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
   font-family: 'Ubuntu';
   font-style: normal;
   font-weight: 700;
   src: url('../fonts/ubuntu-v20-latin-700.eot');
   /* IE9 Compat Modes */
   src: url('../fonts/ubuntu-v20-latin-700.eot?#iefix') format('embedded-opentype'),
      /* IE6-IE8 */
      url('../fonts/ubuntu-v20-latin-700.woff2') format('woff2'),
      /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url('../fonts/ubuntu-v20-latin-700.woff') format('woff'),
      /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
      url('../fonts/ubuntu-v20-latin-700.ttf') format('truetype'),
      /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
      url('../fonts/ubuntu-v20-latin-700.svg#Ubuntu') format('svg');
   /* Legacy iOS */
}

:root {
   font-size: 16px;
}

* {
   box-sizing: border-box;
   margin: 0;
}

html {
   min-height: 100%;
}

body {
   color: #000;
   font: 400 0.813em/1.5em 'Ubuntu', Arial, sans-serif;
}

#wrapper {
   position: relative;
   max-width: 915px;
   margin: 1rem auto;
   border: solid 1px #000;
   background: url('../images/bottom-heart.jpg') no-repeat left bottom 8.5rem, url('../images/heart.png') no-repeat right top 39.9rem, #fff;
   overflow: hidden;
}

p {
   padding-bottom: 1rem;
   text-align: justify;
}

h1 {
   margin: 0 0 1rem;
   font-size: 2.9em;
   line-height: 1.25em;
   text-align: center;
}

h1,
h2 {
   color: #003889;
}

h1+p {
   font-size: 1.375em;
   line-height: 1.3;
}

h2 {
   font-size: 1.73em;
   line-height: 1.3em;
   margin-bottom: 0.6rem;
}

.ansprechperson {
   font-size: 2em;
}

.ansprechperson img {
   vertical-align: -22px;
}

h3 {
   font-size: 1.250em;
   line-height: 1.3;
   padding-bottom: 0.5rem;
}

h4,
h4+p,
.mail {
   font-size: 1.188em;
   line-height: 1.3;
}

.res,
.desk {
   display: none;
}

:is(a:link, a:hover, a:visited, a:active) {
   color: inherit;
   text-decoration: none;
}

img {
   max-width: 100%;
   height: auto;
   vertical-align: middle;
}

ul {
   padding: 0 0 1.2rem;
   list-style: none;
}

li {
   padding-left: 1.4rem;
}

ul li:before {
   content: "•";
   font-size: 1.2em;
   float: left;
   margin: 0 0 0 -1.1rem;
}

.logo {
   padding: 2.5rem;
   display: flex;
   justify-content: center;
}

.main {
   padding: 0 1rem;
}

article {
   padding: 2rem 1.5rem 0;
}

.center {
   text-align: center;
}

.row {
   background: #D9DEE2;
   display: flex;
   justify-content: space-between;
   padding: 0.5rem 65px;
   gap: 1rem;
   flex-wrap: wrap;
   margin: 40px -40px 15px;
}

.row p {
   padding-bottom: 0;
   display: flex;
   align-items: center;
}

.row small {
   display: block;
   line-height: 1.3;
}

.row p img {
   vertical-align: -12px;
   padding-right: 0.25rem;
}

.bottom {
   padding-bottom: 0;
}

.first {
   position: relative;
   align-items: center;
}

.first ul {
   text-align: justify;
}

.first section {
   width: 70%;
}

.second,
.third {
   background: #E7E8EB;
   padding: 1rem;
   border-radius: 0 0 60px 0;
   margin: 0 -1rem 1rem;
}

.left p {
   padding-bottom: 2.3rem;
}

.right p {
   padding-bottom: 2rem;
}

.right p:nth-of-type(2) {
   padding-bottom: 1rem;
   line-height: 1.2;
}

.third h2 {
   text-align: center;
   font-size: 2.3em;
   margin: 0 -3rem 1.2rem;
}

.third figure {
   margin-bottom: 0.7rem;
   display: flex;
   justify-content: center;
}

.second section {
   width: 75%;
}

.left,
.mid,
.right {
   width: 31%;
}

.box {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
}

.contact {
   border: 2px solid #003889;
   padding: 0.5rem 1rem 0 14rem;
   width: fit-content;
   position: relative;
   margin: 3rem 0;
   border-radius: 10px;
}

.arrow {
   margin: 14px -29px 0 0;
}

.avatar {
   position: absolute;
   left: -2px;
   top: -23px;
}

.flex {
   display: flex;
   gap: 1rem;
   flex-wrap: wrap;
   padding: 1rem 0 3rem 10rem;
   align-items: center;
}

.big {
   text-align: right;
   font-size: 2em;
   line-height: 1.3;
   padding-bottom: 0;
}

footer {
   padding: 0 1.5rem 2rem;
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   flex-wrap: wrap;
}

a.link {
   color: #003889;
}

footer p {
   font-size: 0.750em;
   line-height: 1.2;
   padding: 0 0 0 0.8rem;
}

.qr {
   display: flex;
   align-items: center;
}

@media only screen and (max-width:914px) {
   #wrapper {
      border: none;
      margin: 0 auto;
      background: #fff;
      hyphens: auto;
   }

   .logo {
      padding: 1rem;
   }

   h1 {
      font-size: 2em;
   }

   .first ul,
   p {
      text-align: left;
   }

   .res {
      display: block;
      background: #E7E8EB;
      padding: 0.7rem 0.5rem;
      margin: 0 -16px -6px;
   }

   .third h2 {
      display: none;
   }
   .ansprechperson,h2{
      font-size: 1.6em;
   }

}

@media only screen and (max-width:780px) {

   .first section,
   .second section,
   .left,
   .mid,
   .right {
      width: 100%;
   }

   .desk {
      display: block;
      padding-left: 1rem;
   }

   .box,
   .flex {
      display: block;
   }

   .first {
      display: flex;
      flex-wrap: wrap-reverse;
      align-items: center;
      justify-content: center;
   }

   figure,
   .qrcode {
      display: flex;
      justify-content: center;
   }
   .third figure {
      gap: 1rem;
      flex-wrap: wrap;
   }


   .main {
      padding: 0;
   }

   .row {
      padding: 0.5rem 1.5rem;
      gap: 1rem;
      flex-wrap: wrap;
      margin: 40px -1.5rem 15px;
   }


   .right p:nth-of-type(2) {
      line-height: 1.3;
   }

   .right p,
   .left p {
      padding-bottom: 1rem;
   }

   .big {
      text-align: center;
      font-size: 1.6em;
      padding: 1rem 0;
   }

   .big br,
   .flex span,
   .right figure {
      display: none;
   }

   .flex {
      padding: 0;
   }

}

@media only screen and (max-width:560px) {
   .avatar {
      position: static;
   }

   .contact {
      padding: 1rem;
      margin: 3rem 0;
      width: 100%;
   }

   .avatar {
      display: flex;
      justify-content: center;
      margin-bottom: 1rem;
   }

   footer br {
      display: none;
   }

}
