/*
Theme Name: dietesiepmann
Theme URI: https:/diete-siepmann.de
Author: internetgestalten.de für aka-architekturkommunikation.eu
Author URI: https://aka-architekturkommunikation.eu
Version: 0.9.8
Description: Wordpress Theme - Diete + Siepmann Ingenieurgesellschaft mbH Relaunch 2020
*/

@import url('css/reset.css');

/* 200 ultralight */
@font-face {
    font-family: 'DIN Next LT Pro';
    src: url('css/fonts/DINNextLTPro-UltraLight.eot');
    src: local('DIN Next LT Pro UltraLight'), local('DINNextLTPro-UltraLight'),
        url('css/fonts/DINNextLTPro-UltraLight.eot?#iefix') format('embedded-opentype'),
        url('css/fonts/DINNextLTPro-UltraLight.woff2') format('woff2'),
        url('css/fonts/DINNextLTPro-UltraLight.woff') format('woff'),
        url('css/fonts/DINNextLTPro-UltraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* 300 light */
@font-face {
    font-family: 'DIN Next LT Pro';
    src: url('css/fonts/DINNextLTPro-Light.eot');
    src: local('DIN Next LT Pro Light'), local('DINNextLTPro-Light'),
        url('css/fonts/DINNextLTPro-Light.eot?#iefix') format('embedded-opentype'),
        url('css/fonts/DINNextLTPro-Light.woff2') format('woff2'),
        url('css/fonts/DINNextLTPro-Light.woff') format('woff'),
        url('css/fonts/DINNextLTPro-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* 500 medium */
@font-face {
    font-family: 'DIN Next LT Pro';
    src: url('css/fonts/DINNextLTPro-Medium.eot');
    src: local('DIN Next LT Pro Medium'), local('DINNextLTPro-Medium'),
        url('css/fonts/DINNextLTPro-Medium.eot?#iefix') format('embedded-opentype'),
        url('css/fonts/DINNextLTPro-Medium.woff2') format('woff2'),
        url('css/fonts/DINNextLTPro-Medium.woff') format('woff'),
        url('css/fonts/DINNextLTPro-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

*, *::after, *::before {
    box-sizing: border-box;
}

html, body {
    font-family: 'DIN Next LT Pro', Helvetica, Arial, sans-serif;
    color:#111;
    font-size:16px;
    font-weight: 300;
    line-height:1.6em;
    margin:0;
    padding:0;
}
body { background-color:#fff;}

.container {
    max-width: 1400px;
    margin: 0 auto;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
 
.col {
}

.col-33 {
    width: 31%;
}
.col-50 {
    width: 48%;
}

.icon {
    width: 64px;
    height: 64px;
    margin: 10px 10px 10px 0;
    cursor: pointer;
}

.hidden {
    display: none;
}

.content p,
.content ul,
.content ol {
    margin-bottom: 1em;
}

.content img {
    max-width: 100%;
    margin: 0 0 2em 0;
}

.content img.alignright {
    clear: both;
    float: right;
    margin: 0 0 2em 2em;
}

.content img.alignleft {
    clear: both;
    float: left;
    margin: 0 2em 2em 0;
}


#logo { 
    top: 30px;
    left: 30px;
    position: absolute; 
    z-index: 999;
}
#logo img { 
    width: 280px;
}

#logo img:hover {
    opacity:1!important;
}

.mobile-button {
    display: block;
    position: fixed;
    left: 48%;
    left: calc(50% - 32px);
    bottom: 0px;
    width: 64px;
    height: 64px;
    background: url(images/icon-menu.svg) center no-repeat;
    background-size: 64px;
    cursor: pointer;
    /*
    -webkit-transition: all ease .25s;
       -moz-transition: all ease .25s;
            transition: all ease .25s;
    */
    z-index: 999;
}

.nav-open .mobile-button {
    background-image: url(images/icon-menu-close.svg);
}

.page-id-55 .mobile-button span {
    display: block;
    width: 64px;
    height: 64px;
    background: url(images/icon-filter.svg) center no-repeat;
    background-size: 64px;
    cursor: pointer;
    margin-left: -76px;
}

.nav-open .mobile-button span {
    display: none;
}

.filter-open .mobile-button {
    visibility: hidden;
}
.filter-open #filter-button {
    visibility: visible;
}

/* Mobile Menu Button 
.mobile-button {
    display: block;
    position: fixed;
    left: 48%;
    bottom: 20px;
    width: 26px;
    height: 22px;
    background: transparent;
    cursor: pointer;
    -webkit-transition: all ease .238s;
       -moz-transition: all ease .238s;
            transition: all ease .238s;
    z-index: 999;
}

.mobile-button:before,
.mobile-button:after, 
.mobile-button span {
    background-color: #111;
    -webkit-transition: all ease .238s;
       -moz-transition: all ease .238s;
            transition: all ease .238s;
}

.mobile-button:before,
.mobile-button:after {
    content: '';
    position: absolute;
    top: 0;
    height: 2px;
    width: 100%;
    left: 0;
    top: 50%;
    -webkit-transform-origin: 50% 50%;
        -ms-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
}

.mobile-button span {
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    top: 50%;
    overflow: hidden;
    text-indent: 200%;
}

.mobile-button:before {
    -webkit-transform: translate3d(0,-9px,0);
       -moz-transform: translate3d(0,-9px,0);
            transform: translate3d(0,-9px,0);
}

.mobile-button:after {
    -webkit-transform: translate3d(0,9px,0);
       -moz-transform: translate3d(0,9px,0);
            transform: translate3d(0,9px,0);
}

.mobile .mobile-button span {
	opacity: 0;
}

.mobile .mobile-button:before {
	-webkit-transform: rotate3d(0, 0, 1, 45deg);
	   -moz-transform: rotate3d(0, 0, 1, 45deg);;
            transform: rotate3d(0, 0, 1, 45deg);
}

.mobile .mobile-button:after {
	-webkit-transform: rotate3d(0, 0, 1, -45deg);
	   -moz-transform: rotate3d(0, 0, 1, -45deg);;
            transform: rotate3d(0, 0, 1, -45deg);
}
*/


/* menu */
#main-nav {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    background-color: rgba(255,255,255,.95);
    display: none;
    z-index: 99;
}

#main-nav div {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.nav-open #main-nav {
    display: block;
}

#menu-main {
    list-style: none;
    margin-top: -100px;
}
#menu-main li {
    display: inline-block;
    padding: 0 1em;
}
#menu-main li a {
    text-transform: uppercase;
    font-size: 1.4em;
    font-weight: 500;
}
#menu-main li.light a {
    font-weight: 300;
}

#banner {
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
}

.content {
    margin-top: 120px
}

/* datenschutz */
.page-id-3 .content {
    padding-right: 30%;
}


/* typo */

a { 
    color: #111; 
    text-decoration: none;
    transition: color .2s ease-out;
}
a:hover { 
    color: #444; 
    text-decoration: underline;
}

h1,h2,h3,h4,h5,h6 { 
    line-height: 1.4em; 
    margin-bottom: 1em;
    text-transform: uppercase;
}
h1 {font-size: 2.2em; }
h2 {font-size: 1.2em; }
h3 {font-size: 1.2em; font-weight: 500 }
h4 {font-size: 1.2em; font-weight: 300 }

strong {
    font-weight: 500;
}

header.headline {
    position: relative;
    width: 100%;
    top: 35%;
    z-index: 1;
}

.home header.headline {
    position: absolute;
}

header.headline h1 {
    width: 60%;
    margin-left: 20%;
    text-align: center;
    color: #000;
    font-size: 3.6em;
    font-weight: 300;
    letter-spacing: -2px;
    text-transform: uppercase;
    position: relative;
    z-index: 9;
}

#author {
    color: #111;
    margin-top: 10px;
    margin-bottom: -36px;
    text-align: right;
}

h1.big {
    font-size: 3.6em;
    font-weight: 200;
    margin-top: -10px;
}

/* home */
#vertical{
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
#vertical img {
    width: 100%;
    height: auto;
}


section {
    background: orange;
    min-height: 800px; 
}

/* jobs */
#jobs-overview {
    padding: 3em 0;
    clear: both;
}
#jobs-overview .col-50 > h3 {
    font-weight: 300;
    margin: 2em 0;
}
.job {
    width: 45%;
    
}

.single-projekt #main header:after,
.news:after,
.job h4:after  {
    content:' ';
    border-bottom: 1px solid #111;
    position: absolute;
    width: 80px;
    bottom: -18px;
    left: 0;
}
#jobs-details h3 {
    margin-bottom: 0;
    line-height: 1em;
}

.job h3 {
    margin-bottom: 0;
}

.job h4 {
    font-weight: 300;
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 2em;
}

#jobs-details .jobdetails-content h3 {
    text-transform: uppercase;
    font-size: 1em;
    font-weight: 500;
    margin-bottom: .3em;
}

.jobdetails-content .showmore {
    margin-right: 10px;
}


#joblist .bewerben {
    
}

.job .weniger,
.job.open .mehr,
.jobdetails-form,
.jobdetails-content .mehr {
    display: none;
}

.job.open .weniger {
    display: inline;
}

#jobs-details .job {
    width: 90%;
}

#jobs-details h1 {
    font-size: 3em;
    margin: 1em 0;
}

#jobs-details ul {
    list-style: none;
}

#jobs-details ul li {
    position: relative;
}

#jobs-details ul li:before {
    content: '+';
    position: absolute;
    left:-15px;
}

/* jobs neu 04/22 */
#joblist {
    margin-top: 4em;
}


#joblist .job {
    width: 100%;
    border-top: 1px solid #111;
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
}

#joblist .job > div:first-child {
    width: 22%;
    flex-grow: 0;
    flex-shrink: 0;
}

#joblist .job > div:nth-child(2) {
    margin-right: auto;
}

#joblist .job > div:last-child {
    min-width: 210px;
    text-align: right;
    padding-right: 10px;
}

#joblist .job.inaktiv {
    /*opacity: .3;*/
    display: none;
}

#joblist .job h4:after {
    display: none;
}
#joblist .jobdetails-content {
    display: none;
}
#joblist .jobdetails-content.open {
    
}
#joblist .job.open .jobdetails-content {
    margin-top: 2em;
    padding-bottom: 2em;
}
#joblist .job.open > div:last-child {
    align-self: flex-end;
}

.intiativbewerbung {
    border-top: 1px solid #111;
    border-bottom: 1px solid #111;
    padding: 2em 0 3em;
    margin-bottom: 3em;
}

.fullwidth {
    margin: 3em 0;
    position: relative;
    width: 100%; 
    padding-bottom: 40%; 
  }
  
  .fullwidth img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Bild passt sich dem Container an und behält das Seitenverhältnis bei */
  }

  .zahlen {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  
  .zahlen div {
    width: 150px; /* Feste Breite für das Quadrat */
    height: 150px; /* Feste Höhe für das Quadrat */
    display: flex;
    flex-direction: column;
    align-items: center; /* Horizontale Zentrierung */
    text-align: center;
    margin-right: 20px;
    margin-bottom: 20px; /* Optionaler Abstand zwischen den Boxen */
    background-color: #c7c7c7;
    padding: 10px;
  }
  
  .zahlen div span {
    font-size: 60px; /* Größere Schriftgröße für die Zahl */
    margin-top: 45px;
    height: 60px;
  }
  
  .zahlen div small {
    font-size: 0.9em; /* Kleinere Schriftgröße für den Text */
    margin-bottom: 10px; /* Optionaler Abstand zwischen Zahl und Text */
    line-height: 1em;
    height: 25px;
  }
  
  #jobfilter {
    display: flex;
    margin-bottom: 3em;
    }
  #jobfilter div {
    width: 250px;
  }
  #jobfilter ul {
    list-style: none;
    padding-left: 0;
    width: 90%;
    border-top: 1px solid #111;
  }
  #jobfilter ul li {
    border-bottom: 1px solid #111;
    padding: 6px 0 4px;
    cursor: pointer;
  }
  #jobfilter ul li:hover {
    opacity: .7;
    }
  #jobfilter ul li.active {
    font-weight: 400;
    }
  



.jobdetails-form .wpcf7-form  {
    margin-bottom: 3em;
}
.jobdetails-form .wpcf7-form p {
    display: flex;
}

.jobdetails-form label {
    width: 40%;
}

.wpcf7-form-control-wrap {
    width: 60%;
}

.jobdetails-form .wpcf7-number,
.jobdetails-form textarea, 
.jobdetails-form input {
    width: 100%;
    background-color: #ccc;
    padding: 8px 6px;
    font-family: 'DIN Next LT Pro', Helvetica, Arial, sans-serif;
    font-weight: 300;
}

.jobdetails-form input.wpcf7-submit {
    width: 60%;
    align-self: flex-end;
    background-color: #000;
    color: #fff;
    font-size: 1em;
    margin-left: auto;
}

.wpcf7-file {
    font-size: .8em;
}

.wpcf7-spinner {
    position: absolute;
    float: left;
}

.wpcf7-response-output {
    margin-left: 0!important;
    margin-right: 0!important;
}



/* projekte */

#projekte {
    display: flex;
    flex-wrap: wrap;
}
.projekt {
    width: 33.333%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.projekt a {
    display: block;
}

.projekt .projektinfo {
    position: absolute;
    bottom: 10px;
    left: 20px;
    opacity:0;
    transition: opacity .2s ease-in;
}
.projekt:hover .projektinfo {
    opacity: 1;
}

.projekt img {
    width: 100%;
    height: auto;
    display: block;
}

.projekt h2 {
    font-weight: 500;
    margin: 0;
}
.projekt h3 {
    font-weight: 300;
    margin: 0;
}

.projekt:before {
    content: ' ';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 80px;
    background: rgba(255,255,255,.63);
    cursor: pointer;
    opacity: 0;
    transition: all .2s ease-in-out;
    pointer-events: none;
}
.projekt:hover:before {
    opacity: 1;
    height: 26%;
}
.projekt.off:before {
    opacity: 1;
    height: 100%;
}

.projekt:after {
    content: ' ';
    position: absolute;
    bottom: 0;
    right: 20px;
    width: 60px;
    height: 60px;
    background: url(images/icon-info.svg);
    background-size: 60px 60px;
    cursor: pointer;
    opacity: 0;
    transition: all .2s ease-in-out;
    pointer-events: none;
}
.projekt.click:after,
.projekt:hover:after {
    opacity: 1;
}

#filter-panel {
    width: 100%;
    position: fixed;
    bottom: 0;
    background-color: rgba(0,0,0,.75);
    display: none;
    z-index: 99;
    color: #fff;
    font-size: 1.3em;
    text-transform: uppercase;
}
#filter-panel.open {
    display: flex;
    justify-content: space-around;
    flex-wrap: nowrap;
}

#filter-panel .col {
    padding: 2em;
}

#filter-panel .col div.flex  {
    justify-content: flex-start;
}

#filter-panel h3 {
    font-size: 1.1em;
    padding: 1em 0;
    font-weight: 500;
}
#filter-panel p  {
    font-size: 1.1em;
    padding: 0;
    font-weight: 200;
}
#filter-panel label {
    margin-right: 1em;
}

#filter-panel .col:first-child {
    max-width: 50%
}

/* filter */
.cbox {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.cbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #888;
}

/* On mouse-over, add a grey background color */
.cbox:hover input ~ .checkmark {
  background-color: #aaa;
}

/* When the checkbox is checked, add a blue background */
.cbox input:checked ~ .checkmark {
  background-color: #222;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.cbox input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.cbox .checkmark:after {
  left: 9px;
  top: 5px;
  width: 8px;
  height: 12px;
  border: solid white;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}




/* projekt single */

.single-projekt #main header {
    margin-bottom: 2em;
    position: relative;
}

.single-projekt h1 {
    font-size: 1.3em;
    font-weight: 500;
    margin: 0;
}
.single-projekt h2 {
    font-size: 1.3em;
    font-weight: 300;
    margin: 0;
}

.single-projekt dl {
    width: auto;
    overflow:hidden;
    width: 70%;
    font-size: 1.3em;
    margin: 1em 0;
}
.single-projekt dt {
    clear: both;
    float: left;
    width: 30%;
    margin: 0;
    padding: 5px 10px 5px 0;
    box-sizing: border-box;
    text-transform: uppercase;
}
.single-projekt dd {
    float: left;
    width: 70%;
    margin: 0px;
    padding: 5px 10px 5px 0;
    box-sizing: border-box;
}

.pgallery {
    width: calc( 100% );
    height: 400px;
    padding-left: 40px;
    padding-right: 40px;
    margin-top: 5em;
}

.pslide {
    margin-left: 5px;
    margin-right: 5px;
}

.pgallery .slick-arrow {
    width: 30px;
    height: 30px;
    top: 25%;
}
.pgallery .slick-arrow.slick-next  {
    background:#fff url('images/icon-next.svg') no-repeat center;
    right: -35px;
    background-size: 26px;
}
.pgallery .slick-arrow.slick-prev {
    background:#fff url('images/icon-prev.svg') no-repeat center;
    left: -35px;
    background-size: 26px;

}


#navigation {
    display: flex;
    justify-content: space-between;
    margin: 4em 0;
    font-size: 1.3em;
    text-transform: uppercase;
}
/*
#navigation img {
    display: inline-block;
    max-width: 30px;
}
*/
#navigation .prev {
    position: relative;
    padding-left: 30px;
}

#navigation .prev a:before{
    content: ' ';
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 24px;
    height: 24px;
    background: url(images/icon-prev.svg) no-repeat center;
    background-size: 24px;
    vertical-align: bottom;
}

#navigation .next {
    position: relative;
    padding-right: 30px;
}

#navigation .next a:after{
    content: ' ';
    position: absolute;
    right: 0;
    bottom: 2px;
    width: 24px;
    height: 24px;
    background: url(images/icon-next.svg) no-repeat center;
    background-size: 24px;
    vertical-align: bottom;
}



/* unternehmen */
.ceo,
.leistungen {
    margin: 4em 0;
}

.team-grid,
.ceo {
    justify-content: flex-start;
}

.team {
    width: 24%;
    margin-right: .9%;
    margin-bottom: 1em;
}

.team.gf {
    margin-bottom: 2em;
}

.team.hidden {
    display: none;
}

.team h3 {
    font-size: 1em;
    font-weight: 500;
    margin: 0;
}

.team h4 {
    font-size: 1em;
    font-weight: 200;
    margin: 0 0 1em 0;
    text-transform: none;
}

.team img {
    max-width: 100%;
    margin-bottom: 5px;
}

.team-grid {}

.abschluss {
    margin-top: 3em;
}

.news {
    position: relative;
    margin-bottom: 6em;
}

.news:after {
    width: 200px;
}

.news .col strong + p {
    display: inline;
}

.news a {
    text-decoration: none;
    transition: opacity .2s ease;
}
.news a:hover {
    opacity: .7;
}

.news figure {
    width: 100%;           /* Breite des figure-Elements, kannst du anpassen */
    height: 300px;         /* Feste Höhe des figure-Elements */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;      /* Überlaufende Teile des Bildes werden versteckt */
}

.news figure img {
    width: 100%;           /* Breite des Bildes */
    height: 100%;          /* Höhe des Bildes */
    object-fit: cover;     /* Bild wird zentriert und eingepasst */
    object-position: center; /* Bild wird zentriert */
}


.chronik {
    margin: 50px;
}

.chronik .slick-prev {
    width: 50px;
    height: 50px;
    background: url(images/icon-prev-blk.svg) no-repeat center;
    background-size: 50px;
    left: -55px;
}

.chronik .slick-next {
    width: 50px;
    height: 50px;
    background: url(images/icon-next-blk.svg) no-repeat center;
    background-size: 50px;
    right: -55px;
}

.chronik .slick-arrow.slick-disabled {
    opacity: .1;
}

.chronik .slick-slide {
    padding: 0 15px;
    outline: none!important;
}


.standorte {
    margin-bottom: 5em;
}


.standorte.reverse {
    flex-direction: row-reverse;
}

.standorte h4 {
    font-size: 1em;
    font-weight: 400;
}


/* kontakt */
#maps > div {
    border: none;
    width: 25%;
    height: 800px;
    position: relative;
}

/*
#map1:before {
    content: " ";
    width: 200px;
    height: 40px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-image: url('images/DSI-Kaarst.png');
    background-size: auto 40px;
    background-repeat: no-repeat;
    z-index: 99;
}
#map2:before {
    content: " ";
    width: 200px;
    height: 40px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-image: url('images/DSI-Berlin.png');
    background-size: auto 40px;
    background-repeat: no-repeat;
    z-index: 99;
}
#map3:before {
    content: " ";
    width: 300px;
    height: 40px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-image: url('images/DSI-Hamburg.png');
    background-size: auto 40px;
    background-repeat: no-repeat;
    z-index: 99;
}
*/

/* footer */
#site-footer {
    padding: 4em 0 8em 0;
}

#site-footer .col {
    width: 24.7%
}
#site-footer .col.last {
    align-self: flex-end;
    text-align: right;
}

.footer_nav {
    margin: 2em 0;
}
#menu-footer {
    margin-left: 0;
}

#site-footer .container {
    position: relative;
}

#site-footer .container:before {
    content: ' ';
    position: absolute;
    top: -30px;
    width: 200px;
    border-top: 1px solid #000;
    
}

.page-id-51 #site-footer .col {
   margin: 0;
}


#menu-footer {
    list-style: none;
    padding-left: 0;
}
#menu-footer li {
    display: inline-block;
}
#menu-footer li a {
    padding-right: 1em;
}

#gotop {
    position: fixed;
    bottom: 10px;
    right: 30px;
    width: 40px;
    height: 40px;
    background: url(images/icon-next.svg) no-repeat center;
    background-size: 40px;
    transform: rotate(-90deg);
    display: none;
}

.scrolled #gotop {
    display: block;
}


/* media queries */
@media only screen and (max-width: 1440px) {

    .container {
        margin-left: 30px;
        margin-right: 30px;
    }
    
    .container .container {
        margin-left: 0;
        margin-right: 0;
    }
    
    #site-footer .container {
        margin-left: 30px;
    }
    
    .cbox {
        font-size: 20px;
    }
    
    #filter-panel .col {
        padding: 2em 1em;
    }
    
    
}


@media only screen and (max-width: 1320px) {

    .page-id-51 .col-25 {
        padding-bottom: 2em;
    }

}



@media only screen and (max-width: 1120px) {
    
    #site-footer .col {
        width: 100%;
        margin: 20px 0;
    }
    
    
    #site-footer .col.last {
        align-self: flex-start;
        text-align: left;
    }    
    
    #menu-main li {
        display: block;
        padding: 1em;
    }
    
    
    #menu-footer,
    #menu-footer li a {
        padding-left: 0;
    }
    
    .projekt {
        width: 50%;
    }
    
    header.headline h1,
    h1.big {
        font-size: 2.4em;
    }
    
    .content {
        margin-top: 50px;
    }
    
    .single-projekt dl {
        width: 100%;
    }
    
    .single-projekt dt {
        width: 40%;
    }    
    .single-projekt dd {
        width: 60%;
    }    
    
}

@media only screen and (max-width: 1024px) {
    
    #maps {
        /*flex-direction: column-reverse;*/
    }
    #maps div {
        width: 100%;
        height: 600px;
        margin-bottom: 20px;
    }
    
    .col-33 {
        width: 100%;
        margin-bottom: 2em;
    }
    
    #filter-panel h3 {
        font-size: .8em;
    }
    
    #filter-panel .col {
        padding: 1em .4em;
    }
    .cbox {
        font-size: 16px
    }

    .standorte .col .flex {
        flex-direction: column-reverse;
    }
    .standorte .col .flex .col {
        margin-bottom: 2em;
    }
    
}

@media only screen and (max-width: 960px) {
    
    
}

@media only screen and (max-width: 860px) {
    
    .next a,
    .prev a{
        font-size: 1px;
        color: #fff;
        line-height: 1em;
        display: block;
    }
    
    #filter-panel .col {
        padding: 1em 0 1em .2em;
    }    
    
    #joblist .job {
        flex-direction: column;
    }
    
    
}

@media only screen and (max-width: 768px) {
    
    #logo img {
        max-width: 220px;
    }
    
    .projekt,
    .col,
    .col-50 {
        width: 100%;
    }
    
    .projekt:hover:before,
    .projekt:hover:after {
        opacity: 0;
    }
    
    #filter-panel,
    .projekt .projektinfo {
        display: none;
    }
    
    .projekt.click .projektinfo {
        display: block;
        opacity: 1;
    }
    .projekt.click:before,
    .projekt.click:after {
        opacity: 1;
    }
    
    
    #filter-button {
        display: none;
    }    
    
    .flex.reverse {
        flex-direction: column-reverse;
    }
    .flex.standorte {
        flex-direction: column;
        margin-bottom: 3em;
    }

    .singlegallery {
        margin-bottom: 4em;
    }
    

    .team.gf {
        width: 48%;
    }
    
    .team {
        width: 32%;
    }
    
    .chronik .slick-prev,
    .chronik .slick-next {
        width: 35px;
        height: 35px;
        background-size: 35px;
    }
    
    
} 

@media only screen and (max-width: 680px) {

    .single-projekt dt,
    .single-projekt dd {
        width: 50%;
    }

    header.headline h1 {
        width: 90%;
        margin-left: 5%;
    }

    .page-id-3 .content {
        padding-right: 0;
    }


    
}

@media only screen and (max-width: 520px) {

    .projekt:before, .projekt.click:before {
        height: 40%;
    }
    
    #joblist .job > div:first-child {
        width: 100%;
    }
    
    #joblist .job h3 {
        margin-bottom: 12px;
    }
    
    .single-projekt dt,
    .single-projekt dd {
        width: 100%;
    }
    
}

@media only screen and (min-width: 1024px) {

    .sustainability h1 {
        max-width: 50%;
        margin-right: 49%;
    }


}