/*
Theme Name: Martens + Puller – Modern
Author: S. B. - changed by Doppelstern - Agentur für digitale Zukunft GmbH (KJ)
Description: Custom Theme for Martens + Puller
Version: 0.2
Text Domain: twentythirteen

	M+P-Blau	=	#114781

	Seitenbreite	=	960px
	Grid-Spalte		=	298px
	Grid-Abstand	=	32px
*/

/*
 * General styles
 */

:root {
    --mp-blau: #114781;
    --max-width: 960px;
    --grid-column: 298px;
    --grid-gap: 32px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
	-webkit-text-size-adjust: none;
	-webkit-overflow-scrolling: auto;
    scroll-behavior: smooth;
}

body {
	-webkit-overflow-scrolling: auto;
    height: 100%;
    color: var(--mp-blau);
    text-align: left;
    font-family: "Open Sans", OpenSans, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-weight: normal;
}

/*
 * Header/Background image related
 */

.site-header {
    position: relative;
    padding: 0;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    overflow: visible;
    height: auto;
    min-height: 300px;
    max-height: 600px;
}

.site-header::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: calc(90% + 40px); /* 90% des Containers (wie .header-container) + 40px (20px links und rechts) */
    max-width: calc(var(--max-width) + 40px); /* maximale Breite + 40px */
    height: 100%; /* Volle Höhe des Headers */
    z-index: 1;
    /* ALT: Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#114881+0,114881+100&0.65+0,0+100;Neutral+Density */
    /* ALT: background: linear-gradient(to bottom, rgba(17,71,129,0.65) 0%,rgba(17,71,129,0) 100%);  W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+0,7db9e8+100&1+0,0+100 */
    background: linear-gradient(to right, rgba(17, 72, 129, 0.8) 0%, rgba(17, 72, 129, 0.8) 45%, rgba(17, 72, 129, 0.5) 60%, rgba(17, 72, 129, 0) 100%);
}

.header-container {
    display: flex;
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
}

.logo-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.secondary-logos {
    display: flex;
    gap: 20px;
    margin-top: 60px;
    height: 80px;
}

.site-header #logo,
.site-header #logo2,
.site-header #logo3 {
    display: inline-flex;
    vertical-align: top;
}

.site-header #logo > a,
.site-header #logo2 > a,
.site-header #logo3 > a {
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    color: rgba(0, 0, 0, 0);
}

.site-header #logo > a {
    background-image: url("images/m+p_Logo_RGB_weiß_ohne Rand.svg");
    width: 256px;
    height: 160px;
    margin: 5px 0 -30px 0;
}

.site-header #logo2 > a {
    background-image: url("images/bbs_m+p_Logo_RGB_weiß_ohne Rand.svg");
    width: 200px;
}

.site-header #logo3 > a {
    background-image: url("images/concycle_m+p_Logo_RGB_weiß_ohne Rand.svg");
    width: 200px;
}

.bgimg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.bgimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*
 * Article related
 */

article {
    margin-bottom: 3em;
    clear: both;
}

.page-intermediate {
    max-width: 960px;
    width: 90%;
    margin: 0 auto;
    clear: both;
}

.page-intermediate .post-image-container {
    margin: 0 0 3em 0;
}

.page-intermediate .wp-post-image {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid var(--mp-blau);
    object-fit: cover;
    object-position: top;
}

/*
 * Page-Nav und -Meta
 */

.breadcrumb {
    color: #999999;
    font-size: 0.75em;
}

.page-meta {
    margin: 1em auto 0;
}

.page-nav {
    margin: 1em auto 0;
    text-align: center;
    position: relative;
}

.page-separator {
    border-bottom: 1px solid #cccccc;
}

.page-nav-top,
.page-nav-left,
.page-nav-right {
    height: 64px;
    width: 64px;
    color: rgba(0, 0, 0, 0);
    background-image: url(images/controls.png);
    background-repeat: no-repeat;
    background-size: 200%;
    display: inline-block;
    margin: 0 -16px;
    overflow: hidden;
}

.page-nav-top {
    background-position: bottom left;
}

.page-nav-left {
    background-position: top left;
    position: absolute;
    left: 16px;
}

.page-nav-right {
    background-position: top right;
    position: absolute;
    right: 16px;
}

/*
 * Box layout related
 */

.box-layout,
.gallery {
    margin-top: 2.5em;
    margin-right: -32px;
    margin-bottom: -32px;
    display: flex;
    flex-wrap: wrap;
}

.gallery-columns-3 .gallery-item {
    display: inline-block;
    margin-right: 32px;
    margin-bottom: 32px;
    width: 298px;
    max-width: 100%;
    position: relative;
}

.box-outer {
    width: 298px;
    max-width: 100%;
    margin-right: 32px;
    margin-bottom: 32px;
    display: inline-block;
    position: relative;
}

.box-outer.wide {
    width: 628px;
}

.box-inner {
    position: relative;
    overflow: hidden;
}

.home .wide .box-inner {
    height: auto;
}

.box-outer > a,
.box-inner > a,
.box-text > a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.box-outer > a:focus,
.box-inner > a:focus {
    outline: none;
}

.box-sub {
    text-align: left;
    text-transform: uppercase;
    margin: 0.25em 0;
    line-height: 1.25em;
}

.box-outer .box-sub {
    width: 298px;
    max-width: 100%;
}

.box-outer.wide .box-sub {
    width: 628px;
}

.box-outer .box-text,
.box-outer .box-overlay {
    display: table-cell;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: white;
    background-color: var(--mp-blau);
    text-align: left;
    hyphens: auto;
    z-index: 10;
    padding: 0.75em;
}

.box-outer .box-overlay p {
    margin: 0;
}

.box-outer a .box-overlay {
    opacity: 0;
    transition: opacity ease 0.25s;
}

.box-outer a:hover .box-overlay {
    opacity: 1;
}

.box-outer .box-inner .box-text {
    height: 298px;
    position: relative;
}

.box-outer h1 {
    font-size: 18px;
    font-weight: inherit;
    margin-bottom: 0.5em;
}

.box-inner img {
    min-width: 100%;
    width: auto;
    height: auto;
    transition: transform 0.3s ease;
}

.box-inner:hover img {
    transform: scale(1.05);
}

/*
 * Spezialitäten für die Highlights-Seite
 */

.blog article {
    margin-bottom: 0;
    display: flex;
}

.blog .box-outer {
    margin-bottom: 12px;
}

.blog .post-image-container {
    margin-bottom: 20px;
}

.blog .wp-post-image {
    height: 435px;
}

.blog .gallery {
    justify-content: center;
}

/*
 * Spezialitäten für die Leistungen-Seite
 */

.weitere-leistungen .box-inner {
    background-color: var(--mp-blau);
}

.weitere-leistungen .box-inner img {
    height: 298px;
    width: 80%;
    min-width: 80%;
    margin: auto;
    object-fit: contain;
    object-position: center;
}

.weitere-leistungen .entry-header {
    margin-top: 4em;
}

/*
 * Spezialitäten für die Karriere-Seite
 */

.page-template-page_karriere .post-image-container {
    max-width: 100%;
    height: auto;
}

.page-template-page_karriere .slider {
    max-width: 100%;
    height: auto;
}

.page-template-page_karriere .slider li img {
    max-width: 100%;
    height: auto;
    width: 100%;
    display: block;
    border: 1px solid var(--mp-blau);
}

#offenestellen .image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--mp-blau);
}

#offenestellen .image-container .main_image {
    display: block;
    min-width: 100%;
    width: 100%;
}

#offenestellen .image-container .hover_image {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    width: 100%;
    opacity: 0;
}

#offenestellen .image-container:hover .main_image {
    opacity: 0;
}

#offenestellen .image-container:hover .hover_image {
    opacity: 1;
}

#offenestellen .box-layout,
.benefits .box-layout {
    margin-top: 0;
}

.benefits .box-inner {
    border: none;
}

.benefits .box-inner img {
    width: 100%;
    height: auto;
    display: block;
}

.benefits .box-inner:hover img {
    transform: none;
}

.benefits .box-outer {
    margin-bottom: 0;
}

.umfeld h2 {
    margin-top: 3em;
}

.umfeld .box-inner {
    height: 298px;
}

.umfeld .box-inner:hover img {
    transform: none;
}

/*
 * Spezialitäten für die Karriere-Detail-Seite
 */

.page-template-page_karriere_detail .wp-post-image {
    width: 298px;
    height: 298px;
}

/*
 * Footer related
 */

.site-footer {
    margin: 16px 0 0;
    clear: both;
    color: white;
    background: linear-gradient(to bottom, rgba(177, 188, 199, 1.0) 0%, rgba(145, 178, 206, 1.0) 100%);
    font-size: 0.8em;
}

.site-footer .page-intermediate {
    padding-top: 2em;
    padding-bottom: 1em;
    margin: 0 auto 0;
}

.site-footer #footer-nav {
    margin: 3em 0;
    padding: 0;
}

.site-footer .widget-area {
    display: inline-block;
    margin: 2em 0 0;
    width: 33%;
    vertical-align: top;
}

.site-footer .widget-area .widget-title {
    font-size: 1em;
    color: inherit;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0;
}

.site-footer .widget-area a {
    text-decoration: none;
}

/*
 * Navigation related
 */

#main-menu {
    color: var(--mp-blau);
    font-size: 16px;
    text-transform: uppercase;
    margin-top: 0;
}

#main-menu.page-intermediate {
    margin: 0 auto;
}

.page-intermediate .nav-menu {
    margin: 10px -16px 2em -16px;
}

#main-menu .nav-menu > li > a {
    border-bottom: 1px solid #ffffff;
    padding: 1em 0;
}

#main-menu .nav-menu > li:hover > a {
    border-bottom-color: var(--mp-blau);
}

#footer-menu {
    padding: 0;
    margin: 0 -16px;
}

ul.nav-menu,
div.nav-menu > ul {
    margin: 0;
    padding: 0 0;
}

.nav-menu li {
    display: inline-block;
    position: relative;
    text-align: left;
    padding: 0 16px;
}

.nav-menu li a {
    color: inherit;
    display: block;
    font-size: 1em;
    line-height: 1em;
    padding: 0.33em 0;
    text-decoration: none;
}

.nav-menu li:hover > a,
.nav-menu li a:hover,
.nav-menu li:focus > a,
.nav-menu li a:focus {
    color: #114781cc;
}

.nav-menu .sub-menu,
.nav-menu .children {
    background-color: #ffffff;
    padding: 0.66em 0;
    position: absolute;
    z-index: 99999;
    height: 0;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    text-transform: none;
    margin: 30px -16px 0 -16px;
}

.nav-menu .sub-menu ul,
.nav-menu .children ul {
    left: 100%;
    top: 0;
}

ul.nav-menu ul a,
.nav-menu ul ul a {
    color: var(--mp-blau);
    margin: 0;
    width: 200px;
}

ul.nav-menu ul a:hover,
.nav-menu ul ul a:hover,
ul.nav-menu ul a:focus,
.nav-menu ul ul a:focus {
    background-color: #ffffff;
}

ul.nav-menu li:hover > ul,
.nav-menu ul li:hover > ul,
ul.nav-menu .focus > ul,
.nav-menu .focus > ul {
    clip: inherit;
    overflow: inherit;
    height: inherit;
    width: inherit;
}

.nav-menu .current_page_item > a,
.nav-menu .current_page_ancestor > a,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a {
    color: inherit;
    font-weight: bold;
}

/* Just a bugfix for pseudo-one-pager menu items */
.nav-menu li .current-menu-item > a {
    color: inherit;
}

ul.nav-menu ul .menu-item-has-children > a:after {
    content: '\25B6';
    color: inherit;
    float: right;
    opacity: 0.25;
}


.skip-link {
    display: none;
}

.menu-toggle {
    display: none;
    color: inherit;
}

.site-footer .nav-menu .current_page_item > a,
.site-footer .nav-menu .current_page_ancestor > a,
.site-footer .nav-menu .current-menu-item > a,
.site-footer .nav-menu .current-menu-ancestor > a {
    color: rgba(255, 255, 255, 0.75);
}

nav.breadcrumb {
    margin: 0.5em 0;
}

nav.breadcrumb a {
    text-decoration: none;
}

nav.breadcrumb .current-page {
    text-decoration: none;
}

/*
 * Paragraph styles
 */

h1 {
    text-transform: uppercase;
    font-size: 36px;
    font-weight: lighter;
    margin: 0 0 0.25em 0;
}

h2 {
    margin: 2em 0 0 0;
    text-transform: uppercase;
    font-weight: bolder;
    font-size: 20px;
    letter-spacing: 0.05em;
}

h3,
.child h2 {
    margin: 1em 0 0.25em 0;
    text-transform: uppercase;
    font-weight: lighter;
    font-size: 20px;
    letter-spacing: 0.05em;
}

h4,
.child h3 {
    margin: 0.25em 0;
    text-transform: uppercase;
    font-weight: lighter;
    font-size: 16px;
    letter-spacing: 0.05em;
}

h1 a, h2 a, h3 a, h4 a {
    text-decoration: none;
}

p {
    margin: 0.5em 0 1em 0;
}

a {
    color: inherit;
}

blockquote {
    font-style: italic;
    padding-left: 1em;
}

figure {
    margin: 0;
    position: relative;
}

article img {
    max-width: 100%;
    height: auto;
}

article img.alignright {
    float: right;
    max-width: 20em;
    margin-left: 1em;
    margin-bottom: 1em;
}

.single article .entry-thumbnail img {
    float: right;
    max-width: 20em;
    margin-left: 1em;
    margin-bottom: 1em;
}

/*
 *	Entry headers
 */

.entry-header h1.entry-title {
    margin: 0.5em 0 0.25em 0;
}

/*
 *	Metadata
 */

.entry-meta {
    font-size: 0.75em;
    color: #999;
}

.entry-meta dd, .entry-meta dt {
    display: inline;
}

.image-title,
.wp-block-image .image-title {
    position: absolute;
    margin: 0;
    padding: 0;
    text-align: left;
    left: 0;
    color: #999;
    font-size: 12px;
}

.wp-caption-text,
.wp-block-image .wp-caption-text {
    position: absolute;
    margin: 0;
    padding: 0 0.25em 0.1em 0.25em;
    font-size: 10px;
    bottom: 0;
    right: 0;
    background: rgba(31, 31, 31, 0.33);
    color: rgba(240, 240, 240, 0.33);
}

figure img,
.wp-block-image img {
    display: block;
}

ul.post-meta {
    margin: 0 0 2em 0;
    padding-left: 0;
    list-style: none;
}

ul.post-meta li {

}

ul.post-meta li span {
    text-transform: uppercase;
}

/*
 *	Forms
 */
input, button {
    font-family: inherit;
    font-size: inherit;
}

/*
 * Column Layout
 */
.columns-2-3 {
    width: 630px;
    margin-left: 330px;
}

/*
 * Gallery module support
 */

.gallery {
    clear: both;
    position: relative;
}

.gallery-item {
    display: inline-block;
}

.gallery-item img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--mp-blau);
}

.columns-2-3 .gallery {
    margin-left: -330px;
}

.gallery-item .box-sub {
    display: none;
}

#team .gallery-item .box-sub {
    display: block;
}


/*
 * Featherlight (lightbox) support
 */

.with-featherlight .featherlight {
    font-family: inherit;
}

.with-featherlight .featherlight .featherlight-content .caption {
    color: #666;
    font-size: 12px;
    text-align: right;
    right: 0;
    margin-top: 2px;
}

.with-featherlight .featherlight .featherlight-content .caption:before {
    content: "Bild: ";
}

/*
 * Lightslider support
 */

.slider {
    list-style: none;
    padding: 0;
}

.slider li {
    padding: 0;
}

.slider li img:hover {
    cursor: default;
}

.slider a {
    text-decoration: none;
}

.post-image-container .lSSlideOuter .lSPager.lSpg,
.box-outer .lSSlideOuter .lSPager.lSpg {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0.25em !important;
}

.post-image-container .lSSlideOuter .lSPager.lSpg > li > a,
.box-outer .lSSlideOuter .lSPager.lSpg > li > a {
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 0;
}

.post-image-container .lSSlideOuter .lSPager.lSpg > li.active > a,
.box-outer .lSSlideOuter .lSPager.lSpg > li.active > a {
    background-color: rgba(255, 255, 255, 0.75);
}


/* Narrow window and iPad wide */
@media (max-width: 1067px),
(max-device-width: 1067px) {
    .blog article {
        display: block;
        margin-bottom: 2em;
    }

    article img.alignright {
        margin: 0;
    }

    /*
     * Box layout
     */
    .box-layout {
        display: block;
        text-align: center;
        margin-right: 0;
    }

    .box-outer,
    .gallery-columns-3 .gallery-item {
        float: none;
    }

    .page-intermediate .wp-post-image {
        height: 418px;
    }

    .wide .box-inner {
        height: 435px;
    }
}

/* iPad and below */
@media (max-width: 800px),
(max-device-width: 800px) {

    #main-menu {
        margin: 24px 16px;
    }

    .columns-2-3 {
        width: 100%;
        margin-left: 0;
    }

    .gallery {
        margin-left: 0;
        position: relative;
    }
}

/* iPhone and below */
@media (max-width: 640px),
(max-device-width: 640px) {

    html, body {
        overflow-x: hidden;
        position: relative;
    }

    h1 {
        font-size: 30px;
    }

    .header-container {
        position: absolute;
        margin: 0 0 0 30px;
    }

    .site-header {
        min-height: 230px;
    }

    .site-header #logo > a {
        width: 230px;
        height: 130px;
    }

    .site-header::before {
        max-width: none;
    }

    #logo3 {
        margin-left: -10px;
    }

    .secondary-logos {
        margin-top: 30px;
        gap: 0;
        height: 70px;
    }

    .box-outer.wide {
        width: 298px;
    }

    .box-outer.wide .box-sub {
        width: 298px;
    }

    .page-intermediate {
        width: 100%;
        padding: 0 32px 0 32px;
    }

    .page-intermediate .wp-post-image {
        height: 200px;
    }

    .page-template-page_karriere_detail .wp-post-image {
        width: 200px;
        height: 200px;
    }

    .page-intermediate .post-image-container .image-title {
        font-size: 10px;
    }

    /*
     * Navigation related
     */
    .page-intermediate .nav-menu {
        margin: 0;
    }

    ul.nav-menu ul a,
    .nav-menu ul ul a {
        color: var(--mp-blau);
    }

    .nav-menu .sub-menu,
    .nav-menu .children {
        background-color: rgba(255, 255, 255, 0.85);
    }

    #main-menu {
        margin: 0;
        position: relative;
        top: inherit;
        right: inherit;
        max-width: 100%;
        text-align: left;
        color: var(--mp-blau);
    }

    #main-menu.page-intermediate {
        padding: 0;
        margin: 0;
        width: 100%;
    }

    #main-menu .nav-menu .sub-menu,
    #main-menu .nav-menu .children {
        margin-left: 1em;
        padding: 0;
    }

    #main-menu .nav-menu .sub-menu {

    }

    #main-menu .nav-menu li {
        padding: 0;
    }

    #main-menu .nav-menu li > a {
        padding: 0.5em 1em;
    }

    /* Small menu */
    .menu-toggle {
        cursor: pointer;
        display: inline-block;
        margin: 0;
        text-align: right;
        height: 2.5em;
        padding: 0.5em 1em;
        width: inherit;
    }

    .menu-toggle,
    .menu-toggle:hover,
    .menu-toggle:focus,
    .menu-toggle:active {
        background: none;
        border: none;
    }

    .menu-toggle:focus {
        outline: thin dotted;
    }

    .menu-toggle:after {
        content: "\25BC";
        font-size: 12px;
        padding-left: 8px;
    }

    #primary-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.25s;
        padding: 0;
    }

    .toggled-on #primary-menu {
        max-height: 999px;
        overflow: visible;
    }

    .toggled-on .menu-toggle {
        background-color: #ffffff;
        color: #114781;
    }

    .toggled-on .menu-toggle:after {
        content: "\25B2";
    }

    .toggled-on .nav-menu,
    .toggled-on .nav-menu > ul {
        display: block;
        margin-left: 0;
        padding: 0;
        width: 100%;
    }

    .toggled-on li,
    .toggled-on .children {
        display: block;
    }

    .toggled-on .nav-menu li > ul {
        background-color: transparent;
        display: block;
        float: none;
        margin-left: 20px;
        position: relative;
        left: auto;
        top: auto;
        border-left: 1px solid var(--mp-blau);
    }

    .toggled-on .nav-menu li > ul a {
        color: inherit;
        width: auto;
    }

    .toggled-on .nav-menu li:hover > a,
    .toggled-on .nav-menu .children a {
        background-color: transparent;
        color: var(--mp-blau);
    }

    .toggled-on .nav-menu > li a:hover,
    .toggled-on .nav-menu > ul a:hover {
        background-color: var(--mp-blau);
        color: white;
    }

    .toggled-on .nav-menu > li a:focus,
    .toggled-on .nav-menu > ul a:focus {
        background-color: var(--mp-blau);
        color: white;
    }

    ul.nav-menu,
    div.nav-menu > ul {
        display: none;
    }

    .box-outer,
    .gallery-columns-3 .gallery-item {
        margin: 0 0 16px 0;
    }

    .box-outer .box-sub {
        height: 40px;
    }

    .blog .box-outer.wide .box-inner {
        height: 230px;
    }

    /*
     * Footer related
     */
    .site-footer #footer-nav {
        padding: 0;
    }

    .site-footer #footer-menu {
        padding: 0;
        display: block;
    }

    .site-footer .widget-area {
        width: inherit;
        display: block;
    }

    /*
     * Article related
     */
    .blog article {
        margin-bottom: 32px;
    }

    /* Leave teaser images away in this tiny space */
    article .entry-thumbnail {
        display: block;
    }

    article .entry-thumbnail img {
        max-width: 100%;
        margin: 0;
        float: none;
    }

    article p {
        hyphens: auto;
    }

    p em {
        padding: 0.25em 1em;
        margin: -0.25em -0.5em;
    }

    h2, h3, .child h2 {
        margin: 2.5em 0 0.25em;
    }

    article img.alignright,
    article img.alignleft {
        float: none;
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

    .gallery {
        max-width: 100%;
    }

    .gallery .gallery-item {
        padding: 1em;
        margin: 0;
    }
}
