//- Container
.container

	//-- Social links
	.social
		ul.socialList
			li.socialList__item
				a.socialList__link(href="https://github.com/Kerthin?tab=overview&from=2021-05-01&to=2021-05-05" target="_blank")
					svg.socialList__icon(viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round")
						path(d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22")
			li.socialList__item
				a.socialList__link(href="https://codepen.io/Astap" target="_blank")
					svg.socialList__icon(viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round")
						polygon(points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2")
						line(x1="12" y1="22" x2="12" y2="15.5")
						polyline(points="22 8.5 12 15.5 2 8.5")
						polyline(points="2 15.5 12 8.5 22 15.5")
						line(x1="12" y1="2" x2="12" y2="8.5")

	//-- Home section
	section.home

		//--- Illustration
		.illustration

			//---- Illustration Blob Circle
			svg#blob-js.illustrationBlob(viewBox="0 0 1000 1000")
				path#blob__path-js.illustrationBlob__path

			//---- Illustration Bubbles Wrap
			ul.illustrationBubblesWrap
				- for (var n = 0; n < 12; n++)
					li.illustrationBubble

			//---- Illustration Dashed Frame
			- var n = 1;
			while n <= 3
				.illustrationDashedFrame(class=`dashedFrame_type${n++}`)

			//---- Illustration Circle Charts
			- var n = 1;
			while n <= 2
				.illustrationCircleChart(class=`illustrationCircleChart_type${n++}`)

			//---- Illustration Stickers
			- var n = 1;
			while n <= 2
				.illustrationSticker(class=`illustrationSticker_type${n++}`)
					ul.illustrationSticker__lineWrap
						- for (var j = 0; j < 3; j++)
							li.illustrationSticker__line

			//---- Illustration Site Layout
			.illustrationSiteLayout
				.illustrationSiteLayout__codeWrap
					.illustrationSiteLayout__scrollBox
						ul.illustrationSiteLayout__codeList
							- for (var n = 0; n < 4; n++)
								li.illustrationSiteLayout__codeItem
									- for (var j = 0; j < 7; j++)
										.illustrationSiteLayout__codeLine

			//---- Illustration Dialog
			ul.illustrationDialog
				- for (var n = 0; n < 5; n++)
					li.illustrationDialog__line

			//---- Illustration Folder
			.illustrationFolder
				ul.illustrationFolder__file
					- for (var n = 0; n < 5; n++)
						li.illustrationFolder__line

			//---- Illustration Books
			.illustrationBooks
				.illustrationBooks__book
				.illustrationBooks__book
				.illustrationBooks__book
					- for (var n = 0; n < 4; n++)
						.illustrationBooks__binding

			//---- Illustration Analytics
			.illustrationAnalytics
				.illustrationAnalyticsPanel
					.illustrationAnalyticsPanel__buttonsWrap
						each val, index in ['exit', 'minimize', 'screen']
							.illustrationAnalyticsPanel__button(class=`__button_${val}`)

				//----- Illustration Analytics	Page
				.illustrationAnalyticsPage
					.illustrationAnalyticsPage__container

						//------ Illustration Analytics Diagram
						ul.illustrationAnalyticsPage__diagramWrap
							- for (var n = 0; n < 4; n++)
								li.illustrationAnalyticsPage__diagram

						//------ Illustration Analytics Banner
						.illustrationAnalyticsPage__banner

							//------- Illustration Analytics Description
							ul.illustrationAnalyticsPage__lineWrap
								- for (var n = 0; n < 8; n++)
									li.illustrationAnalyticsPage__line

							//------- Illustration Analytics Product List
							ul.illustrationAnalyticsPage__productList
								- for (var n = 0; n < 4; n++)
									li.illustrationAnalyticsPage__productItem
										.illustrationAnalyticsPage__productImg
										ul.illustrationAnalyticsPage__productLineWrap
											- for (var j = 0; j < 3; j++)
												li.illustrationAnalyticsPage__productLine

			//---- Illustration Imac
			.illustrationImac
				//----- Illustration Imac Display
				.illustrationImac__display

					//------ Illustration Imac Editor
					.illustrationImacEditor
						.illustrationImacEditorPanel

						//------- Illustration Imac	Editor Code
						.illustrationImacEditorCodeWrap
							.illustrationImacEditorCodeWrap__scrollBox
								- for (var n = 0; n < 2; n++)
									ul.illustrationImacEditorCodeWrap__codeList
										- for (var j = 0; j < 6; j++)
											li.illustrationImacEditorCodeWrap__codeItem
												- for (var x = 0; x < 10; x++)
													.illustrationImacEditorCodeWrap__codeLine

					//------ Illustration Imac Browser
					.illustrationImacBrowser

						//------- Illustration Imac Browser Panel
						.illustrationImacBrowserPanel
							.illustrationImacBrowserPanel__buttonsWrap
								each val, index in ['exit', 'minimize', 'screen']
									.illustrationImacBrowserPanel__button(class=`__button_${val}`)

						//------- Illustration Imac Browser Page
						.illustrationImacBrowserPage
							.illustrationImacBrowserPage__container

								//-------- Illustration Imac Browser Header
								header.illustrationImacBrowserPage__header
									ul.illustrationImacBrowserPage__nav
										- for (var n = 0; n < 4; n++)
											li.illustrationImacBrowserPage__navItem

								//-------- Illustration Imac Browser Main
								section.illustrationImacBrowserPage__main
									.illustrationImacBrowserPage__banner
										.illustrationImacBrowserPage__img
										ul.illustrationImacBrowserPage__lineWrap
											- for (var n = 0; n < 4; n++)
												li.illustrationImacBrowserPage__line

								//-------- Illustration Imac Browser Footer
								footer.illustrationImacBrowserPage__footer
									ul.illustrationImacBrowserPage__productList
										- for (var n = 0; n < 3; n++)
											li.illustrationImacBrowserPage__productItem
												.illustrationImacBrowserPage__productImg
												ul.illustrationImacBrowserPage__productLineWrap
													- for (var j = 0; j < 2; j++)
														li.illustrationImacBrowserPage__productLine

					//------ Picture
					.picture
						.picture__dayWrap
							.picture__sun
							.picture__moon
						.picture__mountainsWrap
							- for (var n = 0; n < 3; n++)
								.picture__mountain

					//------ Avatar
					.avatarWrap
						.avatar

							//------- Head
							.headWrap
								//-------- Hair
								.hair
									.hair__leftSide
										- for (var n = 0; n < 3; n++)
											.blink
									.hair__rightSide

								//-------- Ears
								.ears
									.ear
									.ear

								//-------- Face
								.face
									//--------- Top Face
									.eyebrows
										.eyebrows__brow
										.eyebrows__brow
										.eyebrows__shadow
									//--------- Middle Face
									.eyes
									.glasses
										each val, index in ['left', 'right']
											div(class=`${val}`)
												.lens
													.shine
									//--------- Bottom Face
									.nose
									.arm
										each val, index in ['pharynx', 'tooth', 'tongue']
											div(class=`arm__${val}`)

								//-------- Neck
								.neck

							//------- Body
							.bodyWrap
								.bodyWrap__body
									.collar
										.shirt
										.button
										.button
								//-------- Bow
								.bowWrap
									each val, index in ['bowShadow', 'bow', 'crease']
										div(class=`bowWrap__${val}`)

				//----- Illustration Imac Panel
				.illustrationImac__panel
					.illustrationImac__panelButton

				//----- Illustration Imac Stand
				.illustrationImac__stand
					.illustrationImac__standShadow
					.illustrationImac__standBase

			//---- Illustration Presentation
			.illustrationPresentation
				//----- Illustration Presentation Panel
				.illustrationPresentationPanel
					.illustrationPresentationPanel__buttonsWrap
						each val, index in ['exit', 'minimize', 'screen']
							.illustrationPresentationPanel__button(class=`__button_${val}`)

				//----- Illustration Presentation Page
				.illustrationPresentationPage
					.illustrationPresentationPage__container

						//------ Illustration Presentation Banner
						.illustrationPresentationPage__banner
							.illustrationPresentationPage__img
								//------- Picture
								.picture
									.picture__dayWrap
										.picture__sun
										.picture__moon
									.picture__mountainsWrap
										- for (var n = 0; n < 3; n++)
											.picture__mountain
							ul.illustrationPresentationPage__lineWrap
								- for (var n = 0; n < 6; n++)
									li.illustrationPresentationPage__line

						//------ Illustration Presentation Form
						.illustrationPresentationPage__form
							.illustrationPresentationPage__input
							.illustrationPresentationPage__input

			//---- Illustration Settings
			.illustrationSettings
				.illustrationSettings__container

					//----- Illustration Settings Gear
					.illustrationSettings__gearWrap
						.illustrationSettings__gear
							svg(viewBox="-208 -208 300 300")
								defs
									line#tooth(x1="-2" x2="26")
								g.teeth
									- var n = 0;
									- var angle = 45;
									while n < 8
										g(transform=`rotate(${n++ * angle})`)
											use(xlink:href="#tooth" x="85")
						.illustrationSettings__gearCircle

					//----- Illustration Settings Line
					ul.illustrationSettings__lineWrap
						- for (var n = 0; n < 4; n++)
							li.illustrationSettings__line
View Compiled
/*____________________________________________________________

# @import
	## @import reset.scss
# Variables
	## Regular color variables
	## Compound color variables
	## Screen size variables
# Extends
	## Position centering extends
# Mixins
	## Media queries mixin
	## Animation delay mixin
# Auxiliary styles
# Container
	## Social links
	## Home section
		### Illustration
			#### Illustration Blob Circle
			#### Illustration Bubbles Wrap
			#### Illustration Dashed Frame
			#### Illustration Circle Charts
			#### Illustration Stickers
			#### Illustration Site Layout
			#### Illustration Dialog
			#### Illustration Folder
			#### Illustration Books
			#### Illustration Analytics
				##### Illustration Analytics Page
					###### Illustration Analytics Diagram
					###### Illustration Analytics Banner
						####### Illustration Analytics Description
						####### Illustration Analytics Product List
			#### Illustration Imac
				##### Illustration Imac Display
					###### Illustration Imac Editor
						####### Illustration Imac Editor Code
					###### Illustration Imac Browser
						####### Illustration Imac Browser Panel
						####### Illustration Imac Browser Page
							######## Illustration Imac Browser Header
							######## Illustration Imac Browser Main
							######## Illustration Imac Browser Footer
					###### Avatar
						####### Head
							######## Hair
							######## Ears
							######## Face
								######### Top Face
								######### Middle Face
								######### Bottom Face
							######## Neck
						####### Body
							######## Bow
				##### Illustration Imac Panel
				##### Illustration Imac Stand
			#### Illustration Presentation	
				##### Illustration Presentation Panel
				##### Illustration Presentation Page
					###### Illustration Presentation Banner
						####### Picture
					###### Illustration Presentation Form
			#### Illustration Settings
				##### Illustration Settings Gear
				##### Illustration Settings Line
# Animation Pack

____________________________________________________________*/

/*____________________________________________________________
# @import
____________________________________________________________*/
/*____________________________________________________________
## @import reset.scss
____________________________________________________________*/
// @import '../../bower_components/reset-scss/reset.scss';
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}
// HTML5 display-role reset for older browsers
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*____________________________________________________________
# Variables
____________________________________________________________*/
/*____________________________________________________________
## Regular color variables
____________________________________________________________*/
// First number color
$x-color-black: #000;
$x-color-dark-blue: #01243a;
$x-color-dark-greenish-blue: #0b3442;
$x-color-blackish-blue: #171b25;
$x-color-dark-grey-blue: #272f3a;
$x-color-lime-green: #29c740;
$x-color-granite: #2a333c;
$x-color-dark-cyanide: #2c8291;
$x-color-cyanide: #37a4b8;
$x-color-slate-grey: #3e4955;
$x-color-graphite-grey: #4c5259;
$x-color-wet-asphalt: #626a73;
$x-color-aquamarine: #7dcbd8;
$x-color-deep-red-brown: #480a16;
$x-color-flea-belly: #4d160e;
$x-color-marengo: #4d5c68;
$x-color-moderate-turquoise: #57c2cb;
$x-color-falun-red: #5f140e;
$x-color-dark-red: #732124;
$x-color-pearl-ruby: #7a1635;
$x-color-manatee: #889ea6;
$x-color-coral-red: #8c250e;
$x-color-vinous: #9b2d30;

// First letter color
$x-color-snow-blue: #a3d9e3;
$x-color-cadet-blue: #a4b4ba;
$x-color-niagara: #b0b7c6;
$x-color-silver: #c0c0c0;
$x-color-grideperlevy: #c3cdd1;
$x-color-grey-silk: #c6b69d;
$x-color-deep-orange: #c74b16;
$x-color-light-cyanide: #cceaf0;
$x-color-periwinkle: #cfdce5;
$x-color-light-cherry: #dd3e62;
$x-color-gainsborough: #e1e6e8;
$x-color-tomato: #ee6648;
$x-color-beige: #f7e0b5;
$x-color-lemon-cream: #fafac3;
$x-color-shiny-orange: #febc2e;
$x-color-amber: #fec712;
$x-color-orange-dawn: #ff5f56;
$x-color-white: #fff;

/*____________________________________________________________
## Compound color variables
____________________________________________________________*/
$palette-primary: $x-color-vinous;
$palette-secondary: $x-color-beige;
$palette-tertiary: $x-color-aquamarine;

$palette-button-exit: $x-color-orange-dawn;
$palette-button-minimize: $x-color-shiny-orange;
$palette-button-screen: $x-color-lime-green;

$palette-bubble-type-1: $x-color-aquamarine;
$palette-bubble-type-2: $x-color-granite;
$palette-bubble-type-3: $x-color-tomato;

$palette-chart-type-1: $x-color-tomato;
$palette-chart-type-2: $x-color-granite;

$palette-window-line: $x-color-light-cyanide;

$palette-folder-shadow: $x-color-dark-cyanide;

$palette-settings-elements: $x-color-dark-cyanide;

$palette-analytics-elements: $x-color-snow-blue;

$palette-dialog: $x-color-snow-blue;

$palette-site-layout: $x-color-snow-blue;

$palette-imac-display-gradient: $x-color-snow-blue;
$palette-imac-browser-elements: $x-color-silver;
$palette-imac-browser-line: $x-color-granite;

$palette-program-panel: $x-color-granite;

$palette-skin: $x-color-deep-orange;
$palette-skin-shadow: $x-color-falun-red;
$palette-hair-blink: $x-color-dark-greenish-blue;
$palette-hair-shadow: $x-color-dark-blue;
$palette-costume-elements: $x-color-marengo;
$palette-bow-elements: $x-color-dark-red;

/*____________________________________________________________
## Screen size variables
____________________________________________________________*/
$media-screen-1824: 1824px;
$media-screen-1680: 1680px;
$media-screen-1600: 1600px;
$media-screen-1440: 1440px;
$media-screen-1366: 1366px;
$media-screen-1280: 1280px;
$media-screen-1120: 1120px;
$media-screen-1024: 1024px;

$media-screen-960: 960px;
$media-screen-848: 848px;
$media-screen-768: 768px;
$media-screen-720: 720px;
$media-screen-642: 642px;
$media-screen-480: 480px;

$media-screen-410: 410px;
$media-screen-375: 375px;
$media-screen-360: 360px;
$media-screen-320: 320px;

/*____________________________________________________________
# Extends
____________________________________________________________*/
/*____________________________________________________________
## Position centering extends
____________________________________________________________*/
%verticalCentering {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

%horizontalCentering {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

%centering {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*____________________________________________________________
# Mixins
____________________________________________________________*/
/*____________________________________________________________
## Media queries mixin
____________________________________________________________*/
@mixin media-screen($media) {
	@if $media == 1824 {
		@media only screen and (max-width: $media-screen-1824) { @content; }
	}
	@else if $media == 1680 {
		@media only screen and (max-width: $media-screen-1680) { @content; }
	}
	@else if $media == 1600 {
		@media only screen and (max-width: $media-screen-1600) { @content; }
	}
	@else if $media == 1440 {
		@media only screen and (max-width: $media-screen-1440) { @content; }
	}
	@else if $media == 1366 {
		@media only screen and (max-width: $media-screen-1366) { @content; }
	}
	@else if $media == 1280 {
		@media only screen and (max-width: $media-screen-1280) { @content; }
	}
	@else if $media == 1120 {
		@media only screen and (max-width: $media-screen-1120) { @content; }
	}
	@else if $media == 1024 {
		@media only screen and (max-width: $media-screen-1024) { @content; }
	}

	@else if $media == 960 {
		@media only screen and (max-width: $media-screen-960) { @content; }
	}
	@else if $media == 848 {
		@media only screen and (max-width: $media-screen-848) { @content; }
	}
	@else if $media == 768 {
		@media only screen and (max-width: $media-screen-768) { @content; }
	}
	@else if $media == 720 {
		@media only screen and (max-width: $media-screen-720) { @content; }
	}
	@else if $media == 642 {
		@media only screen and (max-width: $media-screen-642) { @content; }
	}
	@else if $media == 480 {
		@media only screen and (max-width: $media-screen-480) { @content; }
	}
	
	@else if $media == 414 {
		@media only screen and (max-width: $media-screen-410) { @content; }
	}
	@else if $media == 375 {
		@media only screen and (max-width: $media-screen-375) { @content; }
	}
	@else if $media == 360 {
		@media only screen and (max-width: $media-screen-360) { @content; }
	}
	@else if $media == 320 {
		@media only screen and (max-width: $media-screen-320) { @content; }
	}
}

/*____________________________________________________________
## Animation delay mixin
____________________________________________________________*/
@mixin animDelayChild($nthChild, $delay) {
	&:nth-child(#{$nthChild}) {
		&:after {
			animation-delay: #{$delay}s;
		}
	}
}

/*____________________________________________________________
# Auxiliary styles
____________________________________________________________*/
::-webkit-scrollbar {
	width: 0;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.__button_exit {
	background-color: $palette-button-exit;
}
.__button_minimize {
	background-color: $palette-button-minimize;
}
.__button_screen {
	background-color: $palette-button-screen;
}

/*____________________________________________________________
# Container
____________________________________________________________*/
.container {
	width: 100%;
}

/*____________________________________________________________
## Social links
____________________________________________________________*/
.social {
	position: fixed;
	left: 40px;
	bottom: 0;
	width: 20px;
	height: 100px;
	z-index: 10;
}
.socialList {
	width: 100%;
	
	&:after {
		content: '';
		display: block;
		margin: 0 auto;
		width: 1px;
		height: 40px;
		background: #f7e0b5;
	}
}
.socialList__item {
	margin-bottom: 10px;
	width: 20px;
	height: 20px;
	transition: transform .2s;
	
	&:hover {
		transform: translateY(-3px);
		
		.socialList__icon {
			stroke: #7dcbd8;
		}
	}
}

.socialList__icon {
	fill: none;
	stroke: #f7e0b5;
}

/*____________________________________________________________
## Home section
____________________________________________________________*/
.home {
	position: relative;
	width: 100%;
	height: 100vh;
	background-color: $palette-primary;
}

/*____________________________________________________________
### Illustration
____________________________________________________________*/
.illustration {
	@extend %centering;
	width: 893px;
	height: 600px;
	overflow: hidden;

  &:after {
		content: '';
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 3px;
		border-radius: 3px;
		background-color: $x-color-granite;
	}
}

/*____________________________________________________________
#### Illustration Blob Circle
____________________________________________________________*/
.illustrationBlob {
	position: absolute;
	width: 893px;
	height: 893px;
}
.illustrationBlob__path {
	position: absolute;
	fill: $palette-secondary;
}

/*____________________________________________________________
#### Illustration Bubbles Wrap
____________________________________________________________*/
.illustrationBubblesWrap {
	width: 100%;
	height: 100%;
}

.illustrationBubble  {
	position: absolute;
	border-radius: 50%;
	background-color: $palette-tertiary;
	animation: levitation 5s linear infinite;

	@mixin bubbleChild($nthChild, $top, $left, $width, $height, $bg, $delay) {
		&:nth-child(#{$nthChild}) {
			top: #{$top}px;
			left: #{$left}px;
			width: #{$width}px;
			height: #{$height}px;
			background-color: #{$bg};
			animation-delay: #{$delay}s;
		}
	}

	@include bubbleChild(1, 535, 310, 16, 16, $palette-bubble-type-1, 0);
	@include bubbleChild(2, 370, 150, 12, 12, $palette-bubble-type-1, .3);
	@include bubbleChild(3, 240, 50, 16, 16, $palette-bubble-type-2, .6);
	@include bubbleChild(4, 180, 2, 10, 2, $palette-bubble-type-1, 0);
	@include bubbleChild(5, 140, 275, 20, 20, transparent, 1.2);
	@include bubbleChild(6, 50, 420, 12, 12, $palette-bubble-type-1, 1.5);
	@include bubbleChild(7, 10, 510, 10, 10, $palette-bubble-type-1, 1.8);
	@include bubbleChild(8, 30, 640, 6, 6, $palette-bubble-type-2, 2.1);
	@include bubbleChild(9, 75, 700, 10, 2, $palette-bubble-type-1, 2.4);
	@include bubbleChild(10, 220, 780, 16, 16, $palette-bubble-type-1, 2.7);
	@include bubbleChild(11, 300, 730, 6, 6, $palette-bubble-type-3, 3);
	@include bubbleChild(12, 550, 630, 10, 2, $palette-bubble-type-2, 3.3);

	&:nth-child(4) {
		animation: none;
	}

	&:nth-child(4),
	&:nth-child(9),
	&:nth-child(12) {
		border-radius: 1px;
	}

	&:nth-child(4):before,
	&:nth-child(9):before,
	&:nth-child(12):before {
		content: '';
		position: absolute;
		top: -4px;
		left: 4px;
		width: 2px;
		height: 10px;
		border-radius: 1px;
		background-color: $palette-bubble-type-1;
	}

	&:nth-child(5) {
		border: 3px solid $palette-bubble-type-1;
	}

	&:nth-child(12):before {
		background-color: $palette-bubble-type-2;
	}
}


/*____________________________________________________________
#### Illustration Dashed Frame
____________________________________________________________*/
.illustrationDashedFrame {
	position: absolute;
	border: 2px dashed $x-color-cyanide;
	border-radius: 5px;
}

@mixin dashedFrameType($nthType, $top, $left, $width, $height) {
	.dashedFrame_type#{$nthType} {
		top: #{$top}px;
		left: #{$left}px;
		width: #{$width}px;
		height: #{$height}px;
	}
}

@include dashedFrameType(1, 292, 130, 116, 243);
@include dashedFrameType(2, 100, 210, 130, 130);
@include dashedFrameType(3, 210, 673, 170, 210);

/*____________________________________________________________
#### Illustration Circle Charts
____________________________________________________________*/
.illustrationCircleChart,
.illustrationCircleChart_type1:before,
.illustrationCircleChart_type2,
.illustrationCircleChart_type2:before,
.illustrationCircleChart_type2:after {
	position: absolute;
	border-radius: 50%;
}

.illustrationCircleChart_type1 {
	top: 250px;
	left: 90px;
	border-right: 30px solid transparent;
	border-top: 30px solid $palette-tertiary;
	border-left: 30px solid $palette-tertiary;
	border-bottom: 30px solid $palette-tertiary;
	animation: rotateRays 7s linear infinite;

  &:before {
		content: '';
		top: -30px;
		left: -24px;
		border-right: 30px solid $palette-chart-type-1;
		border-top: 30px solid transparent;
		border-left: 30px solid transparent;
		border-bottom: 30px solid transparent;
	}
}

.illustrationCircleChart_type2 {
	top: 280px;
	right: 30px;
	border-right: 35px solid transparent;
	border-top: 35px solid $x-color-tomato;
	border-left: 35px solid transparent;
	border-bottom: 35px solid $x-color-tomato;
	animation: rotateRays 7s linear infinite;

  &:before {
		content: '';
		top: -35px;
		left: -30px;
		border-right: 35px solid $palette-chart-type-2;
		border-top: 35px solid transparent;
		border-left: 35px solid transparent;
		border-bottom: 35px solid transparent;
	}
	&:after {
		content: '';
		top: -35px;
		right: -30px;
		border-right: 35px solid transparent;
		border-top: 35px solid transparent;
		border-left: 35px solid $palette-chart-type-2;
		border-bottom: 35px solid transparent;
	}
}

/*____________________________________________________________
#### Illustration Stickers
____________________________________________________________*/
.illustrationSticker {
	position: absolute;
	padding: 10px 7px;
	width: 60px;
	height: 35px;
	overflow: hidden;

  &:before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		border-width: 0 16px 16px 0;
		border-style: solid;
		display: block;
		width: 0;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3),
								-1px 1px 1px rgba(0, 0, 0, 0.2);
	}
}


@mixin stickerType($nthType, $top, $left, $bg) {
	.illustrationSticker_type#{$nthType} {
		top: #{$top}px;
		left: #{$left}px;
		background-color: #{$bg};

		&:before {
			border-color: #f7e0b5 #f7e0b5 #{$bg} #{$bg};
		}
	}
}

@include stickerType(1, 125, 320, $palette-tertiary);
@include stickerType(2, 75, 300, $x-color-tomato);

.illustrationSticker_type1 {
	transform: rotate(10deg);
}

.illustrationSticker__lineWrap {
	width: 28px;
	height: 15px;
	list-style: none;
}
.illustrationSticker__line {
	position: relative;
	margin-bottom: 3px;
	width: 100%;
	height: 3px;
	overflow: hidden;

	&:nth-child(2) {
		&:after {
			animation-delay: .1s;
		}
	}
	&:nth-child(3) {
		&:after {
			animation-delay: .2s;
		}
	}

	&:last-child {
		margin-bottom: 0;
		width: 70%;
	}
	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $x-color-white;
		animation: slide 3.5s ease infinite;
	}
}

/*____________________________________________________________
#### Illustration Site Layout
____________________________________________________________*/
.illustrationSiteLayout {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 90px;
	height: 85px;
	border: 2px solid $palette-site-layout;
	border-radius: 5px;
	animation: levitation 5s linear infinite 3.2s;

	&:before,
	&:after {
		content: '';
		position: absolute;
		border: solid $palette-site-layout;
	}
	&:before {
		width: 100%;
		height: 20px;
		border-width: 0 0 2px 0;
	}
	&:after {
		top: 20px;
		width: 20px;
		height: calc(100% - 20px);
		border-width: 0 2px 0 0;
	}
}

.illustrationSiteLayout__codeWrap {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 3px 6px 3px 8px;
	width: calc(100% - 20px);
	height: calc(100% - 22px);
}

.illustrationSiteLayout__scrollBox {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.illustrationSiteLayout__codeList {
	position: absolute;
	width: 100%;
	list-style: none;
	animation: scrollCode .9s linear infinite;
}
.illustrationSiteLayout__codeItem {
	position: relative;
	margin-bottom: 2px;
	width: 100%;
	height: 18px;
}
.illustrationSiteLayout__codeLine {
	position: absolute;
	height: 2px;
	background-color: $palette-site-layout;
	overflow: hidden;

	@mixin siteLayoutLineChild($nthChild, $top, $left, $width) {
		&:nth-child(#{$nthChild}) {
			top: #{$top}px;
			left: #{$left};
			width: #{$width};
		}
	}

	@include siteLayoutLineChild(1, 0, 0, 90%);
	@include siteLayoutLineChild(2, 4, 0, 70%);
	@include siteLayoutLineChild(3, 8, 0, 50%);
	@include siteLayoutLineChild(4, 12, 0, 20%);
	@include siteLayoutLineChild(5, 12, 30%, 60%);
	@include siteLayoutLineChild(6, 16, 0, 50%);
	@include siteLayoutLineChild(7, 16, 60%, 15%);
}

/*____________________________________________________________
#### Illustration Dialog
____________________________________________________________*/
.illustrationDialog {
	position: absolute;
	top: 90px;
	right: 170px;
	padding: 8px 14px;
	width: 78px;
	height: 45px;
	background-color: $palette-dialog;
	animation: levitation 5s linear infinite .8s;

	&:before {
		content: '';
		position: absolute;
		left: 10px;
		bottom: -10px;
		width: 0; 
		height: 0;
		border-top: 10px solid $palette-dialog;
		border-right: 10px solid transparent;
	}
}
.illustrationDialog__line {
	position: relative;
	margin-bottom: 3px;
	width: 100%;
	height: 3px;
	overflow: hidden;

	&:nth-child(2) {
		width: 70%;
	}
	&:nth-child(4) {
		width: 60%;
	}
	&:nth-child(5) {
		width: 90%;
	}
	&:last-child {
		margin-bottom: 0;
	}

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $x-color-white;
		animation: slide 3.5s ease infinite;
	}

	@include animDelayChild(2, .1);
	@include animDelayChild(3, .2);
	@include animDelayChild(4, .3);
	@include animDelayChild(5, .35);
}

/*____________________________________________________________
#### Illustration Folder
____________________________________________________________*/
.illustrationFolder {
	position: absolute;
	top: 350px;
	left: 50px;
	width: 47px;
	height: 31px;
	border-radius: 1px 0 1px 1px;
	background-color: $palette-folder-shadow;
	animation: levitation 5s linear infinite 1.4s;

	&:before {
		content: '';
		position: absolute;
		top: -4px;
		right: 0;
		width: 10px;
		height: 4px;
		border-radius: 1px 1px 0 0;
		background-color: $palette-folder-shadow;
	}
	&:after {
		content: '';
		position: absolute;
		left: -5px;
		bottom: 0;
		width: 47px;
		height: 31px;
		border-radius: 1px;
		background-color: $palette-tertiary;
		animation: openFolder 3.5s ease infinite;
	}
}

.illustrationFolder__file {
	position: absolute;
	left: 4px;
	bottom: 0;
	padding: 4px 2px;
	width: 29px;
	height: 35px;
	border-radius: 1px;
	background-color: $x-color-white;
	animation: openFile 3.5s ease infinite;
}
.illustrationFolder__line {
	position: relative;
	margin-bottom: 2px;
	width: 100%;
	height: 1px;
	overflow: hidden;

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $x-color-granite;
		animation: slide 3.5s ease infinite;
	}

	@include animDelayChild(2, .1);
	@include animDelayChild(3, .2);
	@include animDelayChild(4, .3);
	@include animDelayChild(5, .4);
}

/*____________________________________________________________
#### Illustration Books
____________________________________________________________*/
.illustrationBooks {
	position: absolute;
	left: 70px;
	bottom: 0;
	width: 164px;
	height: 86px;
}
.illustrationBooks__book {
	position: absolute;

	&:nth-child(1) {
		left: 5px;
		width: 132px;
		height: 28px;
		border: solid $x-color-tomato;
		border-width: 4px 0 4px 4px;
		border-radius: 20px 0 0 20px;
		background: repeating-linear-gradient(0deg, $x-color-white, $x-color-white 4px, #e6e6e6 4px, #e6e6e6 5px);
	}
	&:nth-child(2) {
		top: 28px;
		right: 0;
		width: 146px;
		height: 31px;
		border: solid $palette-tertiary;
		border-width: 4px 4px 4px 0;
		border-radius: 0 20px 20px 0;
		background: repeating-linear-gradient(0deg, $x-color-white, $x-color-white 4px, #e6e6e6 4px, #e6e6e6 5px);
	}
	&:nth-child(3) {
		bottom: 0;
		width: 132px;
		height: 27px;
		background-color: $x-color-tomato;
	}
}

.illustrationBooks__binding {
	position: absolute;
	width: 6px;
	height: 100%;
	background-color: $x-color-coral-red;

	&:nth-child(1) {
		left: 10px;
	}
	&:nth-child(2) {
		left: 20px;
	}
	&:nth-child(3) {
		right: 20px;
	}
	&:nth-child(4) {
		right: 10px;
	}
}

/*____________________________________________________________
#### Illustration Analytics
____________________________________________________________*/
.illustrationAnalytics {
	position: absolute;
	bottom: 25px;
	right: 10px;
	width: 215px;
	height: 180px;
	border-radius: 2px;
	background-color: $x-color-white;
	overflow: hidden;
	animation: levitation 5s linear infinite;
}

.illustrationAnalyticsPanel {
	position: relative;
	width: 100%;
	height: 20px;
	background-color: $palette-program-panel;
}
.illustrationAnalyticsPanel__buttonsWrap {
	position: absolute;
	top: 6px;
	left: 10px;
	height: 8px;
}
.illustrationAnalyticsPanel__button {
	float: left;
	margin-right: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

/*____________________________________________________________
##### Illustration Analytics Page
____________________________________________________________*/
.illustrationAnalyticsPage {
	padding: 8px;
	width: 100%;
	height: calc(100% - 20px);
}
.illustrationAnalyticsPage__container {
	width: 100%;
	height: 100%;
}

/*____________________________________________________________
###### Illustration Analytics Diagram
____________________________________________________________*/
.illustrationAnalyticsPage__diagramWrap  {
	float: left;
	padding-top: 20%;
	margin-right: 10px;
	width: 90px;
	height: 100%;
	list-style: none;
}
.illustrationAnalyticsPage__diagram {
	position: relative;
	float: left;
	margin-right: 10px;
	width: 15px;
	height: 100%;
	border-radius: 1px;
	overflow: hidden;

	&:last-child {
		margin-right: 0;
	}

	&:after {
		content: '';
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 10%;
		background-color: $palette-analytics-elements;
		animation: lineDiagram 2.8s ease infinite;
	}

	@include animDelayChild(2, .6);
	@include animDelayChild(3, .3);
	@include animDelayChild(4, .9);
}

/*____________________________________________________________
###### Illustration Analytics Banner
____________________________________________________________*/
.illustrationAnalyticsPage__banner {
	float: left;
	width: calc(100% - 100px);
	height: 100%;
}

/*____________________________________________________________
####### Illustration Analytics Description
____________________________________________________________*/
.illustrationAnalyticsPage__lineWrap {
	margin-bottom: 17px;
	width: 100%;
	height: 87px;
	list-style: none;
}
.illustrationAnalyticsPage__line {
	position: relative;
	margin-bottom: 5px;
	width: 100%;
	height: 3px;
	border-radius: 3px;
	overflow: hidden;

	&:first-child {
		width: 60%;
		height: 6px;
		margin-bottom: 8px;
	}
	&:nth-child(5),
	&:nth-child(6),
	&:nth-child(7) {
		width: 70%;
	}
	&:last-child {
		height: 27px;
		margin-bottom: 0;
		border-radius: 1px;
		background-color: $palette-window-line;
	}

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-window-line;
		animation: slide 3.5s ease infinite;
	}

	@include animDelayChild(1, .1);
	@include animDelayChild(2, .2);
	@include animDelayChild(3, .3);
	@include animDelayChild(4, .35);
	@include animDelayChild(5, .4);
	@include animDelayChild(6, .45);
	@include animDelayChild(7, .5);

	&:last-child {
		&:after {
			animation: none;
		}
	}
}

/*____________________________________________________________
####### Illustration Analytics Product List
____________________________________________________________*/
.illustrationAnalyticsPage__productList {
	width: 100%;
	height: calc(100% - 104px);
	list-style: none;
}

.illustrationAnalyticsPage__productItem {
	float: left;
	margin-bottom: 10px;
	margin-right: 5px;
	width: 47px;
	height: 15px;

  &:nth-child(2n)  {
		margin-right: 0;
	}

	&:nth-child(3),
	&:nth-child(4) {
		.illustrationAnalyticsPage__productImg {
			background-color: $palette-analytics-elements;
		}
	}
}

.illustrationAnalyticsPage__productImg {
	float: left;
	margin-right: 5px;
	width: 15px;
	height: 15px;
	border-radius: 1px;
	background-color: $palette-window-line;
}

.illustrationAnalyticsPage__productLineWrap {
	float: left;
	width: calc(100% - 20px);
	height: 15px;
	list-style: none;
}
.illustrationAnalyticsPage__productLine {
	position: relative;
	margin-bottom: 3px;
	width: 100%;
	height: 3px;
	border-radius: 3px;
	overflow: hidden;

	&:nth-child(2),
	&:last-child {
		width: 70%;
	}
	&:last-child {
		margin-bottom: 0;
	}

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-window-line;
		animation: slide 3.5s ease infinite;
	}

	@include animDelayChild(1, .1);
	@include animDelayChild(2, .2);
	@include animDelayChild(3, .3);
}

/*____________________________________________________________
#### Illustration Imac
____________________________________________________________*/
.illustrationImac {
	@extend %horizontalCentering;
	bottom: 147px;
	width: 482px;
	height: 266px;
}

/*____________________________________________________________
##### Illustration Imac Display
____________________________________________________________*/
.illustrationImac__display {
	position: relative;
	width: 100%;
	height: 100%;
	border: 9px solid $x-color-granite;
	border-radius: 10px 10px 0 0;
	background: repeating-linear-gradient(90deg, $palette-tertiary, $palette-tertiary 24px, $palette-imac-display-gradient 24px, $palette-imac-display-gradient 34px);
}

/*____________________________________________________________
###### Illustration Imac Editor
____________________________________________________________*/
.illustrationImacEditor {
	position: absolute;
	bottom: 9px;
	left: 30px;
	width: 180px;
	height: 116px;
	background-color: $x-color-white;
}

.illustrationImacEditorPanel {
	width: 100%;
	height: 10px;
	background-color: $palette-program-panel;
}

/*____________________________________________________________
####### Illustration Imac Editor Code
____________________________________________________________*/
.illustrationImacEditorCodeWrap {
	position: relative;
	padding: 6px;
	width: 100%;
	height: calc(100% - 10px);
	background-color: $x-color-graphite-grey;
}
.illustrationImacEditorCodeWrap__scrollBox {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

@mixin editorCodeLineChild($nthChild, $top, $side, $sideInent, $width, $bg) {
	&:nth-child(#{$nthChild}) {
		top: #{$top}px;
		#{$side}: #{$sideInent}px;
		width: #{$width}px;
		background-color: #{$bg};
	}
}
.illustrationImacEditorCodeWrap__codeList {
	position: absolute;
	width: 50%;
	list-style: none;
	animation: scrollCode .9s linear infinite;

	&:first-child {
		border-right: 1px solid $x-color-wet-asphalt;

		.illustrationImacEditorCodeWrap__codeLine {
			@include editorCodeLineChild(1, 0, left, 0, 20, $x-color-tomato);
			@include editorCodeLineChild(2, 0, left, 24, 45, $x-color-tomato);
			@include editorCodeLineChild(3, 4, left, 10, 21, $x-color-white);
			@include editorCodeLineChild(4, 4, left, 35, 25, $x-color-white);
			@include editorCodeLineChild(5, 8, left, 0, 22, #78dbe2);
			@include editorCodeLineChild(6, 8, left, 26, 14, #78dbe2);
			@include editorCodeLineChild(7, 12, right, 40, 22, #ADFF2F);
			@include editorCodeLineChild(8, 12, right, 16, 20, #ADFF2F);
			@include editorCodeLineChild(9, 16, right, 18, 30, $x-color-white);
			@include editorCodeLineChild(10, 16, right, 6, 8, $x-color-white);
		}
	}
	&:last-child {
		right: 0;
		animation-duration: 1.3s;

		.illustrationImacEditorCodeWrap__codeLine {
			@include editorCodeLineChild(1, 0, left, 6, 36, $x-color-white);
			@include editorCodeLineChild(2, 0, left, 46, 20, #ff4765);
			@include editorCodeLineChild(3, 4, left, 12, 30, #29b87d);
			@include editorCodeLineChild(4, 4, left, 46, 18, #ff4765);
			@include editorCodeLineChild(5, 8, left, 18, 24, transparent);
			@include editorCodeLineChild(6, 8, left, 46, 16, #ff4765);
			@include editorCodeLineChild(7, 12, right, 35, 15, #feb021);
			@include editorCodeLineChild(8, 12, right, 6, 25, #feb021);
			@include editorCodeLineChild(9, 16, right, 10, 30, #78dbe2);
			@include editorCodeLineChild(10, 16, right, 0, 6, #78dbe2);
		}
	}
}

.illustrationImacEditorCodeWrap__codeItem {
	position: relative;
	margin-bottom: 2px;
	width: 100%;
	height: 18px;
}
.illustrationImacEditorCodeWrap__codeLine {
	position: absolute;
	height: 2px;
	background-color: $x-color-tomato;
	overflow: hidden;
}

/*____________________________________________________________
###### Illustration Imac Browser
____________________________________________________________*/
.illustrationImacBrowser {
	position: absolute;
	top: 12px;
	left: 16px;
	width: 180px;
	height: 116px;
	background-color: $x-color-white;
}

/*____________________________________________________________
####### Illustration Imac Browser Panel
____________________________________________________________*/
.illustrationImacBrowserPanel {
	width: 100%;
	height: 10px;
	background-color: $palette-program-panel;
}
.illustrationImacBrowserPanel__buttonsWrap {
	position: absolute;
	top: 3px;
	left: 6px;
	height: 4px;
}
.illustrationImacBrowserPanel__button {
	float: left;
	margin-right: 2px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
}

/*____________________________________________________________
####### Illustration Imac Browser Page
____________________________________________________________*/
.illustrationImacBrowserPage {
	width: 100%;
	height: calc(100% - 10px);
}
.illustrationImacBrowserPage__container {
	width: 100%;
	height: 100%;
}

/*____________________________________________________________
######## Illustration Imac Browser Header
____________________________________________________________*/
.illustrationImacBrowserPage__header {
	position: relative;
	padding-top: 9px;
	width: 100%;
	height: 27px;
}

.illustrationImacBrowserPage__nav {
	position: relative;
	padding-top: 4px;
	margin: 0 auto;
	width: 100px;
	height: 10px;
	background-color: $palette-imac-browser-elements;
}
.illustrationImacBrowserPage__navItem {
	position: relative;
	float: left;
	margin-left: 10px;
	width: 15px;
	height: 2px;
	overflow: hidden;

	&:first-child {
		margin-left: calc(10px / 2);
	}

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-imac-browser-line;
		animation: slide 3.5s ease infinite;
	}

	&:nth-child(2) {
		&:after {
			animation-delay: .1s;
		}
	}
	&:nth-child(3) {
		&:after {
			animation-delay: .2s;
		}
	}
	&:nth-child(4) {
		&:after {
			animation-delay: .3s;
		}
	}
}

/*____________________________________________________________
######## Illustration Imac Browser Main
____________________________________________________________*/
.illustrationImacBrowserPage__main {
	position: relative;
	padding: 8px;
	width: 100%;
	height: 37px;
	background-color: $x-color-tomato;
}

.illustrationImacBrowserPage__banner {
	width: 100%;
	height: 100%;
}
.illustrationImacBrowserPage__img {
	position: relative;
	float: left;
	margin-right: 10px;
	width: 44px;
	height: 22px;
	overflow: hidden;

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $x-color-white;
		animation: slide 3.5s ease infinite;
	}
}

.illustrationImacBrowserPage__lineWrap {
	float: left;
	width: calc(100% - 54px);
	height: 20px;
}
.illustrationImacBrowserPage__line {
	position: relative;
	margin-bottom: 3px;
	width: 100%;
	height: 2px;
	overflow: hidden;

	&:last-child {
		width: calc(100% / 2);
	}

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-imac-browser-line;
		animation: slide 3.5s ease infinite;
	}

	&:nth-child(1) {
		&:after {
			animation-delay: .1s;
		}
	}
	&:nth-child(2) {
		&:after {
			animation-delay: .2s;
		}
	}
	&:nth-child(3) {
		&:after {
			animation-delay: .3s;
		}
	}
	&:nth-child(4) {
		&:after {
			animation-delay: .35s;
		}
	}
}

/*____________________________________________________________
######## Illustration Imac Browser Footer
____________________________________________________________*/
.illustrationImacBrowserPage__footer {
	position: relative;
	padding: 7px 8px;
	width: 100%;
	height: 42px;
}

.illustrationImacBrowserPage__productList {
	list-style: none;
	width: 100%;
	height: 100%;
}

.illustrationImacBrowserPage__productItem {
	position: relative;
	float: left;
	margin-right: 16px;
	width: 44px;
	height: 100%;

	&:last-child {
		margin-right: 0;
	}
}

.illustrationImacBrowserPage__productImg {
	position: relative;
	margin-bottom: 2px;
	width: 100%;
	height: 22px;
	overflow: hidden;

  &:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-imac-browser-elements;
		animation: slide 3.5s ease infinite;
	}
}

.illustrationImacBrowserPage__productLineWrap {
	width: 100%;
	height: 6px;
}
.illustrationImacBrowserPage__productLine {
	position: relative;
	float: left;
	margin-bottom: 2px;
	width: 100%;
	height: 2px;
	overflow: hidden;

  &:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-imac-browser-line;
		animation: slide 3.5s ease infinite;
	}

  &:nth-child(1) {
		&:after {
			animation-delay: .1s;
		}
	}
	&:nth-child(2) {
		&:after {
			animation-delay: .2s;
		}
	}
}

/*____________________________________________________________
###### Avatar
____________________________________________________________*/
.avatarWrap {
	position: absolute;
	bottom: 0;
	right: 30px;
	width: 250px;
	height: 356px;
}

/*____________________________________________________________
####### Head
____________________________________________________________*/
.headWrap {
	position: relative;
	width: 100%;
	height: 249px;
}

/*____________________________________________________________
######## Hair
____________________________________________________________*/
.hair {
	@extend %horizontalCentering;
	width: 140px;
	height: 44px;
}
.hair__leftSide {
	position: absolute;
	width: 120px;
	height: 44px;
	border-radius: 60px 0 30px 0;
	background-color: $x-color-black;
	z-index: 9;

	.blink {
		position: absolute;
		height: 5.5px;
		border-radius: 5px;
		background-color: $palette-hair-blink;

		&:nth-child(1) {
			top: 29px;
			left: 25px;
			width: 26px;
		}
		&:nth-child(2) {
			top: 12px;
			left: 40px;
			width: 63px;
		}
		&:nth-child(3) {
			top: 26px;
			right: 10px;
			width: 26px;
		}
	}

	&:after {
		content: '';
		position: absolute;
		bottom: -40px;
		width: 40px;
		height: 40px;
		background-color: $x-color-black;
	}
}

.hair__rightSide {
	overflow: hidden;
	content: '';
	position: absolute;
	top: 25px;
	right: 0;
	width: 40px;
	height: 55px;
	background-color: $x-color-black;

  &:after {
		content: '';
		position: absolute;
		top: -16px;
		left: -16px;
		width: 50px;
		height: 40px;
		border-radius: 0 0 30px 0;
		background-color: $palette-hair-shadow;
	}
}

/*____________________________________________________________
######## Ears
____________________________________________________________*/
.ears {
	@extend %horizontalCentering;
	top: 115px;
	width: 186px;
	height: 40px;
}
.ear {
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: $palette-skin;

	&:nth-child(2) {
		right: 0;
	}

	&:after {
		content: '';
		@extend %centering;
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background-color: #180812;
	}
}

/*____________________________________________________________
######## Face
____________________________________________________________*/
.face {
	@extend %horizontalCentering;
	top: 44px;
	width: 140px;
	height: 181px;
	border-radius: 60px 60px 100px 100px; 
	background-color: $palette-skin;
	z-index: 2;
}

/*____________________________________________________________
######### Top Face
____________________________________________________________*/
.eyebrows {
	@extend %horizontalCentering;
	top: 29px;
	width: 90px;
	height: 10px;
}
.eyebrows__brow {
	overflow: hidden;
	position: absolute;
	width: 30px;
	height: 10px;
	border-radius: 10px;
	background-color: $x-color-black;
	z-index: 9;

	&:nth-child(2) {
		right: 0;
	}

	&:before {
		content: '';
		position: absolute;
		top: -4px;
		width: 100%;
		height: 100%;
		border-radius: 10px;
		background-color: $palette-hair-shadow;
	}
	&:after {
		content: '';
		@extend %horizontalCentering;
		top: 2px;
		width: 12px;
		height: 2px;
		border-radius: 15px;
		background-color: $x-color-white;
		opacity: .2;
	}
}

.eyebrows__shadow {
	position: absolute;
	top: 4px;
	width: 100%;
	height: 100%;

	&:before,
	&:after {
		content: '';
		position: absolute;
		width: 30px;
		height: 10px;
		border-radius: 10px;
		background-color: $palette-skin-shadow;
	}
	&:after {
		right: 0;
	}
}

/*____________________________________________________________
######### Middle Face
____________________________________________________________*/
.eyes {
	@extend %horizontalCentering;
	bottom: 100px;
	width: 70px;
	height: 22px;

	&:before,
	&:after {
		content: '';
		position: absolute;
		width: 12px;
		height: 22px;
		border-radius: 6px;
		background-color: $x-color-black;
		animation: blink 3s ease-in-out infinite;
	}
	&:after {
		right: 0;
	}
}

.glasses {
	@extend %horizontalCentering;
	top: 70px;
	width: 4px;
	height: 4px;
	background-color: $x-color-black;

	.left,
	.right {
		position: absolute;
		width: 56px;
		height: 56px;
		background-color: transparent;
		border-radius: 100%;
		border: 5px solid $x-color-black;
		left: -56px;
		top: -26px;
		z-index: 2;

		&:before {
			content: '';
			@extend %verticalCentering;
			width: 20px;
			height: 4px;
			border-radius: 5px;
			background-color: $x-color-black;
		}
		&:after {
			content: '';
			@extend %verticalCentering;
			width: 8px;
			height: 2px;
			border-radius: 15px;
			background-color: $x-color-white;
			opacity: .4;
		}
	}
	.left {

		&:before {
			left: -20px;
		}
		&:after {
			left: -17px;
		}
	}
	.right {
		left: 4px;

		&:before {
			right: -20px;
		}
		&:after {
			right: -17px;
		}
	}
}


.lens {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50%;

	.shine {

		&:before,
		&:after {
			content: "";
			position: absolute;
			top: -21px;
			left: 5px;
			width: 20px;
			height: 100px;
			background-color: $x-color-white;
			transform: rotate(30deg);
			opacity: 0.3;
		}
		&:after {
			width: 5px;
			left: 30px;
		}
	}
}

/*____________________________________________________________
######### Bottom Face
____________________________________________________________*/
.nose {
	@extend %horizontalCentering;
	bottom: 72px;
	width: 30px;
	height: 8px;

	&:before,
	&:after {
		content: '';
		position: absolute;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background-color: $x-color-flea-belly;
	}
	&:after {
		right: 0;
	}
}

.arm {
	overflow: hidden;
	@extend %horizontalCentering;
	bottom: 28px;
	width: calc(81px - 10px);
	height: calc(30px - 0px);
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
	background-color: $x-color-pearl-ruby;
}
.arm__pharynx {
	@extend %horizontalCentering;
	top: 6px;
	width: calc(57px - 10px);
	height: calc(11px - 0px);
	border-radius: 20px;
	background-color: $x-color-deep-red-brown;
}
.arm__tooth {
	position: absolute;
	left: 6px;
	width: calc(69px - 10px);
	height: calc(9px - 0px);
	background-color: $x-color-white;
	border-radius: 0 0 5px 5px;
	z-index: 1;

	&:before {
		content: '';
		position: absolute;
		width: 100%;
		height: 4px;
		background-color: $x-color-periwinkle;
	}
}
.arm__tongue {
	position: absolute;
	bottom: 0;
	right: 3px;
	width: calc(58px - 10px);
	height: calc(16px - 0px);
	border-radius: 15px 0 0 0;
	background-color: $x-color-light-cherry;

	&:before {
		content: '';
		position: absolute;
		top: 4px;
		left: 12px;
		width: 22px;
		height: 3px;
		border-radius: 15px;
		background-color: $x-color-white;
		opacity: .2;
	}
}

/*____________________________________________________________
######## Neck
____________________________________________________________*/
.neck {
	overflow: hidden;
	@extend %horizontalCentering;
	bottom: 0;
	width: 58px;
	height: 31px;
	background-color: $palette-skin;

	&:after {
		content: '';
		position: absolute;
		width: 58px;
		height: 18px;
		border-radius: 0 0 50% 50% / 0 0 100% 100%;
		background-color: $palette-skin-shadow;
	}
}

/*____________________________________________________________
####### Body
____________________________________________________________*/
.bodyWrap {
	position: relative;
	width: 100%;
	height: 107px;
}
.bodyWrap__body  {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	background-color: $x-color-grey-silk;
	background-image: linear-gradient(90deg, transparent 20%, rgba(166, 152, 134,.5) 20%);
	background-size: 20px 20px;
	overflow: hidden;
}

.collar {
	@extend %horizontalCentering;
	top: -50px;
	width: 120px;
	height: 170px;
	border-radius: 100%;
	background-color: $palette-costume-elements;
}

.shirt {
	@extend %horizontalCentering;
	top: 50px;
	width: 0; 
	height: 0;
	border-left: 35px solid transparent;
	border-right: 35px solid transparent;
	border-top: 200px solid $x-color-lemon-cream;
}

.button {
	@extend %horizontalCentering;
	top: 82px;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	background-color: $palette-costume-elements;

	&:nth-child(2) {
		top: 102px;
	}
}

/*____________________________________________________________
######## Bow
____________________________________________________________*/
.bowWrap {
	position: absolute;
	top: -17px;
	left: 85px;
	width: 80px;
	height: 46px;
}
.bowWrap__bowShadow {
	&:before {
		content: "";
		position: absolute;
		top: 5px;
		width: 0;
		height: 5px;
		border-width: 23px 40px;
		border-style: solid;
		border-color: transparent #bce1be transparent #bce1be;
		border-radius: 25px;
		opacity: .8;
		z-index: 1;
	}
}
.bowWrap__bowShadow {
	&:after {
		content: "";
		position: absolute;
		top: 16px;
		left: 31.5px;
		width: 17px;
		height: 19px;
		border-radius: 2px;
		background-color: #bce1be;
		opacity: .8;
		z-index: 2;
	}
}
.bowWrap__bow {
	&:before {
		content: "";
		position: absolute;
		width: 0;
		height: 5px;
		border-width: 23px 40px;
		border-style: solid;
		border-color: transparent #9b2d30 transparent #9b2d30;
		border-radius: 25px;
		z-index: 1;
	}
}
.bowWrap__bow {
	&:after {
		content: "";
		position: absolute;
		top: 16px;
		left: 31.5px;
		width: 17px;
		height: 19px;
		border-radius: 2px;
		background-color: $palette-bow-elements;
		z-index: 2;
	}
}
.bowWrap__crease {
	position: absolute;
	top: 21px;
	left: 17.5px;
	width: 45px;
	height: 4px;
	border-radius: 2px;
	background-color: $palette-bow-elements;
	z-index: 1;
}

@keyframes blink {
	0% {
		transform: scaleY(1);
	}
	18% {
		transform: scaleY(1);
	}
	20% {
		transform: scaleY(0);
	}
	25% {
		transform: scaleY(1);
	}
	38% {
		transform: scaleY(1);
	}
	40% {
		transform: scaleY(0);
	}
	45% {
		transform: scaleY(1);
	}
	80% {
		transform: scaleY(1);
	}
}

/*____________________________________________________________
##### Illustration Imac Panel
____________________________________________________________*/
.illustrationImac__panel {
	position: absolute;
	bottom: -45px;
	width: 100%;
	height: 45px;
	border-radius: 0 0 10px 10px;
	background-color: $x-color-grideperlevy;
}
.illustrationImac__panelButton {
	@extend %centering;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: $x-color-manatee;
}

/*____________________________________________________________
##### Illustration Imac Stand
____________________________________________________________*/
.illustrationImac__stand {
	@extend %horizontalCentering;
	bottom: -127px;
	width: 154px;
	height: 0; 
	border-bottom: 82px solid $x-color-cadet-blue;
	border-left: 21px solid transparent;
	border-right: 21px solid transparent;
}
.illustrationImac__standShadow {
	position: absolute;
	top: 5px;
	left: -5px;
	height: 0; 
	width: 122px;
	border-bottom: 16px solid $x-color-manatee;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
}
.illustrationImac__standBase {
	@extend %horizontalCentering;
	top: 82px;
	width: 284px;
	height: 20px;
	border-radius: 15px;
	background-color: $x-color-niagara;
}

/*____________________________________________________________
#### Illustration Presentation	
____________________________________________________________*/
.illustrationPresentation {
	position: absolute;
	top: 25px;
	left: 20px;
	width: 215px;
	height: 179px;
	background-color: $x-color-snow-blue;
	border-radius: 2px;
	overflow: hidden;
	animation: levitation 5s linear infinite;
}

/*____________________________________________________________
##### Illustration Presentation Panel
____________________________________________________________*/
.illustrationPresentationPanel {
	position: relative;
	width: 100%;
	height: 20px;
	background-color: $palette-program-panel;
}
.illustrationPresentationPanel__buttonsWrap {
	position: absolute;
	top: 6px;
	left: 10px;
	height: 8px;
}
.illustrationPresentationPanel__button {
	float: left;
	margin-right: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

/*____________________________________________________________
##### Illustration Presentation Page
____________________________________________________________*/
.illustrationPresentationPage {
	padding: 8px;
	width: 100%;
	height: calc(100% - 20px);
}
.illustrationPresentationPage__container {
	width: 100%;
	height: 100%;
}

/*____________________________________________________________
###### Illustration Presentation Banner
____________________________________________________________*/
.illustrationPresentationPage__banner {
	position: relative;
	width: 100%;
	height: 72px;
	margin-bottom: 6px;
}

.illustrationPresentationPage__img {
	position: relative;
	float: right;
	margin-left: 10px;
	width: 93px;
	height: 72px;
	background-color: $x-color-white;
	overflow: hidden;
}

/*____________________________________________________________
####### Picture
____________________________________________________________*/
.picture {
	position: absolute;
	width: 93px;
	height: 72px;
	border: 6px solid $x-color-gainsborough;
	background-color: $x-color-moderate-turquoise;
	overflow: hidden;
	animation: changeDay 10s linear infinite;
}
.illustrationImac__display {
	.picture {
		top: 50px;
		right: 10px;
		animation-delay: 3s;
	}

	.picture__dayWrap {
		animation-delay: 3s;
	}
}

.picture__mountain {
	position: absolute;
	bottom: 0;

	@mixin pictureMountainChild($nthChild, $side, $sideInent, $borderWidth, $borderHeight, $bg) {
		&:nth-child(#{$nthChild}) {
			#{$side}: #{$sideInent}px;
			border-left: #{$borderWidth}px solid transparent;
			border-right: #{$borderWidth}px solid transparent;
			border-bottom: #{$borderHeight}px solid #{$bg};
		}
	}

	@include pictureMountainChild(1, left, 0, 22.5, 24, $x-color-blackish-blue);
	@include pictureMountainChild(2, right, -20, 36, 39, $x-color-dark-grey-blue);
	@include pictureMountainChild(3, left, 26, 10, 10, $x-color-slate-grey);
}

.picture__dayWrap {
	position: absolute;
	top: 15px;
	left: 8px;
	width: 70px;
	height: 70px;
	animation: rotateRays 10s linear infinite;
}

.picture__dayWrap,
.picture__sun,
.picture__moon {
	border-radius: 50%;
}

.picture__sun,
.picture__moon {
	@extend %horizontalCentering;
}
.picture__sun {
	top: -5px;
	width: 15px;
	height: 15px;
	background-color: $x-color-white;
}
.picture__moon {
	bottom: -4px;
	width: 17px;
	height: 17px;
	box-shadow: 4px 4px 0 0 $x-color-amber;
	transform: rotate(120deg);
}


.illustrationPresentationPage__lineWrap {
	float: right;
	width: calc(100% - 103px);
	height: 20px;
}
.illustrationPresentationPage__line {
	position: relative;
	margin-bottom: 6px;
	width: 100%;
	height: 6px;
	border-radius: 3px;
	overflow: hidden;

	&:last-child {
		margin-bottom: 0;
		width: 80%;
	}

	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $palette-window-line;
		animation: slide 3.5s ease infinite;
	}

	@include animDelayChild(1, .1);
	@include animDelayChild(2, .2);
	@include animDelayChild(3, .3);
	@include animDelayChild(4, .35);
	@include animDelayChild(5, .4);
	@include animDelayChild(6, .45);
}

/*____________________________________________________________
###### Illustration Presentation Form
____________________________________________________________*/
.illustrationPresentationPage__form {
	position: relative;
	width: 100%;
	height: calc(100% - 78px);
}
.illustrationPresentationPage__input {
	margin-bottom: 6px;
	width: 100%;
	height: 16px;
	border-radius: 3px;
	background-color: $x-color-white;

	&:last-child {
		height: calc(100% - 22px);
	}
}

/*____________________________________________________________
#### Illustration Settings
____________________________________________________________*/
.illustrationSettings {
	position: absolute;
	bottom: 115px;
	left: 5px;
	padding: 8px 14px;
	width: 206px;
	height: 56px;
	border-radius: 5px;
	background-color: $palette-settings-elements;
	animation: levitation 5s linear infinite 3s;
}
.illustrationSettings__container {
	position: relative;
	width: 100%;
	height: 100%;
}

/*____________________________________________________________
##### Illustration Settings Gear
____________________________________________________________*/
.illustrationSettings__gearWrap {
	position: relative;
	float: left;
	margin-right: 12px;
	width: 40px;
	height: 40px;
}

.illustrationSettings__gear {
	@extend %centering;
	width:  50px;
	height: 50px;
}
.illustrationSettings__gear svg {
	position: absolute;
	max-width: 100%;
	max-height: 100%;
	fill: none;
	stroke: $x-color-white;
	stroke-width: 35px;
	animation: rotateRays 7s linear infinite;
}
.illustrationSettings__gear .teeth {
	position: absolute;
	top: 19.32%;
	left: 19.32%;
	transform: translate(-19.32%, -19.32%);
}

.illustrationSettings__gearCircle {
	@extend %centering;
	width: 29px;
	height: 29px;
	border: 8px solid $x-color-white;
	background-color: $palette-settings-elements;
	border-radius: 50%;
}

/*____________________________________________________________
##### Illustration Settings Line
____________________________________________________________*/
.illustrationSettings__lineWrap {
	position: relative;
	float: left;
	padding-top: 6.5px;
	width: calc(100% - 52px);
	height: 40px;
}
.illustrationSettings__line {
	position: relative;
	width: 100%;
	height: 3px;
	margin-bottom: 5px;
	overflow: hidden;

	&:last-child {
		margin-bottom: 0;
		width: 60%;
	}
	&:after {
		content: '';
		position: absolute;
		left: -100%;
		width: 100%;
		height: 100%;
		background-color: $x-color-white;
		animation: slide 3.5s ease infinite;
	}

	@include animDelayChild(1, .1);
	@include animDelayChild(2, .2);
	@include animDelayChild(3, .3);
	@include animDelayChild(4, .35);
}

/*____________________________________________________________
# Animation Pack
____________________________________________________________*/
@keyframes openFolder {
	0% {
		left: 0;
		transform: skew(0);
	}
	20% {
		left: -5px;
		height: 26px;
		transform: skew(20deg);
	}
	80% {
		left: -5px;
		height: 26px;
		transform: skew(20deg);
	}
	100% {
		left: 0;
		height: 31px;
		transform: skew(0);
	}
}

@keyframes openFile {
	0% {
		bottom: 0;
	}
	20% {
		bottom: 10px;
	}
	80% {
		bottom: 10px;
	}
	100% {
		bottom: 0;
	}
}

@keyframes slide {
	0% {
		left: -100%;
	}
	22% {
		left: 0%;
	}
	78% {
		left: 0%;
	}
	100% {
		left: 100%;
	}
}

@keyframes scrollCode {
	0% {
		top: 0;
	}
	100% {
		top: -20px;
	}
}

@keyframes rotateRays {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes changeDay {
	0% {
		background-color: $palette-tertiary;
	}
	25% {
		background-color: $x-color-granite;
	}
	60% {
		background-color: $x-color-granite;
	}
	75% {
		background-color: $palette-tertiary;
	}
	100% {
		background-color: $palette-tertiary;
	}
}

@keyframes lineDiagram {
	0% {
		height: 10%;
	}
	50% {
		height: 100%;
	}
	100% {
		left: 10%;
	}
}

@keyframes levitation {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(6px);
	}
	100% {
		transform: translateY(0);
	}
}

@media screen and (max-width: 1200px) {
	.illustration {
		transform: translate(-50%, -50%) scale(.8);
	}
}
@media screen and (max-width: 800px) {
	.illustration {
		transform: translate(-50%, -50%) scale(.6);
	}
}
@media screen and (max-width: 590px) {
	.illustration {
		transform: translate(-50%, -50%) scale(.4);
	}
}
View Compiled
/*____________________________________________________________
# Use 'GSAP.js' library and JS only for 'Blob' effect
____________________________________________________________*/

function cardinal(data, closed, tension) {
	if (data.length < 1) return "M0 0";
	if (tension == null) tension = 1;

	var size = data.length - (closed ? 0 : 1);
	var path = "M" + data[0].x + " " + data[0].y + " C";

	for (var i = 0; i < size; i++) {
		var p0, p1, p2, p3;

		if (closed) {
			p0 = data[(i - 1 + size) % size];
			p1 = data[i];
			p2 = data[(i + 1) % size];
			p3 = data[(i + 2) % size];
		} else {
			p0 = i == 0 ? data[0] : data[i - 1];
			p1 = data[i];
			p2 = data[i + 1];
			p3 = i == size - 1 ? p2 : data[i + 2];
		}

		var x1 = p1.x + (p2.x - p0.x) / 6 * tension;
		var y1 = p1.y + (p2.y - p0.y) / 6 * tension;

		var x2 = p2.x - (p3.x - p1.x) / 6 * tension;
		var y2 = p2.y - (p3.y - p1.y) / 6 * tension;

		path += " " + x1 + " " + y1 + " " + x2 + " " + y2 + " " + p2.x + " " + p2.y;
	}

	return closed ? path + "z" : path;
}

function random(min, max) {
	if (max == null) { max = min; min = 0; }
	if (min > max) { var tmp = min; min = max; max = tmp; }
	return min + (max - min) * Math.random();
}

function createBlob(options) {
	var points = [];
	var path = options.element;
	var slice = (Math.PI * 2) / options.numPoints;
	var startAngle = random(Math.PI * 2);

	var tl = new TimelineMax({
		onUpdate: update
	});

	for (var i = 0; i < options.numPoints; i++) {
		var angle = startAngle + i * slice;
		var duration = random(options.minDuration, options.maxDuration);

		var point = {
			x: options.centerX + Math.cos(angle) * options.minRadius,
			y: options.centerY + Math.sin(angle) * options.minRadius
		};

		var tween = TweenMax.to(point, duration, {
			x: options.centerX + Math.cos(angle) * options.maxRadius,
			y: options.centerY + Math.sin(angle) * options.maxRadius,
			repeat: -1,
			yoyo: true,
			ease: Sine.easeInOut
		});
	  
		tl.add(tween, -random(duration));
		points.push(point);
	}

	options.tl = tl;
	options.points = points;

	function update() {
		path.setAttribute("d", cardinal(points, true, 1));
	}

	return options;
}

var illustrationBlob = createBlob({
	element: document.querySelector("#blob__path-js"),
	numPoints: 20,
	centerX: 500,
	centerY: 500,
	minRadius: 450,
	maxRadius: 475,
	minDuration: 2,
	maxDuration: 2
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.1/gsap.min.js