html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    min-width: 300px;
    overflow-x: hidden;
    overflow-y: scroll;
    text-rendering: optimizeLegibility;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
    /*scroll-behavior: smooth;*/
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

* {
    font-style: normal;
}

:root {
    --primarycolor: #c2b49a;
    --secondarycolor: #786858;
    --tertiarycolor: #008e8f;
}

::selection {
    color: #fff;
    background: var(--secondarycolor);
}

body {
    font-size: 16px;
    font-size: 100%;
    font-family: 'Raleway';
    color: #000;
    font-weight: 400;
    line-height: 1.5rem;
    background-color: #fff;
    transition: all 200ms linear;
    /*-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;*/
}

main {
    font-size: 1.25rem;
    line-height: 1.8;
}

@media only screen and (max-width: 128em) {
    main {
        font-size: 1.125rem;
    }
}

@media only screen and (max-width: 90em) {
    main {
        font-size: 1rem;
    }
}

@media only screen and (min-width: 56em) and (max-width: 67.5em) {
    main {
        font-size: 0.875rem;
    }
}

@media only screen and (max-width: 30em) {
    main {
        line-height: 1.6;
    }
}

strong {
    font-weight: 600;
}



/* ///////////////////////////////////////////////////
/                   GALLERY
/////////////////////////////////////////////////// */

.ce_gallery ul li {
    float: left;
    width: 22%;
    margin-right: 4%;
    margin-bottom: 4%;
    border-right: 0rem solid #f1f1f1;
    border-bottom: 0rem solid #f1f1f1;
}

.ce_gallery ul li:nth-child(4n+0) {
    margin-right: 0;
}

@media only screen and (max-width: 55.9375em) {
    .ce_gallery {
        margin-bottom: 3rem;
    }
}

@media only screen and (max-width: 41.625em) {
    .ce_gallery {
        margin-bottom: 2rem;
    }

    .ce_gallery ul li {
        width: 30.666666666%;
    }

    .ce_gallery ul li:nth-child(4n) {
        margin-right: 4%;
    }

    .ce_gallery ul li:nth-child(3n) {
        margin-right: 0;
    }
}

.ce_gallery>ul li.col_first {
    clear: none;
}

.ce_gallery figure.image_container {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.ce_gallery figure.image_container:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.ce_gallery figure.image_container img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(20%);
    transition: transform .5s ease;
}

.ce_gallery figure.image_container:hover img {
    transform: scale(1.05);
}

.ce_gallery figure.image_container .gallery__overlay {
    visibility: hidden;
    transition: all ease 0.3s;
}

.gallery__overlay p.overlay__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.ce_gallery figure.image_container .gallery__overlay p.overlay__text i {
    color: transparent;
    font-size: 3.5rem;
    transition: all ease-in-out 0.3s;
}

.ce_gallery figure.image_container:hover .gallery__overlay p.overlay__text i {
    color: #fff;
}

@media only screen and (max-width: 55.9375em) {
    .gallery__overlay p.overlay__text i {
        font-size: 2.5rem;
    }
}

@media only screen and (max-width: 41.625em) {
    .gallery__overlay p.overlay__text i {
        font-size: 2rem;
    }
}

.ce_gallery figure.image_container:hover .gallery__overlay {
    visibility: visible;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(120, 104, 88, 0.7);
    top: 0;
}

#cboxLoadedContent {
    border: 5px solid #242424;
}

#cboxClose {
    background: url(../img/icons/colorbox_controls.png) no-repeat top center;
    height: 24px;
    right: -3px;
}

#cboxPrevious {
    background: url(../img/icons/colorbox_controls.png) no-repeat top left;
}

#cboxNext {
    background: url(../img/icons/colorbox_controls.png) no-repeat top right;
}



/* ///////////////////////////////////////////////////
/                   HEADLINES
/////////////////////////////////////////////////// */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    margin-top: 0;
}

h1 {
    color: #000;
    font-size: 4rem;
    font-weight: 400;
    line-height: 1.125;
    margin-top: 0;
    margin-bottom: 3rem;
}


h2 {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--tertiarycolor);
    margin-bottom: 2rem;
}

h2.big {
    font-weight: 800;
    letter-spacing: 10px;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 3rem;
}

h3 {
    font-size: 2.25rem;
    font-weight: 700;
    text-transform: none;
    line-height: 1.1466;
    letter-spacing: 0;
    margin-bottom: 2rem;
}

h4 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1466;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 1rem;
    margin-top: 2rem;
}

@media only screen and (max-width: 128em) {
    h1 {
        font-size: 3.25rem;
    }

    h2 {
        font-size: 2.75rem;
    }

    h3 {
        font-size: 1.8725rem;
    }
}

@media only screen and (max-width: 105em) {
    h1 {
        font-size: 3.125rem;
    }

    h2 {
        font-size: 2.5rem;
    }

    h3 {
        font-size: 1.75rem;
    }
}

@media only screen and (max-width: 96em) {
    h1 {
        font-size: 3rem;
        margin-bottom: 2.5rem;
    }

    h2 {
        font-size: 2.375rem;
    }

    h3 {
        font-size: 1.625rem;
    }

    h4 {
        font-size: 1.25rem;
        line-height: 1.125;
        margin-bottom: 0.8rem;
    }
}


@media only screen and (max-width: 80em) {
    h1 {
        font-size: 3rem;
        margin-bottom: 2.5rem;
    }

    h2 {
        font-size: 2.125rem;
    }

    h3 {
        font-size: 1.375rem;
    }
}

@media only screen and (max-width: 64em) {
    h1 {
        font-size: 2.5rem;
        line-height: 1.125;
        margin-bottom: 2.5rem;
    }

    h2 {
        /*font-size: 2rem;*/
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.375rem;
        line-height: 1.25;
        margin-bottom: 1rem;
    }

    h4 {
        font-size: 1.125rem;
        letter-spacing: 0;
    }
}

@media only screen and (max-width: 55.9375em) {
    h1 {
        font-size: 2.25rem;
        line-height: 1.125;
        margin-bottom: 0.5rem;
    }

    /*h1 br,
    h2 br,
    h3 br,
    h4 br,
    h5 br,
    h6 br {
        content: ' ';
        display: none;
    }*/
}

@media only screen and (max-width: 48em) {
    h2 {
        font-size: 1.75rem;
        line-height: 1.125;
        margin-bottom: 0.8rem;
    }

    h3 {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 36em) {
    h3.sub {
        font-size: 1.375rem;
        line-height: 1.125;
    }
}

@media only screen and (max-width: 30em) {
    h2 {
        font-size: 1.625rem;
    }

    h2.big {
        letter-spacing: 6px;
    }
}


@media only screen and (max-width: 22.5em) {
    h2.big {
        letter-spacing: 4px;
    }
}



/*.ce_text h4 {
    margin-top: 1.75rem;
}*/

h5 {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3125;
    margin-bottom: 1.3rem;

    margin-top: 1.75rem;
    margin-bottom: 0.875rem;
}

@media only screen and (max-width: 30em) {
    h5 {
        font-size: 1rem;
        margin-bottom: .8rem;
    }
}

h6 {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3125;
    margin-bottom: 0.25rem;
}

@media only screen and (max-width: 55.9375em) {
    h6 {
        font-size: 1rem;
    }
}


.ce_text a {
    color: var(--secondarycolor);
    text-decoration: none;
    font-weight: 500;
}

.ce_text h1,
.ce_text h2,
.ce_text h3,
.ce_text h4,
.ce_text h5,
.ce_text h6 {
    margin-top: 0;
}

.ce_text p + h1,
.ce_text p + h2,
.ce_text p + h3 {
    margin-top: 2.5rem;
}

.ce_text p + h4 {
    margin-top: 2rem;
}

.ce_text p {
    margin-bottom: 1.25rem;
}

.ce_text p:last-child {
    margin-bottom: 0;
}


/* ///////////////////////////////////////////////////
/                   GRID
/////////////////////////////////////////////////// */

@media only screen and (max-width: 55.9375em) {
    .columns.columns--nobreak {
        display: flex;
        flex-flow: row wrap;
        clear: both;
    }
}


@media only screen and (min-width: 56em) {
    [class*="col--"] {
        float: left;
    }

    [class*="col--"]:first-child {
        clear: left;
    }

    [class*="col--"]:last-child {
        margin-right: 0;
    }

    .columns {
        display: flex;
        flex-flow: row wrap;
        clear: both;
    }
}

@media only screen and (min-width: 56em) and (max-width: 72em) {
    .columns.single-column--tablet {
        display: block;
        flex-flow: row nowrap;
    }
}


/* //////////////////////  1/2  ////////////////////// */

@media only screen and (max-width: 55.9375em) {
    .columns.columns--swap-mobile {
        display: flex;
        flex-flow: column;
    }

    .col--1-2 {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 3rem;
    }

    .columns.columns--grid {
        margin-bottom: 0;
    }

    .columns.columns--grid .col--1-2 {
        margin-bottom: 3rem;
    }

    .col--1-2:last-child {
        margin-right: 0;
        margin-bottom: 0;
    }

    .columns.columns--swap-mobile .col--1-2:first-child {
        order: 2;
        margin-bottom: 0;
    }

    .columns.columns--swap-mobile .col--1-2:last-child {
        order: 1;
        margin-bottom: 3rem;
    }

    .columns--nobreak .col--1-2 {
        flex: 1;
        width: 48%;
        margin-right: 4%;
    }

    .columns--nobreak .col--1-2:last-child {
        margin-right: 0;
    }
}

@media only screen and (min-width: 56em) {
    .col--1-2 {
        flex: 2;
        width: 46%;
        margin-right: 8%;
    }

    .columns.columns--grid {
        margin-bottom: 8%;
    }

    .columns.columns--grid:last-child {
        margin-bottom: 3rem;
    }

    .gap--small .col--1-2 {
        width: 48%;
        margin-right: 4%;
    }

    .col--1-2:last-child {
        margin-right: 0;
    }
}

@media only screen and (min-width: 56em) and (max-width: 72em) {
    .columns.single-column--tablet .col--1-2 {
        flex: 0 1 auto;
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 3rem;
    }

    .columns.single-column--tablet .col--1-2:last-child {
        margin-right: 0;
        margin-bottom: 0;
    }
}



/* //////////////////////  1/4  ////////////////////// */

@media only screen and (max-width: 55.9375em) {
    .col--1-4 {
        width: 50%;
        float: left;
        margin-right: 0;
        margin-bottom: 3rem;
    }

    .col--1-2:last-child {
        margin-right: 0;
        margin-bottom: 0;
    }

    .columns.columns--swap-mobile .col--1-4:first-child {
        order: 2;
        margin-bottom: 0;
    }

    .columns.columns--swap-mobile .col--1-4:last-child {
        order: 1;
        margin-bottom: 3rem;
    }

    .columns--nobreak .col--1-4 {
        flex: 1;
        width: 22%;
        margin-right: 4%;
    }

    .columns--nobreak .col--1-2:last-child {
        margin-right: 0;
    }
}

@media only screen and (min-width: 56em) {
    .col--1-4 {
        flex: 1;
        width: 19%;
        margin-right: 8%;
    }

    .gap--small .col--1-4 {
        width: 22%;
        margin-right: 4%;
    }


    .col--1-4:last-child {
        margin-right: 0;
    }
}



/* //////////////////////  1/3  ////////////////////// */

@media only screen and (max-width: 55.9375em) {

    .col--1-3,
    .col--2-3 {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 3rem;
    }

    .col--1-3:last-child,
    .col--2-3:last-child {
        margin-right: 0;
        margin-bottom: 0;
    }

    .columns.columns--grid .col--1-3 {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 48em) and (max-width: 55.9375em) {
    .columns--nobreak .col--1-3 {
        width: 28%;
        margin-right: 8%;
        margin-bottom: 0;
    }

    .columns--nobreak.gap--small .col--1-3 {
        width: 30.6666%;
        margin-right: 4%;
    }

    .columns--nobreak .col--1-3:last-child {
        margin-right: 0;
    }

    .columns--nobreak .col--2-3 {
        width: 64%;
        margin-right: 8%;
        margin-bottom: 0;
    }

    .columns--nobreak.gap--small .col--2-3 {
        width: 65.3333%;
        margin-right: 4%;
    }

    .columns--nobreak .col--2-3:last-child {
        margin-right: 0;
    }
}

@media only screen and (min-width: 56em) {
    .col--1-3 {
        width: 28%;
        margin-right: 8%;
    }

    .gap--small .col--1-3 {
        width: 30.6666%;
        margin-right: 4%;
    }

    .col--1-3:last-child {
        margin-right: 0;
    }

    .col--2-3 {
        width: 64%;
        margin-right: 8%;
    }

    .gap--small .col--2-3 {
        width: 65.3333%;
        margin-right: 4%;
    }

    .col--2-3:last-child {
        margin-right: 0;
    }
}

@media only screen and (min-width: 56em) and (max-width: 72em) {

    .columns.single-column--tablet .col--1-3,
    .columns.single-column--tablet .col--2-3 {
        flex: 0 1 auto;
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 3rem;
    }

    .columns.single-column--tablet .col--1-3:last-child,
    .columns.single-column--tablet .col--2-3:last-child {
        margin-right: 0;
        margin-bottom: 0;
    }
}



/* //////////////////////  2/5  ////////////////////// */

@media only screen and (max-width: 55.9375em) {

    .col--2-5,
    .col--3-5 {
        width: 100%;
        float: none;
        margin-bottom: 3rem;
    }

    .col--2-5:last-child,
    .col--3-5:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 56em) {
    .col--2-5 {
        width: 36%;
        margin-right: 8%;
    }

    .col--2-5:last-child {
        margin-right: 0;
    }

    .col--3-5 {
        width: 56%;
        margin-right: 8%;
    }

    .col--3-5:last-child {
        margin-right: 0;
    }
}




/* ///////////////////////////////////////////////////
/                   LAYOUT
/////////////////////////////////////////////////// */

#container {
    padding-top: 0;
}

body.sticky--header #container {
    padding-top: 13rem;
}

body.homepage.sticky--header #container {
    padding-top: 0;
}

@media only screen and (max-width: 120em) {
    body.sticky--header #container {
        padding-top: 12rem;
    }
}

@media only screen and (max-width: 105em) {
    body.sticky--header #container {
        padding-top: 10rem;
    }
}

@media only screen and (max-width: 80em) {
    body.sticky--header #container {
        padding-top: 9rem;
    }
}

@media only screen and (max-width: 67.5em) {
    body.sticky--header #container {
        padding-top: 8rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    #container {
        margin-bottom: 0 !important;
    }

    /*#container .mod_article:last-child {
        padding-bottom: 5rem;
    }*/

    body.sticky--header #container {
        padding-top: 7rem;
    }
}

@media only screen and (max-width: 35em) {
    body.sticky--header #container {
        padding-top: 6rem;
    }
}

#wrapper {
    margin: 0 auto;
    max-width: 2560px;
}

@media only screen and (max-width: 48em) {
    #wrapper {
        width: 100% !important;
        overflow: hidden;
    }
}

.wrapper--inner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    clear: both;
}

.wrapper--inner-overflow {
    max-width: calc(1400px + 12rem);
}

@media only screen and (min-width: 135em) {
    .wrapper--inner {
        max-width: 1680px;
    }

    .wrapper--inner-overflow {
        max-width: calc(1680px + 12rem);
    }
}

.wrapper--narrow {
    /*max-width: 1000px;*/
    width: 88%;
    margin: 0 auto;
    overflow: hidden;
    clear: both;
}

.wrapper--flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

@media only screen and (max-width: 105em) {
    .wrapper--inner {
        max-width: none;
        width: auto;
        margin-left: 4%;
        margin-right: 4%;
    }
}

@media only screen and (max-width: 55.9375em) {
    .wrapper--inner {
        margin-left: 4%;
        margin-right: 4%;
    }
}

.wrapper--inner-left {
    margin-left: 0;
}

.wrapper--inner-right {
    margin-right: 0;
}

@media only screen and (min-width: 80em) {
    .wrapper--narrow-right {
        display: block;
        max-width: 88% !important;
        float: right;
    }
}

.mod_article.is--fullwidth {
    width: 100% !important;
    max-width: 100%;
    clear: both;
    margin: 0 auto;
    overflow: hidden;
    padding: 6rem 0;
}

@media only screen and (max-width: 105em) {
    .mod_article.is--fullwidth {
        max-width: none;
        /*padding: 4rem 4% 4rem 8%;*/
    }
}

@media only screen and (max-width: 55.9375em) {
    .mod_article.is--fullwidth {
        width: auto;
        /*padding: 3rem 0;*/
    }
}

@media only screen and (max-width: 30em) {
    .mod_article.is--fullwidth {
        width: auto;
        padding: 3rem 0;
    }
}

.mod_article:not(.is--fullwidth) {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 6rem 0;
}

@media only screen and (min-width: 135em) {
    .mod_article:not(.is--fullwidth) {
        max-width: 1680px;
    }
}

@media only screen and (max-width: 105em) {
    .mod_article:not(.is--fullwidth) {
        max-width: none;
        padding: 4rem 4% 4rem 4%;
    }
}

@media only screen and (max-width: 55.9375em) {
    .mod_article:not(.is--fullwidth) {
        width: auto;
        padding: 2rem 4% 2rem 4%;
    }

    .mod_article:not(.is--fullwidth).mobile--fullwidth {
        width: auto;
        padding: 2rem 0;
    }
}

header {
    background-color: #fff;
    overflow: hidden;
    transition: all 0.4s ease;
}

body.homepage header {
    background-color: #ededed;
}

body.homepage header.header--minimized {
    background-color: #fff;
}

body.sticky--header header {
    position: fixed;
    top: 0;
    left: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 2560px;
    width: 100%;
    z-index: 9;
}

header .header--wrapper {
    max-width: 1680px;
    width: 100%;
    margin: 2rem auto;
    position: relative;
}

@media only screen and (max-width: 134.9375em) {
    header .header--wrapper {
        max-width: 1400px;
    }
}

@media only screen and (max-width: 105em) {
    header .header--wrapper {
      max-width: none;
      margin-left: 8%;
      margin-right: 8%;
      width: 84%;
    }
}

body.sticky--header header .header--wrapper {
    transition: all 0.4s ease;
}

body.sticky--header header.header--minimized .header--wrapper {
    margin: 1rem auto 1.5rem auto;
    background-color: #fff;
}

header .header--logo {
    /*position: absolute;
    top: 0;
    left: 0;*/
    width: 360px;
    height: auto;
    transition: all 0.4s ease;
}

header .header--logo a {
    color: var(--tertiarycolor);
}

body.sticky--header header.header--minimized .header--logo {
    width: 150px;
    height: auto;
}

@media only screen and (max-width: 135em) {
    header .header--logo {
        width: 333px;
    }
}

@media only screen and (max-width: 105em) {
    header .header--logo {
        width: 250px;
    }
}

@media only screen and (max-width: 96em) {
    header .header--logo {
        width: 250px;
    }
}

@media only screen and (max-width: 85.375em) {
    header .header--logo {
        width: 220px;
    }
}

@media only screen and (max-width: 80em) {
    header .header--logo {
        width: 200px;
    }
}

@media only screen and (max-width: 67.5em) {
    header .header--logo {
        width: 180px;
    }
}

@media only screen and (max-width: 60em) {
    header .header--logo {
        width: 150px;
    }
}

@media only screen and (max-width: 55.9375em) {
    header .header--wrapper {
        width: 92%;
        padding: 1.25rem 0;
        margin: 0 4% 0 4%;
    }

    body.mm-wrapper--opened header .header--wrapper {
        padding: 1.5rem 0 1.5rem 1.5rem;
    }

    body.header--notindented header .header--wrapper {
        padding: 1.5rem 0;
    }

    body.sticky--header header.header--minimized .header--wrapper {
        margin: 0 auto;
        padding: 0.75rem 0 0.75rem 0;
    }

    body.sticky--header header.header--minimized .header--logo {
        width: 90px;
        margin-top: 0.5rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    header .header--logo {
        width: 130px;
    }
}

@media only screen and (max-width: 35em) {
    header .header--logo {
        width: 135px;
    }
}



/* ///////////////////////////////////////////////////
/                   NAVIGATION
/////////////////////////////////////////////////// */

.is--mobile {
    display: none !important;
}

@media only screen and (max-width: 55.9375em) {
    .is--mobile {
        display: block !important;
    }

    .is--desktop {
        display: none !important;
    }
}

#nav--mobile:not(.mm-menu) {
    display: none;
}


#hamburger-menu {
    position: absolute;
    text-align: right;
    height: 2rem;
    right: 0;
    top: 1.375rem;
}

#hamburger-menu a {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    float: right;
    color: #fff;
    text-decoration: none;
}

/*@media only screen and (max-width: 30em) {
    #hamburger-menu a {
      margin-right: 2rem;
    }
  }*/

#hamburger-menu span {
    position: absolute;
    display: block;
    height: 3px;
    width: 100%;
    content: '';
    background-color: #000;
    transition: all 500ms ease-in-out;
}

#hamburger-menu span:nth-child(1) {
    top: 15%;
}

#hamburger-menu span:nth-child(2) {
    top: 42%;
    right: 0;
    width: 80%;
}

#hamburger-menu span:nth-child(3) {
    top: 69%;
}



/* ///////////////////////////////////////////////////
  /                   MMENU
  /////////////////////////////////////////////////// */

.mm-wrapper--position-left .mm-slideout,
.mm-wrapper--position-right .mm-slideout {
    -webkit-transform: none;
    transform: none;
}

/*.mm-menu {
    display: none;
}*/

.mm-menu--opened {
    display: block;
}

.mm-navbar__title>span {
    display: none;
}

/*.mm-listitem {
    padding: calc((var(--mm-listitem-size) - var(--mm-lineheight))/ 2) 0;
}*/

.mm-listitem strong {
    padding: calc((var(--mm-listitem-size) - var(--mm-lineheight))/ 2) 0;
    padding-left: 20px;
}

.mm-listitem::after {
    inset-inline-start: 0;
}

/*.mm-listitem.active {
    display: block;
    text-align: center;
}

.mm-listitem strong {
    display: block;
    font-family: 'd-din-pro', sans-serif;
    font-size: 1.125rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #3dad3d;
    font-weight: 700;
}

a.mm-listitem__text {
    font-family: 'd-din-pro', sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
    padding: 0;
}

.mm-menu--theme-dark {
    --mm-color-background: #1f1f1f;
    --mm-color-border: rgb(0, 0, 0, 0.4);
    --mm-color-icon: rgb(255, 255, 255, 0.4);
    --mm-color-text: rgb(255, 255, 255, 0.8);
    --mm-color-text-dimmed: rgb(255, 255, 255, 0.4);
    --mm-color-background-highlight: rgb(255, 255, 255, 0.08);
    --mm-color-background-emphasis: rgb(0, 0, 0, 0.1);
    --mm-color-focusring: #06c
}*/


.nav--main {
    position: absolute;
    top: 3rem;
    right: 0;
}

body.sticky--header header.header--minimized .nav--main {
    top: 1.5rem;
}


@media only screen and (max-width: 105em) {
    .nav--main {
        top: 2rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    .nav--main {
        display: none !important;
    }
}

.nav--main ul {
    display: flex;
    justify-content: flex-end;
}


.nav--main ul li {
    text-transform: uppercase;
    text-decoration: none;
    transition: all .2s ease-in-out;
    margin-left: 2rem;
    padding-bottom: .125rem;
}

.nav--main ul li:first-child {
    margin-left: 0rem;
}

.nav--main ul li a,
.nav--main ul li span,
.nav--main ul li strong {
    text-decoration: none;
    white-space: nowrap;
    padding: 0 0 0.375rem 0;
    font-weight: 500;
    font-size: 1.5rem;
    color: #333;
}

@media only screen and (max-width: 134.9375em) {
    .nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
        font-size: 1.25rem;
    }
}

.nav--main ul.level_1 li.lnk--shop {
    border-left: 1px solid #333;
    margin-left: 1.5rem;
    padding-left: 1.5rem;
}

#nav--mobile ul.level_1 li.lnk--shop a span,
.nav--main ul.level_1 li.lnk--shop a span {
    color: #940a00;
    font-weight: 700;
}

#nav--mobile ul.level_1 li.lnk--shop a span {
    text-transform: uppercase;
    letter-spacing: 1px;
}

#nav--mobile ul.level_1 li.lnk--shop a::before,
.nav--main ul.level_1 li.lnk--shop a::before {
    /*font-family: 'Icofont';
    content: "\eeac";
    color: #333;
    margin-right: 0.25rem;*/
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.375em;
    background-image: url("../img/icons/shoppingbag.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

@media only screen and (max-width: 73.75em) {
    .nav--main ul.level_1 li.lnk--shop {
        border-left: 1px solid #333;
        margin-left: 1rem;
        padding-left: 1rem;
    }

    #nav--mobile ul.level_1 li.lnk--shop a::before,
    .nav--main ul.level_1 li.lnk--shop a::before {
        content: "";
        display: inline-block;
        width: 1rem;
        height: 1rem;
        margin-right: 0.25em;
        background-image: url("../img/icons/shoppingbag.svg");
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
    }
}

.nav--main ul li span {
    padding: 0;
}

.nav--main ul li.active strong {
    font-weight: 600;
}

.nav--main ul li .active,
.nav--main ul li .trail,
.nav--main ul li a:hover {
    border-bottom: 4px solid var(--primarycolor);
    transition: none;
}

.nav--main ul li.submenu>a span::after,
.nav--main ul li.submenu>strong::after {
    font-family: "IcoFont";
    font-size: 0.875rem;
    content: "\eab2";
    margin-left: .25rem;
}

.nav--main ul li a:hover {
    border-bottom: 4px solid var(--primarycolor);
}

.nav--main ul li .level_2 {
    position: absolute;
    margin-top: 3px;
}

.nav--main ul li .level_3,
.nav--main ul li .level_2 {
    display: none;
    padding: 0;
    padding: 1.0rem 1.5rem 1.0rem 1.5rem;
    margin-left: -2.5rem;
    z-index: 99999;
    background-color: #fff;
}

.nav--main ul li .level_3 li,
.nav--main ul li .level_2 li {
    float: none;
    display: block;
    width: 100%;
    font-size: 1rem;
    text-align: left;
    margin-left: 0rem;
    padding: 0;
    line-height: 1;
    border-bottom: 1px solid #ccc;
}



.nav--main ul li .level_3 li:last-child,
.nav--main ul li .level_2 li:last-child {
    border: none;
}

.nav--main ul li .level_3 li:hover a,
.nav--main ul li .level_2 li:hover a,
.nav--main ul li .level_3 li:hover span,
.nav--main ul li .level_2 li:hover span,
.nav--main ul li .level_3 li:hover strong,
.nav--main ul li .level_2 li:hover strong {
    color: #666;
}

.nav--main ul li .level_3 li a,
.nav--main ul li .level_2 li a {
    padding: 1rem;
    border-bottom: none !important;
}

.nav--main ul li .level_3 li.active strong,
.nav--main ul li .level_2 li.active strong {
    padding: 1rem 1rem 1rem 0rem;
    border-bottom: none !important;
}

.nav--main ul li .level_3 li a,
.nav--main ul li .level_2 li a,
.nav--main ul li .level_3 li span,
.nav--main ul li .level_2 li span,
.nav--main ul li .level_3 li strong,
.nav--main ul li .level_2 li strong {
    display: block;
    font-weight: 400;
    font-size: 1rem;
    color: #333;
    border-bottom: none !important;
}


.nav--main ul li .level_3 li.active strong,
.nav--main ul li .level_2 li.active strong {
    color: #555;
}

.nav--main ul li .level_3 li.active strong::before,
.nav--main ul li .level_2 li.active strong::before {
    font-family: "IcoFont";
    font-size: 1rem;
    content: "\ea75";
    color: #02c3ec;
    width: 1rem;
}


.nav--main ul li.submenu:hover ul.level_2 {
    display: block;
}

.nav--main ul li.submenu:hover ul.level_2 ul.level_3 {
    display: block;
}

.nav--main ul li.submenu.about:hover ul.level_2 {
    display: none;
}


@media only screen and (max-width: 96em) {
    .nav--main ul li {
        margin-left: 1.5rem;
    }

    .nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
        font-size: 1.1875rem;
    }

    .nav--main ul li .level_3 li a,
    .nav--main ul li .level_2 li a,
    .nav--main ul li .level_3 li span,
    .nav--main ul li .level_2 li span,
    .nav--main ul li .level_3 li strong,
    .nav--main ul li .level_2 li strong {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 89.9375em) {

    .nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
        font-size: 1.125rem;
    }
}

@media only screen and (max-width: 85.3125em) {

    .nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
        letter-spacing: 0;
    }
}

@media only screen and (max-width: 80em) {
    .nav--main ul li {
        margin-left: 1.125rem;
    }

    /*.nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
      font-size: 0.875rem;
    }*/

    .nav--main ul li .level_3 li a,
    .nav--main ul li .level_2 li a,
    .nav--main ul li .level_3 li span,
    .nav--main ul li .level_2 li span,
    .nav--main ul li .level_3 li strong,
    .nav--main ul li .level_2 li strong {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 73.75em) {

    .nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 67.5em) {
    .nav--main ul li {
        margin-left: 1rem;
    }

    .nav--main ul li a,
    .nav--main ul li span,
    .nav--main ul li strong {
        font-size: 0.9375rem;
    }
}

@media only screen and (max-width: 60em) {
    .nav--main ul li {
        margin-left: 0.75rem;
    }
}



/* ///////////////////////////////////////////////////
/                   PRODUCT CATEGORY
/////////////////////////////////////////////////// */

#start--hero {
    padding-bottom: 0;
    z-index: 1;
    position: relative;
    background-color: #ededed;
    padding-top: 2rem;
}

body.homepage.sticky--header #start--hero {
    padding-top: 14rem;
}

#start--hero .headerimg {
    margin-bottom: -12rem;
}

#start--hero .headerslogan {
    margin-top: 7rem;
}

#start--hero .headerslogan::after {
    display: block;
    content: "";
    border-top: 10px solid var(--primarycolor);
    width: 100px;
    margin: 3rem 0;
}

#start--hero .headerslogan h1 {
    line-height: 1.2;
    font-weight: 400;
    color: #000
}

#start--hero .headerslogan h1 em {
    font-weight: 700;
    color: var(--tertiarycolor);
}

@media only screen and (max-width: 128em) {
    #start--hero .headerslogan {
        width: 90%;
        margin-top: 4rem;
    }
}

@media only screen and (max-width: 105em) {
    body.homepage.sticky--header #start--hero {
        padding-top: 10rem;
    }
}

@media only screen and (max-width: 100em) {
    #start--hero .headerslogan h1 {
        font-size: 2.75rem;
    }

    #start--hero .headerslogan::after {
        border-top: 8px solid var(--primarycolor);
        width: 80px;
        margin: 2rem 0;
    }
}


@media only screen and (max-width: 85.375em) {
    #start--hero .headerimg {
        margin-bottom: -8rem;
    }

    #start--hero .headerslogan {
        margin-top: 4rem;
    }

    #start--hero .headerslogan h1 {
        font-size: 2.625rem;
    }
}

@media only screen and (max-width: 80em) {
    #start--hero .headerimg {
        margin-bottom: -6rem;
    }

    #start--hero .headerslogan h1 {
        font-size: 2.5rem;
    }
}

@media only screen and (max-width: 73.75em) {
    #start--hero .headerimg {
        margin-bottom: -6rem;
    }

    #start--hero .headerslogan {
        width: 100%;
    }

    #start--hero .headerslogan h1 {
        font-size: 2.375rem;
    }
}

@media only screen and (max-width: 67.5em) {
    #start--hero .headerslogan {
        width: 100%;
        margin-top: 3rem;
    }

    #start--hero .headerslogan h1 {
        font-size: 2.25rem;
    }

    #start--hero .headerslogan::after {
        width: 70px;
    }
}

@media only screen and (max-width: 63.9375em) {
    #start--hero .headerslogan {
        margin-top: 2rem;
    }

    #start--hero .headerslogan h1 {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    body.homepage.sticky--header #start--hero {
        padding-top: 6rem;
    }

    #start--hero > .wrapper--inner > .wrapper--inner {
        margin: 0;
    }

    #start--hero .headerimg {
        margin-bottom: 0;
    }

    #start--hero .headerslogan {
        width: 90%;
        margin-left: 5%;
        margin-right: 5%;
        margin-top: 2rem;
        margin-bottom: 3rem;
    }

    #start--hero .headerslogan h1 {
        font-size: 2.5rem;
        text-align: center;
    }

    #start--hero .headerslogan::after {
        margin: 2rem auto;
    }
}

@media only screen and (max-width: 39.9375em) {
    #start--hero .headerslogan {
        margin-top: 0;
        margin-bottom: 2rem;
    }

    #start--hero .headerslogan h1 {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 30em) {
    #start--hero {
        padding-top: 1rem;
    }
}

/* ///////////////////////////////////////////////////
/                   HERO
/////////////////////////////////////////////////// */

#start--sloganbox {
    padding: 0;
    /*margin-top: -12rem;
    z-index: 0;
    position: relative;*/
    background: linear-gradient(to bottom, #ededed 0%, #ededed 12rem, #fff 12rem, #fff 100%);
}

.hero--slogan {
    text-align: center;
    color: #fff;
    padding: 12rem 0 8rem 0;
    background-color: var(--secondarycolor);
    background-image: url("../img/bg--hero.svg");
    background-position: right 3rem top 3rem;
    background-repeat: no-repeat;
    background-size: contain;
}

.hero--slogan .ce_text {
    max-width: 80%;
    margin: 8rem auto;
}

.hero--slogan .ce_text h4 {
    font-size: 1.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 5px;
    color: var(--primarycolor);
    margin-top: 0;
    margin-bottom: 2rem;
}

@media only screen and (min-width: 47.9375em) {
    .hero--slogan .ce_text h4 br {
        content: "";
        display: contents;
    }

    .hero--slogan .ce_text h4 br::after {
        content: " | ";
    }
}

.hero--slogan .ce_text p {
    font-size: 2.25rem;
    line-height: 1.4;
}

@media only screen and (max-width: 128em) {
    .hero--slogan .ce_text {
        max-width: 90%;
    }
}

@media only screen and (max-width: 90em) {
    .hero--slogan {
        padding: 12rem 0 8rem 0;
    }

    .hero--slogan .ce_text {
        margin: 7rem auto;
    }

    .hero--slogan .ce_text h4 {
        font-size: 1.375rem;
        letter-spacing: 5px;
    }

    .hero--slogan .ce_text p {
        font-size: 2rem;
        margin-bottom: 0;
    }

    .hero--slogan .ce_text p br {
        content: "";
        display: none;
    }
}

@media only screen and (max-width: 85.375em) {
    #start--sloganbox {
        background: linear-gradient(to bottom, #ededed 0%, #ededed 8rem, #fff 8rem, #fff 100%);
    }

    .hero--slogan {
        padding: 8rem 0 8rem 0;
    }
}

@media only screen and (max-width: 80em) {
    #start--sloganbox {
        background: linear-gradient(to bottom, #ededed 0%, #ededed 6rem, #fff 6rem, #fff 100%);
    }

    .hero--slogan {
        padding: 6rem 0 8rem 0;
    }

    .hero--slogan .ce_text {
        margin: 7rem auto;
    }

    .hero--slogan .ce_text h4 {
        font-size: 1.25rem;
        letter-spacing: 5px;
    }

    .hero--slogan .ce_text p {
        font-size: 1.875rem;
        margin-bottom: 0;
    }

    .hero--slogan .ce_text p br {
        content: "";
        display: none;
    }
}

@media only screen and (max-width: 67.5em) {
    .hero--slogan {
        padding: 6rem 0 8rem 0;
    }

    .hero--slogan .ce_text {
        margin: 6rem auto;
    }

    .hero--slogan .ce_text h4 {
        font-size: 1.25rem;
        letter-spacing: 5px;
    }

    .hero--slogan .ce_text p {
        font-size: 1.75rem;
        margin-bottom: 0;
    }

    .hero--slogan .ce_text p br {
        content: "";
        display: none;
    }
}

@media only screen and (max-width: 55.9375em) {
    .hero--slogan {
        padding: 0 0 8rem 0;
    }

    .hero--slogan .ce_text {
        margin: 6rem auto;
    }

    .hero--slogan .ce_text h4 {
        font-size: 1.25rem;
        letter-spacing: 5px;
    }

    .hero--slogan .ce_text p {
        font-size: 1.75rem;
        margin-bottom: 0;
    }

    .hero--slogan .ce_text p br {
        content: "";
        display: none;
    }
}

@media only screen and (max-width: 36em) {
    .hero--slogan {
        padding: 0 0 8rem 0;
    }

    .hero--slogan .ce_text {
        margin: 4rem auto;
    }

    .hero--slogan .ce_text h4 {
        font-size: 1.125rem;
        letter-spacing: 5px;
    }

    .hero--slogan .ce_text p {
        font-size: 1.625rem;
        margin-bottom: 0;
    }

}

@media only screen and (max-width: 30em) {
    .hero--slogan {
        padding: 0 0 8rem 0;
    }

    .hero--slogan .ce_text {
        max-width: 100%;
        margin: 4rem auto;
    }

    .hero--slogan .ce_text p {
        font-size: 1.25rem;
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 24em) {
    .hero--slogan .ce_text {
        max-width: 100%;
    }

    .hero--slogan .ce_text h4 {
        letter-spacing: 3px;
    }
}



/* ///////////////////////////////////////////////////
/                   PRODUCT CATEGORY
/////////////////////////////////////////////////// */

#start--leistungen {
    padding-top: 0;
    margin-top: -8rem;
}

#start--leistungen .ce_hyperlink {
    margin-top: 0;
}

.kategorie {
    position: relative;
}

.kategorie figure a.hyperlink_img {
    overflow: hidden;
    display: block;
    line-height: 1;
}

.kategorie figure img {
    transition: .5s;
}

.kategorie figure:hover img {
    transform: scale(1.05);
    transition: .5s;
}

.kategorie figure:hover figcaption a.has--arrow::before {
    transform: translate(0.5rem, 0);
}

.kategorie figure figcaption {
    padding: 2rem 0;
    line-height: 1.0;
}

.kategorie figure figcaption a {
    font-size: 2rem;
    font-weight: 700;
    text-decoration: none;
    color: #000;
    line-height: 1.0;
    -webkit-box-decoration-break: clone;
    -o-box-decoration-break: clone;
    box-decoration-break: clone;
}


@media only screen and (max-width: 128em) {
    #start--leistungen {
        padding-bottom: 3rem;
    }
}

@media only screen and (max-width: 119.9375em) {
    .kategorie figure figcaption a {
        font-size: 1.75rem;
    }

    .kategorie figure figcaption a.has--arrow::before {
        width: 3.25rem;
        height: 1.25rem;
        margin: 0 1rem 0 0;
    }
}

@media only screen and (max-width: 105em) {
    .kategorie figure figcaption a {
        font-size: 1.625rem;
    }

    .kategorie figure figcaption a.has--arrow::before {
        width: 3.125rem;
        height: 1.1rem;
        margin: 0 1rem 0 0;
    }
}

@media only screen and (max-width: 89.9375em) {
    .kategorie figure figcaption a {
        font-size: 1.375rem;
    }

    .kategorie figure figcaption a.has--arrow::before {
        width: 3rem;
        height: 1rem;
        margin: 0 1rem 0 0;
    }
}

@media only screen and (max-width: 79.9375em) {
    .kategorie figure figcaption a {
        font-size: 1.25rem;
    }

    .kategorie figure figcaption a.has--arrow::before {
        width: 3rem;
        height: 1rem;
        margin: 0 1rem 0 0;
    }
}

@media only screen and (max-width: 55.9375em) {
    .kategorie figure figcaption a {
        font-size: 1.625rem;
    }

    .kategorie figure figcaption a.has--arrow::before {
        width: 3.125rem;
        height: 1.1rem;
        margin: 0 1rem 0 0;
    }
}

@media only screen and (max-width: 36em) {
    .kategorie figure figcaption a {
        font-size: 1.5rem;
    }

    .kategorie figure figcaption a.has--arrow::before {
        width: 3rem;
        height: 1rem;
        margin: 0 1rem 0 0;
    }
}




@media only screen and (max-width: 36em) {
    .ce_hyperlink a.has--arrow::before,
    .ce_hyperlink.has--arrow a:before {
        width: 3rem;
        height: 1rem;
        margin: 0 1rem 0 0;
    }
}


/* ///////////////////////////////////////////////////
/                   SUBSITE
/////////////////////////////////////////////////// */

.head--subsite {
    padding: 7rem 0 6rem 0 !important;
    background: linear-gradient(to bottom, #fff 0%, #fff 20rem, #ededed 20rem, #ededed 100%);
}

.head--subsite h2.ce_headline {
    text-align: right;
}

.hero--subsite {
    color: #fff;
    padding: 0 0 6rem 0;
    margin-bottom: 6rem;
    background-color: var(--secondarycolor);
    background-image: url("../img/bg--hero.svg");
    background-position: left 3rem top 3rem;
    background-repeat: no-repeat;
    background-size: 30%;
}

.subsite--hero-txt {
    padding-top: 8rem;
}

.subsite--hero-txt h1 {
    color: var(--primarycolor);
    font-weight: 700;
    text-transform: uppercase;
}

.subsite--hero-txt p {
    font-size: 2.25rem;
    line-height: 1.4;
    margin-bottom: 0;
}

.subsite--hero-img {
    margin-top: -7rem;
}

@media only screen and (max-width: 134.9375em) {
    .subsite--hero-txt {
        padding-top: 7rem;
    }

    .subsite--hero-txt p {
        font-size: 1.75rem;
    }
}

@media only screen and (max-width: 128em) {
    .head--subsite {
        padding: 7rem 0 6rem 0 !important;
        background: linear-gradient(to bottom, #fff 0%, #fff 16rem, #ededed 16rem, #ededed 100%);
    }
}

@media only screen and (max-width: 96em) {
    .head--subsite {
        padding: 4rem 0 6rem 0 !important;
    }

    .hero--subsite {
        padding: 0 0 5rem 0;
    }

    .subsite--hero-img {
        margin-top: -4rem;
    }

    .subsite--hero-txt p {
        font-size: 1.625rem;
    }
}

@media only screen and (max-width: 87.5em) {
    .subsite--hero-txt {
        padding-top: 6rem;
    }

    .subsite--hero-txt h1 {
        font-size: 2.75rem;
    }

    .subsite--hero-txt p {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 80em) {
    .head--subsite {
        padding: 4rem 0 4rem 0 !important;
    }

    .hero--subsite {
        margin-bottom: 4rem;
    }

    .subsite--hero-txt h1 {
        font-size: 2.625rem;
    }

    .subsite--hero-txt p {
        font-size: 1.375rem;
    }
}

@media only screen and (max-width: 73.75em) {
    .subsite--hero-txt {
        padding-top: 5rem;
    }

    .subsite--hero-txt h1 {
        font-size: 2.5rem;
    }

    .subsite--hero-txt p {
        font-size: 1.3125rem;
    }
}

@media only screen and (max-width: 67.5em) {
    .subsite--hero-img {
        margin-top: -3rem;
    }

    .subsite--hero-txt {
        padding-top: 4rem;
    }

    .subsite--hero-txt h1 {
        font-size: 2.375rem;
        margin-bottom: 2rem;
    }

    .subsite--hero-txt p {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 63.9375em) {   
    .hero--subsite {
        padding: 0 0 3rem 0;
    }

    .subsite--hero-txt {
        padding-top: 3rem;
    }

    .subsite--hero-txt h1 {
        font-size: 2.25rem;
        margin-bottom: 1.5rem;
    }

    .subsite--hero-txt p {
        font-size: 1.125rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    .head--subsite {
        padding: 0rem 0 3rem 0 !important;
    }

    .head--subsite .col--2-5, .col--3-5 {
        margin-bottom: 2rem;
    }

    .head--subsite h2.ce_headline {
        text-align: left;
        margin-bottom: 0;
    }

    .head--subsite h2.ce_headline br {
        content: "";
        display: none;
    }

    .hero--subsite {
        background-position: left 20% top 1rem;
        background-size: 70%;
        padding: 0 0 4rem 0;
        margin-bottom: 8rem;
    }

    .subsite--hero-img {
        margin-top: 0;
        margin-bottom: -8rem;
    }

    .subsite--hero-txt {
        padding: 5rem 0 0 0;
        text-align: center;
        width: 85%;
        margin: 0 auto;
    }

    .subsite--hero-txt h1 {
        font-size: 3.125rem;
        margin-bottom: 2.5rem;
    }

    .subsite--hero-txt p {
        font-size: 1.75rem;
    }
}

@media only screen and (max-width: 50.625em) {   
    .subsite--hero-txt h1 {
        font-size: 3rem;
        margin-bottom: 2rem;
    }

    .subsite--hero-txt p {
        font-size: 1.625rem;
    }
}

@media only screen and (max-width: 40em) {   
    .subsite--hero-txt {
        padding: 4rem 0 0 0;
    }

    .subsite--hero-txt h1 {
        font-size: 2.75rem;
        margin-bottom: 2.5rem;
    }

    .subsite--hero-txt p {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 30em) {
    .hero--subsite {
        padding: 0 0 3rem 0;
        margin-bottom: 6rem;
    }

    .subsite--hero-img {
        margin-top: 0;
        margin-bottom: -6rem;
    }

    .subsite--hero-txt {
        padding: 3rem 0 0 0;
        width: 90%;
    }

    .subsite--hero-txt h1 {
        font-size: 2rem;
        margin-bottom: 1.5rem;
    }

    .subsite--hero-txt p {
        font-size: 1.1875rem;
    }
}


.ce_hyperlink.btn a {
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: none;
    background-color: var(--primarycolor);
    text-align: center;
    cursor: pointer;
    color: #fff;
    padding: 1rem 4rem;
    text-decoration: none;
    display: inline-block;
    line-height: 1.0;
}

.ce_hyperlink.btn a:hover,
.ce_hyperlink.btn a:active,
.ce_hyperlink.btn a:focus {
    background-color: #b1a286;
}

.ce_hyperlink.btn.btn--shop a::before {
    content: "";
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    margin-right: 0.5em;
    background-image: url("../img/icons/shoppingbag_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

@media only screen and (max-width: 30em) {
    .ce_hyperlink.btn a {
        font-size: 1.125rem;
        padding: 0.875rem 3rem;
        display: block;
    }

    .ce_hyperlink.btn.btn--shop a::before {
        width: 1rem;
        height: 1rem;
    }
}


.listing--advantages .advantage--1,
.listing--advantages .advantage--2,
.listing--advantages .advantage--3,
.listing--advantages .advantage--4 {
    position: relative;
    text-align: left;
    padding-top: 6rem;
    padding-left: 4rem;
    margin-bottom: 0;
}

.listing--advantages .advantage--1::after,
.listing--advantages .advantage--2::after,
.listing--advantages .advantage--3::after,
.listing--advantages .advantage--4::after {
    color: #000;
    font-size: 16rem;
    font-weight: 700;
    line-height: 1;
    opacity: 0.07;
    text-transform: uppercase;
    pointer-events: none;
    position: absolute;
    top: -1.5rem;
    left: 0;
}

@media only screen and (max-width: 90em) {
    .listing--advantages .advantage--1::after,
    .listing--advantages .advantage--2::after,
    .listing--advantages .advantage--3::after,
    .listing--advantages .advantage--4::after {
        font-size: 12rem;
        top: 0;
    }
}

@media only screen and (max-width: 73.75em) {
    .listing--advantages .advantage--1,
    .listing--advantages .advantage--2,
    .listing--advantages .advantage--3,
    .listing--advantages .advantage--4 {
        padding-top: 6rem;
        padding-left: 2rem;
    }
}

.listing--advantages .advantage--1::after {
    content: "01";
}

.listing--advantages .advantage--2::after {
    content: "02";
}

.listing--advantages .advantage--3::after {
    content: "03";
}

.listing--advantages .advantage--4::after {
    content: "04";
}

.listing--advantages .advantage--1 h3,
.listing--advantages .advantage--2 h3,
.listing--advantages .advantage--3 h3,
.listing--advantages .advantage--4 h3 {
    margin-bottom: 2rem;
}

.ce_text {
    margin-bottom: 0;
}

.ce_text.text--legal {
    font-size: 1rem;
    line-height: 1.4;
}

.ce_text.text--legal p {
    margin-bottom: 0.75rem;
}

.ce_text.gap--small {
    margin-bottom: 2rem;
}

.ce_text.gap--small h1,
.ce_text.gap--small h2,
.ce_text.gap--small h3,
.ce_text.gap--small h4,
.ce_text.gap--small h5,
.ce_text.gap--small h6 {
    margin-bottom: 1rem;
}

.ce_text ol {
    list-style-type: decimal;
    margin: 0;
    padding-left: 1.5rem;
}

.ce_text ul li,
.ce_list li {
    line-height: 1.6;
    margin-bottom: 0.625rem;
    padding-left: 1.5rem;
}

.ce_text ul li::before,
.ce_list li::before {
    font-family: 'Icofont';
    content: "\ea75";
    color: var(--secondarycolor);
    margin-left: -1.7rem;
    width: 1rem;
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    margin-right: 1.25rem;
    position: relative;
}

.ce_text ul li:last-child,
.ce_list li:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 90em) {
    .ce_text ul li,
    .ce_list li {
        margin-bottom: 0.375rem;
    }
}

.pricing--plan {
    margin-bottom: 4rem;
}

.pricing--plan:last-child {
    margin-bottom: 0;
}

.pricing--plan h2 {
    color: var(--tertiarycolor);
    text-transform: uppercase;
}

.pricing--plan .price--details {
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1.2;
    color: #333;
    width: 80%;
}

@media only screen and (max-width: 105em) {
    .pricing--plan .price--details {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 90em) {
    .pricing--plan .price--details {
        font-size: 1.375rem;
    }
}

@media only screen and (max-width: 80em) {
    .pricing--plan .price--details {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    .pricing--plan .col--1-3 {
      margin-bottom: 1rem;
    }
}

@media only screen and (max-width: 30em) {
    .pricing--plan .price--details {
        font-size: 1.1875rem;
    }
}

.is--greybox {
    background-color: #ededed;
    padding: 2rem;
}



/* ///////////////////////////////////////////////////
/                   ACCORDION
/////////////////////////////////////////////////// */

.ce_accordion {
    border-bottom: 0.5rem solid #fff;
    margin-bottom: 0;
}

.ce_accordion .toggler {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #555;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    padding-left: 3.5rem;
    position: relative;
    background-color: #ededed;
}

.ce_accordion .toggler.active,
.ce_accordion .toggler:hover {
    color: #000;
}


.ce_accordion .toggler:hover {
    background-color: #e3e3e3;
}

.ce_accordion .toggler:hover,
.ce_accordion .toggler:focus,
.ce_accordion .toggler:active {
    outline: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.ce_accordion .toggler::before {
    font-family: "IcoFont";
    content: "\ea73";
    color: var(--secondarycolor);
    width: 1.75rem;
    margin-left: -2.5rem;
    position: absolute;
}

.ce_accordion .toggler.active::before {
    font-family: "IcoFont";
    content: "\ea76";
    color: var(--secondarycolor);
    width: 1.75rem;
    margin-left: -2.5rem;
    position: absolute;
}

.ce_accordion .ui-accordion-content {
    padding: 1rem 3.5rem 1.5rem 3.5rem
}



.ce_accordion.show--projectinfo {
    border: none;
}

.ce_accordion.show--projectinfo .toggler {
    font-size: 2rem;
    font-weight: 700;
    text-transform: none;
    line-height: 1.1466;
    letter-spacing: 0;
    margin-bottom: 1rem;
    color: #000;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    padding-left: 3.5rem;
    position: relative;
    background-color: transparent;
}

.ce_accordion.show--projectinfo .toggler::before {
    margin-left: 0; 
    left: 0;
}

.ce_accordion.show--projectinfo .ui-accordion-content {
    padding: 1rem 0 1.5rem 3.5rem;
}

@media only screen and (max-width: 119.9375em) {
    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.875rem;
    }
}

@media only screen and (max-width: 105em) {
    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.75rem;
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 96em) {
    .ce_accordion .toggler {
        font-size: 1.375rem;
    }

    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.625rem;
    }
}

@media only screen and (max-width: 90em) {
    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 85.375em) {
    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.375rem;
        padding-left: 2.5rem;
    }

    .ce_accordion.show--projectinfo .toggler::before, 
    .ce_accordion.show--projectinfo .toggler.active::before {
        margin-left: 0;
    }

    .ce_accordion.show--projectinfo .ui-accordion-content {
        padding: 1rem 0 1.5rem 2.5rem;
    }
}

@media only screen and (max-width: 79.9375em) {
    .ce_accordion .toggler {
        font-size: 1.25rem;
    }

    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.75rem;
    }
}

@media only screen and (max-width: 36em) {
    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.625rem;
    }
}

@media only screen and (max-width: 30em) {
    .ce_accordion .toggler {
        font-size: 1.125rem;
        letter-spacing: 0;
        padding-left: 2.5rem;
    }

    .ce_accordion.show--projectinfo .toggler {
        font-size: 1.5rem;
        padding-left: 2.5rem;
    }

    .ce_accordion .toggler::before, 
    .ce_accordion .toggler.active::before {
        margin-left: -1.75rem;
    }

    .ce_accordion.show--projectinfo .toggler::before, 
    .ce_accordion.show--projectinfo .toggler.active::before {
        margin-left: 0;
    }

    .ce_accordion .ui-accordion-content {
        padding: 1rem 2.5rem 1.5rem 2.5rem
    }

    .ce_accordion.show--projectinfo .ui-accordion-content {
        padding: 1rem 0 1.5rem 2.5rem;
    }
}


.slider--before-after.rsts-skin-default {
    overflow: visible;
    padding-bottom: 4rem;
}

.slider--before-after.arrow--inner.rsts-skin-default {
    padding-bottom: 2rem;
}

@media only screen and (max-width: 30em) {
    .slider--before-after.arrow--inner.rsts-skin-default {
        padding-bottom: 1rem;
    }
}

.slider--before-after.rsts-skin-default .rsts-caption {
    color: #000;
    border-radius: 0;
    background-color: rgba(255, 255, 255, 1);
    font-weight: 600;
    letter-spacing: 1px;
    top: 0;
    left: 0;
}

.slider--before-after.rsts-skin-default .rsts-prev,
.slider--before-after.rsts-skin-default .rsts-next {
    bottom: -50px;
    border-radius: 0px;
    box-shadow: none;
    color: rgb(0, 0, 0);
    width: 36px;
    height: 21px;
    border: none;
}

.slider--before-after.arrow--inner.rsts-skin-default .rsts-prev,
.slider--before-after.arrow--inner.rsts-skin-default .rsts-next {
    bottom: 1rem;
}

.slider--before-after.rsts-skin-default .rsts-prev {
    right: 70px;
    background: transparent url("../img/icons/arrow--slider.svg") 0% 0% / contain no-repeat;
    transform: scaleX(-1);
}


.slider--before-after.arrow--inner.rsts-skin-default .rsts-prev {
    right: 5rem;
    background: transparent url("../img/icons/arrow--slider_white.svg") 0% 0% / contain no-repeat;
    filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.6));
}

.slider--before-after.rsts-skin-default .rsts-next {
    right: 0;
    background: transparent url("../img/icons/arrow--slider.svg") 0% 0% / contain no-repeat;

}

.slider--before-after.arrow--inner.rsts-skin-default .rsts-next {
    right: 1rem;
    background: transparent url("../img/icons/arrow--slider_white.svg") 0% 0% / contain no-repeat;
    filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.6));
}

.ce_image.has--img-caption {
    overflow: initial;
}

.ce_image.has--img-caption figcaption.caption {
    text-align: right;
    font-style: italic;
    font-size: 1rem;
    color: var(--tertiarycolor);
    margin-top: 1rem;
    height: 1rem;
}

@media only screen and (max-width: 30em) {
    .ce_image.has--img-caption figcaption.caption {
        text-align: center;
        font-size: 0.75rem;
    }
}


/* ///////////////////////////////////////////////////
/                   FOOTER
/////////////////////////////////////////////////// */
footer {
    background: linear-gradient(to bottom, #fff 0%, #fff 26rem, var(--primarycolor) 26rem, var(--primarycolor) 100%);
    padding-bottom: 6rem;
    overflow: hidden;
}

footer .footer--about {
    color: #fff;
    padding: 0 0 4rem 0;
    margin-top: 16rem;
    background-color: #323f45;
    overflow: visible;
    margin-bottom: 3rem;
}

footer .footer--about a {
    color: var(--primarycolor);
    text-decoration: none;
}

footer .footer--about .img--about {
    margin-top: -12rem;
}

footer .footer--about .txt--about {
    margin-top: -12rem;
    margin-bottom: 4rem;
    font-size: 1.25rem;
    line-height: 1.7;
}

footer .footer--about .txt--about h2 {
    font-size: 14rem;
    font-weight: 700;
    color: var(--tertiarycolor);
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 3rem;
}

footer .footer--about .txt--about em {
    font-weight: 600;
}

@media only screen and (max-width: 55.9375em) {
    footer .footer--about .logos--about {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

footer .footer--about .logo--membership {
    display: inline-block;
    margin-top: 0;
    margin-right: 3rem;
}

footer .footer--about .logo--membership:last-child {
    margin-right: 0;
}

@media only screen and (max-width: 128em) {
    footer {
        background: linear-gradient(to bottom, #fff 0%, #fff 22rem, var(--primarycolor) 22rem, var(--primarycolor) 100%);
        padding-bottom: 4rem;
    }

    footer .footer--about {
        margin-top: 12rem;
    }

    footer .footer--about .img--about {
        margin-top: -8rem;
    }

    footer .footer--about .txt--about {
        margin-top: -10rem;
        margin-bottom: 3rem;
        font-size: 1rem;
        line-height: 1.8;
    }

    footer .footer--about .txt--about h2 {
        font-size: 12rem;
    }
}

@media only screen and (max-width: 90em) {
    footer .footer--about {
        padding: 0 0 2rem 0;
    }

    footer .footer--about .img--about {
        margin-top: -4rem;
    }

    footer .footer--about .txt--about {
        margin-top: -7.5rem;
        margin-bottom: 2rem;
        line-height: 1.6;
    }

    footer .footer--about .txt--about h2 {
        font-size: 9rem;
        margin-bottom: 2rem;
    }

    footer .footer--about .logo--membership {
        margin-right: 1rem;
        width: 10rem;
        height: auto;
    }
}

@media only screen and (max-width: 80em) {
    footer .footer--about {
        margin-top: 8rem;
        margin-bottom: 2rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    footer .footer--about {
        padding: 2rem 0;
    }

    footer .footer--about .img--about {
        margin-top: -8rem;
    }

    footer .footer--about .txt--about {
        margin-top: -13rem;
    }

    footer .footer--about .txt--about h2 {
        font-size: 12rem;
    }

    footer .footer--about {
        margin-top: 10rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    footer .footer--about .txt--about {
        margin-top: -11rem;
    }

    footer .footer--about .txt--about h2 {
        font-size: 10rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    footer .footer--about .txt--about {
        margin-top: -9rem;
    }

    footer .footer--about .txt--about h2 {
        font-size: 8rem;
    }
}

@media only screen and (max-width: 30em) {
    footer {
        padding-bottom: 2rem;
    }
}

@media only screen and (max-width: 26.9375em) {
    footer .footer--about .logo--membership,
    footer .footer--about .logo--membership:last-child {
        /*display: block;
        width: 12rem;*/
        width: 8.5rem;
        margin: 0 auto;
    }
}



#footer .footer--tel {
    width: 36%;
    margin-right: 8%;
    float: left;
}

footer .ce_hyperlink.tel {
    margin-top: 0;
}

footer .ce_hyperlink.tel a {
    color: var(--secondarycolor);
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.0;
    text-decoration: none;
}

footer .ce_hyperlink.tel a::before {
    content: "";
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 0.375em;
    background-image: url("../img/icons/phone.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

footer .ce_hyperlink.tel a:hover::before {
    animation: ring 0.3s;
    animation-iteration-count: infinite;
}

@media only screen and (max-width: 128em) {
    footer .ce_hyperlink.tel a {
        font-size: 2.75rem;
    }

    footer .ce_hyperlink.tel a::before {
        width: 2.25rem;
        height: 2.25rem;
    }
}


@media only screen and (max-width: 90em) {
    footer .ce_hyperlink.tel a {
        font-size: 2.5rem;
    }

    footer .ce_hyperlink.tel a::before {
        width: 2rem;
        height: 2rem;
    }
}

@media only screen and (max-width: 80em) {
    #footer .ce_hyperlink.tel a {
        font-size: 2rem;
    }

    #footer .ce_hyperlink.tel a::before {
        width: 1.75rem;
        height: 1.75rem;
    }
}

@media only screen and (min-width: 56em) and (max-width: 64em) {
    #footer .ce_hyperlink.tel a {
        font-size: 1.75rem;
    }

    #footer .ce_hyperlink.tel a::before {
        width: 1.5rem;
        height: 1.5rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    #footer .footer--tel {
        width: 100%;
        margin-right: 0;
        float: none;
        margin-bottom: 2rem;
        text-align: center;
        clear: both;
    }
}


#footer .footer--address {
    width: 28%;
    margin-right: 4%;
    float: left;
}

footer .address {
    font-size: 1.5rem;
    line-height: 1.1;
}

footer .address em {
    color: var(--secondarycolor);
    font-weight: 600;
}

@media only screen and (max-width: 128em) {
    footer .address {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 105em) {
    #footer .footer--address {
        width: 24%;
    }
}

@media only screen and (max-width: 90em) {
    footer .address {
        font-size: 1.125rem;
    }
}

@media only screen and (max-width: 80em) {
    #footer .footer--address {
        width: 22%;
    }

    footer .address {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 64em) {
    footer .address {
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    #footer .footer--address {
      width: 42%;
    }
}

@media only screen and (max-width: 30em) {
    #footer .footer--address {
      width: 50%;
    }
}



footer .footer--socialmedia {
    position: absolute;
    right: -6rem;
    margin-right: 0;
    text-align: right;
    line-height: 0;
}

@media only screen and (max-width: 34em) {
    footer .footer--socialmedia {
        display: inline-block;
        position: unset;
        width: 100%;
        margin-top: 2rem;
        text-align: center;
    }
}

footer .footer--smicon {
    margin-top: 0;
    margin-right: 0.5rem;
    display: inline-block;
    transition: all ease 0.2s;
    background-color: transparent;
    border-radius: 8px;
}

footer .footer--smicon:hover {
    /*filter: grayscale(100%) contrast(999%) invert(100%);*/
    background-color: #fff;
}

footer .footer--smicon:last-child {
    margin-right: 0;
}

footer .footer--smicon .image_container {
    width: 2.5rem;
    height: auto;
}

footer .footer--smicon a.hyperlink_img {
    display: block;
}

@media only screen and (max-width: 105em) {
    footer .footer--socialmedia {
        right: 0;
    }
}

@media only screen and (max-width: 90em) {
    footer .footer--smicon {
        margin-right: 0.25rem;
    }
    
    footer .footer--smicon .image_container {
        width: 2rem;
    }
}

@media only screen and (max-width: 80em) {
    footer .footer--smicon .image_container {
        width: 1.75rem;
    }
}



#footer .footer--menu {
    width: 24%;
    margin-right: 0;
    float: left;
}

#footer nav.footer--nav {
    float: left;
}

#footer nav.footer--nav ul {
    margin-bottom: 0;
    line-height: 2rem;
}

#footer nav.footer--nav ul li {
    font-size: 1.375rem;
    line-height: 1.4;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
}

#footer nav.footer--nav ul li::before {
    content: "―";
    color: var(--secondarycolor);
    margin-right: 0.75rem;
    font-weight: 700;
}

#footer nav.footer--nav a {
    font-weight: 700;
    text-decoration: none;
    color: #000;
    transition: color ease 0.2s;
}

#footer nav.footer--nav a:hover,
#footer nav.footer--nav a:focus,
#footer nav.footer--nav a:active {
    color: #fff;
}

#footer nav.footer--nav ul li:last-child {
    margin-right: 0;
}

@media only screen and (max-width: 128em) {
    #footer nav.footer--nav ul li {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 105em) {
    #footer .footer--menu {
        width: 28%;
    }
}

@media only screen and (max-width: 90em) {
    #footer nav.footer--nav ul li {
        font-size: 1.125rem;
    }
}

@media only screen and (max-width: 80em) {
    #footer .footer--menu {
        width: 30%;
    }

    #footer nav.footer--nav ul li {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 64em) {
    #footer nav.footer--nav ul li {
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    #footer .footer--menu {
        margin-top: 0;
    }
}

@media only screen and (max-width: 36em) {
    #footer nav.footer--nav {
        width: 100%;
    }

    #footer nav.footer--nav ul {
        justify-content: center;
    }
}

@media only screen and (max-width: 63.9375em) {
    #footer .ce_hyperlink.tel {
        margin-top: 0;
    }
}

@media only screen and (max-width: 55.9375em) {
    #footer .footer--menu {
      width: 54%;
    }
}

@media only screen and (max-width: 30em) {
    #footer .footer--menu {
      width: 46%;
    }
}

@media only screen and (max-width: 29.9375em) {
    #footer .ce_hyperlink.tel {
        margin-top: 0rem;
    }

    #footer nav.footer--nav ul li {
        margin-right: 1.5rem;
    }

    #footer nav.footer--nav ul li::before {
        content: "―";
        margin-right: 0.25rem;
    }
}

@media only screen and (max-width: 22.4375em) {
    #footer nav.footer--nav ul li {
        letter-spacing: 0;
    }
}


@keyframes ring {
    0% {
        transform: translate(4px, 0px);
    }

    10% {
        transform: translate(2px, 0px);
    }

    20% {
        transform: translate(0px, 0px);
    }

    30% {
        transform: translate(2px, 0px);
    }

    40% {
        transform: translate(4px, 0px);
    }

    50% {
        transform: translate(2px, 0px);
    }

    60% {
        transform: translate(0px, 0px);
    }

    70% {
        transform: translate(2px, 0px);
    }

    80% {
        transform: translate(4px, 0px);
    }

    90% {
        transform: translate(2px, 0px);
    }

    100% {
        transform: translate(0px, 0px);
    }
}


.ce_image .image_container,
.ce_hyperlink .image_container .hyperlink_img {
    line-height: 0;
}


/* ///////////////////////////////////////////////////
/                   LINKS
/////////////////////////////////////////////////// */
.ce_hyperlink {
    margin-top: 2rem;
}

.ce_hyperlink.has--arrow a {
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    color: #000;
    letter-spacing: 2px;
    align-items: center;
    display: flex;
}

.ce_hyperlink a.has--arrow::before,
.ce_hyperlink.has--arrow a:before {
    transition: all ease-in-out 0.2s;
    content: "";
    display: inline-block;
    width: 3.5rem;
    height: 1.3125rem;
    margin: 0 1.5rem 0 0;
    background-image: url("../img/icons/arrow--right-long.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.ce_hyperlink a.has--arrow:hover::before,
.ce_hyperlink.has--arrow a:hover:before {
    transform: translate(0.5rem, 0);
}


.ce_hyperlink.icon--pdf,
.ce_hyperlink.icofont--pdf {
    line-height: 1.5rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.ce_hyperlink.icon--pdf a.hyperlink_txt {
    font-size: 1.25rem;
    font-weight: 400;
    text-decoration: none;
    text-transform: none;
    color: #000;
    letter-spacing: 1px;
    align-items: center;
    display: flex;
}

.ce_hyperlink.icon--pdf a::before,
.ce_text.icon--pdf a::before {
    content: "";
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    margin-right: 1rem;
    position: relative;
    background-image: url("../img/icons/file--pdf.png") !important;
}

.ce_hyperlink.link--youtube a.hyperlink_txt {
    height: 3rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2rem;
    text-decoration: none;
    text-transform: uppercase;
    color: #000;
    letter-spacing: 2px;
    padding: 0.75rem 0 0.75rem 4rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url("../../files/bedios/img/icons/youtube.png");
    background-size: 2.5rem;
}



/* ///////////////////////////////////////////////////
/                   SLIDER
/////////////////////////////////////////////////// */

@media only screen and (max-width: 30em) {
    .testimonial--slider h2 {
        margin-bottom: 1rem;
    }
}

@media only screen and (max-width: 24em) {
    .testimonial--slider h2 {
        margin-bottom: 0;
    }
}

.testimonial {
    padding: 2rem 8rem;
    /*position: relative;*/
    background-image: url("../img/icons/zitat.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 60% 60%;
}

.testimonial .ce_text p:first-child {
    font-size: 2rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.5;
    color: #000;
    text-align: center;
}

.testimonial .ce_text p:nth-child(2) {
    color: var(--secondarycolor);
    font-size: 1rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 2px;
    margin-top: 2rem;
}

.testimonial .ce_text p:nth-child(2)::before {
    content: "";
    display: inline-block;
    width: 1.125rem;
    height: 1.25rem;
    margin: 0.5rem 0.5rem 0 0;
    background-image: url("../img/icons/sprechblase.svg");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: -0.25rem;
}

.testimonial.testimonial--google .ce_text p:nth-child(2)::before {
    background-image: url("../img/icons/google_logo.svg");
}

.testimonial.testimonial--etsy .ce_text p:nth-child(2)::before {
    background-image: url("../img/icons/etsy_logo.svg");
}

/*.testimonial .ce_text p:first-child::before {
    position: absolute;
    top: -4rem;
    left: 10rem;
    content: "";
    width: 11.25rem;
    height: 12.5rem;
    background-image: url("../img/icons/zitat.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
}*/

.rsts-skin-default .rsts-nav li {
    display: inline;
}

.testimonial--slider .mod_rocksolid_slider .rsts-slide {
    min-height: 17rem;
    /*padding: 0 4rem;*/
}

.testimonial--slider .mod_rocksolid_slider .rsts-prev.rsts-prev,
.testimonial--slider .mod_rocksolid_slider .rsts-next.rsts-prev {
    right: inherit;
}

.testimonial--slider .mod_rocksolid_slider .rsts-prev,
.testimonial--slider .mod_rocksolid_slider .rsts-next {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    color: #000;
    background-repeat: no-repeat;
    background-size: contain;
    top: 30%;
    transform: translate(0, -50%);
    background-image: url("../img/icons/arrow--slider.svg");
    transform: scaleX(-1);
    width: 53px;
    height: 35px;
    border: none;
}

.testimonial--slider .mod_rocksolid_slider .rsts-prev.rsts-next,
.testimonial--slider .mod_rocksolid_slider .rsts-next.rsts-next {
    background-image: url("../img/icons/arrow--slider.svg");
    transform: scaleX(1);
    right: 0;
}

.rsts-skin-default .rsts-prev,
.rsts-skin-default .rsts-next,
.rsts-skin-default .rsts-video-play,
.rsts-skin-default .rsts-video-stop,
.rsts-skin-default .rsts-thumbs-prev,
.rsts-skin-default .rsts-thumbs-next {
    position: absolute;
    right: 55px;
    bottom: 15px;
    overflow: hidden;
    outline: none;
    line-height: 0;
    text-align: center;
    text-decoration: none;
    text-indent: -9999px;
    -webkit-transition: opacity 0.05s linear;
    -moz-transition: opacity 0.05s linear;
    -o-transition: opacity 0.05s linear;
    transition: opacity 0.05s linear;
}

.rsts-skin-default .rsts-nav .rsts-nav-prev,
.rsts-skin-default .rsts-nav .rsts-nav-next {
    display: none;
}

.testimonial--slider .mod_rocksolid_slider .rsts-nav {
    right: inherit;
    position: relative;
    text-align: center;
}

.testimonial--slider .mod_rocksolid_slider .rsts-nav ul .rsts-nav-item a {
    width: 25px;
    border-radius: 0;
    border: none;
    height: 3px;
    box-shadow: none;
    margin: 12px 4px;
    background: #ddd;
    position: relative;
    overflow: visible;
    transition: all ease-in-out 0.5s;
}

.testimonial--slider .mod_rocksolid_slider .rsts-nav ul .rsts-nav-item a::after {
    content: "";
    background: transparent;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 28px;
    width: 52px;
}

.testimonial--slider .mod_rocksolid_slider .rsts-nav ul .rsts-nav-item a.active {
    width: 40px;
    background: var(--primarycolor);
}

@media only screen and (max-width: 128em) {
    .testimonial--slider {
        padding-bottom: 3rem !important;
    }

    .testimonial .ce_text p:first-child {
        font-size: 1.75rem;
    }
}

@media only screen and (max-width: 96em) {
    .testimonial .ce_text p:first-child {
        font-size: 1.5rem;
        line-height: 1.5;
    }
}

@media only screen and (max-width: 80em) {
    .testimonial .ce_text p:first-child {
        font-size: 1.375rem;
        line-height: 1.5;
    }
}

@media only screen and (max-width: 55.9375em) {
    .testimonial {
        padding: 2rem 3rem;
    }

    .testimonial .ce_text p:first-child {
        font-size: 1.375rem;
        line-height: 1.5;
    }

    .testimonial--slider  {
        padding-bottom: 2rem !important;
    }

    .testimonial--slider .mod_rocksolid_slider .rsts-slide {
        min-height: 16rem;
    }

    .testimonial--slider .mod_rocksolid_slider .rsts-prev,
    .testimonial--slider .mod_rocksolid_slider .rsts-next {
        top: 30%;
        width: 40px;
        height: 26px;
        border: none;
    }
}

@media only screen and (max-width: 40em) {
    .testimonial .ce_text p:first-child {
        font-size: 1.25rem;
        line-height: 1.4;
    }
}

@media only screen and (max-width: 30em) {
    .testimonial--slider  {
        padding-bottom: 0 !important;
    }

    .testimonial--slider .mod_rocksolid_slider .rsts-slide {
        min-height: 16rem;
    }

    .testimonial .ce_text p:first-child {
        font-size: 1rem;
        line-height: 1.6;
    }

    .testimonial .ce_text p:first-child:before {
        font-size: 14rem;
        top: -4rem;
        left: 5rem;
    }

    .testimonial .ce_text p:nth-child(2) {
        font-size: 0.875rem;
        letter-spacing: 1px;
    }
}



/* ///////////////////////////////////////////////////
/                   HELPER
/////////////////////////////////////////////////// */
.m0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mt0 {
    margin-top: 0 !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.m1 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.mt1 {
    margin-top: 1rem !important;
}

.mb1 {
    margin-bottom: 1rem !important;
}

.m2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.mt2 {
    margin-top: 2rem !important;
}

.mb2 {
    margin-bottom: 2rem !important;
}

.mt3 {
    margin-top: 3rem !important;
}

.mb3 {
    margin-bottom: 3rem !important;
}

.mt5,
.mt5--desktop {
    margin-top: 5rem !important;
}

@media only screen and (max-width: 79.9375em) {
    .mt5--dektop {
        margin-top: 1rem !important;
    }
}

.mb5,
.mb5--desktop {
    margin-bottom: 5rem !important;
}

.mb6,
.mb6--desktop {
    margin-bottom: 6rem !important;
}

.mb8,
.mb8--desktop {
    margin-bottom: 8rem !important;
}

.mt8 {
    margin-top: 8rem !important;
}

.mb10,
.mb10--desktop {
    margin-bottom: 10rem !important;
}

.mt10 {
    margin-top: 10rem !important;
}

.mb16,
.mb16--desktop {
    margin-bottom: 16rem !important;
}

.mt16 {
    margin-top: 16rem !important;
}

@media only screen and (max-width: 80em) {
    .mb5--desktop,
    .mb6--desktop,
    .mb8--desktop,
    .mb10--desktop,
    .mb16--desktop {
        margin-bottom: 4rem !important;
    }
}

@media only screen and (max-width: 55.9375em) {
    .mb5--desktop,
    .mb6--desktop,
    .mb8--desktop,
    .mb10--desktop,
    .mb16--desktop {
        margin-bottom: 2rem !important;
    }
}

.p0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media only screen and (max-width: 55.9375em) {
    .p0--mobile {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .m0--mobile {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

.pt0 {
    padding-top: 0 !important;
}

@media only screen and (max-width: 55.9375em) {
    .pt0--mobile {
        padding-top: 0 !important;
    }

    .mt0--mobile {
        margin-top: 0 !important;
    }
}

.pb0 {
    padding-bottom: 0 !important;
}

@media only screen and (max-width: 55.9375em) {
    .pb0--mobile {
        padding-bottom: 0 !important;
    }

    .mb0--mobile {
        margin-bottom: 0 !important;
    }
}

.p1 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.pt1 {
    padding-top: 1rem !important;
}

.pb1 {
    padding-bottom: 1rem !important;
}

.p2 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.pt2 {
    padding-top: 2rem !important;
}

.pb2 {
    padding-bottom: 2rem !important;
}

.p3 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.pt3 {
    padding-top: 3rem !important;
}

.pb3 {
    padding-bottom: 3rem !important;
}

.p6 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

.pt6 {
    padding-top: 6rem !important;
}

.pb6 {
    padding-bottom: 6rem !important;
}

.p8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}

.pt10 {
    padding-top: 10rem !important;
}

.pt12 {
    padding-top: 12rem !important;
}

.pt16 {
    padding-top: 16rem !important;
}

.pb16 {
    padding-bottom: 16rem !important;
}

.overflow--visible {
    overflow: visible !important;
}

.block {
    display: block;
}

.inline {
    display: inline;
}

.inline-block {
    display: inline-block;
}

.inline-flex {
    display: inline-flex;
}

.pos--relative {
    position: relative;
}

.pos--absolute {
    position: absolute;
}

@media only screen and (max-width: 55.9375em) {
    .mobile--hidden {
        display: none;
    }
}

.nowrap {
    white-space: nowrap;
}

.is--shifted-up {
    position: relative;
    margin-bottom: -12rem;
}

.is--shifted-down {
    position: relative;
    margin-top: 4rem;
}

.is--shifted-left {
    margin-right: 8rem;
}

.is--shifted-right {
    margin-left: 4rem;
}

.ce_text.text--is-shifted-right :not(h1, h2, h3, h4, h5, h6, li, strong, em) {
    margin-left: 4rem;
}

@media only screen and (min-width: 56em) and (max-width: 79.9375em) {
    .is--shifted-up {
        margin-top: -9rem;
    }

    .is--shifted-down {
        margin-top: 3rem;
    }

    .is--shifted-right {
        margin-left: 3rem;
    }

    .ce_text.text--is-shifted-right :not(h1, h2, h3, h4, h5, h6, li) {
        margin-left: 3rem;
    }
}

@media only screen and (max-width: 55.9375em) {
    .is--shifted-left {
        margin-right: 0rem;
    }

    .is--shifted-right {
        margin-left: 0rem;
    }

    .is--shifted-down {
        margin-top: 0;
    }

    .ce_text.text--is-shifted-right :not(h1, h2, h3, h4, h5, h6, li) {
        margin-left: 0;
    }
}

.is--centered {
    text-align: center;
}

.is--centered .image_container,
.is--centered .image_container img {
    margin: 0 auto;
}

.is--justified {
    text-align: justify;
}

.is--left {
    text-align: left;
}

.is--right {
    text-align: right;
}

.is--uppercase {
    text-transform: uppercase;
}

.color--primary {
    color: var(--primarycolor);
}

.color--secondary {
    color: var(--secondarycolor);
}

.color--tertiary {
    color: var(--tertiarycolor);
}