/* quicksand-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/quicksand-v30-latin-300.eot'); /* IE9 Compat Modes */
  src: url('/fonts/quicksand-v30-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/quicksand-v30-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/quicksand-v30-latin-300.woff') format('woff'), /* Modern Browsers */
       url('/fonts/quicksand-v30-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/quicksand-v30-latin-300.svg#Quicksand') format('svg'); /* Legacy iOS */
}
/* quicksand-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/quicksand-v30-latin-700.eot'); /* IE9 Compat Modes */
  src: url('/fonts/quicksand-v30-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/quicksand-v30-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/quicksand-v30-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts/quicksand-v30-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/quicksand-v30-latin-700.svg#Quicksand') format('svg'); /* Legacy iOS */
}

* {
    font-family: "Quicksand", sans-serif;
    font-size: 13px;
    padding: 0;
    margin: 0;
    font-weight: 300;
    line-height: 155%;
    box-sizing: border-box;
    text-decoration: none;
}
:focus {
    outline: 0;
}
strong {
    font-weight: 700;
}
p {
	margin: 0 0 10px 0;
}

/* #####################   HEADER  ###################### */

header {
    position: relative;
    width: 100%;
    padding: 20px 0;
    background-color: white;
    display: flex;
    justify-content: center;
}
header .text h1 a,
header .text h1 a:hover {
  color: red;
  font-size: 70px;
  font-weight: 700;
  text-decoration: none;
}
header .text h1 a span,
header .text h1 a:hover span{
 color: red;
 font-size: 70px;
 font-weight: 300;
 text-decoration: none;
}
/* #####################   SILBENTRENNUNG  ###################### */
.silbentrennung {
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
    -webkit-hyphenate-limit-chars: 8 4 4;
    -webkit-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;
    -webkit-hyphenate-limit-zone: 8%;

    -moz-hyphens: auto;
    -moz-hyphenate-limit-chars: 8 4 4;
    -moz-hyphenate-limit-lines: 2;
    -moz-hyphenate-limit-last: always;
    -moz-hyphenate-limit-zone: 8%;

    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: 8 4 4;
    -ms-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-last: always;
    -ms-hyphenate-limit-zone: 8%;

    hyphens: auto;
    hyphenate-limit-chars: 8 4 4;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;
    hyphenate-limit-zone: 8%;
}

/* #####################   FOOTER  ###################### */

footer {
    position: relative;
    width: 100%;
    background-color: white;
    text-align: left;
    margin-top: 80px;
    text-align: left;
}
footer .limit {
  /* border-top: 1px solid black; */
  padding-top: 40px;
  padding-bottom: 40px;
}
footer .limit .footer {
  width:50%;
}
footer a {
    color: black;
    text-decoration: none;
}
footer a:hover {
    color: red;
    text-decoration: none;
}
footer . spalte1 {
  width:50%;
}
footer .spalte2 {
  width:50%;
  text-align: left;
}
footer .spalte3 {
  position: absolute;
  text-align: right;
  right:20px;
  top:40px;
}
#nachoben img {
  margin-top:4px;
  height: 50px;
  width:auto;
}
#nachoben:hover {
  cursor:pointer;
}

#linie {
  position: absolute;
  top:0;
  left:20px;
  right:20px;
  height:1px;
  /* width:100%; */
  background-color: black;
}
/* #####################   INHALT  ###################### */

.limit {
    width: 100%;
    margin: 0 auto;
    max-width: 1140px;
    padding: 0 20px;
    /* min-height: 300px; */
}
.nolimit {
    width: 100%;
    padding: 0 20px;
    text-align: center;
}
#inhalt ul {
  margin: 0 0 10px 0;
  padding-left: 16px;
}
#inhalt ul li {
  margin: 0 0 5px 0;
}

  
.myfadein {
  opacity: 0;
  animation: fadeIn 1s;
  /* animation-delay: .5s; */
  animation-fill-mode: forwards;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* #####################   STARTSEITE  ###################### */

.vollbild {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center center;
    background-color: red;
    
}
.logo {
    position: absolute;
    margin: 10vh auto;
    margin: 45vh auto;
    z-index: 99999;
    width: 100%;
    text-align: center;
}
.logo a h1 {
    color: white;
    font-size: 70px;
    font-weight: 700;
}
.logo a h1 span {
    color: white;
    font-size: 70px;
    font-weight: 300;
}

/* #####################   KACHELN ÜBERSICHT  ###################### */
.liste {
  display: flex;
  flex-wrap: wrap;
  gap:40px;
  justify-content: space-between;
}
.grid {
    position: relative;
    display: inline-block;
    /* margin: 5px; */
    /* margin: 0px 19px 20px 0; */
    line-height: 0;
    /* width: 500px; */
    width:calc(50% - 20px);
    max-width:100%;
    background-color: black;
}
.grid-text {
  /* z-index: -1;
  text-align: center;
	text-align: left;
  color: black;
  padding: 10px 0;
  max-width: 420px;
   */
  text-align: left;
  color: white;
  padding: 10px 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  /* background-color: rgba(0,0,0,0.8); */
  display: none;
  padding: 40px;
}

.grid:hover img {
  opacity: 0.3;
  transition: opacity .5s;
}
.grid-text p {
    margin: 0;
  }
.grid .grid-text a {
  color: white;
  text-decoration: none;
  display: inline-block;
  line-height: auto;
}
.grid-text a:hover {
  color: white;
  text-decoration: none;
}
.grid a {
    display: block;
    line-height: 0;
    color: black;
}
.grid img {
  width:100%;
  max-width:100%;
  opacity: 1;
  transition: opacity .5s;
}
.grid .extralink {
  position:absolute;
  bottom:20px;
  right:20px;
  display: none;
  z-index: 999999;
  color: white;
  padding: 20px;
  border:1px solid white;
}
.grid:hover .grid-text,
.grid:hover .extralink  {
  display: block;
}
.grid:hover .extralink:hover  {
  display: block;
  background-color: white;
  color:black;
}

/* #####################   TITEL + TEXTE  ###################### */
.spalten {
	display: flex;
  gap:40px;
  justify-content: space-between;
}
.text {
	width:calc(50% - 20px);
}

.text a {
	color: black;
	text-decoration: none;
}
.text a:hover {
	color: black;
	text-decoration: underline;
}
.text td {
  vertical-align: top;
}
.text td:first-child {
    white-space: nowrap;
    padding-right: 20px;
}

.projektinfos .extralink {
  color: black;
  padding: 10px 20px;
  border:1px solid black;
}
.projektinfos .extralink:hover {
  text-decoration: none;
  color: red;
  padding: 10px 20px;
  border:1px solid red;
}


.projektinfotext {
    padding-right: 20%;
    text-align: left;
    font-size: 13px;
}
.projektinfotext p {
    font-size: 13px;
    margin-bottom: 8px;
}
.projekttext p {
    margin-bottom: 10px;
}
.projekttext {
    padding-left: 20%;
    text-align: justify;
}
.projektinfotext a,
.projekttext a {
    color: #666;
    font-size: inherit;
    text-decoration: none;
}
.projektinfotext a:hover,
.projekttext a:hover {
    color: black;
}
.projektinfotext ul,
.projekttext ul {
    padding-left: 20px;
}
h2 {
    margin-top: 20px;
    font-size: 24px;
}

.projekttext tr {
    display: flex;
}

.projekttext tr td {
    vertical-align: top;
}
.foto {
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  }
.fotozusatz {
  font-size: smaller;
}
/* #####################   NAVIGATION  ###################### */

#menu {
    align-self: flex-start;
    padding-top: 23px;
    text-align: right;
}

/* #####################   DESKTOP NAVI  ###################### */

#nav,
#nav2 {
    width:50%;
}
#nav ul,
#nav2 ul {
    display: flex;
    flex-direction: column;
    /* justify-content: flex-end; */
}
#nav ul li,
#nav2 ul li {
    list-style-type: none;
    text-align: left;
}
#nav ul li a,
#nav2 ul li a {
    color: #666;
    color: black;
    text-decoration: none;
    /* text-transform: uppercase; */
    padding: 10px;
    padding: 0 20px 0 0;
    white-space: nowrap;
}

#nav ul li a.rex-current,
#nav2 ul li a.rex-current,
#nav ul li a.rex-active,
#nav2 ul li a.rex-active {
    font-weight: 700;
    color: black;
}
#nav ul li a:hover,
#nav2 ul li a:hover {
    color: red;
}
/* ################## VIDEO ################## */
.youtube-container-100 {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 0;
    height: 0;
    overflow: hidden;
}
.youtube-container-100 iframe,
.youtube-container-100 embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ################## RESPONSIVE ################## RESPONSIVE ################## */

@media (max-width: 840px) {

	.spalten {
		flex-direction: column;
	}
    .spalte1 {
        margin-right: 0;
        width:100%;
    }
    .spalte2 {
        margin-left: 0;
        width:100%;
    }

#menu {
        align-self: flex-start;
        padding-top: 0px;
        text-align: left;
    }
.grid {
  margin: 0;
  width:100%;
  max-width:100%;
}
.grid img {
  max-width:100%;
}
footer .limit .footer {
    width: 100%;
}
footer .spalte2 {
  text-align: left;
}
header .spalten {
  gap: 0px;
}
header .text h1 a,
header .text h1 a:hover {
  font-size: 50px;
}
header .text h1 a span,
header .text h1 a:hover span{
 font-size: 50px;
}

}