/* Jiggy, Footer
 *********************************/
.jiggy {}
.jiggy h4 {
  font-size:1.5rem;
  font-weight:500;
  margin:0 0 .75em 0;
}
.jiggy :last-child {
  margin-bottom:0;
}

#footer-1-container .jiggy h4 {
  color:#fff;
}
#footer-1-container .jiggy a {
  font-weight:600;
}

@media only screen and (min-width : 768px) {
  #footer-1-container .jiggy .col {
    float:left;
    margin-right:2rem;
    padding-right:2rem;
    border-right:solid #5d7688 1px;
  }
  #footer-1-container .jiggy .col:last-child {
    border-right:0;
    margin-right:0;
    padding-right:0;
  }
}

/* Seite, Standard
 *********************************/
.page-standard {}
.page-standard .page-banner-container {
  background-image:radial-gradient(circle at 50%, var(--gray-light), var(--gray));
  background-size:cover;
  color:#fff;
  margin:0 0 2rem 0;
}
.page-standard .page-banner-image {
  margin:0 -1rem;
}
.page-standard .page-banner-image-inner {
  height:0;
  padding:0 0 58.0645% 0;
  background:var(--gray);
  position:relative;
}
.page-standard .page-banner-image-inner .video-container {
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:#fff;
}
.page-standard .page-banner-image-inner .video-container video {
  width:100%;
  height:auto;
}
.page-standard .page-banner-image img {
  display:block;
  width:100%;
  height:auto;
}
.page-standard .page-banner-content {
  padding:1rem 0;
}
.page-standard .page-banner-content h1 {
  margin:0 0 .3em 0;
  padding:0 0 .3em 0;
  border-bottom:solid #fff 1px;
}
.page-standard .page-banner-content hr {
  margin:.3em 0;
  border-color:var(--gray);
}

.page-standard .page-main{
  padding-bottom:3rem;
}
.page-standard .page-content-header {
  margin:0 0 1.3rem 0;
}
.page-standard .page-content-header h2 {
  margin:0;
}
.page-standard .page-content-header .subheadline {
  margin:0;
  text-transform:none;
}

@media only screen and (min-width : 768px) {
  .page-standard .page-banner-container {
    margin:0 0 6rem 0;
  }
  .page-standard .page-banner-container .container {
    height:16.5rem;
    position:relative;
  }
  .page-standard .page-banner-image {
    margin:0;
    padding:3.125rem 0 0 0;
    width:60%;
  }
  .page-standard .page-banner-content {
    margin:0;
    width:35%;
    position:absolute;
    right:1rem;
    bottom:1rem;
  }
  .page-standard .page-content {
    /*width:65%;*/
  }
}

@media only screen and (min-width : 992px) {
  .page-standard .page-banner-container {
    margin:0 0 10rem 0;
  }
  .page-standard .page-banner-container .container {
    height:20rem;
    position:relative;
  }
  .page-standard .page-banner-image {
    margin:0;
    padding:3.125rem 0 0 0;
    width:65%;
  }
  .page-standard .page-banner-content {
    margin:0;
    width:30%;
    position:absolute;
    right:1rem;
    bottom:1rem;
  }
  .page-standard .page-content {
    width:65%;
  }
}

/* Seite, Aktuelles Projekt
 *********************************/
.page-aktuelles-projekt .page-content > h2 {
  margin:0;
}
.page-aktuelles-projekt .page-content .projekt-info {
  margin-bottom:3em;
}

/* Artikel, Standard
 *********************************/
.articles {}
.articles .article {
  border-bottom:solid #cecece 1px;
  margin:0 0 2rem 0;
  padding:0 0 2rem 0;
}
.articles .article:last-child {
  border:0;
}

@media only screen and (min-width : 768px) {
  .articles .article .article-content:first-child {
    width:65%;
  }
}

/* Artikel, Projekte
 *********************************/
.articles-referenzen {}

.articles-referenzen .articles-filter {
  border-bottom:solid #cecece 1px;
  margin:0 0 2rem 0;
  padding:0 0 .5rem 0;
  text-transform:uppercase;
  font-size:.75rem;
  font-weight:400;
  display:none;
}
.articles-referenzen .articles-filter a {
  display:inline-block;
  margin-right:2em;
  text-decoration:none;
}
.articles-referenzen .articles-filter a.active {
  font-weight:700;
}

.articles-referenzen .article-image {
  margin:0 0 1rem 0;
  max-width:12rem;
}
.articles-referenzen .article-image .article-image-inner {
  padding:0 0 44.7368% 0;
  padding:0 0 100% 0;
  height:0;
  background-image:url(/assets/images/icon-technical-drawing.svg), radial-gradient(circle at 50%, var(--gray-light), var(--gray));
  background-size:contain, auto;
  background-repeat: no-repeat, no-repeat;
  background-position: 50% 50%, 50% 50%;
}
.articles-referenzen .article-image img {
  width:100%;
  height:auto;
}

.articles-referenzen .article-content {}
.articles-referenzen .article-content .article-content-header {
  margin-bottom:1.4rem;
}
.articles-referenzen .article-content .article-content-header h2 {
  margin-bottom:0;
}

.articles-referenzen .article-content .article-content-text {
  /*display:none;*/
}
.projekt-info {
  border-top:solid var(--gray-light) 1px;
  margin-bottom:1.4rem;
}
.projekt-info p {
  border-bottom:solid var(--gray-light) 1px;
  margin:0;
  padding:.3em 0;
}

.articles-referenzen .article-trigger {}
.articles-referenzen .article-trigger a {
  display:block;
  border:solid #5d7688 1px;
  padding:0;
  height:3.33rem;
  background:url(/assets/images/icon-arrow-down.svg) no-repeat 50% 50%;
  background-size:1.75rem auto;
}
.articles-referenzen article.active .article-trigger a {
  background-image:url(/assets/images/icon-arrow-up.svg);
}

/* Artikel, Startseite
 * ****************************************/
/* Artikel, Blau *************************/
.articles-start .article-image .article-image-inner {
  background-image:url(/assets/images/icon-technical-drawing.svg), radial-gradient(circle at 50%, var(--gray-light), var(--gray));
}
.articles-start .article-content .article-content-header h2 {}
.articles-start .article-trigger a {
  border-color:#5d7688;
  background-image:url(/assets/images/icon-arrow-darkblue-right.svg);
  background-size:auto 1.75rem;
}

/* Artikel, Beige *************************/
.articles-start .color-Beige .article-image .article-image-inner {
  background-color:#b2ab92;
  background-image:url(/assets/images/icon-grundstueck.svg);
}
.articles-start .color-Beige .article-content .article-content-header h2 {
  color:#b2ab92;
}
.articles-start .color-Beige .article-trigger a {
  border-color:#b2ab92;
  background-image:url(/assets/images/icon-arrow-beige-right.svg);
}

/* Artikel, Dunkelblau *************************/
.articles-start .color-Dunkelblau .article-image .article-image-inner {
  background-color:#20313c;
  background-image:url(/assets/images/icon-stellenangebote.svg);
}
.articles-start .color-Dunkelblau .article-content .article-content-header h2 {
  color:#b2ab92;
}
.articles-start .color-Dunkelblau .article-trigger a {
  border-color:#b2ab92;
  background-image:url(/assets/images/icon-arrow-beige-right.svg);
}


@media only screen and (min-width : 768px) {
  .articles-referenzen .article {
    position:relative;
  }
  .articles-referenzen .article-image {
    width:20%;
    float:left;
    margin-right:2rem;
  }
  .articles-referenzen .article-content {
    margin:0 0 0 calc(20% + 2rem);
  }
  .articles-referenzen .article-trigger {
    width:7.5%;
    position:absolute;
    right:0;
    top:0;
  }
  .articles-referenzen .article-trigger a {
    height:0;
    padding:0 0 195% 0;
  }
}

/* Galerie
*********************************/
.gallery {}
.gallery ul {
  margin:0;
  padding:0;
  list-style:none;
  position:relative;
}
.gallery ul li {
  margin:0;
  padding:0;
  position:relative;
  display:none;
}
.gallery ul li:first-child {
  display:block;
}
.gallery ul li a {
  display:block;
}
.gallery ul li:first-child a::before {
  content:'+';
  display:block;
  width:3.125rem;
  height:3.125rem;
  line-height:3.125rem;
  text-align:center;
  font-size:2rem;
  color:#fff;
  background:#b2ab92;
  position:absolute;
  left:0;
  bottom:0;
}
.gallery ul li img {
  display:block;
  width:100%;
  height:auto;
}

/* Galerie, Cycle
*********************************/
.cycle {
  position:relative;
  height:0;
  padding:0 0 58.0645% 0;
}
.cycle img {
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:auto;
}
.cycle .cycle-pager {
  position:absolute;
  left:1em;
  right:1em;
  bottom:.2em;
  z-index:99999;
  text-align:center;
}
.cycle .cycle-pager span {
  display:inline-block;
  width:.6em;
  height:.6em;
  margin:.3em;
  border-radius:100%;
  background:rgba(255,255,255,.75);
  cursor:pointer;
  transition:background .2s ease;
}
.cycle .cycle-pager span:not(.cycle-pager-active):hover {
  background:#5d7688;
}
.cycle .cycle-pager span.cycle-pager-active {
  background:#20313c;
}



/* Fancybox
*********************************/
.fancybox-overlay {
  background:rgba(32,49,60,.9) !important;
}
.glashauser .fancybox-close {
  background:transparent;
  top:-1.5rem;
  right:0;
  width:auto;
  height:auto;
  color:#fff;
  font-size:.75rem;
  text-transform:uppercase;
  text-decoration:none;
}
.glashauser .fancybox-close::before {
  content:'SchlieÃŸen \d7';
}

.glashauser .fancybox-nav {
  top: 50%;
  width: 4.3rem;
  height: 8.6rem;
  cursor: pointer;
  text-decoration: none;
  background: transparent no-repeat 50% 50%;
  border:solid #fff 1px;
  transform: translate(0, -50%);
}
.glashauser .fancybox-nav span {
  display:none;
}
.glashauser .fancybox-prev {
  left:-5.3rem;
  left:1rem;
  background-image:url(/assets/images/icon-arrow-white-left.svg);
}
.glashauser .fancybox-next {
  right:-5.3rem;
  right:1rem;
  background-image:url(/assets/images/icon-arrow-white-right.svg);
}

.glashauser .fancybox-title-float-wrap {
  bottom: 0;
  left: 0;
  text-align: left;
}
.glashauser .fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: 0;
  padding: 0;
  background: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  text-shadow:none;
  color: #FFF;
  font-weight:400;
  text-transform: uppercase;
  white-space: nowrap;
}

@media only screen and (min-width : 992px) {
  .glashauser .fancybox-prev {
    left:-5.3rem;
  }
  .glashauser .fancybox-next {
    right:-5.3rem;
  }
}

/* Formulare
*********************************/
form p {
  clear:both;
  margin:0 0 .75em 0;
}

fieldset {
  margin:0 0 15px 0;
  padding:0;
  border:0;
}
fieldset legend {
}

.required label:after,
.required-span span.label:after,
.required-span span.label-indent:after,
.required-span span.label-block:after {
  content:'*';
}
input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week],
textarea {
  width:100%;
  margin:0;
  padding:.5rem;
  border:solid var(--gray) 1px;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
textarea:focus {
  margin:0;
  border:solid var(--blue) 1px;
}
textarea {
  height:12rem;
}
a.btn,
button,
input[type=submit] {
  display:inline-block;
  margin:0;
  padding:.5rem 1rem;
  border:solid var(--blue) 1px;
  cursor:pointer;
  background:var(--blue);
  color:#fff;
  font-weight:600;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
input[type=submit]::-moz-focus-inner {
  border: 0;
}
a.btn:hover,
button:hover,
input[type=submit]:hover {
  background-color:var(--blue-dark);
  border-color:var(--blue-dark);
  color:#fff;
}
.btn-fullwidth {
  width:100%;
  text-align:center;
}

.sendmail_emptyfield1 label,
label.sendmail_emptyfield1 {
  color:#f00;
}
.sendmail_emptyfield1 input.text,
input.sendmail_emptyfield1,
.sendmail_emptyfield1 textarea {
  border-color:#f00;
}
.message {
  border:solid #f6e468 1px;
  background:#ffffdb;
  padding:5px;
  margin:0 0 .8em 0;
}