﻿.topbar-wrapper * {
    box-sizing: border-box;
}

ol, ul, dl {
    margin-bottom: inherit;
    margin-top: inherit;
}

div.topbar-wrapper {
    background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(140, 140, 140, 1) 100%);
}

body.dark div.topbar-wrapper {
    background: linear-gradient(0deg,#1A1A1A 0%, rgba(82, 82, 82, 1) 100%);
}

#userInformation-wrapper {
    display: flex;
    position: relative;
}

.sub-menu-hov {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.topbar .noti-url {
    transition: filter 0.3s linear;
    filter: grayscale(1);
}

    .topbar .noti-url.new_noti {
        filter: grayscale(0);
    }

    .topbar .noti-url.new_noti::after {
        transform: scale(01);
        height: 8px;
        width: 8px;
        opacity: 1;
    }

    .topbar .noti-url.new_noti {
        animation-name: bell-ring;
        animation-duration: 2s;
        animation-iteration-count: infinite;
    }

@keyframes bell-ring {
    0% {
        transform: translate(-50%, -50%);
    }

    5%, 15% {
        transform: translate(-50%, -50%) rotate(25deg);
    }

    10%, 20% {
        transform: translate(-50%, -50%) rotate(-25deg);
    }

    25% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
}

.noti-url {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 100px;
    height: 20px;
    width: 20px;
}

.topbar .noti-url.new_noti #NotiCount {
    border: 1.75px solid white;
    animation-name: notiPop;
    animation-timing-function: linear;
    animation-delay: 2.5s;
    animation-duration: 2.5s;
    animation-iteration-count: infinite;
    transform: scale(1);
    opacity: 1;
    transition: transform 0.2s cubic-bezier(0.54, -0.47, 0.27, 1.61), min-width 1s ease, height 1s ease, font-size 1s ease, border-width 0.3s linear;
}

.topbar .noti-url.no_news #NotiCount {
    opacity: 0;
    transform: scale(0.5);
    transition: transform 1s ease 2s, opacity 1s 5s;
}

.topbar #NotiCount {
    transition: transform 0.2s cubic-bezier(0.54, -0.47, 0.27, 1.61), min-width 1s ease, height 1s ease, font-size 1s ease;
    transform: scale(1);
    position: absolute;
    top: -8px;
    right: -10px;
    color: white;
    background-color: var(--persian-rose);
    min-width: 20px;
    height: 20px;
    font-size: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border-width: 1.75px;
}

.topbar .noti-url.new_noti:hover #NotiCount {
    border-width: 3.5px;
}

.topbar .noti-url:active svg > g {
    transform: scale(0.9);
    transition: transform 0.1s linear;
}


#topbar #userInformation .logout-container {
    position: relative;
    left: 0;
    max-width: 0;
    width: 0;
    height: 0;
    opacity: 0;
    transition: height 1s linear 1s, opacity 0.2s linear 0.3s, width 0.3s linear 1s, max-width 0.3s linear 1s;
}
#topbar > :is(div, a) {
    opacity: 0;
}

#topbar.ready > :is(div, a) {
    opacity: 1;
}

#label-for-toggle-user {
    cursor: pointer;
    margin: 0;
}

.front-user-pic > img {
    border: 0px solid transparent;
    transition: border-color 0.2s linear, border-width 0.2s ease;
}

.userInformation-wrapper:hover:not(:has(#toggle-user-menu[type='checkbox']:checked)) {
    background: #4640f570;
    padding: 4px;
    margin: 0;
    border-radius: 12px;
}



.topbar-wrapper :is(ol, #returnSparkgam) {
    opacity: 0;
    transition: opacity 0.3s linear, transform 0.3s ease-out;
}

.topbar-wrapper #userInformation-wrapper {
    opacity: 0;
}

.topbar-wrapper:has(.ready) :is(ol, #returnSparkgam, #userInformation-wrapper) {
    opacity: 1;
}



.returnSparkgam {
    white-space: nowrap;
}

a.logout-link {
    color: white;
}




.nav-btn:hover {
    background-color: #4640f51a;
}

#nav-check {
    display: none;
}

.nav-check {
    height: 48px;
    display: block;
    cursor: pointer;
}

.menu-icon {
    display: block;
}

.nav-btn {
    grid-area: 1 / 3 / 2 / 4;
    margin: auto 0;
    border-radius: 5px;
    display: none;
    transform: rotateX(180deg) rotateZ(0) rotateY(180deg);
    transition: transform 0.3s ease-in, color 0.3s ease 0.3s, background-color 0.3s linear;;
    perspective: 3000px;
    width: 3rem;
    height: 3rem;
    cursor: pointer;
    z-index: 10000;
    transform-style: preserve-3d;
}



    .nav-btn:has(#nav-check:checked) {
        transform: rotateX(90deg) rotateZ(-90deg) rotateY(90deg) ;       
        color: gray;
    }

.topbar-wrapper .logout-link svg {
    margin-right: 4px;
}

.topbar {
    position: relative;
    display: flex;
    width: 100%;
    height: 5.5rem;
    /*background: linear-gradient(to right,#ffcb71 20%,#ff198a 56%,#ca1477 100%),linear-gradient(transparent,white 95%);*/
    background-blend-mode: screen;
    justify-content: space-between;
    color: var(--royal-blue);
    min-height: 88px;
}



.topbar.admintopbar {
    max-width: 1440px;
    margin: auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    padding: 0 1rem;
    /*background: linear-gradient(to bottom,#a5a5a5 20%,#c7c7c7 56%,#c7c7c7 100%),linear-gradient(transparent,white 95%);*/
}

body.dark .topbar.admintopbar {
    background: transparent;
}

body.dark .topbar {
    color: var(--white);
    background: linear-gradient(to right,#ffcb71 5%,#6e55f3 41%,#4640f3 87%,#4640f3 100%), linear-gradient(rgba(255,255,255,0.1),rgba(0,00,0,0.75) 95%);
    background-blend-mode: multiply;
}




.topbar.settings-open {
    background-image: none;
    background-color: white;
}

body.dark .topbar.settings-open {
    background-color: black;
}

.topbar ol {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    list-style: none;
    padding: 0px;
    justify-content: center;
    gap: 8px;
}

.topbar li {
    opacity: 1;
    border-radius: 2rem;
}

.topbar-icon {
    position: relative;
    width: 100%;
    height: auto;
    background-size: cover;
    background-repeat: no-repeat;
}

.topbar.admintopbar ol:has(.topbar-list-item) li a.icon-container:active {
    color: unset;
}

.topbar.admintopbar ol:has(.topbar-list-item) li:has(.icon-container.active) {
    background-color: var(--royal-blue);
}

    .topbar.admintopbar ol:has(.topbar-list-item) li:has(.icon-container.active) :is(span.custom-tooltiptex, svg.svg-icon, svg#teams-icon, a.icon-container, svg) {
        color: white;
        fill: white;
    }

    .topbar.admintopbar ol:has(.topbar-list-item) li:has(.icon-container.active) #teams-icon .cls-2 {
        fill: var(--royal-blue);
    }

.topbar .icon-container {
    display: flex;
    align-self: center;
    justify-content: center;
    width: auto;
    height: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    align-items: center;
}

.topbar ol li.topbar-list-item.is-active a.icon-container > svg * {
    fill: var(--white);
}

.topbar ol li.topbar-list-item a.icon-container > svg {
    align-self: center;
    height: 30px;
    width: 35px;
    color: var(--royal-blue);
}

.topbar-teams.is-active .cls-1 {
    fill: var(--royal-blue);
}

body.dark .topbar a.icon-container > svg * {
    fill: var(--white);
}

body.dark .topbar.admintopbar ol li.topbar-list-item:has(.active) {
    background-color: white;
}

body.dark .topbar a.icon-container.active > svg#teams-icon .cls-1,
body.dark .topbar a.icon-container.active > svg * {
    fill: black;
}

#teams-icon :is(path, circle).cls-1 {
    fill: var(--royal-blue);
}
a.icon-container.active #teams-icon :is(path, circle).cls-1,
body.dark #teams-icon :is(path, circle).cls-1 {
    fill: white;
}

.topbar ol li.topbar-list-item {
    position: relative;
    display: flex;
    justify-content: center;
    width: 4rem;
    height: 54px;
    align-self: center;
    transition: background-color 0.3s ease-out, transform 0.2s cubic-bezier(0.56, -0.53, 0, 2.31);
}

    .topbar ol li.topbar-list-item:hover {
        background-color: #ffffffba;
        transform: scale(1.05);
    }

body.dark .topbar ol li.topbar-list-item:hover {
    background-color: #0000007d;
}

.topbar ol li.topbar-list-item.is-active {
    width: 80px;
    background: var(--royal-blue);
    height: 54px;
    border-radius: 2rem;
    min-width: 80px;
}

body.dark .topbar ol li.topbar-list-item.is-active {
    width: 5rem;
    background: var(--white);
    height: 54px;
    border-radius: 2rem;
    min-width: 80px;
}

    body.dark .topbar ol li.topbar-list-item.is-active a.icon-container > svg * {
        fill: black;
    }

        body.dark .topbar ol li.topbar-list-item.is-active:hover a.icon-container > svg *{
            fill: white;
        }

        #topbar-settings > ol.topbar-settings-list {
            list-style: none;
            align-items: center;
            gap: 7rem;
            font-size: 24px;
            list-style: none;
        }

.topbar-settings-wrapper {
    justify-content: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 77px;
    margin-left: auto;
    margin-right: auto;
    z-index: 10;
    background: white;
    background: linear-gradient(0deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,1) 50%);
}

body.dark .topbar-settings-wrapper {
    background-color: black;
    background: linear-gradient(0deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,1) 50%);
}

.settings-overlay {
    position: fixed;
    display: none;
    background-color: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    z-index: 100;
    top: 5.5rem;
}

.userInformation-wrapper {
    align-self: center;
    width: auto;
    text-align: end;
    justify-content: flex-end;
    font-size: 12px;
}

#userInformation {
    gap: 10px;
}


#returnSparkgam a div.returnSparkgam-content {
    display: none;
}

#returnSparkgam {
    margin: auto 0;
    display: flex;
}

    #returnSparkgam > img {
        display: block;
        position: static;
        transition: transform 0.3s ease-out;
    }

    #returnSparkgam .returnSparkgam-content span {
        display: none;
        position: absolute;
        width: 0;

    }

#returnSparkgam {
    text-decoration: none;
    align-items: center;
    width: fit-content;
}

.sparkgam-home-icon {
    height: 50px;
    width: auto;
}

#returnSparkgam:hover img {
    transform: translate(0, -4px);
}


#returnSparkgam:hover > #returnArrowImg {
    animation: 0.4s slide-left linear both;
}

#returnSparkgam:hover div.returnSparkgam-content span {
    animation: 0.2s slide-right 0.4s linear both;
}

.returnSparkgam-content {
    margin-left: 4px;
    font-size: 12px;
    align-items: center;
    gap: 4px;
    display: none;
}


@keyframes scale-up-horizontal-right {
    0% {
        transform: scaleX(.4);
        transform-origin: right center
    }

    100% {
        transform: scaleX(1);
        transform-origin: right center
    }
}

@keyframes slide-right {
    0% {
        opacity: 0;
        transform: translateX(-25px)
    }

    100% {
        opacity: 1;
        transform: translateX(0px)
    }
}

@keyframes slide-left {
    0% {
        transform: translateX(0px)
    }

    100% {
        transform: translateX(-7px)
    }
}

@keyframes slide-left-logout {
    0% {
        opacity: 0;
        z-index: 1;
        transform: translateX(50px)
    }

    100% {
        opacity: 1;
        transform: translateX(0px)
    }
}

@media only screen and (max-width: 1010px) {

    #userInformation-wrapper {
        position: static;
        height: auto;
        top: 1rem;
        right: 75px;
    }

    #topbar #userInformation {
        top:20px;
    }

    .topbar.admintopbar {
        display: grid;
        grid-template-columns: 1fr auto auto;
        align-items: center;
    }

    body.dark .topbar ol li.topbar-list-item.is-active {
        width: 100%;
    }


    body.dark .topbar.admintopbar ol {
        background-color: rgba(11, 11, 11, 0.9);
    }

        body.dark .topbar.admintopbar ol li.topbar-list-item {
            background-color: #4640f3;
        }

        body.dark .topbar.admintopbar ol:has(.topbar-list-item) li:has(.icon-container.active) :is(span.custom-tooltiptex, svg.svg-icon, svg#teams-icon, a.icon-container) {
            color: black;
            fill: black;
        }

        body.dark .topbar.admintopbar ol li.topbar-list-item:hover {
            background: #0000007d;
            color: white;
        }

        body.dark .topbar.admintopbar ol li.topbar-list-item a {
            color: white;
        }

        body.dark .topbar.admintopbar ol li.topbar-list-item.is-active {
            background: var(--white);
        }

    .nav-btn {
        display: block;
    }

    .topbar.admintopbar:has(#nav-check:checked) ol {
        display: flex;
        transform: translate(0, 100%);
        pointer-events: auto;
        height: calc(100vh - 88px);
        justify-content: flex-start;
    }

    .topbar.admintopbar {
        height: 88px;
    }

        .topbar.admintopbar ol:has(.topbar-list-item) {
            pointer-events: none;
            transition: transform 0.3s ease-out;
            display: flex;
            transform: translate(0, -100%);
            top: auto;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: white;
            position: absolute;
            flex-direction: column;
            width: auto;
            background-color: white;
            gap: 8px;
            padding: 1rem;
            max-width: 100vw;
        }

    .topbar ol li.topbar-list-item:hover {
        transform: scale(1);
    }

    .topbar.admintopbar ol:has(.topbar-list-item) li {
        background-color: rgb(149, 158, 221);
        width: 100%;
        border-radius: 2rem;
        display: block;
    }

        .topbar.admintopbar ol:has(.topbar-list-item) li:has(a.icon-container:hover) {
            background-color: #7f78ff68;
            color: #6e55f3;
        }

    body.dark .topbar.admintopbar ol:has(.topbar-list-item) li:has(a.icon-container:hover) {
        background-color: #0000007d;
        color: white;
    }

    body.dark .topbar.admintopbar ol:has(.topbar-list-item) li:has(.icon-container.active):hover :is(span.custom-tooltiptex, svg.svg-icon, svg#teams-icon, a.icon-container) {
        color: white;
        fill: white;
    }

    body.dark .topbar li:hover a.icon-container > svg * {
        fill: white;
    }

    .topbar.admintopbar ol:has(.topbar-list-item) li a.icon-container {
        display: grid;
        gap: 1rem;
        grid-template-columns: 3rem 1fr;
        align-items: center;
        position: static;
        width: auto;
        padding: 0 2rem;
        text-decoration: none;
    }


    .topbar.admintopbar ol:has(.topbar-list-item) li svg {
        display: block;
        position: static;
        height: 28.9px;
        max-width: 35px;
        justify-self: center;
    }

    .topbar.admintopbar ol:has(.topbar-list-item) li span.custom-tooltiptext {
        display: block;
        position: static;
        width: auto;
        margin: 0;
        vertical-align: central;
        text-align: start;
        height: fit-content;
        background-color: transparent;
        color: var(--swalt);
    }

    .noti-url {
        right: 150px;
    }
}
