@charset "UTF-8";
/*
Theme Name: Peters Landtechnik
Theme URI: http://www.kundenurl.de/
Author: SIGN+DESIGN Werbeagentur
Author URI: https://www.signunddesign.com/
Description: Wozu lange um den „heißen Brei“ reden: Unser Ziel ist Ihr Erfolg! Denn nur erfolgreiche Kunden sind auf Dauer glückliche Kunden. Und um Sie glücklich zu machen, richten wir unsere Energie auf Ihren stimmigen Auftritt und die Entwicklung zielführender Kommunikationsmaßnahmen. Werbung darf bei uns Spaß machen und ist trotzdem niemals Selbstzweck. Was zählt ist Ihr Erfolg! Die Früchte unserer Bemühungen: treue, langjährige Kunden und zahlreiche Weiterempfehlungen – mit ein Grund dafür, dass viele unserer Kunden aus dem Bereich Immobilien stammen. Und hier liegt auch seit über 20 Jahren ein Schwerpunkt unserer Arbeit.
Version: 2.1
*/

/*Global Reset*/

body,html,h1,h2,h3,h4,h5,h6,p,ul,ol,li{padding:0;margin:0;}
body,html{overflow: unset!important;width:100%;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}

/* ########## Fonts ++ WICHTIG font-display: swap; ++ ########## */

/* nunito-200 - 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: 'Nunito';
    font-style: normal;
    font-weight: 200;
    src: url('assets/fonts/nunito-v31-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-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: 'Nunito';
    font-style: normal;
    font-weight: 300;
    src: url('assets/fonts/nunito-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-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: 'Nunito';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/nunito-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-italic - 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: 'Nunito';
    font-style: italic;
    font-weight: 400;
    src: url('assets/fonts/nunito-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-500 - 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: 'Nunito';
    font-style: normal;
    font-weight: 500;
    src: url('assets/fonts/nunito-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-600 - 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: 'Nunito';
    font-style: normal;
    font-weight: 600;
    src: url('assets/fonts/nunito-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-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: 'Nunito';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/nunito-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-800 - 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: 'Nunito';
    font-style: normal;
    font-weight: 800;
    src: url('assets/fonts/nunito-v31-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* nunito-900 - 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: 'Nunito';
    font-style: normal;
    font-weight: 900;
    src: url('assets/fonts/nunito-v31-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ########## Variables ########## */

* {
    --font-family: "Nunito", sans-serif;
    --transition: .2s ease;
    --wrp-width: 1240px;
    --font-size: 16px;
    --line-height: calc(var(--font-size) * 1.8);
    --box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.3);
    --border-radius: 15px;
    --primary-color: #5C6331;
    --secondary-color: #8DB532;
    --text-color: #5C6331;
}

/* ########## Globals ########## */

html {scroll-behavior: smooth;}
body {font-size: var(--font-size); font-family: var(--font-family), sans-serif; line-height: var(--line-height); color: var(--text-color);}
img {-ms-interpolation-mode:bicubic; vertical-align: bottom;}
svg {width: 100%; height: 100%;}
hr {border:none;height:1px;background:#ddd; margin:0;}

.wrp {max-width: var(--wrp-width); width: 90%; margin: 0 auto; position:relative; box-sizing:border-box;}

/* Margins */

.mb {margin-bottom: 100px;}
.mb50 {margin-bottom: 50px;}

@media (max-width: 500px) {
  .mb {margin-bottom: 50px;}
  .mb50 {margin-bottom: 25px;}
}

/* Page Build */

main.withsidebar .page-build {display: grid; grid-template-columns: 70% 25%; align-items: flex-start; justify-content: space-between; max-width: var(--wrp-width); width: 90%; margin: 0 auto;}
main.withsidebar .content .wrp {width: 100%;}

@media (max-width: 1024px) {
    main.withsidebar .page-build {grid-template-columns: 100%;}
    main.withsidebar .page-build .sidebar {display: none;}
}

/* Typo Styles */

h1{margin:0; font-size: 33px; text-transform: uppercase; font-weight: 800; line-height: 63px;}
h2{margin-bottom: 25px; font-size: 30px;text-transform: uppercase; line-height: 40px;}
h3{margin-bottom: 20px; font-size: 20px;text-transform: uppercase;}
h4{font-size: 18px; background: var(--secondary-color); padding: 5px 20px; display: inline-block; margin-bottom: 9px;}
h5{margin:0; font-size: 30px;text-transform: uppercase; color: #FFFFFF; font-weight: 600;}
h1 strong {color: var(--secondary-color);}
h2 strong {color: var(--secondary-color);}

@media (max-width: 630px) {
    h1 {font-size: 22px; line-height: 50px;}
    h2 {font-size: 21px; line-height: 30px;}
    .stage .stage-stoerer {font-size: 18px!important; padding: 7px 15px;!important; bottom: -37% !important; right: -14px!important;}
    .stage .headline span {padding: 20px 12px;}
    .subhead h4 {padding: 5px 12px;}
    header .header-grid {grid-template-columns: 220px!important; transition: var(--transition);}
    html.scrolled header .header-grid {grid-template-columns: 190px!important; transition: var(--transition);}
}



a {text-decoration: none; outline:none !important; color: var(--text-color); transition: var(--transition);}
a:hover {color: var(--secondary-color); transition: var(--transition); cursor: pointer;}

.btn {padding: 12px 16px; background: var(--primary-color); display: inline-block;}

p {margin-bottom: var(--line-height);}
p:last-child {margin-bottom: 0;}
address {font-style: normal; }
address a {display: block;}
ol, ul {margin-bottom: var(--line-height);}
li {margin-left: 20px;}

/* ########## Mainnav ########## */

#mainnav ul.mainnav.smart {display:none;}
#mainnav {display: block; transform: translate(0);}
#mainnav ul.mainnav.desktop li {list-style-type: none; font-size: 20px; margin-left: 40px; text-transform: uppercase;}
#mainnav ul.mainnav.desktop li:first-child {margin-left:0;}
#mainnav ul.mainnav.desktop li a{display:block; color: var(--text-color); transition: var(--transition); padding: 30px 0 34px 0;}
#mainnav ul.mainnav.desktop li a:hover, #mainnav ul > li.current-menu-item > a{color: var(--secondary-color); transition: var(--transition);}

/* Submenu */

@media (min-width: 1300px){

    #mainnav ul.mainnav.desktop {display: flex; align-items: center; margin: 0;}


    #mainnav ul.mainnav li.menu-item-has-children {position: relative;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu {position: absolute; top: 92px; left: 0; display: block; height: auto; max-height: 0; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li { height: 100%;  transition: 0.8s ease; background: #f5f5f5; margin: 0;}
    #mainnav ul.mainnav li.menu-item-has-children:hover > ul.sub-menu {max-height: 674px; padding: 0; overflow: visible; }

    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover {background: var(--primary-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover a {color: #fff;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li a {padding: 13px;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:last-child {margin-bottom: 0;}

    /* Zweite Ebene */

    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu {position: absolute; left: 100%; top: 6px; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children:hover ul.sub-menu {overflow: visible;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li {background: #f5f5f5;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li a {color: var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li:hover a {color: var(--primary-color);}

    /* Desktop ausblenden */

    #mainnav .head,
    #mainnav address.contact,
    #mainnav ul.mainnav li.back {display: none;}
}

@media (max-width: 1300px) {

    .mainnav.desktop {display: none;}
    header .header-grid #mainnav .navi {padding: 30px 5%; align-items: unset!important; background: var(--secondary-color); color: #FFFFFF;}
    header .header-grid .reperatur a {color: var(--primary-color)!important;}

    /* Offcanvas */

    #mainnav ul.mainnav.smart {display:block;}
    #mainnav {position: fixed; top: 0; right: 0; bottom: 0; background: #fff; width: 100%; max-width: 500px; transform: translateX(100%); transition: var(--transition); box-shadow: var(--box-shadow); z-index: 2;}
    #mainnav.active {transform: translateX(0); transition: var(--transition);}
    #mainnav .head {display: grid;grid-template-columns: auto auto 55px; align-items: center; padding: 20px; box-sizing: border-box; box-shadow: 0 0 10px rgba(0,0,0,0.1);}
    #mainnav .head p {margin: 0; font-size: 25px; color: var(--text-color);}
    #mainnav .head .buttons {display: flex; justify-content: center;justify-self: end;}

    #mainnav .head .buttons a {width: 50px; height: 50px; border-radius: 2px; background: #f5f5f5; margin-left: 5px; display: flex; align-items: center; justify-content: space-around; }
    #mainnav .head .buttons a:first-child {margin-left: 0;}
    #mainnav .head .buttons a svg {width: 25px; height: 25px;}
    #mainnav .head .buttons a svg g path {stroke: #a4a4a4;}

    /* Submenu */

    #mainnav ul.mainnav.smart {display: block;}
    #mainnav ul.mainnav li {padding: 0; box-sizing: border-box; margin: 0; background: #efefef; border-bottom: 1px solid #dedede; list-style-type: none;}
    #mainnav ul.mainnav li a {font-size: var(--font-size); padding: 10px 45px 10px 5%; display: block;}

    #mainnav .opensubnav {cursor: pointer; width: 49px; height: 49px; position: absolute; right: 0; background: #fff; display: block; z-index: 100; box-sizing: border-box;}
    #mainnav .opensubnav.active {background: var(--secondary-color);}
    #mainnav .opensubnav:after  {content: ''; transform: rotate(-45deg) translate(-50%, -50%); border: solid var(--secondary-color); border-width: 0 2px 2px 0; display: inline-block; padding: 3px; left: 50%; top:42%; position: absolute; transition: var(--transition);}
    #mainnav .opensubnav.active:after  {content: ''; transform: rotate(45deg); -webkit-transform: rotate(45deg);  border: solid #fff; border-width: 0 2px 2px 0; left: 19px; top:18px; transition: var(--transition);}

    #mainnav address.contact {padding: 5%; box-sizing: border-box; display: block;}

    /* Offcanvas Sub Layer 1 */

    #mainnav li.menu-item-has-children ul.sub-menu {display: none; transition: var(--transition); margin-bottom: 0;}
    #mainnav li.menu-item-has-children.active ul.sub-menu {display: block;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li a {background: #fff; padding-left: 10%;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li ul.sub-menu li a {padding-left: 15%;}

    /* Offcanvas Sub Layer 2 */

    #mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children .opensubnav {background: #f5f5f5;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children ul.sub-menu {display: none; transition: var(--transition);}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children.active ul.sub-menu {display: block; transition: var(--transition);}

    #mainnav ul.offcanvas-menu li.back a:before {display: none;}

    /* Mainnav Toggle */

    .mainnav-toggle {border-radius: 2px; display: block!important; position: relative; z-index: 10;width: 50px;height: 50px;box-shadow:none; transition: var(--transition);}
    .mainnav-toggle.off {border-radius: 2px; display: block!important; position: absolute; z-index: 10; top: 50%; right: 0;transform: translateY(-50%);width: 50px;height: 50px; transition: var(--transition);}
    .mainnav-toggle.off.active {display:none!important}
    .mainnav-toggle .btn-mainnav-toggle {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 35px;cursor: pointer;}
    .mainnav-toggle .btn-mainnav-toggle span {display: block;width: 100%;box-shadow: 0 2px 10px 0 rgba(0,0,0,0.3);border-radius: 4px;height: 2px;background: #fff;transition: all .3s;position: relative; background: var(--primary-color);}
    .mainnav-toggle .btn-mainnav-toggle span + span {margin-top: 7px;}
    .mainnav-toggle .btn-mainnav-toggle.active span + span {margin-top: 13px;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(1) {animation: ease .7s top forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(1) {animation: ease .7s top-2 forwards;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(2) {animation: ease .7s scaled forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(2) {animation: ease .7s scaled-2 forwards;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(3) {animation: ease .7s bottom forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(3) {animation: ease .7s bottom-2 forwards; width: 85%;}

    @keyframes top { 0% {top: 0; transform: rotate(0);} 50% {top: 15px;transform: rotate(0);} 100% {top: 15px;transform: rotate(45deg);} }
    @keyframes top-2 { 0% {top: 15px;transform: rotate(45deg);} 50% {top: 15px;transform: rotate(0deg);} 100% {top: 0;transform: rotate(0deg);} }
    @keyframes bottom { 0% {bottom: 0;transform: rotate(0);} 50% {bottom: 15px;transform: rotate(0);} 100% {bottom: 15px;transform: rotate(135deg);} }
    @keyframes bottom-2 { 0% {bottom: 15px;transform: rotate(135deg);} 50% {bottom: 15px;transform: rotate(0);} 100% {bottom: 0;transform: rotate(0);} }
    @keyframes scaled { 50% {transform: scale(0);} 100% {transform: scale(0);} }
    @keyframes scaled-2 { 0% {transform: scale(0);} 50% {transform: scale(0);} 100% {transform: scale(1);} }

    #mainnav-overlay {position: fixed; top: 0; right: 0; left: 0; bottom: 0; background: rgba(0,0,0,0.2); backdrop-filter: blur(7px); opacity: 0; z-index: -5; transition: var(--transition); visibility: hidden;}
    #mainnav-overlay.active {opacity: 1; z-index: 1; visibility: visible; transition: var(--transition);}
}

/* ########## Header ########## */

header {position: fixed; top: 0; width: 100%; z-index: 10; padding:  15px 0 0 0; box-sizing: border-box; background: #fff; box-shadow: var(--box-shadow); font-weight: 700;}
header .header-grid {display: grid; grid-template-columns: 300px auto; grid-template-rows: auto; justify-items: start; align-items: center; justify-content: space-between;transition: var(--transition);}
header .header-grid .logo {width: 100%; padding: 0 0 17px 0;}
header .header-grid .logo a {display: flex; align-items: center;}
header .header-grid .mainnav-toggle {display: none;justify-self: end;}
header .header-grid #mainnav .navi {display: flex;flex-flow: column; align-items: end; gap: 47px;transition: var(--transition);}
header .header-grid .reperatur a {font-weight: 800; color: var(--secondary-color); font-size: 18px;transition: var(--transition);}
header .header-grid .reperatur a:hover {font-size: 20px; transition: var(--transition);}
html.scrolled header .header-grid {grid-template-columns:250px auto; transition: var(--transition);}
html.scrolled header .header-grid #mainnav .navi {gap: 15px;transition: var(--transition);}
/* Kopfbereich Startseite / Unterseite  */

.stage {aspect-ratio: 3/1; width: 100%; min-height: 600px; position: relative; margin-top: 118px; color: #ffffff; margin-bottom: -50px;}
.stage .wrp {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2;}
.stage img {width: 100%; height: 100%; object-fit: cover; object-position: center;}
.stage .stage-content {position: relative; width: fit-content;}
.stage .stage-stoerer {position: absolute; bottom: -27%; right: -90px; transform: rotate(-5deg); background: var(--secondary-color); padding: 10px 20px; font-size: 24px; font-weight: 900; color: #FFFFFF; transition: var(--transition);}
.stage .stage-stoerer:hover {scale: 1.1; transition: var(--transition);}
.stage .headline span {padding: 20px 20px;background: var(--primary-color);display: inline;box-decoration-break: clone;-webkit-box-decoration-break: clone;}

.stage .karrierestoerer {position: absolute; bottom: 50px; right: 100px; animation: pulse-once 4s ease infinite;}
.stage .karrierestoerer .img-wrp {height: 170px;width: 170px;}
.stage .karrierestoerer .img-wrp img {height: 100%;width: 100%;}

.stage.subpage {aspect-ratio: 3/.7; width: 100%; position: relative; margin-bottom: 100px!important;}
.title h2 {margin-bottom: 25px;}

@keyframes pulse-once {
    0% {transform: scale(1);opacity: 1;}
    30% {transform: scale(1.05);opacity: 0.95;}
    60% {transform: scale(1);opacity: 1;}
    100% {transform: scale(1);opacity: 1;}
}

@media (max-width: 1100px) {
    .stage .karrierestoerer {bottom: 50px; right: 20px;}
    .stage .karrierestoerer .img-wrp {height: 110px; width: 110px;}
}

@media (max-width: 450px) {
    .stage .karrierestoerer { left: 20px;}
}

/* ########## Content ########## */

/* Text */

.text.multiple-col .wrp {-webkit-columns: 2 350px; -moz-columns: 2 350px; columns: 2 350px; -webkit-column-gap: 4em; -moz-column-gap: 4em; column-gap: 4em;}
.text.align-center {text-align: center;}

/* Text Bild */

.textbild {color: var(--primary-color);}
.textbild .wrp {display: grid; justify-content: space-between; align-items: center}
.textbild .text {padding: 80px 0; z-index: 2; }
.textbild .bild {height: 100%; width: 100%;}
.textbild .bild img {width: 100%; height: 100%; object-fit: cover; border-radius: 15px;}
.textbild .text h4 { background: unset;color: var(--secondary-color);padding: 0;}

.textbild.ersttext .text {order: 1;}
.textbild.ersttext .bild {order: 2;}
.textbild.erstbild .bild {order: 1;}
.textbild.erstbild .text {order: 2;}



@media (max-width: 1000px) {
    .textbild.erstbild .bild {order: 2!important;}
    .textbild.erstbild .text {order: 1!important;}

    .textbild .wrp {grid-template-columns: auto!important; gap: 30px;}
    .textbild .text {width: 100%; padding: 0;}
    .textbild .bild {position: unset; width: 100%;}
}

/* Teasercards */

.teasercards .cards.no-carousel {display: grid; grid-column-gap: 20px; grid-row-gap: 20px; margin: 0;}
.teasercards .cards.no-carousel li {list-style-type: none; margin: 0;}
.teasercards .splide ul.cards {display: flex; grid-column-gap: unset;}

.teasercard-item .img-wrp {width: 100%; aspect-ratio: 2/1.5; display: block;}
.teasercard-item .img-wrp img {width: 100%; height: 100%; object-fit: cover;}

.teasercard-item {display: block; background: #ffffff; box-shadow: var(--box-shadow); padding: 23px 35px ; border-radius: 20px; height: 160px; position: relative; transition: var(--transition);}
.teasercard-item:hover {scale: 1.05; transition: var(--transition);}
.teasercard-item .teasercard-content .btn {display: inline-block;}
.teasercards .teasercard-item .icon {height: 35px; width: 35px; position: absolute; right: 20px; bottom: 20px;}
.teasercards .teasercard-item .icon svg {height: 100%; width: 100%;}


.splide__arrow--next {right:-5%!important}
.splide__arrow--prev {left:-5%!important}

@media (max-width: 1350px) {
    .teasercards .cards.no-carousel {grid-template-columns: repeat(2, 1fr)!important;}
}

@media (max-width: 650px) {
    .teasercards .cards.no-carousel {grid-template-columns: 100% !important;}
}


/* Trenner */

.trenner { background: var(--secondary-color); width: 100%; color: #ffffff; position: relative;}
.trenner .trenner-content {text-align: center;}
.trenner img {height: 100%; width: 100%; object-fit: cover;}
.trenner h2 {text-transform: unset; margin-bottom: 0;}
.trenner p {margin-top: 25px; margin-bottom: 0;}
.tr-bild {aspect-ratio: 3/1; max-height: 500px;}
.tr-text {padding: 40px 0;}

.trenner .textbild-trenner {position: relative;}
.trenner .textbild-trenner:before {position: absolute; content: url("assets/icons/zahnrad.svg"); left: -90px; top: 50%; transform: translateY(-50%); width: 250px;}
.trenner .textbild-trenner .wrp {display: grid; grid-template-columns: 1fr 1fr; justify-content: space-between; align-items: center;}
.trenner .textbild-trenner .wrp .trennertext {padding: 80px 0;}
.trenner .textbild-trenner .trennerbild {position: absolute; right: 0;top: 0; bottom: 0; width: 45%;}

@media (max-width: 1000px) {
    .trenner .textbild-trenner .wrp {grid-template-columns: auto;}
    .trenner .textbild-trenner .trennerbild {position: unset; width: 100%;}
    .trenner .textbild-trenner .trennerbild img {aspect-ratio: 2.5/1; min-height: 300px;}
}

/* PopUp */

button.open-popup {padding: 16px 16px; background: var(--primary-color); display: inline-block; color: #ffffff; border-radius: 10px; cursor: pointer; border: none; font-size: 16px;transition: var(--transition);}
button.open-popup:hover {padding: 16px 16px; background: var(--secondary-color); color: var(--text-color) ; transition: var(--transition);}

.popup {display: flex;position: fixed;z-index: 9999;left: 0; top: 0;width: 100%; height: 100%;background: rgba(0,0,0,0.7); opacity: 0; visibility: hidden; transition: var(--transition);}
.popup.active {opacity: 1; visibility: visible;}
.popup.active .popup-content {transform: translateY(0);}

.popup-content {position: relative;margin: 5% auto;padding: 0;width: 90%;max-width: 1000px;background: #fff;border-radius: 8px;overflow: hidden;text-align: center;transform: translateY(-30px);transition: transform 0.3s ease; height: fit-content;}
.popup-content img {height: auto; width: 100%;}

.close {position: absolute;top: 10px; right: 20px;font-size: 30px;font-weight: bold;cursor: pointer;}
body.no-scroll {overflow: hidden!important;}

/* Partner */

.partner {margin-bottom: 100px;}
.partner .wrp {display: block;}
.partner .splide__slide {-webkit-backface-visibility: hidden;backface-visibility: hidden;box-sizing: border-box;-ms-flex-negative: 0;flex-shrink: 0;list-style-type: none !important;margin: 0;outline: none;position: relative;}

.partner .cards.splide__list {display: flex;-webkit-backface-visibility: hidden;backface-visibility: hidden;display: -ms-flexbox;display: flex;height: 100%;margin: 0 !important;padding: 0 !important;transform-style: preserve-3d;}
.partner .cards.splide__list li {list-style-type: none; background: #f8f8f8;  aspect-ratio: 2/1; max-height: 200px; border-radius: 20px; padding: 30px; place-content: center;}
.partner .cards.splide__list li img {width: 100%;}

.partner .splide__pagination {bottom: -2.5em;left: 0;padding: 0 1em;position: absolute;right: 0;z-index: 1;-ms-flex-align: center;align-items: center;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-ms-flex-pack: center;justify-content: center;margin: 0;pointer-events: none;}
.partner .splide__pagination li {display: inline-block;line-height: 1;list-style-type: none;margin: 0;pointer-events: auto;}
.partner .splide__pagination__page {background: #687044;border: 0;border-radius: 50%;display: inline-block;height: 11px;margin: 3px;opacity: .7;padding: 0;transition: transform .2s linear;width: 11px;}
.partner .splide__pagination__page.is-active {background: var(--secondary-color)}
.partner .splide__arrows {display: none;}
.partner .splide__track {overflow: hidden;}


/* Kontaktformular */

.wpforms-container .wpforms-form .wpforms-submit {color: #FFFFFF!important; background: var(--primary-color) !important; border: none!important; border-radius: 15px!important; padding: 12px 22px!important; transition: var(--transition);}
.wpforms-container .wpforms-form .wpforms-submit:hover {color: var(--primary-color)!important; background: var(--secondary-color) !important; transition: var(--transition); }
.wpforms-container .wpforms-form .wpforms-submit-spinner {display: none!important;}
.wpforms-container .wpforms-form input {border-radius: 12px!important;}
.wpforms-container .wpforms-form .wpforms-field-medium {border-radius: 15px!important;}

/* Image */

.image img {display:block; width:100%; height:auto;}

.bildtrenner {width:100%; aspect-ratio: 3/1; overflow: hidden; position: relative;}
.bildtrenner img {width:100%; height: 100%; object-fit: cover; object-position: center;}
.bildtrenner .wrp {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2;}

/* Galerie */

.gallery .fresco-gallery:not(.masonry) {display: grid; gap: 50px; margin-bottom: 0;}
.gallery .fresco-gallery li {list-style-type: none; margin: 0 0 25px 0; border-radius: 5px;overflow: hidden;}
.gallery .fresco-gallery:not(.masonry) li {margin: 0 0 50px 0;}
.gallery .fresco-gallery li a {position: relative; display: block; overflow: hidden;}
.gallery .fresco-gallery li a .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secondary-color); opacity: 0; transition: var(--transition);}
.gallery .fresco-gallery li a:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .fresco-gallery li a .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .fresco-gallery li a .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .fresco-gallery li a .overlay .icon-wrp svg path {fill: #fff;}
.gallery .fresco-gallery li a:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .fresco-gallery li img {width: 100%;}
.gallery .fresco-gallery.masonry {gap: 25px; columns: 4; margin: 0 auto;}

.gallery .video-gallery-grid {display: grid; grid-column-gap: 50px; grid-row-gap: 50px;}
.gallery .video-gallery-grid .video-gallery-item {height: 220px; width: 100%; display: block; position: relative; overflow: hidden;}
.gallery .video-gallery-grid .video-gallery-item .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secondary-color); opacity: 0; transition: var(--transition); z-index: 4;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg path {fill: #fff!important;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item img {height: 100%; width: 100%; object-fit: cover; object-position: center; transform: scale(1.2);}

@media (max-width: 1024px) {
  .gallery .fresco-gallery {grid-template-columns: repeat(4, 1fr)!important;}
  .gallery .video-gallery-grid {grid-template-columns: repeat(2, 1fr)!important;}
  .gallery .filterrow {display: grid; grid-template-columns: 100%; gap: 25px;}
  .gallery .filterrow #filter {flex-wrap: wrap;}
}

@media (max-width: 550px) {
  .gallery .video-gallery-grid {grid-template-columns: 100%!important;}
  .gallery .fresco-gallery {grid-template-columns: repeat(2, 1fr)!important;}
}

/* oEmbed */

.embed .respo-video{position: relative;height: 0;overflow: hidden;}
.embed .respo-video iframe {position: absolute; top: 0; left: 0; width: 100%;	height: 100%;}
.embed .respo-video ._brlbs-cb-youtube {margin-bottom: -56.25%;}

/* Accordion */

.accordion .item-accordion-head {cursor: pointer; position: relative; background: #f2f2f2; margin-bottom:10px; padding:10px 25px 10px 10px; border:1px solid #f2f2f2;}
.accordion .active .item-accordion-head {background-color:#f8f8f8}
.accordion .item-accordion-btn {width: 26px; height: 26px;float: right; margin: 0; cursor: pointer; position: absolute; right: 5px; top: 50%; transform: translateY(-50%);}
.accordion .item-accordion-btn:before {content: '-'; color: #555; position: absolute; width: 26px; height: 26px; text-align: center; line-height: 22px; font-size: 24px;}
.accordion .item-accordion {margin-bottom: 5px; }
.accordion .item-accordion.hidden .item-accordion-btn:before {content: '+'; line-height: 26px;}
.accordion .item-accordion.active .item-accordion-btn:before {content: '-'; line-height: 22px; }
.accordion .item-accordion.hidden.active .item-accordion-btn:before {content: '-'; line-height: 22px;}
.accordion .item-accordion.hidden .item-accordion-content {display: none;padding:20px 20px;background:#f8f8f8;margin-bottom:10px;}
.accordion .item-accordion.hidden .item-accordion-content:after {display:block;width: 0;height: 0;border-right: 100px solid #037CA9;border-top: 50px solid transparent;border-bottom: 50px solid transparent;}

/* ########## Blog + Sidebar ########## */

main.withsidebar .content .blog-grid {display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 50px; grid-row-gap: 50px;}
main.withsidebar .content .blog-grid .post {width: 100%;}
main.withsidebar .content .blog-grid .post img {width: 100%; height: auto; object-fit: cover;}

article.singlepost .post-image {}
article.singlepost .post-image img {width: 100%; height: auto; object-fit: cover;}

/* Sidebar */

main.withsidebar .sidebar {width: 100%; position: -webkit-sticky; position: sticky; top: 150px; padding: 0 0 0 25px; box-sizing: border-box;}
main.withsidebar .sidebar .sidebar-content .contact {margin-bottom: 50px;}
main.withsidebar .sidebar .sidebar-content ul li {list-style-type: none; background: var(--primary-color);margin-bottom: 9px;text-align: center;border-radius: 19px; text-transform: uppercase; margin-left: 0;}
main.withsidebar .sidebar .sidebar-content ul li a { color: #FFFFFF;  margin-left: 0; padding: 10px 0; display: block;transition: var(--transition);}
main.withsidebar .sidebar .sidebar-content ul li a:hover {scale: 1.05; transition: var(--transition);}
main.withsidebar .sidebar .sidebar-content ul li.current-menu-item {background: var(--secondary-color)}

@media (max-width: 1024px) {
    main.withsidebar .page-build .sidebar {display: none;}
}

@media (max-width: 768px) {
    main.withsidebar .content .blog-grid {grid-template-columns: repeat(2, 1fr);}
}

/* ########## Footer ########## */

.ansprechpartner .wrp {justify-content: space-between; gap: 20px;}
.ansprechpartner .ansprechpartner-card {box-shadow: var(--box-shadow); padding: 50px 28px; border-radius: 20px; position: relative; height: 200px;}
.ansprechpartner .ansprechpartner-card h3 {margin-bottom: 0;}
.ansprechpartner .ansprechpartner-card .ansprechpartner-content p:first-child {font-weight: 600; color: var(--secondary-color)}
.ansprechpartner .ansprechpartner-card .apcontact {position: absolute; bottom: 10%;}
.ansprechpartner .ansprechpartner-card .apcontact svg {height: 15px; width: 15px; margin-right: 10px;}

@media (max-width: 1350px) {
    .ansprechpartner .wrp {grid-template-columns: repeat(2, 1fr)!important;}
}

@media (max-width: 650px) {
    .ansprechpartner .wrp {grid-template-columns: 100% !important;}
}

.footerpartner ul {display: flex; }
.footerpartner ul li  {list-style-type: none;background: #f8f8f8;aspect-ratio: 2 / 1;max-height: 200px;border-radius: 20px; padding: 0 30px;}
.footerpartner ul li:first-child  {margin-left: 0;}
.footerpartner ul li svg {height: 100%; width:100%; object-fit: cover;}
.footerpartner ul li img { width:100%; object-fit: cover;}
.footerpartner ul li .img-wrp {height: 100px; width:100%; place-content: center;}

footer {position:relative;color: #ffffff; background: #687044; padding: 40px 0; overflow: hidden;}
footer:before {position: absolute; content: url("assets/icons/zahnrad.svg"); right: -90px; top: 50%; transform: translateY(-50%); width: 250px;}
footer a {color: #ffffff;}
footer .footergrid {display: grid; grid-template-columns: 359px auto; gap: 30px; justify-content:space-between; }
footer .footernav {display: flex;justify-content:space-between; gap: 80px;}
footer .oeffnungszeiten {align-content: flex-end; font-size: 20px; font-weight: 800;}
footer .footernav .bottom_nav li {list-style-type: none; margin-left: 0;}
footer .bottom_nav {display: grid; grid-template-columns: 1fr 1fr; justify-content: space-between; grid-column-gap: 80px;}
footer .logo {width: 300px;}

@media (max-width: 1000px) {
    footer .footernav {flex-direction: column; gap: 30px;}
    .footerpartner {display: none;}
}

@media (max-width: 730px) {
    footer .footergrid {grid-template-columns: auto;}
    footer .bottom_nav {grid-template-columns: auto;}
}

/* Bottom */
.bottom {background: var(--secondary-color);}
.bottom {color: #FFFFFF;}
.bottom a {color: #FFFFFF;}
.bottom a:hover {color: var(--primary-color);}
.bottom .wrp {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
.bottom .wrp ul.infonav {display: flex; margin-bottom: 0;}
.bottom .wrp .infonav li {list-style-type: none;}
.bottom .wrp .infonav li:first-child {margin-left: 0;}

/* 404 */

.error404 .stage {display: none;}
.pageerror {padding: 250px 0 100px 0; text-align: center;}

