@font-face {
    font-family: Dax;
    font-weight: 400;
    src: url(../fonts/333ABC_0_0.eot);
    src: url(../fonts/333ABC_0_0.eot?#iefix) format("embedded-opentype"),url(../fonts/333ABC_0_0.woff2) format("woff2"),url(../fonts/333ABC_0_0.woff) format("woff"),url(../fonts/333ABC_0_0.ttf) format("truetype")
}

@font-face {
    font-family: Dax;
    font-weight: 500;
    src: url(../fonts/333ABC_1_0.eot);
    src: url(../fonts/333ABC_1_0.eot?#iefix) format("embedded-opentype"),url(../fonts/333ABC_1_0.woff2) format("woff2"),url(../fonts/333ABC_1_0.woff) format("woff"),url(../fonts/333ABC_1_0.ttf) format("truetype")
}

:root {
    --mainGreen: #92bf99;
    --darkGrey: #4d4d4d;
    --darkGreen: #374b31;
}

html {
    font-size: 10px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    color: var(--darkGrey);
    font-size: 1.6rem;
    font-family: Dax,sans-serif;
    line-height: 1.4;
    font-weight: 400;
}

body, input, textarea, select, button {
    direction: ltr;
    text-align: left
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    color: var(--mainGreen);
    text-decoration: none!important;
}

a:active,a:focus {
    color: inherit;
}

a:hover {
    color: var(--mainGreen);
}

p {
    margin-top: 0px;
}

b, strong {
    font-weight: 500;
}

html {
    scroll-behavior: smooth;
}

h1,h2,h3,h4,h5 {
    margin: auto;
    font-weight: 400;
}

h1 {
    font-size: 7.2rem;
    font-weight: 500;
    line-height: 8.3rem;
}

h2 {
    font-size: 4.6rem;
}

h3 {
    font-weight: 500;
    font-size: 3.8rem;
}

h4 {
    font-size: 2.4rem;
    line-height: 3.6rem;
}

h5 {
    font-size: 2.1rem;
    line-height: 3.2rem;
}

ul {
    padding-left: 0;
    margin: 0;
    list-style-type: none;
}

.mt0 {
    margin-top: 0px;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt25 {
    margin-top: 25px;
}

.mt30 {
    margin-top: 30px!important;
}

.mt35 {
    margin-top: 35px;
}

.mt40 {
    margin-top: 40px!important;
}

.mt45 {
    margin-top: 45px!important;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mt80 {
    margin-top: 80px;
}

.md0 {
    margin-bottom: 00px;
}

.md10 {
    margin-bottom: 10px;
}

.md15 {
    margin-bottom: 15px;
}

.md20 {
    margin-bottom: 20px;
}

.md30 {
    margin-bottom: 30px;
}

.md35 {
    margin-bottom: 35px;
}

.md40 {
    margin-bottom: 40px;
}

.md50 {
    margin-bottom: 50px;
}

.md60 {
    margin-bottom: 60px;
}

.md80 {
    margin-bottom: 80px;
}

.ml30 {
    margin-left: 30px;
}

.ml60 {
    margin-left: 60px;
}

.mr30 {
    margin-right: 30px;
}

.pl0 {
    padding-left: 0px;
}

.pl30 {
    padding-left: 30px;
}

.pl40 {
    padding-left: 40px;
}

.pl48 {
    padding-left: 48px;
}

.pl60 {
    padding-left: 60px;
}

.pr30 {
    padding-right: 30px;
}

.pr40 {
    padding-right: 40px;
}

.p0 {
    padding: 0;
}

.p30 {
    padding: 30px;
}

.pd30 {
    padding-bottom: 30px;
}

.pt30 {
    padding-top: 30px;
}

.pt60 {
    padding-top: 60px;
}

.pd60 {
    padding-bottom: 60px;
}

.pd30 {
    padding-bottom: 30px;
}

.mblLght {
    font-weight: 400;
}

@media (min-width: 1400px) {
    .container-max {
        width: 86vw;
    }
}

.container-full {
    width: 100%;
}

.svg-sprite {
    position: absolute;
    z-index: -1;
    visibility: hidden;
    width: 0;
    height: 0;
    pointer-events: none;
    overflow: hidden;
}

/*navbar*/
.navbar {
    position: relative;
}

nav .topNav {
    background: #fff;
    box-shadow: 0 7px 12px -13px #000000;
    position: relative;
    z-index: 10;
}

.topNav .container {
    position: relative;
    padding-top: 45px;
    padding-bottom: 45px;
}

nav .logo {
    display: inline-block;
    background: var(--mainGreen);
    padding: 60px 60px 40px 60px;
    border-radius: 0 0 40px 0;
    position: absolute;
    left: 15px;
    top: 0;
    box-shadow: 0 7px 12px -12px #000000;
}

nav .logo img {
    fill: #fff;
    width: 215px;
}

.navItems {
    display: inline-block;
    float: right;
    /* margin-left: 22vw; */
}

.navItems ul {
}

.navItems ul li {
    display: inline-block;
}

.navItems ul li a, .navItems ul li span {
    color: var(--darkGrey);
}

.navItems ul li + li {
    margin-left: 55px;
}

.navItems ul li .navItem {
    font-size: 2.4rem;
    cursor: pointer;
    user-select: none;
    font-weight: 400;
    line-height: 1.2;
}

.navItems ul li .navItem:hover, .navItems ul li .navItem.active {
    color: var(--mainGreen);
}

.navItems ul li .btnNavAnfrgn span {
    color: #fff;
}

.navItems ul li .btnNavAnfrgn:hover {
    color: #fff;
}

.navItems ul li .btnNavAnfrgn:hover svg {
    fill: #fff;
}

.subNav {
    background: var(--darkGrey);
    border-radius: 0 0 40px 0;
    padding: 60px 0 80px 0;
    color: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 140px;
    z-index: 2;
    pointer-events: none;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.46, 0.03, 0.52, 0.96);
    transform: translateY(-100%);
    display: block;
}

.subNav.open {
    pointer-events: all;
    height: auto;
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
}

.subNav .subNavItems {
    float: right;
    /* margin-left: 22vw; */
}

.subNav .subNavItem {
    display: none;
}

.subNav .subNavItem.open {
    display: block;
}

.subNav .subItemBox {
    display: inline-block;
    vertical-align: top;
}

.subNav .subItemBox + .subItemBox {
    margin-left: 65px;
}

.subNav .subItemBox .opener {
    font-size: 2.4rem;
    line-height: 1;
    color: #fff;
    margin-bottom: 30px;
    cursor: pointer;
    display: inline-block;
    font-weight: 400;
}

.subNav .subItemBox .opener:hover, .subNav .subItemBox:hover .opener {
    color: var(--mainGreen);
}

.subNav .subItemBox.open .opener {
    color: var(--mainGreen);
}

.subNav .subItemBox ul {
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    transform: translateY(-10%);
    color: #fff;
}

.subNav .subItemBox:hover ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0%);
}

.subNav .subItemBox.open ul {
    display: block;
}

.subNav .subItemBox ul li {
}

.subNav .subItemBox ul li + li {
    margin-top: 5px;
}

.subNav .subItemBox ul li a {
    font-size: 1.8rem;
    display: block;
    padding: 5px 0;
    color: #fff;
}

.subNav .subItemBox ul li a:hover {
    color: var(--mainGreen);
}

/*navbar end*/
.btn {
    border-radius: 0 0 12px 0;
    display: inline-block;
    padding: 10px 40px ;
}

.btn span {
    display: inline-block;
    vertical-align: middle;
}

.btn svg {
    display: inline-block;
    vertical-align: middle;
    width: 23px;
    height: 23px;
    margin-left: 10px;
}

.btn.btnDrkGrn {
    background: var(--darkGreen);
    color: #fff;
}

.btn.btnDrkGrn svg {
    fill: #fff;
}

.btn.btnDrkGrn:hover {
    background: var(--mainGreen);
    color: var(--darkGrey);
}

.btn.btnDrkGrn:hover svg {
    fill: var(--darkGrey);
}

/*header*/
.fixBgdPrlx {
    background: url(../img/greenBgdPattern.png) no-repeat;
    background-size: cover;
    background-position: top;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.header {
    margin-bottom: 150px;
    padding-top: 150px;
    background: rgba(255, 255, 255, 0.8);
}

.headerCntnt {
    display: flex;
    justify-content: space-between;
}

.headerCntnt h1 {
    font-size: 5.8rem;
    margin: auto;
    text-align: left;
    font-weight: 400;
    line-height: 1.2;
}

.headerCntnt h3 {
    font-size: 3.3rem;
    text-align: left;
}

.headerCntnt .leftBox {
    flex: 0 0 45%;
    /* perspective: 00px; */
}

.hdrLftTxtBtnBx {
    display: inline-block;
    text-align: center;
    perspective: 800px;
}

.headerCntnt .rightBox {
    flex: 0 0 53%;
    perspective: 2000px;
    text-align: right;
}

.hdrBtn {
    padding: 30px;
    background: var(--mainGreen);
    border: 6px solid #fff;
    border-radius: 12px;
    display: inline-block;
    position: relative;
    transform: rotateY(27deg) rotateZ(0deg) rotateX(16deg) skewY(-5deg);
    margin-top: 40px;
    box-shadow: 0 6px 30px -8px #4d4d4d;
    transition: all 0.4s cubic-bezier(1, -1.1, 0.38, 2.01);
}

.hdrBtn:hover {
    transform: rotateY(0deg) rotateZ(0deg) rotateX(0deg) skewY(0deg);
}

.hdrBtnTxt {
    color: #fff;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding-right: 125px;
    text-align: left;
}

.hdrBtnTxt span {
    display: block;
    font-weight: 500;
    font-size: 3.5rem;
    line-height: 1;
}

.hdrBtnTxt span + span {
    font-weight: 300;
    font-size: 1.6rem;
    margin-top: 5px;
}

.hdrBtnTxt svg {
    display: inline-block;
    vertical-align: middle;
    width: 31px;
    fill: #fff;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 31px;
}

.hdrCard {
    background: #fff;
    padding: 5px 5px 0 5px;
    display: inline-block;
    width: 385px;
    border-radius: 0 0 65px 0;
    box-shadow: 0 6px 29px -18px #4d4d4d;
    position: relative;
    transform: translateY(0%) translateX(11%) rotateY(-11deg);
    transition: transform 0.3s cubic-bezier(0.46, 0.03, 0.52, 0.96);
    text-align: left;
    -webkit-font-smoothing: antialiased;
}

.hdrCard.cardOne {
    /* left: 11%; */
}

.hdrCard.cardTwo {
    /* left: 11%; */
}

.hdrCard:hover {
    transform: translateY(0%) translateX(11%) rotateY(0deg);
}

.hdrCard + .hdrCard {
    transform: translateY(-13%) translateX(0%) rotateY(-11deg);
}

.hdrCard + .hdrCard:hover {
    transform: translateY(-13%) translateX(0%) rotateY(0deg);
}

.hdrCard .hdrCardImg {
    width: 100%;
    padding-bottom: 74%;
}

.cardOne .hdrCardImg {
    background: url(../img/indexCardOne.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}

.cardOne:hover .hdrCardImg {
    background: url(../img/indexCardOneColor.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}

.cardTwo .hdrCardImg {
    background: url(../img/indexCardTwo.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}

.cardTwo:hover .hdrCardImg {
    background: url(../img/indexCardTwoColor.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}

.hdrCard .hdrCardTxt {
    padding: 35px 25px 30px 25px;
}

.hdrCardTxt h3 {
    margin-bottom: 0px;
    margin-top: 0px;
    font-weight: 500;
}

.hdrCard .hdrCardTxt p {
    font-size: 16px;
    font-weight: 400;
}

.arrwA {
    color: var(--mainGreen);
    font-size: 1.6rem;
    display: inline-block;
}

.arrwA span {
    display: inline-block;
    vertical-align: middle;
}

.arrwA svg {
    display: inline-block;
    vertical-align: middle;
    fill: var(--mainGreen);
    width: 19px;
    height: 19px;
    margin-left: 5px;
}

/*header END*/
.txtRight {
    text-align: right;
}

.txtCenter {
    text-align: center;
}

.landingSlider {
    background: #fff;
    padding: 40px 0 0px 0;
}

.landingSlider h2 {
    margin: 40px auto;
    margin-top: 0px;
    text-align: center;
    padding: 0 30px;
}

.landingSlider p {
    margin: 65px auto;
    margin-bottom: 0px;
}

.larger {
    font-size: 2.4rem;
    line-height: 3.2rem;
}

.landSliderWrapper {
    padding: 80px 0 80px 0;
    background: url(../img/map.png)no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.holdsTheSlider .owl-stage-outer {
    padding-bottom: 20px;
    padding-top: 20px;
}

.holdsTheSlider {
}

.slideItem {
    padding: 10px;
    padding-bottom: 0;
    border-radius: 3px 3px 40px 3px;
    box-shadow: 0 6px 29px -18px #4d4d4d;
    background: #fff;
    display: block;
    transition: all 0.3s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}

.slideItem:hover {
    border-radius: 3px;
}

.slideItem:hover .slideTxt {
    color: var(--mainGreen);
}

.slideItem:hover .slideTxt svg {
    fill: var(--mainGreen);
}

.slideTxt {
    position: relative;
    padding: 20px 0;
}

.slideTxt span {
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    padding: 0 28px;
    padding-top: 4px;
    display: block;
}

.slideTxt svg {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.slideItem .slideImg {
    width: 100%;
    position: relative;
    padding-bottom: 65%;
    overflow: hidden;
}

.slideItem .slideImg img {
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.landSliderWrapper .container {
    position: relative;
}

.landSliderWrapper .slideBtn {
    color: var(--mainGreen);
    display: inline-block;
    width: 60px;
    height: 60px;
    background: #fff;
    font-size: 71px;
    /* display: block; */
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1;
    border-radius: 60px;
    cursor: pointer;
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%) translateX(-120%);
}

.landSliderWrapper .slideBtn img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    transform: translateY(-50%) translateX(-50%) rotateY(0deg);
}

.slideBtn.slidePrev {
    left: 0;
    right: auto;
    transform: translateY(-50%) translateX(-120%);
    /* transform: translateY(calc(50% - 20px)) translateX(-120%); */
}

.slideBtn.slidePrev img {
    transform: translateY(-50%) translateX(-50%) rotateY(-180deg);
}

.slideBtn.slideNext {
    right: 0;
    left: auto;
    transform: translateY(-50%) translateX(120%);
    /* transform: translateY(calc(50% - 20px)) translateX(120%); */
}

.slideBtn.slideNext img {
}

.goToContactSection {
    text-align: center;
    padding-top: 85px;
    padding-bottom: 85px;
    margin-top: 150px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
}

.topGreen {
    text-transform: uppercase;
    color: var(--mainGreen);
}

.btnMain {
    font-size: 2.1rem;
    line-height: 1;
    border: 1px solid #fff;
    border-radius: 0 0 12px 0;
    padding: 17px 99px;
    display: inline-block;
    position: relative;
    text-align: center;
}

.btnMain svg {
    fill: #fff;
    width: 23px;
    height: 23px;
    text-align: right;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0;
    transition: all 0.1s ease-in-out;
    opacity: 1;
}

.btnGreen {
    background: var(--mainGreen);
    color: #fff;
    padding: 12px 54px;
}

.btnGreen:hover {
    color: var(--darkGrey);
}

.btnGreen:hover svg {
    fill: var(--darkGrey);
}

.btnGreen svg {
    fill: #fff;
    transition: all 0.3s ease-in-out;
}

.btnArrwAnimte {
}

.btnArrwAnimte svg + svg {
    opacity: 0;
    width: 34px;
    height: 15px;
}

.btnArrwAnimte:hover svg {
    opacity: 0;
}

.btnArrwAnimte:hover svg + svg {
    opacity: 1;
}

.goToContactSection .btn {
    /* min-width: 320px; */
    background: rgba(255, 255, 255, 0.3);
}

.goToContactSection .btn:hover {
    background: var(--mainGreen);
    color: #fff;
}

/*footer*/
footer {
    padding-top: 50px;
    padding-bottom: 50px;
    background: #f6f6f6;
}

footer .footerTop {
    text-align: center;
    margin-bottom: 25px;
}

footer .footerLogo {
    display: block;
}

footer .footerLogo img {
    width: 200px;
}

.footerBtm {
    margin-top: 0px;
    width: 100%;
    font-size: 1.6rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.footerBtm .ftrBox {
    flex: 0 0 33%;
}

.footerBtm .ftrBox.ftrOne {
    flex: 0 0 30%;
}

.footerBtm .ftrBox.ftrTwo {
    flex: 0 0 27%;
}

.footerBtm .ftrBox.ftrThree {
    flex: 0 0 70%;
}

.footerBtm .ftrBox ul {
}

.footerBtm .ftrBox ul li {
    display: inline-block;
}

.footerBtm .ftrBox ul li a {
    font-weight: 500;
}

.footerBtm .ftrBox ul li + li {
    margin-left: 35px;
}

/*footer*/
.txtAftrSldr {
    background: #fff;
    padding-top: 65px;
    padding-bottom: 65px;
    font-size: 24px;
}

.txtAftrSldr p {
    max-width: 78%;
    margin: auto;
}

.topSection {
    padding-top: 150px;
    background: rgba(255, 255, 255, 0.8);
    padding-bottom: 75px;
}

.topSection h1 {
    /*    border-bottom: 2px solid var(--mainGreen);
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 50px;*/
}

.topSection h4 {
    display: inline-block;
}

.topSection .topSectionTxt {
    width: 50%;
}

.prodBoxes {
    background: rgba(255, 255, 255, 0.8);
    padding-bottom: 130px;
}

.prodBoxes .container {
}

.prodBoxes .prodBoxRow {
    display: flex;
    justify-content: space-between;
}

.prodBoxes .prodBox {
    padding: 5px 5px 0px 5px;
    background: #fff;
    border-radius: 0 0 65px 0;
    flex: 0 0 32%;
}

.prodBox .prodBoxImg {
    position: relative;
    width: 100%;
    padding-bottom: 54%;
}

.prodBoxImg img {
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.prodBox .prodBoxTxt {
    padding: 35px 25px 30px 25px;
}

.prodBoxTxt h3 {
    margin-bottom: 10px;
    font-weight: 500;
}

.prodBoxTxt p {
    margin-bottom: 25px;
}

.prodBoxTxt a {
}

.prodBoxRow.prodBoxRowLast {
    margin-top: 75px;
    justify-content: flex-start;
}

.prodBoxRow.prodBoxRowLast .prodBox + .prodBox {
    margin-left: 2%;
}

.landingSlider.prodDetailSLider {
    background: rgba(255, 255, 255, 0.8);
    padding: 0;
}

.prodDetailSLider .landSliderWrapper {
    background: transparent;
    padding-top: 80px;
}

.prodDetHeader {
    background: rgba(255, 255, 255, 0.65);
    margin-bottom: 0;
}

.prodDetContainer {
    margin-left: calc(50% - 585px);
    width: auto;
}

.prodDetHeadWrapper {
    position: relative;
}

.prodDetHeadWrapper .prodDetHeadBoxLeft {
    /* background: #fff; */
    /* width: 50%; */
    display: flex;
    align-items: stretch;
}

.prodDetHeadBoxLeft .prodDetHeadBoxLeftTxt {
    padding-top: 75px;
    padding-bottom: 75px;
    /*padding-left: calc(100vw - 86vw/0.927);*/
    width: 50%;
    background: #fff;
}

.prodDetHeadBoxLeftTxtMinor {
    padding-right: 60px;
}

.prodDetHeadWrapper .prodDetHeadBoxRight {
    width: 50%;
    top: 0;
    position: relative;
    right: 0;
}

.prodDetHeadWrapper h1 {
}

.headH1 {
    border-bottom: 2px solid var(--mainGreen);
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 50px;
}

.prodDetHeadBoxLeftTxt .headH1 {
    margin-bottom: 40px;
    display: block;
}

.prodDetHeadWrapper h3 {
    margin-bottom: 25px;
}

.prodDetHeadWrapper h4 {
}

.backA {
    color: var(--mainGreen);
    position: relative;
    display: inline-block;
    font-size: 2.4rem;
    line-height: 3.6rem;
    font-weight: 500;
    padding-left: 35px;
}

.prodDetHeadBoxLeftTxt .backA {
    margin-top: 100px;
}

.backA span {
    display: inline-block;
    vertical-align: middle;
}

.backA svg {
    width: 23px;
    height: 23px;
    display: inline-block;
    position: absolute;
    fill: var(--mainGreen);
    left: 0;
    transform: translateY(-50%) scale(-1);
    top: 50%;
}

.prodDetSlideWrapp {
    position: relative;
    top: -80px;
    height: 100%;
}

.prodDetSlideWrapp .prodDetSlider {
    height: 95%;
}

.prodDetSlider .prodDetImgSlideWrapp {
    position: relative;
    width: 100%;
    /* padding-bottom: 68%; */
    height: 100%;
    width: 100%;
    height: 100%;
}

.prodDetImgSlideWrapp img {
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
    position: absolute;
}

.prodDetSlideWrapp {
}

.prodDetSLideNav {
    background: #f6f6f6;
    position: absolute;
    bottom: -80px;
    left: 0;
    display: flex;
    height: calc(80px + 5%);
    align-items: center;
    justify-content: space-between;
    /* padding: 0 20px; */
    border-radius: 0 0 30px 0;
    overflow: hidden;
}

.prodDetSLideNav .prodDetSlideBtn {
    cursor: pointer;
    position: relative;
    height: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

.prodDetSLideNav .prodDetSlideBtn:hover {
    background: #4d4d4d;
}

.prodDetSLideNav .prodDetSlideBtn img {
    width: 55px;
    height: auto;
}

.prodDetSlideBtn.prodDetSlideBtnLeft {
    transform: scale(-1);
    padding: 0 20px 0 0px;
    border-radius: 0;
}

.prodDetSlideBtn.prodDetSlideBtnRight {
    padding: 0 20px 0 0px;
}

.prodDetSlider .owl-stage-outer {
    height: 100%;
}

.prodDetSlider .owl-stage-outer .owl-stage {
    height: 100%;
}

.prodDetSlider .owl-stage-outer .owl-stage .owl-item {
    height: 100%;
}

.prodDetSlideWrapp .owl-dots {
    position: absolute;
    bottom: 30px;
    z-index: 1;
    left: 0;
    right: 0;
    text-align: center;
}

.prodDetSlideWrapp .owl-dots .owl-dot {
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    border-radius: 100px;
    background: #fff;
}

.prodDetSlideWrapp .owl-dots .owl-dot.active {
    background: var(--mainGreen);
}

.prodDetSlideWrapp .owl-dots .owl-dot + .owl-dot {
    margin-left: 10px;
}

.mapSection {
    background: rgba(255, 255, 255, 0.65);
    padding-top: 150px;
}

.mapTop {
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    z-index: 1;
}

.mapTop .mapLeft {
    background: var(--darkGrey);
    color: #fff;
    width: 50%;
    position: relative;
    padding: 65px;
    padding-left: calc(100vw - 86vw/0.927);
}

.mapTop .mapLeft h2 {
}

.mapTop .mapRight {
    width: 50%;
    position: relative;
    background: #fff;
    position: relative;
    top: 65px;
}

.mapSearchBox {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
}

.mapSearchBox input {
    padding: 65px;
    width: 80%;
    font-size: 4.6rem;
    border: none;
    box-shadow: none;
    transition: all 0.3s ease-in-out;
}

.mapSearchBox input:active, .mapSearchBox input:focus, .mapSearchBox input:focus-visible {
    border: none;
    outline: none;
    box-shadow: 2px 2px 12px -6px #4d4d4d;
}

.mapSearchBox .mapSearchBtn {
    width: 20%;
    background: var(--mainGreen);
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: background 0.3s ease-in-out;
    cursor: default;
    position: relative;
}

.mapSearchBox .mapSearchBtn.loading {
    background: var(--darkGrey);
}

.mapSearchBox .mapSearchBtn:after {
    width: 0%;
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    background: var(--mainGreen);
    content: "";
    /* opacity: 0.3; */
    height: 10px;
}

.mapSearchBox .mapSearchBtn.loading:after {
    animation: btnSrchLoading 1.8s infinite ease-in-out;
}

@keyframes btnSrchLoading {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

/*.mapSearchBox .mapSearchBtn:hover {
    background: var(--darkGrey);
}*/
.mapSearchBtn svg {
    position: relative;
    fill: #fff;
    width: 50%;
    height: auto;
}

.mapBox {
    background: #dcdcdc;
    background-position: center;
    background-size: cover;
    min-height: 80vh;
    position: relative;
    outline: none!important;
    border: none!important;
}

#map {
    width: 100%;
    height: 100%;
    position: absolute;
}

.mapBox > div:focus-visible {
    border: none;
    outline: none;
}

.mapBox > *, .mapBox > *:focus-visible, #map > *, #map > *:focus {
    border: none!important;
    outline: none!important;
}

.gm-style iframe + div {
    border: none!important;
    outline: none!important;
}

.mapBox {
    color: #fff;
    position: relative;
}

.mapBox .mapGps {
    background: var(--mainGreen);
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    /* padding: 45px; */
    padding-right: 100px;
    border-radius: 72px;
    cursor: pointer;
    bottom: auto!important;
    right: auto!important;
    font-family: Dax,sans-serif!important;
    font-weight: 400!important;
}

.mapGps span {
    font-size: 3.8rem;
    padding: 40px;
    display: block;
}

.mapGps .mapGpsBtn {
    display: inline-flex;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    justify-content: center;
    align-items: center;
    width: 100px;
    border-left: 2px dashed #fff;
}

.mapGps .mapGpsBtn svg {
    fill: #fff;
    width: 53px;
}

.preisliste {
    padding-top: 150px;
    background: rgba(255, 255, 255, 0.65);
}

.preislisteInner {
    padding: 75px 0 100px 0;
    background: rgba(255, 255, 255, 0.65);
}

.prslisteBoxesWrapp {
    display: flex;
    justify-content: space-between;
}

.prslisteBoxesWrapp .prslsteLeft {
    flex: 0 0 58%;
}

.prslisteBoxesWrapp .prslsteLeft h2 {
    color: var(--mainGreen);
}

.prslisteBoxesWrapp .prslsteLeft h5 {
}

.prslisteBoxesWrapp .prslsteRight {
    flex: 0 0 38%;
    position: relative;
    top: -150px;
}

.prslisteBoxesWrapp .prslsteRight .preisListeImgHold {
    border: 2px solid var(--mainGreen);
    background: #fff;
    padding: 30px;
}

.prslisteBoxesWrapp .prslsteRight img {
    width: 100%;
    /* max-width: 270px; */
    height: auto;
    display: block;
    margin: auto;
}

.preisListTbleWrp {
    padding: 45px 35px;
    border: 1px solid #000;
    margin-top: 45px;
}

.preisListTbleWrp table {
    width: 100%;
}

.preisListTbleWrp table th {
    padding-bottom: 15px;
}

.preisListTbleWrp table thead tr {
}

.preisListTbleWrp table thead {
    border-bottom: 2px solid var(--mainGreen);
}

.preisListTbleWrp table td {
    width: 70%;
    font-size: 24px;
    padding-bottom: 20px;
    padding-top: 20px;
}

.preisListTbleWrp table td + td {
    text-align: right;
    width: 30%;
}

.preisListTbleWrp table tr {
    border-bottom: 1px solid var(--darkGrey);
}

.preisListTbleWrp table tr:last-of-type {
    border-bottom: 0px;
}

.preisListTbleWrp table tr:last-of-type td {
    padding-bottom: 0px;
}

.preisListTbleWrp table tr td:first-of-type {
    text-transform: uppercase;
}

.light {
    font-weight: 400;
}

.prslsteLeftTxtPadded {
    padding: 40px;
    padding-bottom: 0;
}

.formSection {
    padding-top: 100px;
    padding-bottom: 100px;
    background: rgba(255, 255, 255, 0.65);
}

.formSectionInner {
    padding: 130px 0 0px 0;
    position: relative;
}

/*.formSectionInner:before {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    bottom: 0;
    background: var(--darkGrey);
    content: "";
    width: 70%;
}
*/
.formSectionInner > * {
    position: relative;
    z-index: 1;
}

.formSection .formBoxesWrapp {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.formSection .formLeft {
    flex: 0 0 50%;
    color: #fff;
    position: relative;
}

.formSection .formLeft:before {
    position: absolute;
    z-index: -1;
    left: -50%;
    top: -130px;
    bottom: -130px;
    background: var(--darkGrey);
    content: "";
    width: auto;
    right: -47%;
}

.formSection .formBoxesWrapp .formLeft h2 {
    color: var(--mainGreen);
}

.formSection .formBoxesWrapp .formLeftTxt {
    padding-right: 40px;
}

.formSection .formBoxesWrapp .formRight {
    flex: 0 0 50%;
    background: #fff;
    padding: 100px 150px;
    position: relative;
    margin-top: -40px;
}

.formSection .formRightContent {
}

.formRow {
}

.checkbogz {
    position: relative;
    cursor: pointer;
}

.checkbogz label {
    font-size: 2.1rem;
    margin: auto;
    cursor: pointer;
    position: relative;
    font-weight: 400;
    padding-left: 40px;
}

.checkbogz input {
    position: absolute;
    left: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

.checkItem {
    position: absolute;
    left: 0;
    top: 50%;
    width: 29px;
    height: 29px;
    border-radius: 59px;
    border: 1px solid #000;
    display: block;
    margin: 0;
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.checkbogz input + .checkItem:after {
    position: relative;
    /* width: auto; */
    background: var(--mainGreen);
    /* left: 50%; */
    /* top: 50%; */
    /* transform: translateX(-50%) translateY(-50%); */
    content: "";
    border-radius: 200px;
    border: 4px solid white;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    transform: scale(0);
}

.checkbogz input:checked + .checkItem:after {
    transition: all 0.3s ease-in-out;
    opacity: 1;
    transform: scale(1);
}

.checkbogz.chck .checkItem {
    border-radius: 7px;
}

.checkbogz.chck input:checked + .checkItem:after {
    border-radius: 7px
}

.formChecks .formItem {
    display: inline-block;
    vertical-align: middle;
}

.formChecks .formItem + .formItem {
    margin-left: 50px;
}

.formItem {
    position: relative;
}

.formInputItem {
    position: relative;
    width: 100%;
}

.formInputItem .formInput {
    position: relative;
    padding: 10px 20px;
    width: 100%;
    border: 1px solid var(--darkGrey);
    border-radius: 0 0 10px 0;
    font-size: 21px;
    font-weight: 500;
}

.formInputItem span {
    display: inline-block;
    position: absolute;
    background: transparent;
    left: 15px;
    top: 11px;
    font-size: 21px;
    transition: all 0.3s ease-in-out;
    padding: 0 5px;
    color: #ABABAB;
    pointer-events: none;
}

.formInputItem.focused span {
    top: -8px;
    font-size: 14px;
    color: var(--darkGrey);
    background: #fff;
}

.formRow + .formRow {
    margin-top: 20px;
}

.formInput:active, .formInput:focus, .formInput:focus-visible {
    outline: none;
}

.formRow.double {
    display: flex;
    justify-content: space-between;
}

.formRow.double .formInputItem {
    width: 48%;
}

textarea.formInput {
    height: 155px;
    resize: none;
    display: block;
}

.newsAndTerms label {
    font-size: 14px;
}

.formRow label a {
    color: var(--mainGreen);
}

.prodDetHeader {
}

.prodDetHeader {
}

.teamHeadSection {
    background: #f5f9f5;
}

.teamHeader {
    display: flex;
    align-items: center;
    min-height: 77vh;
    background: url(../img/teamPhoto.jpg)no-repeat;
    background-position: left center;
    background-size: cover;
    border-radius: 0 0 84px 0;
}

.teamHeader h1 {
    border-bottom: 2px solid var(--darkGrey);
    display: inline-block;
    padding-right: 20px;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.teamHeader h4 {
}

.teamHeadTxt {
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    background: rgb(255,255,255);
    background: radial-gradient(circle, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0) 56%);
}

.teamPhotosSection {
    padding-top: 130px;
    padding-bottom: 185px;
    /* background: #f5f9f5; */
    background: rgba(255, 255, 255, 0.90);
}

.teamBoxRow {
    margin-top: 65px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.teamBox {
    width: 30%;
}

.teamBoxEmpty {
    width: 33%;
    padding: 40px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--mainGreen);
    border-radius: 0 0 25px 0;
}

.teamBox .teamBoxImg {
    border-radius: 0 0 25px 0;
    overflow: hidden;
    max-width: 245px;
}

.teamBoxImg img {
    width: 100%;
    height: auto;
}

.cntctTxtDet {
    font-size: 2.1rem;
    position: relative;
    padding-left: 32px;
}

.cntctTxtDet span {
    display: inline-block;
    vertical-align: middle;
}

.cntctTxtDet a {
    color: var(--mainGreen);
    display: inline-block;
    vertical-align: middle;
}

.cntctTxtDet a:hover {
    color: var(--darkGrey);
}

.cntctTxtDet img {
    width: 24px;
    height: auto;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    position: absolute;
    left: 0;
    top: 3px;
    /* transform: translateY(-50%); */
}

.teamBoxRow + .teamBoxRow {
    margin-top: 130px;
}

.flexStart {
    justify-content: flex-start;
}

.teamBoxEmpty a {
    color: var(--mainGreen);
}

.teamBoxRow.lastTeamRow {
    justify-content: flex-start;
    align-items: stretch;
}

.preisHead {
    padding-top: 135px;
    padding-bottom: 125px;
}

.preisHead .preisHeadTxt {
    background: #fff;
    border-radius: 0 0 84px 0;
    padding-top: 100px;
    padding-bottom: 80px;
    width: 70%;
    padding-right: 145px;
    position: relative;
}

.preisHead .headH1 {
    display: block;
    width: 75%;
    margin-left: 0;
}

.preisBgd {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #f5f9f5;
    z-index: -1;
}

.fileDwnld {
    position: relative;
    display: inline-block;
    padding-left: 60px;
}

.preisHead .fileDwnld {
    margin-top: 50px;
}

.fileDwnld img {
    width: 39px;
    height: 39px;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

.fileDwnld span {
    font-size: 38px;
    font-weight: 500;
}

.roundBadge {
    text-align: center;
    background: var(--mainGreen);
    border-radius: 200px;
    border: 7px solid #fff;
    color: #fff;
    width: 230px;
    height: 230px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-shadow: 10px 2px 32px -15px #000000;
    position: absolute;
    right: 0;
    transform: translateX(50%) rotateZ(3.97deg);
    transition: all 0.3s ease-in-out;
    top: 40px;
}

.roundBadge:hover {
    color: #fff;
    transform: translateX(50%) rotateZ(0deg);
    box-shadow: 10px 0px 32px -12px #000000;
}

.roundBadge span {
    font-size: 28px;
    font-weight: 500;
    display: block;
    line-height: 33px;
    margin-top: 15px;
}

.roundBadge img {
    width: 35px;
    height: auto;
    margin-top: 17px;
    display: block;
    position: relative;
}

.preislistContact {
    padding-bottom: 100px;
}

.preisListCntxtBoxes {
    display: flex;
    justify-content: space-between;
}

.preisListCntxtBoxes .prslstBxLeft {
    flex: 0 0 43%;
    padding-right: 100px;
}

.preisListCntxtBoxes .prslstBxRight {
    flex: 0 0 43%;
}

.preisListCntxtBoxes .prslstBxRight .teamBox {
    width: 45%;
}

.prslstBxRight {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.preislistContact .formInputItem .formInput {
    background: transparent;
}

.preislistContact .formInputItem.focused span {
    background: #f5f9f5;
}

.preislistContact .btnMain {
    min-width: 300px;
}

.imprTxt {
    padding-top: 180px;
    padding-bottom: 180px;
    font-size: 2.1rem;
    line-height: 3rem;
}

.imprTxt .headH1 {
    min-width: 80%;
    border-bottom-color: var(--darkGrey);
}

#map {
    width: 100%;
    height: 100%;
}

.navTglr {
    position: absolute;
    display: none;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    padding: 5px;
}

.navTglr span {
    position: relative;
    width: 42px;
    height: 2px;
    background: var(--darkGrey);
    border-radius: 7px;
    display: block;
    transition: 0.4s;
    -webkit-transform: rotate(0deg) translate(0px, 0px);
    transform: rotate(0deg) translate(0px, 0px);
}

.navTglr span + span {
    margin-top: 9px;
}

.navTglr.tglrOpen {
}

.navTglr.tglrOpen .nvBrOne {
    -webkit-transform: rotate(-45deg) translate(-8px, 8px);
    transform: rotate(-45deg) translate(-8px, 8px);
}

.navTglr.tglrOpen .nvBrTwo {
    opacity: 0;
}

.navTglr.tglrOpen .nvBrThree {
    -webkit-transform: rotate(45deg) translate(-7px, -7px);
    transform: rotate(45deg) translate(-7px, -7px);
}

.mobileNav {
    background: var(--darkGrey);
    color: #fff;
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 90px;
    z-index: 9;
    border-radius: 0 0 40px 0;
    overflow: hidden;
}

.mobileNavItems {
    padding: 30px 60px;
    padding-top: 90px;
    height: 100%;
    padding-bottom: 230px;
}

.mblDrpdwn {
}

.mblDrpdwn .mblDrpdwnTtl {
    cursor: pointer;
    position: relative;
    padding-right: 45px;
}

.mblTtl {
    margin-bottom: 20px;
    font-size: 34px;
    display: block;
    color: #fff;
}

.mblDrpdwn .mblDrpdwnTtl.mblDrpOpen .mblTtl {
    color: var(--mainGreen);
}

.mblDrpdwn {
}

.mblDrpdwn:hover {
    color: var(--mainGreen);
}

.mblDrpdwn ul {
    display: none;
    color: #fff;
    margin-bottom: 30px;
}

.mblTtl {
    color: #fff;
}

.mblTtl:hover {
    color: var(--mainGreen);
}

.mblDrpdwn ul li {
    display: block;
    border-bottom: 1px solid #787878;
}

.mblDrpdwn ul li:last-of-type {
    border-bottom: none;
}

.mblDrpdwn ul li a {
    display: block;
    padding: 10px 15px;
    font-size: 24px;
    color: #fff;
}

.mblDrpdwn ul li a:hover {
    color: var(--mainGreen);
}

.mblDrpdwnTtl svg {
    width: 36px;
    height: 36px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotateZ(0deg);
    fill: #fff;
    transition: all 0.3s ease-in-out;
}

.mblDrpdwnTtl.mblDrpOpen svg {
    fill: var(--mainGreen);
    transition: all 0.3s ease-in-out;
    transform: translateY(-50%) rotateZ(45deg);
}

/*.mblDrpdwnTtl #mblPlus {
    display: block;
}
*/
/*.mblDrpdwnTtl #mblX {
    display: none;
    }*/
/*.mblDrpdwnTtl.mblDrpOpen #mblPlus {
    display: none;
    }*/
/*.mblDrpdwnTtl.mblDrpOpen #mblX {
    display: block;
    }*/
.mobileNavBtmItems {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 60px 60px 60px;
    opacity: 0;
    transition: all 0.35s ease-in-out;
    transform: translateY(10%);
}

.mobileNavBtmItems.btmShow {
    opacity: 1;
    transition: all 0.35s ease-in-out;
    transform: translateY(0%);
}

.mobileNavBtmItems a {
    font-size: 22px;
    color: #fff;
    display: block;
    margin-bottom: 10px;
}

.cookieWrap {
    display: none;
    position: fixed;
    bottom: 15px;
    left: 0;
    /* margin-left: 15px; */
    /* margin-right: 15px; */
    padding: 30px 20px;
    border: 8px solid whitesmoke;
    background: #fff;
    box-shadow: 7px 6px 12px -13px #000000;
    border-radius: 0 0 40px 0;
    background: #92bf99;
    z-index: 222222;
    /* min-width: 80vw; */
    left: 15px;
    right: 15px;
}

.cookieWrap .cookieInner {
    color: #fff;
}

.cookieInner {
    font-size: 1.1em;
}

.cookieWrap h4 {
    color: #ffffff;
    margin-bottom: 5px;
    font-weight: 500;
}

.cookieInner a {
    color: #fff;
    text-decoration: underline!important;
    font-weight: 500;
}

.cookieInner .cookieBtn {
    padding: 10px 15px;
    background: var(--darkGreen);
    color: #fff;
    display: inline-block;
    cursor: pointer;
    border: 1px solid transparent;
}

.cookieInner .cookieBtn.cookieSetBtn {
    background: transparent;
    border: 1px solid #fff;
}

.cookieInner .cookieBtn + .cookieBtn {
    margin-left: 20px;
}

.cookieBtnsRow {
    margin-top: 20px;
}

.cookieSetWrapp {
}

.cookieInner.stepTwo {
    display: none;
}

.cookieSetWrapp .cookieSetBox {
    position: relative;
}

.cookieSetBox .chckBx {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 2px;
}

.cookieSetBox p {
    padding-left: 65px;
    font-size: 0.9em;
}

.cookieSetWrapp h5 {
    margin-bottom: 10px;
}

.cookieSetBox .chckBx label {
    position: relative;
    width: 40px;
    height: 20px;
    cursor: pointer;
    margin: auto;
    display: block;
}

.cookieSetBox .chckBx input {
    position: absolute;
    visibility: hidden;
}

.chckBx .customChck {
    width: 100%;
    height: 100%;
    background: #646464;
    border-radius: 10px;
    position: relative;
    transition: all 0.2s ease-in-out;
}

.chckBx .customChck .tglr {
    width: 20px;
    height: 20px;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%) translateX(-100%);
    background: #d7d7d7;
    transition: all 0.2s ease-in-out;
    border-radius: 100px;
    padding-left: 50%;
    /* border: 1px solid #b8b5b5; */
    box-shadow: inset 0 0 2px #fff;
}

.cookieSetBox .chckBx input:checked + .customChck .tglr {
    background: var(--mainGreen);
    left: 0;
    transform: translateY(-50%) translateX(0%);
    transition: all 0.2s ease-in-out;
}

.cookieSetBox .chckBx input:checked + .customChck {
    background: #fff;
}

.cookieSetBox .chckBx .customChck .tglr span {
    font-size: 9px;
    font-weight: 100;
    color: #000;
    position: absolute;
    left: 50%;
    display: block;
    line-height: 1;
    top: 6px;
    transform: translateX(-50%);
    pointer-events: none;
}

.cookieSetBox .chckBx input + .customChck .tglr span.on {
    display: none;
}

.cookieSetBox .chckBx input:checked + .customChck .tglr span.on {
    display: block;
}

.cookieSetBox .chckBx input + .customChck .tglr span.off {
    display: block;
}

.cookieSetBox .chckBx input:checked + .customChck .tglr span.off {
    display: none;
}

.cookieSetWrapp .cookieBtn {
    margin-top: 20px;
}

.mobileNavBtmItems .btn {
    width: 100%;
    margin-top: 40px;
}

.prodDetHeader {
    margin-bottom: 0px
}

.contactDataMble {
    display: none;
}

.InfoModal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 9999;
}

.InfoModal.showMe {
    display: flex;
}

.InfoModal .infoModalCntnt {
    background: var(--darkGrey);
    border-radius: 3px 3px 40px 3px;
    box-shadow: 0 6px 29px -18px #4d4d4d;
    overflow: hidden;
    padding: 30px;
    min-width: 60vw;
    min-height: 40vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.btn {
    user-select: none;
    cursor: pointer;
}

.InfoModal h3 {
    color: var(--mainGreen);
    margin: 0;
}

.InfoModal h4 {
    margin: 0;
    color: #fff;
}

.InfoModal .btn {
    margin-top: 20px;
}

.hasError {
    color: #c53939;
}

.hasError .formInput {
    border-color: #c53939;
}

.hasError span {
    color: #c53939;
}

.isBtnLoading {
    position: relative;
    opacity: 0.5;
    pointer-events: none;
    overflow: hidden;
}

.hasError .checkItem {
    border: 1px solid #c53939;
}

.isBtnLoading:after {
    position: absolute;
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    width: 0%;
    height: 2px;
    background: var(--darkGreen);
    content: "";
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: btnLoad;
    animation-timing-function: linear;
}

@keyframes btnLoad {
    to {
        width: 100%;
        left: 100%;
    }
}

.formAlert {
    background: #c53939;
    color: #fff;
    padding: 5px 15px;
    font-size: 14px;
    border-radius: 7px;
    margin-top: 20px;
    margin-bottom: 10px;
    display: none;
}

.formAlert.span {
}

@media (max-width: 1760px) {
    .headerCntnt h1 {
        font-size: 4.6rem;
    }

    .headerCntnt h3 {
        font-size: 3rem;
    }

    .hdrCard {
        width: 295px;
    }

    .mapSearchBox input {
        font-size: 2.8rem;
        padding: 30px 40px;
    }

    .mapTop .mapLeft h2 {
        font-size: 3.3rem;
    }

    .mapTop .mapLeft {
        padding: 30px 40px;
    }

    .mapSearchBtn svg {
        width: 38%;
    }

    .mapGps span {
        font-size: 2.8rem;
        padding: 20px;
    }

    .mapBox {
        height: 680px;
    }

    .formSection .formBoxesWrapp .formRight {
        padding: 60px 50px;
    }

    .preisHead .preisHeadTxt {
        width: 85%;
    }

    .preisListCntxtBoxes .prslstBxLeft {
        flex: 0 0 40%;
        padding-right: 40px;
    }

    .preisListCntxtBoxes .prslstBxRight {
        flex: 0 0 57%;
    }
}

@media (max-width: 1380px) {
    .headerCntnt h1 {
        font-size: 4.3rem;
        line-height: 1.1;
    }

    .headerCntnt h3 {
        font-size: 2.8rem;
        line-height: 1.3;
    }

    .header {
        padding-top: 115px;
    }

    .hdrBtnTxt span {
        font-size: 3rem;
    }

    .hdrBtn {
        padding: 25px 20px;
    }

    .navItems ul li .navItem {
        font-size: 2rem;
    }

    .navItems ul li + li {
        margin-left: 40px;
    }

    .subNav {
        top: 135px;
        padding: 40px 0 60px 0;
    }

    .subItemBox {
        min-width: 125px;
    }

    .subNav .subItemBox + .subItemBox {
        margin-left: 40px;
    }

    .subNav .subItemBox .opener {
        font-size: 2rem;
    }

    nav .logo {
        padding: 40px 40px 30px 40px;
    }

    nav .logo img {
        width: 155px;
    }

    .subNav .subItemBox ul li + li {
        margin-top: 20px;
    }

    .subNav .subItemBox .opener {
        margin-bottom: 30px;
    }

    h1 {
        font-size: 5rem;
        font-weight: 500;
        line-height: normal;
    }

    h2 {
        font-size: 3.6rem;
    }

    h3 {
        font-size: 3rem;
        font-weight: 500;
        line-height: normal;
    }

    h4 {
        font-size: 2rem;
        line-height: normal;
    }

    h5 {
        font-size: 1.8rem;
        line-height: normal;
    }

    .slideTxt span {
        font-size: 2rem;
    }

    .slideBtn.slideNext {
        right: 45px;
    }

    .slideBtn.slidePrev {
        left: 45px;
    }

    .landSliderWrapper .slideBtn {
        width: 40px;
        height: 40px;
    }

    .landSliderWrapper .slideBtn img {
        width: 30px;
    }

    .fileDwnld span {
        font-size: 26px;
        font-weight: 500;
    }

    .teamHeadSection {
        padding-right: 0px!important;
    }

    .teamHeader {
        background: #fff;
        position: relative;
        z-index: 2;
    }

    .teamHeader:before {
        position: absolute;
        background: #fff;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        content: "";
        z-index: 0;
    }

    .teamHeader:after {
        position: absolute;
        background: #fff;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        content: "";
        z-index: 1;
        background: url(../img/teamPhoto.jpg)no-repeat;
        background-position: center;
        background-size: cover;
        border-radius: 0 0 84px 0;
    }
}

@media (max-width: 1199px) {
    .hdrCard {
        width: 225px;
    }

    .hdrCard .hdrCardTxt {
        padding: 25px 15px 25px 15px;
    }

    .topSection {
        padding-top: 115px;
    }

    .mapSearchBox input {
        font-size: 2.4rem;
        padding: 20px 20px;
    }

    .mapTop .mapLeft {
        padding: 20px 20px;
    }

    .mapTop .mapLeft h2 {
        font-size: 2.6rem;
    }

    .mapGps span {
        font-size: 2.6rem;
        padding: 20px;
    }

    .roundBadge span {
        font-size: 20px;
        font-weight: 500;
        display: block;
        line-height: 1.4;
        margin-top: 15px;
    }

    .roundBadge {
        width: 185px;
        height: 185px;
    }

    .roundBadge img {
        margin-top: 0px;
    }

    .preisHead {
        padding-bottom: 60px;
    }

    .preisListCntxtBoxes {
        display: block;
    }

    .preisListCntxtBoxes .prslstBxLeft {
        padding-right: 0px;
        margin-bottom: 60px;
    }

    .teamBoxRow.lastTeamRow {
        width: 100%;
    }

    .lastTeamRow .teamBox {
    }

    .lastTeamRow .teamBoxEmpty {
        width: 40%;
        margin-left: 40px;
    }

    .teamBox .teamBoxImg {
        width: 100%;
        max-width: unset;
    }

    .teamBox {
        width: 32%;
    }
}

@media (max-width: 991px) {
    footer .footerTop {
        text-align: center;
        margin-bottom: 20px;
    }

    .fixBgdPrlx {
        background-attachment: scroll;
    }

    .headerCntnt .rightBox {
        flex: 0 0 100%;
        order: 0;
        text-align: center;
        display: flex;
        width: 100%;
        position: relative;
        /* transform: translateX(-6%); */
        perspective: 1800px;
        margin: auto;
    }

    .hdrCard {
        box-shadow: 0 6px 37px -18px #4d4d4d;
    }

    .header {
        margin-bottom: 80px;
    }

    .headerCntnt .leftBox {
        flex: 0 0 100%;
        order: 1;
        margin-top: 40px;
    }

    .headerCntnt {
        flex-direction: column;
    }

    .topNav .container {
        margin: 0px;
        width: 100%;
        padding-left: 0px;
        padding-right: 0px;
    }

    nav .logo {
        left: 0;
        padding: 30px;
    }

    nav .logo img {
        width: 110px;
    }

    .navItems {
        display: none;
    }

    .navTglr {
        display: inline-block;
    }

    .subNav {
    }

    .container, .container-max {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    .header {
        padding-top: 75px;
        padding-bottom: 60px;
    }

    .slideBtn.slideNext {
        right: 55px;
    }

    .slideBtn.slidePrev {
        left: 55px;
    }

    .hdrCard {
        width: 50%;
        transform: translateY(0%) translateX(1%) rotateY(-0deg);
        border-radius: 0 0 35px 0;
        z-index: 1;
        transform-style: preserve-3d;
    }

    .hdrCard + .hdrCard {
        transform: translateY(-13%) translateX(-1%) rotateY(0deg);
        z-index: 2;
    }

    .hdrCard .hdrCardTxt p {
        display: none;
    }

    .hdrCard .hdrCardTxt {
        padding: 15px 15px 15px 15px;
    }

    .hdrCard .arrwA {
        margin-top: 10px;
    }

    .hdrCard .txtRight {
        text-align: left;
    }

    .headerCntnt h1 {
        font-size: 3.4rem;
        line-height: 4.1rem;
    }

    .headerCntnt h3 {
        font-size: 2.2rem;
        line-height: normal;
    }

    h1 {
        font-size: 3rem;
        font-weight: 500;
        line-height: normal;
    }

    h2 {
        font-size: 2.8rem;
    }

    h3 {
        font-size: 2.4rem;
        line-height: normal;
    }

    h4 {
        font-size: 2rem;
        line-height: normal;
    }

    h5 {
        font-size: 1.8rem;
        line-height: normal;
    }

    .hdrBtnWrapp {
        text-align: center;
    }

    .goToContactSection {
        margin-top: 80px;
    }

    .goToContactSection {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    footer {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .footerBtm {
        flex-direction: column;
        align-items: center;
    }

    .footerBtm .ftrBox {
        flex: 0 0 100%!important;
    }

    .ftrOne {
        order: 2;
    }

    .ftrTwo {
        order: 1;
        margin-bottom: 20px;
    }

    .ftrThree {
        order: 0;
        margin-bottom: 20px;
        width: 100%;
    }

    /*   .footerBtm .ftrBox ul li a {
        color: var(--darkGrey);
    }
  .footerBtm .ftrBox ul li  span{
        color: var(--darkGrey)!important;
    }*/
    .ftrOne span {
        font-size: 1.4rem;
    }

    .footerBtm .ftrBox ul {
        text-align: center;
    }

    .footerBtm .ftrBox ul {
        display: flex;
        justify-content: space-between;
    }

    .footerBtm .ftrBox ul li + li {
        margin-left: 0;
    }

    .footerBtm .ftrBox ul li:first-of-type {
        /*display: none;*/
    }

    .txtAftrSldr {
        padding-top: 50px;
        padding-bottom: 50px;
        font-size: 1.8rem;
    }

    .txtAftrSldr p {
        width: auto;
        max-width: unset;
    }

    .goToContactSection .btnMain {
        padding: 15px 54px;
        min-width: 80%;
    }

    .headerCntnt .mt30 {
        margin-top: 20px!important;
    }

    .mblLght {
        font-weight: 400;
    }

    .topSection {
        padding-top: 75px;
        padding-bottom: 60px;
    }

    .prodBoxes .prodBoxRow {
        flex-direction: column;
    }

    .prodBoxes .prodBox {
        flex: 0 0 100%;
        margin-bottom: 40px;
    }

    .prodBoxRow.prodBoxRowLast {
        margin-top: 0px;
    }

    .prodBoxes {
        padding-bottom: 40px;
    }

    .prodDetHeadBoxLeftTxt .backA {
        margin-top: 30px;
    }

    .prodBoxRow.prodBoxRowLast .prodBox + .prodBox {
        margin-left: 0px;
    }

    .prodDetHeadWrapper .prodDetHeadBoxLeft {
        display: block;
    }

    .prodDetHeadBoxLeft .prodDetHeadBoxLeftTxt {
        width: auto;
        padding-top: 35px;
        padding-bottom: 35px;
    }

    .prodDetHeadBoxLeftTxt {
        padding-right: 15px;
    }

    .prodDetHeadBoxLeftTxtMinor {
        padding-right: 0px;
    }

    .prodDetHeadBoxRight {
        width: 100%;
        height: 400px;
    }

    .prodDetSlideWrapp {
        position: relative;
        top: 0px;
        height: 100%;
    }

    .prodDetSlider .owl-stage-outer {
        width: 100%;
    }

    .prodDetHeadWrapper .prodDetHeadBoxRight {
        width: 100%;
    }

    .prodDetSlideWrapp .prodDetSlider {
        height: 100%;
    }

    .prodDetHeader {
        padding-bottom: 120px;
        margin-bottom: 0px;
    }

    .prodDetSLideNav {
        bottom: -80px;
        height: 80px;
    }

    .mapSection {
        padding-top: 0px;
    }

    .mapTop .mapLeft {
        width: 100%;
    }

    .mapTop .mapRight {
        width: 100%;
        top: 0;
    }

    .mapTop {
        display: block;
    }

    .mapSearchBtn svg {
        width: 40px;
    }

    .mapGps .mapGpsBtn svg {
        width: 40px;
    }

    .mapGps span {
        font-size: 1.8rem;
    }

    .mapSearchBox input {
        font-size: 1.8rem;
    }

    .mapTop .mapLeft h2 {
        font-size: 2.4rem;
    }

    .mapBox .mapGps {
        min-width: 395px;
    }

    .preisliste {
        padding-top: 0px;
    }

    .preislisteInner {
        padding-top: 40px;
        padding-bottom: 0px;
    }

    .prslisteBoxesWrapp {
        display: block;
    }

    .mobileFull {
        width: 100%;
    }

    .prslsteLeftTxtPadded {
        padding-left: 0;
        padding-right: 0;
    }

    .prslisteBoxesWrapp .prslsteRight {
        top: 0;
        margin-top: 40px;
    }

    .prslisteBoxesWrapp .prslsteRight .preisListeImgHold {
        margin-left: 0;
        margin-right: 0;
        /* border-left: none; */
        /* border-right: none; */
    }

    .formSection {
        padding-top: 40px;
        padding-bottom: 0px;
    }

    .formSectionInner {
        padding-top: 40px;
        background: var(--darkGrey);
    }

    .formSection .formBoxesWrapp .formRight {
        padding: 40px 0px 0px 0px;
        margin-top: 0;
        margin-top: 40px;
        background: transparent;
        color: #fff;
    }

    .formSection .formBoxesWrapp .formRight.formMedia {
        padding-bottom: 40px;
    }

    .formSection .formBoxesWrapp .formRight .checkItem {
        border-color: #fff;
    }

    .formRight .formInputItem .formInput {
        background: transparent;
        border: 1px solid #fff;
    }

    .formRight .formInputItem.focused span {
        background: var(--darkGrey)!important;
        color: #fff!important;
    }

    .formRight .formInputItem select.formInput {
        background: var(--darkGrey);
        color: #fff;
    }

    .formSection .formLeft:before {
        display: none;
    }

    .formSection .formBoxesWrapp {
        display: block;
    }

    .landSliderWrapper, .prodDetailSLider .landSliderWrapper {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .preisHead {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .fileDwnld {
        padding-left: 42px;
    }

    .fileDwnld span {
        font-size: 2rem;
    }

    .fileDwnld img {
        width: 29px;
        height: 29px;
    }

    .preisHead .preisHeadTxt {
        width: 100%;
        border-radius: 0px;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .roundBadge {
        right: 15px;
        transform: none;
        top: auto;
        bottom: 0%;
        width: 135px;
        height: 135px;
        transform: translateY(50%);
    }

    .roundBadge span {
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1.2;
    }

    .roundBadge img {
        width: 21px;
        margin-top: 0px;
    }

    .prslstBxLeft h3 {
        max-width: 70%;
        text-align: left;
        margin-left: 0;
    }

    .prslstBxRight {
        display: block;
    }

    .preisListCntxtBoxes .prslstBxRight .teamBox {
        width: auto;
    }

    .preisListCntxtBoxes .prslstBxRight .teamBox + .teamBox {
        margin-top: 60px;
    }

    .teamBox .teamBoxImg {
        max-width: unset;
    }

    .preislistContact {
        padding-bottom: 40px;
    }

    .teamHeader .teamHeadTxt {
        display: none;
    }

    .contactDataMble {
        display: block;
        background: #fff;
    }

    .contactDataMble .teamHeadTxt {
        padding-top: 60px;
        padding-bottom: 80px;
        padding-left: 0;
        padding-right: 0;
    }

    .contactDataMble .teamHeadTxt h1 {
        border-bottom: 2px solid var(--mainGreen);
        display: inline-block;
        padding-right: 20px;
        padding-bottom: 10px;
        margin-bottom: 30px;
        display: block;
        width: auto;
    }

    .teamPhotosSection {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .teamBoxRow {
        margin-top: 20px;
        display: block;
    }

    .teamBoxRow + .teamBoxRow {
        margin-top: 0px;
    }

    .teamBox {
        width: 100%;
        margin-bottom: 40px;
    }

    .lastTeamRow .teamBoxEmpty {
        width: auto;
        margin-left: 40px;
        display: block;
        margin: auto;
    }

    .imprTxt {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

@media (max-width: 768px) {
    .container, .container-max {
        padding-left: 20px;
        padding-right: 20px;
    }

    nav .logo {
        padding: 20px 25px;
    }

    .mapBox .mapGps {
        min-width: unset;
        width: 98%;
    }

    .imprTxt .headH1 {
        width: 100%;
    }

    .preisListTbleWrp {
        padding: 25px 15px;
    }

    .preisListTbleWrp table td {
        font-size: 18px;
    }

    .prslisteBoxesWrapp .prslsteRight .preisListeImgHold {
        padding: 25px 15px;
    }

    .footerBtm .ftrBox ul {
        display: block;
    }

    .footerBtm .ftrBox ul li {
        display: block;
    }

    .footerBtm .ftrBox ul li a, .footerBtm .ftrBox ul li span {
        padding: 5px;
        display: inline-block;
        color: var(--darkGrey)!important;
    }

    .footerBtm .ftrBox ul li span {
        padding: 5px;
        display: inline-block;
    }

    .preisListTbleWrp thead tr, .preisListTbleWrp thead tr th {
        display: block;
    }

    .preisListTbleWrp thead tr th.txtRight {
        text-align: left;
    }

    .cookieInner .cookieBtn {
        display: block;
        text-align: center;
    }

    .cookieInner .cookieBtn + .cookieBtn {
        margin-left: 0px;
        margin-top: 20px;
    }
}

.subNavLi {
}

.mblDrpdwn ul li.subNavLi a {
    /*padding-left: 25px;*/
}

.formTerms {
    font-size: 1.4rem;
}

.formTerms p {
}

.formTerms a {
}

.mapPlaceholder {
    background: url(../img/mapPlaceholder.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    min-height: unset;
    padding-bottom: 56%;
}

.mapplchldr {
    padding-top: 100px!important;
}

@media (max-width: 991px) {
    .mapplchldr {
        padding-top: 40px!important;
    }
}

.mb15Bld {
    margin-bottom: 15px;
    font-weight: 500;
}

.footerBtm .ftrBox ul li {
    user-select: none;
}

.footerBtm .ftrBox ul li span {
    font-weight: 500;
    color: var(--mainGreen);
    text-decoration: none !important;
    display: inline-block;
    cursor: pointer;
}

.enableCookiePrompt {
    background: var(--mainGreen);
    display: inline-block;
    position: absolute;
    left: -1px;
    top: 0px;
    padding: 6px 20px;
    font-size: 1.1em;
    border-radius: 0 0 12px 0;
}

.enableCookiePrompt p {
    margin: auto;
}

.enableCookiePrompt p span {
    display: inline-block;
    text-decoration: underline;
    cursor: pointer;
}

@media(max-width: 1200px) {
    .footerBtm {
        flex-direction: column;
        align-items: center;
    }

    .footerBtm .ftrBox {
        flex: 0 0 100% !important;
    }

    .ftrOne {
        order: 2;
    }

    .ftrThree {
        order: 0;
        margin-bottom: 20px;
    }
}

.openStreet {
    height: 60vh;
}

.openStrt {
    z-index: 0;
}

.openStrt #mapGps {
    z-index: 122;
    display: block;
}

.openStrt #map {
    z-index: 0!important;
}

#searchResults {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
    right: 0;
    background: var(--darkGrey);
    color: #fff;
}

#searchResults .search-item:first-of-type {
    margin-top: 10px;
}

#searchResults .search-item {
    margin-bottom: 10px;
    border-left: 3px solid var(--mainGreen);
    padding-left: 10px;
    cursor: pointer;
    padding: 5px 5px 5px 10px;
    margin-left: 10px;
}

#searchResults .search-item:hover {
    background: rgba(0, 0, 0, 0.2);
}

.leaflet-popup-content {
    font-size: 15px!important;
}
