@charset "UTF-8";
/*
    Theme Name: Christoph Pueschner
    Description: Individuelles Theme für Christoph Püschner
    Version: 1.0
    Author: Till Wollong
    Author URI: http://www.der-schwarzwaelder.de/
*/
/* @group Global */
* {
  box-sizing: border-box; }

/* noto-sans-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: 'Noto Sans';
  font-style: normal;
  font-weight: 300;
  src: url("fonts/noto-sans-v36-latin-300.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* noto-sans-regular - 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: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  src: url("fonts/noto-sans-v36-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* noto-sans-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: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  src: url("fonts/noto-sans-v36-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
body {
  --gutenslider-dot-y-offset: 5%;
  --gutenslider-dot-y-offset-md: 10px;
  --gutenslider-dot-y-offset-sm: 10px; }

body {
  font: 1em 'Noto Sans', Helvetica, Arial, sans-serif;
  line-height: 1.35em;
  color: #555;
  background-color: #FFFFFF; }

h1, h2, h3, h4 {
  line-height: 1.21em; }

h2 {
  font-size: 1rem; }

/*Burger-Icon einbinden */
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?soy9zv");
  src: url("fonts/icomoon.eot?soy9zv#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?soy9zv") format("truetype"), url("fonts/icomoon.woff?soy9zv") format("woff"), url("fonts/icomoon.svg?soy9zv#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }
img {
  max-width: 100%;
  height: auto;
  display: block; }

header {
  /*height: 30px;*/ }

.site {
  padding: 0em 4%; }

.site-main {
  margin-top: 0em;
  padding: 0em 0em; }

a:link, a:visited {
  text-decoration: none;
  color: #555; }

.site-nav ul li a {
  border-bottom: none; }
  .site-nav ul li a:hover, .site-nav ul li a:focus {
    color: #f8002a; }
  .site-nav ul li a:active {
    color: #A0001B;
    transform: translate(1px, 1px); }

body.home .site-nav ul li a {
  color: white;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.75); }
  body.home .site-nav ul li a:hover, body.home .site-nav ul li a:focus {
    color: #f8002a; }
  body.home .site-nav ul li a:active {
    color: #A0001B;
    transform: translate(1px, 1px); }

.red, a.red {
  color: #f8002a; }

a.red:hover {
  color: #AE001D; }

a.red:active {
  color: #000000; }

.site-nav .current-menu-item a, .nav-secondary .current-menu-item a {
  color: #f8002a; }

article {
  padding: 0em;
  margin-bottom: 1em; }

footer {
  display: flex;
  justify-content: space-between;
  font-size: 0.72rem; }
  footer p {
    float: left;
    margin: 0; }
  footer .nav-secondary {
    float: none; }

@media screen and (max-width: 640px) {
  footer {
    flex-direction: column; } }
.home footer {
  position: fixed;
  z-index: 9;
  padding: 20px;
  bottom: 0;
  left: 0;
  min-width: auto;
  width: 100vw;
  max-width: none;
  background: none;
  color: white;
  display: flex;
  justify-content: space-between; }
  .home footer a {
    color: white; }
    .home footer a:hover, .home footer a:focus {
      text-decoration: underline; }

@media screen and (max-width: 1024px) {
  .home footer {
    bottom: 5px; } }
.wp-block-eedee-block-gutenslider {
  opacity: 0; }
  .wp-block-eedee-block-gutenslider.gs-finished-layout {
    opacity: 1;
    transition: all 0.5s ease; }
  .wp-block-eedee-block-gutenslider .swiper-pagination-bullets {
    bottom: 28% !important; }
    .wp-block-eedee-block-gutenslider .swiper-pagination-bullets .swiper-pagination-bullet {
      margin: 0 1.3vw !important; }

/* @ end Global */
/* @group Images */
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wp-caption {
  background: #fff;
  color: black;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: left; }

.wp-caption.alignnone {
  margin: 5px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 5px 20px 20px 0; }

.wp-caption.alignright {
  margin: 5px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0.5em 0 0 0;
  padding: 0 4px 5px; }

.wp-caption-text {
  margin-top: 0.5em; }

.publikationen .wp-caption {
  border: none;
  width: 300px !important;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 25px;
  padding: 0; }
.publikationen .wp-caption-text {
  font-size: 0.89rem; }

.exibitions > .wp-block-image {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 25px;
  margin-left: 0;
  margin-right: 0; }
  .exibitions > .wp-block-image figcaption {
    font-size: 0.89rem; }
  .exibitions > .wp-block-image img {
    width: 100%;
    height: auto; }

/* @ end Images */
/* @group Gallery */
.gallery a {
  cursor: default; }

.gallery {
  margin: auto -6px;
  padding: 6px 0;
  line-height: 1;
  overflow-x: hidden; }

.ie7 .gallery,
.ie8 .gallery {
  margin: auto; }

.gallery .gallery-item {
  float: left;
  margin: 0;
  text-align: center;
  padding: 6px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.ie7 .gallery .gallery-item,
.ie8 .gallery .gallery-item {
  padding: 6px 0; }

.gallery .gallery-caption,
.gallery .gallery-icon {
  margin: 0; }

.gallery .gallery-caption {
  font-size: 13px;
  margin: 4px 0; }

.gallery-columns-1 .gallery-item {
  width: 100%; }

.gallery-columns-2 .gallery-item {
  width: 50%; }

.gallery-columns-3 .gallery-item {
  width: 33.333%; }

.ie8 .gallery-columns-3 .gallery-item,
.ie7 .gallery-columns-3 .gallery-item {
  width: 33%; }

.gallery-columns-4 .gallery-item {
  width: 25%; }

.gallery-columns-5 .gallery-item {
  width: 20%; }

.gallery-columns-6 .gallery-item {
  width: 16.665%; }

.gallery-columns-7 .gallery-item {
  width: 14.285%; }

.gallery-columns-8 .gallery-item {
  width: 12.5%; }

.gallery-columns-9 .gallery-item {
  width: 11.111%; }

.gallery img {
  max-width: 100%;
  height: auto;
  border: none;
  padding: 0; }

/* @ end Gallery */
/* @group Headings */
/*Header*/
header {
  position: relative;
  margin-bottom: 0em; }

/* @ end Headings */
/*Navigation*/
.site-nav ul, .nav-secondary ul {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.nav-secondary ul li {
  float: left;
  margin-right: 20px; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 1.7rem;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-bars:before {
  content: "\f0c9";
  font-size: 40px; }

#toggle-nav {
  position: absolute;
  right: 0em;
  top: 0;
  width: 70px;
  height: 70px;
  line-height: 50px;
  text-align: right;
  cursor: pointer;
  color: #f8002a; }

.js .site-nav {
  display: none; }

.site-nav {
  margin-top: 1em; }
  .site-nav ul {
    padding: 0;
    margin: 0;
    list-style: none; }
    .site-nav ul li {
      margin-bottom: 2px; }
      .site-nav ul li:last-child {
        margin-bottom: 1.5em; }
      .site-nav ul li a {
        /* border-bottom: 1px solid #555; */
        padding: 1em 0em;
        display: block;
        text-decoration: none; }

.logo {
  max-width: 187px;
  display: block;
  background: url("images/cpLogoMobile.png") no-repeat;
  background-size: 47px 38px;
  height: 38px;
  margin-left: 0em;
  font-size: 0.9em;
  font-weight: 400;
  text-align: right;
  /*text-indent: -99999px;*/ }
  .logo > span {
    font-weight: 700; }
  .logo > span.claim {
    display: block;
    text-align: right;
    color: #969694;
    font-size: 0.8rem;
    font-weight: normal; }

.logoCont {
  display: none; }

body.home .logo {
  color: white;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.75)); }
  body.home .logo .claim {
    color: white; }

.single-post .wp-block-gallery {
  margin-left: 0;
  margin-right: 0; }
  .single-post .wp-block-gallery figure.wp-block-image {
    flex-grow: 0; }
.single-post a.backbutton {
  margin: 2em 0;
  display: block; }
  .single-post a.backbutton:before {
    content: "«";
    margin-right: 10px; }
  .single-post a.backbutton:hover {
    color: #f8002a; }
  .single-post a.backbutton:active {
    transform: translate(1px, 1px); }

/*  lightbox */
#fcplb {
  background-color: #FFFFFF !important; }
  #fcplb img {
    box-shadow: 3px 3px 16px 0 rgba(0, 0, 0, 0.75); }

button.fcplb-close {
  background-size: 24px !important;
  width: 40px;
  height: 40px;
  top: 32px !important; }

/* @group Content */
.single-projekt {
  border-bottom: 1px solid #000033;
  margin-bottom: 2em; }

/* @ end Loop */
/*-- form --*/
form {
  margin: 0;
  padding: 0;
  z-index: 0; }

form p {
  margin-bottom: 10px; }

label, input, button, select, textarea,
input[type="text"], input[type="email"],
input[type="url"], input[type="password"],
input[type="number"], input[type="tel"] {
  font-size: 14px;
  color: #999;
  font-weight: 400;
  line-height: 1em; }

label {
  width: 100%;
  height: auto;
  line-height: 14px; }

select, textarea, input[type="text"],
input[type="email"], input[type="url"],
input[type="password"], input[type="number"],
input[type="tel"] {
  width: 100%;
  padding: 10px 5px;
  margin: 0; }

textarea, #commentform textarea {
  width: 100% !important;
  height: auto;
  line-height: 1.6em; }

select {
  width: 100% !important;
  height: 40px; }

select, textarea, input[type="text"],
input[type="email"], input[type="url"],
input[type="password"], input[type="number"],
input[type="tel"] {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  -webkit-transition: linear 0.2s;
  -moz-transition: border linear 0.2s;
  -ms-transition: border linear 0.2s;
  -o-transition: border linear 0.2s;
  transition: border linear 0.2s;
  position: relative;
  margin-top: 0.5em; }

textarea:focus, input[type="text"]:focus,
input[type="email"]:focus, input[type="url"]:focus,
input[type="password"]:focus, input[type="number"]:focus,
input[type="tel"]:focus {
  box-shadow: none;
  border-color: rgba(82, 168, 236, 0.8) !important;
  opacity: 1 !important; }

/* submit button */
#submit, input[type="submit"] {
  background-color: #f8002a;
  padding: 0 15px;
  margin-bottom: 10px;
  font-size: 14px;
  color: #fff !important;
  font-weight: normal;
  line-height: 40px;
  text-transform: uppercase;
  cursor: pointer;
  border: 0;
  outline: 0;
  width: auto;
  height: 40px;
  display: inline-block;
  text-decoration: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all .2s ease 0s;
  -moz-transition: all .2s ease 0s;
  -ms-transition: all .2s ease 0s;
  -o-transition: all .2s ease 0s;
  transition: all .2s ease 0s;
  position: relative;
  white-space: nowrap;
  -webkit-backface-visibility: hidden;
  border-radius: 0; }

#submit:hover, input[type="submit"]:hover {
  background-color: #000033;
  color: #fff;
  text-decoration: none; }

.post-password-form input[type="password"] {
  margin-top: 5px; }

/* placeholder */
::-webkit-input-placeholder {
  color: #CCC !important;
  opacity: 1; }

:-moz-placeholder {
  color: #CCC !important;
  opacity: 1; }

::-moz-placeholder {
  color: #CCC !important;
  opacity: 1; }

:-ms-input-placeholder {
  color: #CCC !important;
  opacity: 1; }

.item {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  display: flex;
  display: -ms-flexbox;
  display: -webkit-flex; }

/*Lightbox */
/*.nivoSlider img {
    position:absolute;
    top:0px;
    left:0px;
    max-width: none;
}
.nivo-main-image {
    display: block !important;
    position: relative !important; 
    width: 100% !important;
}*/
/* @group Responsive */
@media screen and (min-width: 768px) {
  .js .site-nav {
    display: block; }

  #toggle-nav {
    display: none; } }
/* @group 768 */
/*768 / base Font-Size*/
@media screen and (min-width: 768px) {
  .logo {
    width: 200px;
    max-width: none;
    display: block;
    background: url("images/cpLogoMobile.png") no-repeat;
    background-size: 47px 38px;
    height: 38px;
    position: absolute;
    left: 1em;
    margin-left: 0;
    top: 15px; }
    .logo > span.claim {
      font-size: 0.9rem; }

  .site {
    /* max-width: 768px;*/
    margin: 0 auto; }

  /*
  .home .site {
  	max-width: 100%;
  }
  */
  .site-main {
    padding: 2em 2em; }

  .site-header {
    height: 30px;
    margin: 0 0 1em 0; }
    .site-header > a {
      float: left; }

  .site-nav {
    font-size: 1rem; }
    .site-nav a {
      border-bottom: none;
      padding: 0; }
      .site-nav a:hover {
        background: none; }

  .loop {
    display: table;
    vertical-align: middle;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    /*display: table;*/
    /* display: flex;
     display: -ms-flexbox;
     display: -webkit-flex;
     justify-content: space-between;
     -webkit-align-content: space-between;
     -ms-flex-line-pack: justify;
     -webkit-flex-wrap: wrap;
     -ms-flex-wrap: wrap;
     flex-wrap: wrap;*/ }

  .loop.fourCols > section {
    width: 47%; }

  /*article.site-main {
      padding-bottom: 2em;
  }*/
  /* Fallback */
  /*.single-projekt {
      display: table-cell;
      vertical-align: middle;
  }*/
  /*.loop > article {
      display: table-cell;
      vertical-align: middle;
      display: table-cell;
      vertical-align: middle;
      */
      /*width: 800px;
    flex-wrap: wrap;
}*/
  /*.item {
      display: flex;
      flex-direction: column-reverse;
  }
  
  .item-description {
      max-width: 100%;
  }*/
  /* Einzelansicht Projekt */
  /*.item-description {
      max-width: 40%;
      margin-right: 1em;
      flex-wrap: wrap;
  
  }*/
  .itemCont {
    flex-grow: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin-top: 3.25em; }

  .single-projekt {
    border-bottom: none; }

  .site-nav {
    position: absolute;
    right: 0; }
    .site-nav ul li {
      /*padding: 0 0.5em 0 0.25em;*/
      float: left;
      margin-right: 1em; }
      .site-nav ul li:last-child {
        margin-right: 0; }
      .site-nav ul li a {
        display: block; }

  /*Slder */
  #slides {
    /*max-height: 700px;*/
    /*overflow: hidden;*/ }

  .publikationen .wp-caption {
    border: none;
    width: 29.333% !important;
    float: left;
    margin-left: 2%;
    margin-right: 2%;
    padding: 0;
    height: 208px; }

  /* @ end 768 */ }
/* @group 1024 */
/*1024px / 16px*/
@media screen and (min-width: 1024px) {
  .logo {
    left: 0;
    background: url("images/cpLogoMobile.png") no-repeat;
    background-size: 32px 25px;
    width: 224px;
    height: 38px;
    font-size: 1.25rem;
    font-family: 'Helvetica', Arial;
    font-weight: normal;
    text-align: right;
    letter-spacing: 0.05rem;
    top: 0; }
    .logo > span.claim {
      font-size: 0.9rem; }

  .wp-block-eedee-block-gutenslider .swiper-pagination-bullets {
    bottom: 4% !important; }
    .wp-block-eedee-block-gutenslider .swiper-pagination-bullets .swiper-pagination-bullet {
      margin: 0 0.5vw !important; }

  .formCont {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; }

  .rightCol {
    margin-right: 2.5em; }

  .leftCol {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto; }

  .formCont .leftCol {
    max-width: 65%; }

  span.wpcf7-list-item {
    margin: 0; }

  .loop.fourCols > section {
    max-width: 23%; }

  .site-nav {
    right: 0;
    font-size: 1.2rem;
    margin-top: 0.5em; }

  .site-main {
    padding: 1em 0 0 0; }

  .site-header {
    margin: 1em 0 3em 0; }

  .item-description {
    max-width: 40%;
    margin-right: 2em;
    flex-wrap: wrap; }

  footer {
    padding: 50px 0;
    font-size: 0.9rem;
    background-color: white; }

  .site {
    /*  max-width: 980px; */ }

  .item {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end; }

  .loop {
    display: table;
    vertical-align: middle;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; }

  .loop.fourCols {
    margin-left: -2%; }

  .loop.fourCols > section {
    margin-left: 2%;
    /*flex-grow: 1;*/ }

  .publikationen .wp-caption {
    height: 260px; }

  /* @ end 1024 */ }
.featured-image-wrap {
  border: 1px solid #E3E3E3; }
  .featured-image-wrap img {
    width: 100%; }

.wp-block-query .wp-block-post {
  border: 1px solid #E3E3E3; }
  .wp-block-query .wp-block-post figure {
    margin: 0; }
  .wp-block-query .wp-block-post .wp-block-post-title {
    padding: 0 25px;
    margin: 25px 0; }

.portfolio .wp-block-query .wp-block-post {
  border: none; }
.portfolio .wp-block-query .wp-block-post-title {
  padding: 0; }

@media screen and (max-width: 600px) {
  .portfolio .wp-block-query .wp-block-post {
    border-bottom: 1px solid #CCC; } }
.wp-block-post-template.is-layout-grid {
  gap: 2.4em; }

/* @group 1280 */
@media screen and (min-width: 1280px) {
  #slider {
    max-height: 700px; }

  .site, .home .site-header {
    /*max-width: 1050px;
	margin-left: auto;
	margin-right: auto;*/
    max-width: 1280px;
    position: relative; }

  foeter {
    padding: 20px 0; }

  .nivo-controlNav {
    position: absolute;
    bottom: 0;
    flex-wrap: nowrap;
    width: 100%;
    margin-left: 0;
    z-index: 100;
    opacity: 0;
    transition: all 0.4s ease; }

  .home .site-main:hover .nivo-controlNav {
    opacity: 1; }

  .itemCont {
    max-width: 60%; }

  /* @ end 1280 */ }
@media screen and (min-width: 1300px) {
  .site, .home .site-header {
    padding: 0; } }
@media screen and (orientation: portrait) {
  body {
    background-color: #FFFFFE; } }
