.form-group { margin-bottom: 1rem; }
.has-error .form-control { border-color: var(--bs-danger); }
.has-success .form-control { border-color: var(--bs-success); }

:root {
  --primary:#AC945B;
  --primary-hover:#826D3B;
  --secondary:#222;
  --secondary-hover:#111;
  --status-new:#005299;
  --status-used:#A500D6;
  --status-exdemo:#804000;
  --status-news:#724713;
  --red:#971c28;
  --red-light:#971c28;
  --light-color:#e1e1e15e;/*#f4f0e5;*/
  --success:#175E28;
}

.btn-success {
    background-color: var(--success) !important;
    border-color: var(--success) !important;
}

/*h1,h2,h3,h4,h5,h6,p,span,div,li { font-family: matrix-ii, serif; color:var(--secondary); }
h1,h2,h3,h4,h5,h6,p,span,div,li { font-family: Oswald, serif; color:var(--secondary); }*/
h1,h2,h3,h4,h5,h6,p,span,div,li { font-family: 'Martel Sans', serif; color:var(--secondary); }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-weight: 700;}

p { font-weight: 300; }

b,strong { font-weight: bold;}

a { color: var(--secondary); }
a:hover { color: var(--secondary-hover); }
.text-primary, a.text-primary { 
 color: var(--primary) !important; 
}
a.text-primary:hover { 
 color: var(--primary-hover) !important; 
}
.btn-primary { 
  color: #000; 
  background-color: var(--primary); 
  border-color: var(--primary-hover); 
} 
.btn-outline-primary { 
  color: #000; 
  color: var(--primary); 
  border-color: var(--primary); 
} 
 
.text-used { color:var(--status-used); }
.text-new { color:var(--status-new); }
.text-exdemo { color:var(--status-exdemo); }
.text-news{ color:var(--status-news); }
.text-red{ color:var(--red-light); }

.text-success{ color:#175E28 !important; }

/* .btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active, 
.btn-primary.active,  */
.show .dropdown-toggle.btn-primary,
.open .dropdown-toggle.btn-primary { 
  color: #ffffff; 
  background-color: #303030; 
  border-color: #444444; 
} 
 
.btn-primary:active, 
.btn-primary.active, 
.show .dropdown-toggle.btn-primary,
.open .dropdown-toggle.btn-primary { 
  background-image: none; 
} 
 
.btn-primary.disabled, 
.btn-primary[disabled], 
fieldset[disabled] .btn-primary, 
.btn-primary.disabled:hover, 
.btn-primary[disabled]:hover, 
fieldset[disabled] .btn-primary:hover, 
.btn-primary.disabled:focus, 
.btn-primary[disabled]:focus, 
fieldset[disabled] .btn-primary:focus, 
.btn-primary.disabled:active, 
.btn-primary[disabled]:active, 
fieldset[disabled] .btn-primary:active, 
.btn-primary.disabled.active, 
.btn-primary[disabled].active, 
fieldset[disabled] .btn-primary.active { 
  background-color: var(--primary); 
  border-color: var(--primary-hover); 
} 
 
.btn-primary .badge { 
  color: var(--primary); 
  background-color: #ffffff; 
}
.bg-primary {
  background-color: var(--primary) !important; 
}

.btn-success {
    background-color: #186328 !important;
    border-color: #175E26 !important;
}

.btn {
    border-radius: 15px;
}

.bg-light {background-color: var(--light-color) !important;}
.text-danger {color: var(--red) !important;}
.bg-danger, .badge-danger, .btn-danger {background-color: var(--red) !important;}

.border-rounded {
    border-radius: 15px;
}

div[class^="rating"] > i { color: gold; }

.p-25 { padding: 25px; }
.mt-15 { margin-top: 15px; }
.mb-15 { margin-bottom: 15px; }

body {background-color: var(--light-color) !important; font-weight: 300;}
header.row, aside, article { background-color: #ffffff; }

header .carrello {position:relative;}
/*** LANGUAGE ***/
#language { line-height: 15px; }
#language ul { padding-left:0; margin:10px 0; list-style:none; }
#language ul li { margin:0 5px; display:inline-block; }
#language ul li a { font-size:13px; line-height:30px; font-weight:200; text-align: left; color:var(--primary); opacity:0.5; text-indent:-9999px; float:right; }
#language ul li.sel a, #language ul li a:hover { opacity:1; }
#language .lng_it { background:url(../images/flags/it.svg) no-repeat center center transparent; background-size: cover; width:30px; height:20px; margin:0; }
#language .lng_en { background:url(../images/flags/gb.svg) no-repeat center center transparent; background-size: cover; width:30px; height:20px; margin:0; }

/*header .bg-light { background-color:#EDEDED !important; }*/
header.row .bg-dark { background-color:var(--red) !important; }

header.row .top-header { font-size:12px; line-height: 45px; }
header.row .top-header .fas, header .top-header .far { vertical-align:middle; }
header.row .top-header #opening-time { line-height: 15px; /*font-size: 90%;*/ }
header.row .top-header #opening-time > span { display:inline-block; padding-top:5px; }
header.row a { color:var(--secondary); }

header #logo { background:url(../images/logo.png) no-repeat center left transparent; background-size: contain; min-width:76px; min-height:50px; margin:0; display:inline-block; vertical-align:middle; }
header #logo a { display:block; min-width:76px; min-height:50px; }
header #logo a span { float:left; height:0; overflow:hidden; position:relative; text-indent:-9999px; }

header .head-icon-text { font-size:13px; text-transform: uppercase; display: block; margin-top: 5px;}

header .bottom-header > div.logo-container { margin:15px 0; }
header .bottom-header > div { margin:20px 0 10px; }
header #navbar_button { padding-top: 0; padding-bottom: 0; }
header .bottom-header .fas, header .bottom-header .far { vertical-align:middle; font-size: 1.5rem; cursor: pointer;}
header #p_login_form a.registrati { display: none; }

#login_form .modal-footer { background-color: var(--red); }
#login_form .modal-footer a { color:#FFF;}

header #wish-icon span.badge, header #num_item {
    position: absolute;
    margin-left: -10px;
    top: -15px;
}

header #search_box button.btn {
    position: absolute;
    right: 0;
    padding: .30rem .75rem;
    border: 0;
    background-color:transparent;
    z-index: 99;
}
header #search_box input {
    border-radius: 9999px; 
    border-width:3px;
    background-color:transparent !important; 
}

header .navbar { padding: 0 !important; }
header .navbar #main_menu ul { padding: .5rem 1rem;}
header .navbar #main_menu a { color:#FFF; text-transform: uppercase; letter-spacing: 1px;}

header .logged {
    line-height: 40px;
    font-weight: 300;
    margin: 0 0 0 -15px;
}
header .logged a { padding: 0 10px; text-decoration: underline; }

.breadcrumb { padding: .75rem 0; margin:0; background-color: transparent !important; font-size: 0.8rem;}
.breadcrumb ol { margin:0; }

aside .aside_subtitle { color:var(--red);}
aside nav { padding-bottom:10px; margin-bottom: 10px; border-bottom: 0.5px solid var(--secondary); position: relative;}
aside nav ul { margin: 0;}
aside nav ul li { font-size: 0.9rem; }
aside nav ul li label { margin: 0; }
aside .more_nav, aside .less_nav { cursor: pointer; color:var(--red); position: absolute; padding: 5px 0 5px 10px; top:-28px; right: 0;}
aside .more_nav i, aside .less_nav i { cursor: pointer; color:var(--red);}

aside, article { padding-top: 15px;}

footer { padding-top:40px; padding-bottom: 40px; }

#toTop { position: fixed; bottom:15px; right: 15px; opacity: 0.5; cursor: pointer;}


#slide-home { margin-top: 15px; padding-bottom: 50px; }
#slide-home .carousel-indicators {
	position: absolute;
	bottom: 0;
	margin: 0;
	border-radius: 0 0 15px 15px;
	padding: 15px;
	height: 50px;
    background-color:var(--primary);
}
#slide-home img.border-rounded {border-radius: 15px 15px 0 0 !important;}

#home-link-special { margin: 15px auto; }
#home-link-special a.btn-light { background-color: #EDEDED; }
#home-link-special a i { vertical-align: middle; }

.home_topclass { margin: 15px 0; }
#topclass { position: absolute; top:50%; left: 50%; margin-top: -130px; margin-left: -160px; background-color: #000; opacity: 0.8; text-align: center; text-transform: uppercase; color:#FFF;}

.newsletter_bottom { 
    background-color: #EDEDED;
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 50px;
}

.banner_categoria { margin-bottom: 15px; }

.box_sort { font-size: 12px; margin-bottom: 15px; }
.box_sort a { padding:0 0.3rem 0 0; display: inline-block; font-weight: 300;}
.box_sort a.active { text-decoration: underline; font-weight: 400; color:var(--red);}

.box_page { font-size: 12px; margin-bottom: 15px; }
.box_page ul { margin: 0; }
.box_page .page-item a { line-height: 1rem; border:0; padding-top:0; padding-bottom:0; display: inline-block; color:var(--secondary); font-weight: 300;}
.box_page .page-item.active a { border-bottom: 1px solid var(--secondary); background-color: transparent;  color:var(--secondary); font-weight: 700;}

.barrato { text-decoration: line-through; font-weight: 400 !important; color:var(--secondary); opacity: 0.8; }

.prodotto_dettaglio .testo { margin-top:15px; }
.prodotto_dettaglio .disponibile { margin-top:10px; }
.prodotto_dettaglio .opzioni .row > div.col { margin:15px auto; }
.prodotto_dettaglio .opzioni span.small, .prodotto_elenco .card .card-footer span.small, .wishlist span.small { font-size:10px; text-transform: uppercase; line-height: 11px; display: block; }
.prodotto_dettaglio .prodotto_link ul { list-style: none; padding: 0; }
.prodotto_dettaglio div[class^="rating"] { float: left; }
.reviews_link { font-size: 0.8rem; margin-left:10px;}
.prodotto_dettaglio .descrizione .btn {line-height: 1; padding: 0.5rem 1rem;}

.opinioni_clienti { opacity: 0.8;}
.opinioni_clienti .reviews { font-size: 0.8rem; padding-top:10px; padding-bottom: 10px; border-bottom: 0.5px solid var(--secondary); margin: 0; }
.opinioni_clienti .reviews span span { display: none; }
.opinioni_clienti .reviews span.review_body { margin-top:20px; }

.prodotto_elenco { margin-bottom: 25px; position: relative; }
.prodotto_elenco .card { height: 100%; cursor: pointer;}
.prodotto_elenco .card .card-body { border-top: 1px solid rgba(0,0,0,.125); padding-bottom:0; /*border-bottom: 1px solid rgba(0,0,0,.125);*/}
.prodotto_elenco .card .card-footer { border: none; /*background-color: #FFF;*/ padding:0px 15px 10px; background-color: var(--light-color);}
.prodotto_elenco .card .card-footer .prezzo {word-wrap: normal;border-bottom: 1px solid rgba(0,0,0,.125);padding-bottom: 10px;padding-top: 10px;margin-bottom: 10px; background-color: #FFF;}
.prodotto_elenco .card .card-footer .badge.sconto {position: absolute; top: 1rem; right: 0rem; font-size: 120%; padding: 15px 0.6rem; border-radius: 50% 0 0 50%;}
.prodotto_elenco .wishlist {position: absolute; top: 1rem; left: 0.75rem; width: 20%; text-align: center; cursor: pointer; background-color:
#FFFD; border-radius: 0 50% 50% 0; padding: 10px 0; margin-left: 4px;}
.prodotto_elenco .wishlist span.small {display: none !important;}

.sconto {width: auto !important;}

#attribute_option .attr_color { display: inline-block; margin-right: 0.5rem; }
#attribute_option .attr_color label { margin-right: 0.5rem; }
#attribute_option .attr_color label input { display: none; }
#attribute_option .attr_color label img { width: 40px; height: 40px; border-radius: 15px; border: 0.5px solid var(--secondary);}
#attribute_option .attr_color label span { display: none; }
#attribute_option .attr_color label:hover span { display: block; position: absolute; padding: .75rem 1rem; background-color: var(--primary); color:#FFF; font-size: 0.7rem; text-transform: uppercase; z-index: 1; border-radius: 15px;}

.cart_avail, .cart_avail span {color:var(--success) !important;}
.cart_wait_avail, .cart_wait_avail span {color:var(--warning);}
.cart_not_avail, .cart_not_avail span {color:var(--danger);}
.cart_avail span, .cart_wait_avail span, .cart_not_avail span {
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}
.cart_avail span::before {
    content: "\f058";
}
.cart_wait_avail span::before {
    content: "\f056";
}
.cart_not_avail span::before {
    content: "\f057";
}

.gallery a { margin-bottom: 15px;}
/*.gallery a img {border-radius: 15px;}*/
.gallery a.video:before {
    font-family: "Font Awesome 5 Free";
    content: "\f144";
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -2rem;
    margin-left: -1.5rem;
    font-size: 3em;
    font-weight:900;
    color:var(--red);
    position: relative;
}

.gvideo-external-link {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 99999;
    width: 35px;
    height: 35px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.75);
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
}

.gvideo-external-link:hover,
.gvideo-external-link:focus {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.9);
}

.correlati_title { margin-top: 40px; }
.correlati h2 { font-size: 0.8rem; line-height: 1;}

#findomestic_button {
    padding: 0.75rem 0.75rem;
    background-color:#f4f4f4;
    text-align: center;
}
#findomestic_button img {
    float: left;
    height: 30px;
}
#findomestic_button p {
    margin: 0;
    text-align: left;
    font-size: 70%;
    font-weight: 400;
}
#findomestic_button small {
    text-align: right;
    display: block; 
    font-size: 65%; 
    line-height: 1rem;
    font-weight: 300;
}
#findomestic_button button {
	background-color: #005C1A;
    border-color: #005C1A;
	color: #FFF;
	text-transform: uppercase;
	font-size: 11px;
	padding-left: 10px;
	font-weight: 100;
    margin-top: 15px;
}

#fascia-header { padding-top: 7px; padding-bottom: 7px; text-align: center; }
#fascia-header h3 { display: inline-block; margin: 0; font-size:12px; font-weight: 300; }
#fascia-header p { display: inline-block; margin: 0; font-weight: 300; font-size:12px; }
#fascia-header a { display: inline-block; margin-left: 0; font-size:11px; text-transform: uppercase; font-weight: 100; }

@media screen and (max-width: 768px) {
    #language ul { margin:12.5px 0; }
    #language .lng_it, #language .lng_en { width:20px; height:14px; margin:0; }
    header .logo-container { padding: 0 !important; }
    header #logo { min-height:40px; }
    header #logo a { min-height:40px; }
    header .head-icon-text { font-size:8px;}
    header .bottom-header > div:first-child { margin: 15px 0; }
    header .bottom-header > div { margin: 20px 0 10px; }
    header .bottom-header > .col-12.col-md-5.col-lg-6.order-4.order-md-3 {margin-top: 0 !important;}
    
    .prodotto_dettaglio .pulsante {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1030;
        margin-bottom: 0px;
        border: 10px solid  var(--light-color);
        box-shadow: 0px 0px 15px #bbb !important;
        background-color: var(--light-color);
    }
    .prodotto_dettaglio .pulsante a {
        padding: 15px;
        width: 100%;
    }
    
    #shopping-cart .cart_item .descrizione { text-align: right; }
    
    #slide_topclass img {
        border-radius:15px 15px 0 0;
    }
    #slide_topclass .carousel-indicators {
        bottom: 11rem;
    }
    #topclass {
        position: inherit;
        margin: 0;
        top: 0;
        left: 0;
        opacity: 1;
        border-radius:0 0 15px 15px;
    }

}

/*** Autocomplete ***/
/*@import "/css/jquery-ui-1.10.4.custom.min.css";
.ui-autocomplete-loading {
  background: white url('/images/ui-lightness/ui-anim_basic_16x16.gif') right center no-repeat;
}*/
/*ul.ui-autocomplete {
    width: 320px;
    background-color:var(--light-color);
    list-style: outside none none;
    padding: 0.75rem 1rem;
    margin: 0px 15px;
    border-radius: 15px 15px;
    border-width: 0px 2px 2px;
    border-style: solid;
    display: none;
    border-color:#ced4da;
}
ul.ui-autocomplete li.ui-menu-item { cursor: pointer; font-size: 0.8rem; }*/
/*.ui-widget {
  font-family: 'Roboto', serif;
  font-size: 0.8em;
}*/

form#search_box{
  position: relative;
}

form#search_box ul{
	position: absolute;
	top: 40px;
	left: 0; 
	width: 100%;
	max-height: 200px;
	overflow: auto;	  
	z-index: 1035;	  
	border:0.5px solid #DDDDDD;
/*	border-radius: 6px;*/	

	background:#FFF !important;
	padding:0;
	border-radius:0 !important;
    margin:0;
}
form#search_box ul li {
	list-style:none;
	border-radius:0 !important;
}
form#search_box ul li a {
	display:block;
	text-decoration:none;
	padding:5px;
/*	font-size: 0.9em;*/
	cursor:pointer;
	border-radius:0 !important;
    color: #333;
}
form#search_box ul li a.category_list {
	color:#003153;
	font-weight:bold;
	border-top:1px solid #DDDDDD;	
}
form#search_box ul li a:hover, form#search_box ul li a.category_list:hover {
	color:#FFF;
}
form#search_box ul li a span.highlight {
	color:#003153;
	/*color:#FFF;*/
}
form#search_box button { background-color:#FFF; border: 1px solid #ced4da; border-left:0; }

form#search.form-control:focus { border-color:#CCC !important; }

span.ui-helper-hidden-accessible{
	display: none !important;
}

a.ui-state-focus {
	color: #ffffff !important;
	background: #AAA !important;
	border:0px !important;
	border-radius:0 !important;
}

.prodotto_elenco_content .disponibile {display: none !important;}
/* .disponibile.cart_not_avail {display: none !important;} */
.disponibile.cart_not_avail {color: var(--status-new) !important; font-weight: 700 !important;}
.disponibile.cart_not_avail span {display: none !important;}

/*** INIZIO CARRELLO ***/
#shopping-cart { margin-top:50px; }

#shopping-cart .cart_item { padding-bottom: 25px !important; } 
#shopping-cart .cart_item > div { padding-top:15px; padding-bottom:15px; background-color: #FFF; border-bottom: 0.5px solid var(--secondary); }

#shopping-cart .cart_item .action { text-align: center; }
#shopping-cart .cart_item .action .qta { width:50px; text-align: center; border: 0.5px solid #cecece; font-size: 15px; font-weight: 300; }
#shopping-cart .cart_item .action .disponibile { border-top:0.5px solid #efefef; padding-top: 10px; }
#shopping-cart .cart_item .action .disponibile, #shopping-cart .action .disponibile i { font-size: 12px; }

#shopping-cart .cart_item .price { text-align: right; }
#shopping-cart .cart_item .price .barrato { text-decoration: line-through; }

#shopping-cart .cart_v3_col h1, #shopping-cart .cart_v3_col h2 {
    font-size:16px !important;
    font-weight: 700;
}
#shopping-cart .cart_v3_col label, #shopping-cart .cart_v3_col p { 
    font-size:14px;
    font-weight: 100;
    line-height: 18px;
}
#shopping-cart .cart_bottom .cart_v3_col .temp_result { float:right; }
#shopping-cart .cart_v3_col p#subtotale span, #shopping-cart .cart_v3_col p#totale span {
    float: right;
}
#shopping-cart .cart_v3_col p#totale {
    font-weight: 700;
    font-size: 18px;
}

#shopping-cart .cart_v3_btm { margin-top: 25px; }

#shopping-cart #checkout #cassa { display: block; }
#shopping-cart #checkout .mini { display: block; color:#8D8D8D; font-weight: 100; font-size:12px; text-align: center; }

#shopping-cart #prev_step { margin-top: 50px; }

#shopping-cart #payment_list { list-style: none; padding-left: 0; }
#shopping-cart #payment_list input { display: inline-block; }
#shopping-cart #payment_list label { display: inline; }

#shopping-cart #billing_add { text-align: center; }

#shopping-cart #shipping_list div { position: relative; }
#shopping-cart #shipping_list .ico_edit { position: absolute; bottom:5px; right: 5px; }
#shopping-cart #shipping_list .ico_edit i { font-size:14px; }
#shopping-cart #shipping_list #shipping_list_add { text-align: center; }

.box_selected, .box_not_selected { padding: 20px; border:0.5px solid #efefef; margin-bottom: 25px; display: block;}
.box_selected { background-color: #444; color:#fff; }
.box_selected * { color:#fff; }

#user_login_box label { font-size:13px; }
.logged { font-size:10px !important; font-weight:normal; margin: 0; }
.logged a { color:#4c4c4c; /*margin-left: 15px;*/ }
form .avviso { margin-top:15px; font-size:12px; font-weight: 100; }

.captcha_box { float:left; margin:10px 15px 0 0; text-align: center; }
input[type='text']#captcha { width:290px; }
/*.pulsante { text-align: center; margin: 15px auto; }*/
.hidden { display: none; }

div#lista_brand { background-color: #fff; }
section.customer-logos { margin-bottom: 50px; padding: 20px; background-color: #fff; }

#profile-nav ul li h2 {
    font-size:14px;
}
#profile-nav ul li span i.material-icons {
    vertical-align: middle;
}

#payment_button {
    text-align: center;
    padding: 25px;
    border: 1px solid #D5AD00;
}

/*** SUBOTOTALE MOBILE ***/
#totale.fixed-bottom { 
    position:fixed; 
    left:0; 
    bottom:0; 
    width:100%; 
    background-color:#D5AD00;
    margin:0; 
    padding:10px 30px; 
    z-index:3000000000; 
}
#subtotale.fixed-bottom {
    position: fixed;
    bottom: 38px;
    font-size: 10px;
    width: 100%;
    left: 0;
    padding: 10px 30px;
    z-index: 3000000000;
    background-color:#efefef; 
    margin: 0;
}

/*** accesibility skip to content ***/
.skipToMain {  
	background: var(--primary);
	color: #000;
	font-weight: 700;
	left: 0;
	width: 100%;
	padding:1rem;
	position: absolute;
	transform: translateY(-100%);
    z-index: 9;
}
.skipToMain:focus {
	transform: translateY(0%);
}