/* --- Scrollbar Styling--- */

::-webkit-scrollbar {
    width: 4px;
  }
  
::-webkit-scrollbar-track {
background: #0F172A;
}

::-webkit-scrollbar-thumb {
background: rgba(56, 189, 248, 0.30);
}

::-webkit-scrollbar-thumb:hover {
background: #38BDF8;
}

/* --- Hello Container Styling --- */

#helloContainer {
    position: relative;
}

.slideUpFade {
    display: inline-block;
    opacity: 0;
    transform: translateY(0px);
    animation: slideUpFade 4s ease-in-out;
    animation-fill-mode: forwards;
}

@keyframes slideUpFade {
    0% {
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    70% {
        opacity: 0.9;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-20px);
    }
}

/* --- Scrool Down to Explore Btn Styling --- */

@keyframes scroll {
    0% {
        transform: translateY(0);
    }
    30% {
        transform: translateY(100px);
    }
}

.animate-scroll {
    animation: scroll ease 1.5s infinite;
}

@keyframes slide-up {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-100%);
    }
}

.animate-slide-up {
    animation: slide-up 0.5s ease-in-out;
}

/* --- Hover Animated Container Styling --- */

.hoverAnimatedContainer:hover::before {
    opacity: 1;
}

.hoverAnimatedContainer::before {
    background: radial-gradient(600px circle at var(--mouse-x) var(--mouse-y), rgba(255,255,255,0.06), transparent 40%);
    border-radius: inherit;
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    opacity: 0;
    transition: opacity 500ms;
}

/* .z-20 rect {
    transition: fill 0.3s ease-in-out;
}

.z-20 rect:hover {
    fill: red;
}

.z-20 path:hover + .z-20 rect {
    fill: red;
}

.z-20 g:hover + .z-20 rect {
    fill: red;
} */

/* --- Floating Bar Styling --- */

.floatingbar-slide-down {
    transform: translateY(20vh);
    transition: transform 0.5s ease-in-out;
}
  
.floatingbar-slide-up {
    transform: translateY(-10%);
    transition: transform 0.5s ease-in-out;
}

.floatingshare-slide-up {
    transform: translateY(-15vh);
    transition: transform 0.5s ease-in-out;
}

.floatingshare-slide-down {
    transform: translateY(15vh);
    transition: transform 0.5s ease-in-out;
}

.floatingbar-click-slide-up {
    transform: translateY(-70vh);
    transition: transform 0.5s ease-in-out;
}

.floatingbar-click-slide-down {
    transform: translateY(0);
    transition: transform 0.5s ease-in-out;
}

.searchbar-click-increase-width {
    animation: increaseSearchbarWidth 0.5s ease-in-out;
    width: 40vw;
    transition: width 1s ease-in-out;
}

.searchbar-click-decrease-width {
    animation: decreaseSearchbarWidth 0.5s ease-in-out;
    width: fit-content;
    transition: width 1s ease-in-out;
}

@keyframes increaseSearchbarWidth {
    from {
      width: 10vw;
    }
    to {
      width: 40vw;
    }
}

@keyframes decreaseSearchbarWidth {
    from {
      width: 40vw;
    }
    to {
      width: 10vw;
    }
}

@media only screen and (max-width: 768px) {

    .searchbar-click-increase-width {
        animation: increaseSearchbarWidth 0.5s ease-in-out;
        width: 80vw;
        transition: width 1s ease-in-out;
    }
    
    .searchbar-click-decrease-width {
        animation: decreaseSearchbarWidth 0.5s ease-in-out;
        width: fit-content;
        transition: width 1s ease-in-out;
    }

    @keyframes increaseSearchbarWidth {
        from {
            width: 10vw;
        }
        to {
            width: 80vw;
        }
    }

    @keyframes decreaseSearchbarWidth {
        from {
          width: 80vw;
        }
        to {
          width: 30vw;
        }
    }

}

.flotingbar-window-wrapper-show {
    animation: blurWindowWrapper 0.5s ease-in-out;
    backdrop-filter: blur(16px);
}

@keyframes blurWindowWrapper {
    from {
        backdrop-filter: blur(0px);
    }
    to {
        backdrop-filter: blur(16px);
    }
}

.floatingsearch-window-show {
    display: flex;
    animation: searchWindowShow 0.5s ease-in-out;
}

@keyframes searchWindowShow {
    from {
        width: 25vw;
        height: 30vh;
        opacity: 0;
    }
    to {
        width: 44vw;
        height: 60vh;
        opacity: 1;
    }
}

.floatingshare-window-show {
    display: flex;
    animation: shareWindowShow 0.5s ease-in-out;
}

@keyframes shareWindowShow {
    from {
        bottom: -100vh;
        opacity: 0;
    }
    to {
        bottom: 20vh;
        opacity: 1;
    }
}

@media only screen and (max-width: 768px) {

    @keyframes searchWindowShow {
        from {
            width: 25vw;
            height: 30vh;
            opacity: 0;
        }
        to {
            width: 90vw;
            height: 45vh;
            opacity: 1;
        }
    }

    @keyframes shareWindowShow {
        from {
        bottom: -100vh;
        opacity: 0;
    }
    to {
        bottom: 20vh;
        opacity: 1;
    }
    }
}

/* --- Mobile Navmenu Styling ---*/

.navbtn-circle-popzooom-in {
    animation: circlePopZoomIn 0.5s ease-in-out;
    transform: scale(100);
}

.navbtn-circle-popzooom-out {
    animation: circlePopZoomOut 0.5s ease-in-out;
    transform: scale(1);
}

.navhamline1-to-cross {
    animation: hamline1ToCross 0.5s ease-in-out;
    transform: rotate(45deg) translateY(1px);
}

.navhamline2-to-cross {
    animation: hamline2ToCross 0.5s ease-in-out;
    transform: rotate(-45deg) translateY(-1px);
}

.navhamline1-to-hamline {
    animation: hamline1ToHamline 0.5s ease-in-out;
    transform: rotate(0deg) translateY(0px);
}

.navhamline2-to-hamline {
    animation: hamline2ToHamline 0.5s ease-in-out;
    transform: rotate(0deg) translateY(0px);
}

.navmenu-item-slide-right {
    animation: navItemSlideRight 0.5s ease-in-out;
}

.navmenu-item-sliiide-left {
    animation: navItemSlideRight 0.5s ease-in-out;
}

.navmenu-button-scale-up {
    animation: buttonScaleUp 0.5s ease-in-out;
}

.navmenu-socials-show-up {
    animation: socialsShowUp 0.3s ease-in-out;
    opacity: 1;
}

@keyframes circlePopZoomIn {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(100);
    }
}

@keyframes circlePopZoomOut {
    0% {
        transform: scale(100);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes hamline1ToCross {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@keyframes hamline2ToCross {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(-45deg);
    }
}

@keyframes hamline1ToHamline {
    0% {
        transform: rotate(45deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@keyframes hamline2ToHamline {
    0% {
        transform: rotate(-45deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@keyframes navItemSlideRight {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes navItemSlideLeft {
    0% {
        transform: translateX(0);
        opacity: 1;
    }
    100% {
        transform: translateX(-100%);
        opacity: 0;
    }
}

@keyframes buttonScaleUp {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes socialsShowUp {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* --- Tooltip Styling --- */

.tippy-box[data-theme~='neosubhamoy'] {
    background-color: #1b2536;
    color: #FFFFFF;
}

.tippy-box[data-theme~='neosubhamoy'][data-placement^='top'] > .tippy-arrow::before {
    border-top-color: #1b2536;
}
.tippy-box[data-theme~='neosubhamoy'][data-placement^='bottom'] > .tippy-arrow::before {
    border-bottom-color: #1b2536;
}
.tippy-box[data-theme~='neosubhamoy'][data-placement^='left'] > .tippy-arrow::before {
    border-left-color: #1b2536;
}
.tippy-box[data-theme~='neosubhamoy'][data-placement^='right'] > .tippy-arrow::before {
    border-right-color: #1b2536;
}