/* **************************************************************************************** */
/*                                                                                          */
/*  ██████  ██████  ███████ ███████ ███    ██ ██████  ██ ██      ██       ██████  ██     ██ */
/* ██       ██   ██ ██      ██      ████   ██ ██   ██ ██ ██      ██      ██    ██ ██     ██ */
/* ██   ███ ██████  █████   █████   ██ ██  ██ ██████  ██ ██      ██      ██    ██ ██  █  ██ */
/* ██    ██ ██   ██ ██      ██      ██  ██ ██ ██      ██ ██      ██      ██    ██ ██ ███ ██ */
/*  ██████  ██   ██ ███████ ███████ ██   ████ ██      ██ ███████ ███████  ██████   ███ ███  */
/*                                                                                          */
/* **************************************************************************************** */
/*    © greenpillow seibold püls Solutions GbR, 2024 f.t. FADZ Zweckverband, Lichtenfels    */
/* **************************************************************************************** */

/* Fonts */
/*********/
@import 'fonts.css';

/* Variables */
/*************/
:root {
    --green-light: #aed46c;
    --green-solid: #73af21;
    --white: #ffffff;
    --grey: #575656;
    --grey-light: #f6f6f6;
}

/* Generic */
/***********/
body { font-family: 'Poppins'; hyphens: auto; overflow-x: hidden; }
p, .p { line-height: 1.75em; }
a, .a { text-decoration: none; }
h4, .h4 { line-height: 1.5em; }
header { position: fixed; top: 0; left: 0; right: 0; z-index: 5; box-shadow: 0px 0px 20px rgba(0,0,0,.4); }
footer, footer a { color: var(--white); }
body::-webkit-scrollbar { width: 8px; }
body::-webkit-scrollbar-track { background: var(--white); }
body::-webkit-scrollbar-thumb { background: var(--green-solid); }
body::-webkit-scrollbar-thumb:hover { background: var(--green-light); }
::selection { color: white; background: var(--green-solid); }
ol, ul { line-height: 1.75em; }
a { font-weight:700; color: var(--grey); text-decoration: none; transition: color .5s; }
a:hover { color: var(--green-solid); text-decoration: none; }
.bg-green ::selection { color: var(--green-solid); background: white; }
.border-20 { border-width: 20px !important; }
.bg-grey { background-color: var(--grey); }
.bg-greylight { background-color: var(--grey-light); }
.bg-green { background-color: var(--green-solid); }
.bg-gradient-green { background: rgb(186,210,95); background: linear-gradient(90deg, rgba(186, 210, 95, 1) 0%, rgb(135 181 10) 100%); }
.text-grey { color: var(--grey); }
.text-green { color: var(--green-solid); }
.border-green { border-color: var(--green-solid) !important; }
.bg-cover { background-size: cover !important; transition: background-size 0.5s ease; background-size: 100%; }
.bg-cover:hover { background-size: 110%; }
.rotate-10 { transform: rotate(-10deg); }
.max-content-width { width: max-content; }
.lt-spacing-05 { letter-spacing:0.05em; }
.custom-box { clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0% 100%); }
.border-before::after { content: ""; position: absolute; width: calc(100% - 3rem); height: 2px; left: 0; bottom: 3rem; background: #fff; z-index: -1; }
.border-before-2::after { content: ""; position: absolute; width: calc(100% - 3rem); height: 2px; left: 1.5rem; bottom: 3rem; background: var(--green-solid); z-index: -1; }
.border-before-3::after { content: ""; position: absolute; width: calc(100% - 3rem); height: 2px; right: 0; bottom: 3rem; background: #fff; z-index: -1; }
.border-before-4::after { content: ""; position: absolute; width: calc(100% - 3rem); height: 2px; right: 1.5rem; bottom: 3rem; background: var(--green-solid); z-index: -1; }
.carousel-control-next, .carousel-control-prev { opacity: 1; }
.carousel-control-next:hover, .carousel-control-prev:hover { opacity: 0.5; }
.carousel-control-next-icon, .carousel-control-prev-icon { width: 2.5rem; height: 2.5rem; }
.animated-btn:link, .animated-btn:visited { transition: all .5s; position: relative; }
.animated-btn:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4); background-color:var(--grey); }
.animated-btn:active { transform: translateY(-1px); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4); background-color:var(--grey); }
.animated-btn-2:link, .animated-btn-2:visited { transition: all .5s; position: relative; }
.animated-btn-2:hover { transform: translateY(-5px); }
.animated-btn-2:active { transform: translateY(-1px); }
.fade-in-left { opacity: 0; left: 200px; }
.fade-in-right { opacity: 0; left: -200px; }
#scrollToTopBtn { position: fixed; bottom: 16px; right: 62px; z-index: 99; border: none; outline: none; background-color: #ddd; color: black; cursor: pointer; padding: 10px; opacity: 0; visibility: hidden; transition: opacity 0.5s ease, visibility 0.5s ease; width: 40px; height: 38px;
}
#scrollToTopBtn:hover { background-color: #555; color: white; }
.min-height-400 { min-height:400px; }
.polypath-left { clip-path: polygon(0px 0, 100% 0, 100% 100%, 0% 100%); }
.polypath-right { clip-path: polygon(0 0, calc(100% - 0px) 0, 100% 100%, 0% 100%); }
.btn-primary { background-color: var(--green-solid); border: 1px solid var(--green-solid); }
.btn-primary:active, .btn-primary:hover { background-color: var(--grey); border: 1px solid var(--grey); }
.wpcf7-submit { background-color: var(--green-solid); border: 1px solid var(--green-solid); color:var(--white); padding: 5px 20px; }
.wpcf7-submit:active, .wpcf7-submit:hover { background-color: var(--grey); border: 1px solid var(--grey); }
.wpcf7-not-valid-tip { background-color: #8f4141; color: white !important; text-align: center; font-size: 12px !important; padding: 5px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output { border-color: #ffb900; text-align: center; font-weight: bold; padding: 10px; margin: 20px 0; color: #575656; }
.notice .border-primary { border:1px solid var(--green-solid) !important; }
.nolist { list-style:none; }

/* Specific */
/************/
nav, nav a { font-weight: 800; font-size: 0.85em; }
.offcanvas.offcanvas-bottom { height: min-content; max-height: 80vh; }
.overlay-hero { height: 200%; width: 200%; transform: scale(3) rotate(-20deg); background-color: #015730d1; right: -50px; bottom: 0; transform-origin: 90% 50%; }
.overlay-hero .custom-border { width: 2px; height: calc(200%); background: white; float: right; transform: scale(.333333); position: absolute; right: 0; top: -50%; transform-origin: center; }
.layout-1 a { color:var(--white); }
.text-white-hover:hover { background: var(--green-light); color: #fff !important; }
.chevron::after { content: ""; position: absolute; background-image: url(../img/chevron.svg); width: 10px; height: 16px; bottom: -25px; }
.chevron::before { content: ""; position: absolute; width: calc(100% - 70px); bottom: -18px; height: 1px; background-color: #fff; }
.layout-3 h2, .layout-4 h2, .layout-5 h2, .layout-8 h2, .layout-9 h2 { font-weight: 900; font-size: 2em; text-transform: uppercase; }
.layout-3 h3, .layout-4 h3, .layout-5 h3, .layout-8 h3, .layout-9 h3 { font-weight: 600; font-size: 1.25em; }
.heading { padding-left:50px; }
.heading::before { content: ""; position: absolute; width: 20px; height: calc(100% - 9px); left: 0; background: var(--green-solid); bottom: 0; }
.heading-white::before { background: var(--white); }
.carousel-grid { position: relative; }
.zoom-overlay { position: relative; overflow: hidden; width: 100%; padding-top: 100%;  cursor: pointer; }
.zoom-image { background-size: cover; transition: transform .5s ease;  width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; }
.zoom-overlay::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0);  transition: background-color .5s ease;  z-index: 2; }
.zoom-overlay:hover .zoom-image { transform: scale(1.1); }
.zoom-overlay:hover::before { background: rgba(0, 0, 0, 0.7); }
.inner-content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: center; text-align: center; z-index: 3; pointer-events: none; }
.zoom-text { color: white; opacity: 0; transition: opacity .5s ease; pointer-events: auto; }
.zoom-overlay:hover .zoom-text { opacity: 1; }
.carousel-control-next, .carousel-control-prev { width: max-content; }
.pswp-square { position: relative; width: 100%; }
.pswp-square::before { content: ""; display: block; padding-top: 100%; }
.pswp-square .pswp-anchor { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-size: cover; background-position: center; }
.pswp-square img { visibility: hidden; }
.zoom-overlay { position: relative; overflow: hidden; width: 100%; padding-top: 100%; cursor: pointer; }
.zoom-image { background-size: cover; transition: transform .5s ease; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; }
.zoom-overlay::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0); transition: background-color .5s ease; z-index: 2; }
.zoom-overlay:hover .zoom-image { transform: scale(1.1); }
.zoom-overlay:hover::before { background: rgba(0, 0, 0, 0.7); }
.pswp__caption { background: rgb(0 0 0 / 60%); font-size: 16px; color: #fff; width: max-content; max-width: 400px; padding: 2px 8px; border-radius: 4px; position: absolute; left: 50%; bottom: 25px; transform: translateX(-50%); text-align: center; }
.pswp__caption a { color: #fff; text-decoration: underline; }
.hidden-caption-content { display: none; }
.card { margin-bottom: 20px; }
.card-img-top { width: 100%; object-fit: cover; }
.btn-dwn-border { border-bottom: 1px solid var(--green-solid); }
#wp-admin-bar-wp-logo { display:none; }
#wp-admin-bar-themes { display:none; }
#wp-admin-bar-customize { display:none; }
#wp-admin-bar-comments { display:none; }
body.customize-support { padding-top:46px; }
body.customize-support header { top:46px; }
.logo_footer {max-width:300px;}
a.fadz-inline-button {display: inline-block; max-width: 33%; border-radius: 30px; border: 2px solid var(--green-solid); color: var(--green-solid); padding: 0 20px 0 20px;}
a.fadz-inline-button:not(:first-child) {margin-left: 30px;}
.form-row { margin: 20px 0 20px 0; }
.fadz-form input, .fadz-form textarea { border: 1px solid var(--green-solid); border-radius: 5px; padding: 15px; width: 100%; }
.fadz-form input[type="submit"] { background: var(--green-solid); color: #FFF; font-weight: bold; }
.accordion-button{ background: var(--green-solid) !important; color: #FFF !important;  }
label { font-weight:bold; color:var(--green-solid); }
.form-control { border-radius: 0; }
.form-control:focus { border-color: var(--green-solid); outline: 0; box-shadow: 0 0 0 0.25rem rgba(115,175,33,.25); }
.layout-3 ul {border-left:  2px solid var(--green-solid); padding: 10px 0 10px 20px; list-style-type: none; margin:  15px 0 15px 0;}
.layout-3 ul ul {border-left: none;}
.layout-3 ul li:before {content: ">"; color:  var(--green-solid); font-size: 18px; margin-right: 5px; font-weight: bold;}
.wpcf7-form input, .wpcf7-form textarea {border:  1px solid var(--green-solid); padding:  15px; border-left-width: 6px;}
button:focus, input:focus {box-shadow: 0 0 0 0.25rem rgba(115, 175, 33, 0.25) !important;}
footer .dropdown-menu { background-color: transparent !important; }
.copyright { transform-origin: top left; transform: translateY(100%) rotate(-90deg); box-sizing: border-box; position: absolute; left: 10px; bottom: 20px; text-transform: uppercase; font-size: 10px; text-shadow: 1px 1px 3px #000; opacity: 0.9; color: #fff; font-weight: 500; max-width: 300px; text-align: left; z-index: 1; height: 20px; }
.logowrapperhd { max-width: 265px; }

/* Media Queries */
/*****************/
@media (min-width: 576px) { 
    .layout-3 h2, .layout-4 h2, .layout-5 h2, .layout-8 h2, .layout-9 h2 { font-size: 3em; }
}
@media (min-width: 768px) { 
    .polypath-left { clip-path: polygon(50px 0, 100% 0, 100% 100%, 0% 100%); }
    .polypath-right { clip-path: polygon(0 0, calc(100% - 50px) 0, 100% 100%, 0% 100%); }
}
@media (min-width: 783px) { 
    body.customize-support { padding-top:32px; }
    body.customize-support header { top:32px; }
}
@media (min-width: 992px) { 
    .polypath-left { clip-path: polygon(100px 0, 100% 0, 100% 100%, 0% 100%); }
    .polypath-right { clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100%, 0% 100%); }
}
@media (min-width: 1200px) { 
    #scrollToTopBtn { position: fixed; bottom: 20px; right: 40px; z-index: 99; border: none; outline: none; background-color: #ddd; color: black; cursor: pointer; padding: 10px; border-radius: 5px; opacity: 0; visibility: hidden; transition: opacity 0.5s ease, visibility 0.5s ease; width: 45px; }
}
@media (min-width: 1400px) { 
}
