.elipsis {
	position:relative;
	overflow:hidden;
}


.elipsis > * {
	float: right;
	width: 100%;
	margin-left: -5px; 
}	

.elipsis:before {
	content: "";
	float: left;
	width: 5px;
	height: 150px;
}

.elipsis:after {
	content: "\02026";  
	box-sizing: content-box;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	float: right; position: relative;
	top: -70px;
	width: 3em; 
	margin-left: -3em;
	padding-right: 5px;
	text-align: right;
	background-size: 100% 100%;
  /* 512x1 image, gradient for IE9. Transparent at 0% -> white at 50% -> white at 100%.*/
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAMAAACfZeZEAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wDWRdwAAAP90Uk5TgsRjMZXhS30YrvDUP3Emow1YibnM9+ggOZxrBtpRRo94gxItwLOoX/vsHdA2yGgL8+TdKUK8VFufmHSGgAQWJNc9tk+rb5KMCA8aM0iwpWV6dwP9+fXuFerm3yMs0jDOysY8wr5FTldeoWKabgEJ8RATG+IeIdsn2NUqLjQ3OgBDumC3SbRMsVKsValZplydZpZpbJOQco2KdYeEe36BDAL8/vgHBfr2CvTyDu8R7esU6RcZ5ecc4+Af3iLcJSjZ1ivT0S/PMs3LNck4x8U7wz7Bv0G9RLtHuEq1TbJQr1OtVqqnWqRdoqBhnmSbZ5mXapRtcJGOc4t2eYiFfH9AS7qYlgAAARlJREFUKM9jqK9fEGS7VNrDI2+F/nyB1Z4Fa5UKN4TbbeLY7FW0Tatkp3jp7mj7vXzl+4yrDsYoVx+JYz7mXXNSp/a0RN25JMcLPP8umzRcTZW77tNyk63tdprzXdmO+2ZdD9MFe56Y9z3LUG96mcX02n/CW71JH6Qmf8px/cw77ZvVzB+BCj8D5vxhn/vXZh6D4uzf1rN+Cc347j79q/zUL25TPrJMfG/5LvuNZP8rixeZz/mf+vU+Vut+5NL5gPOeb/sd1dZbTs03hBuvmV5JuaRyMfk849nEM7qnEk6IHI8/qn049hB35QGHiv0yZXuMdkXtYC3ebrglcqvYxoj1muvC1nDlrzJYGbpcdHHIMo2FwYv+j3QAAOBSfkZYITwUAAAAAElFTkSuQmCC);
	background: -webkit-gradient(linear, left top, right top,
		from(rgba(255, 255, 255, 0)), to(white), color-stop(50%, white));
	background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);			
	background: -o-linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);
	background: -ms-linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);
	background: linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);
}

.heart-beat {

}

.heart-beat:hover {
	animation: beat .25s infinite alternate;
	transform-origin: center;
}

/* Heart beat animation */
@keyframes beat{
	to { transform: scale(1.4); }
}

@-webkit-keyframes beat{
	to { transform: scale(1.4); }
}

@-o-keyframes beat{
	to { transform: scale(1.4); }
}

@-moz-keyframes beat{
	to { transform: scale(1.4); }
}

@-ms-keyframes beat{
	to { transform: scale(1.4); }
}

.border-dance {
	
}

.border-dance:hover {
	background: linear-gradient(90deg, #fff 50%, transparent 50%), linear-gradient(90deg, #fff 50%, transparent 50%), linear-gradient(0deg, #fff 50%, transparent 50%), linear-gradient(0deg, #fff 50%, transparent 50%);
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-size: 15px 4px, 15px 4px, 4px 15px, 4px 15px;
  background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
  animation: border-dance 4s infinite linear;
}

@keyframes border-dance {
  0% {
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
  }
  100% {
    background-position: 100% 0px,0px 100%, 0px 0px, 100% 100%;
  }
}

@-webkit-keyframes border-dance {
  0% {
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
  }
  100% {
    background-position: 100% 0px,0px 100%, 0px 0px, 100% 100%;
  }
}

@-o-keyframes border-dance {
  0% {
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
  }
  100% {
    background-position: 100% 0px,0px 100%, 0px 0px, 100% 100%;
  }
}

@-ms-keyframes border-dance {
  0% {
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
  }
  100% {
    background-position: 100% 0px,0px 100%, 0px 0px, 100% 100%;
  }
}

@-moz-keyframes border-dance {
  0% {
    background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
  }
  100% {
    background-position: 100% 0px,0px 100%, 0px 0px, 100% 100%;
  }
}



.border-in-animation {
	position:relative;
}

.border-in-animation:before {
	content:'';
	display:block;
	position:absolute;
	width:0px;
	height:1px;
	border-top:0px solid #fff;
	border-right:0px solid #fff;
	transition:width 0.2s 0.2s ease,height 0.2s ease,border-width 0s 0.4s ease;
	top:0px;
	left:0px;
}

.border-in-animation:after {
	content:'';
	display:block;
	position:absolute;
	width:0px;
	height:2px;
	border-left:0px solid #fff;
	border-bottom:0px solid #fff;
	transition:width 0.2s 0.2s ease,height 0.2s ease,border-width 0s 0.4s ease;
	bottom:0px;
	right:1px;
}

.border-in-animation:hover:before {
	border-width:2px;
	width:calc(100% - 2px);
	height:calc(100% - 2px);
	transition:width 0.2s ease,height 0.2s 0.2s ease;
}

.border-in-animation:hover:after {
	border-width:2px;
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	transition:width 0.2s ease,height 0.2s 0.2s ease;
}





/* ************************************************* */




.border-out-animation {
	position:relative;
}

.border-out-animation:before {
	content:'';
	display:block;
	position:absolute;
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transition:width 0.2s ease,height 0.2s 0.2s ease;
	top:0px;
	left:1px;
}

.border-out-animation:after {
	content:'';
	display:block;
	position:absolute;
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	border-left:2px solid #fff;
	border-bottom:2px solid #fff;
	transition:width 0.2s ease,height 0.2s 0.2s ease;
	bottom:0px;
	right:1px;
}

.border-out-animation:hover:before {
	border-width:0px;
	width:0px;
	height:0px;
	transition:width 0.2s 0.2s ease,height 0.2s ease,border-width 0s 0.4s ease;
}

.border-out-animation:hover:after {
	border-width:0px;
	width:0px;
	height:0px;
	transition:width 0.2s 0.2s ease,height 0.2s ease,border-width 0s 0.4s ease;
}