
.cart-page .row {
	margin-right: -15px;
    margin-left: -15px;	
}

/******************************************
 * Cart
 */
#cart { display: none; }
#cart {
	background-color: #57bec5;
	position: absolute;
	right: 10px;
	padding: 30px 10px 10px;
	min-width: 150px;
	z-index: 10;
	border: 1px solid #000;
}

#cart.is-sticky { 
	position: fixed;
	top: 0px;
}

#cart #icon-cart {
	font-family: FontAwesome;
    position: absolute;
    top: 5px;
    left: 10px;
    color: #fff;
}
#cart #icon-cart:before {
	/*content: "\f07a";*/  /* this is your text. You can also use UTF-8 character codes as I do here */
	content: "\f291";
    font-style: normal;
}

#cart .cart-totals-min {
	position: absolute;
    top: 6px;
    right: 30px;
    color: #000;
    font-weight: 700;
    font-family: 'Cantata One', serif;
    -webkit-font-smoothing: antialiased;
}
#cart.open .cart-totals-min { display: none; }

#cart #open-cart {
	position: absolute;
    right: 10px;
    top: 8px;
}
#cart.open #open-cart .fa-caret-down:before { content: "\f0d8"; }

#cart .cart_list { 
	list-style: none;
	padding: 0px;
}

#cart .cart_list { display: none; }
#cart.open .cart_list { display: block; }

#cart .cart_list .detail-item { 
	position: relative;
	margin-bottom: 5px;
	background-color: #9bcecb; 
}
#cart .cart_list .detail-item>span {
	display: inline-block;
	height: 75px;
	vertical-align: middle;
} 

#cart .cart_list .detail-qty { 
	height: 75px;
    width: 75px;

	border: 1px solid;

	color: #fff; 
	
	background-size: cover;
    background-position: center;
}
#cart .cart_list .detail-qty>span { 
    display: block;
    height: 75px;
    width: 75px;
    
    text-align: center;
    line-height: 75px;
    font-size: 30px;
    
    background-color: rgba(0,0,0,0.2);
}

#cart .cart_list .detail-info { max-width: 300px; } 
#cart .cart_list .detail-name { 
	display: block;
	text-align: left;
	margin: 5px 5px 0px 5px;
}
#cart .cart_list .detail-extraname {
	display: block;
	text-align: left;
	font-size: 10px;
}
#cart .cart_list .detail-price { 
	display: block;
	text-align: left; 
	font-size: 12px;
	margin: 0px 5px;
	font-family: 'Cantata One', serif;
    -webkit-font-smoothing: antialiased;
}
#cart .cart_list .detail-buttons { 
	margin: 0 8px;
	float: right; 
}
#cart .cart_list .detail-buttons>a>* { line-height: 75px; }


#cart .cart_totals { 
	list-style: none;
	padding: 0px;
	margin-top: 10px;
}

#cart .cart_totals { display: none; }
#cart.open .cart_totals { display: block; }

#cart .cart_totals li { 
	padding-top: 5px;
	margin-bottom: 5px; 
} 
#cart .cart_totals li:nth-child(even) { 
	border-top: 1px dotted;
}

#cart .cart_totals span {
	text-align: right;
	float: right;
	font-family: 'Cantata One', serif;
    -webkit-font-smoothing: antialiased;
}

#cart .cart_totals .detail-total { font-weight: 700; }

#cart #checkout-cart {
	text-align: center;
    border: 1px solid #000;
    padding: 10px;
    background-color: #fff;
    color: #57bec5;
}

#cart #checkout-cart:hover {
	background-color: #03b4e6;
    color: #fff;
    text-decoration: none;
}
#cart #checkout-cart:active {
	background-color: #000;
    color: #fff;
    text-decoration: none;
}

#cart #checkout-cart { display: none; }
#cart.open #checkout-cart { display: block; }

@media(max-width: 420px) {
	#cart {
		margin: 0 auto;
    	left: 0;
    	right: 0;
   }
}


.no-tax { display: none; }

/******************************************
 * Cart page
 */

.box-container {
	box-shadow: 1px 1px 1px 1px #e0e0e0;
	background-color: #fff;	
}

.cart-page {
	padding-top: 50px;
	padding-bottom: 50px;
}

#details-container {
	max-width: 90%;
	margin: 0 auto;
}

.detail-object { margin-bottom: 20px; }
.detail-object .detail-media { 
	padding: 0;
	position: relative;
	height: 100%;
}
.detail-object .detail-media:after { 
	content: "";
	display: block;
	padding-bottom: 100%;
}

.detail-object .detail-media img { 
	width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}

.detail-object .detail-info {
	margin-bottom: 10px;
    height: 228px;
}

.detail-object .detail-buttons {
	text-align: center;
	padding-top: 20px;
}
.detail-object .detail-buttons a { color: #000; }

.detail-object .detail-prices { height: 40px; }
.detail-object .detail-prices>div { 
	height: 40px;
	display: inline-block;
	vertical-align: middle; 
}

.detail-object .detail-qty { padding: 0px; }
.detail-object .detail-qty button { 
	/*width: 40px;*/
    height: 40px;
    border: none;
    background-color: #f5f5f5;
    border: 1px solid #dedede;
}
.detail-object .detail-qty span { 
	display: inline-block;
	/*width: 40px;*/
    height: 40px;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
}

.detail-object .detail-price-unit { 
	background-color: #f5f5f5;
	line-height: 40px; 
	text-align: center;
}
.detail-object .detail-price { 
	background-color: #57bec5;
	line-height: 40px;
	text-align: center; 
}

@media (max-width: 991px) {
	.detail-object .detail-info .detail-description { font-size: 13px; }
}

@media (max-width: 767px) {
	.detail-object .detail-info { height: auto; } 
	.detail-object .detail-prices { height: auto; }
}

@media (max-width: 767px) {
	#details-container .row.detail-object .row.detail-info,
	.detail-object .detail-info { margin-left: 0px; margin-right: 0px; } 
	#details-container .row.detail-object .row.detail-prices,
	.detail-object .detail-prices { margin-left: 0px; margin-right: 0px; }
}

#totals { padding: 20px; }
#totals .price { float: right; }

#totals>div {
	padding: 5px 10px;
	border-top: 1px dashed;
}
#totals>div:first-child { border-top: none; }

#totals #totals_totals {
	border-top: 1px solid;
    padding: 10px 10px;
    margin-top: 10px;
    background-color: #9bcecb;
    font-weight: 700;
}

.btn_back {
	display: block;
    margin: 10px 0;

	text-align: center;
    padding: 10px;
    background-color: #fff;
    color: #000;
    
    border: 1px solid;
    border-radius: 0px;
}
.btn_back:hover { color: #000; }

.big_button {
	display: block;
    margin: 10px 0;

	text-align: center;
    padding: 10px;
    background-color: #57bec5;
    color: #fff;
	
	border: 1px solid;
    border-radius: 0px;
    width: 100%;
    
    cursor: pointer;
}

.big_button.btn-secondary {
	background-color: #f5f5f5;
	color: #000;
}
.big_button.btn-secondary:hover {
	color: #fff;
    background-color: #545b62;
    border-color: #4e555b;
}

#calculate-shipping { padding: 20px; }
#calculate-shipping select { padding: 5px; }

#conditions { padding: 20px; }
#conditions a { color: #000; }

#lopd_container .msg-error { display: none; }
#lopd_container.error { color: #ff0000; }
#lopd_container.error .msg-error { display: block; }

/******************************************
 * Cart address page
 */
#customer-info { padding: 20px; }
#gift_pack-info { padding: 20px; }
#address-info { padding: 20px; }
#invoice-info { padding: 20px; }

/*
#invoice-info form.same { 
	visibility: hidden; 
	height: 0px; 
}
*/

/*******************************************
 * Cart shipping page
 */
#shipping-methods { padding: 20px; }
.shipping-description {
	font-weight: 400;
	font-size: 12px;
    line-height: 12px;
}

/*******************************************
 * Cart tpv page
 */
#tpv-container { padding: 20px; }

/*******************************************
 * Cart result page
 */
#result-resume { padding: 20px; }


/*******************************************
 * One step page
 */
/* #one-step #cart-address-container>.row>.col-md-6 { width: 100%; } */
#one-step #cart-shipping-container>.row>.col-md-6 { width: 100%; }
#one-step #cart-tpv-container>.row>.col-md-6 { width: 100%; }

#one-step #invoice-form.same { display: none; }

#one-step #cart-one_step-calculate-shipping { padding: 20px; }

#one-step #cart-one_step-back_to_cart { padding: 20px; }
