/* This seems to not be working for italic fonts */
@font-face {
    font-family: "JetBrains Mono";
    src: url("./JetBrainsMono.ttf");
}

:root {
    --color-atom-gray: #282c34;
    --color-atom-light-gray: #abb2bf;
    --color-atom-blue: #4082dd;
    --color-atom-red: #ec4d46;
    --color-atom-green: #739e61;
    --color-atom-orange: #ff6347;
    --color-atom-yellow: #c89220;

    --color-catppuccin-base: #eff1f5;
    --color-catppuccin-mantle: #e6e9ef;
    --color-catppuccin-crust: #dce0e8;

    --animation-duration: .3s;
    --common-border-radius: .5rem;

    --header-height: 3rem;
    --main-padding: 5rem;
    --codeblock-padding: 1em;
}

@media only screen and (max-width: 768px) {
    :root {
        --main-padding: 2rem;
    }
}

/* Force JetBrains Mono */
html, body, button {
    font-family: "JetBrains Mono", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variant-ligatures: none;
}

html, body {
    margin: 0;
    padding: 0;

    width: 100%;
    height: 100%;

    color: white;
    background-color: var(--color-atom-gray);
}

@media (prefers-color-scheme: light) {
    html, body {
        color: black;
        background-color: var(--color-catppuccin-base);
    }
}

h1, h2, h3, h4, h5, h6 {
    /* Like Tailwind, remove default annoying margin & padding */
    margin: 0;
    padding: 0;
}

main.index {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 100%;
    gap: 2rem;
}

@media only screen and (max-width: 768px) {
    main.index {
        flex-direction: column;
        text-align: center;
    }
}

main.index .index-boxes {
    display: flex;
    flex-direction: column;
    gap: .50rem;
}

.content {
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
    padding-bottom: calc(var(--main-padding) / 2);
}

.content img {
    max-width: 100%;
}

.content div.blog-image {
    min-width: 100%;

    display: flex;
    justify-content: center;
}

.content img.blog-image {
    max-height: 250px;

    border-radius: var(--common-border-radius);
}

.projects {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

@media only screen and (max-width: 768px) {
    .projects {
        grid-template-columns: repeat(1, 1fr);
    }
}

.project {
    height: max-content;

    display: flex;
    flex-direction: column;
    align-items: center;

    border: 1px solid var(--color-atom-light-gray);
    border-radius: var(--common-border-radius);
    padding: .5rem;
    margin: .5rem;
    gap: .5rem;
    text-align: center;
}

.project-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
}

.project-description {
    margin: 0;
    padding: 0;
    font-size: 12px;
}

.project-image {
    width: 100%;
    height: 7.5rem;
    object-fit: cover;
    border-radius: var(--common-border-radius);
}

.project-container .styled-button {
    font-size: 12px;
}

header {
    max-width: 100%;
    height: var(--header-height);

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 1rem;

    gap: .5rem;
}

span.epitech {
    color: var(--color-atom-blue);
}

.gray-divider {
    min-height: 100%;

    border: 1px solid var(--color-atom-light-gray);
}

img.avatar {
    border-radius: 1rem;
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.25));
}

header img.avatar {
    height: var(--header-height);
    border-radius: var(--common-border-radius);
}

main.index img.avatar {
    width: 8rem;
    height: 8rem;
}

a, a:visited {
    color: var(--color-atom-blue);
    text-decoration-color: var(--color-atom-blue);
}

a.styled-button {
    display: contents;
}

.not-found-home-button {
    display: flex;
    justify-content: center;
}

button.styled-button {
    padding: 0;
    border: 0;
    background-color: #0000;
    color: white;

    padding-top: .10rem;
    padding-bottom: .10rem;
    padding-left: .50rem;
    padding-right: .50rem;

    border: .075rem solid #ffffff;
    border-radius: .50rem;

    cursor: pointer;
    font-size: 15px;
    font-weight: 400;

    transition-duration: var(--animation-duration);
}

@media (prefers-color-scheme: light) {
    button.styled-button {
        color: black;
        border-color: black;
    }
}

button.copy-button {
    position: absolute;
    right: calc(var(--main-padding) + var(--codeblock-padding));
    display: block;
}

@media only screen and (max-width: 768px) {
    button.copy-button {
        display: none;
    }
}

.hover-bg-white:hover {
    background-color: white;
    color: black;
}

@media (prefers-color-scheme: light) {
    .hover-bg-white:hover {
        background-color: var(--color-catppuccin-crust);
    }
}

.hover-bg-green:hover {
    background-color: var(--color-atom-green);
    color: white;
}

.hover-bg-blue:hover {
    background-color: var(--color-atom-blue);
    color: white;
}

.hover-bg-black:hover {
    background-color: black;
    color: white;
}

button.badge {
    font-size: 10px;
    cursor: default;
}

button.badge-epitech {
    background-color: var(--color-atom-blue);
    color: white;
}

button.badge-wip {
    background-color: var(--color-atom-yellow);
    color: white;
}

button.badge-contributed-to {
    background-color: var(--color-atom-green);
    color: white;
}

button.badge-old {
    background-color: var(--color-atom-light-gray);
    color: black;
}

blockquote {
    border-left: 5px solid #676E79;
    border-radius: 0.15rem;
    margin: 0;
    padding-left: 1rem;
}

blockquote.markdown-alert-note {
    border-left-color: var(--color-atom-blue);
}

blockquote.markdown-alert-warning {
    border-left-color: var(--color-atom-yellow);
}

blockquote.markdown-alert-caution {
    border-left-color: var(--color-atom-red);
}

body div.global-notice {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

@media only screen and (max-width: 768px) {
    body div.global-notice {
        margin-top: calc(var(--main-padding) / 2);
        margin-bottom: calc(var(--main-padding) / 2);
    }
}

pre.giallo {
    overflow: auto;
    border: 1px solid var(--color-atom-light-gray);
    border-radius: 0.25rem;
    padding: var(--codeblock-padding);
}

/* Bypass of the forced italic in some code blocks */
/* I haven't found a better work around */
pre.giallo * {
    font-style: normal !important;
}

.internship-2027-my_ftp-images {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media only screen and (max-width: 768px) {
    .internship-2027-my_ftp-images {
        flex-direction: column;
    }
}
