html, body, .loader-container {
margin: 0;
height: 100%;
width: 100%;
}
.loader-container {
position: relative;
background-color: #373940;
}
.structure, .smoke {
position: absolute;
z-index: 1000;
top: calc(50% - 65px);
left: calc(50% - 100px);
width: 200px;
height: 130px;
}
.smoke {
z-index: 999;
}
.structure {
transform: translate3d(0, 0, 0);
perspective: 1000px;
animation: shake 0.42s cubic-bezier(0.36, 0.07, 0.19, 0.97) both infinite;
}
.text-container {
position: absolute;
top: calc(52% + 100px);
left: calc(28% - 100px);
width: 40rem;
}
.text-container h2 {
width: 100%;
text-align: center;
color: #c9c9c9;
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
text-shadow: 0 0 10px #57acb3;
}
#rocket-svg {
position: absolute;
top: -112px;
transform: rotate(90deg);
}
#right-wing, #left-wing, #nose, #window-stroke, #middle-wing {
fill: #878787;
}
#rocket-main-part {
fill: #37b8c1;
}
#window-inner {
fill: #212526;
}
.smoke span {
position: absolute;
width: 50px;
border-bottom: 2px solid #fff;
}
.meteors-container {
position: absolute;
z-index: 998;
width: 100%;
height: 100%;
overflow: hidden;
}
.meteors-container span {
position: absolute;
width: 75px;
border-bottom: 2px solid #fff;
}
.smoke span:nth-child(1) {
top: 28px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-0 ease-out 0.6s infinite;
}
@keyframes smokeAnim-0 {
from {
left: -50px;
opacity: 1;
}
to {
left: -241px;
opacity: 0;
}
}
.smoke span:nth-child(2) {
top: 36px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-1 ease-out 0.4s infinite;
}
@keyframes smokeAnim-1 {
from {
left: -50px;
opacity: 1;
}
to {
left: -288px;
opacity: 0;
}
}
.smoke span:nth-child(3) {
top: 44px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-2 ease-out 0.25s infinite;
}
@keyframes smokeAnim-2 {
from {
left: -50px;
opacity: 1;
}
to {
left: -218px;
opacity: 0;
}
}
.smoke span:nth-child(4) {
top: 52px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-3 ease-out 0.4s infinite;
}
@keyframes smokeAnim-3 {
from {
left: -50px;
opacity: 1;
}
to {
left: -164px;
opacity: 0;
}
}
.smoke span:nth-child(5) {
top: 60px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-4 ease-out 0.55s infinite;
}
@keyframes smokeAnim-4 {
from {
left: -50px;
opacity: 1;
}
to {
left: -256px;
opacity: 0;
}
}
.smoke span:nth-child(6) {
top: 68px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-5 ease-out 0.4s infinite;
}
@keyframes smokeAnim-5 {
from {
left: -50px;
opacity: 1;
}
to {
left: -219px;
opacity: 0;
}
}
.smoke span:nth-child(7) {
top: 76px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-6 ease-out 0.65s infinite;
}
@keyframes smokeAnim-6 {
from {
left: -50px;
opacity: 1;
}
to {
left: -173px;
opacity: 0;
}
}
.smoke span:nth-child(8) {
top: 84px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-7 ease-out 0.3s infinite;
}
@keyframes smokeAnim-7 {
from {
left: -50px;
opacity: 1;
}
to {
left: -190px;
opacity: 0;
}
}
.smoke span:nth-child(9) {
top: 92px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-8 ease-out 0.2s infinite;
}
@keyframes smokeAnim-8 {
from {
left: -50px;
opacity: 1;
}
to {
left: -112px;
opacity: 0;
}
}
.smoke span:nth-child(10) {
top: 100px;
left: -50px;
box-shadow: 0px 0px 5px #fff;
animation: smokeAnim-9 ease-out 0.5s infinite;
}
@keyframes smokeAnim-9 {
from {
left: -50px;
opacity: 1;
}
to {
left: -181px;
opacity: 0;
}
}
.meteors-container span:nth-child(1) {
top: 16.6666666667%;
left: 100%;
box-shadow: 0px 0px 5px #fff;
animation: meterosAnim-0 linear 0.35s infinite;
}
@keyframes meterosAnim-0 {
0% {
left: 100%;
}
75% {
left: calc(0% - 75px);
}
100% {
left: calc(0% - 75px);
}
}
.meteors-container span:nth-child(2) {
top: 33.3333333333%;
left: 100%;
box-shadow: 0px 0px 5px #fff;
animation: meterosAnim-1 linear 0.4s infinite;
}
@keyframes meterosAnim-1 {
0% {
left: 100%;
}
75% {
left: calc(0% - 75px);
}
100% {
left: calc(0% - 75px);
}
}
.meteors-container span:nth-child(3) {
top: 50%;
left: 100%;
box-shadow: 0px 0px 5px #fff;
animation: meterosAnim-2 linear 0.4s infinite;
}
@keyframes meterosAnim-2 {
0% {
left: 100%;
}
75% {
left: calc(0% - 75px);
}
100% {
left: calc(0% - 75px);
}
}
.meteors-container span:nth-child(4) {
top: 66.6666666667%;
left: 100%;
box-shadow: 0px 0px 5px #fff;
animation: meterosAnim-3 linear 0.4s infinite;
}
@keyframes meterosAnim-3 {
0% {
left: 100%;
}
75% {
left: calc(0% - 75px);
}
100% {
left: calc(0% - 75px);
}
}
.meteors-container span:nth-child(5) {
top: 83.3333333333%;
left: 100%;
box-shadow: 0px 0px 5px #fff;
animation: meterosAnim-4 linear 0.75s infinite;
}
@keyframes meterosAnim-4 {
0% {
left: 100%;
}
75% {
left: calc(0% - 75px);
}
100% {
left: calc(0% - 75px);
}
}
.meteors-container span:nth-child(6) {
top: 100%;
left: 100%;
box-shadow: 0px 0px 5px #fff;
animation: meterosAnim-5 linear 0.7s infinite;
}
@keyframes meterosAnim-5 {
0% {
left: 100%;
}
75% {
left: calc(0% - 75px);
}
100% {
left: calc(0% - 75px);
}
}
@keyframes shake {
10%, 90% {
transform: translate3d(-1px, 1px, 0);
}
20%, 80% {
transform: translate3d(2px, 2px, 0);
}
30%, 50%, 70% {
transform: translate3d(-2px, -2px, 0);
}
40%, 60% {
transform: translate3d(2px, 2px, 0);
}
}
@media screen and (max-width: 422px) {
.text-container h2 {
font-size: 28px;
}
}