.wishlistBtn {
	padding: 2px 8px 12px 12px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.wishlistBtn:after {
	display: none;
}

.wishlistBtn ins {
	text-decoration: none;
	font-size: 12px;
	font-weight: normal;
	line-height: 1.67;
	letter-spacing: 0.4px;
	color: #318832;
	margin-right: 4px;
	display: none;
}

.JS #ProductGallery .wishlistBtn ins,
.JS #HeroGallery .wishlistBtn ins,
.JS .productImage .wishlistBtn ins {
	display: inline-block;
}

.wishlistBtn.add ins {
	vertical-align: top;
}

.recommendation .wishlistBtn.add ins,
.isMobile a.productItem .wishlistBtn.add ins {
	visibility: hidden;
}

.wishlistBtn.remove ins {
	position: absolute;
	bottom: 4px;
	right: 4px;
	display: none;
}

.wishlistBtn__icon {
	display: inline-block;
	font-style: normal;
	height: 24px;
	position: relative;
	width: 27px;
	text-align:center;
}

.wishlistBtn:after,
.wishlistBtn__icon:after {
	font-family: 'msx';
	font-size: 24px;
}

.add .wishlistBtn__icon:after {
	content: "\2661";
	color: rgba(0, 0, 0, 0.54);
}

.remove .wishlistBtn__icon:after {
	content: "\2666";
	color: #45a93a;
}

#ProductGallery .wishlistBtn.tipRight {
	padding-top: 12px;
	padding-right: 8px;
  border-bottom-left-radius: 2px;
  background-color: rgba(255, 255, 255, 0.87);
  height: 40px;
}

.wishlistBtn.tipRight span {
	bottom: 52px;
	right: 5px;
	white-space: nowrap;
}

/* to make sure the heart doesn't overlap with a product picture in the PLP
----------------------------------------------------------------------*/

#ProductListing .wishlistBtn__icon {
  background-color: rgba(255, 255, 255, 0.87);
  border-bottom-left-radius: 15px;
  height: 21px;
}

/* in wishlist
----------------------------------------------------------------------*/

#Wishlist .lineItem .productLink strong,
#Wishlist .lineItem .productLink span {
	padding-right: 50px;
}

#Wishlist .wishlistBtn span {
	right: 2px;
}

#Wishlist .wishlistBtn.remove { 
	right: -7px;
	top: 5px;
	padding-right: 9px;
	animation: none;
	transition: all 0.19s ease;
}

#Wishlist .wishlistBtn.remove:after {
	color: rgba(0, 0, 0, 0.38);
	content: "\2612";
	font-size: 20px;
	display: block;
}

#Wishlist .wishlistBtn__icon {
	display: none;
}

/* Hover states
----------------------------------------------------------------------*/

#ProductGallery .wishlistBtn:hover,
.productImage .wishlistBtn:hover {
	cursor: pointer;
}

.noTouch .add:hover .wishlistBtn__icon:after {
	color: #45a93a;
}

.noTouch .wishlistBtn.remove:hover ins {
	display: block;
}

.noTouch .recommendation .wishlistBtn.add:hover ins {
	visibility: visible;
}

/* animation
----------------------------------------------------------------------*/

.add .wishlistBtn__icon:after {
	animation: empty .5s ease-in-out;
}

.remove .wishlistBtn__icon:after {
	animation: pulse .5s ease-in-out;
}

@keyframes pulse {
	0% { font-size: 24px; }
	51% { font-size: 27px; }
	100% { font-size: 24px; }
}

@keyframes empty {
	0% { font-size: 24px; }
	51% { font-size: 26px; }
	100% { font-size: 24px; }
}
