body {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    color: #363636;
    font-size: 13px;
    line-height: 20px;
    width: 100%;
    background-color: rgba(245, 245, 245, 1);
}

header {
    background-color: rgba(30, 46, 78, 1);
    padding-top: 20px;
}

h1, h2, h3, h4, h5, h6 {
    color: #444;
}

/* default font size */
.fa {
    font-size: 14px;
}

/* Override the bootstrap defaults */
h1 {
    font-size: 22px;
}

h2 {
    font-size: 20px;
}

h3 {
    font-size: 18px;
}

h4 {
    font-size: 15px;
}

h5 {
    font-size: 12px;
}

h6 {
    font-size: 10.2px;
}

a {
    color: #3a58ad;
}

a:hover {
    text-decoration: none;
}

legend {
    font-size: 18px;
    padding: 7px 0px
}

label {
    font-size: 12px;
    font-weight: normal;
}

select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
    font-size: 12px;
}

.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
    font-size: 12px;
}

.input-group .input-group-addon {
    font-size: 12px;
    height: 30px;
}

/* Fix some bootstrap issues */
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {
    display: inline;
}

.nav-tabs {
    margin-bottom: 15px;
}

div.required .control-label:before {
    content: '* ';
    color: #F00;
    font-weight: bold;
}

/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
    text-decoration: none;
    color: #ffffff;
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
}

/* top */
#top {
    /*background-color: #FFFFFF;*/
    border-bottom: 1px solid #e2e2e2;
    padding: 4px 0px 3px 0;
    /*margin: 0 0 20px 0;*/
    min-height: 40px;

}

#top .container {
    padding: 0 20px;
}

#top #form-currency .currency-select,
#top #form-language .language-select {
    text-align: left;
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
    text-shadow: none;
    color: #ffffff;
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
}

#top .btn-link, #top-links li, #top-links a {
    color: #363636;
    /*text-shadow: 0 1px 0 #FFF;*/
    text-decoration: none;
}

#top .btn-link:hover, #top-links a:hover {
    color: #444;
}

#top-links .dropdown-menu a {
    text-shadow: none;
}

#top-links .dropdown-menu a:hover {
    color: #FFF;
}

#top .btn-link strong {
    font-size: 14px;
    line-height: 14px;
}

#top-links {
    padding-top: 6px;
}

#top-links a + a {
    margin-left: 15px;
}

/* logo */
#logo {
    margin: 0 0 10px 0;
}

/* search */
#search {
    margin-bottom: 10px;
}

#search .input-lg {
    height: 40px;
    line-height: 20px;
    padding: 0 10px;
}

#search .btn-lg {
    font-size: 15px;
    line-height: 18px;
    padding: 10px 35px;
    /*text-shadow: 0 1px 0 #FFF;*/
    background-color: rgba(58, 88, 173, 1);
    color: #FFF;
}

/* cart */
#cart {
    margin-bottom: 10px;
    padding: 5px;

}

#cart > .btn {
    font-size: 12px;
    line-height: 18px;
    color: #FFF;
}

#cart.open > .btn {
    background-image: none;
    /*background-color: #FFFFFF;*/
    border: 1px solid #FFFFFF;
    color: #FFF;
    box-shadow: none;
    text-shadow: none;
}

#cart.open > .btn:hover {
    color: #FFF;
}

#cart .dropdown-menu {
    background: #eee;
    z-index: 1001;
}

#cart .dropdown-menu {
    min-width: 100%;
    overflow-y: auto;
    max-height: 800px;
    scrollbar-width: thin;
    overflow-x: hidden;
}

@media (max-width: 478px) {
    #cart .dropdown-menu {
        width: 100%;
    }

    #cart .dropdown-menu li > div {
        min-width: 100%;
    }

    .div-model {
        display: none !important;
    }


}

#cart .dropdown-menu table {
    margin-bottom: 10px;
}

#cart .dropdown-menu li > div {
    min-width: 427px;
    padding: 0 10px;
}

#cart .dropdown-menu li p {
    margin: 20px 0;
}

/* menu */
#menu {
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
    border-color: #1f90bb #1f90bb #145e7a;
    min-height: 40px;
}

#menu .nav > li > a {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    padding: 10px 15px 10px 15px;
    min-height: 15px;
    background-color: transparent;
}

#menu .nav > li > a:hover, #menu .nav > li.open > a {
    background-color: rgba(0, 0, 0, 0.1);
}

#menu .dropdown-menu {
    padding-bottom: 0;
}

#menu .dropdown-inner {
    display: table;
}

#menu .dropdown-inner ul {
    display: table-cell;
}

#menu .dropdown-inner a {
    min-width: 160px;
    display: block;
    padding: 3px 20px;
    clear: both;
    line-height: 20px;
    color: #333333;
    font-size: 12px;
}

#menu .dropdown-inner li a:hover {
    color: #FFFFFF;
}

#menu .see-all {
    display: block;
    margin-top: 0.5em;
    border-top: 1px solid #DDD;
    padding: 3px 20px;
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    border-radius: 0 0 3px 3px;
    font-size: 12px;
}

#menu .see-all:hover, #menu .see-all:focus {
    text-decoration: none;
    color: #ffffff;
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
}

#menu #category {
    float: left;
    padding-left: 15px;
    font-size: 16px;
    font-weight: 700;
    line-height: 40px;
    color: #fff;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

#menu .btn-navbar {
    font-size: 15px;
    font-stretch: expanded;
    color: #FFF;
    padding: 2px 18px;
    float: right;
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
    border-color: #1f90bb #1f90bb #145e7a;
}

#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {
    color: #ffffff;
    background-color: #229ac8;
}

@media (min-width: 768px) {
    #menu .dropdown:hover .dropdown-menu {
        display: block;
    }

    .icon-setting-cookie {
        width: 28px;
        height: 28px;
    }

}

@media (max-width: 767px) {
    #menu {
        border-radius: 4px;
    }

    #menu div.dropdown-inner > ul.list-unstyled {
        display: block;
    }

    #menu div.dropdown-menu {
        margin-left: 0 !important;
        padding-bottom: 10px;
        background-color: rgba(0, 0, 0, 0.1);
    }

    #menu .dropdown-inner {
        display: block;
    }

    #menu .dropdown-inner a {
        width: 100%;
        color: #fff;
    }

    #menu .dropdown-menu a:hover,
    #menu .dropdown-menu ul li a:hover {
        background: rgba(0, 0, 0, 0.1);
    }

    #menu .see-all {
        margin-top: 0;
        border: none;
        border-radius: 0;
        color: #fff;
    }

    .div-price-list {
        padding: 10px;
    }

    .title-list {
        font-size: 13px;
    }

    .div-calcola, .div-quote {
        padding: 10px 0;
        display: none;
    }

    .border-bprice {
        border-bottom: none !important;
    }


}

/* content */
#content {
    min-height: 600px;
}

/* footer */
footer {
    margin-top: 30px;
    padding-top: 30px;
    background-color: rgba(30, 46, 78, 1);
    border-top: 1px solid #fff;
    color: #fff;
}

footer hr {
    border-top: none;
    border-bottom: 1px solid #fff;
}

footer a {
    color: #ccc;
}

footer a:hover {
    color: #fff;
}

footer h5 {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
}

/* alert */
.alert {
    padding: 8px 14px 8px 14px;
}

/* breadcrumb */
.breadcrumb {
    margin: 10px 0 20px 0;
    padding: 8px 0;
    /* border: 1px solid #ddd; */
    /*background-color: #fff;*/
}

.breadcrumb i {
    font-size: 15px;
}

.breadcrumb > li {
    text-shadow: 0 1px 0 #FFF;
    padding: 0 10px;
    position: relative;
    white-space: nowrap;
}

.breadcrumb > li + li:before {
    content: '';
    padding: 0;
}

.breadcrumb > li:after {
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    right: -5px;
    width: 12px;
    height: 12px;
    border-right: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.pagination {
    margin: 0;
}

/* buttons */
.buttons {
    margin: 1em 0;
}

.btn {
    padding: 7.5px 12px;
    font-size: 12px;
    border: 1px solid #cccccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
}

.btn-xs {
    font-size: 9px;
}

.btn-sm {
    font-size: 10.2px;
}

.btn-lg {
    padding: 10px 16px;
    font-size: 15px;
}

.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
    font-size: 12px;
}

.btn-group > .btn-xs {
    font-size: 9px;
}

.btn-group > .btn-sm {
    font-size: 10.2px;
}

.btn-group > .btn-lg {
    font-size: 15px;
}

.btn-default {
    color: #333;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    background-color: #e7e7e7;
    background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
    background-repeat: repeat-x;
    border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}

.btn-primary {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #229ac8;
    background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
    border-color: #1f90bb #1f90bb #145e7a;
}

.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
    background-color: #1f90bb;
    background-position: 0 -15px;
}

.btn-spaccio {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: rgba(58, 88, 173, 1);
    /*background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
    background-repeat: repeat-x;
    border-color: #1f90bb #1f90bb #145e7a; */
    border-color: rgba(58, 88, 173, 1);
}

.btn-spaccio:hover, .btn-spaccio:active, .btn-spaccio.active, .btn-spaccio.disabled, .btn-spaccio[disabled], .btn-spaccio:focus {
    background-color: rgba(30, 46, 78, 1);

    color: #fff;
}

.btn-warning {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #faa732;
    background-image: linear-gradient(to bottom, #fbb450, #f89406);
    background-repeat: repeat-x;
    border-color: #f89406 #f89406 #ad6704;
}

.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-danger {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #da4f49;
    background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
    background-repeat: repeat-x;
    border-color: #bd362f #bd362f #802420;
}

.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

.btn-success {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #5bb75b;
    background-image: linear-gradient(to bottom, #62c462, #51a351);
    background-repeat: repeat-x;
    border-color: #51a351 #51a351 #387038;
}

.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}

/*.btn-info {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #df5c39;
    background-image: linear-gradient(to bottom, #e06342, #dc512c);
    background-repeat: repeat-x;
    border-color: #dc512c #dc512c #a2371a;
}*/

/*.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}*/

.btn-link {
    border-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    color: #23A1D1;
    border-radius: 0;
}

.btn-link, .btn-link:active, .btn-link[disabled] {
    background-color: rgba(0, 0, 0, 0);
    background-image: none;
    box-shadow: none;
}

.btn-inverse {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #363636;
    background-image: linear-gradient(to bottom, #444444, #222222);
    background-repeat: repeat-x;
    border-color: #222222 #222222 #000000;
}

.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
    background-color: #222222;
    background-image: linear-gradient(to bottom, #333333, #111111);
}

/* list group */
.list-group a {
    border: 1px solid #DDDDDD;
    color: #888888;
    padding: 8px 12px;
}

.list-group a.active, .list-group a.active:hover, .list-group a:hover {
    color: #444444;
    background: #eeeeee;
    border: 1px solid #DDDDDD;
    text-shadow: 0 1px 0 #FFF;
}

/* carousel */
.carousel-caption {
    color: #FFFFFF;
    text-shadow: 0 1px 0 #000000;
}

.carousel-control .icon-prev:before {
    content: '\f053';
    font-family: FontAwesome;
}

.carousel-control .icon-next:before {
    content: '\f054';
    font-family: FontAwesome;
}

/* product list */
.product-thumb {
    border: 1px solid #aaa;
    margin-bottom: 20px;
    overflow: auto;
}

.product-thumb .image {
    text-align: center;
    width: 100%;
}

.product-thumb .image a {
    display: block;
}

.product-thumb .image a:hover {
    opacity: 0.8;
}

.product-thumb .image img {
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0;
}

.product-grid .product-thumb .image {
    float: none;
}

@media (min-width: 767px) {
    .product-list .product-thumb .image {
        float: left;
        /*padding: 0 15px;*/
    }
}

.product-thumb h4 {
    font-weight: bold;
}

.product-thumb .caption {
    padding: 0 20px;
    /*min-height: 140px;*/
}

.product-list .product-thumb .caption {
    margin-left: 230px;
}

@media (max-width: 1200px) {
    .product-grid .product-thumb .caption {
        min-height: 210px;
        padding: 0 10px;
    }
}

@media (max-width: 767px) {
    .product-list .product-thumb .caption {
        min-height: 0;
        margin-left: 0;
        padding: 0 10px;
    }

    .product-grid .product-thumb .caption {
        min-height: 0;
    }

    .lSSlideOuter {
        margin-bottom: 10px;
    }
}

.product-thumb .rating {
    padding-bottom: 10px;
}

.rating .fa-stack {
    font-size: 8px;
}

.rating .fa-star-o {
    color: #999;
    font-size: 15px;
}

.rating .fa-star {
    color: #FC0;
    font-size: 15px;
}

.rating .fa-star + .fa-star-o {
    color: #E69500;
}

h2.price {
    margin: 0;
}

.product-thumb .price {
    color: #444;
}

.product-thumb .price-new {
    font-weight: 600;
}

.product-thumb .price-old {
    color: #999;
    text-decoration: line-through;
    margin-left: 10px;
}

.product-thumb .price-tax {
    color: #999;
    font-size: 12px;
    display: block;
}

.product-thumb .button-group {
    border-top: 1px solid #ddd;
    background-color: #eee;
    overflow: auto;
}

.product-list .product-thumb .button-group {
    border-left: 1px solid #ddd;
}

@media (max-width: 768px) {
    .product-list .product-thumb .button-group {
        border-left: none;
    }
}

.product-thumb .button-group button {
    width: 60%;
    border: none;
    display: inline-block;
    float: left;
    background-color: #eee;
    color: #888;
    line-height: 38px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}

.product-thumb .button-group button + button {
    width: 20%;
    border-left: 1px solid #ddd;
}

.product-thumb .button-group button:hover {
    color: #444;
    background-color: #ddd;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 1200px) {
    .product-thumb .button-group button, .product-thumb .button-group button + button {
        width: 33.33%;
    }
}

@media (max-width: 767px) {
    .product-thumb .button-group button, .product-thumb .button-group button + button {
        width: 33.33%;
    }

    .row-list {
        padding-left: 10px;
        padding-right: 10px;

    }

    .div-image-list {
        background-color: #fff;
        border: 1px solid #aaa;
        margin-bottom: -1px;
    }

    .block-home {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

.thumbnails {
    overflow: auto;
    clear: both;
    list-style: none;
    padding: 0;
    margin: 0;
}

.thumbnails > li {
    margin-left: 20px;
}

.thumbnails {
    margin-left: -20px;
}

.thumbnails > img {
    width: 100%;
}

.image-additional a {
    margin-bottom: 5px;
    padding: 5px;
    display: block;
    border: 1px solid #ddd;
}

.image-additional {
    max-width: 78px;
}

.thumbnails .image-additional {
    float: left;
    margin-left: 20px;
}

@media (min-width: 1280px) {
    .modal-dialog {
        width: 1280px !important;
    }
}

@media (min-width: 1200px) {
    #content .col-lg-2:nth-child(6n+1),
    #content .col-lg-3:nth-child(4n+1),
    #content .col-lg-4:nth-child(3n+1),
    #content .col-lg-6:nth-child(2n+1) {
        clear: left;
    }

    .div-calcola, .div-quote {
        padding: 15px 0;
        font-size: 14px;
    }

    .central-list {
        min-height: 182px;
    }



    .modal-dialog-popup {
        width: 600px !important;
    }

}

@media (min-width: 992px) {
    .modal-dialog {
        width: 900px;
    }

    .modal-dialog-popup {
        width: 600px !important;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #content .col-md-2:nth-child(6n+1),
    #content .col-md-3:nth-child(4n+1),
    #content .col-md-4:nth-child(3n+1),
    #content .col-md-6:nth-child(2n+1) {
        clear: left;
    }

    .div-calcola, .div-quote {
        font-size: 12px;
        padding: 10px 0;
    }

    .border-size {
        border-left: none !important;
    }

}

@media (min-width: 768px) and (max-width: 991px) {
    #content .col-sm-2:nth-child(6n+1),
    #content .col-sm-3:nth-child(4n+1),
    #content .col-sm-4:nth-child(3n+1),
    #content .col-sm-6:nth-child(2n+1) {
        clear: left;
    }

    .title-list {
        font-size: 13px;
    }

    .div-calcola, .div-quote {
        font-size: 12px;
        padding: 10px 0;
    }

    .border-size {
        border-left: none !important;
    }

    .div-body-list {
        font-size: 12px !important;
    }


}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
    #column-left .product-layout .col-md-3 {
        width: 100%;
    }

    #column-left + #content .product-layout .col-md-3 {
        /* width: 50%;*/
    }

    #column-left + #content + #column-right .product-layout .col-md-3 {
        width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
        width: 100%;
    }

    .row-list {
        padding: 10px;

    }

    .row-list {
        background-color: #fff;
    }

    .row-master {
        border: 1px solid #aaa;
    }

    .modal-dialog {
        width: 750px;
    }

    .modal-dialog-popup {
        width: 600px !important;
    }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout, #column-right .product-layout {
    width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
    min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
/*.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}*/

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.tooltip-inner {
    max-width: 200px;
    padding: 6px 12px;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 4px;
    opacity: 1 !important;
}

.tooltip.in {
    opacity: 1 !important;
    filter: alpha(opacity=100) !important;
}

.no-margin {
    margin: 0;
}


.btn-cart {
    background-color: rgba(30, 46, 78, 1);
    border: none;
    box-shadow: none;
}

.swiper-viewport {
    margin: 20px 0 60px !important;
}

.no-gutter {
    margin-left: 0;
    margin-right: 0;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
    background-color: transparent !important;
}

.nav-tabs {
    border-bottom: 1px solid #aaa;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
    border: 1px solid #aaa;
}

.vcenter {
    /*display: flex;*/
    align-items: center;
    /*flex-wrap: wrap;*/
}

.rounded {
    border-radius: 5px;
}

.p0 {
    padding: 0;
}

.p5 {
    padding: 5px;
}

.p10 {
    padding: 10px;
}

.p20 {
    padding: 20px;
}

.p30 {
    padding: 30px;
}

.border {
    border: 1px solid #aaa;
}

.row.equal {
    display: flex;
    flex-wrap: wrap;
}

.mb20 {
    margin-bottom: 20px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb5 {
    margin-bottom: 5px;
}

.mr5 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.m5 {
    margin: 5px;
}

.m10 {
    margin: 10px;
}

.m20 {
    margin: 20px;
}

.m0 {
    margin: 0 auto;
}

.my10 {
    margin: 10px 0;
}

.my20 {
    margin: 20px 0;
}

.mx20 {
    margin: 0 20px;
}

.mx10 {
    margin: 0 10px;
}

.bg-white {
    background-color: #fff;
}

.bg-sky {
    background-color: rgba(223, 231, 246, 1);
}

.border-b {
    border-bottom: 1px solid #aaa;
}

.border-bprice {
    border-bottom: 1px solid #aaa;
}

.border-t {
    border-top: 1px solid #aaa;
}

.border-l {
    border-left: 1px solid #aaa;
}

.border-r {
    border-right: 1px solid #aaa;;
}

.text-normal {
    color: #363636;
}

.text-price-list {
    font-size: 18px;
    color: #2e3092;
}

.div-calcola {
    color: #fff;
    background-color: rgba(58, 88, 173, 1);
}

.div-quote {
    color: #000;
    background-color: rgba(223, 231, 246, 1);
}

.div-quote:hover, .div-quote:focus {
    color: #000;
    background-color: rgba(223, 231, 246, 0.8);
}

.bg-main {
    background-color: rgba(245, 245, 245, 1);
}

.div-body-list {
    min-height: 160px;
    font-size: 14px;
}

.div-color-text {
    float: left;
    margin: 2px 8px 2px 2px;
}

.div-color {
    cursor: pointer;
    border: 1px solid #dedede;
    width: 24px;
    height: 24px;
    border-radius: 12px;
    float: left;
    margin: 2px;
}

.div-examples-price {
    background-color: rgba(204, 80, 83, 1);
    color: #fff;
}

.border-example {
    border-right: 1px dashed #fff
}

.border-size {
    border-left: 1px dashed #000;
}

.div-calcola:hover, .div-calcola:focus {
    color: #fff;
    text-decoration: none;
    background-color: rgba(30, 46, 78, 1);

}

.btn-calcola-product {
    margin: 20px 0;
}

.bg-blunight {
    background-color: rgba(30, 46, 78, 1);
}

.image-home {
    background-color: #fff;
    border: 4px solid #fff;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
    margin: 20px 0 30px !important;
"
}

.text-home > p {
    font-size: 14px;
}

.div-title-product {
    background-color: #FFF;
    border: 1px solid #ddd;
    display: flow-root;
    padding: 0 15px 10px 15px;
    border-radius: 4px;
}

.close {
    color: #fff !important;
    opacity: 1 !important;
    margin-top: 0 !important;
}

.modal-header {
    padding: 15px 10px 10px 20px;
}

.loader {
    height: 100%;
    width: 100%;
    /*background: #fff;*/
    /*opacity: 0.7;*/
    z-index: 10000;
    position: absolute;
}

#spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -100px;
    margin-left: -100px;
}

#spinner-quote-page {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -100px;
    margin-left: -100px;
}

.modal-footer {
    text-align: center !important;
}

input.gotico {
    width: 100%;
    min-width: 30px;
    max-width: 60px;
    text-align: center;
    padding: 3px;
}

::placeholder {
    color: #ddd;
}

.mt20 {
    margin-top: 20px;
}

.mt10 {
    margin-top: 10px;
}

.m10 {
    margin: 10px;
}

.ml5 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.panel-layout-custom {
    padding: 10px;
    /*margin: 10px;*/
    border: 1px solid #fff;
}

.quantity-quotation {
    font-size: 18px;
    color: indianred;

}

.name-featured {
    font-size: 14px;
    margin-top: 20px;
}


/* ********************************* */

.refine {
    list-style: none;
    padding: 5px;
    border-bottom: 1px solid #ccc;
}

.lightSlider {
    margin-left: 5px;
}

/*.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
	padding-right: 10px !important;
	padding-left: 10px !important;
}

.row {
	margin-right: -10px !important;
	margin-left: -10px !important;
}*/

/* SUPERMENU */

#supermenu ul li div .withimage .image img {
    /*float: left;
    border: none;
    margin-right: 5px;*/
}

#supermenu.respsmall ul li div .withimage .image img {
    width: 25px;
}

#supermenu ul li div.bigdiv.withflyout .withimage {
    border-bottom: 1px solid #dedede;
}

#supermenu {
    border: none;
    background-color: rgba(30, 46, 78, 1);
    background-image: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    margin-bottom: 0;
}

#supermenu ul li a.tll {
    padding: 15px 10px;
}

#supermenu ul li.tlli:hover a.tll {
    background-color: rgba(58, 88, 173, 1);

}

a.theparent {
    font-weight: bold;
}

div.withchild a.theparent {
    font-weight: normal;
}

#supermenu ul li.tlli a.tll {
    /*border: 1px solid rgba(30, 46, 78, 1);*/
}

#supermenu ul li div.bigdiv.withflyout {
    /*border: 1px solid #bbb;*/
}

#supermenu ul li div .withchild {
    width: 165px;
}

/* THE END SUPERMENU */

.modal-dialog-popup {
    /*width: 600px;*/
    margin: 30px auto;
    position: relative;
    transition: transform .3s ease-out;
}


/* STELLE FEEDBACK */


.c4l-rating input[name="c4l-rating"] {
    display: none;
}

.c4l-rating input[name="c4l-rating"] + label:after {
    content: none;
}

.c4l-rating input[name="c4l-rating"] + label {
    font-family: 'FontAwesome';
}

.c4l-rating input[name="c4l-rating"] + label:before {
    background-color: transparent;
    border: none;
    color: #ffc107;
    content: '\f005';
    font-size: 1.33333333em;
    transition: none;
}

.c4l-rating input[name="c4l-rating"]:checked ~ label:before {
    background-color: transparent;
    border: none;
    color: #607d8b;
}

.c4l-rating input[name="c4l-rating"]:checked + label:before {
    color: #ffc107;
}

.c4l-rating input[name="c4l-rating"] + label:hover ~ input + label:before {
    opacity: 0.6;
}

.first-header {
    border-radius: 10px;
    background-color: #ffffff;
    border: 1px solid #dedede;
    padding: 4px 0;
    display: flex;
    justify-content: center;
}

.flex-center {
    display: flex;
    justify-content: center;
}

.special, .special a:hover {
    background-color: rgba(204, 80, 83, 1) !important;
    font-weight: bold;
    border-radius: 8px;
}

.fast-delivery, .fast-delivery a:hover {
    background-color: chartreuse !important;
}

.badge-promo {
    font-weight: bold;
    border-radius: 10px;
    padding: 16px 16px 20px 16px;
    font-size: 26px;
    color: #ffffff;
    background-color: #de0c17;
}

.tag-promo {
    position: absolute;
    background-color: #de0c17;
    padding: 4px 8px;
    color: #fff;
    border-radius: 4px;
}

.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mt-10 {
    margin-top: 10px;
}

.mb-10 {
    margin-bottom: 10px;
}

.p-10 {
    padding: 10px;
}

.cookie-btn {
    position: fixed; /* Posizione fissa rispetto al viewport */
    left: 20px; /* Distanza dal lato sinistro del viewport */
    bottom: 20px; /* Distanza dal fondo del viewport */
    padding: 5px 10px; /* Padding per rendere il bottone più grande e leggibile */
    background-color: darkred; /* Colore di sfondo (Bootstrap primary color) */
    color: white; /* Colore del testo */
    border: none; /* Nessun bordo */
    border-radius: 5px; /* Bordi arrotondati */
    cursor: pointer; /* Cursor a forma di puntatore quando si passa sopra il bottone */
    z-index: 1000; /* Assicura che il bottone sia sopra altri elementi */
}

.cookie-btn:hover {
    background-color: red; /* Cambia colore quando si passa sopra con il mouse */
}

.div-cookie {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: gold;
    color: #333;
    padding: 20px;
    z-index: 1000;
}

.pointer {
    cursor: pointer;
}

/* Nasconde il checkbox originale */
.custom-checkbox input[type="checkbox"] {
    display: none;
}

/* Crea un box che appare come un checkbox */
.custom-checkbox .checkmark {
    display: inline-block;
    width: 20px; /* Larghezza del finto checkbox */
    height: 20px; /* Altezza del finto checkbox */
    background: #eee;
    margin-right: 10px;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 4px; /* Bordi arrotondati */
    border: 1px solid #dcdcdc; /* Bordo grigio */
}

/* Quando il checkbox è selezionato, mostra un segno di spunta */
.custom-checkbox input[type="checkbox"]:checked + .checkmark::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    background: transparent;
}

/* Stile quando il checkbox è attivo o focalizzato */
.custom-checkbox input[type="checkbox"]:checked + .checkmark {
    background-color: #2196F3; /* Blu quando selezionato */
    border-color: #2196F3;
}

.custom-checkbox input[type="checkbox"]:focus + .checkmark {
    box-shadow: 0 0 3px #2196F3; /* Ombra blu quando focalizzato */
}

.autocomplete-suggestions {
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    max-height: 600px;
    overflow-y: auto;
    background-color: #fff;
    width: 100%;
    position: absolute;
    z-index: 9999;
    top: 100%; /* Posiziona sotto il campo di input */
    left: 0; /* Allinea sulla sinistra del campo di input */
}

.autocomplete-suggestion {
    padding: 10px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.autocomplete-suggestion:hover {
    background-color: #f0f0f0;
}

.autocomplete-suggestion img {
    /*width: 50px;*/
    /*height: 50px;*/
    margin-right: 10px;
}

.btn-align-center {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: 10px;
    font-size: 16px;
}

.london {
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
}

.paris {
    background-color: rgba(30, 46, 78, 1);
    height: 97%;
    display: flex;
    justify-content: center;
    color: #fff;
    gap: 5px;
}

.paris:hover {
    background-color: rgba(30, 46, 78, 0.9);
    color: #fff;
}

.berlin, .berlin:hover {
    color: #fff;
    display: flex;
    justify-content: center;
    gap: 5px;
}



.rome {
    background-color: rgba(223, 231, 246, 1);
    height: 97%;
    display: flex;
    gap: 4px;
    justify-content: center;
}

.milan {
    height: 100%;
    display: flex;
    align-items: center;
}

.modal-backdrop {
    height: 100vh;
}

/* INIZIO BUTTON NEUTRO O PERS */

.quote-selection-container {
    margin-bottom: 20px;
}

.quote-options-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.quote-option {
    display: flex;
    align-items: center;
    padding: 15px;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.quote-option:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.quote-option.neutral-option {
    background-color: #9ad9ff;
    border-color: #47b3f4;
    color: #000000;
}

.quote-option.custom-option {
    background-color: #feb1b1;
    border-color: #dc512c;
    color: #000000;
}

.quote-option.disabled {
    background-color: #f5f5f5;
    border-color: #e0e0e0;
    color: #666;
    cursor: not-allowed;
}

.quote-option-icon {
    font-size: 24px;
    min-width: 40px;
    text-align: center;
    margin-right: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.quote-option-content {
    flex: 1;
}

.quote-option-content h4 {
    margin-top: 0;
    margin-bottom: 5px;
    font-weight: bold;

}

.quote-option-content p {
    margin: 0;
    font-size: 13px;
    opacity: 0.9;
}

.quote-option-arrow {
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    .quote-options-container {
        flex-direction: column;
    }

    .quote-option {
        width: 100%;
        margin-bottom: 10px;
    }
}

/* FINE BUTTON NEUTRO O PERS */

/* ===== TOGGLE VISTA LISTA / GRIGLIA ===== */

/* Anti-flash: nasconde griglia e mostra lista quando preferenza è list */
.ss-list-mode #product-grid-view { display: none; }
.ss-list-mode #product-list-view { display: block; }
.ss-list-mode #btn-view-grid { background-color: transparent; color: #666; }
.ss-list-mode #btn-view-list { background-color: rgba(58, 88, 173, 1); color: #fff; border-color: rgba(58, 88, 173, 1); }

.view-toggle-group {
    display: inline-flex;
    margin-top: 2px;
}

.view-toggle-group .btn {
    padding: 6px 12px;
    font-size: 14px;
    color: #666;
}

.view-toggle-group .btn.active {
    background-color: rgba(58, 88, 173, 1);
    color: #fff;
    border-color: rgba(58, 88, 173, 1);
}

.view-toggle-group .btn:hover:not(.active) {
    background-color: #eee;
}

/* --- CARD GRID --- */

.card-grid {
    background: #fff;
    border: 1px solid #aaa;
    border-radius: 6px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease;
}

.card-grid:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}

.card-grid-image {
    position: relative;
    text-align: center;
    padding: 10px;
    min-height: 250px;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.card-grid-image img.img-responsive {
    max-height: 250px;
    margin: 0 auto;
}

.card-grid-badge {
    position: absolute;
    z-index: 2;
    top: 8px;
    left: 8px;
}

.badge-promo-grid {
    background: #e74c3c;
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
}

.card-grid-badge-img {
    position: absolute;
    z-index: 2;
}

.card-grid-body {
    padding: 8px 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.card-grid-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 3px;
}

.card-grid-manufacturer {
    flex-shrink: 0;
    margin-left: 8px;
}

.card-grid-manufacturer img {
    max-height: 35px;
    max-width: 70px;
}

.card-grid-title {
    font-size: 15px;
    line-height: 1.2;
    margin: 0 0 3px 0;
    min-height: 36px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.card-grid-title a {
    color: #333;
    text-decoration: none;
}

.card-grid-title a:hover {
    color: rgba(58, 88, 173, 1);
}

.card-grid-price {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.2;
}

.card-grid-price .text-price-list {
    font-size: 16px;
}

.card-grid-sizes {
    font-size: 13px;
    color: #666;
    line-height: 1.2;
    margin-bottom: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.card-grid-colors {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
    margin-top: auto;
    padding-top: 3px;
}

.div-color-sm {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
}

.card-grid-footer {
    padding: 0;
    border-top: 1px solid #eee;
}

.card-grid-btn-details {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px;
    background-color: rgba(30, 46, 78, 1);
    color: #fff;
    font-size: 13px;
    font-weight: normal;
    text-decoration: none;
    transition: background-color 0.2s;
}

.card-grid-btn-details:hover,
.card-grid-btn-details:focus {
    background-color: rgba(30, 46, 78, 0.9);
    color: #fff;
    text-decoration: none;
}