@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&family=Share+Tech&display=swap');


:root {
    --theme-color: #c1b0f2;
}

/* GLOBAL STYLES  */
.g-base {
    font-family: "Roboto Slab", serif;
    background: linear-gradient(  /* fixed-height gradient - same on all pages */
        to bottom,
        var(--theme-color) 0px,      /* start lavender at top */
        var(--theme-color) 500px,    /* lavender down to 500px */
        #ffffff 1200px     /* fades slowly to white by 1200px */
    );
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

h1, h2, h3, nav a, .heading {
    font-family: "Share Tech", sans-serif;
}

p, li {
    font-family: "Roboto Slab", serif;
}

.g-flex-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#p-home, #p-resume, #p-webapps, #p-projects {
    text-align: center;
    padding: 75px 0px;
}

/* NAVIGATION BAR */
.g-navigation {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 20px;
    background-color: #0f0f0f;
    color: #FFFFFF;
}

.g-navigation .nav-flex-container {
    max-width: 1200px;
    width: 100%;
    display: flex;
    justify-content: space-between;   
    justify-self: center;
}

.g-navigation nav ul {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.g-navigation nav li a {
    text-decoration: none;
    color: #FFFFFF;
    font-size: 1rem;
}

.g-navigation .heading .fa-solid, nav .fa-solid {
    padding-right: 3px;
    font-size: .8rem;
}

.g-navigation nav a:hover {
    color: var(--theme-color);
}

.g-navigation nav a.active {
    border-bottom: 2px solid var(--theme-color);
    padding-bottom: 2px;
}

.g-navigation .heading {
    color: var(--theme-color);
    font-size: 1rem;
}

.g-navigation .heading .fa-envelope {
    margin-left: 16px;
}

/* INTRO SECTION (ALL PAGES) */
#s-intro h1 {
    font-size: 3rem;
    margin: 0;
    font-weight: bold;
    color: #000000;
    letter-spacing: 0.5px;
    margin-top: 20px;
}

#s-intro p {
    font-size: 1.25rem;
    color: #333333;
    margin: 10px;
    margin-bottom: 20px;
}

#s-intro img {
    width: 250px;
    height: 250px;
    border: 4px solid #000000;
    box-sizing: border-box;
    box-shadow: 0 0 10px #000000; 
    border-radius: 50%;
}

/* SOCIAL MEDIA ICONS - ALL PAGES */
#s-socials .fa-brands {
    font-size: 2rem;
    color: #000000;
}

#s-socials a:hover {
    color: var(--theme-color);
    text-shadow: 0 0 8px #ffffff;
    border-radius: 8px;
}

#s-socials::after {
    content: "";
    display: block;
    width: 200px;
    margin-top: 40px;
    border-bottom: 1px solid #999999;
    justify-self: center;
}

/* DETAILS SECTION (MAIN CONTENT, ALL PAGES) */
#s-details {
    padding: 50px 5px 0px 5px;
    max-width: 900px;
    text-align: left;
}

#s-details h3 {
    text-align: center;
    margin: 20px 0;
    font-size: 1.5rem;
    letter-spacing: 1px;
}

#s-details h4 {
    font-weight: bold;
    font-size: 1.1rem;
    margin-top: 20px;
}

#s-details img {
    width: 100%;
    max-width: 500px;
    height: auto;
    border: 2px solid #C1B0F266;
    border-radius: 12px;
    box-shadow: 0 4px 12px #bbbbbb;
}

#s-details dl {
    margin-bottom: 25px;
}

#s-details dt {
    font-weight: bold;
    margin-bottom: 3px;
}

#s-details dd {
    margin-left: 0;
    font-style: italic;
    margin-bottom: 2px;
}

#s-details ul {
    margin-top: 10px;
    margin-bottom: 25px;
    padding-left: 25px;
    line-height: 1.7;
    max-width: 850px;
}

#s-details li i {
    margin-right: 8px;
}

#p-resume #s-details section:nth-of-type(1) p {
    font-size: 1rem;
    font-style: italic;
    font-weight: bold;
    margin: 3px 0;
}

#s-details section {
    margin: 40px 0;
}

/* SAMPLE CARDS (WEB APPS AND PROJECTS) */
#s-details .sample{
    background: #f8f8f8;
    padding: 25px 35px;
    border-radius: 12px;
    box-shadow: 0 4px 15px #aaaaaa;
    margin: 60px auto;
    max-width: 900px;
}

#s-details .sample h3::after {
    content: "";
    display: block;
    width: 200px;
    border-bottom: 1px solid #999999;
    margin: 10px auto 0;
}

#s-details .sample {
    margin-bottom: 80px;
}

#s-details .sample p {
    font-size: 1.1rem;
    line-height: 1.5;
    margin-top: 40px;
    font-weight: bold;
}

#p-home #s-details p {
    font-size: 1.3rem;
}

/* ICONS - COLORS */
#s-socials .fa-square-linkedin {
    color: #0A66C2;
}

#s-socials .fa-square-github{
    color: #333333;
}

#p-webapps #s-details .fa-html5 {
    color: #fa6400;
}

#p-webapps #s-details .fa-css3-alt {
    color: #1572B6;
}

#p-projects #s-details .fa-python {
    color: #306998;
}

#p-projects #s-details .fa-code {
    color: #007ACC;
}

#p-home #s-details .fa-heart {
    color:#ef0606;
}


@media (max-width: 700px) {
    .g-navigation .nav-flex-container {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    .g-flex-container {
        padding: 0 10px; 
    }
    #s-details ul {
        padding-left: 15px;
    }
}

@media (max-width: 378px) {
    .g-navigation nav ul {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .g-navigation nav li a {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 5px 0;
    }

    .g-navigation nav li a i {
        margin-bottom: 6px;
    }
    .g-navigation nav i {
        font-size: 1rem;
    }
}