
body, html {
    -webkit-font-smoothing: antialiased;
    font-family: "Montserrat","Helvetica Neue",Helvetica,Arial,sans-serif;
    text-size-adjust: 100%;
    text-transform: uppercase;
    background-color: initial;

}

/* --------- HEADER, FOOTER --------- */

#header,
#footer {
    background-color: black;
    color: white;
}

.header-top {
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    font-size: 12px;
    font-family: "Montserrat", sans-serif;
    line-height: 30px;
    letter-spacing: 3px;

}

.site-w {
    max-width: 1380px;
    margin: 0 auto;
}

.header-logo-a {
    display: block;
    text-align: center;
}
.header-logo-a  img {
    max-width: 90%;
}

.nav-header {
    flex-grow: 2;
    text-align: right;
}
.nav-header a,
.nav-footer a {
    display: inline-block;
    text-decoration: none;
    color: white;
    font-size: 12px;
    margin-left: 30px;
}

.nav-header a:hover,
.nav-footer a:hover{
    color: #286ed7;
}

/* --------- FOOTER --------- */


#footer .newsletter {
    background-color: #f6f6f6;
    color: #000000;
    text-align: center;
    font-size: 12px;
}

#footer .newsletter .bnc-wrapper {
    margin: 0 auto;
    text-align: center;
    padding: 20px 10px 15px 10px;
    box-sizing: border-box;
}

#footer > .site-w {
    justify-content: space-between;
}
#footer .bnc-col {
    flex: 1 1 33%
}

#footer a {
    color: white;
}

#footer .nav-social a {
    display: inline-block;
    font-size: 20px;
    margin: auto 7px;
}

#footer .nav-social img {
    width: 30px;
}

.nav-footer a {
    margin-left: 10px;
}

.nav-pay-cc {
    font-size: 28px;
}
.nav-pay-cc img {
    margin-top: -6px;
}

#footer .finalfooter {
    font-family: "Montserrat", sans-serif;
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    font-size: 12px;
    letter-spacing: 3px;
    line-height: 30px;
    min-height: 30px;
    padding-top: 15px;
}

#footer .finalfooter a{
    color: #000000;
}
#footer .finalfooter ul{
    list-style: none;
    margin: 0;
    padding: 0;

}

#footer .finalfooter li{
    display: inline-block;
    box-sizing: border-box;
    margin-bottom: 0.25em;
    width: 100%;
}



#configurator {
    max-width: 2560px;
    font-size: initial;
}


#configurator .img-container {
    display: block;
    /*width: 99%;*/
    width: 100%;
    position: relative;
    /* 2019-02-20 */
    /*height: 100%;*/
    height: 45vh;

}
/*
#configurator img.responsive {
    border: 1px solid red;
}*/

#configurator img.responsive {
    max-width: 100%;
    height: auto;
    max-height: 100%;
    /*display: flex;*/
    position: absolute;
    /*top: 50%;*/
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#configurator .bnc-nav-container {
    border-bottom: initial;
    top: 85%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 2vw;
    padding-right: 2vw;
}

#configurator .bnc-nav {
    display: block;
    font-weight: bold;
    width: 32px;
    height: 32px;
    border-radius: 16px;
    font-size: 17px;
    color: #ffffff;
    background-color: #000;
 }



#configurator h1 {
    font-family: inherit;
    font-size: 1.3rem;
    color: #000;
}

#configurator .bnc-breadcrumb {
    font-size: 12px;
}

#configurator .label-secondary{
    color: #aaaaaa;
}

#configurator .navigation-parts-title,
.configurator-nav .app-label {
    font-weight: normal;
}

#configurator .configurator-nav {
    display: none;
}

#configurator .navigation-bottom-content{
    margin: 15px 0;
    padding-top: 15px;
    border-top: 1px solid #e0e1e2;
}

.configurator-header {
    justify-content: flex-end;
}

.configurator-header > div.menu-title {
    flex-basis:  100%;
}

.configurator-header > div.nav-back {
    /*background-color: #00B7FF;*/
    flex-grow: initial;
    flex-basis:  30%;
}

.configurator-header > div.nav-share {
    flex-basis:  70%;
}

.configurator-header > div.nav-share > a {
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
}

#configurator .nav-cart {
    font-size: 1rem;
}

.configurator-header .nav-cart {
    flex: 0 0 75%;
}

.configurator-header .nav-goto-cart {
    flex: 0 0 25%;
}

.material-icons {
    color: #727277;
}

a:not(.color-negative) .material-icons,
.configurator-nav .color-negative {
    color: #707072;
}
a.color-negative .material-icons {
    color: #ffffff;
}

a:hover {
    color: #133650;
}

#component-nav {
    box-shadow: 1px 2px 4px 0px #888888;
    /** todo **/
    width: 100%;
    overflow-y: scroll;
    display: flex;
}

#component-nav,
#configurator #component-nav .icon-menu {
    border: 0;
}

#component-nav,
.bg-color-c {
    background-color: #fff;
}


#component-subcategory-selector {
    justify-content: center;
}

.bg-main {
    background-color: #000 !important;
    color: #ffffff;
}

.bg-main.border-right-2 {
    border-right: 2px solid #ffffff;
}

#configurator #component-nav .component-selector {
    width: 100%;
    top: initial;
    bottom: initial;
    /* *** */
    /*height: calc(100% - 140px);*/
    /*overflow-y: scroll;*/
    z-index: initial;

    /* 2019-02-20 */

    position: relative;
    /*display: flex;*/
    display: block;
    padding: 0px;
    background-color: #fff;


}

#configurator #component-nav .component-selector {
    /** todo **/
    display: flex;
}


#configurator #component-nav .component-selector > div,
#configurator .navigation-model-selector {

    background-color: white;
    padding: 5px 5px;
    border-bottom: 1px solid #e1e1e1;
}

#configurator #component-nav .component-selector > div:hover {
    background-color: white;
    color: #556a7d;
    text-decoration: none;
}

#configurator .navigation-part-selector,
#configurator .navigation-model-selector,
#configurator .model-selector{
    /*display: block;*/
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    /** todo **/
    /*text-align: initial;*/
    text-align: center;
    border-left-width: 0px;
    align-content: initial;
    height: 70px;

    /** todo **/
    height: auto;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 50%;
}


#configurator .model-selector{
    flex-wrap: nowrap;
    flex-direction: row;
    overflow-y: scroll;
    flex-grow: 1;
}

#configurator .navigation-part-selector .part-label,
#configurator .navigation-part-selector .label-secondary.navigation-part-label,
#configurator .navigation-model-selector .part-label,
#configurator .navigation-model-selector .label-secondary.navigation-part-label  {
    /** todo **/
   font-size: 0.8rem;

}

#configurator .navigation-part-selector .part-selector-material,
#configurator .navigation-model-selector  .part-selector-material {
    page-break-before: always;
    background-position: top right;
    background-size: 90%;
}

#configurator .navigation-attr-selector,
#configurator .model-item-selector {

    height: 111px;
    width: 111px;
    max-width: 111px;
    min-width: 111px;
    margin: 1px 1px;
    cursor: pointer;
    box-shadow: 0px 0px  4px -1px rgba(0,0,0, 0.4);
    color: transparent;
    background-size: auto;
    background-size: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

#configurator .model-item-selector.selected {
    box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.6);
}

#configurator .model-item-selector .selectorLabel {
    color: #aaaaaa;
    position: absolute;
    padding-left: 6px;
    bottom: 6px;
    font-weight: 700;
    font-size: 12px;
}



#configurator .navigation-attr-selector.showAsText {
    color: #000;
    background-color: white;
    text-align: center;
}
#configurator .navigation-attr-selector.showAsText span {
    display: block;
    text-align: center;
    font-size: 0.9rem;
}
#configurator .navigation-attr-selector.showAsText span.title {
    font-weight: bold;
    margin-top: 5px;
}

#configurator .text-panel {
    padding: initial;
}


#checkout .configurator-btn {

    background-color: #000;
    border: 1px solid #000;
    color: #fff;
}
#checkout .configurator-btn:hover {

    background-color: #ffffff;
    color: #000;
    border: 1px solid #000;
}

/* -------- custom-options-panel ---------*/
.custom-options-panel {
    display: none;
    width: 100%;
}

.custom-options-panel .panel {
    display: flex;
}

.custom-options-panel .navigation-attr-input {
    width: 150px!important;
}

.custom-options-panel .panel > div {
    flex-basis: 50%;
}

#configurator .ico-selected,
#configurator .child-component-selector .navigation-attr-selector.child-component.selected .ico-selected {
    display: none!important;
}
/* -------- MODAL ---------*/


/* The Modal (background) */
#configurator .be-modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1010; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.8); /* Black w/ opacity */
}

/* Modal Content/Box */
#configurator .modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 15% from the top and centered */
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
    padding: 30px;
    text-align: center;
    position: relative;
}

#configurator .modal-content h2 {
    font-weight: 500;
    margin-bottom: 30px;
    font-size: inherit;
}

#configurator .modal a.configurator-btn {
    display: inline-block;
    width: 170px;
    margin: auto 25px;
}

#configurator img.modal-loading {
    width: 70px;
    height: 70px;
    margin: 10px auto;
}


/* The Close Button */
#configurator .close {
    color: #dedede;
    float: right;
    font-size: 40px;
    position: absolute;
    top: -40px;
    right: -30px;
}

#configurator .close:hover,
#configurator .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}


#configurator .bnc-form-group {
    padding: 5px;
    /*background-color: #00B7FF;
    border: 1px solid rgb(80, 126, 126);*/
    text-align: left;
    vertical-align: top;
}

#configurator .bnc-input-text {
    border: 1px solid #e0e1e2;
    display: block;
    padding: 8px;
    width: 100%;
    font-size: 14px;
    margin: 0;
    box-sizing: border-box;
    background-color: #ffffff;
    box-shadow: none;

}

#configurator .bnc-checkbox {
    margin: 3px 15px 3px 3px;
    display: inline-block;
    vertical-align: top;
    background-color: #5f3f3f;
    box-sizing: border-box;
}

#configurator .bnc-form-text{
    display: inline-block;
    width: 88%;
    max-height: 45px;
    overflow-y: scroll;
    box-sizing: border-box;
    font-size: 12px;
}


#configurator .bnc-form-group.bnc-has-error input,
#configurator .bnc-form-group.bnc-has-error checkbox {
    border: 1px solid red;
}

#configurator .bnc-field-feedback,
#configurator .bnc-field-info-text {
    font-size: 12px;
}

#configurator .bnc-field-feedback {
    display: none;
}
#configurator .bnc-field-feedback.bnc-show {
    display: block;
    color: red;
}


#configurator .modal-content h2 {
    margin-bottom: 2px;
    /*text-align: left;*/
}

#configurator #registration-form .configurator-btn {
    width: 340px;
    display: inline-block;
    box-sizing: border-box;
    margin: 25px 10px 5px 10px;
    padding: 10px;
    background-repeat: no-repeat;
    background-position: 30px center;
    /*background-image: url("../images/icons/mail.png");*/
    font-size: 14px;
}

#configurator.mobile .bnc-mobile-col-6 {
    display: inline-block;
    width: 50%;
    box-sizing: border-box;
}


/* -------- end MODAL */

/* ============================ Large devices (desktops, 992px and up) ============================ */
@media (min-width: 992px) {

    .app-display-4 {
        font-size: 3rem;
    }
    .app-display-3 small {
        font-size: 1rem;
    }
    .app-no-upprecase {
        text-transform: initial;
    }

    #configurator {
        display: table;
        /*max-width: initial;
        direction: rtl;*/
        max-width: 1380px;
        margin: 0 auto 2rem auto;
        padding: 15px;
        width: 100%;
        /* background-color: #64798d; */
    }

    #appModalRegister,
    #appModalDownload {
        direction: initial;
    }

    #configurator .app-page-content,
    #configurator .app-sidebar {
        display: table-cell;
        direction: ltr;
    }

    #configurator .app-sidebar {
        display: table-cell;
        direction: ltr;
    }

    #component-nav {
        top: initial;
        width: 365px;
        z-index: initial;
        right: initial;
        display: initial;
        position: relative;

        /** override **/
        overflow-y: initial;
        display: initial;
    }

    #configurator #component-nav .component-selector {
        /** override **/
        display: initial;
    }



    #configurator img.responsive,
    #configurator .img-container {
        /*height: auto;*/
        /*max-height: initial;*/
        /*max-width: 55vw;*/

    }

    #configurator .bnc-nav-container {
        padding-left: 3vw;
        padding-right: 3vw;
        top: 95%;
    }



    #configurator .navigation-parts-title {

        max-width: initial;
        text-align: center;
        font-size: 2rem;
        margin-right: 50px;
    }

    .navigation-parts-icon.icon-menu.navigation-parts .material-icons {
        font-size: 42px;
    }

    .configurator-header {
        display: block;
        display: flex;
    }

    .configurator-header > div.menu-title {
        flex-basis:  auto;
        order: initial;
    }

    .configurator-header > div.nav-share {
        flex-basis:  auto;
        order: 2;
        margin-left: auto;
    }

    .configurator-header > div.nav-back {
        flex-basis:  50%;
        order: 3;
    }
    .configurator-header .nav-cart {
        flex-basis:  25%;
    }

    .configurator-header .nav-goto-cart {
        flex-basis:  auto;
    }

    #configurator .img-container {
        height: 70vh;
    }


    #configurator .app-sidebar {
        width: 500px;

        padding: 10px 10px;
        /*padding-right: 10px;*/
        box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        /*box-shadow: -10px 0px 10px 1px #f0f0f0;*/
        /*box-shadow: 10px 0 5px -2px #cecece;*/
        background-color: #fff;
        padding-bottom: 30px;

        box-shadow: 0 5px 25px 0 rgba(0,0,0,.1);

    }

    #component-nav {
        display: block;
        width: 100%;
        box-shadow: none;
    }

    #component-option-selector {
        display: block;
        /*max-height: 45vh;
        height: 45vh;*/
        overflow: hidden;
        /*overflow: auto;*/

    }

    .child-component-selector,
    .material-selector,
    .model-selector {
        display: flex;
        flex-wrap: wrap;
        max-height: 40vh;
    }

    .material-selector,
    .model-selector {
        /*overflow-y: scroll;
        height: 170px;*/
        overflow-x: hidden;

    }



    .component-nav-prev-next {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
    }
    .component-nav-prev-next > div {
        flex-grow: 1;
        flex-basis: 20%;

    }

    .component-nav-prev-next .navigation-prev {
        margin-left: 70px;
        margin-right: 5px;
    }
    .component-nav-prev-next .navigation-next {
        margin-right: 70px;
        margin-left: 5px;
    }

    #configurator .navigation-attr-selector,
    #configurator .model-item-selector {
        background-position: center center;
        margin: 10px 20px 20px 20px;
        margin: 3px;
        flex-grow: initial;     /* do not grow   - initial value: 0 */
        flex-shrink: initial;
        flex-basis: initial;
        height: 75px;
        width: 75px;
        max-width: 75px;
        min-width: 75px;
    }

    #configurator .child-component-selector .navigation-attr-selector.child-component {
        width: 110px;
        height: 110px;
        max-width: 110px;
        max-height: 110px;
    }

    #configurator .navigation-part-selector .part-label,
    #configurator .navigation-part-selector .label-secondary.navigation-part-label,
    #configurator .navigation-model-selector .part-label,
    #configurator .navigation-model-selector .label-secondary.navigation-part-label  {
        /** todo **/
        font-size: initial;
        width: 380px;

    }

    #configurator .navigation-part-selector,
    #configurator .navigation-model-selector,
    #configurator .model-selector{

        /** override **/
        text-align: initial;
        border-left-width: 0px;
        align-content: initial;
        height: 70px;

        /** override **/
        flex-grow: initial;
        flex-shrink: initial;
        flex-basis: unset;
    }
    #configurator .model-selector{
        height: auto;

        overflow-y: hidden;
    }



    #configurator .model-item-selector {

        margin: 10px 20px 20px 20px;
        margin: 3px;

        height: 110px;
        width: 110px;
        max-width: 110px;
        min-width: 110px;
    }
/*
    #configurator .model-item-selector .selectorLabel {
        color: #aaaaaa;
        position: absolute;
        padding-left: 6px;
        bottom: 6px;
        font-weight: 700;
        font-size: 12px;
    }
*/
    #configurator .navigation-attr-selector .ico-selected,
    #configurator .navigation-attr-selector.selected .ico-selected {
        top: 27px;
        left: 26px;

    }



    .app-btn-primary {
        color: white;
        display: inline-block;
        padding: 4px 10px;
        background-color: #000;
        cursor: pointer;
        font-size: 12px;
        font-weight: 700;
    }
    .app-btn-primary:hover {
        color: white;
        background-color: gray;
        text-decoration: none;
    }

    #price-box {
        /*background-image: url("/images/bg-price.png");*/
        background-repeat: no-repeat;
        background-position: bottom;
        padding-bottom: 5px;
        border-bottom: 0px solid gray;
    }

    #price-box > div {

    }

    .label-price {
        font-weight: bold;
        font-size: 1.2rem;
    }


    .custom-options-panel {
        overflow-y: scroll;
        max-height: 40vh;
    }


    #footer .finalfooter { padding-top: initial;}

    #footer .finalfooter li{
        width: initial;
    }

    #footer ul li:not(:first-child):before {
        content: " | ";
    }



}