body {
    font-family: Poppins, sans-serif;
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: white;

    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

main{
    flex: 1;
}

a {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

#hr-green {
    background-color:#87ea00;
    height: 0.625rem;
    border: 0;
}

#hr-blue {
    background-color:#00819f;
    height: 0.625rem;
    border: 0;
}

#hr-orange {
    background-color:#ff7f00;
    height: 0.625rem;
    border: 0;
}

#hr-red {
    background-color:#d9005f;
    height: 0.625rem;
    border: 0;
}

@keyframes fadeIn {
    from{
        opacity: 0;
    }

    to{
        opacity: 1;
    }
}


/* Navbar */

#navbar {
    width: 100%;
    background-color: #d9005f;
    border-bottom: 0.625rem solid #ff7f00;
}

#nav-list {
    list-style: none;
    display: flex;
    justify-content: space-evenly;

    padding: 0;
    margin: 0;
}

#nav-list a {
    display: block;
    text-decoration: none;
    color: white;
    padding: 3.125rem 6.25rem;
    font-weight: bold;
    font-size: 1.55rem;
    
    background-color: #d9005f;
    transition: 0.3s;
}

#nav-list a:hover {
    background-color: #ff7f00;
    transition: 0.3s;
}

/* Welcome */
#welcome-section{
    display: flex;
    align-content: center;
    flex-direction: column;
    color: #00819f;
    padding: 10% 0;
    animation: fadeIn 0.2s;
}

#welcome-section > h1{
    text-align: left;
    font-size: clamp(2rem, 8vw, 6.25rem);
    padding: 0 10%;
}

#description{
    padding: 0 10%;
    display: flex;
    align-items: center;
    gap: 1rem;
}

#description > p{
    font-size: clamp(0.2rem, 3vw, 1.5rem);
}

/* Description */
#about-section{
    padding: 10% 0;
    color: #00819f;
    font-size: clamp(0.2rem, 3vw, 1.6rem);
    padding: 0 5rem;
    animation: fadeIn 0.2s;
}

#about-section > div{
    margin: 4% 0;
}

#about-section > h1{
    text-align: center;
}

.about-item > p,img{
    display: flex;
    align-items: center;
    gap: 0.625rem;
    justify-content: center;
}

#languages{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    justify-items: center;
}

#language_imbalance{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20px, 1fr));
    justify-items: center;
}


.language-tile{
    text-align: center;
    color: #272728;
    font-weight: bold;
}

.yu_logo{
    width: clamp(2rem, 5vw, 5rem);
    height: auto;
    flex-shrink: 0;
}

.java_logo{
    width: clamp(2rem, 10vw, 8rem);
    height: auto;
    flex-shrink: 0;
}

.python_logo{
    width: clamp(2rem, 10vw, 8.75rem);
    height: auto;
    flex-shrink: 0;
}

.csharp_logo{
    width: clamp(2rem, 10vw, 7.5rem);
    height: auto;
    flex-shrink: 0;
}

.c_logo{
    width: clamp(2rem, 10vw, 7.5rem);
    height: auto;
    flex-shrink: 0;
}

#colour_logo{
    width: 4.688rem;
    height: auto;
}

/* Projects */

#project-section {
    max-width: 1400px;
    margin: 0 auto;
}

#project-section > h1{
    text-align: center;
    font-size: clamp(2rem, 8vw, 3.625rem);
    padding-top: 2%;
    color: #00819f;
}

#project-container{
    margin: 2%;
    padding: 1%;
}

#project-container > h2{
    color: #d9005f;
    font-size: clamp(1.4rem, 4vw, 1.8rem);
}

#project-container > p, ul{
    font-size: clamp(0.2rem, 3vw, 1.2rem);
}

#project-container > hr{
    margin: 3% 0;
}

.project-list > li{
    padding-bottom: 1.5%;
}

.project-tech{
    color: #ff7f00
}

.project-diagram-mmu {
    float: right;
}

.project-diagram-mmu > img {
    width: 20rem;
    height: auto;
    object-fit: contain;
}

.project-diagram-cpu{
    float: right;

}

.project-diagram-cpu > img {
    width: 30rem;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {

    .project-diagram-mmu {
        float: none;
        margin-left: 0;
        margin-bottom: 1rem;
    }
    
    .project-diagram-mmu > img {
        width: 100%;
        max-width: 30rem;
    }

    .project-diagram-cpu {
        float: none;
        margin-left: 0;
        margin-bottom: 1rem;
    }
    
    .project-diagram-cpu > img {
        width: 100%;
        max-width: 30rem;
    }
}

#gamejam-container{
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    padding-left: 4%;
}

.gamejam-tile {
    margin: 2%;
    padding: 1%;

    display: flex;
    align-items: flex-start;
}

.gamejam-header {
    flex-shrink: 0;
    width: clamp(18.4rem, 24vw, 21.875rem);
}

.gamejam-image img:hover{
    border: 0.8rem solid #ff7f00;
    box-sizing: border-box;
    transform: scale(1.1);
    transition: 0.3s;
}

.gamejam-image img {
    width: clamp(18.4rem, 24vw, 21.875rem);
    height: auto;
    border: 0.8rem solid #87ea00;
    border-radius: 0.625rem;
    box-sizing: border-box;
    transition: 0.3s;
}

.gamejam-title{
    font-weight: Bold;
    color: #d9005f;
    font-size: clamp(0.8rem, 5vw, 1.8rem);
}

.gamejam-tech{
    color: #ff7f00;
    font-size: clamp(0.6rem, 3vw, 1.2rem);
    margin: 0;
}

.gamejam-description{
    align-items: center;
    text-align: left;
    font-size: clamp(0.2rem, 3vw, 1.2rem);
    padding-left: 2%;
    color: #272728;
}

/* MOBILE LAYOUT - Image top, description bottom */
@media (max-width: 48rem) {  /* 768px */
    .gamejam-tile {
        flex-direction: column;
        align-items: center;
        padding: 1.5rem;
    }
    
    .gamejam-image {
        width: 100%;
        max-width: 21.875rem;
        margin-bottom: 1rem;
    }
    
    .gamejam-description {
        text-align: left;
        padding-left: 0;
    }
    
    .gamejam-title {
        font-size: 1.5rem;
    }
    
    .gamejam-tech {
        font-size: 1rem;
    }
    
    .gamejam-description p {
        font-size: 1rem;
    }
}

/* Current */

#current_section{
    animation: fadeIn 0.2s;
}

#current-section > h1{
    font-size: clamp(1rem, 7vw, 2.8rem);
    color:#00819f;
    text-align: center;
    animation: fadeIn 0.2s;
}

#current-section > p{
    font-size: clamp(0.5rem, 4vw, 2.5rem);
    color: #272728;
    text-align: center;
    animation: fadeIn 0.2s;
}

#current-images{
    display: flex;
}
#img-2 > img,
#img-1 > img{
    width: 100%;
    max-width: 30rem;
    height: auto;
    margin: 0;

}



/* Contact */

#contact-section{
    animation: fadeIn 0.2s;
}

#contacts {
    text-align: center;
    color: #00819f;
    font-size: clamp(0.5rem, 8vw, 1.25rem);
}

#contacts > h1 {
    font-size: clamp(2.5rem, 8vw, 3.2rem);
}

#contact-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.contact-tile a img{
    transition: 0.3s;
    width: 50%;
    border-radius: 1rem;
    margin: auto;
    transition: 0.3s;
}

.contact-tile a img:hover{
    transform: scale(1.3);
    transition: 0.3s;
}

/* Footer */

footer {
    padding: 0.5%;
    font-family: Poppins, sans-serif;
    background-color: #d9005f;
    border-top: 0.313rem solid #00819f;
}

footer p {
    color: #F4F7F5;
    font-weight: bold;
    text-align: right;
}

/* Tablet (768px - 1024px) */
@media (max-width: 64rem) {
    #project-container {
        padding: 1rem 2rem;
    }
    
    .gamejam-header {
        width: auto;
    }
}


@media (max-width: 48rem) {
    #nav-list {
        flex-wrap: wrap;
    }

    #nav-list a {
        padding: 1rem;
        font-size: 1rem;
    }

}