- 
	var str = 'loading';
	
.preloader
	-for(var i = 0; i < str.length; i++)
		.preloader__wheel-wrapper
			.preloader__wheel
				span.preloader__content #{str[i]}
				.preloader__inner-wheel
				.preloader__second-inner-whell
View Compiled
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans')
$font: 'Josefin Sans', sans-serif
$wheels_amount: 7
$wheel_size: 60px
$small_wheel_size: $wheel_size / 3
$medium_wheel_size: $small_wheel_size * 2.5
$color_1: #F4511E
$color_2: #DD2C00
$color_3: #FF7043
html,
body
	background-color: #222
	margin: 0
	padding: 0
	width: 100%
	height: 100%
	font-family: $font
	box-sizing: border-box
*,
*::before,
*::after
	box-sizing: inherit
.preloader
	position: absolute
	left: 50%
	top: 10%
	transform: translate(-50%, -50%)
	&__content
		position: absolute
		color: $color_1
		top: -20px
		font-size: 1.2em
		text-transform: uppercase
	&__wheel
		width: $wheel_size
		height: $wheel_size
		background: $color_1
		z-index: 2
	&__wheel-wrapper
		position: absolute
		z-index: 1
		&:nth-child(2n)
			right: 10px	
			&:before
				content: ''
				top: -15px
				left: 2px
				position: absolute
				width: 110px
				height: 1px
				background-color: $color_2
				transform: rotate(-50.5deg)
				z-index: 5
			&:after
				content: ''
				position: absolute
				width: 110px
				height: 1px
				background-color: $color_2
				transform: rotate(-33.5deg)
				z-index: 5
				left: 23px
				top: 10px
		&:nth-child(2n+1)
			left: 10px
			&:before
				content: ''
				top: 9px
				left: -74px
				position: absolute
				width: 110px
				height: 1px
				background-color: $color_2
				transform: rotate(33deg)
				z-index: 5
			&:after
				content: ''
				position: absolute
				width: 110px
				height: 1px
				background-color: $color_2
				transform: rotate(49deg)
				z-index: 5
				top: -17.5px
				left: -54px
		&:nth-child(1)
			&:after
				display: none
			&:before
				display: none
	&__inner-wheel
		width: $small_wheel_size
		height: $small_wheel_size
		background-color: $color_2
		position: absolute
		left: ($wheel_size - $small_wheel_size) / 2
		top: ($wheel_size - $small_wheel_size) / 2
		transform: rotate(45deg)
		border-radius: 50%
		z-index: 10
	&__second-inner-whell
		@extend .preloader__inner-wheel
		width: $medium_wheel_size
		height: $medium_wheel_size
		left: ($wheel_size - $medium_wheel_size) / 2
		top: ($wheel_size - $medium_wheel_size) / 2
		background-color: $color_3
		border: 1px solid $color_2
		z-index: 2	
	@for $i from 1 through $wheels_amount
		.preloader__wheel-wrapper:nth-child(#{$i})
			top: #{$i * 70}px
			.preloader__content
				animation: wheel_rotate #{($wheels_amount / $i)}s linear infinite
			.preloader__wheel
				animation: _wheel_rotate #{($wheels_amount / $i)}s linear infinite
	@keyframes wheel_rotate
		0%
			transform: rotate(0)
		80%
			transform: rotate(335deg)
		100%
			transform: rotate(360deg)
	@keyframes _wheel_rotate
		0%
			transform: rotate(360deg)
		80%
			transform: rotate(15deg)
		100%
			transform: rotate(0deg)
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.