/*Color variables*/

/*General styling*/
html{
    color: #e6ecf1;
    background-color: #202229;
    line-height: 125%;
}

.container{
    width: 1024px;
    margin: 0 auto;
}

.container-small{
    width: 840px;
    margin: 0 auto;
}

.visible {
    visibility: visible;
}

.hidden {
    visibility: hidden;
}

@media (max-width: 1200px){
    .container{
        width: 90%;
    }
}

.content {
    flex: 1 0 auto;
    margin-top: 10rem;
    margin-bottom: 4rem;
}

@media (max-width: 1200px){
    .content {
        margin-top: 7rem;
        margin-bottom: 1.5rem;
    }
}

h2{
    font-weight: bold;
    font-size: 3.2rem;
}

em{
    font-weight: 600;
}

a{
    font-size: 1.6rem;
    font-weight: bold;
    color: #de4641;
}

a:hover{
    color: #bb3a35;
    text-decoration: underline;
}

.italic{
    font-style: italic;
}

/*Header styling*/
.header{
    position: fixed;
    width: 100%;
    padding: 2rem 0;
    z-index: 10;

    background-color: #191b20;
}
.header .header-div{
        display: grid;
        flex-direction: row;
        align-items: center;
        grid-template-columns: 1fr 1fr;

        font-weight: bold;
        color: #e6ecf1bf;
    }
.header .header-div .header-title{
            grid-column-start: 1;
            font-size: 2.0rem;
        }
.header .header-div nav{
            display: grid;
            flex-direction: row;
            align-items: center;
            grid-template-columns: repeat(3, auto);
            column-gap: 2.5rem;
        
            grid-column-start: 2;
            justify-self: right;
            align-self: flex-end;
            font-size: 1.6rem;
        }
.header .header-div a{
            font-size: 1.6rem;
            color: #e6ecf1;
        }
.header .header-div a:hover{
            color: #bb3a35;
            text-decoration: none;
        }
.header .header-div .nav-button{
            padding: 1.2rem 2.2rem;
            border-radius: 3rem;
            background-color: #de4641;
        }
.header .header-div .nav-button:hover{
            color: #e6ecf1;
            background-color: #bb3a35;
        }

.title-full{
    display: block;
}

@media (max-width: 480px){
    .title-full{
        display: none;
    }
}

.title-short{
    display: none;
}

@media (max-width: 480px){
    .title-short{
        display: block;
    }
}

/*Footer styling*/
.footer{
    flex-shrink: 0;
    padding: 2rem 0rem 4rem 0rem;
}
.footer .footer-container{
        display: flex;
        grid-template-rows: repeat(2, 1fr);
        justify-content: space-between;
    }

.copyright{
    color: #e6ecf1bf;
    font-size: 1.4rem;
    font-weight: bold;
}

.socials{
    display: flex;
    grid-template-rows: repeat(5, 1fr);
    justify-content: space-between;
    width: 40rem;
}

.socials a{
        display: block;
        text-align: right;
    }

/*Home styling*/
.introduction{
    display: grid;
    flex-direction: row;
    justify-content: left;
    padding: 2.5rem 0 6rem 0;
    
    font-size: 1.8rem;
}
.introduction .introduction-title{
        padding-bottom: 7rem;
    }
.introduction .introduction-text{
        min-width: 80%;
        max-width: 60rem;
    }
.introduction .introduction-contact{
        padding-top: 5rem;

        min-width: 80%;
    }
.introduction a {
        font-size: 1.8rem;
    }

@media (max-width: 1200px){
    .introduction {
        padding-bottom: 6.5rem;
    }
}

.skills{
    margin-bottom: 9rem;
}

.skills .skills-grid{
        display: grid;
        flex-direction: row;
        grid-template-columns: repeat(3, 1fr);

        padding-top: 2.5rem;
    }

@media (max-width: 1200px) {
        .skills .skills-grid{
            flex-direction: column;
            grid-template-columns: 1fr;

            row-gap: 3rem;
        }
    }

.skills .skill-div h3{
            font-weight: bold;
            font-size: 1.8rem;
        }

.skills .skill-div .skill-list{
            padding-top: 1rem;
            font-size: 1.5rem;
            line-height: 2.5rem;
        }

@media (max-width: 1200px){
    .skills {
        margin-bottom: 6.5rem;
    }
}

.viewall{
    display: flex;
    justify-content: right;

    padding-top: 4rem;
    margin-bottom: 2rem;
}

@media (max-width: 1200px){
    .viewall{
        justify-content: center;
    }
}

/*Grid styling*/
.grid-title{
    text-align: center;
    margin-top: 1.5rem;
}

@media (max-width: 1200px){
    .grid-title {
        margin-top: 3rem;
    }
}

.projectcard-grid{
    display: grid;
    padding: 4rem 0rem 0rem 0rem;

    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2rem;
} 
   

@media (max-width: 1200px) {
    .projectcard-grid{
        flex-direction: column;
        grid-template-columns: 1fr;
    }
}

.projectcard-cell{
    width: 100%;
}

.projectcard-cell a{
        text-align: left;
    }

.projectcard-cell a h3{
            padding: 1rem 0 .5rem 0;
            font-size: 1.6rem;
            font-weight: bold;
        }

.projectcard-cell a .projectcard-image-display{
            display: grid;
            width: 100%;
            min-height: 20rem;
            grid-template-rows: 100%;
            grid-template-columns: 100%;
        }

.projectcard-cell a .projectcard-image-display .projectcard-image {
                width: 100%;
                grid-row: 1;
                grid-column: 1;

                border-radius: 1rem;
                z-index: 0;
            }

.projectcard-cell a .projectcard-image-display .ovelay-image {
                z-index: 1;
            }

.projectcard-description{
    font-size: 1.4rem;
    color: #e6ecf1bf;
}

.project-page-head{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    align-items: center;

    margin: 1rem 0 3rem 0;
}

.project-page-head .project-title{
        text-align: center;
        width: auto;
    }

.project-intro{
    display: grid;
    grid-template-columns: 50rem 1fr;
    align-items: center;

    margin-bottom: 6rem;
}

.project-video{
    display: block;
    width: 50rem;
    height: 33.75rem;

    border-radius: 1rem;
}

.project-data{
    display: grid;
    grid-template-rows: repeat(3, 1fr);

    padding-left: 5rem;
    font-size: 1.6rem;
}

.project-data .data-title{
        padding-bottom: 0.65rem;

        font-size: 1.8rem;
        font-weight: bold;
    }

.project-data .data-text{
        line-height: 135%;
    }

.button-div{
    display: grid;
    justify-content: center;
}

.button-div .link-button{
        margin: 0 auto;
        padding: 2rem;
        text-align: center;

        color: #e6ecf1;
        background-color: #de4641;
        border-radius: 0.5rem;

        text-decoration: none;
    }

.button-div .link-button:hover{
        background-color: #bb3a35;
    }

.margin-top-small{
    margin-top: 0.5rem;
}

.project-section{
    width: 100%;
    font-size: 1.7rem;
    margin-bottom: 7rem;

    line-height: 130%;
}

.project-section h3{
        font-size: 2.7rem;
        font-weight: bold;

        margin-bottom: 2rem;
    }

.project-section .dot-list{
        list-style-type: circle;
    }

.project-section .number-list{
        list-style-type: decimal;
    }

.project-section li{
        margin-left: 4rem;
        line-height: 150%;
    }

.task-container
{
    display: grid;
    grid-template-columns: 1fr 40rem;
}

.task-container div{
        padding-right: 2rem;
    }

.task-container img{
        width: 40rem;
        height: 20rem;
        border-radius: 1rem;

        background-color: #e6ecf1bf;
    }

.project-task-100
{
    width: 100%;
    margin-bottom: 4rem;
}

.project-task-100 h4{
        font-weight: bold;
        font-size: 2.2rem;

        margin-bottom: 1rem;
    }

.image-subtext-container{
    text-align: center;
    font-size: 1.4rem;
    color: #e6ecf1bf;
}

.project-credits
{
    width: 100%;
    line-height: 150%;
}