:root{
	--shop-size-xs: var(--size-xs);
	--shop-size-sm: var(--size-sm);
	--shop-size-md: var(--size-md);
	--shop-size-lg: var(--size-lg);
	--shop-size-xl: var(--size-xl);
	--shop-size-xxl: var(--size-xxl);

	--shop-success: #0ad707;
	--shop-block-padding: var(--block-padding);
	--shop-block-mb: 4rem;

	--shop-primary: var(--primary);
	--shop-primary-lighter: var(--primary-lighter);
	--shop-primary-darker: var(--primary-darker);

	--shop-warning: var(--primary);

	--shop-light: var(--light);
	--shop-gray-100: var(--gray-100);
	--shop-gray-200: var(--gray-200);
	--shop-gray-300: var(--gray-300);
	--shop-gray-400: var(--gray-400);
	--shop-dark: var(--dark);

	--shop-radius-inside: var(--radius-inside);

	--shop-f-size-xs: var(--f-size-xs);
	--shop-f-size-sm: var(--f-size-sm);
	--shop-f-size-main: var(--f-size-main);
	--shop-f-size-sm: var(--f-size-sm);
	--shop-f-size-h1: var(--f-size-h1);
	--shop-f-size-h2: var(--f-size-h2);
	--shop-f-size-h3: var(--f-size-h3);
	--shop-f-size-h4: var(--f-size-h4);
	--shop-f-size-h5: var(--f-size-h5);
	--shop-f-size-h6: var(--f-size-h6);
}







/* defaults header cart */
.shopping-cart{
	position: relative;
}

.basket-icon{
	position: relative;
}
.basket-icon .badge{
	position: absolute;
	top: 0;
	right: -3px;
	background-color: var(--shop-warning);
	color: #fff;
	padding: 0;
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1;
	border-radius: 50%;
	font-size: 10px;
}
/* end */


/* hover cart panel */
.header-cart-panel{
    width: 370px;
    position: absolute;
    top: calc(100% + 3px);
    background: #fff;
    text-align: left;
    right: 0;
    -webkit-box-shadow: 0 0 9px 0 rgba(0,0,0,.1);
    -moz-box-shadow: 0 0 9px 0 rgba(0,0,0,.1);
    box-shadow: 0 0 9px 0 rgba(0,0,0,.1);
    transition: all .2s ease;
    opacity: 0;
    transform-origin: 0 0 0;
    -webkit-transform: scaleY(0);
    -moz-transform: scaleY(0);
    -ms-transform: scaleY(0);
    -o-transform: scaleY(0);
    transform: scaleY(0);
    z-index: 9999;
}
.header-cart-panel .cart-wrapper{
	transition: opacity 0.2s;
}
.header-cart-panel .title-wrapper{
	padding: var(--shop-size-sm);
	padding-bottom: 0;
}
.header-cart-panel .button-wrapper{
	padding: var(--shop-size-sm);
	padding-top: 0;
	margin-top: 0;
	transition: opacity 0.2s;
}
.header-cart-panel .button-wrapper .btn-default{
	text-align: center;
	display: block;
}
.shopping-cart.on-hover:hover .header-cart-panel{
	-webkit-transform: scaleY(1);
    -moz-transform: scaleY(1);
    -ms-transform: scaleY(1);
    -o-transform: scaleY(1);
    transform: scaleY(1);
    opacity: 1;
}
.header-cart-panel .items-wrapper{
	height: 300px;
	overflow: auto;
}
/* end */


/* header cart content */
.cart-wrapper{
	padding: var(--shop-size-sm);
    padding-top: 0;
    margin-top: var(--shop-size-sm);
    height: 100%;
    overflow-y: auto;    
}
.cart-wrapper .item-img{
	width: 50px;
	height: 50px;
	object-fit: contain;
}
.cart-wrapper .item-img.cover{
	object-fit: cover;
}
.cart-wrapper .item .title{
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 2px;
}
.cart-wrapper .item .price{
	font-weight: 600;
}
.cart-wrapper .item .badges{
	margin-bottom: 2px;
}
.cart-wrapper .item .desc{
	font-size: var(--shop-f-size-xs);
	color: var(--gray-300);
	margin-bottom: 6px;
}
.cart-wrapper .item{
	padding-bottom: var(--shop-size-xs);
	margin-bottom: var(--shop-size-xs);
	border-bottom: 1px solid var(--shop-gray-100);
	overflow: hidden;
}
.cart-wrapper .item:last-child{
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}
.cart-wrapper .badge{
	padding: 2px 6px;
}
.cart-wrapper .wrapper{
	position: relative;
	padding-right: 25px;
}
.cart-wrapper .item .extras-title{
	font-weight: 600;
    margin-top: 6px;
    border-top: 1px solid var(--shop-light);
    padding-top: 6px;
}
.cart-wrapper .services .wrapper{
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--shop-light);
}
.cart-wrapper .services .wrapper:first-child{
	margin-top: 0;
	border-top: 0;
}
.cart-wrapper .services .wrapper .cart-remove{
	top: calc(.5 * var(--size-xs));
}
.cart-wrapper .services .title{
	font-weight: 400;
	line-height: 1;
	margin-bottom: 4px;
	font-size: var(--f-size-xs);
}
.cart-wrapper .item .services .price{
	font-size: var(--shop-f-size-sm);
}

.cart-remove{
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	color: var(--shop-gray-300);
	transition: color 0.3s;
	line-height: 1.2;
	font-size: 16px;
}
.cart-remove:hover{
	color: var(--shop-primary);
}

.offcanvas .cart-wrapper .item-img{
	width: 60px;
	height: 60px;
}
.offcanvas .cart-wrapper{
	padding: var(--shop-size-md);
	margin-top: var(--shop-size-md);
}
.offcanvas .offcanvas-body{
	transition: opacity 0.2s;
	opacity: 1;
}
/* end */


/* side cart panel */
.offcanvas-backdrop{
	z-index: 2980;
}
.offcanvas{
	transition: transform .5s ease;
	z-index: 3000;
	color: var(--shop-dark);
}
.offcanvas-header{
	padding: var(--shop-size-md);
	padding-bottom: 0;
	justify-content: left;
	align-items: center;
}
.offcanvas-body{
	padding: 0;
}
.offcanvas-header .btn-close{
	padding: 0;
	margin: 0;
	margin-right: var(--size-sm);
}
.offcanvas-header span{
	line-height: 1;
	margin-left: auto;
	font-size: var(--shop-f-size-sm);
	color: var(--shop-gray-300);
	transition: opacity .2s;
}
.offcanvas-cart-summary{
	margin-top: auto;
	padding: var(--shop-size-md);
	border-top: 1px solid var(--shop-gray-100);
	transition: opacity .2s;
}
.offcanvas-cart-summary .price{
	font-size: var(--shop-f-size-h6);
	margin-bottom: var(--shop-size-md);
}
.offcanvas-cart .offcanvas-body{
	display: flex;
	flex-direction: column;
}
.offcanvas-cart .items-wrapper{
	overflow: auto;
	height: 100%;
}
/* end */



/* cart modal */
.modal.loading .modal-body{
	background-image: url('../img/loader.gif');
	background-size: 80px;
	background-repeat: no-repeat;
	background-position: center;
	height: 300px;
}


.modal.loading-overlay .modal-body::after{
	content: "";
    background-image: url('../img/loader.gif');
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modal.loading-overlay .cart-wrapper{
	opacity: .5;
}


.offcanvas.loading-overlay::after{
	content: "";
    background-image: url('../img/loader.gif');
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.offcanvas.loading-overlay .offcanvas-body{
	opacity: .5;
}
.offcanvas.loading-overlay .offcanvas-header span{
	opacity: .5;
}


.header-cart-panel.loading-overlay::after{
	content: "";
    background-image: url('../img/loader.gif');
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.header-cart-panel.loading-overlay .cart-wrapper{
	opacity: .5;
}
.header-cart-panel.loading-overlay .button-wrapper{
	opacity: .5;
}



#modal-cart .modal-footer > *:first-child{
	margin-left: 0;
	margin-right: auto;
}

#modal-cart .cart-wrapper{
	padding: 0;
	margin: 0;
	overflow: initial;
	transition: opacity 0.2s;
}
#modal-cart .cart-wrapper .item .title{
	padding-right: 80px;
}
#modal-cart .cart-wrapper .item .price{
	position: absolute;
	top: 0;
	right: 25px;
	text-align: right;
	line-height: 1.2;
}
#modal-cart .cart-wrapper .item .badges{
	margin-bottom: 4px;
}
#modal-cart .items-wrapper{
	overflow: auto;
	max-height: 400px;
}
#modal-cart .cart-wrapper .item .desc{
	margin-bottom: 0;
}
#modal-cart .cart-wrapper .services .title{
	font-size: var(--f-size-sm);
}
#modal-cart .cart-wrapper .item .services .price{
	font-size: var(--f-size-sm);
	top: 5px;
}
#modal-cart .cart-wrapper .services .wrapper .cart-remove{
	top: calc(.35 * var(--size-xs));
}
/* end */





/* cart main items */
.main-cartitems{
    width: 100%;
}
.col-cart-details{
    padding:0 15px;
    width: auto;
    position: relative;
    display: flex;
    align-items: center;
}
.col-cart-details .prices{
    text-align: right;
    min-width: 200px;
    padding-right: 30px;
    display: flex;
    justify-content: flex-end;
}
.col-cart-details .prices .original-price{
    font-size: var(--h4);
    text-decoration: line-through;
    color: var(--bricks-text-light);
}
.col-cart-details .prices .price{
    font-size: var(--h4);
    font-weight: 600;
}
.col-cart-details .remove{
    color: #c3c3c3;
    transition: color 0.3s;
    cursor: pointer;
}
.col-cart-details .remove:hover{
    color: var(--primary);
}
.col-cart-details .actions {
    display: flex;
    align-items: center;
    justify-content: center;
}
.col-cart-details .actions .pcs{
    margin-left: 10px;
}
.main-cartitems > .item{
    width: 100%;
    background-color: #ffffff;
    padding: var(--shop-size-sm);
    margin-bottom: var(--shop-size-xs);
}
.main-cartitems > .item:last-child{
    border-bottom: 0;
}


.main-cartitems .col-content{
    flex: 1;
}
.main-cartitems .col-content .badges{
    margin-bottom: 5px;
}

.main-cartitems .col-img .img-wrapper{
    width: 140px;
    min-height: 100px;
    position: relative;
}
.main-cartitems .col-img .img-wrapper.big{
	min-height: 140px;
}
.main-cartitems .col-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
}
.main-cartitems .col-img .img-wrapper.coupon{
	display: flex;
    align-items: center;
    justify-content: center;
    min-height: 65px;
}

.main-cartitems .col-img .img-wrapper.cover img{
	object-fit: cover;
}

.main-cartitems .col-content .title{
    font-size: var(--shop-f-h5);
    font-weight: 600;
}

.main-cartitems .col-checkbox input{
	position: relative!important;
}

.col-main-price{
	position: relative;
}
.col-main-price::before{
	border-left: 2px dashed var(--shop-light);
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	bottom: 0;
}
.main-cartitems .main-price-wrapper{
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	justify-content: center;
	width: 150px;
}
.main-cartitems .main-price-wrapper .price{
	font-weight: 700;
	text-align: right;
	font-size: var(--shop-f-size-h4);
}
.main-cartitems .main-price-wrapper .counter{
	margin-top: var(--size-xs);
}
.main-cartitems .main-price-wrapper .additional-price{
	text-align: center;
}
.main-cartitems .remove{
	position: absolute;
	top: 0;
	right: 0;
	color: var(--shop-gray-300);
	cursor: pointer;
	transition: color 0.3s;
	font-size: 22px;
}
.main-cartitems .remove:hover{
	color: var(--shop-dark);
}


.main-cartitems .col-single-price{
	display: flex;
	align-items: center;
}
.main-cartitems .col-single-price.pt{
	padding-top: 14px;
}
.main-cartitems .col-single-price .price-wrapper{
	width: 85px;
	text-align: right;
	line-height: 1;
}
.main-cartitems .col-single-price .price-wrapper .price{
	font-weight: 600;
}
.main-cartitems .col-single-price .price-wrapper .desc{
	font-size: var(--shop-f-size-xs);
	color: var(--shop-gray-300);
}

.extra-items-title{
	margin-top: var(--shop-size-sm);
	padding-top: var(--shop-size-sm);
	margin-bottom: var(--shop-size-sm);
	border-top: 1px solid var(--shop-gray-100);
	font-weight: 500;
	font-size: var(--shop-f-size-h6);
}


.main-cartitems .extra-items .item{
	border-bottom: 1px solid var(--shop-gray-100);
	padding-bottom: var(--shop-size-xs);
	margin-bottom: var(--shop-size-xs);
}
.main-cartitems .extra-items .item:last-child{
	border:0;
	padding:0;
	margin:0;
}

.main-cartitems .extra-items.rental > .item > .row{
	align-items: center;
}
.main-cartitems .extra-items.rental > .item > .row .col-title > .row{
	align-items: center;
}
.main-cartitems .extra-items.rental .form-checkbox{
	top: 0;
}

.main-cartitems .extra-items .item label{
	cursor: pointer;
}

.counter-headline{
	font-size: var(--shop-f-size-xs);
	color: var(--shop-c-gray-300);
	text-align: center;
	line-height: 1;
	margin-bottom: 3px;
}
.counter{
    display: flex;
    border-radius: var(--shop-radius-inside);
}

.counter .button{
	width: 30px;
	min-width: 30px;
	height: 30px;
	border-radius: var(--shop-radius-inside);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--shop-f-size-h6);
	cursor: pointer;
	transition: background-color 0.3s;
	background-color: var(--shop-dark);
	color: #fff;
}
.counter .button.disabled{
	pointer-events: none;
	opacity: 0.3;
}
.counter .button i{
	font-size: 12px;
}
.counter .button:hover{
	background-color: #000;
}
.counter input{
	height: 30px;
	width: 30px;
	padding:0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border:0;
	outline: 0;
	pointer-events: none;
}
.counter input::-webkit-outer-spin-button,
.counter input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.counter input[type=number] {
	-moz-appearance: textfield;
}


.apply-coupon{
	margin-top: var(--shop-size-md);
}
.apply-coupon .info{
	margin-bottom: var(--shop-size-xs);
	color: var(--shop-gray-300);
}
.apply-coupon .btn-default{
	height: 54px;
}
.coupon-alerts > *{
	margin-top: var(--shop-size-xs);
}
/* end */























/* xl */
@media (max-width: 1399.98px){
}

/* lg */
@media (max-width: 1199.98px){

}

@media (max-width: 1100px){
}

/* md */
@media (max-width: 991.98px){
	
}

/* sm */
@media (max-width: 767.98px){
	.col-main-price{margin-top: var(--shop-size-sm);}
	.col-main-price::before{border-left: 0;border-top: 2px dashed var(--shop-light);bottom: initial;right: var(--shop-size-sm);left: var(--shop-size-sm);}
	.main-cartitems .main-price-wrapper{padding-top: var(--shop-size-sm);width: 100%;}
	.main-cartitems .remove{top: var(--shop-size-sm);bottom:0;margin: auto 0;height: 26px;font-size: 22px;}
}

/* xs */
@media (max-width: 575.98px){
	.shopping-cart:hover .header-cart-panel{transform: 0!important;opacity: 0!important;}

	.main-cartitems .extra-items .col-title{width: 100%;flex:initial;margin-bottom: var(--shop-size-xs);}
	.main-cartitems .extra-items .col-single-price{flex:1;justify-content: right;/*order:3;*/}
	.main-cartitems .extra-items .col-counter{/*order:2;*/}
	/*.counter-headline{margin-left: calc(18px + 1rem);}
	.counter{margin-left: calc(18px + 1rem);}*/

	.main-cartitems .col-img .img-wrapper{width: 80px;min-height: 80px;}
	.main-cartitems .col-img .img-wrapper.big{min-height: 80px;}

	.extra-items-title{margin-top:0;border-top: 0;}
}