@import url("website.css");

:root {
    --maxscroll: 10;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    background: linear-gradient(#0d0d0d 0%, black 100%);
}

body {
    margin: 0;
}

#mobileDownload {
    display: block;
    width: fit-content;
    padding: 0 20px;
    margin: auto;
    margin-right: 0;
    font-size: 14px;
    transform: translateX(100%);
    opacity: 0;
    transition:
        transform 0.3s,
        opacity 0.3s;
}

main {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    gap: 20px;
}

#navbar {
    font-family: "Cera Pro";
    display: flex;
    position: sticky;
    width: auto;
    border-radius: 0 0 8px 8px;
    z-index: 2;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    top: 0;
}

.navbar-scrolled {
    background-color: #000000b0;
    backdrop-filter: blur(10px);
}

.navbar-scrolled #mobileDownload {
    transform: translateX(0);
    opacity: 1;
}

.navSide {
    flex: 1;
}

@media screen and (max-width: 1300px) {
    .navbar-scrolled #navTitle {
        color: white;
        transform: none;
    }
}

#navTitle {
    font-size: 17px;
    color: transparent;
    transform: scale(1.1);
    transition:
        transform 0.4s,
        color 0.2s;
}
#navTitle h3 {
    margin: 0;
}

#navBack {
    border: none;
    border-radius: 0.5rem;
    padding-left: 14px;
    background: transparent;
    color: #f2f2f2;
    text-decoration: none;
    padding: 0 20px;
    padding-left: 20px;
    height: 42px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    transition: all 0.3s;
    width: fit-content;
}

#navBack svg {
    width: 20px;
    height: 20px;
    margin-right: 7px;
    color: inherit;
}

#navBack:hover {
    background-color: rgba(0, 0, 0, 0.39);
}

#articles {
    background-color: white;
    padding: 20px;
    font-family: "Google Sans Medium";
    font-size: 20px;
    max-width: 1000px;
    margin: auto;
}

#articles h1 {
    margin-bottom: 0px;
}

.border {
    background: linear-gradient(
        90deg,
        rgba(0, 126, 11, 1) 0%,
        rgba(24, 151, 213, 1) 100%
    );
    border-radius: 30px;
    height: 10px;
    width: min(15em, 40vw);
    position: relative;
    display: inline-block;
}

.borDate {
    border-radius: 1rem;
    padding: 5px 10px;
    font-family: "Cera Pro";
    font-size: 12px;
}

.borDate.solonely {
    background: linear-gradient(
        45deg,
        rgba(0, 126, 11, 1) 10%,
        rgba(24, 151, 213, 1) 100%
    );
}

.borDate.left {
    background-color: rgb(0, 126, 11);
    margin-right: -5px;
}

.borDate.right {
    background-color: rgb(24, 151, 213);
    margin-left: -5px;
}

.content {
    display: flex;
    column-gap: 30px;
    text-justify: auto;
    align-items: center;
}

#debut {
    display: flex;
    height: 100vh;
    padding-top: 50px;
    background: none;
    color: white;
}

#debut > div {
    margin: auto;
    text-align: center;
    text-shadow: 0px 0px 30px black;
    background-image: url("./images/economy.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

#debut h1 {
    font-family: "Cera Pro";
    font-size: 55px;
    line-height: 1;
    margin-bottom: 0px;
    letter-spacing: 0.05em;
}

article {
    background-color: white;
    padding: 10px 20px;
    box-shadow: 0px 0px 0px transparent;
    margin: 20px auto;
    border-radius: 8px;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition:
        box-shadow 0.3s ease-in-out,
        background-image 0.3s ease-in-out;
}

#titreArticle {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    background: none;
    color: white;
}

#titreArticle > div {
    text-shadow: 0px 0px 30px black;
}

#titreArticle img {
    height: 200px;
    border-radius: 10px;
}

#titreArticle h1 {
    font-family: "Cera Pro";
    font-size: 45px;
    line-height: 1;
    margin-bottom: 30px;
    letter-spacing: 0.05em;
    /*animation: flicker-title 8s linear infinite both;*/
}

#titreArticle h2 {
    font-family: "Comfortaa";
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 40px;
}

#titreArticle h3 {
    font-family: "Comfortaa";
    font-weight: bold;
    font-size: 20px;
    color: white;
    margin-top: 25px;
    margin-bottom: 10px;
}

#liens {
    display: flex;
    flex-flow: wrap;
}

#liens a.projectViewMore {
    width: auto;
    margin: 10px;
    padding: 0 15px;
}

#mainContent,
#tag-articleList {
    background-color: white;
    margin: auto;
    display: inline-block;
    margin: 7px;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    border-radius: 10px;
    font-family: "Cera Pro";
    font-size: 20px;
}
#articleContent {
    box-shadow: 0px 0px 10px black;
    padding: 30px;
    border-radius: 10px;
    text-align: justify;
}

#articleContent p {
    font-family: "Cera Pro";
    font-size: 20px;
    color: black;
}

.reference {
    color: grey;
    text-decoration: none;
    transition: color 0.3s;
}

.reference:hover {
    color: black;
}

#articleContent h2 {
    font-family: "Google Sans";
    font-size: 30px;
    margin: 25px 0px 15px 0px;
}

#articleContent h4 {
    font-size: 22px;
    font-style: italic;
    font-weight: bold;
    font-family: "Comfortaa";
    margin: 25px;
    padding: 12px;
    padding-bottom: 7px;
    border-left: 5px #4285f4 solid;
    border-radius: 5px;
    color: #042a68;
}

#articleContent a:not(.imageLinks) {
    text-decoration-color: transparent;
    color: #0a6b9b;
    transition:
        color 0.25s,
        text-decoration-color 0.25s;
}

#articleContent a:hover {
    color: #1e9ddd;
    text-decoration-color: #1e9ddd;
}

#articleContent h4 a {
    transition:
        color 0.3s,
        letter-spacing 0.3s;
    text-decoration: none;
}

#articleContent h4 a .arrow-link {
    background-image: url("../img/svg/arrow.svg");
    width: 1.2rem;
    display: inline-block;
    height: 1.2rem;
    background-size: cover;
    background-repeat: no-repeat;
}

#articleContent h4 a:hover {
    color: #4285f4;
    letter-spacing: 0.05em;
}

#articleContent a.imageLinks {
    width: 30%;
    margin: 10px;
    display: block;
    margin: auto;
    border-radius: 10px;
    max-width: 300px;
}

#articleContent a.imageLinks:hover img {
    border-radius: 0;
}

a.imageLinks {
    transition: opacity 0s;
}

a.imageLinks.hide-img {
    opacity: 0;
    transition: opacity 0s 0.1s;
}

#articleContent img {
    width: 100%;
    border-radius: 10px;
    transition: border-radius 0.2s;
}

.nothing_here img {
    max-width: 400px;
    margin: auto;
    display: block;
}

.nothing_here p {
    text-align: center;
    font-style: italic;
    font-weight: lighter;
}

.separator {
    height: 5px;
    width: 175px;
}

.bibliography {
    list-style: symbols(
        fixed "[1]" "[2]" "[3]" "[4]" "[5]" "[6]" "[7]" "[8]" "[9]" "[10]"
    );
    font-size: 15px;
    font-family: "Cera Pro";
    font-weight: lighter;
}
.bibliography li {
    margin-bottom: 8px;
}

.imageAlign {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.imageAlign p {
    width: 80%;
}

@media (max-width: 800px) {
    #titreArticle {
        padding-top: 100px;
    }
    .imageAlign {
        flex-direction: column;
        gap: 0px;
    }
    .imageAlign p {
        width: 100%;
    }
    #articleContent a.imageLinks {
        width: 100%;
        max-width: 500px;
    }
    #tags {
        margin-top: 50px;
    }
}

#contactBG #mainContent {
    margin-bottom: 30px;
}

@media (min-width: 1300px) {
    main {
        flex-direction: row;
        padding: 10px 20px;
    }
    main > * {
        flex: 1;
    }
    #titreArticle {
        text-align: left;
        align-items: start;
        max-width: 1000px;
        display: flex;
        position: sticky;
        top: 65px;
        height: fit-content;
    }
    #mainContent {
        max-width: none;
    }

    #mobileDownload {
        display: none;
    }
}

/* Tag detail page */
.project-tags.tag-title > a {
    background-color: transparent;
    font-size: 50px;
    background-size: 60px;
    font-weight: bold;
}

.project-tags.tag-title > a:hover {
    padding-left: 20px;
}

#titreArticle.tag-page h1 {
    font-size: 35px;
}

#tag-articleList {
    background-color: transparent;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

@property --linear-position {
    syntax: "<percentage>";
    initial-value: 60%;
    inherits: false;
}

@property --linear-color {
    syntax: "<color>";
    initial-value: #1d1e22;
    inherits: false;
}

#tag-articleList .article-item {
    display: flex;
    flex-direction: row;
    height: 150px;
    gap: 15px;
    border-radius: 10px;
    text-decoration: none;
    background: linear-gradient(
        90deg,
        var(--linear-color) var(--linear-position),
        transparent
    );
    color: white;
    transition:
        --linear-position 0.3s,
        --linear-color 0.3s,
        transform 0.2s;
}
#tag-articleList .article-item:hover {
    --linear-position: 100%;
    --linear-color: #2f2f2f;
}

#tag-articleList .article-item:active {
    transform: scale(0.95);
    --linear-position: 100%;
    --linear-color: #2f2f2f;
}

#tag-articleList .article-item img {
    border-radius: 10px;
    object-fit: cover;
    width: 230px;
}

#tag-articleList .article-item h3 {
    margin: 10px 0;
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
}

#tag-articleList .article-item .article-item-content {
    padding: 10px 10px 10px 0;
    overflow: hidden;
}
#tag-articleList .article-item .article-item-content p {
    overflow: hidden;
    max-height: 3.9em;
    line-height: 1.3em;
    margin: 0;
}

@media screen and (max-width: 750px) {
    #tag-articleList .article-item img {
        width: 100%;
        height: 200px;
    }
    #tag-articleList .article-item {
        flex-direction: column;
        text-align: center;
        margin: 10px;
        height: auto;
        --linear-position: 100%;
        --linear-color: #2f2f2f9e;
    }
    #tag-articleList .article-item h3 {
        margin: 0;
    }
    #tag-articleList .article-item .article-item-content p {
        margin: 10px;
    }
}
