.halloween_animations_header,
.halloween_animations_footer {
    pointer-events: none;
    z-index: 999;
    overflow: hidden;
    width: 100vw;
}

.halloween_animations_footer {
    position: fixed;
    height: 150px;
    bottom: 0;
    right: 0;
}

.halloween_animations_web_left,
.halloween_animations_web_right,
.halloween_animations_spider_wrapper {
    position: absolute;
    top: 215px;
}

.halloween_animations_web_left {
    left: 0;
    width: 30%;
    max-width: 500px;
    z-index: 1;

}
.halloween_animations_web_right {
    right: 0;
    width: 30%;
    max-width: 450px;
    z-index: 1;
}
.halloween_animations_web_left img,
.halloween_animations_web_right img{
    display: block;
    width: 100%;
}

.halloween_animations_spider_wrapper {
    width: 200px;
    height: 500px;
    right: 5%;
    overflow: hidden;
}

#halloween_animations_spider_line {
    position: relative;
    width: 200px;
    height: 400px;
    -webkit-transform: translateY(-400px);
    -ms-transform: translateY(-400px);
    -o-transform: translateY(-400px);
    transform: translateY(-400px);
}

#halloween_animations_spider {
    position: absolute;
    width: 200px;
    height: 200px;
    top: 0;
    right: 0;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 100px 100px;
    -webkit-transform: translateY(-200px);
    -ms-transform: translateY(-200px);
    -o-transform: translateY(-200px);
    transform: translateY(-200px);
}

#hands_right {
    -webkit-transform-origin: 155px 85px;
    -moz-transform-origin: 155px 85px;
    -ms-transform-origin: 155px 85px;
    -o-transform-origin: 155px 85px;
    transform-origin: 155px 85px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

#hands_left {
    -webkit-transform-origin: 105px 85px;
    -moz-transform-origin: 105px 85px;
    -ms-transform-origin: 105px 85px;
    -o-transform-origin: 105px 85px;
    transform-origin: 105px 85px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

@-webkit-keyframes pumpkin {
    0%,100% { fill: #291117; }
    25% { fill: #ffdb06; }
    50% { fill: #291117; }
    75% { fill: #ffdb06; }
}
@-o-keyframes pumpkin {
    0%,100% { fill: #291117; }
    25% { fill: #ffdb06; }
    50% { fill: #291117; }
    75% { fill: #ffdb06; }
}
@-moz-keyframes pumpkin {
    0%,100% { fill: #291117; }
    25% { fill: #ffdb06; }
    50% { fill: #291117; }
    75% { fill: #ffdb06; }
}
@keyframes pumpkin {
    0%,100% { fill: #291117; }
    25% { fill: #ffdb06; }
    50% { fill: #291117; }
    75% { fill: #ffdb06; }
}
.ghost {
    -webkit-animation: ghost 2s infinite;
    -o-animation: ghost 2s infinite;
    animation: ghost 2s infinite;
    position: absolute;
    bottom: 0;
}
#ghost_1{
    position: absolute;
    width: 100px;
    height: 100px;
    max-width: 100px;
    bottom: 0;
    left: -100px;
    -webkit-animation: ghost_to_right 20s infinite linear;
    -o-animation: ghost_to_right 20s infinite linear;
    animation: ghost_to_right 20s infinite linear;
}
#ghost_2{
    position: absolute;
    width: 100px;
    height: 100px;
    max-width: 100px;
    bottom: 0;
    left: -100px;
    -webkit-animation: ghost_to_right 20s infinite linear reverse;
    -o-animation: ghost_to_right 20s infinite linear reverse;
    animation: ghost_to_right 20s infinite linear reverse;
}

@-webkit-keyframes ghost_to_right {
    from { left: -100px; }
    to { left: 100vw; }
}
@-o-keyframes ghost_to_right {
    from { left: -100px; }
    to { left: 100vw; }
}
@-moz-keyframes ghost_to_right {
    from { left: -100px; }
    to { left: 100vw; }
}
@keyframes ghost_to_right {
    from { left: -100px; }
    to { left: 100vw; }
}

@-webkit-keyframes ghost {
    0%, 100% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        -o-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    50% {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        -o-transform: translateY(10px);
        transform: translateY(10px);
    }
}
@-o-keyframes ghost {
    0%, 100% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        -o-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    50% {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        -o-transform: translateY(10px);
        transform: translateY(10px);
    }
}
@-moz-keyframes ghost {
    0%, 100% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        -o-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    50% {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        -o-transform: translateY(10px);
        transform: translateY(10px);
    }
}
@keyframes ghost {
    0%, 100% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        -o-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    50% {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        -o-transform: translateY(10px);
        transform: translateY(10px);
    }
}

.halloween_animations_hand {
    z-index: 10;
    position: absolute;
    bottom: -100px;
    height: 100px;
    animation: halloween_animations_hand 10s infinite ease-in-out;
    -webkit-animation: halloween_animations_hand 10s infinite ease-in-out;
    -moz-animation: halloween_animations_hand 10s infinite ease-in-out;
    -o-animation: halloween_animations_hand 10s infinite ease-in-out;
}
.halloween_animations_hand:nth-child(1){
    left: 10%;
    -webkit-animation-delay: 1s;
    -o-animation-delay: 1s;
    animation-delay: 1s;
}
.halloween_animations_hand:nth-child(2){
    left: 30%;
    -webkit-animation-delay: 12s;
    -o-animation-delay: 12s;
    animation-delay: 12s;
}
.halloween_animations_hand:nth-child(3){
    left: 50%;
    -webkit-animation-delay: 4s;
    -o-animation-delay: 4s;
    animation-delay: 4s;
}
.halloween_animations_hand:nth-child(4){
    left: 70%;
    -webkit-animation-delay: 8s;
    -o-animation-delay: 8s;
    animation-delay: 8s;
}
.halloween_animations_hand:nth-child(5){
    left: 90%;
    -webkit-animation-delay: 12s;
    -o-animation-delay: 12s;
    animation-delay: 12s;
}

@keyframes halloween_animations_hand {
    20% {
        bottom: -100px;
    }
    50%, 70% {
        bottom: 0;
    }
    100% {
        bottom: -100px;
    }
}
@-webkit-keyframes halloween_animations_hand {
    20% {
        bottom: -100px;
    }
    50%, 70% {
        bottom: 0;
    }
    100% {
        bottom: -100px;
    }
}
@-o-keyframes halloween_animations_hand {
    20% {
        bottom: -100px;
    }
    50%, 70% {
        bottom: 0;
    }
    100% {
        bottom: -100px;
    }
}
@-moz-keyframes halloween_animations_hand {
    20% {
        bottom: -100px;
    }
    50%, 70% {
        bottom: 0;
    }
    100% {
        bottom: -100px;
    }
}

/* RIP ANIMATIONS */

.halloween_animations_rip {
    position: absolute;
    bottom: 0;
    height: 100px;
    width: 100px;
    -webkit-animation: halloween_animations_rip 4s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
    -o-animation: halloween_animations_rip 4s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
    animation: halloween_animations_rip 4s infinite cubic-bezier(0.68, -0.6, 0.32, 1.6);
    -webkit-transform-origin: 50% 100%;
    -moz-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    -o-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
}
.halloween_animations_rip img{
    position: absolute;
    bottom: 0;
    height: 100px;
}
.halloween_animations_rip:nth-child(1){
    left: 15%;
    z-index: 10;
    -webkit-animation-delay: 1s;
    -o-animation-delay: 1s;
    animation-delay: 1s;
}
.halloween_animations_rip:nth-child(2){
    left: 30%;
    -webkit-animation-delay: 3s;
    -o-animation-delay: 3s;
    animation-delay: 3s;
}
.halloween_animations_rip:nth-child(3){
    left: 60%;
    z-index: 10;
    -webkit-animation-delay: 6s;
    -o-animation-delay: 6s;
    animation-delay: 6s;
}
.halloween_animations_rip:nth-child(4){
    left: 75%;
    -webkit-animation-delay: 9s;
    -o-animation-delay: 9s;
    animation-delay: 9s;
}

@-webkit-keyframes halloween_animations_rip {
    0%, 10%, 20%, 30%, 40% {
        -webkit-transform: translateY(5px) rotate(-5deg);
        -ms-transform: translateY(5px) rotate(-5deg);
        -o-transform: translateY(5px) rotate(-5deg);
        transform: translateY(5px) rotate(-5deg);
    }
    5%, 15%, 25%, 35%, 45% {
        -webkit-transform: translateY(5px) rotate(5deg);
        -ms-transform: translateY(5px) rotate(5deg);
        -o-transform: translateY(5px) rotate(5deg);
        transform: translateY(5px) rotate(5deg);
    }
    50%, 100% {
        -webkit-transform: translateY(0px) rotate(0deg);
        -ms-transform: translateY(0px) rotate(0deg);
        -o-transform: translateY(0px) rotate(0deg);
        transform: translateY(0px) rotate(0deg);
    }
}
@-o-keyframes halloween_animations_rip {
    0%, 10%, 20%, 30%, 40% {
        -webkit-transform: translateY(5px) rotate(-5deg);
        -ms-transform: translateY(5px) rotate(-5deg);
        -o-transform: translateY(5px) rotate(-5deg);
        transform: translateY(5px) rotate(-5deg);
    }
    5%, 15%, 25%, 35%, 45% {
        -webkit-transform: translateY(5px) rotate(5deg);
        -ms-transform: translateY(5px) rotate(5deg);
        -o-transform: translateY(5px) rotate(5deg);
        transform: translateY(5px) rotate(5deg);
    }
    50%, 100% {
        -webkit-transform: translateY(0px) rotate(0deg);
        -ms-transform: translateY(0px) rotate(0deg);
        -o-transform: translateY(0px) rotate(0deg);
        transform: translateY(0px) rotate(0deg);
    }
}
@-moz-keyframes halloween_animations_rip {
    0%, 10%, 20%, 30%, 40% {
        -webkit-transform: translateY(5px) rotate(-5deg);
        -ms-transform: translateY(5px) rotate(-5deg);
        -o-transform: translateY(5px) rotate(-5deg);
        transform: translateY(5px) rotate(-5deg);
    }
    5%, 15%, 25%, 35%, 45% {
        -webkit-transform: translateY(5px) rotate(5deg);
        -ms-transform: translateY(5px) rotate(5deg);
        -o-transform: translateY(5px) rotate(5deg);
        transform: translateY(5px) rotate(5deg);
    }
    50%, 100% {
        -webkit-transform: translateY(0px) rotate(0deg);
        -ms-transform: translateY(0px) rotate(0deg);
        -o-transform: translateY(0px) rotate(0deg);
        transform: translateY(0px) rotate(0deg);
    }
}
@keyframes halloween_animations_rip {
    0%, 10%, 20%, 30%, 40% {
        -webkit-transform: translateY(5px) rotate(-5deg);
        -ms-transform: translateY(5px) rotate(-5deg);
        -o-transform: translateY(5px) rotate(-5deg);
        transform: translateY(5px) rotate(-5deg);
    }
    5%, 15%, 25%, 35%, 45% {
        -webkit-transform: translateY(5px) rotate(5deg);
        -ms-transform: translateY(5px) rotate(5deg);
        -o-transform: translateY(5px) rotate(5deg);
        transform: translateY(5px) rotate(5deg);
    }
    50%, 100% {
        -webkit-transform: translateY(0px) rotate(0deg);
        -ms-transform: translateY(0px) rotate(0deg);
        -o-transform: translateY(0px) rotate(0deg);
        transform: translateY(0px) rotate(0deg);
    }
}

/**************
RESPONSIVE
********************/
@media screen and (max-width: 1280px) {
    .halloween_animations_web_left,
    .halloween_animations_web_right,
    .halloween_animations_spider_wrapper {
        position: absolute;
        top: 200px;
    }
}

@media screen and (max-width: 480px) {
    .halloween_animations_header,
    .halloween_animations_footer {
        display: none;
    }
}