.dog-wrap {
	position: fixed;
	right: -40vmin;
	bottom: 0;
	z-index: 9999;
	transition: right 0.4s;
}
.dog {
	width: 30vmin;
	height: 20vmin;
}
.heart {
	position: absolute;
	width: 6%;
	height: 7%;
	background-color: #e64356;
	border-bottom-right-radius: 23%;
	opacity: 0;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
@-webkit-keyframes heart-beat {
	0% {
		-webkit-transform: scale(0.75) rotate(35deg);
		transform: scale(0.75) rotate(35deg);
		opacity: 1;
	}
	5%,
	15%,
	25% {
		-webkit-transform: scale(1) rotate(35deg);
		transform: scale(1) rotate(35deg);
	}
	10%,
	20% {
		-webkit-transform: scale(0.75) rotate(35deg);
		transform: scale(0.75) rotate(35deg);
	}
	70% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(35deg) translateY(-10px) translateX(-10px);
		transform: rotate(35deg) translateY(-10px) translateX(-10px);
		opacity: 0;
	}
}
@keyframes heart-beat {
	0% {
		-webkit-transform: scale(0.75) rotate(35deg);
		transform: scale(0.75) rotate(35deg);
		opacity: 1;
	}
	5%,
	15%,
	25% {
		-webkit-transform: scale(1) rotate(35deg);
		transform: scale(1) rotate(35deg);
	}
	10%,
	20% {
		-webkit-transform: scale(0.75) rotate(35deg);
		transform: scale(0.75) rotate(35deg);
	}
	70% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(35deg) translateY(-10px) translateX(-10px);
		transform: rotate(35deg) translateY(-10px) translateX(-10px);
		opacity: 0;
	}
}
.heart--1 {
	top: -25%;
	left: 15%;
	-webkit-animation: heart-beat 2s ease-out infinite 1.5s;
	animation: heart-beat 2s ease-out infinite 1.5s;
}
.heart--2 {
	top: -36%;
	left: 7%;
	-webkit-animation: heart-beat 2s ease-out infinite 1s;
	animation: heart-beat 2s ease-out infinite 1s;
}
.heart--3 {
	top: -48%;
	left: 14%;
	-webkit-animation: heart-beat 2s ease-out infinite 0.5s;
	animation: heart-beat 2s ease-out infinite 0.5s;
}
.heart--4 {
	top: -53%;
	left: -3%;
	-webkit-animation: heart-beat 2s ease-out infinite;
	animation: heart-beat 2s ease-out infinite;
}
.heart:before,
.heart:after {
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	border-radius: 50%;
	background-color: #e64356;
}
.heart:after {
	bottom: 0px;
	left: -53%;
}
.heart:before {
	top: -53%;
	right: 0px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.body {
	position: absolute;
	width: 100%;
	height: 50%;
	background-color: #f79e38;
	border-top-right-radius: 17% 40%;
	border-top-left-radius: 25%;
	border-bottom-right-radius: 5% 13%;
	border-bottom-left-radius: 30% 40%;
	z-index: 3;
}
.cheast {
	position: absolute;
	width: 45%;
	height: 100%;
	background-color: #fff;
	border-top-right-radius: 17% 40%;
	border-top-left-radius: 25%;
	border-bottom-right-radius: 40% 40%;
	border-bottom-left-radius: 40% 40%;
	z-index: 4;
}
.cheast:after,
.cheast:before {
	position: absolute;
	content: "";
	width: 7%;
	height: 55%;
	border-radius: 39%;
	background-color: #fff;
}
.cheast:after {
	top: 36%;
	left: 3%;
	-webkit-transform: rotate(-1deg);
	transform: rotate(-1deg);
}
.cheast:before {
	top: 19%;
	left: -4%;
}
.head {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 4;
	-webkit-animation: dog-head 1s ease-out infinite;
	animation: dog-head 1s ease-out infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
}
@-webkit-keyframes dog-head {
	to {
		-webkit-transform: translateX(-3px) rotate(3deg);
		transform: translateX(-3px) rotate(3deg);
	}
}
@keyframes dog-head {
	to {
		-webkit-transform: translateX(-3px) rotate(3deg);
		transform: translateX(-3px) rotate(3deg);
	}
}
.tail {
	position: absolute;
	top: -14%;
	left: 92%;
	width: 10%;
	height: 45%;
	background-color: #f79e38;
	border-top-right-radius: 30% 30%;
	border-top-left-radius: 40% 30%;
	border-bottom-right-radius: 30% 40%;
	border-bottom-left-radius: 40% 40%;
	z-index: 2;
	-webkit-transform: rotate(20deg);
	transform: rotate(20deg);
	-webkit-animation: dog-tail 170ms ease-out infinite;
	animation: dog-tail 170ms ease-out infinite;
}
@-webkit-keyframes dog-tail {
	from,
	to {
		-webkit-transform: rotate(10deg);
		transform: rotate(10deg);
	}
	50%,
	60% {
		-webkit-transform: rotate(70deg) translateX(10px) translateY(2px);
		transform: rotate(70deg) translateX(10px) translateY(2px);
	}
}
@keyframes dog-tail {
	from,
	to {
		-webkit-transform: rotate(10deg);
		transform: rotate(10deg);
	}
	50%,
	60% {
		-webkit-transform: rotate(70deg) translateX(10px) translateY(2px);
		transform: rotate(70deg) translateX(10px) translateY(2px);
	}
}
.tail:before {
	position: absolute;
	content: "";
	top: -8%;
	left: -7%;
	width: 100%;
	height: 50%;
	background-color: #f79e38;
	border-radius: 50%;
	-webkit-animation: dog-tail-before 160ms ease-out infinite;
	animation: dog-tail-before 160ms ease-out infinite;
}
@-webkit-keyframes dog-tail-before {
	from,
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	50% {
		-webkit-transform: translateX(3px);
		transform: translateX(3px);
	}
}
@keyframes dog-tail-before {
	from,
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	50% {
		-webkit-transform: translateX(3px);
		transform: translateX(3px);
	}
}
.legs {
	position: absolute;
	top: 97%;
	left: 0;
	width: 100%;
	height: 30%;
	z-index: 2;
	-webkit-animation: dog-legs 1s ease-out infinite 1.5s;
	animation: dog-legs 1s ease-out infinite 1.5s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
}
@-webkit-keyframes dog-legs {
	from {
		-webkit-transform: translateY(-1px);
		transform: translateY(-1px);
	}
	to {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
	}
}
@keyframes dog-legs {
	from {
		-webkit-transform: translateY(-1px);
		transform: translateY(-1px);
	}
	to {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
	}
}
.legs__front,
.legs__back {
	width: 10%;
	height: 100%;
	background-color: #f79e38;
	position: absolute;
	border-bottom-right-radius: 100%;
	border-bottom-left-radius: 100%;
}
.legs__front:after,
.legs__back:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 100%;
	height: 49%;
	background-color: #fff;
	border-bottom-right-radius: 100%;
	border-bottom-left-radius: 100%;
}
.legs__front--left {
	left: 38%;
	-webkit-transform: rotate(1deg);
	transform: rotate(1deg);
}
.legs__front--right {
	left: 20%;
	-webkit-transform: rotate(-4deg);
	transform: rotate(-4deg);
}
.legs__back--left {
	left: 69%;
	-webkit-transform: rotate(-7deg);
	transform: rotate(-7deg);
}
.legs__back--right {
	left: 85%;
	-webkit-transform: rotate(2deg);
	transform: rotate(2deg);
}

.face {
	height: 40%;
	width: 42%;
	position: absolute;
	top: -13%;
	left: -3%;
	background-color: #fff;
	border-top-right-radius: 45% 50%;
	border-top-left-radius: 35% 50%;
	border-bottom-left-radius: 35% 21%;
	z-index: 6;
}
.face:after,
.face:before {
	content: "";
	position: absolute;
	background-color: #f79e38;
}
.face:after {
	width: 27%;
	left: 7%;
	height: 23%;
	border-top-right-radius: 100% 100%;
	border-bottom-left-radius: 49% 100%;
	-webkit-transform: rotate(-64deg);
	transform: rotate(-64deg);
	top: -1%;
	border-top-left-radius: 0% -20%;
	border-bottom-right-radius: 52% 0%;
	box-shadow: rgba(0, 0, 0, 0.1) 2px -6px 11px 1px;
}
.face:before {
	width: 55%;
	left: 42%;
	top: 0%;
	height: 35%;
	border-radius: 23% 7% 16% 12%;
	-webkit-transform: rotate(0deg) scaleX(-1);
	transform: rotate(0deg) scaleX(-1);
}

.eye {
	width: 6%;
	height: 6%;
	position: absolute;
	border-radius: 100%;
	top: 24%;
	background-color: #000;
	z-index: 6;
	-webkit-animation: dog-eye 1800ms infinite;
	animation: dog-eye 1800ms infinite;
}
@-webkit-keyframes dog-eye {
	from,
	to {
		-webkit-animation-timing-function: step-end;
		animation-timing-function: step-end;
		opacity: 1;
	}
	50%,
	55% {
		-webkit-animation-timing-function: step-start;
		animation-timing-function: step-start;
		opacity: 0;
	}
}
@keyframes dog-eye {
	from,
	to {
		-webkit-animation-timing-function: step-end;
		animation-timing-function: step-end;
		opacity: 1;
	}
	50%,
	55% {
		-webkit-animation-timing-function: step-start;
		animation-timing-function: step-start;
		opacity: 0;
	}
}
.eye--left {
	left: 27%;
}
.eye--right {
	left: 46%;
}

.mouth {
	background-color: transparent;
	border-color: #000;
	width: 44%;
	border-style: solid;
	border-width: 0.7vmin;
	height: 48%;
	z-index: 6;
	position: absolute;
	bottom: 35%;
	left: 14%;
	border-top-color: transparent;
	border-bottom-left-radius: 72% 100%;
	border-bottom-right-radius: 77% 100%;
	border-right-color: transparent;
	border-top-right-radius: 50%;
	border-left-color: transparent;
	-webkit-transform: rotate(-41deg);
	transform: rotate(-41deg);
}

.ear {
	position: absolute;
}
.ear--left {
	top: -40%;
	left: 3%;
	height: 47%;
	width: 19%;
	z-index: 1;
	background-color: #e99036;
	border-top-left-radius: 68% 100%;
	border-top-right-radius: 100% 100%;
	-webkit-transform-origin: bottom center;
	transform-origin: bottom center;
	-webkit-animation: left-ear 1000ms ease-out infinite;
	animation: left-ear 1000ms ease-out infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
}
@-webkit-keyframes left-ear {
	from {
		-webkit-transform: rotate(-26deg);
		transform: rotate(-26deg);
	}
	25% {
		-webkit-transform: rotate(-35deg);
		transform: rotate(-35deg);
	}
	50% {
		-webkit-transform: rotate(-26deg);
		transform: rotate(-26deg);
	}
	to {
		-webkit-transform: rotate(-40deg);
		transform: rotate(-40deg);
	}
}
@keyframes left-ear {
	from {
		-webkit-transform: rotate(-26deg);
		transform: rotate(-26deg);
	}
	25% {
		-webkit-transform: rotate(-35deg);
		transform: rotate(-35deg);
	}
	50% {
		-webkit-transform: rotate(-26deg);
		transform: rotate(-26deg);
	}
	to {
		-webkit-transform: rotate(-40deg);
		transform: rotate(-40deg);
	}
}
.ear--right {
	top: -39%;
	left: 19%;
	height: 38%;
	width: 18%;
	z-index: 1;
	background-color: #f79e38;
	border-top-left-radius: 56% 100%;
	border-top-right-radius: 100% 100%;
	-webkit-transform-origin: bottom center;
	transform-origin: bottom center;
	border-bottom-right-radius: 14% 38%;
	-webkit-animation: right-ear 1000ms ease-out infinite;
	animation: right-ear 1000ms ease-out infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
}
@-webkit-keyframes right-ear {
	from {
		-webkit-transform: rotate(-331deg);
		transform: rotate(-331deg);
	}
	25% {
		-webkit-transform: rotate(-320deg);
		transform: rotate(-320deg);
	}
	50% {
		-webkit-transform: rotate(-331deg);
		transform: rotate(-331deg);
	}
	to {
		-webkit-transform: rotate(-320deg);
		transform: rotate(-320deg);
	}
}
@keyframes right-ear {
	from {
		-webkit-transform: rotate(-331deg);
		transform: rotate(-331deg);
	}
	25% {
		-webkit-transform: rotate(-320deg);
		transform: rotate(-320deg);
	}
	50% {
		-webkit-transform: rotate(-331deg);
		transform: rotate(-331deg);
	}
	to {
		-webkit-transform: rotate(-320deg);
		transform: rotate(-320deg);
	}
}
.nose {
	position: absolute;
	width: 24%;
	height: 24%;
	background-color: #fff;
	z-index: 7;
	left: -12%;
	top: -3%;
	border-bottom-left-radius: 50% 88%;
	border-top-left-radius: 11% 43%;
	-webkit-transform: rotate(12deg);
	transform: rotate(12deg);
}
.nose:after {
	content: "";
	position: absolute;
	width: 50%;
	height: 55%;
	background-color: #000;
	border-radius: 100%;
	left: -7%;
	top: -18%;
}
