:root {
    --primary-color: #A0C49D;
    --second-primary-color: #C4D7B2;
    --third-primary-color: #E1ECC8;
    --fourth-primary-color: #FEFAE0;
    --fifth-primary-color: #FAEDCD;
    --primary-transparent-color: #a0c49db9;
    --primary-text-color: #7c7c7c;
    --link-highlight-color: #3c3c3c;
    --overlay-bg-start: #7d7d7d00;
    --overlay-bg-end: #7d7d7d7c;
    --bar-height: 3px;
    --bar-width: 17px;
    --bar-border-radius: 1.5px;
    --animation-time: 300ms;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    scroll-behavior: smooth;
}

html::-webkit-scrollbar {
    display: none;
}

body {
    min-height: 100vh;
    -webkit-tap-highlight-color: transparent;
    font-family: Open Sans, sans-serif;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover,
a.active {
    color: var(--link-highlight-color);
    transition: .25s ease-out;
}

.body-overlay.active {
    height: 100vh;
    width: 100vw;
    position: fixed;
    z-index: 1;
    animation-duration: var(--animation-time);
    animation-name: blur_animation-in;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;

    /* backdrop-filter: blur(7px); */
}

.body-overlay.hidden {
    height: 100vh;
    width: 100vw;
    position: fixed;
    z-index: 1;
    animation-duration: var(--animation-time);
    animation-name: blur_animation-out;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;

    /* backdrop-filter: blur(7px); */
}

@keyframes blur_animation-in {
    0% {
        background-color: var(--overlay-bg-start);
        backdrop-filter: blur(0px);
    }

    100% {
        background-color: var(--overlay-bg-end);
        backdrop-filter: blur(4px);
    }
}

@keyframes blur_animation-out {
    0% {
        background-color: var(--overlay-bg-end);
        backdrop-filter: blur(4px);
    }

    100% {
        background-color: var(--overlay-bg-start);
        backdrop-filter: blur(0px);
    }
}

/************************************** Global css */
.section-header {
    text-align: center;
    padding: 1rem 0;
}

section:not(:first-child) {
    padding: 1rem;
}

/* ******************************** Header and Navbar section **************************/

.main-header {
    position: fixed;
    top: 1rem;
    z-index: 1;
    width: 100%;
    background-color: var(--primary-transparent-color);
    backdrop-filter: blur(15px);
    border-radius: 1rem;
}

.navbar-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.navbar-name.hidden {
    display: none;
}

.navbar-name-container {
    min-height: 91.5px;
}

.navbar-links-container {
    padding: 2rem 2rem;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0;
    color: var(--primary-text-color);
    font-size: 1.25rem;
}

.navbar-arrow-container {
    display: none;
}

.navbar-arrow {
    background-color: var(--fourth-primary-color);
    border-radius: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* padding: .25rem; */
    height: 40px;
    width: 40px;
}

.arrow-top-bar-container,
.arrow-bottom-bar-container {
    position: relative;
    /* height: calc((var(--bar-width)/1.4142 + var(--bar-height)/1.4142)); */
    height: 20px;
    width: calc((var(--bar-width)/1.4142 + var(--bar-height)/1.4142) - var(--bar-border-radius)*0.824);
    /* background-color: rgba(0, 128, 0, 0.559); */
}

#arrow-top-bar,
#arrow-bottom-bar {
    position: absolute;
    left: calc(var(--bar-height)*0.3536 + var(--bar-width)*(-0.1464) - var(--bar-border-radius)*0.414);
    height: var(--bar-height);
    width: var(--bar-width);
    border-radius: var(--bar-border-radius);
    background-color: rgba(255, 0, 0, 0.395);
}

#arrow-top-bar {
    transform: rotate(45deg);
    bottom: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
}

#arrow-bottom-bar {
    transform: rotate(-45deg);
    top: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
}

/********************** The arrow animation ******************** */


#arrow-bottom-bar.active {
    animation-duration: var(--animation-time);
    animation-name: bottomturn;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1), 1s cubic-bezier(0.86, 0, 0.07, 1);
}



@keyframes bottomturn {
    0% {
        top: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(-45deg);
    }

    100% {
        top: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(-135deg);
    }
}

@keyframes bottomturnrev {
    0% {
        top: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(-135deg);

    }


    100% {
        top: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(-45deg);
    }
}

#arrow-top-bar.active {
    animation-duration: var(--animation-time);
    animation-name: topturn;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1), transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1);
}

@keyframes topturn {
    0% {
        bottom: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(45deg);
    }

    100% {
        bottom: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(135deg);
    }
}

@keyframes topturnrev {
    0% {
        bottom: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(135deg);

    }

    100% {
        bottom: calc(var(--bar-width)*0.3536 - var(--bar-height)*0.3536 - 1.45px);
        transform: rotate(45deg);
    }
}

#arrow-top-bar.normal {
    animation-duration: var(--animation-time);
    animation-name: topturnrev;
    animation-fill-mode: forwards;
    animation-timing-function: ease;
}

#arrow-bottom-bar.normal {
    animation-duration: var(--animation-time);
    animation-name: bottomturnrev;
    animation-fill-mode: forwards;
    animation-timing-function: ease;
}



.navbar-mobile-menu {
    position: fixed;
    display: none;
    z-index: 3;
    margin: calc(91.5px + 1.5rem) 0.5rem 0 0;
}

.mobile-links {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    border-radius: 1rem;
    padding: 2rem;
    background-color: #fefae0a6;
    backdrop-filter: blur(20px);
}

.navbar-mobile-menu.active {
    right: 0;
    animation: slide-in;
    animation-duration: var(--animation-time);
    animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1), 100ms cubic-bezier(0.86, 0, 0.07, 1);
}

.navbar-mobile-menu.hidden {
    right: calc(-72px - 138.234px);
    animation: slide-out;
    animation-duration: var(--animation-time);
    animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1), 100ms cubic-bezier(0.86, 0, 0.07, 1);
}

@keyframes slide-in {
    from {
        right: calc(-72px - 138.234px);
    }

    to {
        right: 0;
    }
}

@keyframes slide-out {
    from {
        right: 0;
    }

    to {
        right: calc(-72px - 138.234px);
    }
}

.navlink {
    padding: .5rem 2rem;
}


/************************************** INTRO SECTION **************************** */

.intro-section {
    height: 100vh;
    background-color: var(--primary-color);
    width: 100%;
    padding-top: calc(1rem + 91.5px);
}

.intro-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}

.img-container {
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    z-index: 2;
}

.img-container img {
    position: fixed;
    /* top: 40vh; */
    height: 200px;
    width: 200px;
    border-radius: 100%;
}

.my-img.animate {
    /* make sure it stays put so we can see it! */
    animation: move 1s linear;
    animation-fill-mode: both;
    animation-play-state: paused;
    animation-delay: calc(var(--scroll) * -2s);
}

@keyframes move {
    0% {
        left: calc(50% - 100px);
        top: 35%;
        transform: scale(1);
    }

    100% {
        left: 0;
        top: -40px;
        transform: scale(.40);
    }
}

.intro-text-container {
    text-align: center;
}


/******************************* education section ****************************/

.education-section {
    background-color: var(--second-primary-color);
}

.section-card-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    flex-wrap: nowrap;
    height: 300px;
    overflow: scroll;
    padding: 1rem 0;
}

.section-card-container::-webkit-scrollbar {
    display: none;
}

.section-card {
    height: 400px;
    width: 250px;
    border: 1px solid var(--link-highlight-color);
    border-radius: 1rem;
    padding: 1rem;
}

.project-section {
    background-color: var(--third-primary-color);
}

.skills-section {
    background-color: var(--fourth-primary-color);
}

.connect-section {
    background-color: var(--fifth-primary-color);
}


/**************************************** Profiles Section ***********************/
#profile-links-container li {
    padding: 0.125rem;
}

#connect a {
    text-decoration: underline;
    color: blue;
    cursor: pointer;
}

/**************************************** MEDIA QUERIES ******************************* */

@media screen and (max-width: 850px) {
    .navbar-links-container {
        display: none;
    }

    .navbar-arrow-container {
        display: block;
        padding: 0 1rem;
        position: relative;
    }

    @keyframes move {
        0% {
            left: calc(50% - 100px);
            top: 35%;
            transform: scale(1);
        }

        100% {
            left: -40px;
            top: -40px;
            transform: scale(.40);
        }
    }
}

@media screen and (min-width:851px) {

    .navbar-mobile-menu,
    .navbar-mobile-menu.active,
    .navbar-mobile-menu.hidden {
        display: none;
    }
}