@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300&display=swap');

:root {
    --font-family-glob: 'Comfortaa', sans-serif;
    --bg-body-color: #fff;
    --bg-button-color: #fff;
    --text-color: #333;
    --button-border: #011588;
}

.dark-theme {
    --bg-body-color: #333;
    --bg-button-color: #4b4b4b;
    --text-color: #fff;
    --button-border: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-family-glob);
}

html {
    scroll-behavior: smooth;
    transition: 0.3s all ease-in-out;
}

/* Buttons */
.buttonmenu {
    text-decoration: none;
    background-color: var(--bg-button-color);
    color: var(--text-color);
    border: 1px solid var(--button-border);
    border-radius: 10em;
    font-size: 17px;
    font-weight: 600;
    padding: 1em 2em;
    margin-top: 10px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 0 0 0 #011588;
}

.buttonmenu:hover {
    transform: translateY(-4px) translateX(-2px);
    box-shadow: 2px 5px 0 0 var(--button-border);
}

.buttonmenu:active {
    transform: translateY(2px) translateX(1px);
    box-shadow: 0 0 0 0 #011588;
}

/* Toggle switch */

.ui-switch {
    /* switch */
    --switch-bg: rgb(135, 150, 165);
    --switch-width: 48px;
    --switch-height: 20px;
    /* circle */
    --circle-diameter: 32px;
    --circle-bg: #011588;
    --circle-inset: calc((var(--circle-diameter) - var(--switch-height)) / 2);
}

.ui-switch input {
    display: none;
}

.slider {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: var(--switch-width);
    height: var(--switch-height);
    background: var(--switch-bg);
    border-radius: 999px;
    position: relative;
    cursor: pointer;
}

.slider .circle {
    top: calc(var(--circle-inset) * -1);
    left: 0;
    width: var(--circle-diameter);
    height: var(--circle-diameter);
    position: absolute;
    background: var(--circle-bg);
    border-radius: inherit;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjAiIHdpZHRoPSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiCiAgICAgICAgZD0iTTkuMzA1IDEuNjY3VjMuNzVoMS4zODlWMS42NjdoLTEuMzl6bS00LjcwNyAxLjk1bC0uOTgyLjk4Mkw5LjA5IDYuMDcybC45ODItLjk4Mi0xLjQ3My0xLjQ3M3ptMTAuODAyIDBMMTMuOTI3IDUuMDlsLjk4Mi45ODIgMS40NzMtMS40NzMtLjk4Mi0uOTgyek0xMCA1LjEzOWE0Ljg3MiA0Ljg3MiAwIDAwLTQuODYyIDQuODZBNC44NzIgNC44NzIgMCAwMTEwIDE0Ljg2MiA0Ljg3MiA0Ljg3MiAwIDAwMTQuODYgMTAgNC44NzIgNC44NzIgMCAwMDEwIDUuMTM5em0wIDEuMzg5QTMuNDYyIDMuNDYyIDAgMDExMy40NzEgMTBhMy40NjIgMy40NjIgMCAwMS0zLjQ3MyAzLjQ3MkEzLjQ2MiAzLjQ2MiAwIDAxNi41MjcgMTAgMy40NjIgMy40NjIgMCAwMTEwIDYuNTI4ek0xLjY2NSA5LjMwNXYxLjM5aDIuMDgzdi0xLjM5SDEuNjY2em0xNC41ODMgMHYxLjM5aDIuMDg0di0xLjM5aC0yLjA4NHpNNS4wOSAxMy45MjhMMy42MTYgMTUuNGwuOTgyLjk4MiAxLjQ3My0xLjQ3My0uOTgyLS45ODJ6bTkuODIgMGwtLjk4Mi45ODIgMS40NzMgMS40NzMuOTgyLS45ODItMS40NzMtMS40NzN6TTkuMzA1IDE2LjI1djIuMDgzaDEuMzg5VjE2LjI1aC0xLjM5eiIgLz4KPC9zdmc+");
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-transition: left 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    -o-transition: left 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    transition: left 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
    ;
}

.slider .circle::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.75);
    border-radius: inherit;
    -webkit-transition: all 500ms;
    -o-transition: all 500ms;
    transition: all 500ms;
    opacity: 0;
}

/* actions */

.ui-switch input:checked+.slider .circle {
    left: calc(100% - var(--circle-diameter));
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjAiIHdpZHRoPSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiCiAgICAgICAgZD0iTTQuMiAyLjVsLS43IDEuOC0xLjguNyAxLjguNy43IDEuOC42LTEuOEw2LjcgNWwtMS45LS43LS42LTEuOHptMTUgOC4zYTYuNyA2LjcgMCAxMS02LjYtNi42IDUuOCA1LjggMCAwMDYuNiA2LjZ6IiAvPgo8L3N2Zz4=");
}

.ui-switch input:active+.slider .circle::before {
    -webkit-transition: 0s;
    -o-transition: 0s;
    transition: 0s;
    opacity: 1;
    width: 0;
    height: 0;
}

/* Hide desktop nav by default (mobile first) */
.nav-menu {
    display: none;
}

#mobileSidebar {
    background-color: var(--bg-body-color);
    transition: all 0.3s ease-in-out;
    color: var(--text-color);
}

.mobile-nav-toggle {
    background-color: var(--bg-body-color);
    color: var(--text-color);
    transition: all 0.3s ease-in-out;
}

.mobile-nav-toggle .btn {
    background-color: var(--bg-button-color);
    color: var(--text-color);
    border-color: var(--button-border);
    transition: all 0.3s ease-in-out;
}

/* Optional: Hover effect */
.mobile-nav-toggle .btn:hover {
    background-color: var(--button-border);
    color: var(--bg-button-color);
}

.profile-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

#profilepic {
    width: 100%;
    max-width: 500px;
    /* Set width to 300px */
    height: auto;
    border-radius: 50%;
    border: 5px solid rgba(255, 255, 255, 0.8);
    /* Nice border */
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
    /* Glow effect */
}

/*Button Scroll Down*/
/* From Uiverse.io by himanshu9682 */
.type--A {
    --line_color: var(--button-border);
    --back_color: var(--bg-button-color);
}

.dark-theme .type--A {
    --line_color: var(--text-color);
    --back_color: var(--bg-button-color);
}

.type--B {
    --line_color: #1b1919;
    --back_color: #e9ecff;
}

.type--C {
    --line_color: #00135c;
    --back_color: #defffa;
}

.button-link {
    position: relative;
    z-index: 0;
    width: 240px;
    height: 56px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: var(--line_color);
    letter-spacing: 2px;
    transition: all 0.3s ease;
}

.button__text {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.button-link::before,
.button-link::after,
.button__text::before,
.button__text::after {
    content: "";
    position: absolute;
    height: 3px;
    border-radius: 2px;
    background: var(--line_color);
    transition: all 0.5s ease;
}

.button-link::before {
    top: 0;
    left: 54px;
    width: calc(100% - 56px * 2 - 16px);
}

.button-link::after {
    top: 0;
    right: 54px;
    width: 8px;
}

.button__text::before {
    bottom: 0;
    right: 54px;
    width: calc(100% - 56px * 2 - 16px);
}

.button__text::after {
    bottom: 0;
    left: 54px;
    width: 8px;
}

.button__line {
    position: absolute;
    top: 0;
    width: 56px;
    height: 100%;
    overflow: hidden;
}

.button__line::before {
    content: "";
    position: absolute;
    top: 0;
    width: 150%;
    height: 100%;
    box-sizing: border-box;
    border-radius: 300px;
    border: solid 3px var(--line_color);
}

.button__line:nth-child(1),
.button__line:nth-child(1)::before {
    left: 0;
}

.button__line:nth-child(2),
.button__line:nth-child(2)::before {
    right: 0;
}

.button-link:hover {
    letter-spacing: 6px;
}

.button-link:hover::before,
.button-link:hover .button__text::before {
    width: 8px;
}

.button-link:hover::after,
.button-link:hover .button__text::after {
    width: calc(100% - 56px * 2 - 16px);
}

.button__drow1,
.button__drow2 {
    position: absolute;
    z-index: -1;
    border-radius: 16px;
    transform-origin: 16px 16px;
}

.button__drow1 {
    top: -16px;
    left: 40px;
    width: 32px;
    height: 0;
    transform: rotate(30deg);
}

.button__drow2 {
    top: 44px;
    left: 77px;
    width: 32px;
    height: 0;
    transform: rotate(-127deg);
}

.button__drow1::before,
.button__drow1::after,
.button__drow2::before,
.button__drow2::after {
    content: "";
    position: absolute;
}

.button__drow1::before {
    bottom: 0;
    left: 0;
    width: 0;
    height: 32px;
    border-radius: 16px;
    transform-origin: 16px 16px;
    transform: rotate(-60deg);
}

.button__drow1::after {
    top: -10px;
    left: 45px;
    width: 0;
    height: 32px;
    border-radius: 16px;
    transform-origin: 16px 16px;
    transform: rotate(69deg);
}

.button__drow2::before {
    bottom: 0;
    left: 0;
    width: 0;
    height: 32px;
    border-radius: 16px;
    transform-origin: 16px 16px;
    transform: rotate(-146deg);
}

.button__drow2::after {
    bottom: 26px;
    left: -40px;
    width: 0;
    height: 32px;
    border-radius: 16px;
    transform-origin: 16px 16px;
    transform: rotate(-262deg);
}

.button__drow1,
.button__drow1::before,
.button__drow1::after,
.button__drow2,
.button__drow2::before,
.button__drow2::after {
    background: var(--back_color);
}

.button-link:hover .button__drow1 {
    animation: drow1 ease-in 0.06s;
    animation-fill-mode: forwards;
}

.button-link:hover .button__drow1::before {
    animation: drow2 linear 0.08s 0.06s;
    animation-fill-mode: forwards;
}

.button-link:hover .button__drow1::after {
    animation: drow3 linear 0.03s 0.14s;
    animation-fill-mode: forwards;
}

.button-link:hover .button__drow2 {
    animation: drow4 linear 0.06s 0.2s;
    animation-fill-mode: forwards;
}

.button-link:hover .button__drow2::before {
    animation: drow3 linear 0.03s 0.26s;
    animation-fill-mode: forwards;
}

.button-link:hover .button__drow2::after {
    animation: drow5 linear 0.06s 0.32s;
    animation-fill-mode: forwards;
}

@keyframes drow1 {
    0% {
        height: 0;
    }

    100% {
        height: 100px;
    }
}

@keyframes drow2 {
    0% {
        width: 0;
        opacity: 0;
    }

    10% {
        opacity: 0;
    }

    11% {
        opacity: 1;
    }

    100% {
        width: 120px;
    }
}

@keyframes drow3 {
    0% {
        width: 0;
    }

    100% {
        width: 80px;
    }
}

@keyframes drow4 {
    0% {
        height: 0;
    }

    100% {
        height: 120px;
    }
}

@keyframes drow5 {
    0% {
        width: 0;
    }

    100% {
        width: 124px;
    }
}

.button-container {
    width: 100%;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.button-link:not(:last-child) {
    margin-bottom: 64px;
}

/* Desktop ≥1280px */
@media screen and (min-width: 1280px) {
    .nav-menu {
        transition: all 0.3s ease-in-out;
        display: flex;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
        padding: 0 20px;
        background-color: var(--bg-body-color);
        align-items: center;
        justify-content: space-between;
    }

    .mobile-nav-toggle,
    #mobileSidebar {
        display: none !important;
    }

    #center-nav-menu {
        display: flex;
        gap: 10px;
        align-items: center;
        margin-right: 10px;
    }

    #right-nav-menu {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    /* main sections */
    .mains {
        display: flex;
        height: calc(100vh - 70px);
        overflow-y: auto;
        margin-top: 70px;
        width: 100%;
        color: var(--text-color);
        transition: all 0.3s ease-in-out;
        text-size-adjust: auto;
    }

    .mains-sections {
        width: 50%;
        align-items: center;
        margin: auto;
        color: var(--text-color);
    }

    /*Section One Right*/
    #my-name {
        font-size: 3.5rem;
        text-align: center;
    }

    #my-job {
        font-size: 2.5rem;
        font-weight: bold;
    }

    #small-intro {
        font-size: 1.5rem;
    }

    /*Section Two*/
    #section-two {
        font-size: 2.5rem;
    }
}

/*Mobile Only Changes*/
@media screen and (max-width: 1279px) {
    #section-two {
        display: none;
    }

    .button-container{
        display: none;
    }

    .mains-sections {
        width: 90%;
        /* Set sections to 100% width */
        align-items: center;
        margin: auto;
        text-align: center;
        color: var(--text-color);
        margin-top: 10px;
    }

    /*Section One Right*/
    #my-name {
        font-size: 2.5rem;
        text-align: center;
    }

    #my-job {
        font-size: 1.5rem;
        font-weight: bold;
    }

    #small-intro {
        font-size: 1.3rem;
        text-align: left;
    }
}

.fade-in {
    opacity: 0;
    transition: opacity 2s ease;
}

.fade-in.visible {
    opacity: 1;
}
