.custombox_container{
    position:fixed;
    bottom:0;
    transform:translateY(80vh);
    left:0;
    width: 100%;
    z-index:9000;
    background-color:#fff;
    transition:transform 0.3s ease-in-out;
}
.custombox_container.opened{
    transform:translateY(0vh);
}
.custombox_bar_container{
    background-color:#f2e237;
    color:#173f73;
    padding:10px;
    cursor:pointer;
}
.custombox_bar{
    display:flex;
    align-items:center;
    max-width: 1596px;
    margin:0 auto;
}
.custombox_logo{
    background-image:url(icon_box.png);
    width:50px;
    height:50px;
    background-size:contain;
    background-position:center center;
    background-repeat:no-repeat;
    margin-right:20px;
}
.custombox_title{
    margin-right:auto;
    font-weight:300;
    font-size:25px;
    text-transform:uppercase;
}
.custombox_title span{
    font-weight:600;
}
.custombox_icon{
    margin-left:30px;
    cursor:pointer;
}

.custombox_icon:before{
    content: '\f106';
    font-family: Fontawesome;
    display:inline-block;
    text-align:center;
    color:#f2e237;
    width:30px;
    height:30px;
    line-height:27px;
    border-radius:15px;
    box-sizing:border-box; 
    font-size:25px;
    background-color:#173f73;
}
.custombox_container.opened .custombox_icon:before{
    content: '\f107';
    line-height:30px;
}
.custombox_list_container{
    position:relative;
}
.custombox_list{
    height:calc(100vh - 105px);
    max-height:calc(80vh - 105px);
    overflow-y:auto;
    max-width: 1596px;
    margin:0 auto;
}
.custombox_preloader{
    position:absolute;
    background-color:rgba(255,255,255,0.7);
    background-image:url(loader.gif);
    background-position:center center;
    background-repeat:no-repeat;
    background-size:100px 100px;
    left:0;
    top:0;
    width:100%;
    height:100%;
    visibility:hidden;
    opacity:0;
    transition: visibility 0s linear 0.22s, opacity 0.2s linear;
}
.custombox_preloader.opened{
    transition: visibility 0s, opacity 0.2s linear 0.01s;
    visibility:visible;
    opacity:1;
}
.custombox_empty_container{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    display:flex;
    background-color:#ffffff;
    transition: visibility 0s, opacity 0.2s linear 0.01s;
    visibility:visible;
    opacity:1;
}
.custombox_empty_container.closed{
    visibility:hidden;
    opacity:0;
    transition: visibility 0s linear 0.22s, opacity 0.2s linear;
}
.custombox_empty{
    margin:auto;
    display:flex;
    width:80%;
    max-width:500px;
    border:5px dashed #173f73;
    opacity:0.5;
    transition: opacity 0.2s linear;
    cursor:pointer;
    align-items: center;
}
.custombox_empty:hover{
    opacity:1;
}
.custombox_empty_text{
    font-size:20px;
    padding:20px;
    color:#173f73;
    line-height:initial;
}
.custombox_empty_text span{
    font-weight:700;
    display:block;
    text-transform:uppercase;
    padding:15px 0;
}
.custombox_empty_image{
    width:40%;
    max-width:200px;
    padding:20px;
}
.custombox_empty_img{
    display:block;
    width:100%;
}
.custombox_row{
    display:flex;
    border-bottom:1px solid #173f73;
    color:#173f73;
    align-items: center;
}
.custombox_col{
    width:16.666%;
    padding:10px;
}
.custombox_col>select{
    margin:auto;
}
.custombox_col select[name='virtuemart_product_id']{
    width:220px;
}
.custombox_col select[name='number']{
    width:65px
}
.custombox_col .cb_color_select_box{
    margin:auto;
    display:block;
    max-width:193px;
}
.cb_quantity{
    width:50px;
    display:block;
    margin:auto;
}
.cb_col_price{
    font-weight:700;
    text-align:center;
}
.custombox_col .cb_color_select_box select{
    display:inline-block;
    vertical-align: middle;
    width:150px;
}
.cb_color_keeper{
    display:inline-block;
    width:41px;
    height:41px;
    border:1px solid #173f73;
    border-right:0;
    vertical-align: middle;
    transition: background-color 0.2s linear;
}
.cb_list_header{
    font-weight:700;
    padding-top:30px;
    text-align:center;
}
.cb_col_fill{
    width:0;
    margin-right:auto;
}

.cb_btn {
    color: #ffffff;
    display: inline-block;
    height: 30px;
    border-radius: 15px;
    font-size: 14px;
    line-height: 28px;
    background-color: #173f73;
    cursor: pointer;
    text-transform:uppercase;
    padding: 0 20px;
}


.cb_saveRow:before, .cb_deleteRow:before, .addNewRow:before{
    content: '\f00d';
    font-family: Fontawesome;
    font-weight: 400;
    font-size: 15px;
    line-height: 30px;
    display: inline-block;
    margin-right: 10px
}
.cb_saveRow{
    display:none;
}
.cb_saveRow.enabled{
    background-color:#173f73;
    cursor: pointer;
    display: inline-block;
}
.cb_saveRow:before{
    content: '\f00c';
}
.custombox_field_placeholder{
    display:block;
    margin:auto;
    height:5px;
    width:20px;
    background-color:#173f73;
}
.custombox_total span{
    font-style:italic;
    font-weight:700;
}
.cb_col_actions{
    text-align: right;
}
.cb_btn.addNewRow{
    font-size:14px;
    width:unset;
    padding:0 20px;
    text-transform:uppercase;
}
.addNewRow:before{
    content: '\f067';
}
.custombox_footer_buttons{
    max-width: 1596px;
    margin: 20px auto;
    padding:0 20px;
    text-align:right;
}
.custombox_messages{
    background-color:#232f3e;
    position:fixed;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    width:90vw;
    max-width: 500px;
    max-height:90vh;
    z-index: 10000;
    box-sizing: border-box;
    display:none;
    color:#fff;
}
.custombox_messages.opened{
    display:block;
}
.custombox_messages_header{
    font-size:22px;
    text-transform:uppercase;
    padding:20px;
    box-sizing: border-box;
}
.custombox_messages_body{
    padding:20px;
    max-height:calc(100% - 100px);
    box-sizing: border-box;
}
.custombox_messages_alert_box{
    text-align:right;
    padding:20px;
    box-sizing: border-box;
}
.cb_btn_close_alert{
    font-size:14px;
    width:unset;
    text-transform:uppercase;
    box-sizing: border-box;
}
.cb_input_disabled{
    opacity:0.5;
}
@media (min-width:768px){
    .custombox_col.cb_col_model{
        padding:24px 10px;
    }
}
@media (max-width:1530px){
    .cb_saveRow, .cb_deleteRow, .cb_btn.addNewRow{
        width:100%;
        box-sizing: border-box;
        text-align:center;
    }
    .cb_saveRow{
        margin-bottom:10px;
    }
}
@media (max-width:1350px){
    .custombox_col.cb_col_actions.not_before{
        width:244px;
    }
}
@media (max-width:1300px){
    .custombox_col.cb_col_model{
        width:230px;
    }
    .custombox_col.cb_col_color{
        width:200px;
    }
    .custombox_col.cb_col_price{
        width:100px;
    }
    .custombox_col.cb_col_actions{
        width:143px;
    }
    .custombox_col.cb_col_number{
        width:80px;
    }
    .custombox_col.cb_col_quantity{
        width:80px;
    }
    .custombox_row{
        justify-content:space-between;
    }
    
    
    .custombox_col.cb_col_model{
        width:150px;
    }
}
@media (max-width:850px){
    .custombox_col .cb_color_select_box select {
        width: 105px;
    }
    .custombox_col select[name="virtuemart_product_id"] {
        width: 110px;
    }
    
    .custombox_col.cb_col_color{
        width:150px;
    }
    .custombox_col select[name="color"] {
        width: 96px;
    }
}
@media (max-width:768px){
    .custombox_container{
        transform:translateY(calc(60vh + 85px));
    }
    .custombox_list{
        max-height:60vh;
    }
    .custombox_title{
        font-size:20px;
    }
    .custombox_logo {
        margin-right:10px;
    }
    .custombox_row_header{
        display:none;
    }
    .custombox_row{
        flex-wrap:wrap;
        border:1px solid #173f73;
        margin:10px 20px;
    }
    .custombox_col:before{
        content:"";
        display:block;
        text-align:left;
        font-weight:700;
    }
    .custombox_col > select, .cb_quantity {
        margin: 0;
    }
    .cb_col_model:before{content:"Modello";}
    .cb_col_number:before{content:"Numero";}
    .cb_col_color:before{content:"Colore";}
    .cb_col_quantity:before{content:"Pezzi";}
    
    .custombox_col.cb_col_price{
        width:100%;
        font-size:20px;
        font-weight:400;
        text-align:right;
    }
    .cb_col_price:before{
        content:"Prezzo: ";
        display:inline-block;
        font-size:14px;
        padding-right:15px;
        vertical-align:top;
    }
    .custombox_col.cb_col_model, .custombox_col.cb_col_color{
        width:calc(100% - 100px);
        box-sizing: border-box;
    }
    .custombox_row{
        justify-content:flex-start;
    }
    .custombox_col .cb_color_select_box {
        max-width: inherit;
    }
    .custombox_col .cb_color_select_box select {
        width: calc(100% - 44px);
    }
    .custombox_col select[name="virtuemart_product_id"] {width: 100%;}
    .custombox_col.cb_col_actions{width:100%;}
    .cb_placeholder .cb_col_model,
    .cb_placeholder .cb_col_number,
    .cb_placeholder .cb_col_color,
    .cb_placeholder .cb_col_quantity,
    .cb_placeholder .cb_col_price{
        display:none;
    }
    .cb_btn.addNewRow{
        max-width:unset;
        width: inherit;
        text-align: center;
        padding:0;
    }
    
    .custombox_row.cb_placeholder{
        border:0;
    }
    .custombox_footer_buttons{
        text-align:center;
    }
    .custombox_col.cb_col_actions.not_before{
        padding-left:0;
        padding-right:0;
    }
    .emptyBoxBtn,.addToCartBtn{
        width: calc(50% - 4px);
        box-sizing: border-box;
    }
    .cb_saveRow, .cb_deleteRow{
        width:calc(50% - 4px);
        box-sizing: border-box;
        text-align:center;
    }
    .custombox_col.cb_col_actions.not_before{
        width:100%;
    }
}
@media (max-width:620px){
    .custombox_empty{
        flex-direction:column;
        text-align:center;
    }
}
@media (max-width:490px){
    .custombox_title{
        font-size:15px;
    }
    .custombox_total{
        font-size:12px;
        text-align:right;
    }
    .cb_col_model{order:1;}
    .cb_col_number{order:3;}
    .cb_col_color{order:2;}
    .cb_col_quantity{order:4;}
    .cb_col_price{order:5;}
    .cb_col_actions{order:6;}
    .custombox_col.cb_col_model, .custombox_col.cb_col_color{
        width:100%;
        box-sizing: border-box;
    }
    
}
@media (max-height:375px){
    .custombox_container{
        transform:translateY(calc(50vh + 70px));
    }
    .custombox_list{
        max-height:50vh;
    }
}
.cc-window.cc-banner{
    font-family:"Montserrat", sans-serif;
    background-color:#232f3e !important;
}
.cc-btn.cc-deny{
    border:0;
    background-color:transparent!important;
}
.cc-btn.cc-allow{
    color: #f90 !important;
    border:2px solid #f90 !important;
    background-color:transparent !important;
    text-transform:uppercase;
    font-weight:400;
    font-size: 16px;
    line-height: 20px;
    outline: none;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    box-sizing: border-box;
    border-radius: 30px;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}
.cc-btn.cc-allow:hover{
    background-color: #ffe500 !important;
    background-repeat: repeat-x;
    background-image: -moz-linear-gradient(-45deg, #ff9900, #ffe500) !important;
    background-image: -webkit-linear-gradient(-45deg, #ff9900, #ffe500) !important;
    background-image: -o-linear-gradient(-45deg, #ff9900, #ffe500) !important;
    background-image: linear-gradient(-45deg, #ff9900, #ffe500) !important;
    color:#fff !important;
    outline: none;
}