/*
Theme Name: IBC Roof
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
*/@charset "UTF-8";

/*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; ++ ########## */

/* quicksand-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: 'Quicksand';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/quicksand-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* quicksand-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: 'Quicksand';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/quicksand-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/open-sans-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('assets/fonts/open-sans-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/open-sans-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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

* {
    --font-family: "Open Sans", sans-serif;
    --font-family-hl: "Quicksand", 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: #EB6501;
    --secundary-color: #6F3208;
    --text-color: #161615;
    --gradient: linear-gradient(218deg, rgba(245,245,245,1) 0%, rgba(255,245,237,1) 100%);
}

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

html {scroll-behavior: smooth;}
body {font-size: var(--font-size); font-family: var(--font-family); 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;}
.mb25 {margin-bottom: 25px;}

@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, h2, h3, h4, h5, h6 {font-family: var(--font-family-hl); font-weight: 700;}
h1, h2 {font-size: 45px; margin: 0 0 25px 0; line-height: 45px;}
h3, h4 {font-size: 20px; margin: 0 0 25px 0;}

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

.btn {padding: 18px 26px; background: var(--primary-color); display: inline-block; font-family: var(--font-family-hl); color: #fff; font-weight: 700; font-size: 18px; transition: var(--transition); cursor: pointer;}
.btn:hover {background: var(--secundary-color); color: #fff; transition: var(--transition); cursor: pointer;}

p {margin-bottom: var(--line-height);}
p:last-child {margin-bottom: 0;}
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 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; color: var(--text-color); transition: var(--transition); padding: 30px 0; text-transform: uppercase; font-weight: 700; font-size: 18px;}
#mainnav ul.mainnav.desktop li a:hover, #mainnav ul > li.current-menu-item > a{color: var(--primary-color); transition: var(--transition);}

#mainnav ul.mainnav.desktop li.nav-icon .icon-wrp {display: block; width: 25px; height: 25px;}

/* Submenu */

@media (min-width: 1361px){

    #mainnav ul.mainnav.desktop {display: flex; align-items: center; margin: 0;}
    html.scrolled #mainnav ul.mainnav li a {padding: 15px 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,
    .respo-shop-icon {display: none;}
}

@media (max-width: 1360px) {

    .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); height: 100vh;}
    #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;}

    .respo-shop-icon {list-style-type: none; position: absolute!important; right: 75px; top: 25px;}
    .respo-shop-icon.log-in {right: 125px;}
    .respo-shop-icon .icon-wrp {width: 25px; display: block; height: auto;}

    /* 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:not(.title) {position: fixed; top: 0; width: 100%; z-index: 101; padding: 15px 0; box-sizing: border-box; background: #fff; background: rgba(255,255,255,.75); backdrop-filter: blur(10px);}
header .header-grid {display: grid; grid-template-columns: 200px auto; grid-template-rows: auto; justify-items: start; align-items: center; justify-content: space-between;}
header .header-grid .logo {width: 100%;}
header .header-grid .logo a {display: flex; align-items: center;}
header .header-grid .mainnav-toggle {display: none;justify-self: end;}
header .wrp {max-width: 1620px;}

.shopping-bag {position: relative;}
.shopping-bag .count {position: absolute; transition: var(--transition); top: 15px; right: -15px; width: 20px; height: 20px; line-height: 20px; border-radius: 50%; color: #fff; text-align: center; font-size: 12px; font-weight: bold; display: none; background: var(--primary-color);}
.shopping-bag .count.show {display: block;}

.scrolled .shopping-bag .count {top: 0; transition: var(--transition);}

/* Kopfbereich Startseite / Unterseite  */

.stage {width: 100%; position: relative; margin-top: 118px;}
.stage img {width: 100%; height: 100%; object-fit: cover; object-position: center;}
.stage .stagevideo {width: 100%; aspect-ratio: 3/1; object-fit: cover;}
.stage .stage-content {display: grid; grid-template-columns: 2fr 1fr; font-size: 20px; align-items: center; margin-bottom: 25px;}
.stage .stage-content ul li {list-style-type: none; position: relative; padding-left: 30px; margin: 0 0 15px 0; font-size: 18px;}
.stage .stage-content ul li:before {width: 25px; height: 25px; content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: url("assets/icons/check.svg"); background-size: contain;}

.stage .usp {display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between;}
.stage .usp .usp-item {display: flex; align-items: center; gap: 15px; font-weight: 700;}
.stage .usp .usp-item svg {width: 35px; height: 35px;}

.stage.subpage {width: 100%; height: 135px; line-height: 135px; position: relative; background: var(--gradient); min-height: unset;}
.stage.subpage h1 {line-height: unset;}

.introblock {padding: 75px 75px 25px 75px; background: var(--gradient); transform: translateX(-50%); margin-left: 50%; margin-top: -150px; z-index: 2; width: calc(var(--wrp-width) + 100px); max-width: 100%;}

@media (max-width: 1350px) {
    .introblock {transform: none; margin-left: 0; width: 100%; box-sizing: border-box; margin-top: -25px; padding: 75px 0 25px 0;}
}

@media (max-width: 768px) {
    .stage .stage-content {grid-template-columns: 100%; gap: 20px;}
}

@media (max-width: 660px) {
    .stage .usp {grid-template-columns: 100%; gap: 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 .wrp {display: grid; align-items: center; justify-content: space-between; box-sizing: border-box; background: #fff;}
.textbild .text {border-radius: 5px 0 0 5px; box-sizing: border-box;}
.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;}
    .textbild .bild {order: 2!important;}
    .textbild .wrp {grid-template-columns: 100%!important; gap: 50px;}
}

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

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

@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 .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;}
.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(--secundary-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(--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 .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;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;}
.embed .respo-video iframe {position: absolute; top: 0; left: 0; width: 100%;	height: 100%;}
.embed .respo-video ._brlbs-cb-youtube {margin-bottom: -56.25%;}

/* USP */

.usp .usp-grid {display: grid; grid-template-columns: repeat(3,1fr); gap: 50px;}
.usp .usp-grid .usp-item {background: #F7F7F7; padding: 25px 10px 25px 30px;}
.usp .usp-grid .usp-item svg {width: 40px; height: 40px; margin-bottom: 20px;}

@media (max-width: 1024px) {
    .usp .usp-grid {grid-template-columns: repeat(2,1fr);}
}

@media (max-width: 700px) {
    .usp .usp-grid {grid-template-columns: 1fr;}
}

/* Kontaktbanner */

.contactbanner {width: calc(var(--wrp-width) + 100px); max-width: 100%; background: var(--gradient); padding: 75px; margin-left: auto; margin-right: auto;}
.contactbanner .contact-banner-grid {display: grid; grid-template-columns: 45% 50%; justify-content: space-between; align-items: flex-end;}
.contactbanner .contact-banner-grid h2 {font-size: 30px;}
.contactbanner .contact-banner-grid .contactdata {display: flex; justify-content: space-between;}
.contactbanner .contact-banner-grid .contactdata span {display: block; font-size: 14px;}
.contactbanner .contact-banner-grid .contactdata a {font-size: 25px; font-family: var(--font-family-hl); font-weight: 700;}

@media (max-width: 1490px) {
    .contactbanner {width: 100%; padding: 75px 0; }
}

@media (max-width: 1090px) {
    .contactbanner {width: 100%; padding: 75px 0;}
    .contactbanner .contact-banner-grid {grid-template-columns: 100%; gap: 50px;}
    .contactbanner .contact-banner-grid .contactdata {justify-content: flex-start; gap: 50px;}
}

@media (max-width: 590px) {
    .contactbanner .contact-banner-grid .contactdata {display: block;}
    .contactbanner .contact-banner-grid .contactdata span:first-child {margin-bottom: 20px;}
}

/* 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; background: #f5f5f5; padding: 25px; box-sizing: border-box;}

.sidebar-nav ul li.price-toggle-menu-item {display: none;}

@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);}
}

#partnerliste {margin-bottom: 100px;}
#partnerland, #partnerplz {display: block;width: 100%;outline: none;border: none;height: 50px;padding: 10px;}
.filteritem {margin-bottom: 25px;}
.partnerbox {background: #f5f5f5;padding: 25px;display: grid;grid-template-columns: 1fr 1fr; margin-bottom: 25px;}
.partnerbox .rechts .telefon {display: block; margin-bottom: 20px;}
.partnerbox .rechts .partner-contact-icon {display: inline-block; width: 25px; height: 25px; margin-right: 15px;}
.partnerbox .rechts .partner-contact-icon img {width: 100%;}

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

footer {background: #989898; padding: 75px; width: calc(var(--wrp-width) + 100px); margin-right: auto; margin-left: auto;}
footer .footer-grid {display: grid; grid-template-columns: 25% auto auto; justify-content: space-between; align-items: start; margin-bottom: 50px;}
footer .footer-grid .logo svg path {fill: #fff;}
footer .footer-grid .contact, footer .footer-grid address {color: #fff; font-size: 18px; font-weight: 500;}
footer .footer-grid .contact > span {display: block;}
footer .footer-grid .contact  span .dist {width: 65px; display: inline-block;}

footer .bottom_nav li {list-style-type: none;}
footer .bottom_nav li a {color: #fff; font-size: 18px;}

footer .social-icons {display: flex; gap: 25px;}
footer .social-icons .social-icons-item .icon-wrp {width: 30px;height: 30px;display: block;background: #fff;padding: 15px;border-radius: 50%;}
footer .social-icons .social-icons-item .icon-wrp svg {width: 100%;}
footer .social-icons .social-icons-item .icon-wrp svg path {fill: var(--secundary-color);}

@media (max-width: 1490px) {
    footer {width: 100%; box-sizing: border-box; padding: 75px 0;}
}

@media (max-width: 950px) {
    footer .footer-grid .logo {width: 200px;}
    footer .footer-grid {grid-template-columns: 100%; gap: 50px;}
    footer .bottom_nav li {margin: 0;}
}

/* Bottom */

.bottom .wrp {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
.bottom .wrp .copyright {height: 50px; line-height: 50px; font-size: 14px;}

/* 404 */

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


/* Produkt Single */

.single-product main.withsidebar {margin-top: 250px;}
.single-product main.withsidebar .page-build {grid-template-columns: 100%;}
.single-product .sku {font-size: 14px;}

.produkt-single {margin-top: 0;}
.produkt-single .content {padding-top: 50px;}
.produkt-single aside.sidebar {display: none;}

.product-grid {display: grid; grid-template-columns: 50% 40%; justify-content: space-between; align-items: flex-start;}
.product-grid .product-images {width: 100%; overflow: hidden; position: sticky; top: 150px;}
.product-grid .product-images .woocommerce-product-gallery {width: 100%!important; box-sizing: border-box; overflow: hidden; background: #f5f5f5!important; padding: 50px!important;}
.product-grid .produktbilder {display: grid; grid-template-columns: repeat(5,1fr); grid-column-gap: 1.5em; grid-row-gap: 1.5em; width: 100%;}
.product-grid .produktbilder > div {border-radius: 5px; overflow: hidden;}

.buttonleiste {width: 100%;}

.product-grid .product-details p.price {font-size: 30px!important; color: var(--text-color)!important; font-weight: 700!important;}
.product-grid .product-details .cart {display: flex; position: relative;}
.product-grid .product-details .cart button.btn {border: none; font-size: 16px; padding: 13.5px 30px; width: 100%; margin-bottom: 0!important;}
.product-grid .product-details .cart .quantity {float: none;}
.woocommerce .quantity .qty {width: 100%!important; height: 100%; box-sizing: border-box; border: 2px solid var(--primary-color); border-radius: var(--border-radius); padding: 5px; font-size: 18px; font-weight: 700;}
.cart-qty {display: grid; grid-template-columns: 75px auto; gap: 20px;}

.product-grid .product-details .woocommerce-Price-amount.amount {font-family: var(--font-family-hl); color: var(--primary-color); font-size: 45px;}

.product-grid .stock.in-stock {display: none;}

.product-header {padding: 10px 0; background: var(--secundary-color); width: 100%; border-radius: 0 0 15px 15px; position: fixed; top: 118px; transform: translateY(-100%); transition: var(--transition); z-index: 20;}
.product-header .product-header-grid {display: grid; grid-template-columns: repeat(2,auto); justify-content: space-between;}
.product-header .product-header-grid .product-header-info {display: flex; align-items: center; gap: 20px;}
.product-header .product-header-grid .product-header-info h3 {margin: 0; font-size: 18px; line-height: 18px;}
.product-header .product-header-grid .product-header-info span {font-size: 18px; line-height: 18px; margin-right: 0; font-weight: 700;}
.product-header .product-header-grid .product-header-info p {font-size: 24px; line-height: 24px; margin: 0; margin-right: 25px;}
.product-header .product-header-grid .product-header-info .info {font-size: 12px; line-height: 14px;}

.product-header .product-header-grid .product-header-cart {display: flex; align-items: center; justify-content: flex-end;}
.product-header .product-header-grid .product-header-cart .btn.respo {display: none;}
.product-header .product-header-grid .product-header-cart .btn.desktop {display: block;}

html.scrolled .product-header {transform: translateY(0); transition: var(--transition);}

.woocommerce-message {border-top-color: var(--primary-color)!important;}
.wc-forward {transition: var(--transition)!important;}
.wc-forward:hover {background: var(--primary-color)!important; color: #fff!important; transition: var(--transition)!important;}
.woocommerce-message::before {color: var(--primary-color)!important;}

@media (max-width: 1024px) {
    .single-product main.withsidebar {margin-top: 200px;}
}

@media (max-width: 750px) {
    .product-grid {grid-template-columns: 100%; gap: 50px;}
    .product-grid .product-details {order: 1!important;}
    .product-grid .product-images {position: relative; top: 0; order: 2!important;}
    .single-product main.withsidebar {margin-top: 150px;}
}

/* Produkte */

.product .product_title, .up-sells.upsells.products.headline h2:not(.woocommerce-loop-product__title) {font-size: 30px!important; line-height: 40px!important; margin-bottom: 20px!important;}
.product .woocommerce-price-suffix {font-size: 16px!important; line-height: 26px!important; font-family: var(--font-family-hl)!important;}
.woocommerce div.product div.images {margin-bottom: 1.5em!important;}
.produkt {scroll-margin-top: 150px;}

.termin-head-grid {display: grid;grid-template-columns: auto 25%;grid-column-gap: 50px;padding-bottom: 20px; align-items: flex-start;}
.adisabled {pointer-events:none; opacity: 0.6;}
.woocommerce p a {text-decoration: underline; color: var(--primary-color);}
.woocommerce-cart table.cart td.actions .coupon .input-text {padding: 9px 6px 9px!important; width: 250px!important;}

.woocommerce-MyAccount-navigation li {list-style-type: none; margin: 0 0 10px 0;}
.woocommerce-MyAccount-navigation li a {background: var(--primary-color); display: block; padding: 8px 0 8px 12px; transition: var(--transition); color: #fff; transition: var(--transition); font-weight: 600;}
.woocommerce-MyAccount-navigation li a:hover {background: var(--secundary-color); color: #fff; transition: var(--transition);}

.terminsidebar {position: sticky; top: 180px;}
.terminsidebar label {font-size: 18px; line-height: 28px; margin-bottom: 15px; display: block;}
.terminsidebar select {width: 100%; border: none; border-radius: 3px; padding: 8px 4px; margin-bottom: 25px; background: var(--secundary-color); color: var(--primary-color);}
.terminsidebar .btn {width: 100%; display: block; box-sizing: border-box; text-align: center;}

.sidebar-product-info {text-align: right; margin-bottom: 25px;}
.sidebar-product-info #variantendaten {font-size: 12px;}

.sidebar .sidebar-product-info {color: #fff;}
.sidebar .terminsidebar label {color: #fff; font-weight: 700;}


.woocommerce-info {border-top-color: var(--primary-color)!important; background: var(--secundary-color)!important;}
.woocommerce-info .showcoupon:hover {color: #fff!important;}

.woocommerce form .form-row input,
.woocommerce-checkout input:not(.price-toggle-compact-btn),
.woocommerce-checkout select {width: 100%!important; border: 1px solid var(--secundary-color)!important; background: #fff!important;padding: 8px 14px!important; font-size: 16px!important; border-radius: 3px!important;}

.select2-container--default .select2-selection--single {border: 1px solid var(--secundary-color)!important; padding: 8px 14px; height: unset!important;}

.book-seminar-cta {position: fixed; z-index: 10; bottom: 5%; left: 50%; transform: translateX(-50%); background: var(--secundary-color); color: var(--primary-color); transition: var(--transition);}
.book-seminar-cta:hover {position: fixed; z-index: 10; bottom: 5%; left: 50%; transform: translateX(-50%); background: var(--primary-color); color: var(--secundary-color); transition: var(--transition);}

.woocommerce .col2-set, .woocommerce-page .col2-set {margin-bottom: 50px;}
.select2-results__option[aria-selected], .select2-results__option[data-selected] {margin-left: 0!important;}

@media (max-width: 1024px) {

    .termin-head-grid {grid-template-columns: 100%; gap: 50px;}
    .book-seminar-cta {display: none;}
    .produkt.mb {margin-bottom: 50px;}

    .product-header {top: 75px;}
    .produkt-single {/*margin-top: 118px;*/}
    .product-header .product-header-grid {grid-template-columns: auto 150px;}
    .product-header .product-header-grid .product-header-cart .btn {font-size: 12px; min-width: unset; box-sizing: border-box; width: 100%; padding: 10px;}
    .product-grid .produktbilder { grid-template-columns: repeat(4,1fr); }
    .product-grid .produktbilder > div {border-radius: var(--border-radius); overflow: hidden;}
    .woocommerce img, .woocommerce-page img {max-width: unset;}

}

@media (max-width: 900px) {
    .product-header .product-header-grid .product-header-info h3 {font-size: 16px; line-height: 16px; margin-right: 15px;}
    .product-header .product-header-grid .product-header-info span {font-size: 16px; line-height: 16px;}
    .product-header .product-header-grid .product-header-info p {font-size: 16px; line-height: 16px; margin-right: 15px;}
}

@media (max-width: 850px) {
    .product-grid .product-details {order: 2;}
    .respo-title {display: block;}
    .product-grid .respo-title h1.product_title.entry-title {font-size: 30px!important; line-height: 35px!important; margin: 0;}
}

@media (max-width: 630px) {
    .woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {width: 100%!important;}

    .product-header .product-header-grid {grid-template-columns: auto auto;}
    .product-header .product-header-grid .product-header-cart .btn.desktop {display: none!important;}
    .product-header .product-header-grid .product-header-cart .btn.respo {display: grid; width: 35px; height: 35px; padding: 0!important; place-items: center;}
    .product-header .product-header-grid .product-header-cart .btn.respo span {display: grid; place-items: center; width: 20px; height: 20px;}
    .product-header .product-header-grid .product-header-cart .btn.respo span svg {width: 100%; height: 100%;}
    .product-header .product-header-grid .product-header-cart .btn.respo span svg path,
    .product-header .product-header-grid .product-header-cart .btn.respo span svg rect {stroke: #fff;}
}

@media (max-width: 500px) {
    .produkt-single .content {padding-top: 50px;}
    .product-grid .product-details h1.product_title.entry-title {font-size: 35px!important; line-height: 35px; }
    .product-header {display: none;}
}

/* Checkout */

.woocommerce-multistep-checkout ul.nav-wizard li.active a, .woocommerce-multistep-checkout ul.nav-wizard li a {color: var(--primary-color)!important;}
.woocommerce-multistep-checkout ul.nav-wizard li a::before,
.woocommerce-multistep-checkout ul.nav-wizard li a:before {background: var(--primary-color)!important;}
.woocommerce-multistep-checkout ul.nav-wizard li.active a::before {border-color: var(--secundary-color)!important;}

.woocommerce-checkout-review-order .edit {color: var(--primary-color)!important; margin-top: 20px; display: inline-block; font-size: 14px!important;}
.woocommerce input#legal {width: unset!important;}

table.woocommerce-checkout-review-order-table tr.wc-gzd-cart-item-has-thumbnail .wc-gzd-cart-item-name-wrapper .wc-gzd-cart-item-thumbnail {max-width: 8%!important; min-width: 45px!important; border-radius: 10px!important; overflow: hidden!important;}

#place_order {padding: 25px 45px; background: var(--primary-color)!important;}
.validate-required.checkbox-legal {background: #f5f5f5!important; padding: 10px 15px!important; border-radius: 10px!important; margin-bottom: 15px!important; display: block!important;}

.woocommerce-multistep-checkout ul.nav-wizard {background: #f5f5f5!important; padding: 25px 0!important;}
.woocommerce-multistep-checkout ul.nav-wizard li.active a:before {background: var(--primary-color)!important;}
.woocommerce-multistep-checkout ul.nav-wizard li a::before {background: #3a87ad!important;}

.page-id-1625 main {margin-top: 250px;}

.shop_table.woocommerce-checkout-review-order-table tfoot {background: #f5f5f5!important;}

.woocommerce-cart-form__cart-item .product-thumbnail {width: 80px!important;}
.woocommerce-cart-form__cart-item .product-thumbnail img {width: 100%!important;}
.woocommerce-cart-form__cart-item .wc-gzd-cart-info.delivery-time-info {font-size: 12px!important; margin-bottom: 0!important;}
.woocommerce-cart-form__cart-item .product-name {font-weight: 600!important;}

.woocommerce-cart .woocommerce .quantity .qty {border: none!important;background: var(--primary-color)!important;border-radius: var(--border-radius)!important;padding: 10px!important; color: #fff; width: 100px!important;}

.awdr_cart_strikeout_line del {margin-right: 15px;}
.awdr_cart_strikeout_line bdi {text-transform: none!important;}

.cart-collaterals .checkout-button,
.woocommerce-checkout .next-step-button {background: var(--primary-color)!important;}

.woocommerce-form__label-for-checkbox {display: flex!important; gap: 15px!important;}
.woocommerce-form__label-for-checkbox input {flex-basis: 20px!important;}
.prev-step-button {background: #f5f5f5!important; padding: .618em 1em!important; font-weight: 700!important;}

#add_payment_method .checkout .col-2 h3#ship-to-different-address, .woocommerce-cart .checkout .col-2 h3#ship-to-different-address, .woocommerce-checkout .checkout .col-2 h3#ship-to-different-address {float: none!important;}

.woocommerce-multistep-checkout .step-buttons {clear: none!important;}
.place-order {float: right!important;}
.woocommerce-gzdp-multistep-privacy-policy-checkbox-text {line-height: 24px!important;}

.woocommerce ul#shipping_method li {margin: 0!important;}

.woocommerce-multistep-checkout form.checkout #order_review h3#order_review_heading {font-size: 30px!important; margin-bottom: 35px!important;}

/* Produkt Teaser */

.woocommerce-loop-product__link .imgwrp {background: #E0E0E0; display: block;}
.woocommerce ul.products li.product a img {margin: 0!important;}
.product-item-info-wrp {background: var(--gradient)!important; padding: 25px 40px 20px 40px;}
.product-item-info-wrp h2 {font-size: 20px!important; line-height: 30px!important; margin-bottom: 25px!important; font-family: var(--font-family-hl)!important; min-height: 70px!important;}
.product-item-info-wrp .woocommerce-Price-amount {font-size: 29px!important; font-family: var(--font-family-hl)!important; color: var(--primary-color)!important; font-weight: 700;}
.woocommerce ul.products li.product .price {margin-bottom: 20px!important;}
.product-item-info-wrp .shipping-costs-info, .product-item-info-wrp .delivery-time-info, .product-item-info-wrp .add_to_cart_button {display: none!important;}
.product-item-info-wrp .btn {width: 100%; text-align: center; box-sizing: border-box; padding: 15px 26px;}

@media (max-width: 500px) {
}

/* Bulk Discount Table */

#sort_customizable_table {width: 100%; margin-bottom: 50px;}
#sort_customizable_table .wdr_bulk_table_td {text-align: left; background: #f5f5f5; padding: 3px 12px;}
#sort_customizable_table .woocommerce-Price-amount {font-size: 16px!important; font-family: var(--font-family)!important;}


/* WooCommerce Umschalter */
.ibc-price-toggle-wrapper {padding: 10px;background: #f5f5f5;border-radius: 4px;}
.ibc-price-toggle-btn {padding: 8px 16px;margin: 0 5px;border: 1px solid #ddd;background: #fff;cursor: pointer;border-radius: 3px;transition: all 0.3s ease;}
.ibc-price-toggle-btn:hover {background: #f0f0f0;}
.ibc-price-toggle-btn.active {background: #0073aa;color: #fff;border-color: #0073aa;}

/* Header Umschalter - Kompakter Toggle */

.price-toggle {display: flex;}

.price-mode-text {font-size: 14px;text-transform: uppercase; margin-left: 15px; font-weight: 700;}
.price-toggle-menu-item input[type=checkbox]{height: 0;width: 0;visibility: hidden;}
.price-toggle-menu-item label {cursor: pointer;text-indent: -9999px;width: 50px;height: 30px;background: grey;display: block;border-radius: 100px;position: relative;}
.price-toggle-menu-item label:after {content: '';position: absolute;top: 5px;left: 5px;width: 20px;height: 20px;background: #fff;border-radius: 90px;transition: 0.3s;}
.price-toggle-menu-item input:checked + label {background: var(--primary-color);}
.price-toggle-menu-item input:checked + label:after {left: calc(100% - 5px);transform: translateX(-100%);}
.price-toggle-menu-item label:active:after {width: 35px;}

/* Responsive: In Mobile-Navigation */
@media (max-width: 768px) {
    .price-toggle-menu-item {
        margin: 10px 0;
    }
    .price-toggle-compact-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Versandkostenrechner im Warenkorb */
.ibc-shipping-calculator {background: #f8f8f8;padding: 20px;border-radius: 8px;margin: 15px 0;}
.ibc-shipping-calculator h3 {margin-top: 0;margin-bottom: 15px;font-size: 18px;color: #333;}
.ibc-shipping-calculator .form-row {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;margin-bottom: 10px;}
.ibc-shipping-calculator label {font-weight: 600;min-width: 180px;}
.ibc-shipping-calculator #ibc_calc_postcode {max-width: 150px;padding: 8px 12px;border: 1px solid #ddd;border-radius: 4px;font-size: 16px;}
.ibc-calculate-shipping-btn {padding: 10px 20px;background: #0073aa;color: #fff;border: none;border-radius: 4px;cursor: pointer;font-size: 14px;font-weight: 600;transition: background 0.3s ease;}
.ibc-calculate-shipping-btn:hover {background: #005a87;}
.ibc-calculate-shipping-btn:disabled {background: #ccc;cursor: not-allowed;}
#ibc-shipping-result {margin-top: 15px;padding: 15px;background: #fff;border-radius: 6px;border-left: 4px solid #0073aa;}
.shipping-calc-success h4 {margin-top: 0;margin-bottom: 10px;color: #0073aa;font-size: 16px;}
.shipping-calc-success .shipping-cost {font-size: 24px;color: #0073aa;margin: 10px 0;}
.shipping-calc-success .shipping-details {font-size: 14px;color: #666;margin: 10px 0 0 0;}
.shipping-calc-success .shipping-type {display: inline-block;padding: 4px 8px;background: #e8f4f8;border-radius: 3px;font-weight: 600;font-size: 12px;color: #0073aa;text-transform: uppercase;}
.shipping-calc-error {color: #d63638;padding: 10px;background: #fef0f0;border-radius: 4px;}
.shipping-calc-error p {margin: 0;}

@media (max-width: 768px) {
    .ibc-shipping-calculator .form-row {
        flex-direction: column;
        align-items: stretch;
    }
    .ibc-shipping-calculator label {
        min-width: auto;
    }
    .ibc-shipping-calculator #ibc_calc_postcode {
        max-width: 100%;
    }
    .ibc-calculate-shipping-btn {
        width: 100%;
    }
}