canvas#ring_shape-canvas {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    /*z-index: 1;*/
    /*width: 100%;
    width: 100vw;*/
    height: 100vh;
}

.circle {
    max-width: 100%;
    height: 100vh;
}

.circle_button_box {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;

}

/*For MOBILE*/
@media (max-aspect-ratio: 1/1) {
    .circle_button_box {
        top: calc(50% - 45vw);
        left: calc(50% - 45vw);
        width: 90vw;
        height: 90vw;
    }
}

/*For PC*/
@media (min-aspect-ratio: 1/1) {
    .circle_button_box {
        /*top: calc(50% - 20vmin);
        left: calc(50% - 20vmin);
        width: 40vmin;
        height: 40vmin;*/
        top: calc(50%);
        left: calc(50vw);
        width: 40vh;
        height: 40vh;
        transform: translateX(-20vh) translateY(-20vh);
    }

}




.circle_button_box span:first-child {
    font-size: 0.7em;
}

.circle_button_box span:last-child {
    padding-bottom: 0.3em;
}

.circle_button_box .btn {
    margin: 0;
    width: 85%;
    height: 85%;
    padding: 0;
    text-align: center;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    line-height: normal;
    color: var(--blue);
    box-shadow: inset 0 0px 25px 2px #7dc2ff;
    text-shadow: 2px 2px 5px var(--white);
    transition: 1s;
    animation: pulse2 3.5s ease-in-out infinite;
    background-image: radial-gradient(circle at 50% 50%, #7dc2ff33, #00000000 56%);



}



.circle_button_box .btn:hover {
    color: var(--white);
    text-shadow: 5px 5px 10px var(--white);
    background-image: radial-gradient(circle at 50% 50%, rgb(0, 161, 60, 0.5), #00000000 82%);
    animation: pulse2 1.5s ease-in-out infinite;
}

.circle_button_box .btn::before {
    position: absolute;
    top: 62%;
    font-size: 0.5em;
    color: var(--green);
    text-shadow: none;
    opacity: 0;
}

.circle_button_box .btn:hover::before {
    animation: fadeIn04 1s ease-in-out forwards;
}


.circle_button_box .btn::after {
    content: '';
    background-image: var(--circle_bg2);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    opacity: 0;
    -webkit-mask-image: radial-gradient(circle, black 22%, transparent 58%);
    animation: fadeInX 30s ease-in-out infinite, fadeInX2 150s ease-in-out infinite;
}

@keyframes fadeInX {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 0.1;
    }

    55% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeInX2 {
    0% {
        background-image: var(--circle_bg2);
    }

    90% {
        background-image: var(--circle_bg2);
    }

    91% {
        background-image: var(--circle_bg1);
    }

    100% {
        background-image: var(--circle_bg1);
    }
}






/*For MOBILE*/
@media (max-aspect-ratio: 1/1) {
    .circle_button_box .btn::before {
        opacity: 0.4;
    }

}




@keyframes pulse2 {
    0% {
        /*color: whitesmoke;*/
        width: 85%;
        height: 85%;
    }

    50% {
        /*color: white;*/

        width: 100%;
        height: 100%;
        font-size: 2.5em;
    }

    100% {
        /*color: whitesmoke;*/
        width: 85%;
        height: 85%;
    }

}

.outLinks {
    position: absolute;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;

}



.outLinks-item {
    position: relative;
    display: block;
    z-index: 2;
    cursor: pointer;
    width: 3.5em;
    height: 3.5em;
    margin: 1em;
    max-width: 15vw;
    max-height: 15vw;



}


.outLinks-item:hover::before,
.outLinks-item:hover::after {

    width: 110%;
    height: 110%;
}

.outLinks-item::before {
    border-radius: 50%;
    box-shadow: 0 0px 2px 2px var(--white), inset 0 0px 36px 2px var(--white);
}

.outLinks-item::before,
.outLinks-item::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    transition: 0.5s;
    background-size: cover;
}

.outLinks-item.etherscan::after {
    background-image: var(--etherscan_ico);
}

.outLinks-item.coinmarketcap::after {
    background-image: var(--coinmarketcap_ico);
}

.outLinks-item.uniswap::after {
    background-image: var(--uniswap_ico);
}

.outLinks-item.telegram::after {
    background-image: var(--telegram_ico);
}

.outLinks-item.twitter::after {
    background-image: var(--twitter_ico);
}

.outLinks-item.facebook::after {
    background-image: var(--facebook_ico);
}

.outLinks-item.mail::after {
    background-image: var(--mail_ico);
}

/*For PC*/
@media (min-aspect-ratio: 1/1) {
    .outLinks {
        left: 50%;
        transform: translateX(-50%);
        width: max-content;
        bottom: 60px;
        opacity: 0.4;
        transition: 1s;
        z-index: 2;

    }

    .outLinks:hover {
        opacity: 1;
    }

}

/*For MOBILE*/
@media (max-aspect-ratio: 1/1) {
    .outLinks {
        bottom: 0;
    }
}