* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --margin-grid: 2rem;
}

@media (max-width: 992px) {
    :root {
        --margin-grid: 1.5rem;
    }
}

@media (max-width: 576px) {
    :root {
        --margin-grid: 1.5rem;
    }
}


.container-fluid {
    padding-left: var(--margin-grid);
    padding-right: var(--margin-grid);
}

.row {
    --bs-gutter-x: 1rem;
}

a {
    color: inherit;
    text-decoration: none;
}

@font-face {
    font-family: "PP Mori";
    src: url('fonts/PPMori-Regular.otf');
}

body{
    font-family: "PP Mori";
    color: #ED1827;
    background-color: #e2d2d3;

    *::selection{
        color: #e2d2d3;
        background-color: #ED1827;
    }

    i::selection{
        color: #ED1827;
        background-color: #e2d2d3;
    }
}

/* ========== CURSOR ========== */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 100%;
    cursor: pointer;
}

/* ========== HEADER ========== */

header{
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    line-height: 100%;
    height: 5rem;
    padding: var(--margin-grid);
    z-index: 100;
    font-size: 2rem;
}

@media (max-width: 576px) {
    header{
    font-size: 1.25rem;
    }
}

.work-header{
    color: #ED1827;
}

header :hover{
    text-decoration: underline;
}

.index-header{
    color: #e2d2d3;
    background-color: #ED1827;
}

header nav ul{
    display: flex;
    gap: 1.5rem;
    list-style: none;
}


/* ========== MAIN ========== */

main{
    margin-top: 4rem;
    min-height: calc(100dvh - 9rem);
}

.background{
    background-color: #ED1827;
}

/* ========== WORK ========== */

main.work{
    display: flex;
    align-items: flex-end;
    padding-bottom: 2.5rem;
    height: calc(100dvh - 5rem);
    color: #ED1827;
}

@media (max-width: 576px) {
    main.work {
        padding-bottom: 0rem;
    }
    
}

main.work .card{
    position: relative;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid #ED1827;
}

main.work .card:last-of-type{
    border-bottom: 1px solid #ED1827;
    padding-bottom: 1rem;
}


main.work .card-title{
    font-size: 1.5rem;
}

@media (max-width: 576px) {
    main.work .card-title{
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
    }
    
}

main.work .card-regime{
    font-size: 0,85rem;
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 120%;
}

main.work .card-date{
    font-size: 0.85rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

main.work .card-image{
    position: absolute;
    top: -4rem;
    left: 25%;
    z-index: 10;
    aspect-ratio: 4/2.5;
    width: 20%;
    opacity: 0;
    transition: .2s;
    pointer-events: none;
}

main.work .card-image img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

main.work .card:hover .card-image{
    opacity: 1;
}

@media (max-width: 576px) {
    main.work .card-image{
    display: none;
    }
    
}

/* ========== ABOUT ========== */


main.about{
    padding:var(--margin-grid);
    font-size: 3.25rem;
    line-height: 120%;
    color: #e2d2d3;
    display: flex;
    align-items: flex-end;
}

@media (max-width: 576px) {
    main.about{
        font-size: 2rem;
    }
}


/* ========== PROJECT ========== */

main.project{
    padding-top: 5rem;
}

@media (max-width: 576px) {
    main.project{
        padding-top: 2rem;
    }
}

main .project-title{
    padding-bottom: 2rem;
    font-size: 1rem;
}

main .project-text{
    padding-bottom: 2rem;
    font-size: 2rem;
    line-height: 125%;
}

@media (max-width: 576px) {
    main .project-text{
        font-size: 1.5rem;
    }
}

main .project-tags{
    font-size: 0.85rem;
    line-height: 140%;
}

@media (max-width: 576px) {
    main .project-tags{
        margin-bottom: 2rem;
    }
}

main .project-images img{
    width: 100%;
    height: auto;
    margin-bottom: var(--bs-gutter-x);
    display: block;
}

main .project-video{
    width: 100%;
    height: auto;
    margin-bottom: var(--bs-gutter-x);
    display: block;
    padding: 56.25% 0 0 0; 
    position: relative
}

main .project-video iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

main .project-before-after{
    font-size: 2rem;
    display: flex;
    justify-content: flex-end;
    padding-bottom: 2rem;
}

main .space-between-arrows{
    padding-left: 2rem;
}

main .project-last-arrow{
    padding-right: 4.4rem;
}


/* ========== FOOTER ========== */

footer{
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    height: 5rem;
    line-height: 140%;
}

footer ul{
    list-style: none;
}

.grey-footer{
    color: #e2d2d3;
    list-style: none;
} 

.grey-footer ul li :hover{
    list-style: none;
    text-decoration: underline;
}

