:root {
    --dark-purple: #302558;
    --main-purple: #3a2a61;
    --purple: #523c78;
    --light-purple: #B8AACB;
    --card-text-purple: #500085;
    --off-purple: #645770;
    --hover-purple: #755f99;
    --dark-aqua: #1E6376;
    --aqua: #6CB8CB;
    --light-aqua: #BEE0EA;
    --hover-aqua: #408ca1;
    --cyan: #0ff;
    --cyan-gradient: #b694dc;
}

body {
    font-size: 20px;
    font-family: Comfortaa, Manjari, Helvetica, sans-serif;
    margin: 0%;
    /* visuals */
    background-color: var(--dark-purple);
    color: var(--light-purple);
}

.my-name {
    font-family: 'Lucida Handwriting';
    text-align: center;
    /* visuals */
    background: repeating-linear-gradient(to bottom, var(--cyan) 0, var(--light-purple) 70px, var(--cyan-gradient) 110px);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

section {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 25px;
    width: 80%;
    max-width: 1300px;
    margin: auto;
    margin-top: -2px;
    text-align: left;
    /* make it so that section extends to 85% of the visible screen so that it reaches the bottom */
    min-height: 85vh;
    display: flex;
    flex-direction: column;
    /* visuals */
    background-color: var(--main-purple);
    color: var(--light-purple);
    box-shadow: 0 0 80px 70px var(--light-purple), /* inner */
    0 0 120px 80px var(--cyan); /* outer */
}

p {
    margin-block: 0;
    padding-block: 10px;
}

li {
    padding-bottom: 10px;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

a {
    text-decoration: none;
}

    a:link, a:visited, a:focus, a:hover, a:active {
        color: inherit
    }

.aqua-link {
    color: var(--aqua) !important;
    text-decoration: underline;
}

.dark-aqua-link {
    color: var(--dark-aqua) !important;
    text-decoration: underline;
}

hr {
    border-style: solid;
    margin-block: 0;
}

h1 {
    font-size: 77px;
    margin-bottom: 0;
    padding-top: 5px;
    padding-bottom: 25px;
}

h2 {
    font-size: 40px;
    margin-bottom: 22px;
}

h3 {
    font-size: 33px;
    margin-bottom: 5px;
}

h4 {
    font-size: 28px;
    margin-bottom: 5px;
}

h5 {
    font-size: 23px;
    margin-top: 2px;
    margin-bottom: -2px;
}

.section-heading {
    /* visuals */
    background: linear-gradient(to right, rgba(255, 255, 255, 0), #20cfcf, var(--cyan-gradient), rgba(255, 255, 255, 0));
    color: var(--main-purple);
    text-align: center;
}

.nav-container {
    margin: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    list-style-type: none;
    overflow: hidden;
    /* visuals */
    background-color: var(--aqua);
    border-bottom: 5px solid var(--dark-aqua);
}

.nav-heading {
    font-size: 24px;
    float: left;
    display: block;
    padding: 15px;
    /* visuals */
    color: var(--dark-aqua) !important;
}

.nav-tab {
    padding-bottom: 0;
}

    .nav-tab a:hover {
        /* visuals */
        background-color: var(--hover-aqua);
    }

    .nav-tab a.current {
        /* visuals */
        color: var(--aqua) !important;
        background-color: var(--dark-aqua);
    }

/* used to account for scrollbar at the top when jumping to a section using the navbar */
.anchor {
    scroll-margin-top: 50px;
}

footer {
    font-size: 22px;
    text-align: center;
    padding: 5px;
    padding-bottom: 10px;
    /* so that footer connects to bottom of section */
    margin-top: auto;
    /* visuals */
    background-color: var(--aqua);
    color: var(--dark-aqua);
    border-top: 5px solid var(--dark-aqua);
}

.icon {
    font-size: 32px;
    padding-left: 5px;
    padding-right: 5px;
    color: var(--dark-aqua);
    display: inline-block; /* Ensure icons are displayed inline */
    position: relative; /* Enable positioning */
    transition: transform 0.3s; /* Add transition for smooth scaling */
}

    .icon:hover {
        transform: scale(1.25); /* Scale up to 1.25 times the original size */
    }

.column {
    flex: 1; /* Each column takes up equal space */
}



.skill-col-container {
    display: flex;
    padding-left: 25%;
}

    .skill-heading {
        padding-bottom: 10px;
        text-decoration: underline;
    }

    .skill {
        display: flex;
        align-items: center; /* Center vertically */
        margin-block-start: 5px;
    }

    .skill-img {
        margin-right: 5px; /* Adjust spacing between image and text */
        margin-left: 20px; /* Adjust indent */
        width: 30px;
    }

        .skill-text {
            margin-block: 0px;
        }



/* Style the tab */
.tab {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--light-purple);
    border-bottom: none;
    /* visuals */
    background-color: var(--light-purple);
    color: var(--main-purple);
}

    /* Style the buttons inside the tab */
    .tab button {
        background-color: inherit;
        color: inherit;
        float: left;
        border: none;
        outline: none;
        cursor: pointer;
        padding: 14px 16px;
        transition: 0.3s;
        font-size: 17px;
        font-weight: bold;
    }

        /* Change background color of buttons on hover */
        .tab button:hover {
            /* visuals */
            background-color: var(--hover-purple);
        }

        /* Create an active/current tablink class */
        .tab button.active {
            /* visuals */
            background-color: var(--purple);
            color: var(--light-purple);
        }

 .tablinks {
     font-family: inherit;
 }

/* Style the tab content */
.tabcontent {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px 12px;
    padding-bottom: 15px;
    flex-direction: column;
    /* visuals */
    border: 3px solid var(--light-purple);
    border-top: none;
    background-color: var(--purple);
}



.games-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: minmax(100px, auto);
    column-gap: 20px;
    row-gap: 40px;
    max-width: 800px;
    padding-top: 20px;
}

.card {
    transition: 0.3s;
    width: 100%;
    border-radius: 5px;
    text-align: left;
    /* visuals */
    background-color: var(--light-purple);
    color: var(--card-text-purple);
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}
    .card-img {
        border-radius: 5px 5px 0 0;
    }

    .card-container {
        padding: 10px 20px;
    }

        .card-container p {
            margin-left: 0%;
            margin-right: 0%;
        }

    .card-info {
        /* visuals */
        color: var(--off-purple);
    }
    .card-clickable:hover {
        /* visuals */
        box-shadow: 0 16px 24px 0 rgba(0,0,0,0.5);
    }

.gameplay {
    padding-top: 20px;
    width: 100%;
    min-width: 300px;
    max-width: 1000px;
}

    .gameplay-card {
        display: flex;
        flex-direction: row; /* Stack items horizontally */
        border-radius: 5px;
        text-align: left;
        /* visuals */
        background-color: var(--light-purple);
        color: var(--card-text-purple);
        box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    }

    .gameplay-img {
        border-radius: 5px 0 0 5px;
    }

    .gameplay-text {
        padding: 15px;
    }

    .gameplay-subtitle {
        font-size: 17px;
        /* visuals */
        color: var(--off-purple);
    }

/* the main text of the About Me page */
.description {
    padding-left: 2%;
    padding-right: 2%;
    flex: 2.5;
}

    .description-container {
        display: flex;
        flex-direction: row; /* Stack items horizontally */
        padding-top: 20px;
    }

    .description-img {
        min-width: 200px;
        flex: 1;
    }

.italic-heading {
    font-style: italic;
    font-weight: normal;
    margin-top: 0;
}

/* the main text of the Skills and Portfolio pages */
.summary {
    margin: 0 auto; /* Center horizontally */
    max-width: 1000px;
    padding-block: 10px;
}

.experience {
    margin-left: 10%;
    margin-right: 10%;
}

.education {
    display: flex;
    margin-left: 10%;
    margin-right: 10%;
}

.education-col-gap {
    margin-left: 10%;
}

@media screen and (max-width: 1700px) {
    section {
        box-shadow: 0 0 40px 30px var(--light-purple), /* inner */
        0 0 60px 40px var(--cyan); /* outer */
    }
}

@media screen and (max-width: 1200px) {
    section {
        box-shadow: 0 0 20px 17px var(--light-purple), /* inner */
        0 0 40px 25px var(--cyan); /* outer */
    }

    .description-container {
        flex-direction: column; /* Stack items vertically */
    }

    .description-img {
        min-width: auto; /* Remove minimum width */
        max-width: 350px;
        margin: 0 auto; /* Center horizontally */
    }

    .description {
        flex: 1; /* Take remaining space */
    }

    .experience {
        margin-left: 0;
        margin-right: 0;
    }

    .education {
        margin-left: 0;
        margin-right: 0;
    }

    h4 {
        font-size: 26px;
    }

    .italic-heading {
        font-size: 22px;
    }
}

@media screen and (max-width: 900px) {
    .gameplay-card {
        flex-direction: column; /* Stack items vertically */
        max-width: 500px;
        margin: 0 auto; /* Center horizontally */
    }

    .gameplay-img {
        border-radius: 5px 5px 0 0;
    }
}

/* Apply styles when screen width is less than or equal to given value */
@media screen and (max-width: 768px) {
    section {
        box-shadow: 0 0 20px 15px var(--light-purple), /* inner */
        0 0 30px 20px var(--cyan); /* outer */
    }

    .skill-col-container {
        padding-left: 0%;
    }

    .skill-column {
        padding-left: 10%;
    }

    .games-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .card {
        max-width: 350px;
        margin: 0 auto; /* Center horizontally */
    }

    .education {
        flex-direction: column;
    }

    .education-col-gap {
        margin-left: 0;
    }
}