:root{
    --text-color: rgb(250, 219, 172);
    --bg-color: rgba(18, 29, 33, 0.9);
    --effect-color: rgba(185, 250, 248, 98);
    --fill-out: var(--text-color);
    --fill-in: var(--bg-color);
}

body {
    font-family: monospace;
    color: var(--text-color);
    margin: 0.5rem 1.25rem 2rem;
    background-color: var(--bg-color);
}

#click-something {
    position: absolute;
    top: -50px;
}

header{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    border-bottom: 0.02rem solid white;
    margin-bottom: 1.5rem;
    gap: 1rem;
}

.name-container {
    flex-grow: 1;
    display: flex;
}

.name-header {
    user-select: none;
    cursor: default;
    position: relative;
    width: fit-content;
}

.name-effect {
    --effect-offset: 8em;
    position: absolute;
    width: calc(100% + var(--effect-offset));
    height: calc(100% + var(--effect-offset));
    fill: black;
    inset: calc(var(--effect-offset) / -2);
    pointer-events: none;
}

.border-glow,
.border-line {
    width: calc(100% - var(--effect-offset) + var(--effect-offset) / 8);
    height: calc(100% - var(--effect-offset) + var(--effect-offset) / 8);
    x: calc(var(--effect-offset) / 2 - (var(--effect-offset) / 8) / 2);
    y: calc(var(--effect-offset) / 2 - (var(--effect-offset) / 8) / 2);
    rx: 0.5rem;
    stroke: transparent;
    stroke-width: 3px;
    stroke-dasharray: 17;
    stroke-linecap: round;
    fill: transparent;
    transition: stroke-dashoffset 1000ms cubic-bezier(0.55, 0.01, 0.73, 0.3), stroke 750ms ease-in;
}

.filler,
.filler-bloom {
    width: calc(100% - var(--effect-offset) + var(--effect-offset) / 8);
    height: calc(100% - var(--effect-offset) + var(--effect-offset) / 8);
    x: calc(var(--effect-offset) / 2 - (var(--effect-offset) / 8) / 2);
    y: calc(var(--effect-offset) / 2 - (var(--effect-offset) / 8) / 2);
    rx: 0.5rem;
    fill: transparent;
}

.border-glow {
    filter: blur(5px);
    stroke-width: 7px;
}

.name-header:hover .border-glow,
.name-header:hover .border-line {
    stroke-dashoffset: 975;
    stroke: var(--effect-color);
}

.social-medias {
    display: flex;
    justify-items: center;
    align-items: center;
    gap: 1.5rem;
}

.language-switcher {
    display: flex;
    align-items: center;
    padding: 0.5rem;
}

#language-select {
    background-color: var(--bg-color);
    color: var(--text-color);
    border: 1px solid var(--effect-color);
    border-radius: 0.5rem;
    padding: 0.25rem 0.5rem;
    font-family: monospace;
    cursor: pointer;
}

.linker {
    display: flex;
}

.instagram-svg {
    cursor: pointer;
}

.linkedin-svg {
    fill: var(--fill-out);
    cursor: pointer;
}

.github-svg {
    fill: var(--fill-out);
    align-items: flex-end;
    cursor: pointer;
}

.sections-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* center the entire container */
    align-items: center;
    gap: 3rem; /* control spacing between left and right sections */
    max-width: 1000px;
    margin: 0 auto 3rem; /* center and give spacing below */
    padding: 0 1rem; /* padding for smaller screens */
}

.left-section,
.rigth-section {
    flex: 1 1 300px; /* allow flexibility but prevent shrinking too small */
    max-width: 450px;
}

.left-section h1:nth-child(1) {
    font-size: 1.75rem;
    margin-top: 1em;
    cursor: default;
    user-select: none;
}

.left-section h1:nth-child(2) {
    font-size: 3.5rem;
    margin-top: 0.5em;
    max-width: 14ch;
    margin-bottom: 1em;
    cursor: default;
    user-select: none;
}

.rigth-section {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}

.my-photo {
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
}

.text-info {
    max-width: 45ch;
    font-size: 1.25rem;
    text-align: center;
    cursor: default;
    user-select: none;
}

.contact-button {
    border: 0.1em solid var(--bg-color);
    color: var(--bg-color);
    background-color: var(--text-color);
    border-radius: 1.25em;
    padding: 0.5em 1em;
    font-size: 1.1rem;
    cursor: pointer;
    box-shadow: 0em 0em 50px 1px var(--effect-color);
}

.contact-button:hover {
    animation: button-color-change 1500ms ease-in-out infinite;
}

@keyframes button-color-change {
    0% {
        color: var(--bg-color);
        background-color: var(--text-color);
        border: 0.1em solid var(--bg-color);
        box-shadow: 0em 0em 50px 1px var(--text-color);
    }
    50% {
        color: var(--bg-color);
        background-color: var(--effect-color);
        border: 0.1em solid white;
        box-shadow: 0em 0em 50px 1px var(--effect-color);
    }
    100% {
        color: var(--bg-color);
        background-color: var(--text-color);
        border: 0.1em solid var(--bg-color);
        box-shadow: 0em 0em 50px 1px var(--text-color);
    }
}

@keyframes name-animation {
    from {
        fill: transparent;
    }
    to {
        fill: var(--effect-color);
        filter: blur(calc(var(--effect-offset) / 4));
    }
}

@media (max-width: 465px) {

    .name-container {
        justify-content: center;
    }

    .name-header {
        text-align: center;
    }

    .social-medias{
        padding-bottom: 1rem;
    }
}

@media (max-width: 768px) {
    .timeline {
        margin-left: 0;
        padding-left: 1rem;
        border-left: none;
        border-top: 2px solid var(--effect-color);
        display: flex;
        flex-direction: column;
    }

    .timeline-item {
        margin-bottom: 2rem;
        padding-left: 0;
        padding-top: 1rem;
        border-left: none;
        border-top: none;
        position: relative;
    }

    .timeline-dot {
        left: auto;
        top: -0.6rem;
        align-self: flex-start;
        margin-left: 0.5rem;
    }

    .timeline-content {
        margin-left: 0;
        padding: 1rem;
    }
}

.experience-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 4rem;
}

.experience-section {
    max-width: 768px;
    width: 100%;
    padding: 0 1rem;
}

.section-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    text-align: center;
    color: var(--text-color);
    user-select: none;
}

.timeline {
    position: relative;
    margin-left: 2rem;
    padding-left: 2rem;
    border-left: 2px solid var(--effect-color);
}

.timeline-item {
    position: relative;
    margin-bottom: 2rem;
    padding-left: 1rem;
}

.timeline-dot {
    position: absolute;
    left: -1.2rem;
    top: 0.4rem;
    width: 1rem;
    height: 1rem;
    background-color: var(--effect-color);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--effect-color);
}

.timeline-content {
    background-color: rgba(255, 255, 255, 0.05);
    padding: 1rem;
    border-radius: 0.75rem;
    box-shadow: 0 0 5px var(--effect-color);
    max-width: 600px;
}

.job-title {
    font-size: 1.25rem;
    margin: 0 0 0.25rem 0;
    color: var(--text-color);
}

.job-company {
    display: block;
    font-weight: bold;
    margin-bottom: 0.25rem;
}

.job-location {
    display: block;
    font-size: 0.95rem;
    color: var(--text-color);
    opacity: 0.7;
    margin-bottom: 0.25rem;
}

.job-dates {
    display: block;
    font-size: 0.95rem;
    color: var(--text-color);
    margin-bottom: 0.5rem;
    opacity: 0.8;
}

.job-description {
    margin: 0;
    font-size: 1rem;
    color: var(--text-color);
}
