/* Dark Theme Variables */
:root {
    --background-color: #0d172b;
    --text-color: #b9baba;
    --accent-color: #1a2638;
    --accent-color-transparent: #1a2638c1;
    --border-color: #b9baba;
    --link-color: #8a8c8c;
    --font-weight-thin: 200;
    --font-weight-base: 300;
    --font-weight-header: 400;
    --border-style: solid 1px var(--border-color);
}

/* Light theme */
body[data-theme="light"] {
    --background-color: #b9baba;
    --text-color: #1a2937;
    --accent-color: #c1c3c3;
    --accent-color-transparent: #c1c3c36f;
    --border-color: #1a2937;
    --link-color: #2a3b4c;
    --font-weight-thin: 300;
    --font-weight-base: 400;
    --font-weight-header: 500;
    --border-style: solid 1.5px var(--border-color);
}

/* Element styles */
body {
    margin: 0;
    background-color: var(--background-color);
    color: var(--text-color);
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    width: 100%;
    font-weight: var(--font-weight-base);

}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: var(--font-weight-header);
    text-transform: uppercase;
}

h2 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

ul {
    margin: 0;
    padding: 0;
}

/* Classes */
.back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: var(--accent-color-transparent);
    border-radius: 50%;
    padding: 8px 8px 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    text-decoration: none;
    z-index: 1000;
}

.bold {
    font-weight: 400;
}

.container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: auto;
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
}

.contact-summary {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: var(--border-style);

    .contact {
        
        ul {
            display: flex;
            flex-direction: column;
            justify-content: center;
            list-style-type: none;
            font-weight: var(--font-weight-thin);
            font-size: 0.95rem;
            height: 75%;

            li {
                display: flex;
                align-items: center;
                margin-bottom: 10px;
                gap: 10px;

                &:last-of-type {
                    margin-bottom: 0;
                }
            }
        }

        a {
            color: var(--text-color);
            text-underline-offset: 3px;

            &:visited {
                color: var(--link-color);
            }
        }
    }

    .summary {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        border-bottom: var(--border-style);
        padding-bottom: 20px;

        p {
            font-weight: var(--font-weight-thin);
            font-size: 0.95rem;
            line-height: 1.4rem;
            letter-spacing: 0.025rem;
            margin: 0;
            flex: 1;

            span {
                display: block;
                margin-top: 10px;

                .bold {
                    display: inline;
                }

                #links-to-latest-project {
                    display: block;
                    margin: 0;
                }
            }

            a {
                color: var(--text-color);
                text-underline-offset: 3px;
            }
        }
    }
}

.footer {
    box-sizing: border-box;
    text-align: center;
    font-size: 0.85rem;
    padding: 5px;
    margin: 0 15px;
    border-top: var(--border-style);
}

.icon {
    width: 1.75em;
    height: 1.75em;
    fill: var(--text-color);
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: var(--border-style);
    margin: 20px 15px 0;
    max-width: 1000px;
    box-sizing: border-box;

    .header-content {
        display: flex;
        flex-direction: column;
        padding-bottom: 20px;
    
        .header-title {
            display: flex;
            flex-direction: column;
            font-size: 2.5rem;
            margin: 0 0 15px;
            letter-spacing: 0.15rem;
            line-height: 1.8rem;
        
            span:first-of-type {
                font-size: 1.25rem;
                font-weight: var(--font-weight-thin);
                padding-left: 4px;
            }
        }
    
        .under-title {
            font-size: 0.75rem;
            letter-spacing: 0.1rem;
            padding-left: 3px;
            text-transform: uppercase;
        }
    }
}



.hide-mobile {
    display: none;
}

.list-item {
    margin-bottom: 15px;

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

    p {
        margin: 0 0 10px;
        font-size: 0.95rem;
    }

    ul {
        list-style-type: disc;
        padding-left: 15px;
        font-weight: var(--font-weight-thin);
        font-size: 0.95rem;

        li {
            margin-bottom: 5px;
            letter-spacing: 0.025rem;

            &:last-of-type {
                margin-bottom: 0;
            }
        }
    }

    span {
        margin: 0 10px;
    }

    .longer-place {
        display: block;
        margin: 0 0 5px 0;
    }

    &:last-of-type {
        margin-bottom: 0;
    }
}

.main {
    flex: 1;
}

.nav-links {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    gap: 20px;
    border-bottom: var(--border-style);
    padding: 8px 0 6px;
    margin: 0 15px 20px;

    a {
        color: var(--link-color);
        text-decoration: none;
        font-size: 1rem;
        font-weight: var(--font-weight-base);
        font-size: 0.9rem;
        text-transform: uppercase;
    }
}

.skills-vol-work-education {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;

    .skills-volunteering {
        display: flex;
        flex-direction: column;
        gap: 20px;

        .skills {
            border-bottom: var(--border-style);
            padding-bottom: 20px;
    
            h3 {
                margin-bottom: 5px;
                font-size: 1.1rem;
            }
    
            .skills-list {
                list-style-type: none;
                font-weight: var(--font-weight-thin);
                font-size: 0.95rem;
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                padding-left: 0;
                margin: 0;
        
                &:first-of-type {
                    margin-bottom: 15px;
                }
            }
        }

        .volunteering {
            margin-bottom: 10px;

            h3 {
                text-transform: initial;
                font-weight: var(--font-weight-base);
                font-size: 1rem;
            }

            p {
                font-size: 0.9rem;
                font-weight: var(--font-weight-thin);
                letter-spacing: 0.025rem;
                margin: 2px 0 15px 0;
            }
        }
    }

    .work-education {
        display: flex;
        flex-direction: column;
        gap: 20px;
        border-bottom: var(--border-style);
        padding-bottom: 20px;
    }

    .education {
        border-bottom: var(--border-style);
        padding-bottom: 20px;

        .education-list {
    
            ul {
                list-style-type: disc;
                padding-left: 20px;
                margin: 0;
            }
        }
    }
}

/* Theme Toggle Button */
.theme-toggle {
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  padding: 0;
  align-self: flex-start;
}

.theme-toggle:hover {
  transform: scale(1.1);
}

.theme-toggle .icon {
  width: 24px;
  height: 24px;
  fill: var(--text-color);
}

/* Desktop */
@media (min-width: 900px) {

    h2 {
        font-size: 1.75rem;
        margin-bottom: 20px;
    }

    .back-to-top {
        display: none;
    }

    .container {
        flex-direction: row-reverse;
        padding: 0;
        margin: auto;
        max-width: 1000px;
    }

    .contact-summary {
        display: grid;
        grid-template-columns: 1fr 3fr;

        .contact {
            border-bottom: none;
            padding-bottom: 0;
        }

        .summary {
            flex: 1;
            border-bottom: none;
            padding-bottom: 0;

            p {
                padding: 0 15px 0 20px;
                padding: 0 10px 0 15px;
                border-left: var(--border-style);

                span {
                    #links-to-latest-project {
                        display: inline;
                    }
                }
            }
        }
    }

    .footer {
        margin: 0 auto;
        width: 100%;
        max-width: 1000px;
        font-size: 0.95rem;
    }

    .header {
        margin: 20px auto 25px;
        padding: 0;

        .header-content {
            padding-bottom: 25px;

            .header-title {
                font-size: 3.5rem;
                line-height: 2.2rem;
                margin: 0 0 20px;

                span:first-of-type {
                    font-size: 1.5rem;
                }
            }

            .under-title {
                font-size: 0.9rem;
                font-weight: var(--font-weight-base);
            }
        }
    }

    .hide-mobile {
        display: inline;
    }

    .list-item {
        h3 {
            font-size: 1.25rem;
        }

        p {
            font-size: 1rem;
        }

        ul {
            padding-left: 20px;
            font-size: 0.95rem;
        }

        .longer-place {
            display: inline;
            margin: 0;
        }
    }

    .nav-links {
        display: none;
    }

    .skills-vol-work-education {
        display: grid;
        grid-template-columns: 1fr 3fr;

        .education {
            border-bottom: none;
            padding-bottom: 0;
            
            .education-list {
                padding-left: 15px;
                border-left: var(--border-style);
            }
        }

        .skills-volunteering {

            .skills {
                margin-bottom: 0;
    
                h3 {
                    font-size: 1.25rem;
                }
            }

            .volunteering {
                margin-bottom: 0;

                h3 {
                    font-size: 1.1rem;
                }

                p {
                    font-size: 0.95rem;
                }
            }
        }

        .work-experience {
            margin-bottom: 20px;
        }

        .work-list {
            padding-left: 15px;
            border-left: var(--border-style);
            border-bottom: none;
        }

        .work-education {
            border-bottom: none;
            padding-bottom: 0;
        }
    }
}

/* Google Fonts */
.lexend-font {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.lexend-zetta-font {
  font-family: "Lexend Zetta", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}


/* Show/hide icons based on theme */
body[data-theme="dark"] .icon-sun {
  display: block;
}

body[data-theme="dark"] .icon-moon {
  display: none;
}

body[data-theme="light"] .icon-sun {
  display: none;
}

body[data-theme="light"] .icon-moon {
  display: block;
}
