@font-face {
    font-family: "Pixellari Medium";
    src: url("Pixellari.ttf");
  }
  html, body {
	height: 100%;
}
* {
	box-sizing: border-box;
}
body {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 20px;
	overflow-x: hidden;
	font-family: 'Raleway', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
	text-align: center;
}
a {
	text-decoration: none;
	transition: color 0.3s;
}
.sr {
	width: 0;
	height: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.btn {
	position: relative;
	display: inline-block;
	margin: 10px 0;
	padding: 20px 25px;
	width: 100%;
	z-index: 1;
	border: 0;
	outline: 0;
	cursor: pointer;
	font-size: 2rem;
	color: #fff;
	text-align: center;
	line-height: normal;
	letter-spacing: 0.05em;
	font-weight: bold;
}
.btn .hover {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	overflow: hidden;
}
.btn .hover span {
	position: relative;
	display: block;
	left: -15px;
	height: 13px;
	width: 0;
	content: '';
}
.btn .hover span:after {
	position: absolute;
	display: block;
	right: -10px;
	width: 10px;
	height: 10px;
	background: #fff;
	content: '';
}
.btn .hover span:nth-child(odd):after {
	background: rgba(0, 0, 0, 0.35);
}
.btn .hover span:first-child {
	left: -75px;
	transition: all 0.3s steps(8);
}
.btn .hover span:nth-child(2) {
	left: -45px;
	transition: all 0.325s steps(8);
}
.btn .hover span:nth-child(3) {
	left: -55px;
	transition: all 0.35s steps(8);
}
.btn .hover span:nth-child(4) {
	transition: all 0.4s steps(8);
}
.btn .hover span:nth-child(5) {
	left: -25px;
	transition: all 0.375s steps(8);
}
.btn:after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	z-index: -2;
	content: '';
}
.btn:hover {
	color: #fff;
}
.btn:hover, .btn:focus {
	color: #fff;
}
.btn:hover .hover span:first-child, .btn:focus .hover span:first-child {
	width: calc(100% + 76px);
}
.btn:hover .hover span:first-child:after, .btn:focus .hover span:first-child:after {
	animation: whiteBlack 0.3s 0s 1;
}
.btn:hover .hover span:nth-child(2), .btn:focus .hover span:nth-child(2) {
	width: calc(100% + 46px);
	transition: all 0.375s steps(8);
}
.btn:hover .hover span:nth-child(2):after, .btn:focus .hover span:nth-child(2):after {
	animation: whiteBlack 0.3s 0.06s 1 reverse backwards;
}
.btn:hover .hover span:nth-child(3), .btn:focus .hover span:nth-child(3) {
	width: calc(100% + 56px);
	transition: all 0.35s steps(8);
}
.btn:hover .hover span:nth-child(3):after, .btn:focus .hover span:nth-child(3):after {
	animation: whiteBlack 0.3s 0.05s 1 forwards;
}
.btn:hover .hover span:nth-child(4), .btn:focus .hover span:nth-child(4) {
	width: calc(100% + 16px);
	transition: all 0.3s steps(8);
}
.btn:hover .hover span:nth-child(4):after, .btn:focus .hover span:nth-child(4):after {
	animation: whiteBlack 0.3s 0s 1 reverse backwards;
}
.btn:hover .hover span:nth-child(5), .btn:focus .hover span:nth-child(5) {
	width: calc(100% + 26px);
	transition: all 0.325s steps(8);
}
.btn:hover .hover span:nth-child(5):after, .btn:focus .hover span:nth-child(5):after {
	animation: whiteBlack 0.3s 0.07s 1 forwards;
}
.btn.red {
	background: #ff5747;
}
.btn.red span, .btn.red:after {
	background: #cb4539;
}
.btn.green {
	background: #2bdc33;
}
.btn.green span, .btn.green:after {
	background: #23b32a;
}
.btn.blue {
	background: #16bfff;
}
.btn.blue span, .btn.blue:after {
	background: #129acd;
}
.btn.magenta {
	background: #ff2460;
}
.btn.magenta span, .btn.magenta:after {
	background: #c31644;
}
.btn.purple {
	background: #8b3d74;
}
.btn.purple span, .btn.purple:after {
	background: #5e264d;
}
.btn.gray {
	background: #414141;
}
.btn.gray span, .btn.gray:after {
	background: #323232;
}
@media (min-width: 48em) {
	.btn {
		width: 80%;
		padding: 18px 30px;
		margin-left: auto;
		margin-right: auto;
		font-size: 0.75rem;
		font-weight: bold;
   }
	.btn:after {
		height: 6px;
   }
}
@-webkit-keyframes whiteBlack {
	0%, 24% {
		background: #fff;
   }
	25%, 49% {
		background: rgba(0, 0, 0, 0.35);
   }
	50%, 74% {
		background: #fff;
   }
	75%, 100% {
		background: rgba(0, 0, 0, 0.35);
   }
}
@-moz-keyframes whiteBlack {
	0%, 24% {
		background: #fff;
   }
	25%, 49% {
		background: rgba(0, 0, 0, 0.35);
   }
	50%, 74% {
		background: #fff;
   }
	75%, 100% {
		background: rgba(0, 0, 0, 0.35);
   }
}
@-ms-keyframes whiteBlack {
	0%, 24% {
		background: #fff;
   }
	25%, 49% {
		background: rgba(0, 0, 0, 0.35);
   }
	50%, 74% {
		background: #fff;
   }
	75%, 100% {
		background: rgba(0, 0, 0, 0.35);
   }
}
@keyframes whiteBlack {
	0%, 24% {
		background: #fff;
   }
	25%, 49% {
		background: rgba(0, 0, 0, 0.35);
   }
	50%, 74% {
		background: #fff;
   }
	75%, 100% {
		background: rgba(0, 0, 0, 0.35);
   }
}