/* ropa-sans-regular - latin */
@font-face {
   font-family: 'Ropa Sans';
   font-style: normal;
   font-weight: 400;
   src: url('fonts/ropa-sans-v9-latin-regular.eot'); /* IE9 Compat Modes */
   src: local('Ropa Sans Regular'), local('RopaSans-Regular'), url('fonts/ropa-sans-v9-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/ropa-sans-v9-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('fonts/ropa-sans-v9-latin-regular.woff') format('woff'), /* Modern Browsers */ url('fonts/ropa-sans-v9-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('fonts/ropa-sans-v9-latin-regular.svg#RopaSans') format('svg'); /* Legacy iOS */
}
@font-face {
   font-family: "Ropa Sans W01 Thin";
   font-style: normal;
   font-weight: 400;
   src: url("fonts/1372295/cebca76e-f15b-4662-a1a1-5a69087c8529.eot?#iefix");
   src: url("fonts/1372295/cebca76e-f15b-4662-a1a1-5a69087c8529.eot?#iefix") format("embedded-opentype"), url("fonts/1372295/e712b997-dada-4b31-9888-62fa84eea2e2.woff2") format("woff2"), url("fonts/1372295/d8b3d02e-46dd-47d5-92a5-a6e35a79b287.woff") format("woff"), url("fonts/1372295/0481e84a-1c47-4738-8bca-5c22e19402b4.ttf") format("truetype");
}
/*
        This CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype and/or its suppliers. You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype with any questions regarding Web Fonts:  http://www.fontshop.com
        */
html, body {
   font-family: 'Ropa Sans', sans-serif;
   margin: 0;
   padding: 0;
   font-size: 22px;
   color: #010100;
   text-align: center;
   font-display: block;
   -webkit-font-smoothing: antialiased;
   cursor: url('img/cursor_sw.svg'), auto;
}
body.Info {
   background-color: #fff;
}
a, a:link, a:visited, a:hover, a:active, a:focus {
   color: #010100;
   text-decoration: none;
   cursor: url('img/cursor_gold.svg'), auto;
}
a:hover, a:active, a:focus {
   color: #010100;
}
h1, h2, h3, h4, h5, h6 {
   font-weight: bold;
   margin-top: 1rem;
   margin-bottom: 0.5rem;
}
h5 {
   font-size: 28px;
   line-height: 130%;
   font-weight: 400;
}
strong {
   font-weight: bold;
}
p {
   margin-bottom: 0.5rem;
}
.thin {
   font-family: 'Ropa Sans W01 Thin', sans-serif;
}
header {
   position: fixed;
   width: 100vw;
   margin: auto;
   padding: 6vh 0 0 0;
   top: 0;
   z-index: 500;
}
header nav {
   position: fixed;
   top: 6vh;
   right: 5vw;
   z-index: 501;
}
header .logo {
   width: 18vw;
   min-width: 180px;
   max-width: 270px;
}
header .logo.filter,
.hamburger-show.filter {
  filter: invert(100%);
}
nav ul {
   padding: 0;
   position: relative;
   display: inline-block;
}
nav ul li {
   text-align: left;
   display: inline-block;
}
nav a, nav a:link, nav a:visited {
   display: block;
   padding: 0.7em 0.5em 0.3em 0.5em;
}
nav a:selected, nav a:hover, nav a:active {
   text-decoration: underline;
}
#wrapper {
   width: 70vw;
   max-width: 2500;
   margin: auto;
   padding-top: 24vh;
}
aside {
   margin-top: -5vh;
   margin-bottom: 10vh;
}
main {
   min-height: 70vh;
   text-align: left;
   line-height: 140%;
   margin: auto;
}
main.center {
   text-align: center;
}
main.foto {
   width: 80%;
   min-height: auto;
   text-align: center;
}
main.foto img {
   width: 100%;
   margin: auto;
   min-height: auto;
}
@media only screen and (max-width: 800px) {
   main.foto img {
      width: 100%;
      max-width: 100%;
      margin: auto;
      min-height: auto;
   }
}
main.foto h5 {
   position: absolute;
   left: 65vw;
   top: 200px;
   text-align: left;
}
main.foto .quelle {
   font-size: 90%;
   text-align: right;
}
main.text {
   width: 100%;
   margin: auto;
   text-align: left;
}
.Impressum main.text, .Datenschutz main.text {
   margin: auto;
   text-align: left;
}
main .bild {
   position: relative;
   display: inline-block;
   padding: 0 2% 4% 2%;
}
main img {
   vertical-align: top;
   height: auto;
   width: 100%;
   height: auto;
}
main #alle {
   display: flex;
   flex-flow: row;
   flex-wrap: wrap;
   box-sizing: border-box;
}
main .teaser {
   position: relative;
   width: 50%;
   height: auto;
   align-content: flex-start;
   align-content: center;
   background-color: #000;
   text-align: right;
}
main .teaser:nth-child(even) {
   text-align: left;
}
main .teaser img {
   width: 100%;
   height: 100%;
   min-width: 100%;
   object-fit: cover;
}
main #alle.projekte {
   grid-gap: 2vh;
}
main .teaser.projekt {
   background-color: transparent;
   width: 48%;
   text-align: left;
   box-sizing: border-box;
}
main .teaser.projekt:nth-child(even) {
   text-align: right;
}
main .teaser.projekt:nth-child(2) {
   align-self: flex-start;
}
main .teaser.projekt:nth-child(3) {
   align-self: flex-end;
}
main .teaser.projekt img {
   width: 100%;
   height: auto;
   object-fit: contain;
}
main .teaser.projekt:nth-child(3) img {
   max-height: 60vh;
   object-fit: cover;
}
main .bild_title {
   display: none;
   width: 100%;
   position: absolute;
   top: 2%;
   left: 3%;
   text-align: left;
   line-height: 110%;
   color: #fff;
}
main .bild_title p {
   margin: 0;
   font-size:16px;
}
main .bild_title a, main .bild_title a:visited, main .bild_title a:hover, main .bild_title a:active {
   color: #fff !important;
}
main .teaser:hover img {
   filter: opacity(0.4);
}
main .teaser.projekt:hover img {
   filter: opacity(1);
}
main .teaser:hover .bild_title {
   display: block;
}
main .projekte .bild_title {
   width: auto;
   display: block;
   position: absolute;
   top: 24vh;
   left: 50vw;
   text-align: left;
   line-height: 110%;
   color: #000;
   text-shadow: 0px 0px 6px #fff;
   z-index: 100;
   background-color: #FFFFFF;
   padding: 0 7px 7px 0;
}
main .bild_title > * {
   display: table-row;
   padding: 2px;
   margin: 3px;
}
.caroussel {
   position: fixed;
   bottom: 40vh;
   display: block;
   left: 0;
   line-height: 100%;
}
.caroussel.next {
   right: 0;
   left: inherit
}
.caroussel a {
   font-size: 400%;
   padding: 1vw;
}
footer {
   padding: 1vh 0;
   margin-top: 2vh;
}
footer a, footer a:link, footer a:visited {
   display: inline-block;
   padding: 0 1vw;
   color: #666
}
.responsive {
   display: none;
}
@media only screen and (max-width: 1400px) {
   .desktop {
      display: none;
   }
   .responsive {
      display: inherit;
   }
   a.hamburger-show, a.hamburger-close {
      height: 28px;
      width: 56px;
      display: block;
      top: 13vh;
      left: 47vw;
      background-image: url(img/hamburger.svg);
      background-position: top left;
      background-repeat: no-repeat;
      background-size: 60%;
      position: fixed;
      z-index: 600;
   }
   a.hamburger-close {
      display: none;
      background-image: url(img/hamburger.svg);
      background-position: bottom left;
   }
@media only screen and (max-width: 800px) {
   html, body {
      font-size: 18px;
   }
   #wrapper {
      width: 90vw;
      max-width: 1200px;
      margin: auto;
   }
   header nav {
      width: 100vw;
      height: auto;
      min-height: 95vh;
      background-color: #fff;
      position: absolute;
      top: 0;
      right: 0;
      margin-bottom: 0;
      padding-top: 20vh;
      z-index: 500;
   }
   header nav ul {
      padding: 0;
      width: 100%;
   }
   header nav ul li {
      display: block;
      margin: 5vh 0;
      width: 100%;
      height: 7vh;
      text-align: center;
   }
   header nav a {
      display: block;
      height: 150%;
      position: relative;
      border-bottom: none;
      text-align: center;
      font-size: 2em;
   }
   wrapper {
      padding-top: 30vh;
   }
   main.foto img {
      max-width: 80vw;
   }
   main.foto h5 {
      position: relative;
      left: inherit;
      top: inherit;
      text-align: left;
   }
   main .teaser {
      width: 100%;
   }
   main .teaser.projekt {
      width: 100%;
      order: 3;
   }
   main .teaser.projekt:nth-child(2) {
      order: 1;
   }
main .teaser.projekt:nth-child(3) img {
   max-height: auto;
   object-fit: contain;
}
   main .projekte .bild_title {
      position: relative;
      top: inherit;
      left: inherit;
      text-align: left;
      order: 2;
      margin-bottom: 2vh;
   }
}
p span.klein {
   transform: scale(0.85);
}
a.back {
   height: 100vh;
   width: 100vw;
   position: fixed;
   top: 0;
   left: 0;
}
@media only screen and (max-width: 2000px) {
   html, body {
      font-size: 18px;
   }
   #wrapper {
      max-width: 1000px;
      margin: auto;
   }
}