.boostify-cart-icon {
	display: inline-block;
	position: relative;
	.boostify-icon--cart {
		font-size: 24px;
		color: #333;
		display: inline-block;
		position: relative;
	}

	.cart-link,
	.icon--wrapper {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.boostify-count-product {
		position: absolute;
		top: 0.5em;
		background-color: #d9534f;
		font-size: 10px;
		display: flex;
		min-width: 1.6em;
		right: -0.7em;
		justify-content: center;
		align-items: center;
		font-weight: 700;
		color: #fff;
		border-radius: 50%;
	}

	&.boostify-action-hover:hover {
		.boostify-cart-detail {
			z-index: 9999;
			opacity: 1;
			visibility: visible;
			transform: translateY(0);
			height: auto;
		}
	}

	&.boostify-subtotal-yes {
		.boostify-subtotal {
			display: inline-block;
		}
	}

	.boostify-subtotal {
		display: none;
	}
}

.boostify-action-hover {

	.boostify-cart-detail {
		position: absolute;
		width: 250px;
		height: 0;
		overflow: hidden;
		background-color: #fff;
		box-shadow: 1px 5px 15px rgba( 0, 0, 0, 0.2 );
		transform: translateY( -30px );
		z-index: -1;
		opacity: 0;
		visibility: hidden;
		transition: all 0.1s, transform 0.5s linear;

		.cart-sidebar-head {
			display: none;
		}
	}

	&.hover-position-left {
		.boostify-cart-detail {
			left: 0;
		}
	}

	&.hover-position-center {
		.boostify-cart-detail {
			left: calc( ( 100% - 250px )/2 );
		}
	}

	&.hover-position-right {
		.boostify-cart-detail {
			left: auto;
			right: 0;
		}
	}

	.woocommerce-cart-form__contents,
	.boostify-mini-cart {
		/* width */
		&::-webkit-scrollbar {
		  width: 3px;
		  height: 10px;
		}


		/* Handle */
		&::-webkit-scrollbar-thumb {
		  background: #1f3d70;
		  border-radius: 50px;
		}

		/* Handle on hover */
		&::-webkit-scrollbar-thumb:hover {
		  background: #fc1550;
		}
	}

	.boostify-mini-cart {
		max-height: calc(100vh - 400px);
		overflow: hidden;
		overflow-y: auto;
	}

	.boostify-mini-cart__total {
		text-align: center;
		padding: 15px;
		border-bottom: 1px solid #eaeaec;
		border-top: 1px solid #eaeaec;
		strong {
			font-weight: 500;
			text-transform: capitalize;
		}
	}

	.boostify-mini-cart__buttons {
		padding: 0 20px;
		.button {
			display: block;
			min-height: 40px;
			text-align: center;
			font-weight: 500;
			text-transform: uppercase;
			padding: 10px 15px;
			background-color: #222;
			color: #fff;
			position: relative;
		}
		.checkout {
			margin-top: 10px;
		}
	}

	.boostify-mini-cart-empty-message {
		min-height: 100px;
	}
}


.boostify-cart-detail ul.boostify-mini-cart li.boostify-mini-cart-item {
	position: relative;
	padding: 10px 15px;

	&.remove {
		&:before {
			content: '';
			background-color: #000;
			opacity: 0.3;
			z-index: 10;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			right: 0;
		}

		&:after {
			content: url( '../../images/load/preloader.gif' );
			position: absolute;
			top: calc( ( 100% - 30px )/2 );
			left: calc( ( 100% - 30px )/2 );
			z-index: 99;
		}
	}

	.mini-cart-item-wrapper {
		width: 100%;
	}

	&:not( :last-child ) {
		border-bottom: 1px solid #eaeaec;
	}
	a {
		font-size: 14px;
		font-weight: 600;
		display: block;
		color: #222;
		text-align: left;
	}

	.mini-cart-item-thumbnail {
		width: 90px;
		padding-right: 20px;
	}

	.attachment-woocommerce_thumbnail {
		width: 70px;
	}

	.quantity,
	.woocommerce-Price-amount {
		font-size: 13px;
	}

	.quantity {
		position: relative;
		margin-right: 10px !important;
		display: block;
		text-align: left;
	}

	.remove_from_cart_button {
		width: 20px;
		height: 20px;
		position: absolute;
		right: 0;
		top: calc( ( 100% - 20px )/2 );
		font-size: 1.5em;
		color: inherit;
		opacity: 0;
		z-index: 2;
		-webkit-transform: translateY(0) translateX(0) rotate(0deg);
		transform: translateY(0) translateX(0) rotate(0deg);
		transition: all 0.3s;

		&.remove:hover {
			color: #e31246!important;
			background: none!important;
			-webkit-transform: translateY(0) translateX(0) rotate(90deg);
			transform: translateY(0) translateX(0) rotate(90deg);
			opacity: 1;
		}

	}

	&:hover {
		.remove_from_cart_button{
			opacity: 1;
			-webkit-transform: translateY(0) translateX(0) rotate(90deg);
			transform: translateY(0) translateX(0) rotate(90deg);
		}
	}

	.boostify-mini-cart__buttons {
		padding: 20px;
	}
}

.boostify-mini-cart {
	padding: 0;
	list-style: none;
}


.boostify-action-click {
	.boostify-cart-detail {
		position: fixed;
		top: 0;
		bottom: 0;
		height: 100vh;
		z-index: 99999;
		background-color: #fff;
		width: 300px;

		.cart-detail-wrapper {
			max-height: 100vh;
			height: 100vh;
			justify-content: space-between;
		}
	}

	.cart-sidebar-head {
		border-bottom: 1px solid #ddd;
		position: relative;
		padding: 0 15px;
		z-index: 3;
		min-height: 60px;
		background: inherit;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
		-webkit-box-align: center;
		align-items: center;
	}

	.boostify-close-cart-sidebar {
		border: 0;
		background: none;
		font-size: 24px;
		width: 30px;
		height: 30px;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		transition: all 0.3s;
		color: #1f3d70;
		padding: 0;

		&:hover {
			-webkit-transform: rotate(90deg);
			transform: rotate(90deg);
		}
	}

	.cart-sidebar-title {
		text-transform: uppercase;
		font-size: 16px;
		margin: 0;
	}

	.head-info {
		display: flex;
		align-items: center;

	}

	.count {
		min-width: 30px;
		min-height: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #e31246;
		color: #fff;
		margin-left: 10px;
		border-radius: 50%;
	}

	.boostify-mini-cart {
		max-height: calc( 100% - 210px );
		flex-grow: 1;
	}

}

.sidebar-position-right {
	.boostify-cart-detail {
		right: 0;
		visibility: hidden;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
		box-shadow: 4px 6px 8px rgba( 0,0,0,0.5 );

		&.active {
			visibility: visible;
			pointer-events: auto;
			-webkit-transform: translate3d(0, 0, 0);
			transform: translate3d(0, 0, 0);
			transition: all 0.5s;
		}
	}
}

.sidebar-position-left {
	.boostify-cart-detail {
		left: 0;
		visibility: hidden;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
		box-shadow: -6px 6px 14px rgba(0, 0, 0, 0.5);

		&.active {
			visibility: visible;
			pointer-events: auto;
			-webkit-transform: translate3d(0, 0, 0);
			transform: translate3d(0, 0, 0);
			transition: all 0.5s;

		}
	}
}

.remove-item-mini-cart {
	.boostify-action-click {
		.boostify-cart-detail {
			-webkit-transition: unset;
			transition: unset;

			&.active {
				visibility: visible;
				pointer-events: auto;
				-webkit-transform: translate3d(0, 0, 0);
				transform: translate3d(0, 0, 0);
				transition: unset;
			}
		}
	}
}

.admin-bar .boostify-action-click {
	.boostify-cart-detail {
		@media ( min-width: 601px ) {
			top: 46px;
			.cart-detail-wrapper {
				height: calc( 100vh - 46px );
			}
		}

		@media ( min-width: 783px ) {
			top: 32px;
			.cart-detail-wrapper {
				height: calc( 100vh - 32px );
			}
		}
	}
}

.boostify-cart-overlay {
	background-color: rgba( 0, 0, 0, 0.5 );
	top: 0;
	bottom: 0;
	position: fixed;
	z-index: 99998;
	transition: all 0.15s;
	width: 100vw;
	left: 0;
	display: none;

	&.active {
		display: block;
	}
}

.boostify-cart-detail {
	height: 100vh;


	&.active.loading {
		.cart-detail-wrapper {
			position: relative;
			&:after {
				content: '';
				position: absolute;
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
				display: flex;
				background-color: #fff;
			}

			&:before {
				content:'';
				display: block;
				border: 4px solid #f4f4f4;
				border-radius: 50%;
				border-top: 4px solid #000;
				width: 40px;
				height: 40px;
				-webkit-animation: loading 0.4s linear infinite; /* Safari */
				animation: loading 0.4s linear infinite;
				position: absolute;
				z-index: 999;
				top: calc( ( 100% - 60px - 50px)/2 );
				left: calc( ( 100% - 50px)/2 );
			}
		}
	}


	.boostify-mini-cart__buttons {
		padding: 20px;
		border-top: 1px solid #eee;
		.button {
			display: flex;
			justify-content: center;
			align-items: center;
			text-transform: uppercase;
			font-weight: 600;
			padding: 15px;
			border-radius: 0;
			background-color: #222;
			color: #fff;
			min-height: 40px;
			transition: all 0.3s;

			&:not(:last-child) {
				margin-bottom: 10px;
			}
		}
	}

	.cart-detail-wrapper {
		max-height: calc( 100vh - 200px );
		display: flex;
		flex-direction: column;
	}

	.boostify-mini-cart__total {
		padding: 15px;
		text-align: center;
		border-top: 1px solid #eee;
	}

	.boostify-mini-cart {
		overflow-y: scroll;
		overflow-x: hidden;
		margin: 0;

		/* width */
		&::-webkit-scrollbar {
		  width: 3px;
		  height: 10px;
		}


		/* Handle */
		&::-webkit-scrollbar-thumb {
		  background: #1f3d70;
		  border-radius: 50px;
		}

		/* Handle on hover */
		&::-webkit-scrollbar-thumb:hover {
		  background: #fc1550;
		}
	}
}

.boostify-mini-cart-empty-message {
	height: calc( 100% - 60px );
	display: flex;
	align-items: center;
	justify-content: center;
}

.boostify-cart-item-info {
	display: flex;
	flex-direction: row-reverse;

	.mini-cart-item-detail {

		padding-right: 20px;
		width: calc( 100% - 90px );
	}

}

.boostify-cart-icon {
	.boostify-icon--cart:after {

		font-family: "Ionicons";
		display: block;
		line-height: normal;
	}
}

.boostify-icon-ion-bag .boostify-icon--cart:after {
	content: '\f110';
}

.boostify-icon-ion-ios-cart .boostify-icon--cart:after {
	content: '\f3f8';
}

.boostify-icon-ion-ios-cart-outline .boostify-icon--cart:after {
	content: '\f3f7';
}

.elementor-widget-ht-hf-cart-icon {
	align-self: center;
}

/* Safari */
@-webkit-keyframes loading {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes loading {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}