* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
    border-bottom: 1px solid #e5e5e5;
}

.top-space {
    background-color: #e51a2a;
    color: #fff;
    text-align: center;
    height: 45px;
    padding: 8px;
}

.navigation {
    position: relative;
    background-color: white;
    width: 100vw;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.navigation ul {
    display: flex;
    width: 350px;
}

.navigation ul li {
    list-style: none;
    position: relative;
    width: 70px;
    height: 60px;
    z-index: 2;
}

.navigation ul li a {
    text-decoration: none;
    color: #555;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.navigation ul li a .text {
    color: #555;
    font-weight: 500;
    font-size: 0.9rem !important;
    text-align: center;
    line-height: 60px;
    opacity: 1;
    transition: opacity 0.4s;
}

.navigation ul li.active a .text {
    opacity: 0;
}

.navigation ul li a .icon {
    position: absolute;
    background-color: white;
    width: 55px;
    height: 55px;
    text-align: center;
    line-height: 65px;
    border-radius: 65px;
    color: #222327;
    font-size: 1.5em;
    transition: 0.5s;
    transition-delay: 0s;
    opacity: 0;
}

.navigation ul li.active a .icon {
    opacity: 1;
    background: var(--clr);
    color: #fff;
    transform: translateY(-27px);
    transition-delay: 0.25s;
}

.navigation ul li a .icon::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--clr);
    border-radius: 50%;
    filter: blur(5px);
    opacity: 0;
    transition: 0.5s;
    transition-delay: 0.15s;
}
.navigation ul li.active a .icon::before {
    opacity: 0.5;
    transition-delay: 0.25s;
}

.indicator {
    position: absolute !important;
    top: -35px;
    background-color: white;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    z-index: 1 !important;
    transition: 0.5s;
}

.indicator::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -27.5px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    box-shadow: 15px 18px #fff;
}

.indicator::after {
    content: "";
    position: absolute;
    top: 5px;
    right: -27.5px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    box-shadow: -15px 18px #fff;
}

.navigation ul li:nth-child(1).active~.indicator {
    transform: translateX(calc(70px * 0));
}

.navigation ul li:nth-child(2).active~.indicator {
    transform: translateX(calc(70px * 1));
}

.navigation ul li:nth-child(3).active~.indicator {
    transform: translateX(calc(70px * 2));
}

.navigation ul li:nth-child(4).active~.indicator {
    transform: translateX(calc(70px * 3));
}

.navigation ul li:nth-child(5).active~.indicator {
    transform: translateX(calc(70px * 4));
}