@import url(https://fonts.googleapis.com/css?family=Bungee);
:root {
    --main-color: #eceae0;
    --stroke-color: black;
}

html,
body {
    overflow: hidden;
    height: 100%;
}

.container {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

body {
    margin: 20px;
    background: #eceae0;
    text-align: center;
}

.content {
    position: absolute;
    bottom: -175px;
    left: 50%;
}

.font {
    font-family: "Bungee";
    color: #221e1d;
    text-align: center;
    line-height: 1.4em;
}

.big {
    font-size: 6em;
}

.small {
    font-size: 3em;
}

.tiny {
    font-size: 1em;
}

.full-width {
    width: 100%;
}

.static-balloon {
    display: inline-block;
    text-align: center;
    width: 10em;
    height: 10em;
    position: relative;
    background: url("https://ballooninc-resources.s3.eu-central-1.amazonaws.com/balloon_inc.svg");
    background-size: 10em 10em;
}

.gearanimation {
    animation: gears 4s;
    animation-fill-mode: forwards;
    animation-delay: 1.55s;
    transform-origin: bottom center;
}

.balloon {
    display: inline-block;
    text-align: center;
    width: 10em;
    height: 10em;
    bottom: -100vh;
    position: relative;
    z-index: 10;
    animation: balloons 6s ease-in-out forwards, wiggle1 3s 6s ease-in-out infinite;
    transform-origin: bottom center;
    background: url("https://ballooninc-resources.s3.eu-central-1.amazonaws.com/balloon_inc.svg");
    background-size: 10em 10em;
}

.post {
    display: inline-block;
    width: 80%;
    text-align: center;
    bottom: -100vh;
    position: relative;
    z-index: 10;
    animation: post 3s ease-out;
    transform-origin: bottom center;
    animation-fill-mode: forwards;
    animation-delay: 3s;
}

@keyframes gears {
    0% {
        transform: translateY(0) rotate(0deg);
    }
    100% {
        transform: translateY(-100vh) rotate(-90deg);
    }
}

@keyframes balloons {
    0% {
        transform: translateY(0) rotate(-4deg);
    }
    50% {
        transform: translateY(-70vh) rotate(1deg);
    }
    100% {
        transform: translateY(-100vh) rotate(2deg);
    }
}

@keyframes wiggle1 {
    0% {
        transform: translateY(-100vh) rotate(2deg);
    }
    50% {
        transform: translateY(-100vh) rotate(-1deg);
    }
    100% {
        transform: translateY(-100vh) rotate(2deg);
    }
}

@keyframes balloons2 {
    0% {
        transform: translateY(0) rotate(2deg);
    }
    50% {
        transform: translateY(-70vh) rotate(-2deg);
    }
    100% {
        transform: translateY(-100vh) rotate(-1deg);
    }
}

@keyframes wiggle2 {
    0% {
        transform: translateY(-100vh) rotate(-1deg);
    }
    50% {
        transform: translateY(-100vh) rotate(2deg);
    }
    100% {
        transform: translateY(-100vh) rotate(-1deg);
    }
}

@keyframes post {
    0% {
        transform: translateY(0) rotate(-1deg);
    }
    100% {
        transform: translateY(-70vh) rotate(0deg);
    }
}

.balloon:before {
    color: hsl(215, 30%, 50%);
    display: block;
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: -12px;
    z-index: -100;
}

.balloon:after {
    display: inline-block;
    top: 9em;
    position: relative;
    bottom: 0px;
    height: 15em;
    width: 1px;
    margin: 0 auto;
    content: "";
    background: rgba(0, 0, 0, 0.2);
}

.balloon:nth-child(3) {
    animation: balloons 4.5s ease-in-out forwards, wiggle1 2s 4.75s ease-in-out infinite;
}

.balloon:nth-child(4) {
    animation: balloons2 5.5s ease-in-out forwards, wiggle2 2.5s 5.75s ease-in-out infinite;
}

.balloon:nth-child(5) {
    animation: balloons 6s ease-in-out forwards, wiggle1 2.75s 6.25s ease-in-out infinite;
}

.balloon:nth-child(6) {
    animation: balloons2 5s ease-in-out forwards, wiggle2 3.25s 5.25s ease-in-out infinite;
}

hr {
    clear: both;
    visibility: hidden;
}

.gears {
    position: relative;
    top: 37%;
    width: auto;
    height: 0;
}

.gear {
    position: relative;
    z-index: 0;
    width: 120px;
    height: 120px;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--stroke-color);
}

.gear:before {
    position: absolute;
    left: 5px;
    top: 5px;
    right: 5px;
    bottom: 5px;
    z-index: 2;
    content: "";
    border-radius: 50%;
    background: var(--main-color);
}

.gear:after {
    position: absolute;
    left: 25px;
    top: 25px;
    z-index: 3;
    content: "";
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 5px solid var(--stroke-color);
    box-sizing: border-box;
    background: var(--main-color);
}

.gear.one {
    left: -130px;
}

.gear.two {
    top: -75px;
}

.gear.three {
    top: -235px;
    left: 130px;
}

.gear .bar {
    position: absolute;
    left: -15px;
    top: 50%;
    z-index: 0;
    width: 150px;
    height: 30px;
    margin-top: -15px;
    border-radius: 5px;
    background: var(--stroke-color);
}

.gear .bar:before {
    position: absolute;
    left: 5px;
    top: 5px;
    right: 5px;
    bottom: 5px;
    z-index: 1;
    content: "";
    border-radius: 2px;
    background: var(--main-color);
}

.gear .bar:nth-child(2) {
    transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
}

.gear .bar:nth-child(3) {
    transform: rotate(120deg);
    -webkit-transform: rotate(120deg);
}

@-webkit-keyframes clockwise {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@-webkit-keyframes anticlockwise {
    0% {
        -webkit-transform: rotate(360deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-webkit-keyframes clockwiseError {
    0% {
        -webkit-transform: rotate(0deg);
    }
    20% {
        -webkit-transform: rotate(30deg);
    }
    40% {
        -webkit-transform: rotate(25deg);
    }
    60% {
        -webkit-transform: rotate(30deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-webkit-keyframes anticlockwiseErrorStop {
    0% {
        -webkit-transform: rotate(0deg);
    }
    20% {
        -webkit-transform: rotate(-30deg);
    }
    60% {
        -webkit-transform: rotate(-30deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-webkit-keyframes anticlockwiseError {
    0% {
        -webkit-transform: rotate(0deg);
    }
    20% {
        -webkit-transform: rotate(-30deg);
    }
    40% {
        -webkit-transform: rotate(-25deg);
    }
    60% {
        -webkit-transform: rotate(-30deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
    }
}

.gear.one {
    -webkit-animation: anticlockwiseErrorStop 2s linear infinite;
}

.gear.two {
    -webkit-animation: anticlockwiseError 2s linear infinite;
}

.gear.three {
    -webkit-animation: clockwiseError 2s linear infinite;
}

.loading .gear.one,
.loading .gear.three {
    -webkit-animation: clockwise 3s linear infinite;
}

.loading .gear.two {
    -webkit-animation: anticlockwise 3s linear infinite;
}
