/* Font */
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-Bold.ttf);
    font-weight: 700;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-BoldItalic.ttf);
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-SemiBold.ttf);
    font-weight: 600;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-SemiBoldItalic.ttf);
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-Regular.ttf);
    font-weight: 400;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-Italic.ttf);
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-Light.ttf);
    font-weight: 300;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-LightItalic.ttf);
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-Thin.ttf);
    font-weight: 100;
}
@font-face {
    font-family: JosefinSans;
    src: url(font/JosefinSans-ThinItalic.ttf);
    font-weight: 100;
    font-style: italic;
}
*{
    font-family: 'JosefinSans';
}

/* Navigation */
nav{
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    height: auto;
padding-bottom: 10px;
    border-bottom: 1px solid #696969;
    width: 100%;
    z-index: 10;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
nav #logo{
    height: 100%;
    width: auto;
    position: relative;
    left: 40px;
    top: 10px;
padding-top: 25px;
max-width: 100%;
padding-right: 83px;
padding-bottom: 10px;
font-weight: 300;
}
nav #logo a{
color: #696969;
text-decoration: none;
font-size: 1.2em;
}
nav #nav{

}
nav ul{
    margin: 0 40px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    height: 66px;
    float: right;
    align-items: flex-end;
}
nav ul li{
    padding: 25px 15px 0 15px;
}
nav ul li a{
    color: #696969;
    transition: 0.3s;
    font-weight: 300;
}
nav ul li a:hover{
    color: #000;
    transition: 0.3s;
    text-decoration: none;
}

/* Slider */
#slider{
    height: 100vh;
    width: 100vw;
    background-color: #fff;
    margin-bottom: 40px;
    padding: 0;
}
#slider .row{
  margin: 0 !important;
}
.slider{
  padding: 0;
}
#slider .slide img{
  height: 100vh;
  width: 100%;
  object-fit: cover;
}
#slider .slide h2{
    color: #000;
    background-color: #fff;
    font-size: 2em;
    position: absolute;
    bottom: 150px;
    left: 100px;
    padding: 10px;
    font-weight: 900;
}
#slider .slide h3{
    color: #000;
    background-color: #fff;
    font-size: 1em;
    font-style: italic;
    position: absolute;
    bottom: 100px;
    left: 100px;
    padding: 10px;
}
#slider .slide h4{
    color: #000;
    background-color: #fff;
    font-size: 2em;
    position: absolute;
    bottom: 150px;
    left: 100px;
    right: 100px;
    max-width: 600px;
    min-width: 250px;
    padding: 10px;
    font-weight: 900;
    text-align: left;
}
#slider .active{
    opacity: 1;
    transition: 1s ease;
}
#slider .navigation{
    position: absolute;
    height: 50%;
    top: 50%;
    margin-top: 0px;
}
#slider .slider-prev, #slider .slider-next{
    width: 80px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    position: absolute;
    height: 100%;
    z-index: 9;
    top: 0;
}
#slider .slider-prev{
    text-align: right;
    left: 0;
}
#slider .slider-next{
    text-align: left;
    right: 0;
}
#slider .slider-prev i, #slider .slider-next i{
  margin-top: 50vh;
  top: -20px;
}
#slider .slider-down{
    position: absolute;
    height: 40px;
    margin-left: -20px !important;
    color: #fff;
    font-size: 40px;
    bottom: 20px;
    left: 50%;
    cursor: pointer;
}
#slider .slider-down i{
    color: #fff;
}
#slider .navigation .center .dot{
    height: 10px;
    width: 40px;
    margin: 0 5px;
    display: inline-flex;
    background-color: rgba(0, 0, 0, 0.38);
    box-sizing: border-box;
}
#slider .navigation .center .dot.active{
    background-color: #000;
}
#slider .slide{
  filter: grayscale(1);
}

/* Text class */
.text{
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}
.text li{
color: #696969;
font-weight: 300;
list-style: circle;
}
.center{
    margin-left: auto !important;
    margin-right: auto !important;
}
.text h1{
    text-align: center;
    font-size: 1.5em;
    font-weight: 700;
    color: #696969;
    margin-bottom: 20px;
}
.text h1.left{
text-align: left !important;
}
.text h1.right{
text-align: right !important;
}
.text.right{
padding-left: 35px;
}
.right h1{
    text-align: left !important;
}
.right h1::before{
  content: '+';
  left: -5px;
  top: -18px;
  color: #818181;
  font-size: 2em;
  position: absolute;
  font-weight: 100;
}
.text p{
    margin: 0;
    padding: 0;
    text-align: justify;
    font-size: 1em;
    color: #696969;
    font-weight: 300;
}
.text td{
    color: #696969;
    padding: 0 20px 0 0;
}

/* Projekte */
#projekte{
    margin-bottom: 30px;
}
#projekte .text{
    margin-bottom: 0 !important;
}
#projekte .text h1{
    margin-bottom: 20px;
}
#projekte .col-sm-4{
    margin: 0;
    padding: 0;
}
#projekte .col-sm-4 .inner{
    padding-bottom: 20px;
}
#projekte .col-sm-4 .img{
    width: 100%;
    height: 300px;
    background-color: #d9d9d9;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    filter: grayscale(1);
    transition: 0.3s;
}
#projekte .col-sm-4 h2{
    font-size: 0.8em;
    text-align: center;
    padding: 10px 0 0 0;
    font-weight: 500;
    color: #696969;
    margin: 0;
    transition: 1s;
}
#projekte .col-sm-4 a:hover{
    transition: 0.3s;
    text-decoration: none;
}
#projekte .col-sm-4:hover .img{
    filter: grayscale(0);
    transition: 1s;
}
#projekte .col-sm-4 a:hover h2{
    color: #000;
    transition: 0.3s;
}

/* Aktuelles */
#aktuelles{
    margin-bottom: 30px;
}
#aktuelles .text{
    margin-bottom: 0 !important;
}
#aktuelles .text h1{
    margin-bottom: 10px !important;
}
#aktuelles .col-md-4{
    padding: 10px;
}
#aktuelles .col-md-4 a:hover, #aktuelles .col-md-4 a:hover p, #aktuelles .col-md-4 a:hover h2{
    text-decoration: none;
    color: #000 !important;
    transition: 0.3s;
}
#aktuelles .col-md-4 .inner{
    padding: 20px;
}
#aktuelles .col-md-4 .img{
    width: 100%;
    height: 200px;
    background-color: #d9d9d9;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    margin-bottom: 20px;
    filter: grayscale(1);
}
#aktuelles .col-md-4 h2{
    font-size: 1.3em;
    text-align: center;
    font-weight: 900;
    color: #696969;
    margin-bottom: 10px;
    transition: 0.3s;
}
#aktuelles .col-md-4 p{
    font-size: 1em;
    text-align: justify;
    font-weight: 300;
    color: #696969;
    margin-bottom: 0;
    transition: 0.3s;
}

/* Team */
#team{
    margin-bottom: 30px;
}
#team .text{
    margin-bottom: 0 !important;
}
#team .text h1{
    margin-bottom: 10px;
}
#team .col-md-4{
    padding: 10px;
}
#team .col-md-4 .inner{
    padding: 20px;
}
#team .col-md-4 .img{
    height: 200px;
    background-color: #d9d9d9;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    transition: 0.3s;
    margin: 0 auto;
    filter: grayscale(1);
}
#team .col-md-4 h2{
    font-size: 1.1em;
    text-align: center;
    padding: 20px 0 0 0;
    font-weight: 900;
    color: #696969;
    margin: 0;
    transition: 1s;
}
#team .col-md-4 p{
    text-align: center;
    color: #696969;
    font-size: 0.9em;
    font-weight: 500;
}

/* Kontakt */
#kontakt .row{
padding: 40px 0;
}

/* Footer */
footer{
    text-align: left;
    border-top: 1px solid #696969;
    margin-top: 40px;
}
footer .row{
padding: 0 10px 0 10px;
}
footer ul{
    list-style: none;
    display: inline-flex;
    margin: 0;
    padding: 20px 0;
}
footer ul li{
    margin: 0 15px;
    letter-spacing: 2px;
}
footer ul li a{
    color: #696969;
    transition: 0.3s;
    font-weight: 300;
}
footer ul li a:hover{
    color: #000;
    transition: 0.3s;
    text-decoration: none;
}

#rex-yform label{
    display: none;
}
#rex-yform input{
    border-radius: 0;
    border: 1px solid #696969;
    font-size: 0.9em;
    color: #000;
    font-weight: 400;
}
#rex-yform textarea{
    border-radius: 0;
    border: 1px solid #696969;
    font-size: 0.9em;
    color: #000;
    font-weight: 400;
}
#rex-yform button{
    border-radius: 0;
    border: 1px solid #696969;
    background-color: #696969;
    font-size: 0.9em;
    color: #fff;
    font-weight: 400;
    transition: 0.3s;
    float: right;
}
#rex-yform button:hover{
    background-color: #fff;
    color: #696969;
    transition: 0.3s;
}

.cc-window{
    border-top: 1px solid #696969;
}
.grecaptcha-badge {
    display: none;
}
#mobile_nav input{
    display: none;
  }
  #mobile_nav span{
    display: none;
  }

  .footer_google{
    font-weight: 100 !important;
  }
  .footer_google a{
    font-weight: 400 !important;
  }

  .placeholder{
      margin-top: 100px;
  }

@media only screen and (max-width: 767px) {
    #kontakt .text-right{
        text-align: center !important;
    }
    #mobile_nav{
        position: relative;
        top: 0;
        right: 0;
        padding: 40px 40px 0 0;
    }
    #mobile_nav input{
        display: block;
      }
      #mobile_nav span{
        display: block;
      }

      #nav{
          position: absolute;
          top: 80px;
          right: 0px;
        width: 300px;
        padding: 20px;
        height: auto;

        background: #fff;
        list-style-type: none;
        -webkit-font-smoothing: antialiased;

        transform-origin: 0% 0%;
        transform: translate(100%, 0);

        transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
        border-left: 1px solid #696969;
        border-bottom: 1px solid #696969;
      }

      #nav ul{
        display: list-item;
        height: auto;
        padding-bottom: 20px;
      }
}





#mobile_nav{
  z-index: 1;
  float: right;
  -webkit-user-select: none;
  user-select: none;
}

#mobile_nav input{
  width: 40px;
  height: 32px;
  position: absolute;
  top: 40px;
  right: 40px;

  cursor: pointer;

  opacity: 0;
  z-index: 2;

  -webkit-touch-callout: none;
}
#mobile_nav span{
  width: 33px;
  height: 2px;
  margin-bottom: 7px;
  position: relative;

  background: #696969;

  z-index: 1;

  transform-origin: 4px 0px;

  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}
#mobile_nav span:first-child{
  transform-origin: 0% 0%;
}

#mobile_nav span:nth-child(1){
  transform-origin: 0% 100%;
}
#mobile_nav input:checked ~ span:nth-child(2){
    opacity: 1;
  transform: rotate(45deg) translate(2px, 0px);
}
#mobile_nav input:checked ~ span:nth-child(3){
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}
#mobile_nav input:checked ~ span:nth-child(4){
  opacity: 1;
  transform: rotate(-45deg) translate(-2px, 0);
}


#mobile_nav input:checked ~ #nav{
  transform: none;
}

#bilder img{
    width: 100%;
    filter: grayscale(1);
    transition: 0.3s;
}
#bilder img:hover{
    width: 100%;
    filter: grayscale(0);
    transition: 0.3s;
}
#bilder > div > a{
  margin: 0;
  padding: 0;
}


.lightbox {
	/** Default lightbox to hidden */
	display: none;

	/** Position and style */
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	text-align: center;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
}

.lightbox img {
	/** Pad the lightbox image */
	max-width: 90%;
	max-height: 80%;
	margin-top: 5%;
}

.lightbox:target {
	/** Remove default browser outline */
	outline: none;

	/** Unhide lightbox **/
	display: block;
}
