.hidden { display: none; }

/* Clearfix - in case themes don't have this */
.clearfix:before,.clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

/* Framework Agnostic Column Grid */
.col-container { margin-left: -15px; margin-right: -15px; margin: 0 auto; }
.col-container .form-group { margin-bottom: 0; }
.vivid-store-col-1, .vivid-store-col-2, .vivid-store-col-3, .vivid-store-col-4, .vivid-store-col-5 { -moz-box-sizing: border-box; box-sizing: border-box; padding: 15px; }
@media (min-width:768px){
.vivid-store-col-1, .vivid-store-col-2, .vivid-store-col-3, .vivid-store-col-4, .vivid-store-col-5 { float: left; }
.vivid-store-col-1 { width: 100%; }
.vivid-store-col-2 { width: 50%; }
.vivid-store-col-3 { width: 33%; }
.vivid-store-col-4 { width: 25%; }
.vivid-store-col-5 { width: 20%; }
}


/* Utility Links block */
.vivid-store-utility-links { text-align: right; padding: 5px 0; }
.vivid-cart-empty .cart-link { display: none; }

/* Loading/Modal */
.whiteout { position: fixed; z-index: 99; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); z-index: 999; }
    .vivid-store-spinner-container { position: absolute; top: 50%; left: 50%; margin-top:-33px; margin-left: -33px; background: #fff; padding: 20px; }
    .vivid-store-spinner { min-width: 26px; min-height: 26px; }
    .vivid-store-spinner:before { content: '...'; text-align: center; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin-top: -14px; margin-left: -14px; font-size: 36px; line-height: 16px; font-family: arial, san-serif; /* Non animation fallback */}
    .vivid-store-spinner:not(:required):before { content: ''; border-radius: 50%; border: 4px solid rgba(0, 0, 0, .2); border-top-color: rgba(0, 0, 0, .6); animation: spinner .6s linear infinite; -webkit-animation: spinner .6s linear infinite; box-sizing: content-box;}

    @keyframes spinner {
        to {transform: rotate(360deg);}
    }

    @-webkit-keyframes spinner {
        to {-webkit-transform: rotate(360deg);}
    }

    .product-modal, .cart-modal { background: #fff; position: relative; top: 15%; width: 100%; max-width: 670px; max-height: 75%; overflow: auto; margin: 0 auto;  box-shadow: 0 0 10px rgba(0,0,0,0.4); padding: 20px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
        .product-modal-thumb { float: left; width: 40%; }
            .product-modal-thumb img { max-width: 100%; height: auto; }
        .product-modal-info-shell { float: left; width: 50%; margin-left: 10%; position: relative;}
            .product-modal-exit { position: absolute; font-size: 18px; right: 0; top: 0; color: #ccc; cursor: pointer; }
            .cart-modal .product-modal-exit { /* right: 15px; top: 5px; */ right: 6px; top: 2px; }
            .product-modal-exit:hover { color: #888; text-decoration: none; }
            .product-modal-title { display: block; font-size: 22px; padding: 10px 0 0; }
            .product-modal-price { display: block; font-size: 16px; }
            .product-modal-details { margin: 10px 0; padding-right: 8px; height: 120px; overflow-y: auto; }
            .product-modal-options { margin-left: -5px; margin-right: -5px; }
                .product-modal-option-group { -moz-box-sizing: border-box; box-sizing: border-box; width: 50%; float: left; padding: 0 5px 5px; }
                .product-modal-options .option-group-label { display: block; margin-bottom: 5px; }
                .product-modal-options select, .product-modal-options input { width: 100%; padding: 4px 10px; border: 2px solid #aaa; height: 35px; }
            .product-modal-buttons { margin: 15px 0 0; }
                .product-modal-buttons a { display: inline-block; background: #555; color: #fff; padding: 7px 25px; }
                .product-modal-buttons a:hover { text-decoration: none; background: #333; }


/* Shopping Cart Page */
.cart-page-cart {  }
    .cart-page-cart-list { margin: 30px 0 !important; padding: 0 !important; }
        .cart-page-cart-list li.cart-page-cart-list-item {
			list-style: none !important; 
			padding: 8px 0; 
			margin-bottom: 15px; 
			/*background: rgba(0,0,0,0.01); 
			border: 1px solid rgba(0,0,0,0.1); 
			border-radius: 3px; #MOD 12/06/2019 */
			border-bottom: 2px solid #000;
		}
        .cart-page-cart-list li.cart-page-cart-list-item.striped {  }
            .cart-page-cart-list li.cart-page-cart-list-item > * { float: left; /* padding: 0 10px; */ -moz-box-sizing: border-box; box-sizing: border-box; }
            .cart-page-cart-list li.cart-page-cart-list-item .cart-item-label {  }            
            .cart-page-cart-list li.cart-page-cart-list-item .cart-list-thumb { width: 30%; min-height: 50px; }
            .cart-page-cart-list li.cart-page-cart-list-item .cart-list-product-name { width: 40%; font-weight: bold; }
            .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-price { width: 30%; text-align: right; }
            	.cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-price .original-price { opacity: .6; text-decoration: line-through; display: block; }
            	.cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-price .sale-price { display: block; }
            .cart-page-cart-list li.cart-page-cart-list-item .cart-list-product-qty { width: 35%; margin-top: 10px; }
                .cart-page-cart-list li.cart-page-cart-list-item .cart-list-product-qty input { padding: 3px; border-radius: 0px; border: 1px solid #ddd; }
            
            .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-links { width: 35%; margin-top: 10px; text-align: right; }
                .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-links a, .cart-page-cart-list button, .cart-page-cart-links button { 
					display: inline-block; 
					background: #fff; 
					padding: 2px 8px; 
					/* border: 1px solid #ddd; */
					margin-bottom: 2px; 
					/* border-radius: 3px; */
					/*border-radius: 0;
					-moz-border-radius: 0px;
					-webkit-border-radius: 0px;*/
					border: 1px solid #c7c7c7;
					box-shadow: 3px 3px 0px 0 rgba(140,140,140,0.25);
					border-radius: 10px;
					-moz-border-radius: 10px;
					-webkit-border-radius: 10px;
				}
                .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-links .btn-cart-list-remove {
					/* background: #d9534f; 
					border-color: #d43f3a; 
					color: #fff !important; 
					*/
					background: #fff; 
					border: none; 
					color: #000 !important;
					border-radius: 0;
					box-shadow: none;
					padding: 0;
					text-decoration: underline;
					text-transform: lowercase;
					
				}
                .cart-page-cart-list li.cart-page-cart-list-item .btn-cart-list-update { padding: 5px 15px; }
            .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-attributes { margin-left: 30%; }
                .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-attribute {  }
                    .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-attribute .cart-list-item-attribute-label { font-weight: bold; }
                    .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-attribute .cart-list-item-attribute-value {  }

    .cart-page-cart-total { text-align: right; }
        .cart-grand-total-label, .cart-grand-total-value { font-size: 18px; }
    
    .cart-page-cart-links { text-align: right; margin: 20px 0; }
        .cart-page-cart-links a, .cart-page-cart-links button { 
			display: inline-block; 
			padding: 5px 8px; 
			border: 1px solid; 
			/* border-radius: 3px; */
			border-radius: 0;
			-moz-border-radius: 0px;
			-webkit-border-radius: 0px;
			font-size: 14px; 
			font-size: 1.4rem;
			/* #MOD 2018 */
			    /* #MOD 29/04/201
				border: 1px solid #c7c7c7;
				box-shadow: 3px 3px 0px 0 rgba(140,140,140,0.25);
				border-radius: 10px;
				-moz-border-radius: 10px;
				-webkit-border-radius: 10px;
				*/
		}

		/* #MOD 2018 */
		.cart-page-cart-links a:hover, .cart-page-cart-links button:hover{
			color: #fff;
			/* #MOD 29/04/2019 background-color: #d7d7d7; */
			background-color: #4bd836;
		}
		/* #MOD# */
		
        .cart-page-cart-links .btn-cart-page-checkout {  }

@media (min-width: 768px) {
    .cart-page-cart-list li.cart-page-cart-list-item { padding: 15px 0; border: none; border-bottom: 2px solid #000; background: none; border-radius: 0; margin-bottom: 0; }
    .cart-page-cart-list li.cart-page-cart-list-item.striped { background: rgba(0,0,0,0.01); }
     .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-links a { padding: 5px 15px; }
}

.checkout-totals-line-items { list-style: none !important; padding: 0; margin: 30px 0; margin: 9px 0; }
    .checkout-totals-line-items .line-item { padding: 3px 5px; }
    .checkout-totals-line-items .line-item.grand-total { 
		font-size: 120%; 
		margin-top: 15px; 
		background: none; 
		/* border-top: 1px solid rgba(0,0,0,0.1); */
		border-top: 1px solid #000;
		padding-top: 10px; 
	}

.checkout-cart-list {
    padding: 0;
}



.checkout-cart-list .checkout-cart-item {
    list-style: none;
    padding: 8px 0;
    margin: 0;
 }

.checkout-cart-list .cart-list-thumb {
    float: left;
    margin-right: 10px;
}

/* Checkout Page */
.checkout-form-shell {  }

    .checkout-form-group { margin: 0 0 5px; }
        /* .checkout-form-group h2 { padding: 8px 15px; background: #f8f8f8; font-size: 16px !important; margin: 0 !important; } */
		.checkout-form-group h2 { font-size: 15px; font-size: 1.5rem; margin: 0 !important; } 
        .checkout-form-group-body { padding: 20px 0; display: none; }
        .checkout-form-group-summary { padding: 20px 0; display: none; }
        .checkout-form-group-complete .checkout-form-group-summary  { display: block !important; }
        #checkout-form-group-signin .checkout-form-group-body { display: block !important; }
        .checkout-form-group-summary .vivid-store-col-2 { padding-top: 0; padding-bottom: 0;}
        .checkout-form-group-buttons { clear: both; text-align: right; padding: 0 15px;}

.active-form-group .checkout-form-group-body { display: block !important; }
    
@media (min-width: 768px) {
    .checkout-form-shell { 
		float: left; 
		width: 60%;
	}
}

@media (min-width: 768px) {
    .checkout-cart-view { 
		display: block; 
		/* float: right;  */
		float: left;
		width: 30%;
		margin-left: 2em;
		margin-top: -37px
	}
}

#checkout-payment-method-options .radio input[type=radio] {
	margin-left: 0;
	margin-top: 2px;
}

#checkout-shipping-method-options .radio input[type=radio] {
	margin-top: 2px;
}

.scrollpolicy{
	overflow: scroll; 
	width: 100%;
    height: 251px;
    border: #d8d8d8 1px solid;
    background: #f9f9f9;
    overflow: auto;
    padding: 20px;
}

@media (min-width: 768px) {
	#checkout-form-group-signin  p { min-height: 6em; }

	#checkout-form-group-signin h2 {
		min-height: 2.7em;
	}
}

#checkout-form-group-shipping-method p { margin-bottom: 1em; }

div.wizard {
    position: relative;
    display: block;
    width: 100%;
	margin-bottom: 4em;
	display: none;
}
div.wizard:before, div.wizard:after {
    display: table;
    content: "";
    line-height: 0;
}
div.wizard:after {
    clear: both;
}

.wizard ul {
    list-style: none!important;
    padding: 0;
    margin: 0;
}
.wizard > ul > li {
	float: left;
    width: 25%;
    display: block;
    padding: 0;
}

.wizard ul li span {
    display: block;
    width: auto;
    margin: 0;
    padding: 0.5em 1em;
    text-decoration: none;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    background: #e7e7e7;
    border-top: solid 1px #d7d7d7;
	border-bottom: solid 1px #d7d7d7;
	border-left: solid 1px #d7d7d7;
	font-size: 13px;
	font-size: 1.3rem;
}

@media screen and (max-width: 955px) {
	.wizard ul li span {
		padding: 0.5em 0.5em;
		font-size: 10px;
		font-size: 1.0rem;
	}
}

@media screen and (max-width: 511px) {
	.wizard ul li span {
		padding: 0.5em 0.6em;
		font-size: 12px;
		font-size: 1.2rem;
		min-height: 6em;
	}
	
	.product-detail-block .product-additional-images .product-thumb {
		max-width: 22%;
	}
}

.wizard ul li:last-child span {
	border-right:  solid 1px #d7d7d7;
} 

/*.wizard ul li span.active {
	background: #000;
    color: #fff;
    cursor: default;
}*/

.wizard ul li.current span {
	background: #999;
    color: #fff;
    cursor: default;
}

/* SELEZIONE COLORE PAGINA PRODOTTO SHOP */

.color-container {
	padding: 2em 0;
}

.color-container ul{
	list-style: none;
    margin: 0;
    padding: 0;
	font-size: 1.0em;
}
@media screen and (max-width: 550px) {
	.color-container {
		text-align: center;
	}
	.color-container ul{
		font-size: 0.8em;
	}
}


.color-container ul li:first-child {
	margin-top: 2px;
}

.color-container ul li {
    display: inline-block;
    line-height: 1em;
	letter-spacing: -0.05em;
	width: 7.5em;
    text-align: center;
}

.color-container ul li a{
    display: block;
    margin: 0 auto;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border: 0;
    border-radius: 100%;
    font-size: 1.3em;
    height: 2.5em;
    line-height: 2.5em;
	text-align: center;
    text-decoration: none;
    width: 2.5em;
	margin-top: 0.5em;
}

.color-container ul li.color_ball a{
    background: #eee;
    color: #eee;
    border: solid 1px #000;
}
.color-container ul li.color_ball.color_red_lip a{
    background: #D12E27;
    color: #D12E27;
    border: solid 1px #D12E27;
}
.color-container ul li.color_ball.color_lemon_yellow a{
    background: #F8E952;
    color: #F8E952;
    border: solid 1px #F8E952;
}
.color-container ul li.color_ball.color_dirty_white a{
    background: #fff;
    color: #fff;
    border: solid 1px #dedede;
}
.color-container ul li.color_ball.color_mega_blu a{
    background: #58A8DB;
    color: #58A8DB;
    border: solid 1px #58A8DB;
}

/* ************ #MOD 29/04/2019 ************ */

/*
.cart-page-cart .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-links {
	display: none;
}
*/
.cart-page-cart .cart-page-cart-list li.cart-page-cart-list-item .cart-list-item-links .btn-cart-list-update{
	display: none;
}

.cart-page-cart .cart-page-cart-links .btn-cart-modal-continue, .cart-page-cart-links .btn-cart-modal-clear{
	display: none;
}
.cart-page-cart-links {
    text-align: center;
}
.cart-page-cart-links a, .cart-page-cart-links button { 
    /* width: 50%; */
    text-align: center;
    background-color: #7cdb6f;
	/*padding: 14px 8px; */
	padding: 10px 64px;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
}


.cart-page-cart p { padding: 0; }


.form-group label span {
	font-size: 80%;
    font-style: italic;
}


.checkout-form-group-summary label {
	font-style: italic;
}

.checkout-form-group-buttons input.btn {
    -webkit-box-shadow: none;
    box-shadow: none;
	border-radius: initial;
}


@media (max-width: 1280px) {
	.product-button-shell .btn.btn-primary.btn-add-to-cart.btn-2019, .contents .checkout-form-group-buttons .btn.btn-default {
		font-size: 16px !important;
		/* padding: 10px 24px !important; */
	}
}
