body {
    background-image: url("../images/personal_website_background.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.bg-dark {
    background-color: rgba(0, 0, 0, 0.75) !important;
}

/* Navigation */
.nav-masthead .nav-link {
    color: rgba(255, 255, 255, .5);
    border-bottom: .25rem solid transparent;
    padding: .25rem 0;
    margin-left: 1rem;
    transition: color .15s ease-in-out, border-color .15s ease-in-out;
}

.nav-masthead .nav-link:hover,
.nav-masthead .nav-link:focus {
    border-bottom-color: rgba(255, 255, 255, .25);
    color: rgba(255, 255, 255, .75);
}

.nav-masthead .nav-link.active {
    color: #fff;
    border-bottom-color: #fff;
}

/* Language Switcher */
.language-link {
    border-bottom: .25rem solid transparent;
    padding: .25rem 0;
    transition: color .15s ease-in-out, border-color .15s ease-in-out;
}

.language-link:hover {
    border-bottom-color: rgba(255, 255, 255, .25);
    color: rgba(255, 255, 255, .75) !important;
}

.language-link.active {
    color: #fff !important;
    border-bottom-color: #fff;
}

/* Common Elements */
.link-underline-hover:hover {
    text-decoration: underline !important;
    opacity: 0.9;
}

.section-divider {
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0),
        rgba(255, 255, 255, 0.2),
        rgba(255, 255, 255, 0)
    );
    margin: 2rem auto;
    width: 80%;
}

.content-section {
    padding: 1.5rem 0;
}