.header{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: sticky;
}

section{
    position: relative;

}

@media screen and (max-width: 953px){
    .header{
        justify-content: center;
    }    
}

.navigation{
    display: flex;
    margin: calc(var(--spacing) * 2);
    gap: var(--spacing);
    align-self: flex-start
}

.navigation>a.outlined{
    background-color: var(--bg-c);
}

.socials{
    margin: 0 auto;
    margin-bottom: calc(var(--spacing) * 2);
    width: inherit;
    max-width: 50vw;
    min-width: 320px;
    justify-content: space-around;
}

.socials>a{
    width: 82px;
    height: 82px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: auto;
    padding: 20px;
    border-radius: calc(25% * var(--pi));
    background-color: var(--surface-bg);
    color: var(--socials-c);
    filter: var(--shadow)
}

.socials>a:hover,
.socials>a:focus{

    position: relative;
    top: -2px;
    filter: brightness(115%) var(--shadow);

}

.fa{
    text-decoration: none;
}

.skill-list{
    display: flex;
    gap: calc(var(--spacing) / 2);
    flex-wrap: wrap;
    list-style: none;
}

.skill-tag{
    border-radius: calc(25% / 4 );
    background-color: rgba(0,0,0,0.20);
    padding: 12px;
    filter: var(--shadow);
}

.primary-content{
    display: block;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: var(--spacing);
}

.nameplate{
    gap: calc(var(--spacing) * 0.25);
}

.nameplate-name>*:first-child::before{
    content: "I'm ";

}

.nameplate-title>*:first-child{
    text-transform: unset;
}

.nameplate-details{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
}


#flagship{
    margin: calc(var(--spacing) * 2) calc(var(--spacing) * 1);
}

#flagship>.surface:first-child{
    width: 100%;
    display: grid;
    padding: calc(var(--spacing) * 2.5);
    grid-template-columns: 530px 1fr;
    grid-template-rows: min-content;
    gap: calc(var(--spacing) * 2);
}

.flagship-image>.thumbnail{
    min-width: 320px;
}

.flagship-content{
    display: flex;
    flex-basis: 66%;
    justify-content: flex-start;
    flex-direction: column;
    padding: var(--spacing) 0;
}

.flagship-content>.flagship-title{
    margin-top: 0;
    margin-bottom: var(--spacing);
}

.flagship-content>.skill-list{
    margin: 0;
    padding-inline-start: 0;
}

.flagship-description{
    max-width: 900px;
    font-size: 1.33em;
}

.flagship-actions,
.card-actions{
    display: flex;
    gap: calc(var(--spacing) * 0.75 );
}

.flagship-actions>.button:first-child,
.card-actions>.button:first-child{
    color: var(--text-c) !important;
    background-color: var(--button-c);
}

@media screen and (max-width: 1240px) {
    #flagship>.surface:first-child{
        grid-template-columns: 100%;
        gap: 0;
    }
    /* .flagship-image{

    } */
}

#skills>.container{
    justify-content: flex-start;
    flex-direction: column;
}

#skills>.container>div:last-child{
    margin: calc(var(--spacing) * 1.5) 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--spacing) * 1.5);
}

#skills>.container h3{
    text-shadow: 2px 0 var(--bg-c), -2px 0 var(--bg-c), 0 2px var(--bg-c), 0 -2px var(--bg-c),
    1px 1px var(--bg-c), -1px -1px var(--bg-c), 1px -1px var(--bg-c), -1px 1px var(--bg-c);
}

#skills>.container a{
    text-decoration: none !important;
}


.skill-project-button{
    width: clamp(185px, 20vw, 275px);
    padding: calc(var(--spacing) * 2) 0;
    background-color: var(--secondary-c);
    text-align: center;
    font-size: 1.75em;
    filter: brightness(95%);
}

.skill-project-button:hover{
    position: relative;
    top: -2px;
    filter: brightness(100%) contrast(150%) var(--shadow);
}

@media screen and (max-width: 555px){
    .nameplate{
        flex-direction: column;
        align-items: center;
    }

    .nameplate-name,
    .nameplate-title,
    .nameplate-location{
        text-align: center;
    }

    #flagship{
        margin: 0 !important;
    }

    #flagship>.surface:first-child{
        margin:0;
        padding: calc(var(--spacing) * 1);
        flex-direction: column;
    }

    .socials{
        margin-bottom: var(--spacing);
        max-width: unset;
    }

    section>.container{
        padding: 0;
        margin:0;
    }

    #skills>.container>div:last-child{
        margin: var(--spacing) 0;
        gap: var(--spacing);
    }

    .skill-project-button{
        width: 150px;
        padding: calc(var(--spacing) * 1.25) 0;
        font-size: 1.5em;
    }

}

#projects>.container{
    justify-content: flex-end;
    text-align: right;
}

#contact{
    text-align: center;
}

#contact form{
    width: 100%;
}

#contact fieldset{
    justify-content: center;
    border: unset;
    display: grid;
    grid-template-columns: clamp(320px, 420px, 100%);
    gap: calc(var(--spacing) * 0.5);
}

#contact textarea{
    min-width: 320px;
}

#contact textarea,
#contact input[type="email"]{
    min-width: 200px;
    min-height: 35px;
    width:100%;
    border-radius: 6px;
    border: none;
    padding: calc(var(--spacing) * 0.25);
    background-color: rgba(250,250,250, 0.90);
}

#contact textarea:focus-visible,
#contact input[type="email"]:focus-visible{
    outline: none;
    border: 3px solid var(--primary-c);
    background-color: rgba(250,250,250, 0.95);
    filter: var(--shadow);
}

#contact fieldset .form-field-control:last-child{
    margin: calc(var(--spacing) * 0.5) 0;
    justify-content: center;
}

#contact .form-field-control{
    display: flex;
    gap: calc(var(--spacing) * 0.5);
}

#contact .form-field-control label{
    display: inline-block;
    min-width: 105px;
    text-align: right;
    font-weight: 700;
}

#projects>div.container{
    flex-direction:column;
    align-items: flex-end;
    position: relative;
}

#projects .project-grid{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 33%);
    gap: calc(var(--spacing) * 1.5);
    text-align: left;
    margin: calc(var(--spacing) * 2) 0;
}

@media screen and (max-width: 1300px){
    #projects .project-grid{
        grid-template-columns: repeat(2, 50%);
    }
}

@media screen and (max-width: 875px){
    #projects .project-grid{
        grid-template-columns: 100%;
    }
}

#projects .project-grid .card .surface{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

#projects .project-grid .card .card-image{
    width: 100%;
    border: 8px solid rgba(0,0,0,0.20);
}

#projects .project-grid .card .card-content{
    flex-grow: 2;
}

#projects .project-grid .card .card-title{
    white-space: nowrap;
    overflow:hidden;
    text-overflow: ellipsis;
    color:var(--primary-c);
    font-weight: 700;
    font-size: 1.66rem;
}

#projects .project-grid .card .card-actions{
    display: flex;
    gap: var(--spacing);
    flex-wrap: wrap;
}
