@charset "UTF-8";
/*
Theme Name: S+D Glasreinigung
Theme URI: https://www.glasreinigung-vulkaneifel.de/
Author: SIGN+DESIGN Werbeagentur
Author URI: https://www.signunddesign.com/
Description: Theme für Glasreinigung Klüßendorf (glasreinigung-vulkaneifel.de). Inhalte über ACF-Contentblöcke, Logik in /inc, Blöcke in /template-parts/blocks.
Version: 3.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: sd-glasreinigung
*/

/*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; ++ ########## */
/* source-sans-3-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: 'Source Sans 3';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/source-sans-3-v15-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-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: 'Source Sans 3';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/source-sans-3-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-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: 'Source Sans 3';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/source-sans-3-v15-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-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: 'Source Sans 3';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/source-sans-3-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ########## Variables ########## */

:root {
    --font-family: "Source Sans 3", sans-serif;
    --transition: .4s ease;
    --wrp-width: 1550px;
    --font-size: 16px;
    --line-height: calc(var(--font-size) * 1.8);
    --box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.2);
    --border-radius: 15px;
    --primary-color: #24a1d6;
    --secundary-color: #ffffff;
    --text-color: #3C3C3C;
}

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

html {scroll-behavior: smooth;}
@media (prefers-reduced-motion: reduce) {html {scroll-behavior: auto;} *, *:before, *:after {animation-duration: .01ms !important; transition-duration: .01ms !important;}}

/* Barrierefreiheit: Sprunglink und sichtbarer Tastaturfokus */
.skip-link {position: absolute; left: -9999px; top: 0; z-index: 100; padding: 12px 16px; background: var(--primary-color); color: #fff;}
.skip-link:focus {left: 0;}
a:focus-visible, button:focus-visible, summary:focus-visible {outline: 2px solid var(--primary-color) !important; outline-offset: 2px;}
body {font-size: var(--font-size); font-family: var(--font-family); line-height: var(--line-height); color: var(--text-color);background-color: #F2F2F2;}
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;}
.home.page .smallwrp {max-width: 1210px; width: 90%; margin: 0 auto; position:relative; box-sizing:border-box;}
.page .smallwrp {max-width: 1240px; width: 90%; margin: 0 auto; position:relative; box-sizing:border-box;}
.wpforms-submit-spinner {display:none!important}

/* 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; line-height: 80px;text-transform:uppercase}
h2{margin-bottom:var(--line-height); font-size:30px; font-weight: 600;color: var(--primary-color); line-height: 40px;}
h3{margin:0;font-size: 18px;font-weight: 800 ;color: white;line-height: var(--line-height);}

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

.btn {position:relative;padding: 12px 16px; background: var(--primary-color); display: inline-block;overflow: hidden;}
.btn:after {position:absolute;content: '';background: white;height: 155px;left: -75px;opacity: .2;top: -50px;transform: rotate(35deg);transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);width: 50px;}
.btn:hover:after {left: 120%;transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);}


p {margin-bottom: var(--line-height);}
address {font-style: normal; color: var(--text-color);}
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 .opensubnav {display: none;}
button.btn-mainnav-toggle {display: block;}
button.btn-mainnav-toggle, button.opensubnav {font: inherit; color: inherit; border: 0; padding: 0; margin: 0; background: none; -webkit-appearance: none; appearance: none;}
#mainnav ul.mainnav.desktop li {list-style-type: none; font-size: 20px; margin-left: 40px;}
#mainnav ul.mainnav.desktop li:first-child {margin-left:0;}
#mainnav ul.mainnav.desktop li a{display:block; font-size:20px;font-weight:600;color: var(--primary-color); transition: var(--transition);padding: 45px 0 5px 0;}
#mainnav ul.mainnav.desktop li a:hover, #mainnav ul > li.current-menu-item > a{color: var(--text-color); transition: var(--transition);}

/* Submenu */

@media (min-width: 1025px){

    #mainnav ul.mainnav.desktop {display: flex; align-items: center; margin: 0;}
    html.scrolled #mainnav ul.mainnav li a {padding:38px 0 5px 0; transition: var(--transition);}

    #mainnav ul.mainnav li.menu-item-has-children {position: relative;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu {position: absolute; top: 84px; left: 0; display: block; height: auto; max-height: 0; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li {width:200px; height: 100%; padding: 8px 0 8px 7px; 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; margin-top: -6px;}

    #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: 3px;}
    #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: 1024px) {

    .mainnav.desktop {display: none;}

    /* 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.active a:hover {color: var(--primary-color);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 .st0 {fill: none;}
    #mainnav .head .buttons a svg g path {stroke: var(--primary-color); stroke-width: 1.5}

    /* 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(--secundary-color);}
    #mainnav .opensubnav:after  {content: ''; transform: rotate(-45deg) translate(-50%, -50%); border: solid var(--secundary-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;background: var(--primary-color);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;background: var(--primary-color);box-shadow: 1px 2px 10px 0px rgba(0,0,0,0.3); 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;}
    .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;}

    @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; box-sizing: border-box; /*background-image: linear-gradient(to top, rgba(0,0,0,0.0 ), black 100%);*/ background: #fff; box-shadow: var(--box-shadow);}
header #mainnav ul li {color: white;}
header .header-grid {display: grid; grid-template-columns: 280px auto; grid-template-rows: auto; justify-items: start; align-items: center; justify-content: space-between;}
header .header-grid .logo {width: 80%; transition: var(--transition); padding: 20px 0; /*filter: drop-shadow(2px 2px 4px rgba(0,0,0, 0.5));*/}
html.scrolled header .header-grid .logo {width: 60%; transition: var(--transition);}
/*html.scrolled header .header-grid .logo #logo-blau .cls-2 {fill: white;transition: var(--transition);}
html.scrolled header .header-grid .logo #logo-blau .cls-1 {fill: white;transition: var(--transition);}*/
header .header-grid .logo a {display: flex; align-items: center;}
header .header-grid .logo img {display: block; width: 100%; height: auto;}
header .header-grid .mainnav-toggle {display: none;justify-self: end;}

@media ( max-width: 1024px) {

    header .header-grid .logo {padding: 30px 0;}
}


/* Kopfbereich Startseite / Unterseite  */

.stage {aspect-ratio: 3/1; width: 100%; min-height: 850px; position: relative;}
.stage .wrp {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2;height: 100%;}
.stage-content {z-index: 3;position: absolute;top: 50%;transform: translateY(-50%);}
.stage-content .st0 {fill: white;}
.stage img, .stage video {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.stage h1 {font-size: 50px; color: white;margin-bottom: 30px;}
.stage h1 strong {font-size: 65px; color: var(--primary-color);}
.stage p {color: white;margin-bottom: 0;text-transform:uppercase;}
.glass {position:absolute;width: 60%;height:100%;background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);top: 0;left: -80px;}
.stage .locations {display: flex; text-align: center;margin-bottom: 30px;gap: 10px;color:#fff;}
.stage .locations a{color:#fff;transition:var(--transition)}
.stage .locations a:hover{color:var(--primary-color);transition:var(--transition)}
.stage .locations svg {height: 30px;width: 30px;border-right: 1pt solid white;padding-right: 5px;}
.stage .locations span {color: white;}

.stage .btn {position:relative;color: white; border: 1pt solid white;display: flex; width: fit-content;gap: 30px;}
.stage .btn:before {content: '';position: absolute;background-color: white; width: 1pt; rotate: -25deg;top:-3px;left: 25%;height: 111%}
.stage .btn svg {color: white; fill: white;height: 23px;width: 23px;align-self: center;}

.stage.subpage {aspect-ratio: 3/.7; width: 100%; position: relative; min-height: 550px;}
.stage.subpage .stage-content {top: 60%;}
.stage.subpage .glass {width: 100%;height: 60%; top: 60%; transform: translateY(-50%); left: 0; padding: 30px;box-sizing:border-box;background: rgba(36, 161, 214, 0.5);}

.stage.subpage h1 {font-size: 40px; color: white;margin-bottom: 30px; line-height: 50px;}
.stage.subpage h1 strong {font-size: 50px; color: #fff;}

@media (max-width: 950px) {
    .stage {min-height: 600px;}
    .stage.frontpage .stage-content {top: 55%; left: 5%;}
    .stage .stage-content .locations {gap: 6px;}
    .stage h1 {font-size: 45px; margin-bottom: unset; line-height: 55px;margin-bottom:15px}
    .stage h1 strong {font-size: 55px;}
    .stage .glass {width: 100%; left:0px}
    .stage.frontpage .wrp {width: 100%;}
}

@media (max-width: 600px) {
    .stage.subpage h1 {font-size: 28px; line-height: 36px;margin-bottom:15px; text-transform: unset;}
    .stage.subpage h1 strong {font-size: 28px;}
}

/* ########## 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;}
.trennlinie {height: 1px;background-color: #3C3C3C; width: 100%; margin-top: 50px;}
.trennlinie:before {content:''; position:absolute; width: 45px;height:45px;background: url("assets/icons/logo_klein.svg") center center #F2F2F2;top:-25px; border-left:10px solid #F2F2F2;border-right:10px solid #F2F2F2; left: 50%;transform: translateX(-50%);}

/* Text Bild */

.textbild .smallwrp {display: grid; align-items: center; justify-content: space-between; box-sizing: border-box; background: white; border: 15px solid white;}
.textbild .text {border-radius: 5px 0 0 5px; box-sizing: border-box;padding: 10%;}
.textbild .text a{color:var(--primary-color);transition:var(--transition)}
.textbild .text a:hover{color:var(--text-color);transition:var(--transition)}
.textbild.ersttext .text {order: 1;}
.textbild.ersttext .bild {order: 2;}
.textbild.erstbild .text {order: 2;}
.textbild.erstbild .bild {order: 1;}
.textbild .bild {width: 100%; height: 100%;}
.textbild .bild img {width: 100%; height: 100%; object-fit: cover;}

@media (max-width: 768px) {
    .textbild .text {order: 1!important; padding: 5%;}
    .textbild .bild {order: 2!important;}
    .textbild .smallwrp {grid-template-columns: 100%!important;}
}


/* Text Text */

.texttext {position: relative;}
.texttext .texttext-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 30px; position: absolute;width: 100%; top: 50%;transform: translateY(-50%); height: 80%;}
.texttext .texttext-grid .txt1bild {background: url("assets/gebaeude_gewerbe.jpg");height: 100%;width: 100%;object-fit: cover;background-repeat: no-repeat;background-size: cover;}
.texttext .texttext-grid .txt2bild {background: url("assets/haus_privatkunden.jpg");height: 100%;width: 100%;object-fit: cover;background-repeat: no-repeat;background-size: cover;}

.texttext .smallwrp {display: grid; grid-template-columns: 1fr 1fr; gap: 10%; z-index: 2;}
.texttext .text1,.text2 {position:relative;background:rgba(0, 0, 0, 0.5); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(5px);padding: 45px;}
.texttext .text1:after {content: url("assets/icons/gewerbe.svg");position: absolute;bottom: 0; right: 2%; opacity: 20%;width:250px;z-index: -1;}
.texttext .text2:after {content: url("assets/icons/haus.svg");position: absolute;bottom: 0; right: 2%; opacity: 20%;width: 250px;z-index: -1;}
.texttext .smallwrp {color: white;}
.texttext .smallwrp h2 {color: white; font-weight: normal;}
.texttext .smallwrp .btn {color: white;}


@media (max-width: 1024px) {

    .texttext .smallwrp {display: block;}
    .texttext .smallwrp .text1 {margin-bottom: 50px;}
}

@media (max-width: 700px) {

    .texttext .smallwrp .text1 {padding: 50px;padding-left: 10%;}
    .texttext .smallwrp .text2 {padding: 50px;padding-left: 10%;}
    .content {overflow: hidden;}
    .texttext .texttext-grid {display: block;height: unset;transform: unset;position: unset;}
    .texttext .texttext-grid .txt1bild {height: 40%; top: 4%; position: absolute; right: 30%;}
    .texttext .texttext-grid .txt2bild {height: 40%; top: 56%; position: absolute; left: 30%;}
}


/* Kontaktbanner */

div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column input,
div.wpforms-container-full .wpforms-form textarea { background-color: #f2f2f2!important; border-radius: var(--border-radius)!important;}
div.wpforms-container-full .wpforms-form button {position:relative; max-width: 100%; border-radius: var(--border-radius)!important; overflow:hidden;background-color: var(--primary-color)!important;color: white!important;border: none!important;transition: .5s ease;}
div.wpforms-container-full .wpforms-form button:after {position:absolute; content: '';background: white;height: 155px;left: -75px;opacity: .2;top: -50px;transform: rotate(35deg);transition: all 1550ms cubic-bezier(0.19, 1, 0.22, 1);width: 50px;}
div.wpforms-container-full .wpforms-form button:hover:after {left: 120%;transition: all 1850ms cubic-bezier(0.19, 1, 0.22, 1)}


.contactbanner {position: relative; padding: 40px 0; color: var(--text-color); background: #e4e6eb; /*background-repeat: no-repeat;background-size: cover; background-position: center; background-image: url("assets/bild-glasreinigung.jpeg");*/}

.contactbanner .glass {width: 100%; left: 0; }

.contactbanner .contact-grid {display: grid;grid-template-columns: 45% 55%; position: relative}
/*.contactbanner .contact-grid:before {content:'';position: absolute;background-color: var(--primary-color);bottom: -15%;top: -15%;width: 170px; left: -170px;}*/
.contactbanner .text1 {padding-top: 50px;}
.contactbanner .text1 h2 { color:  var(--primary-color);font-weight: 700;}
.contactbanner .text1 h2 strong {}
.contactbanner .text2 {padding: 0; background: unset;backdrop-filter: unset; color:  var(--text-color); font-weight: 400; -webkit-backdrop-filter: unset;}


.contactbanner .text1 p {padding-right:70px;color:  var(--text-color); font-weight: 400;box-sizing:border-box}

@media (max-width: 1024px) {

    .contactbanner .contact-grid {grid-template-rows: auto auto;grid-template-columns: unset;}
    .contactbanner .contact-grid:before {display: none}
    .contactbanner .text1 h2,.contactbanner .text1 p {padding: unset;}

}

/* Teasercards */

.teasercards .cards.no-carousel {display: grid; grid-column-gap: 50px; grid-row-gap: 50px; margin: 0;}
.teasercards .cards.no-carousel li {list-style-type: none; margin: 0;}

.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 .teasercard-content {display: block;}
.teasercard-item .teasercard-content .btn {display: inline-block;}


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

@media (max-width: 500px) {
    .teasercards .cards.no-carousel {grid-template-columns: 100% !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 .gallery-grid:not(.masonry) {display: grid; gap: 20px; margin-bottom: 0;}
.gallery .gallery-grid li {list-style-type: none; margin: 0; border-radius: 5px;overflow: hidden;}
.gallery .gallery-grid li a {position: relative; display: block; overflow: hidden;}
.gallery .gallery-grid li a .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secundary-color); opacity: 0; transition: var(--transition);}
.gallery .gallery-grid li a:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .gallery-grid li a .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .gallery-grid li a .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .gallery-grid li a .overlay .icon-wrp svg path {fill: #fff;}
.gallery .gallery-grid li a:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .gallery-grid li img {width: 100%;}
.gallery .gallery-grid.masonry {gap: 20px; columns: 4; margin: 0 auto;}
.gallery .gallery-grid.masonry li {margin-bottom: 20px;}

.gallery .video-gallery-grid {display: grid; grid-column-gap: 20px; grid-row-gap: 20px;}
.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(--secundary-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 .gallery-grid {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 .gallery-grid {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 {margin-bottom: 5px;}
.accordion .item-accordion-head {display: block; list-style: none; cursor: pointer; position: relative; background: #f2f2f2; margin-bottom: 10px; padding: 10px 45px 10px 10px; border: 1px solid #f2f2f2;}
.accordion .item-accordion-head::-webkit-details-marker {display: none;}
.accordion .item-accordion[open] .item-accordion-head {background-color: #f8f8f8;}
.accordion .item-accordion-btn {width: 26px; height: 26px; 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: 26px; font-size: 24px;}
.accordion .item-accordion[open] .item-accordion-btn:before {content: '-'; line-height: 22px;}
.accordion .item-accordion-content {padding: 20px; background: #f8f8f8; margin-bottom: 10px;}

/* ########## 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; background: var(--primary-color); color:#fff;padding: 25px; box-sizing: border-box;}
main.withsidebar .sidebar .sidebar-contact address {color:#fff}
main.withsidebar .sidebar .sidebar-contact address a {color:#fff}

@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 ########## */

footer {background-color: #737373;}
.footerbanner {position: relative; padding: 70px 0; background-repeat: no-repeat;background-size: cover;background-image: url('assets/bild-glasreinigung.jpeg');background-position: center;}
.footerbanner span {width: 1px; background-color: white;height: 150%;}
.footerbanner svg {width: 30px;}
.footerbanner .st0 {fill: white;}

.footerbanner .glass {width: 100%; left: 0;top:50%;transform: translateY(-50%);height: 70%;     background: rgba(0, 0, 0, 0.5)}

.footerbanner .footerbanner-grid {display: grid;grid-template-columns: 1fr auto 1fr;;position: relative; padding: 30px 0; align-items: center;max-width: 1240px;margin: 0 auto;}
.footerbanner .smallwrp {max-width:1550px;}
/*.footerbanner .smallwrp:before {content:'';position: absolute;background-color: var(--primary-color);height: 170%;width: 170px; left: 0;top:-50px;}*/
.footerbanner .text1 {}
.footerbanner .footertxt {padding-left: 20%;}
.footerbanner .text1 h2 {color: white;font-weight: 700;margin-bottom: unset;}
.footerbanner .text1 h2 strong {color: var(--primary-color);}
.footerbanner .footertxt {color: white; font-weight: 400;}
.footerbanner .footertxt a {color: white; font-weight: 400; font-size: 18px; }
.footerbanner .mail,.tel{display: flex;gap:2%; align-items: center;}
.footerbanner .mail {margin-bottom: 20px;}


footer .wrp {padding:50px 0;color: white;}
footer .footernav ul li {list-style-type: none; margin-bottom: 0px; margin-left: unset;}
footer .footernav ul li a {list-style-type: none; color: white;}
footer .footernav .bottom_nav svg {height: 25px;width: auto;margin-right: 15px;}
footer address a {width: 200px;}
footer address {color: white}
footer .adress img {width: 200px;height: auto;margin-bottom: 10px;}
footer .adress {fill: white}
.footergrid {display: grid;grid-template-columns: 20% 15% auto auto;gap:40px;justify-content: space-between;align-items: top;}
.footergrid img {justify-self: end;}


/* Bottom */

.bottom {background-color: var(--primary-color);color: white;}
.bottom a {color: white;}
.bottom .wrp {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
.bottom .copyright {font-size: 12px;}

/* 404 */

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

@media (max-width: 1500px) {
	.footerbanner .footerbanner-grid {max-width: 1000px;}
}
@media (max-width: 1250px) {
	
	.footerbanner .smallwrp:before {width: 70px;}
}
@media (max-width: 1100px) {
	
	.footerbanner .smallwrp:before {display:none}
}
@media (max-width: 1024px) {
	.footerbanner .footerbanner-grid {padding: 30px 0px;}
    .footerbanner .footerbanner-grid:before {display: none;}
    .footerbanner .footerbanner-grid .text1 {padding-left: unset;}
	.footergrid {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 20px;}
	.footergrid .footernav {position: absolute;right: 0;bottom:0}
	footer .footernav ul li {display:none;}
}

@media (max-width: 1000px) {
	.footerbanner .footerbanner-grid {grid-template-columns: unset;grid-template-rows: 1fr auto 1fr}
    .footerbanner .footerbanner-grid span {height: 1px; width: 100%; margin: 20px 0;}
    .footerbanner .footerbanner-grid .footertxt {padding-left: unset;}
}
@media (max-width: 800px) {
	.footerbanner .footerbanner-grid {grid-template-columns: unset;grid-template-rows: 1fr auto 1fr}
    .footerbanner .footerbanner-grid span {height: 1px; width: 100%; margin: 20px 0;}
    .footerbanner .footerbanner-grid .footertxt {padding-left: unset;}
.footergrid {display: grid;grid-template-columns: 1fr 1fr;gap: 20px;}
}
@media (max-width: 700px){
    footer .footergrid {grid-template-columns: 1fr; gap: 35px;}
    footer .footergrid .footernav .bottom_nav {margin-bottom: 0;}
    .footer .footertext p {margin-bottom: 0;}
    footer .footergrid img {justify-self: unset; }
    footer .adress img {margin-bottom: unset;}
}
@media (max-width: 600px) {
	.stage.subpage {min-height:400px;}
	.stage h1 {font-size: 35px; margin-bottom: unset; line-height: 45px;margin-bottom:10px}
    .stage h1 strong {font-size: 45px;}
	.stage.subpage .glass {top:65%}
	.stage.subpage .stage-content {top: 64%;}
.footergrid .footernav {position: absolute;right: 0;bottom:inherit;top:20px}
}
@media (max-width: 550px) {
	.stage.subpage {min-height:400px;}
	.stage h1 {font-size: 28px; margin-bottom: unset; line-height: 40px;margin-bottom:10px}
    .stage h1 strong {font-size: 38px;}
	.stage.subpage .glass {top:65%}
	.stage.subpage .stage-content {top: 64%;}
}
@media (max-width: 450px) {
	.stage.subpage {min-height:400px;}
	.stage h1 {font-size: 25px; margin-bottom: unset; line-height: 38px;margin-bottom:10px}
    .stage h1 strong {font-size: 35px;}
	.stage.subpage .glass {top:65%}
	.stage.subpage .stage-content {top: 64%;}
}
/* ########## Ergänzungen ########## */

.gallery .gallery-grid:not(.masonry) li img {aspect-ratio: 1; height: auto; object-fit: cover; display: block;}
.gallery .video-gallery-grid .video-gallery-item {background: #ddd;}
.pageerror h1 {margin-bottom: var(--line-height); font-size: 30px; font-weight: 600; color: var(--primary-color); line-height: 40px; text-transform: none;}
