
*
{
    margin: 0;
    padding: 0;
    box-sizing: border-box ;
    font-family: 'Poppins', sans-serif ;
}

/* 404 page */

.page404
{
    background: linear-gradient(45deg, #8500ff, #5acaff);
    height: 100vh;
}

#container
{
    position: absolute ;
    /*top: 10%;
    left: 10%;
    right: 10%;
    bottom: 10%;
    border-radius: 10px;*/
    width: 100%;
    height: 100%;
    display: flex ;
    justify-content: center ;
    align-items: center ;
    background: url("p404.9db9d7422140.png"), #151729;
    box-shadow: 0 15px 30px rgba(0, 0, 0, .5);
}

#container .content
{
    max-width: 600px;
    text-align: center ;
}

#container .content h2
{
    font-size: 18vw;
    color: #fff;
    line-height: 1em;
}

#container .content h4
{
    position: relative ;
    font-size: 1.5em;
    margin-bottom: 20px;
    color: #111;
    background: #fff;
    font-weight: 300;
    padding: 10px 20px;
    display: inline-block ;
}

#container .content p
{
    color: #fff;
    font-size: 1.2em;
}

#container .content a
{
    position: relative ;
    display: inline-block ;
    padding: 10px 25px;
    background: #ff0562;
    color: #fff;
    text-decoration: none ;
    margin-top: 25px;
    border-radius: 25px;
    border-bottom: 4px solid #d00d56;
}



/* 500page */


.page500
{
    background: #ff785a;
}

.page500:hover .spider
{
    top: -120%;
}

.spiderweb
{
    background: #fff;
    width: 2px;
    height: 200px;
    margin-left: 49px;
    transition: 1s ease-in-out;
}

.spider
{
    position: absolute ;
    display: inline-block ;
    top: 0;
    left: 30%;
    animation: swing 2s infinite ;
    transform-origin: top;
}

.spider .body
{
    width: 100px;
    height: 80px;
    background: #000;
    position: relative ;
    border-radius: 50%;
}

.spider .body .eye
{
    width: 33px;
    height: 33px;
    background: #fff;
    position: absolute ;
    bottom: 20px;
    border-radius: 50%;
}

.spider .eye.right
{
    right: 15px;
}

.spider .eye.left
{
    left: 15px;
}

.spider .eye::after
{
    background: #000;
    width: 7px;
    height: 7px;
    content: '';
    display: block ;
    margin: 55%;
    border-radius: 50%;
    animation: look 8s infinite ;
}

.spider .legs
{
    position: absolute ;
    bottom: -10px;
    z-index: -1;
}

.spider .legs .leg
{
    width: 80px;
    height: 40px;
    margin-top: -20px;
    border: 5px solid  transparent ;
    border-top-color: #000;
    border-radius: 40px 40px 0 0;
}

.spider .legs.left
{
    left: -70%;
}

.spider .legs.right
{
    right: -60%;
}

.legs.left .leg:nth-child(1)
{
    transform: rotate(10deg);
    margin-left: 10px;
}

.legs.right .leg:nth-child(1)
{
    transform: rotate(-10deg);
    margin-left: -10px;
}

.legs.left .leg:nth-child(2)
{
    transform: rotate(-20deg);
    margin-left: 20px;
}

.legs.right .leg:nth-child(2)
{
    transform: rotate(20deg);
    margin-left: -20px;
}

.legs.left .leg:nth-child(3)
{
    transform: rotate(-50deg);
    margin-left: 30px;
}

.legs.right .leg:nth-child(3)
{
    transform: rotate(50deg);
    margin-left: -30px;
}


@keyframes look
{
    0%, 40%, 100%
    {
        transform: translateX(0);
    }
    45%, 95%
    {
        transform: translateX(-110%);
    }
}

@keyframes swing
{
    0%, 100%
    {
        transform: translateY(0);
    }
    50%
    {
        transform: translateY(-20px);
    }
}

.p_500
{
    position: absolute ;
    top: 55%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 20px;
    z-index:-1;
}

.p_500 h2
{
    font-size: 20px;
    padding: 20px;
}

.p_500 p
{
    font-size: 16px;
    padding: 20px;
}

.p_500_a a
{
    text-decoration: none ;
    color: #fff;
    position: relative ;
    top: 20px;
    left: 20px;
}


/* special thanks */

.special
{
    position: absolute ;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 20px;
    font-size:20px;
}

.special li
{
   list-style: none ;
    line-height: 1.7;
}

.special a
{
    text-decoration: none ;
}

.special a:hover
{
    color: tomato ;
}


/* 403 page */

.p_403
{
    overflow: hidden ;
    height: 100vh;
    width: 100vw;
    display: flex ;
    justify-content: center ;
    align-items: center ;
    margin: 0;
    background: #424f6f;
}

#spooky_container
{
    width: 400px;
    height: 400px;
    padding: 0;
    box-sizing: border-box ;
    background: #424f6f;
}


.p_403:after,
.p_403:before
{
    box-sizing: inherit;
}

#spooky
{
    margin: 10% auto ;
    width: 80%;
    height: 80%;
    animation: floaty 2s infinite ;
}

#spooky #body
{
    position: relative ;
    margin: 50px auto 0;
    width: 180px;
    height: 220px;
    background: #f2fbf1;
    border-top-left-radius: 90px;
    border-top-right-radius: 90px;
}

#spooky #body:before,
#spooky #body:after
{
    content: '';
    position: absolute ;
    top: 130px;
    display: inline-block ;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f2fbf1;
    animation: floaty .2s infinite ;
}

#spooky #body:before
{
    left: -18px;
}

#spooky #body:after
{
    right: -18px;
}

#spooky #body #eyes
{
    display: flex ;
    justify-content: space-between ;
    margin: 0 auto ;
    padding: 90px 0 0;
    width: 90px;
    height: 20px;
}

#spooky #body #eyes:before,
#spooky #body #eyes:after
{
    content: '';
    display: block ;
    width: 30px;
    height: 30px;
    background: #252c49;
    border-radius: 50%;
}

#spooky #body #mouth
{
    background: #252c49;
    margin: 40px auto 0;
    width: 60px;
    height: 30px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
}

#spooky #body #mouth:before
{
    content: '';
    display: block ;
    background: #fff;
    margin-left: 20px;
    width: 10px;
    height: 10px;
}

#spooky #body #feet
{
    position: absolute ;
    display: flex ;
    bottom: -18px;
    width: 180px;
    height: 36px;
}

#spooky #body #feet > *,
#spooky #body #feet::before,
#spooky #body #feet::after
{
    content: '';
    width: 36px;
    height: 36px;
    background: #f2fbf1;
    border-radius: 50%;
}

#shadow
{
    margin: -90px auto 0;
    background: #252c49;
    width: 180px;
    height: 40px;
    border-radius: 50%;
    animation: zoomy 2s infinite ;
}


@keyframes floaty
{
    0%, 100%
    {
        transform: translateY(0);
    }
    50%
    {
        transform: translateY(-20px);
    }
}

@keyframes zoomy
{
    0%, 100%
    {
        transform: scale(1);
    }
    50%
    {
        transform: scale(0.8);
    }
}

.p_403_text
{
    position: absolute ;
    bottom:7%;
}

.p_403_text a
{
    color: #eee;
    text-decoration: none ;
}