div.main
    div.lines
        div.line-a
        div.line-b
        div.line-c
        div.line-d
            
    div.bicy
        
        div.heart
        
        div.dog 
            div.dog__ear    
            div.dog__head   
            div.dog__body
            div.dog__mouth-a
            div.dog__mouth-b
            div.dog__tongue
                
        div.bicy__wheel-l
            div.bicy__fender
        div.bicy__wheel-r
            div.bicy__fender
        div.bicy__ac
            div.bicy__ac-top
        div.bicy__parts
            div.bicy__part-a
            div.bicy__part-b
            div.bicy__part-c
            div.bicy__part-d
            div.bicy__part-e
            div.bicy__part-f
            div.bicy__part-g
        div.bicy__basket
            div.bicy__basket-a
    div.shadows
        div.shadow-a
        div.shadow-b
        div.shadow-c
        div.shadow-d
    div.human
        div.human__c
            div.human__head
                div.human__neck
                div.human__face-a
                div.human__face-b
                div.human__nose
                div.human__hair
                div.human__cheek
                div.human__ear
                div.human__mouth
                div.human__eye
            div.human__chest
            div.human__backpack
                
        div.human__arm-r
            div.human__arm-r-a
        div.human__arm-l
            div.human__arm-l-a
                
        div.human__leg-r
            div.human__leg-r-a
        div.human__leg-l
            div.human__leg-l-a
            div.human__leg-l-b
View Compiled
$bg-1: #EFE1DB;
$bg-2: #6D5450;

$skin-1: #FFAC90;
$skin-2: #B35644;

$hair-1: #D45029;
$hair-2: #8C1D0B;

$green-1: #7ADACC;
$green-2: #009281;
$green-3: #00665A;

$white-1: #FFF6EF;
$white-2: #FEDBC5;
$white-3: #E9A589;

$wheel-1: #432316;

$brown-1: #EBB6A1;
$brown-2: #B96C5C;
$brown-3: #883E30;

$gray-1: #3C3C3B;
$gray-2: #3F3E3E;
$gray-3: #101010;

$metal-1: #d5d5d5;
$metal-2: #A2A1A0;

*,
*::after,
*::before {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}
/* Generic */

body {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	background-color: $bg-1;
}

.main {
	position: relative;
	width: 60vw;
	height: 45vw;

	// background-image: url("bg.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	overflow: hidden;
}

/* Component */
.lines{
	width: 100%;
	height: 100%;
	transform: rotateZ(10deg);
}
.line-a,
.line-b,
.line-c,
.line-d{
	position: absolute;
	height: .175vw;
	border-radius: 50%;
	background-color: $white-1;
}
.line-a{ width: 12vw; bottom: 20vw; left: 7vw; animation: line-a .15s infinite linear; }
.line-b{ width: 10vw; bottom: 18vw; left: 6vw; animation: line-b .2s infinite linear; }
.line-c{ width: 6vw; bottom: 12vw; left: 12vw; animation: line-c .1s infinite linear; }
.line-d{ width: 6vw; bottom: 26vw; left: 15vw; animation: line-d .135s infinite linear; }

/**/
.shadows{
	position: absolute;
	top: 13.5vw;
	left: 20.3vw;
	width: 27vw;
	height: 19vw;

	transform-origin: top left;
	transform: rotateZ(10deg);
	z-index: -5;
}
.shadow-a,
.shadow-b,
.shadow-c,
.shadow-d{
	position: absolute;
	border-radius: 50%;
}
.shadow-a{
	bottom: -.5vw;
	width: 150%;
	left: -25%;
	height: 1vw;
	background-color: rgba($bg-2, .5);
	animation: shadow-a .15s infinite linear;
}
.shadow-b{
	bottom: -1.5vw;
	width: 100%;
	right: -25%;
	height: .45vw;
	background-color: rgba($bg-2, .5);
	animation: shadow-b .175s infinite linear;
}
.shadow-c{
	bottom: -4vw;
	left: 100%;

	border-top: 2vw solid rgba($bg-2, .5);
	border-right: 2vw solid rgba($bg-2, .5);
	border-bottom: 2vw solid transparent;
	border-left: 2vw solid transparent;

	transform-origin: bottom left;
	transform: rotateZ(-45deg);
	opacity: 0;

	animation: shadow-c .45s infinite linear;

	&::before{
		content: '';
		position: absolute;
		left: 2vw;
		top: 2vw;

		border-top: 1vw solid rgba($bg-2, .75);
		border-right: 1vw solid rgba($bg-2, .75);
		border-bottom: 1vw solid transparent;
		border-left: 1vw solid transparent;
		border-radius: 50%;
	}
}
.shadow-d{
	bottom: -2vw;
	left: 100%;

	border-top: 1.5vw solid rgba($bg-2, .75);
	border-right: 1.5vw solid rgba($bg-2, .75);
	border-bottom: 1.5vw solid transparent;
	border-left: 1.5vw solid transparent;

	transform-origin: bottom left;
	transform: rotateZ(-45deg);

	animation: shadow-c 1s infinite linear;
}
/**/
.bicy{
	position: absolute;
	top: 13.5vw;
	left: 17.3vw;
	width: 27vw;
	height: 19vw;

	transform-origin: bottom left;
	transform: rotateZ(10deg);

	animation: bicy .15s infinite linear;

	&__wheel-l,
	&__wheel-r{
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		bottom: 0;
		width: 10.8vw;
		height: 10.8vw;

		border: .4vw solid $wheel-1;
		border-radius: 50%;
		box-shadow:
			inset .3vw .3vw 0 $white-3,
			inset -.3vw -.3vw 0 $white-1,
			inset -.3vw .3vw 0 $white-3,
			inset .3vw -.3vw 0 $white-1;

		&::before,
		&::after{
			content: '';
			position: absolute;
			width: 70%;
			height: 70%;

			border-radius: 50%;
			border-top: .115vw solid $white-1;
			border-bottom: .115vw solid $white-1;
			border-left: .115vw solid transparent;
			border-right: .115vw solid transparent;
			 animation: wheel .25s infinite linear;
		}
		&::after{
			width: 50%;
			height: 50%;

			border-top: .115vw solid transparent;
			animation: wheel .25s infinite linear;
		}
	}
	&__wheel-l{ left: 0; z-index: -1; }
	&__wheel-r{ right: 0;  }

	&__fender{
		position: absolute;
		width: 115%;
		height: 125%;
		border-radius: 50%;
		border-top: .5vw solid $green-3;
	}
	/**/
	&__ac{
		position: absolute;
		width: 10.7vw;
		height: 3vw;
		bottom: 4vw;
		left: 4vw;

		&::before{
			content: '';
			position: absolute;
			bottom: 0;
			right: 0;
			width: 99%;
			height: 1.5vw;

			border: .3vw solid $gray-2;
			border-top: .3vw solid transparent;
			border-bottom-left-radius: 4vw;
			border-bottom-right-radius: 4vw;
		}
		&::after{
			content: '';
			position: absolute;
			bottom: 0;
			right: 0;
			width: 3vw;
			height: 3vw;

			border-radius: 50%;
			border-left: .4vw solid $gray-2;
			border-bottom: .4vw solid $gray-2;
			z-index: -1;
		}
		&-top{
			position: absolute;
			width: 100%;
			height: 2vw;

			border-top-left-radius: 2vw;
			border-top-right-radius: 2vw;
			background-image:
				linear-gradient(
					-65deg,
					$green-2 0,
					$green-2 6vw,
					$white-1 6vw,
					$white-1 6.3vw,
					$green-2 6.3vw,
					$green-2 6.5vw,
					$white-1 6.5vw,
					$white-1 7.5vw,
					$green-2 7.5vw,
					$green-2 8vw,
					$white-1 8vw
				);

			&::before{
				content: '';
				position: absolute;
				width: 100%;
				height: 2vw;
				border-top-left-radius: 2vw;
				border-top-right-radius: 1vw;
				background-image: linear-gradient(to top, rgba(#000, .1) 50%, transparent 50%);
			}
		}
	}
	/**/
	&__part{
		&-a,
		&-b,
		&-c{
			position: absolute;
			bottom: 5.8vw;
			left: 4.25vw;
			width: .7vw;
			height: 7.8vw;

			transform-origin: bottom left;
			transform: rotateZ(37deg);
			background-image: linear-gradient(to right, $white-1 .25vw, $white-2 .25vw);
		}
		&-a{ z-index: -1; }
		&-b{
			left: 13vw;
			height: 8.2vw;
			background-image: linear-gradient(to right, $green-1 .25vw, $green-2 .25vw);
			z-index: -1;
		}
		&-c{
			left: 13.2vw;
			bottom: 9vw;
			height: 6.4vw;

			&::before{
				content: '';
				position: absolute;
				width: 3vw;
				height: .7vw;
				bottom: 0;
				right: .1vw;

				transform-origin: bottom right;
				transform: rotateZ(-37deg);
				background-image: linear-gradient(to bottom, $white-1 .25vw, $white-2 .25vw);
			}
		}
		&-d{
			display: flex;
			justify-content: center;
			position: absolute;
			bottom: 5.8vw;
			left: 12vw;
			width: .9vw;
			height: 9.5vw;

			transform-origin: bottom left;
			transform: rotateZ(-30deg);
			background-image: linear-gradient(to left, $white-1 .4vw, $white-2 .4vw);
			z-index: -1;

			&::before{
				content: '';
				position: absolute;
				top: -3.5vw;
				width: .5vw;
				height: 3.5vw;

				background-image: linear-gradient(to right, $metal-2 .3vw, $metal-1 .3vw);
			}
			&::after{
				content: '';
				position: absolute;
				width: 3vw;
				height: .9vw;
				top: -4.7vw;

				border-radius: 1vw;
				transform-origin: bottom left;
				transform: rotateZ(30deg) skewX(-20deg);
				background-image: linear-gradient(to bottom, $green-2 , $green-3);
			}
		}
		&-e{
			position: absolute;
			width: .5vw;
			height: 7.2vw;
			right: 5.2vw;
			bottom: 5vw;

			transform-origin: bottom right;
			transform: rotateZ(8deg);
			background-image: linear-gradient(to right, $green-2 .25vw, $green-1 .25vw);
		}
		&-f{
			display: flex;
			justify-content: center;
			position: absolute;
			width: .5vw;
			height: 9.2vw;
			right: 5.2vw;
			bottom: 5vw;

			transform-origin: bottom right;
			transform: rotateZ(-25deg);
			background-image: linear-gradient(to right, $green-2 .25vw, $green-1 .25vw);

			&::before{
				content: '';
				position: absolute;
				width: 100%;
				height: 1.5vw;
				top: -1.5vw;

				background-image: linear-gradient(to left, $white-1 .25vw, $white-2 .25vw);
			}
			&::after{
				content: '';
				position: absolute;
				width: 80%;
				height: 1.9vw;
				top: -3.4vw;

				background-image: linear-gradient(to left, $metal-1 .25vw, $metal-2 .25vw);
			}
		}
		&-g{
			position: absolute;
			right: 10vw;
			bottom: 16.3vw;
			width: 1.75vw;
			height: 1.75vw;

			transform: rotateZ(25deg) skewY(10deg);
			border-top: .2vw solid $metal-1;
			border-right: .2vw solid $metal-1;
			box-shadow: inset -.1vw .1vw 0 $metal-2;

			&::before{
				content: '';
				position: absolute;
				width: 2.5vw;
				height: .5vw;
				transform: rotateZ(-60deg) skewY(0deg) translateY(-1vw) translateX(-1vw);

				border-radius: 1.5vw;
				background-image: linear-gradient(to bottom, $green-2 , $green-3);
			}
		}
	}
	/**/
	&__basket{
		position: absolute;
		bottom: 12vw;
		right: 4vw;
		width: 3vw;
		height: 3.5vw;

		background-color: $brown-2;
		border-top: .25vw solid $brown-1;

		box-shadow: inset 0 .25vw 0 $brown-3;

		&-a{
			position: absolute;
			width: 125%;
			bottom: 0;
			border-bottom: .25vw solid $brown-3;
			z-index: 5;

			&::before{
				content: '';
				position: absolute;
				width: 2vw;
				height: 3vw;
				left: -.5vw;
				top: -2.8vw;
				background-image: linear-gradient(70deg, $brown-3 1.35vw, transparent 1.35vw);

			}
			&::after{
				content: '';
				position: absolute;
				width: 2vw;
				height: 2.8vw;
				right: .15vw;
				top: -2.75vw;
				background-image: linear-gradient(-70deg, $brown-1 1.35vw, transparent 1.35vw);

			}

		}

		&::before{
			content: '';
			position: absolute;
			top: -.25vw;
			left: -1.75vw;
			width: 1.75vw;
			height: 3.5vw;
			border-top: .25vw solid $brown-1;
			background-image: linear-gradient(70deg, transparent 1vw, $brown-3 1vw);
		}
		&::after{
			content: '';
			position: absolute;
			top: -.25vw;
			right: -1.75vw;
			width: 1.75vw;
			height: 3.5vw;
			border-top: .25vw solid $brown-1;

			box-shadow: inset 0 .25vw 0 $brown-3;
			background-image: linear-gradient(-70deg, transparent 1vw, $brown-1 1vw);
		}
	}

}

.human{
	position: absolute;
	top: 6.5vw;
	left: 25vw;
	width: 13.5vw;
	height: 24.5vw;
	transform-origin: top left;
	animation: human .15s infinite linear;

	&__c{
		animation: human-c .15s infinite alternate;
	}

	&__head{
		position: absolute;
		right: -2vw;
		top: 2.2vw;
		width: 3.75vw;
		height: 4.5vw;
		transform: rotateZ(10deg);

		animation: human-head 6s infinite ;
	}
	&__neck{
		position: absolute;
		bottom: 0;
		width: 1.3vw;
		height: 1.9vw;

		background-image: linear-gradient(-10deg, transparent .2vw, $skin-2 .2vw,  $skin-2 .3vw, $skin-1 .6vw);
	}
	&__face-a{
		position: absolute;
		bottom: .1vw;
		right: .5vw;
		width: 2.3vw;
		height: 2vw;

		transform: rotateZ(5deg);
		border-bottom-right-radius: .5vw;
		background-image: linear-gradient(to top, $skin-2, $skin-2 .1vw, $skin-1 .4vw);
	}
	&__face-b{
		position: absolute;
		top: .6vw;
		right: .7vw;
		width: 2.4vw;
		height: 2.2vw;
		transform: rotateZ(-20deg);
		overflow: hidden;
		background-color: $skin-1;

		&::before{
			content: '';
			position: absolute;
			bottom: 20%;
			right: 40%;
			width: 3.2vw;
			height: 3.2vw;

			border-radius: 50%;
			background-image: linear-gradient(to bottom, $hair-1 , $hair-2);
			border-bottom: .25vw solid $hair-2;
		}
	}
	&__nose{
		position: absolute;
		right: .25vw;
		bottom: 35%;
		width: .9vw;
		height: .9vw;
		transform: rotateZ(-40deg);

		background-color: $skin-1;
		border-bottom: .1vw solid $skin-2;
		z-index: -1;
	}
	&__hair{
		position: absolute;
		left: .35vw;
		top: .4vw;
		width: 3.2vw;
		height: 1.1vw;
		transform: rotateZ(-25deg);
		overflow: hidden;

		animation: human-hair .1s infinite linear alternate;

		&::before{
			content: '';
			position: absolute;
			bottom: 0;
			width: 3.2vw;
			height: 3.2vw;

			border-radius: 50%;
			background-image: linear-gradient(to bottom, $hair-1 60%, $hair-2);
			border-bottom: .25vw solid $hair-2;
		}
	}
	&__ear{
		position: absolute;
		top: 1.8vw;
		left: 1.2vw;
		width: .8vw;
		height: 1vw;

		border-radius: 50%;
		transform: rotateZ(-15deg);
		background-color: $skin-1;
	}
	&__cheek{
		position: absolute;
		top: 2.3vw;
		left: 2.2vw;
		width: .8vw;
		height: .6vw;

		border-radius: 50%;
		transform: rotateZ(-15deg);
		background-color: rgba($hair-1, .35);
		filter: blur(2px);
	}
	&__mouth{
		position: absolute;
		right: .4vw;
		bottom: 20%;
		width: .8vw;
		height: .5vw;
		transform: rotateZ(5deg);
		overflow: hidden;

		&::before{
			content: '';
			position: absolute;
			bottom: 0;
			width: 	2.5vw;
			height: 1vw;
			border-radius: 50%;
			border-bottom: .2vw solid $bg-1;
		}
	}
	&__eye{
		position: absolute;
		top: 1.9vw;
		right: .65vw;
		width: .55vw;
		height: .15vw;

		background-color: $gray-3;
		border-radius: 50%;
		transform: rotateZ(-35deg);

		animation: human-eye 6s infinite ;


		&::before{
			content: '';
			position: absolute;
			width: 130%;
			height: .19vw;
			right: -.31vw;
			top: -.4vw;
			background-color: $gray-3;
			transform: skewX(-30deg);
		}
	}
	&__backpack{
		position: absolute;
		top: 5.2vw;
		left: 2.5vw;
		width: 6.5vw;
		height: 1.35vw;

		transform-origin: top left;
		transform: rotateZ(-20deg);
		border-top-right-radius: 3vw;
		border-bottom-left-radius: .5vw;
		border-bottom-right-radius: .5vw;

		background-image: linear-gradient(to bottom, $brown-3, darken($brown-3, 20)) ;

		&::before{
			content: '';
			position: absolute;
			top: -.5vw;
			width: 2.5vw;
			height: .5vw;

			border-top-right-radius: 2vw;
			border-top-left-radius: .5vw;
			background-image:
				linear-gradient(
					to right,
					darken($brown-3, 10) 30%,
					$green-2 30%,
					$green-2 40%,
					$brown-3 40%,
					$brown-3 50%,
					$green-2 50%,
				);
		}
		&::after{
			content: '';
			position: absolute;
			top: 30%;
			width: 93%;
			height: .2vw;
			background-color: $brown-2;
		}
	}
	&__chest{
		position: absolute;
		top: 7.2vw;
		left: 1vw;
		width: 10vw;
		height: 3.2vw;
		transform-origin: top left;
		transform: rotateZ(-20deg);

		border-top-right-radius: 2vw;
		border-bottom-right-radius: 1vw;
		background-image: linear-gradient(to bottom, $white-1 2vw, $white-2 );


		&::before{
			content: '';
			position: absolute;
			top: -.4vw;
			right: -2vw;
			width: 4vw;
			height: 3vw;

			transform-origin: top left;
			transform: rotateZ(30deg);
			background-image: linear-gradient(-35deg, transparent 1vw, $white-2 1vw, $white-1 2vw);

		}

		&::after{
			content: '';
			position: absolute;
			top: -.5vw;
			right: -.5vw;
			width: 7vw;
			height: 3.5vw;

			border-top-left-radius: 1vw;
			border-top-right-radius: 5vw;
			border-bottom-left-radius: 4vw;
			border-bottom-right-radius: 3vw;
			border: .4vw solid darken($brown-3, 10);
		}
	}
	&__arm-l{
		position: absolute;
		top: 5.45vw;
		left: 5.5vw;
		width: 5.5vw;
		height: 2vw;

		border-radius: 2vw;
		transform: rotateZ(-25deg);
		background-image: linear-gradient(to bottom, $skin-1 80%, $skin-2 90%);

		&::before{
			content: '';
			position: absolute;
			right: 0;
			width: 55%;
			height: 100%;
			border-top-right-radius: 2vw;
			border-bottom-right-radius: 2vw;
			background-image: linear-gradient(to bottom, $white-1 70%, $white-2 90%);
			border-left: .25vw solid $skin-2;
		}
		&-a{
			position: absolute;
			bottom: -3.5vw;
			left: -.02vw;
			width: 1.5vw;
			height: 4.5vw;

			transform-origin: top left;
			transform: rotateZ(-25deg);
			background-image: linear-gradient(100deg, $skin-1 1.55vw, transparent 1.55vw);

			&::before{
				content: '';
				position: absolute;
				bottom: -1.75vw;
				left: -.125vw;
				width: 1vw;
				height: 2vw;

				border-top-left-radius: 1.5vw;
				border-top-right-radius: 1.5vw;
				border-bottom-left-radius: 2vw;
				border-bottom-right-radius: 4vw;
				background-color: $skin-1;
			}
		}
	}
	&__arm-r{
		position: absolute;
		top: 5.45vw;
		left: 6vw;
		width: 5.5vw;
		height: 2vw;

		border-radius: 2vw;
		transform: rotateZ(-25deg);
		background-image: linear-gradient(to bottom, $skin-1 80%, $skin-2 90%);
		z-index: -5;

		&::before{
			content: '';
			position: absolute;
			right: 0;
			width: 55%;
			height: 100%;

			border-top-right-radius: 2vw;
			border-bottom-right-radius: 2vw;
			background-color: $white-1;
			border-left: .25vw solid $skin-2;
		}

		&-a{
			position: absolute;
			bottom: -3.5vw;
			left: -.02vw;
			width: 1.5vw;
			height: 4.5vw;

			transform-origin: top left;
			transform: rotateZ(-25deg);
			background-image: linear-gradient(100deg, $skin-2 1.55vw, transparent 1.55vw);

			&::before{
				content: '';
				position: absolute;
				bottom: -1.75vw;
				left: -.125vw;
				width: 1vw;
				height: 2vw;

				border-top-left-radius: 1.5vw;
				border-top-right-radius: 1.5vw;
				border-bottom-left-radius: 2vw;
				border-bottom-right-radius: 4vw;
				background-color: $skin-2;
			}
		}
	}
	&__leg-l{
		position: absolute;
		top: 8vw;
		width: 2.5vw;
		height: 10vw;

		transform-origin: top left;
		transform: rotateZ(-35deg);
		border-top-left-radius: 1vw;
		border-top-right-radius: 1vw;
		background-image: linear-gradient(-82deg, transparent .775vw, $gray-2 .775vw, $gray-2 1.75vw, $gray-3 1.75vw);

		animation: human-legg .15s infinite alternate;

		&-a{
			position: absolute;
			bottom: -5.25vw;
			right: .5vw;
			height: 6.5vw;
			width: 2.5vw;

			transform-origin: top left;
			transform: rotateZ(30deg);
			border-top-left-radius: 2vw;
			background-image: linear-gradient(82deg, transparent 1.1vw, $gray-3 1.1vw, $gray-3 2.3vw, $gray-2 2.3vw);

			&::before{
				content: '';
				position: absolute;
				bottom: -1.25vw;
				right: .1vw;
				width: .75vw;
				height: 1.25vw;

				background-image: linear-gradient(to bottom, $skin-2 .25vw, $skin-1 .25vw);
			}
			&::after{
				content: '';
				position: absolute;
				bottom: -3.5vw;
				left: 1.2vw;
				width: 4vw;
				height: 1.5vw;

				border-left: 4vw solid $gray-3;
				border-top: 1vw solid transparent;
				border-bottom: 1vw solid transparent;
				border-right: 1vw solid transparent;
				border-radius: 1vw;
				transform: rotateZ(20deg) ;
			}
		}

		&-b{
			position: absolute;
			bottom: -8.75vw;
			right: 3.9vw;
			height: .5vw;
			width: 2.5vw;

			transform: rotateZ(35deg);
			background-image: linear-gradient(to bottom, $green-2, $green-3);
		}
	}
	&__leg-r{
		position: absolute;
		top: 9vw;
		left: .5vw;
		width: 2.5vw;
		height: 10vw;
		transform-origin: top left;
		transform: rotateZ(-70deg);

		border-top-left-radius: 1vw;
		border-top-right-radius: 1vw;
		background-image: linear-gradient(-82deg, transparent .775vw, $gray-3 .775vw);
		z-index: -5;

		&-a{
			position: absolute;
			bottom: -4vw;
			right: .5vw;
			height: 6.5vw;
			width: 2.5vw;

			transform-origin: top left;
			transform: rotateZ(95deg) translateY(-2.2vw);
			border-top-left-radius: 2vw;
			background-image: linear-gradient(82deg, transparent 1.1vw, $gray-3 1.1vw);

			&::before{
				content: '';
				position: absolute;
				bottom: -1.25vw;
				right: .1vw;
				width: .75vw;
				height: 1.25vw;

				background-image: linear-gradient(to bottom, darken($skin-2, 10) .25vw, $skin-2 .25vw);
			}
			&::after{
				content: '';
				position: absolute;
				bottom: -3.5vw;
				left: 1.2vw;
				width: 4vw;
				height: 1.5vw;

				border-left: 4vw solid $gray-3;
				border-top: 1vw solid transparent;
				border-bottom: 1vw solid transparent;
				border-right: 1vw solid transparent;
				border-radius: 1vw;
				transform: rotateZ(20deg);
			}
		}
	}
}
.dog{
	position: absolute;
	bottom: 14.75vw;
	right: 3vw;
	width: 5.2vw;
	height: 4.5vw;

	animation: dog .075s infinite linear alternate;

	&__head{
		position: absolute;
		left: 2vw;
		top: .675vw;
		width: 2vw;
		height: 2.25vw;

		border-radius: 1.5vw;
		background-color: $white-1;

		&::after{
			content: '';
			position: absolute;
			top: .5vw;
			right: .4vw;
			width: .6vw;
			height: .125vw;
			border-radius: 50%;

			background-color: $gray-3;
			transform: rotateZ(-30deg);
		}
	}
	&__body{
		position: absolute;
		bottom: 0;
		left: 1.75vw;
		width: 2.5vw;
		height: 3vw;

		transition: bottom left;
		transform: rotateZ(15deg);
		background-image: linear-gradient(70deg, $white-1 2.5vw, transparent 2.5vw);
		overflow: hidden;

		&::before{
			content: '';
			position: absolute;
			right: 60%;
			bottom: 0;
			width: 2vw;
			height: 2vw;

			border-radius: 50%;
			background-image: linear-gradient(to right, $hair-1, $hair-2);
		}
	}
	&__mouth-a{
		position: absolute;
		top: 1vw;
		right: 0;
		width: 2vw;
		height: 1vw;

		transform: rotateZ(-15deg);
		border-bottom-right-radius: 1vw;
		background-color: $white-1;
		z-index: -1;

		&::before{
			content: '';
			position: absolute;
			top: 0;
			right: 0;
			width: .4vw;
			height: .3vw;
			border-radius: 1vw;
			background-color: $gray-3;
		}
	}
	&__mouth-b{
		position: absolute;
		top: 2.5vw;
		right: .2vw;
		width: 1.5vw;
		height: .5vw;

		transform: rotateZ(-15deg);
		border-bottom-right-radius: 1vw;
		background-color: $white-1;
	}

	&__ear{
		position: absolute;
		top: 1.35vw;
		width: 2.25vw;
		height: 1.45vw;

		transform: rotateZ(-15deg);
		border-top-left-radius: .25vw;
		border-bottom-left-radius: .75vw;
		background-image: linear-gradient(-10deg, transparent .25vw, $white-1 .25vw);
		overflow: hidden;

		animation: dog-ear .075s infinite linear alternate;

		&::before{
			content: '';
			position: absolute;
			bottom: 60%;
			width: 1.5vw;
			height: 1.5vw;

			border-radius: 50%;
			background-image: linear-gradient(to bottom, $hair-1, $hair-2);
		}
		&::after{
			content: '';
			position: absolute;
			bottom: 80%;
			right: 0;
			width: 1vw;
			height: 1vw;

			border-radius: 50%;
			background-image: linear-gradient(to bottom, $hair-1, $hair-2);
		}
	}
	&__tongue{
		position: absolute;
		top: 2vw;
		right: 1vw;
		width: .5vw;
		height: 1.25vw;

		background-image: linear-gradient(to top, $hair-1, $hair-2);
		transform: rotateZ(25deg);
		border-top-left-radius: 2vw;
		border-top-right-radius: 3vw;
		border-bottom-left-radius: 1.5vw;
		border-bottom-right-radius: 3vw;

		animation: dog-tongue .075s infinite linear alternate;
	}
}

.heart{
	position: absolute;
	width: 1vw;
	height: 1vw;
	right: 7vw;
	background-color: #d02323;

	transform: rotateZ(-50deg);

	animation: heart 6s infinite linear,heart-opacity 6s infinite linear;

	&::before,
	&::after{
		content: '';
		position: absolute;
		width: 1vw;
		height: 1vw;
		border-radius: 50%;
		background-color: #d02323;

	}
	&::before{
		bottom: 50%;
	}
	&::after{
		left: 50%;
	}

}
/***********/
/***********/
@keyframes bicy {
	0%, 100%{
		top: 13.5vw;
		transform: rotateZ(10deg) scaleY(1);
	}
	20%{
		top: 13.65vw;
		transform: rotateZ(10deg) scaleY(.998);
	}
	40%{
		top: 13.55vw;
		transform: rotateZ(10deg) scaleY(.9975);
	}
	60%{
		top: 13.5vw;
		transform: rotateZ(10deg) scaleY(.998);
	}
	80%{
		top: 13.6vw;
		transform: rotateZ(10deg scaleY(1));
	}
}
@keyframes human {
	0%, 100%{
		top: 6.5vw;
		left: 25vw;
	}
	20%{
		top: 6.6vw;
		left: 25vw;
	}
	40%{
		top: 6.55vw;
		left: 25vw;
	}
	60%{
		top: 6.45vw;
		left: 25vw;
	}
	80%{
		top: 6.6vw;
		left: 25vw;
	}
}

@keyframes human-head {
	0%, 70%, 100%{
		transform-origin: bottom left;
		transform: rotateZ(0);
	}
	80%, 95%{
		transform-origin: bottom left;
		transform: rotateZ(10deg);
	}
}
@keyframes human-eye {
	0%, 65%, 100%{
		height: .15vw;
		top: 1.9vw;
		transform: rotateZ(-35deg);

	}
	75%, 95%{
		height: .2vw;
		top: 2vw;
		transform: rotateZ(-20deg);

	}
}
@keyframes heart {
	0%, 75%{
		transform: translateY(0) rotateZ(-50deg)  scaleZ(0);
	}
	85%, 95%{
		transform: translateY(-2.5vw) rotateZ(-50deg) scaleZ(1);
	}
	100%{
		transform: translateY(-6vw) rotateZ(-50deg)  scaleZ(0);
	}
}
@keyframes heart-opacity {
	0%, 75%{
		opacity: 0;
	}
	85%, 90%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}
@keyframes human-hair {
	to{ transform: rotateZ(-35deg); }
}

@keyframes human-c {
	to{
		transform-origin: bottom left;
		transform: rotateZ(-.75deg);
	}
}
@keyframes human-leg {
	to{
		transform: translateY(-.1vw) rotateZ(-35deg);
	}
}
@keyframes wheel {
	to{ transform: rotateZ(1turn);}
}
@keyframes line-a {
	to{ width: 10.8vw; bottom: 19.85vw; left: 0vw; }
}
@keyframes line-b {
	to{ width: 6.9vw; bottom: 17.9vw; left: 1vw }
}
@keyframes line-c {
	to{ width: 3.9vw; bottom: 12vw; left: 0vw; }
}
@keyframes line-d {
	to{ width: 3vw; bottom: 25.95vw; left: 1vw; }
}
@keyframes shadow-a {
	to{ height: .9vw; width: 148%;}
}
@keyframes shadow-b {
	to{ height: .425vw; width: 95%;}
}
@keyframes shadow-c {
	0%{ left: 100%; opacity: 0; }
	50%{ left: 50%; opacity: 1; }
	100%{ left: 0%; opacity: 0; }
}

@keyframes dog {
	to{
		right: 3.1vw;
		bottom: 14.7vw;
	}
}
@keyframes dog-ear {
	to{
		transform-origin: top left;
		top: 1.3vw;
		transform: rotateZ(-10deg);
	}
}
@keyframes dog-tongue {
	to{
		// transform-origin: top right;
		transform: rotateZ(45deg);
		height: 1.2vw;
	}
}
View Compiled
/*
		Designed by: Svitlana Dudarenko
		Original image: https://dribbble.com/shots/5592525-Partners-in-crime
*/

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.