@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-BlackItalic.woff2') format('woff2');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraBoldItalic.woff2') format('woff2');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-BoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraLightItalic.woff2') format('woff2');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ThinItalic.woff2') format('woff2');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}




/*--------main color typhography--------*/
:root {
    --sk-primary: #004c98;
    --sk-secondary: #18b6e6;
    --sk-text: #424e5d;
    --sk-white: #ffffff;
    --sk-black: #000000;
    --sk-skeen: #F5F5F5;
    --sk-orange: #ea5b1a;
    --sk-orange-hover: #ba4100;
    --sk-yellow: #f7a600;
    --sk-border: #dfe4eb;
    --sk-gray: #E6E5E3;
    --sk-dark: #1A1A1A;
    --sk-light: #F1F5FB;
    --sk-light-blue: #f1f5fb;

}
/*--------End main color typhography--------*/

*, ::after, ::before {
    box-sizing: border-box;
}

body {
    padding: 0;
    margin: 0;
    letter-spacing: normal;
    font-weight: 400;
    font-style: normal;
    font-family: 'Montserrat';
    color: var(--sk-text);
    font-size: 15px;
    line-height: 1.7333;
}
h1,h2,h3,h4,h5,h6,.maxtitle-1,.maxtitle-2,.maxtitle-3,.maxtitle-4,.maxtitle-5,.maxtitle-6,.maxtitle-p {
    margin: 0 0 15px 0;
    line-height: 1.4545;
    letter-spacing: 0;
    color: var(--sk-text);
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    -webkit-hyphens: auto;
    hyphens: auto;
}
span.maxtitle-1,span.maxtitle-2,span.maxtitle-3,span.maxtitle-4,span.maxtitle-5,span.maxtitle-6,span.maxtitle-p {
    display: block;
}
h1, h1.maxtitle-1, h2.maxtitle-1, h3.maxtitle-1, h4.maxtitle-1, h5.maxtitle-1, h6.maxtitle-1, div.maxtitle-1, span.maxtitle-1, p.maxtitle-1 {
    font-size: 30px;
    font-weight: 800;
    color: var(--sk-primary);
}
h2, h1.maxtitle-2, h2.maxtitle-2, h3.maxtitle-2, h4.maxtitle-2, h5.maxtitle-2, h6.maxtitle-2, div.maxtitle-2, span.maxtitle-2, p.maxtitle-2 {
    font-size: 25px;
    font-weight: 800;
}
h3, h1.maxtitle-3, h2.maxtitle-3, h3.maxtitle-3, h4.maxtitle-3, h5.maxtitle-3, h6.maxtitle-3, div.maxtitle-3, span.maxtitle-3, p.maxtitle-3 {
    font-size: 22px;
}
h4, h1.maxtitle-4, h2.maxtitle-4, h3.maxtitle-4, h4.maxtitle-4, h5.maxtitle-4, h6.maxtitle-4, div.maxtitle-4, span.maxtitle-4, p.maxtitle-4 {
    font-size: 20px;
}
h5, h1.maxtitle-5, h2.maxtitle-5, h3.maxtitle-5, h4.maxtitle-5, h5.maxtitle-5, h6.maxtitle-5, div.maxtitle-5, span.maxtitle-5, p.maxtitle-5 {
    font-size: 18px;
}
h6, h1.maxtitle-6, h2.maxtitle-6, h3.maxtitle-6, h4.maxtitle-6, h5.maxtitle-6, h6.maxtitle-6, div.maxtitle-6, span.maxtitle-6, p.maxtitle-6 {
    font-size: 16px;
}
/* "Paragraph" heading size - body text look on any tag */
h1.maxtitle-p, h2.maxtitle-p, h3.maxtitle-p, h4.maxtitle-p, h5.maxtitle-p, h6.maxtitle-p, div.maxtitle-p, span.maxtitle-p, p.maxtitle-p {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7333;
    color: var(--sk-text);
}
p {
    margin:0 0 15px;
}
strong {
    font-weight: 700;
}
ul,ol {
    padding:0 0 0 30px;
    margin: 10px 0px 16px;
}
ul li,ol li {
    margin: 0 0 8px;
    padding: 0 0 0 0px;
}
ul ul {
    list-style-type: circle;
}
a {
    color: var(--sk-text);
    text-decoration: underline;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    text-decoration-thickness: 1px;
    text-underline-offset: 1px;
    transition-duration: 0.4s;
    transition-property: color, text-decoration-thickness, text-decoration-color;
    transition-timing-function: ease-in-out;
    will-change: color, text-decoration-thickness, text-decoration-color;
    /*outline: 2px dashed transparent !important;*/
}
a:hover, a:visited, a:focus{
    outline: none;
}
a:hover, a:focus {
    text-decoration-color: var(--sk-secondary);
    text-decoration-thickness: 3px;
}
input {
    outline: 2px dashed transparent !important;
}
input:focus-visible,  
textarea::focus-visible, 
.news-post-img:focus-visible, 
img:focus-visible {
    outline: 2px dashed !important;
}
a:focus-visible {
    transition: all 0.0s ease-out;
    outline: 2px dashed !important;
}
img {
    max-width: 100%;
    height: auto;
}
input, textarea, img {
    outline: none;
    resize: none;
}
/*input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
*/
/*input[type=number] {
    -moz-appearance:textfield;
}
*/
section:before, section:after{
    clear: both;
    display: table;
    content: "";
}
section{
    position: relative;
    clear: both;
    z-index: 1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.text-up {
    text-transform: uppercase;
}
/*input[type="text"] , input[type="password"] , input[type="email"] , input[type="url"] , input[type="phone"] , textarea{
    border: 1px solid #58646a;
    width: 100%;
    padding: 0 20px;
    background: #ffffff;
    //height: 42px;
}
*/
/*textarea{
    height: 150px;
    resize: none;
    padding: 20px;
}
*/
button:focus {
    outline: none;
}
.white-color .maxtitle-1, .white-color .maxtitle-2, .white-color .maxtitle-3, .white-color .maxtitle-4, .white-color .maxtitle-5, .white-color .maxtitle-6,
.white-color h1, .white-color h2, .white-color h3, .white-color h4, .white-color h5, .white-color h6, .white-color span, .white-color, .white-color a:hover {
    color: var(--sk-white);
}
.black-color, .black-color p {
    color: var(--sk-black);
}
.white-color .main-btn span {
    color: inherit;
}
.bg-skeen {
    background-color: var(--sk-skeen);
}
.bg-primary {
    background-color: var(--sk-primary) !important;
}
.bg-secondary {
    background-color: var(--sk-secondary) !important;
}
.bg-gray {
    background-color: var(--sk-gray);
}
.bg-light {
    background-color: var(--sk-light) !important;
}

.btn-outer {
    position: relative;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 15px;
    z-index: 1;
}
.btn-outer br {
    display: none;
}
.btn-outer.center-align,
.text-center .btn-outer {
    justify-content: center;
}
.text-start .btn-outer {
    justify-content: flex-start;
}
.text-end  {
    text-align: right;
}
.btn {
    display: inline-flex;
    align-items: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 14px;
    line-height: 1.75;
    color: var(--sk-white);
    border: none;
    background-color: var(--sk-primary);
    cursor: pointer;
    padding: 11.25px 18px;
    font-weight: 600;
    gap: 15px;
    outline: none;
    position: relative;
    border-radius: 0px;
    text-decoration: none;
    cursor: pointer;
    letter-spacing: normal;
}
.btn:focus-visible {
    outline: 2px dashed !important;
}
.btn:hover {
    color: var(--sk-white);
    text-decoration: none;
    border-color: var(--sk-secondary);
    background-color: var(--sk-secondary);
}
.btn.btn-secondary {
    background-color: var(--sk-primary);
    border-color: var(--sk-primary);
    color: var(--sk-white);
}
.btn.btn-secondary:hover {
    background-color: var(--sk-secondary);
    border-color: var(--sk-secondary);
    color: var(--sk-text);
}
.btn.btn-white {
    background-color: var(--sk-white);
    border-color: var(--sk-white);
    color: var(--sk-primary);
}
.btn.btn-white:hover {
    background-color: var(--sk-secondary);
    border-color: var(--sk-secondary);
    color: var(--sk-white);
}

.content-title, .content-row, .content-info, .content-blog, .content-img {
    position: relative;
    width: 100%;
    z-index: 1;
}
.content-blog *:last-child, .content-title *:last-child, .content-info *:last-child {
    margin-bottom: 0;
}
.content-img img {
    width: 100%;
}
/*
 * "Square" image size fallback: images uploaded before the size was
 * registered have no physical 800x800 crop yet (WordPress then serves
 * the original, often narrower than the column), so the square look is
 * enforced in css as well. Inside a Content Image block the square
 * always fills the column - capped at the 800px the real crop has -
 * otherwise the fallback image renders narrower than the cropped file
 * would and no longer lines up with the other sections.
 */
img.size-square {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}
.content-img img.size-square {
    width: 100%;
    max-width: 800px;
}
.gallery-item .content-img {
    overflow: hidden;
    display: flex;
}
.gallery-item {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.gallery-item + h2 {
    margin-top: 20px;
}
.gallery-item img {
    width: 100%;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    transition: transform .6s ease;
}
.gallery-item:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.scroll-top {
    position: fixed;
    display: inline-block;
    width: 40px;
    height: 40px;
    bottom: 30px;
    right: 15px;
    background-color: var(--sk-primary);
    opacity: 0;
    visibility: hidden;
    z-index: 99;
}
.scroll-top:after {
    position: absolute;
    content: '';
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%) rotate(-90deg);
    -moz-transform: translate(-50%,-50%) rotate(-90deg);
    -ms-transform: translate(-50%,-50%) rotate(-90deg);
    transform: translate(-50%,-50%) rotate(-90deg);
    width: 20px;
    height: 20px;
    background: url(../images/arrow-dropright.svg) no-repeat center;
    background-size: contain;
}
.scroll-top.sticky {
    opacity: 1;
    visibility: visible;
}
.equal-column > .row > [class^="col-"] {
    flex: 1;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    padding-left: 30px;
    padding-right: 30px;
}
.container-fluid {
    max-width: 1920px;
    padding-left: 30px;
    padding-right: 30px;
}
.row.no-gutters {
    margin-left: 0;
    margin-right: 0;
}
.row.no-gutters > [class^="col-"], 
.row.no-gutters > [class*=" col-"] {
    padding-right: 0px;
    padding-left: 0;
}
.text-center {
    text-align: center;
}


/*---------header-part---------*/

.main-part {
    position: relative;
    width: 100%;
}
.main-area,
.main-area:not(.main-vertical)>.container,
.main-content-wrap,
.main-col,
.main-element {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex
}
.main-area {
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    align-items: stretch
}
.main-content-wrap {
    width: 100%;
}
.main-col {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto
}

.main-col.main-left-col {
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start
}

.main-col.main-center-col,
.main-area .main-element {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center
}

.main-col.main-right-col {
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end
}

.main-col:empty {
    display: none
}

.main-area.main-content-top .main-col {
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start
}

.main-area.main-content-middle .main-col,
.main-area .main-element {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center
}

.main-area.main-content-bottom .main-col {
    -webkit-box-align: end;
    -moz-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end
}

.header-part {
    position: fixed;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 999;
    transition: all 0.3s ease-out;
    background-color: #fff;
    filter: drop-shadow(0 0 16px rgba(0, 76, 152, .5137254902));
}
.logged-in.admin-bar .header-part {
	top: 32px;
}
.header-social {
    position: relative;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
    justify-content: flex-end;
    opacity: 0.5;
    transition: all 0.3s ease-out;
}
.header-social:hover {
    opacity: 1;
}
.header-social li {
    position: relative;
    display: flex;
    padding: 0;
    margin: 0;
}
.header-social li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;    
    width: 17px;
    height: 17px;
}
.header-social li a img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}
.header-social li a:hover {
    transform: scale(1.1);
}
.header-logo {
    position: relative;
    display: flex;
    margin-bottom: -21px;
}
.header-logo img {
    width: 105px;
    height: auto;
}
.header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-top: 12px;
    justify-content: space-between;
    height: 100%;
}

.find-installer-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background-color: var(--sk-orange);
    color: var(--sk-white);
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    max-width: 150px;
    line-height: 1;
    margin-bottom: -18px;
    text-decoration: none;
}
.find-installer-link:hover {
    color: var(--sk-white);
}
.find-installer-link img {
    display: block;
    height: 65px;
    margin: 0 auto .5rem;
    width: 65px;
    object-fit: contain;
}
/*------mobile-menu-------*/
body.sk-hidden  {
    overflow: hidden;
}
.mobile-header {
    display: none;
}
.desktop-header,
.mobile-header {
    width: 100%;
}
.mm-navbar {
    background-color: var(--sk-light-blue);
}
.mm-panel,
.mm-panels {
    background-color: var(--sk-white);
}
.menu-icon {
    position: relative;
    box-sizing: content-box;
    display: block;
    padding: 20px;
    width: 26px;
    margin-right: -20px;
}
.menu-icon span {
    display: block;
    height: 4px;
    position: relative;
    background-color: var(--sk-primary);
}
.menu-icon span:after,
.menu-icon span:before {
    background-color: var(--sk-primary);
    border-radius: 2px;
    content: "";
    display: block;
    height: 4px;
    width: 100%;
    position: absolute;
    transition: transform 0.4s ease-out;
    will-change: transform;
}
.menu-icon span:before {
    top: -8px;
}
.menu-icon span:after {
    top: 8px;
}
.mm-wrapper_opening .menu-icon span {
    transform: translate3d(0,0px,0) rotate(45deg);
}
.mm-wrapper_opening .menu-icon span:before {
    transform: rotate(-45deg) translate3d(8px,-8px,0);
    opacity: 0;
}
.mm-wrapper_opening .menu-icon span:after {
    transform: translate3d(0,-8px,0) rotate(-90deg);
    width: 100%;
}
.mm-menu_fullscreen.mm-menu_position-top {
    top: 112px;
    height: calc(100vh - 112px);
}
.logged-in.admin-bar .mm-menu_fullscreen.mm-menu_position-top {
    top: 144px;
    height: calc(100vh - 144px);
}
.mm-menu_position-top {
    -webkit-transform: translate3d(100%, 0%, 0);
    transform: translate3d(100%, 0%, 0);
}
.mm-wrapper__blocker {
	left: auto;
	bottom: auto;
	width: 66px;
	height: 70px;
}
.logged-in.admin-bar .mm-wrapper__blocker {
	top: 32px;
}
.mm-listitem strong, .mm-listitem a {
    color: var(--sk-primary) !important;
    font-size: 15px;
    line-height: 1.75;
    font-weight: 700;
    padding: 22px 0;
    padding-left: 0px;
    padding-right: 0;
    text-transform: uppercase;
}
.mm-listitem {
    border-bottom: 1px solid var(--sk-border);
}
.sub-menu .mm-listitem__text {
    color: var(--sk-primary);
    font-size: 15px;
    line-height: 1.75;
    font-weight: 400;
    padding: 22px 0;
    text-transform: inherit;
    text-underline-offset: 6px;
    transition: text-decoration-thickness 0.4s ease-in-out;
    will-change: text-decoration-thickness;
    text-decoration-color: var(--sk-secondary);
}
.sub-menu .mm-listitem__text:hover {
    text-decoration-line: underline;
    text-decoration-thickness: 4px;
    text-decoration-color: var(--sk-secondary);
}
#navbar.mm-panel .mm-navbar_sticky {
    display: none;
}
.mm-navbar__title {
    color: var(--sk-primary);
    font-size: 15px;
    line-height: 1.75;
    font-weight: 700;
    padding: 24px 0px 20px !important;
    justify-content: flex-start !important;
    text-transform: uppercase;
}
.mm-navbar__title span {
    text-decoration: none;
}
.mm-btn.mm-btn_next.mm-listitem__btn {
    width: 50px;
    border-left: none;
    margin-right: -18px;
}
.mm-listitem__text.mm-btn_next {
    padding-left: 6px;
    padding-right: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-preferred-size: 0%;
    flex-basis: inherit;
}
.mm-wrapper_opening .header-top {
    display: none;
}
.mm-listitem {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.mm-btn_next:after, .mm-btn_prev:before {
    border-color: var(--sk-primary);
    top: 4px;
    height: 9px;
    right: auto;
    left: 15px;
}
.mm-btn_prev:before {
    left: 23px;
}
.mm-menu a, .mm-menu a:active, .mm-menu a:hover, .mm-menu a:link, .mm-menu a:visited {
    color: var(--sk-primary);
}
.mm-panel:after, .mm-listitem:after {
    display: none;
}
.mm-add-listing.mm-listitem a {
    font-weight: 400;
    font-size: 20px;
    padding: 12px 0;
    display: flex;
    align-items: center;
}
.mm-navbars_bottom .mm-navbar {
    border-top: 1px solid var(--sk-border);
    background-color: var(--sk-white);
    padding: 5px 20px;
    display: flex;
    justify-content: space-between;
}
.mm-navbars_bottom .mm-navbar a {
    -webkit-box-flex: initial;
    -ms-flex-positive: 1;
    flex-grow: initial;
    transform: scale(1.0);
}
.mm-navbars_bottom .mm-navbar a:hover {
    transform: scale(1.1);
}
.mm-navbars_bottom a img {
    position: relative;
    display: flex;
    width: 20px;
    height: 20px;
	object-fit: contain;
}
.mm-wrapper_opening .mobile-header .find-installer {
    opacity: 0;
    visibility: hidden;
}
/*-------------end-----------------*/

/*---------main-part---------*/
body.sk-hidden {
    overflow: hidden;
}
.pt-130 {
    padding-top: 130px;
}
.pb-130 {
    padding-bottom: 130px;
}
.pt-120 {
    padding-top: 120px;
}
.pb-120 {
    padding-bottom: 120px;
}
.pb-180 {
    padding-bottom: 180px;
}
.mt-100 {
    margin-top: 100px;
}
.mb-100 {
    margin-bottom: 100px;
}
.pt-110 {
    padding-top: 110px;
}
.pb-110 {
    padding-bottom: 110px;
}
.pt-100 {
    padding-top: 100px;
}
.pb-100 {
    padding-bottom: 100px;
}
.mt-90 {
    margin-top: 90px;
}
.mb-90 {
    margin-bottom: 90px;
}
.pt-90 {
    padding-top: 90px;
}
.pb-90 {
    padding-bottom: 90px;
}
.mt-80 {
    margin-top: 80px;
}
.mb-80 {
    margin-bottom: 80px;
}
.pt-80 {
    padding-top: 80px;
}
.pb-80 {
    padding-bottom: 80px;
}
.mt-75 {
    margin-top: 75px;
}
.mb-75 {
    margin-bottom: 75px;
}
.pt-75 {
    padding-top: 75px;
}
.pb-75 {
    padding-bottom: 75px;
}
.mt-70 {
    margin-top: 70px;
}
.mb-70 {
    margin-bottom: 70px;
}
.pt-70 {
    padding-top: 70px;
}
.pb-70 {
    padding-bottom: 70px;
}
.mt-60 {
    margin-top: 60px;
}
.mb-60 {
    margin-bottom: 60px;
}
.pt-65 {
    padding-top: 65px;
}
.pb-65 {
    padding-bottom: 65px;
}
.pt-64 {
    padding-top: 64px;
}
.pb-64 {
    padding-bottom: 64px;
}
.pt-60 {
    padding-top: 60px;
}
.pb-60 {
    padding-bottom: 60px;
}
.mt-50 {
    margin-top: 50px;
}
.mb-50 {
    margin-bottom: 50px;
}
.pt-50 {
    padding-top: 50px;
}
.pb-50 {
    padding-bottom: 50px;
}
.pt-48 {
    padding-top: 48px;
}
.pb-48 {
    padding-bottom: 48px;
}
.mt-45 {
    margin-top: 45px;
}
.mb-45 {
    margin-bottom: 45px;
}
.mt-40 {
    margin-top: 40px;
}
.mb-40 {
    margin-bottom: 40px;
}
.pt-40 {
    padding-top: 40px;
}
.pt-45 {
    padding-top: 45px;
}
.pb-45 {
    padding-bottom: 45px;
}
.pb-40 {
    padding-bottom: 40px;
}
.mt-35 {
    margin-top: 35px;
}
.mb-35 {
    margin-bottom: 35px;
}
.pt-35 {
    padding-top: 35px;
}
.pb-35 {
    padding-bottom: 35px;
}
.mt-32 {
    margin-top: 32px;
}
.mt-30 {
    margin-top: 30px;
}
.mb-30 {
    margin-bottom: 30px;
}
.pt-30 {
    padding-top: 30px;
}
.pb-30 {
    padding-bottom: 30px;
}
.mt-25 {
    margin-top: 25px;
}
.mb-25 {
    margin-bottom: 25px;
}
.pt-25 {
    padding-top: 25px;
}
.pb-25 {
    padding-bottom: 25px;
}
.mt-20 {
    margin-top: 20px;
}
.mb-20 {
    margin-bottom: 20px;
}
.pt-20 {
    padding-top: 20px;
}
.pb-20 {
    padding-bottom: 20px;
}
.pt-15 {
    padding-top: 15px;
}
.pb-15 {
    padding-bottom: 15px;
}
.mt-10 {
    margin-top: 10px;
}
.mb-18 {
    margin-bottom: 18px;
}
.mb-15 {
    margin-bottom: 15px;
}
.mb-10 {
    margin-bottom: 10px;
}
.pt-10 {
    padding-top: 10px;
}
.pb-10 {
    padding-bottom: 10px;
}
.mb--30 {
    margin-bottom: -30px;
}
.mb-32 {
    margin-bottom: 32px;
}
.grid-50 > .row {
    --bs-gutter-x: 50px;
}
.sub-title {
    position: relative;
    display: block;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4545;
    text-decoration-type: solid;
    text-decoration-color: var(--sk-secondary);
    text-decoration-line: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: .4em;
    margin-bottom: 15px;
}
.heading-font-large .maxtitle-1,
.heading-font-large .maxtitle-2,
.heading-font-large .maxtitle-3,
.heading-font-large .maxtitle-4,
.heading-font-large .maxtitle-5,
.heading-font-large .maxtitle-6,
.heading-font-large h1,
.heading-font-large h2,
.heading-font-large h3 {
    font-size: 80px;
    line-height: 1;
    font-weight: 900;
}
.heading-font-large-x .maxtitle-1,
.heading-font-large-x .maxtitle-2,
.heading-font-large-x .maxtitle-3,
.heading-font-large-x .maxtitle-4,
.heading-font-large-x .maxtitle-5,
.heading-font-large-x .maxtitle-6,
.heading-font-large-x h1,
.heading-font-large-x h2,
.heading-font-large-x h3 {
    font-size: 109px;
    line-height: 1;
    font-weight: 900;
}
.heading-color-text .maxtitle-1,
.heading-color-text .maxtitle-2,
.heading-color-text .maxtitle-3,
.heading-color-text .maxtitle-4,
.heading-color-text .maxtitle-5,
.heading-color-text .maxtitle-6,
.heading-color-text h1,
.heading-color-text h2,
.heading-color-text h3,
.heading-color-text h4,
.heading-color-text h5,
.heading-color-text h6
.heading-color-text h2 {
    color: var(--sk-text);
}
.heading-color-primary .maxtitle-1,
.heading-color-primary .maxtitle-2,
.heading-color-primary .maxtitle-3,
.heading-color-primary .maxtitle-4,
.heading-color-primary .maxtitle-5,
.heading-color-primary .maxtitle-6,
.heading-color-primary h1,
.heading-color-primary h2,
.heading-color-primary h3,
.heading-color-primary h4,
.heading-color-primary h5,
.heading-color-primary h6
.heading-color-primary h2 {
    color: var(--sk-primary);
}
mark {
    color: currentColor;
    -webkit-text-stroke: .045em currentColor;
    text-stroke: .045em currentColor;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    background-color: transparent !important;
    paint-order: stroke fill;
    padding: 0;
}
.heading-color-primary h2 mark {
    -webkit-text-stroke: .045em var(--sk-primary);
    text-stroke: .045em var(--sk-primary);
}
.heading-text-up .maxtitle-1,
.heading-text-up .maxtitle-2,
.heading-text-up .maxtitle-3,
.heading-text-up h1,
.heading-text-up h2,
.heading-text-up h3,
.heading-text-up h4,
.heading-text-up h5,
.heading-text-up h6 {
    text-transform: uppercase;
}
.btn-link {
    position: relative;
    display: inline-flex;
    color: var(--sk-text);
    font-weight: 700;
}
.heading-line-one h1,
.heading-line-one h2,
.heading-line-one h3,
.heading-line-one h4,
.heading-line-one h5,
.heading-line-one h6 {
    line-height: 1;
}
.full-width-btn .btn {
    width: 100%;
    justify-content: center;
}
.hero-banner-img {
    position: absolute;
    display: flex;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.hero-banner-img img {
    display: flex;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.gradient-overlay {
    position: absolute;
    display: flex;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(closest-side, #004C98A6, #004C98);
    opacity: 0.5;
}
.opacity-20 {
    opacity: 0.2;
}
.dark-overlay .gradient-overlay {
	background: #000;
}
.sub-banner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 430px;
    padding: 50px 0;
}
.sub-banner .maxtitle-1 {
	text-transform: uppercase;
}
.sub-banner .maxtitle-1 mark {
    text-transform: initial;
}
.breadcrumbs {
    position: relative;
    display: block;
    width: 100%;
    border-bottom: 1px solid var(--sk-border);
}
.breadcrumbs ul {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 15px 0;
    margin: 0;
}
.breadcrumbs ul li {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    gap: 5px 0;
}
.breadcrumbs ul li:not(:first-child):before {
    position: relative;
    content: '»';
    display: inline-flex;
    color: var(--sk-text);
    margin: 0 12px;
    line-height: 1.2;
}
.breadcrumbs ul li a,
.breadcrumbs ul li span {
    position: relative;
    display: inline-flex;
    color: var(--sk-text);
    text-decoration: none;
    line-height: 1.2;
}
.breadcrumbs ul li a:hover {
    color: var(--sk-primary);
}
.hero-banner {
    padding: 100px 0;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.gray-image-content-row {
    background-color: var(--sk-light);
    padding: 19px 36px;
}
.gray-image-content-row > .row {
    --bs-gutter-x: 44px;
}
.max-width-462 {
    max-width: 462px;
}
.content-blog .content-img {
    margin-bottom: 20px;
}
.gray-content-blog {
    margin-top: 8rem;
    padding: 0 2.75rem 2rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: calc(100% - 8rem);
    background-color: var(--sk-light);
}
.gray-content-blog .content-img {
    margin-bottom: -8rem;
    position: relative;
    top: -8rem;
}
.gray-content-blog .content-img img {
    aspect-ratio: 16/11;
    object-fit: cover;
}
.gray-content-blog .content-info {
    padding-top: 30px;
}
.gray-content-blog .content-info h2 {
    margin-bottom: 24px;
}
.gray-content-blog.no-img {
    margin-top: 0;
    height: 100%;
}
.accordion .accordion-item {
    border: none;
    border-top: 1px solid #b2b2b3;
    background-color: transparent;
    border-radius: 0;
}
.accordion .accordion-item:last-child {
    border-bottom: 1px solid #b2b2b3;
}
.accordion .accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: transparent;
    border: none;
    outline: none;
    box-shadow: none;
    border-radius: 0;
    padding: 22.5px 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4545;
    color: var(--sk-text);
	text-align: left;
	cursor: pointer;
}
.accordion .accordion-button:after {
    display: none;
}
.accordion .accordion-button:before {
    content: "+";
    display: block;
    font-size: 1.75rem;
    font-weight: 400;
    text-align: center;
    width: 45px;
}
.accordion .accordion-button[aria-expanded=true]:before {
    content: "-";
}
.accordion .accordion-body {
    padding: 0 0 10px;
    border: none;
}
.installer-search-input {
    display: flex
}

.installer-search-input input {
    background-color: var(--sk-white);
    border: 1px solid #d8d8d8;
    border-radius: 0;
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
    line-height: 1;
    padding: 11px 20px
}

.installer-search-input button {
    align-items: center;
    aspect-ratio: 1/1;
    background-color: var(--sk-orange);
    display: flex;
    flex-grow: 0;
    flex-shrink: 0;
    height: calc(40px + 1em);
    justify-content: center;
    margin-top: 0;
    position: relative
}

.installer-search-input button span {
    display: none
}

.installer-search-input button:after {
    aspect-ratio: 1;
    background-color: var(--sk-white);
    content: "";
    display: block;
    height: 13px;
    -webkit-mask-image: url(../images/icon_arrow_right.svg);
    mask-image: url(../images/icon_arrow_right.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    width: 11px
}

.installer-search-form .location label {
    display: flex;
    justify-content: space-between
}

.installer-search-form .track-user {
    cursor: pointer;
    display: none;
    gap: .5rem
}

.installer-search-form .track-user:before {
    background-color: currentColor;
    content: "";
    display: block;
    height: 28px;
    margin-top: -6px;
    -webkit-mask-image: url(../images/icon_location.svg);
    mask-image: url(../images/icon_location.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    width: 28px
}

.installer-search-form .--show-tracking .track-user {
    display: flex
}

.installer-search-form .--tracking-disabled .track-user {
    opacity: .5;
    pointer-events: none
}

.installer-search-form .input-with-clear {
    position: relative
}

.installer-search-form .input-with-clear .clear {
    background-color: #d8d8d8;
    cursor: pointer;
    height: 1.25rem;
    -webkit-mask-image: url(../images/icon_x.svg);
    mask-image: url(../images/icon_x.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem
}

.installer-search-form .input-with-clear .clear:hover {
    background-color: #424e5d
}

.installer-search-results ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.installer-search-results ul li+li {
    margin-top: 1.25rem
}

.installer-search-results .load-more {
    margin: 2.8rem auto 0
}

.installer-search-results .load-more:not(.hidden) {
    display: block
}

.installer-search-results .scroll-to-form {
    bottom: 3rem;
    box-shadow: 0 0 26px rgba(66,78,93,.506);
    display: none;
    flex-wrap: nowrap;
    left: 50%;
    position: fixed;
    text-decoration: none;
    transform: translateX(-50%)
}

.installer-search-results .scroll-to-form:after {
    transform: rotate(-90deg)
}

.installer-search-results.--has-scroll-to-form .scroll-to-form {
    display: flex
}

.installer-search-result {
    background-color: var(--sk-white);
    margin-left: -2.6rem;
    margin-right: -2.6rem;
    padding: 2.6rem
}

.installer-search-result h3 {
    margin-bottom: 2rem
}

.installer-search-result h4 {
    letter-spacing: 2px;
    margin-bottom: 0;
    text-decoration: none
}

.installer-search-result .details,.installer-search-result .meta {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.installer-search-result .details .column,.installer-search-result .meta .column {
    width: 100%
}

.installer-search-result .logo-address-details,.installer-search-result .openingtimes-portrait-details,.installer-search-result .rating-certification-details {
    display: flex;
    gap: 40px;
}

.installer-search-result .logo {
    max-width: 154px;
    margin-right: 25px;
}

.installer-search-result .address a {
    word-break: break-all
}

.installer-search-result .meta {
    margin-top: 2rem
}

.installer-search-result .openingtimes-portrait-details,.installer-search-result .rating-certification-details {
    justify-content: space-between
}

.installer-search-result .opening-times h5 {
    margin-bottom: 0
}

.installer-search-result .portrait {
    flex-grow: 0;
    flex-shrink: 0
}

.installer-search-result .portrait figure {
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(0,0,0,.161);
    height: 129px;
    overflow: hidden;
    width: 129px
}

.installer-search-result .portrait figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center;
    width: 100%
}

.installer-search-result .rating-certification-details:after {
    background-image: url(../images/icon_1a-cert.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 77px;
    width: 56px
}

.installer-search-result .installer-rating-summary {
    display: flex;
    gap: 30px;
    justify-content: space-between
}

.installer-search-result .installer-rating-summary .installer-rating {
    align-items: center;
    display: flex;
    gap: .5rem
}

.installer-search-result .stars {
    flex-grow: 0;
    flex-shrink: 0;
    height: 17px;
    -webkit-mask-image: url(../images/rating-stars.svg);
    mask-image: url(../images/rating-stars.svg);
    position: relative;
    width: 80px
}

.installer-search-result .stars,.installer-search-result .stars:before {
    -webkit-mask-position: left center;
    mask-position: left center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.installer-search-result .stars:before {
    background-color: var(--color--yellow);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    -webkit-mask-image: url(../images/rating-stars_empty.svg);
    mask-image: url(../images/rating-stars_empty.svg);
    position: absolute;
    right: 0;
    top: 0
}

.installer-search-result .stars span {
    background-color: var(--color--yellow);
    display: block;
    height: 100%;
    width: var(--width)
}

.installer-search-result .ratings-detail {
    margin-top: 4rem;
    position: relative
}

.installer-search-result .ratings-detail .close {
    background-color: #d8d8d8;
    cursor: pointer;
    height: 1.25rem;
    -webkit-mask-image: url(../images/icon_x.svg);
    mask-image: url(../images/icon_x.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: 0;
    top: 1rem;
    transform: translateY(-50%);
    width: 1.25rem
}

.installer-search-result .ratings-detail .close:hover {
    background-color: #424e5d
}

.installer-search-result .ratings-detail__rating {
    align-items: center;
    display: flex;
    gap: 30px;
    margin: 0;
    padding-bottom: 1rem;
    padding-top: 1rem
}

.installer-search-result .ratings-detail__rating+.ratings-detail__rating {
    border-top: 1px solid #d8d8d8
}

.installer-search-result .ratings-detail h5,.installer-search-result .ratings-detail p {
    margin-bottom: 0
}

.installer-search-map {
    height: 100%;
    min-height: 350px
}

.installer-search-map .gm-style .gm-style-iw-c {
    border-radius: 2px;
    box-shadow: 0 0 26px rgba(0,0,0,.161);
    color: var(--sk-text);
    font-size: 14px;
    line-height: 1.5;
    padding: 1.25rem
}

.installer-search-map .gm-style .gm-style-iw-c button {
    margin-right: 3px!important;
    margin-top: 3px!important
}

/*----------------------------------------------------------------------
Search popup (header/footer search icon) + search form
------------------------------------------------------------------------*/
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
.offscreen-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    background-color: rgba(0,0,0,.3);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
.offscreen--open .offscreen-backdrop {
    opacity: 1;
    visibility: visible;
}
.offscreen-search {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}
.offscreen-offscreen-search--open .offscreen-search {
    opacity: 1;
    visibility: visible;
}
.offscreen-search__inner {
    width: 560px;
    max-width: 100%;
    padding: 60px;
    background-color: var(--sk-white);
    box-shadow: 0 0 6px rgba(0,0,0,.3);
    pointer-events: auto;
}
.offscreen-search__inner h3 {
    margin-bottom: 15px;
}
/* keep the page from scrolling behind the popup */
.offscreen--open body {
    overflow: hidden;
}

/* Search form - big underlined input + plain "Suchen" button, as on the live site */
.searchform > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
}
.searchform input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 11.25px 15px;
    border: none;
    border-bottom: 3px solid var(--sk-primary);
    border-radius: 0;
    background-color: transparent;
    font-family: 'Montserrat';
    font-size: 30px;
    line-height: 30px;
    font-weight: 400;
    color: var(--sk-text);
}
/* submit is the search icon, the word "Suchen" stays for screen readers */
.searchform button[type="submit"] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11.25px 0;
    border: none;
    border-radius: 0;
    background-color: transparent;
    cursor: pointer;
    transition: opacity .3s ease;
}
.searchform button[type="submit"] img {
    display: block;
    width: 26px;
    height: 26px;
}
.searchform button[type="submit"]:hover {
    opacity: .7;
}
@media (max-width: 575px) {
    .offscreen-search__inner {
        padding: 30px;
    }
    .searchform > div {
        gap: 15px;
    }
    .searchform input[type="text"] {
        font-size: 22px;
        padding: 8px 0;
    }
    .searchform button[type="submit"] img {
        width: 22px;
        height: 22px;
    }
}

.search-result-wrapper .searchform {
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-width: 480px
}

.search-result-wrapper .result-count {
    margin-bottom: 3rem;
    margin-top: 2rem
}

.search-result-wrapper .search-results {
    list-style: none;
    margin: 0 0 4rem;
    padding: 0
}

.search-result-wrapper .search-results li+li {
    border-top: 1px solid #d8d8d8;
    margin-top: 2rem;
    padding-top: 2rem
}

.search-result-wrapper .search-results h2 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 1rem
}

.search-result-wrapper .search-results+.pagination {
    margin-bottom: 4rem
}

.search-result-wrapper .search-results+.pagination ul {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0
}

.search-result-wrapper .search-results+.pagination a,.search-result-wrapper .search-results+.pagination span {
    border: 1px solid var(--sk-primary);
    border-radius: 4px;
    display: block;
    line-height: 1;
    padding: .75rem;
    text-decoration: none
}

.search-result-wrapper .search-results+.pagination a.dots,.search-result-wrapper .search-results+.pagination span.dots {
    border-color: transparent
}

.search-result-wrapper .search-results+.pagination a.current,.search-result-wrapper .search-results+.pagination span.current {
    background-color: var(--sk-secondary);
    border-color: var(--sk-secondary);
    color: var(--sk-white)
}
.installer-rating-img img {
    max-width: 180px;
}
.small-gray-box {
	padding: 18px 36px;
	background-color: var(--sk-light);
	height: 100%;
}
/*----------------end------------*/

/*-------------footer--------------*/
.footer-part {
    position: relative;
    display: block;
    width: 100%;
    background-color: var(--sk-primary);
}
.footer-row {
    position: relative;
    display: block;
    width: 100%;
    padding: 60px 0;
}
.span-heading {
    position: relative;
    display: block;
    color: var(--sk-white);
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4545;
    margin-bottom: 26px;
}
.footer-left p {
    color: var(--sk-white);
}
.footer-left p a {
    color: var(--sk-white);
}
.footer-menu {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    gap: 0;
}
.footer-menu li {
    position: relative;
    display: flex;
    padding: 0;
    margin: 0;
}
.footer-menu li a {
    position: relative;
    display: flex;
    color: var(--sk-white);
    text-decoration-color: transparent;
}
.footer-menu li a:hover {
    text-decoration-color: var(--sk-secondary);
    text-decoration-thickness: 3px;
}
.footer-right {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 20px;
}
.footer-right-col {
    position: relative;
    display: flex;
    width: 100%;
    gap: 23px;
    align-items: center;
}
.footer-right-img {
    position: relative;
    display: flex;
    width: 96px;
    min-width: 96px;
}
.footer-right-col p {
    color: var(--sk-white);
}
.footer-right-col p a {
    color: var(--sk-white);
}
.footer-right-col p a:hover {
    text-decoration-color: var(--sk-secondary);
    text-decoration-thickness: 3px;
}
.footer-social {
    position: relative;
    display: flex;
    max-width: 252px;
    justify-content: space-between;
    gap: 20px;
    padding: 0;
    margin: 29px 0 0;
}
.footer-social li {
    position: relative;
    display: flex;
    padding: 0;
    margin: 0;
}
.footer-social li a {
    position: relative;
    display: flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    transform: scale(1.0);
    transition: all 0.3s ease-out;
}
.footer-social li a:hover {
    transform: scale(1.1);
}
.footer-social li a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.footer-bottom {
    position: relative;
    display: block;
    width: 100%;
    background-color: var(--sk-white);
    padding: 15px 0;
}
.footer-bottom p {
    margin: 0;
}
.footer-bottom p a {
    color: var(--sk-primary);
    text-decoration: none;
}
.footer-bottom p a:hover {
    color: var(--sk-secondary);
}
/*-----------end-footer------------*/

/*------------sub-pages--------------*/



.space-top-very-large {
    padding-top: 110px;
}
.space-top-large {
    padding-top: 50px;
}
.space-top-medium {
    padding-top: 50px;
}
.space-top-small {
    padding-top: 25px;
}
.space-top-zero {
    padding-top: 0;
}
.space-bottom-very-large {
    padding-bottom: 70px;
}
.space-bottom-large {
    padding-bottom: 50px;
}
.space-bottom-medium {
    padding-bottom: 33px;
}
.space-bottom-small {
    padding-bottom: 25px;
}
.space-bottom-zero {
    padding-bottom: 0;
}
/*----------------------------------------------------------------------
Custom light additions (replace Bootstrap components + WOW/animate.css)
------------------------------------------------------------------------*/

/* Collapse / accordion (Bootstrap JS replaced by theme script.js) */
.collapse { display: none; }
.collapse.show { display: block; }

/* Text alignment helper (not part of Bootstrap Grid) */
.text-right { text-align: right; }

/* Light scroll-reveal animation (replaces WOW.js + animate.css) */
@media (prefers-reduced-motion: no-preference) {
	.wow {
		opacity: 0;
		transform: translateY(40px);
		transition: opacity 0.8s ease, transform 0.8s ease;
		will-change: opacity, transform;
	}
	.wow.in-view {
		opacity: 1;
		transform: none;
	}
}

/* WPBakery rows behave like the Bootstrap rows of the HTML build:
   - flex + wrap, so columns of unequal height stay in clean rows
     (WPBakery floats them by default, which staggers wrapped columns)
   - equal height per row, which the box elements rely on
   - gutters in the same rhythm as gy-4 / gy-md-5 */
.sk-grid,
.vc_row.wpb_row.vc_inner {
	display: flex;
	flex-wrap: wrap;
	margin-top: -24px;
}
.sk-grid > .wpb_column,
.vc_row.wpb_row.vc_inner > .wpb_column {
	float: none;
	padding-top: 24px;
}
/* Let the box elements fill the column height (they use height:100% to line up) */
.sk-grid > .wpb_column > .vc_column-inner,
.vc_row.wpb_row.vc_inner > .wpb_column > .vc_column-inner { height: 100%; }
.sk-grid > .wpb_column > .vc_column-inner > .wpb_wrapper,
.vc_row.wpb_row.vc_inner > .wpb_column > .vc_column-inner > .wpb_wrapper { height: 100%; }
@media (min-width: 768px) {
	.sk-grid,
	.vc_row.wpb_row.vc_inner { margin-top: -48px; }
	.sk-grid > .wpb_column,
	.vc_row.wpb_row.vc_inner > .wpb_column { padding-top: 48px; }
}

/* Embed / Rechner element (external tools in an iframe) */
.embed-outer { width: 100%; }
.embed-outer iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
}

/* Installer list (city | company links, e.g. ALVA page) */
.installer-list p a { text-decoration: underline; }

/* Gallery / Logos element */
.gallery-item img,
.logo-item img {
	display: block;
	width: 100%;
	height: auto;
}
.gallery-item img {
	aspect-ratio: 3/2;
	object-fit: cover;
}
.gallery-item a { display: block; }
.logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 20px;
	background-color: #fff;
}
.logo-item img {
	width: auto;
	max-width: 100%;
	max-height: 70px;
	object-fit: contain;
}

/* Blog category filter (Blog Posts element, archive layout) */
.blog-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.blog-filter li { margin: 0; padding: 0; }
.blog-filter a {
	display: block;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sk-text);
	display: flex;
    padding: 15px 18px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
	border: 1px solid var(--sk-primary);
    color: var(--sk-primary);
}
.blog-filter  ul li a.active {
    color: #ffffff;
    background-color: var(--sk-primary);
	text-decoration: none;
}

/* Pagination of the Blog Posts element */
.content-part > .container > .pagination ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.content-part > .container > .pagination a,
.content-part > .container > .pagination span {
	border: 1px solid var(--sk-primary);
	border-radius: 4px;
	display: block;
	line-height: 1;
	padding: .75rem;
	text-decoration: none;
}
.content-part > .container > .pagination .dots { border-color: transparent; }
.content-part > .container > .pagination .current {
	background-color: var(--sk-secondary);
	border-color: var(--sk-secondary);
	color: var(--sk-white);
}

/* Hero banner with blue gradient background (icon banners) */
.banner-gradient {
	background-image: radial-gradient(closest-side, #004C98A6, #004C98);
	background-color: var(--sk-primary);
}
.banner-gradient .banner-icon {
	margin-bottom: 20px;
}
.banner-gradient .banner-icon img {
	width: auto;
	max-height: 120px;
}

/* Video element */
.video-outer video {
	display: block;
	width: 100%;
	height: auto;
	background-color: var(--sk-black);
}

/* Row column gap options (default gap is 30px = 2 x 15px column padding) */
.sk-grid.sk-gap-0 { margin-left: 0; margin-right: 0; }
.sk-grid.sk-gap-0 > .wpb_column > .vc_column-inner { padding-left: 0; padding-right: 0; }
.sk-grid.sk-gap-20 { margin-left: -10px; margin-right: -10px; }
.sk-grid.sk-gap-20 > .wpb_column > .vc_column-inner { padding-left: 10px; padding-right: 10px; }
.sk-grid.sk-gap-44 { margin-left: -22px; margin-right: -22px; }
.sk-grid.sk-gap-44 > .wpb_column > .vc_column-inner { padding-left: 22px; padding-right: 22px; }
.sk-grid.sk-gap-60 { margin-left: -30px; margin-right: -30px; }
.sk-grid.sk-gap-60 > .wpb_column > .vc_column-inner { padding-left: 30px; padding-right: 30px; }

/* Vertical alignment of the columns in a row */
.sk-grid.align-items-center { align-items: center; }
.sk-grid.align-items-end { align-items: flex-end; }
/* a centered/bottom aligned column must not stretch its inner wrappers */
.sk-grid.align-items-center > .wpb_column > .vc_column-inner,
.sk-grid.align-items-end > .wpb_column > .vc_column-inner,
.sk-grid.align-items-center > .wpb_column > .vc_column-inner > .wpb_wrapper,
.sk-grid.align-items-end > .wpb_column > .vc_column-inner > .wpb_wrapper { height: auto; }

/* Full width rows (WPBakery "Row stretch")
   - container-fluid: full width, keeps the side padding
   - sk-full-width:   full width, edge to edge without padding */
.sk-full-width {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.sk-full-width > .sk-grid {
    margin-left: 0;
    margin-right: 0;
}
.sk-full-width > .sk-grid > .wpb_column > .vc_column-inner {
    padding-left: 0;
    padding-right: 0;
}
.max-width-200 img {
	max-width: 200px;
}
div.wpforms-container-full .wpforms-form input[type=submit], 
div.wpforms-container-full .wpforms-form button[type=submit], 
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    background-color: var(--sk-orange);
    color: var(--sk-white);
	cursor: pointer;
    margin-top: 2rem;
	gap: 1rem;
    padding: .75rem 1.2rem;
	border: none;
    box-shadow: none;
	display: inline-flex;
	align-items: center;
	transition: all 0.3s ease-out;
}
div.wpforms-container-full .wpforms-form input[type=submit]:hover, 
div.wpforms-container-full .wpforms-form button[type=submit]:hover, 
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover {
	background-color: var(--sk-orange-hover);
    color: var(--sk-white);
	border: none;
}
div.wpforms-container-full .wpforms-form input[type=submit]:after, 
div.wpforms-container-full .wpforms-form button[type=submit]:after, 
div.wpforms-container-full .wpforms-form .wpforms-page-button:after {
    background-color: currentColor;
    content: "";
    display: block;
    height: 11px;
    -webkit-mask-image: url(../images/icon_arrow_right.svg);
    mask-image: url(../images/icon_arrow_right.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    width: 11px;
}
.max-width-400 img {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-table {
    overflow-x: auto;
	margin-bottom: 30px;
}

.wp-block-table table {
    border-collapse: collapse;
    width: 100%
}

.wp-block-table thead {
    border-bottom: 3px solid
}

.wp-block-table tfoot {
    border-top: 3px solid
}

.wp-block-table td,.wp-block-table th {
    border: 1px solid;
    padding: .5em
}

.wp-block-table .has-fixed-layout {
    table-layout: fixed;
    width: 100%
}

.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th {
    word-break: break-word
}

.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright {
    display: table;
    width: auto
}

.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th {
    word-break: break-word
}

.wp-block-table .has-subtle-light-gray-background-color {
    background-color: #f3f4f5
}

.wp-block-table .has-subtle-pale-green-background-color {
    background-color: #e9fbe5
}

.wp-block-table .has-subtle-pale-blue-background-color {
    background-color: #e7f5fe
}

.wp-block-table .has-subtle-pale-pink-background-color {
    background-color: #fcf0ef
}

.wp-block-table.is-style-stripes {
    background-color: initial;
    border-collapse: inherit;
    border-spacing: 0
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #f0f0f0
}

.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
    background-color: #f3f4f5
}

.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
    background-color: #e9fbe5
}

.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
    background-color: #e7f5fe
}

.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
    background-color: #fcf0ef
}

.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th {
    border-color: #0000
}

.wp-block-table.is-style-stripes {
    border-bottom: 1px solid #f0f0f0
}

.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>* {
    border-color: inherit
}

.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th {
    border-top-color: inherit
}

.wp-block-table table[style*=border-top-color] tr:not(:first-child) {
    border-top-color: initial
}

.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>* {
    border-right-color: inherit
}

.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th {
    border-bottom-color: inherit
}

.wp-block-table table[style*=border-bottom-color] tr:not(:last-child) {
    border-bottom-color: initial
}

.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>* {
    border-left-color: inherit
}

.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>* {
    border-style: inherit
}

.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>* {
    border-style: inherit;
    border-width: inherit
}
.custom-icon-box .circle-icon {
	width: 64px;
    height: 64px;
    border: 1px solid var(--sk-orange);
    border-radius: 50%;
    padding: 15px;
	display: flex;
    margin: 0 auto 10px;
    align-items: center;
    justify-content: space-evenly;
}
.gradient-banner {
	background-image: radial-gradient(closest-side, #004C98A6, #004C98);
}
/* Embedded tools with auto height (iframe-resizer sets the height inline) */
.embed-outer.embed-auto iframe {
	height: auto;
	overflow: hidden;
}

/*----------------------------------------------------------------------
Anchor links (e.g. #Termin): scroll smoothly and keep the target clear of
the fixed header. --sk-header-height is measured in script.js, the value
here is the fallback until the script runs.
------------------------------------------------------------------------*/
html {
	scroll-padding-top: calc(var(--sk-header-height, 105px) + 15px);
}
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Content Image alignment (element option) */
.content-img.align-center { text-align: center; }
.content-img.align-left { text-align: left; }
.content-img.align-right { text-align: right; }
.content-img.align-center img,
.content-img.align-left img,
.content-img.align-right img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
}
.content-img.align-full img { width: 100%; }
div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium {
    max-width: 60%;
}
.max-width-400.align-center img,
.max-width-400.align-left img,
.max-width-400.align-right imgg {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
.max-width-200.align-center img,
.max-width-200.align-left img,
.max-width-200.align-right img {
    max-width: 200px;
}
.overlay-30 .opacity-20 {
    opacity: 0.3;
} 
.img-pos .hero-banner-img img {
    object-position: 58% 70%;
}
.z-index-2 {
	z-index: 2;
}
.col-gray-box .content-img {
	display: flex;
	height: 100%;
}
.col-gray-box .content-img img {
	height: 100%;
	object-fit: cover;
}
.col-gray-col .wpb_wrapper{
	position: relative;
	display: flex;
	align-items: center;
	padding: 15px 50px 50px !important;
}