
body, html {
    font-family: Georgia, 'Times New Roman', serif;
    background-color: initial;

}

#configurator {
    max-width: 2560px;
}


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


#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: 50%;
    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 .navigation-parts-title,
.configurator-nav .app-label {
    font-weight: normal;
}

.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;
}

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

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


#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-selector.navigation-attr-overlay > div {
    background-color: gray;
    color: white;
    padding: 5px 15px;
}

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

#configurator .navigation-attr-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 .navigation-attr-selector.showAsText {
    color: #000;
    background-color: white;
    text-align: center;
}
#configurator .navigation-attr-selector.showAsText span {
    display: inline-block;
    text-align: center;
    margin-top: 40px;
}


#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%;
}
/* -------- 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;
        width: 100%;
        direction: rtl;
    }

    #appModalRegister,
    #appModalDownload {
        direction: initial;
    }



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

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

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

    }

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



    #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: 90vh;
    }


    #configurator .app-sidebar {
        width: 562px;
        padding: 10px 25px;
        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: #f0f0f0;
        padding-bottom: 30px;
    }


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

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

    }

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

    .material-selector {

        overflow-y: scroll;
        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%;
        font-size: 1rem;
    }

    .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 {

        background-position: center center;
        margin: 10px 20px 20px 20px;
        flex-grow: initial;     /* do not grow   - initial value: 0 */
        flex-shrink: initial;
        flex-basis: initial;

        height: 120px;
        width: 120px;
        max-width: 120px;
        min-width: 120px;
    }

    .app-btn-primary {
        color: white;
        display: inline-block;
        padding: 8px 20px;
        background-color: #000;
        cursor: pointer;
    }
    .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: 20px;
        border-bottom: 2px solid gray;
    }

    #price-box > div {

    }

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



}