html {
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    font-size: 100%;
}

body {
    width: 100%;
    margin: 0;
    color: #f1e8e8;
}

picture {
    max-width: 100%;
}

#header {
    display: block;
    clear: both;
    height: 1rem;
    padding: 0.5rem 23% 2rem 23%;
    background-color: #232121;
}

@media (min-width: 414px) {
	#header {
		height: calc(1rem + ((100vw - 25.875rem) / 64.125) * 3);
	}
}

@media (min-width: 1440px) {
    #header {
        height: 4rem;
    }
}

.menuheader {
    float: left;
    padding: 0.25rem;
    font-weight: 600;
    color: #f1e8e8;
    text-transform: lowercase;
}

.menuheader a:link,
.menuheader a:visited,
.menuheader a:hover {
    color: #f1e8e8;
    text-decoration: none;
}

.menuitem {
    float: right;
    padding: 0.25rem;
    font-size: 95%;
    font-weight: 500;
}

.menuitem a:link,
.menuitem a:visited,
.menuitem a:hover {
    color: #f1e8e8;
    text-decoration: none;
}

#steve {
    padding: 0 23% 0 23%;
    background-color: #232121;
    clear: both;
}

#introduction {
    display: grid;
    grid-template-columns: 61.8fr 38.2fr;
    grid-template-rows: auto auto;
    grid-column-gap: 7%;
    grid-row-gap: 3%;
    justify-items: stretch;
    align-items: stretch;
}

#textbox {
    grid-column: 1;
    grid-row: 2;
}
 
#portraitbox {
    grid-column: 2;
    grid-row: 2;
}

@media (max-width: 414px) {
    #portraitbox {
        grid-column: 1;
        grid-row: 1;
    }
}

#portrait {
    float: right;
    border-style: solid;
    border-color: #f1e8e8;
    border-width: 0.2rem;
    border-radius: 0.4rem;
}

@media (max-width: 414px) {
    #portrait {
        float: left;
    }
}

#names {
    float: left;
    font-size: 2.25rem;
    padding: 1.5rem 0 0.5rem 0em;
    text-transform: lowercase;
}

@media (min-width: 414px) {
    #names {
        font-size: calc(2.25rem + ((100vw - 25.875rem) / 64.125) * 1.75);
    }
}

@media (min-width: 1440px) {
    #names {
        font-size: 4rem;
    }
}

#keywords {
    float: left;
    line-height: 2.6em;
    font-size: 1rem;
    padding: 0.5rem 0 0.5rem 0;
    text-transform: lowercase;
}

@media (min-width: 414px) {
    #keywords {
        font-size: calc(1rem + ((100vw - 25.875rem) / 64.125) * 0.3);
    }
}

@media (min-width: 1440px) {
    #keywords {
        font-size: 1.3rem;
    }
}

.keyword {
    white-space: pre;
    background-color: #556474;
    border-style: solid;
    border-color: #556474;
    border-width: 0.25rem;
    border-radius: 0.25rem;
    padding: 0.15rem;
    margin-right: 0.2rem;
}

#description {
    float: left;
    line-height: 1.5em;
    font-size: 1.1rem;
    padding: 1.5rem 0 1rem 0;
    text-transform: lowercase;
}

@media (min-width: 414px) {
    #description {
        font-size: calc(1.1rem + ((100vw - 25.875rem) / 64.125) * 0.3);
    }
}

@media (min-width: 1440px) {
    #description {
        font-size: 1.4rem;
    }
}
#socialmedias {
    float: left;
    padding: 2.5rem 0 6rem 0;
}

.socialmedia {
    padding: 0.5rem 2.5rem 0.5rem 0;
}

.socialmedia a:link,
.socialmedia a:visited,
.socialmedia a:hover {
    text-decoration: none;
}

#logoxing {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    width: 1.75rem;
    height: 1.75rem;
}

#logomastodon {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    width: 1.75rem;
    height: 1.75rem;
}

.textpage {
    margin: 0;
    padding: 0 23% 0 23%;
    background-color: #232121;
    clear: both;
}

.textpage h1 {
    margin: 0;
    padding: 0 0 1.5rem 0;
}

.textpage p {
    margin: 0;
}

.textpage a:link,
.textpage a:visited,
.textpage a:hover {
    color: #a7a2a2;
    text-decoration: none;
}

.thirdparty {
    margin: 0;
    padding-top: 1rem;
    font-size: 85%;
}

#projects {
    clear: both;
    padding: 0.5rem 23% 5rem 23%;
    background-color: #383636;
}

.sectionheader {
    padding: 3rem 0 0 0;
}

.sectionheadline {
    font-size: 200%;
}

.sectionteaser {
    font-size: 125%;
}

.contentgrid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    grid-column-gap: 3%;
    grid-row-gap: 3%;
    justify-items: stretch;
    align-items: stretch;
}

.contentbox1 {
    grid-column: 1;
    grid-row: 1;
}

.contentbox2 {
    grid-column: 2;
    grid-row: 1;
}

.contentbox3 {
    grid-column: 1;
    grid-row: 2;
}

.contentbox4 {
    grid-column: 2;
    grid-row: 2;
}

.contentbox5 {
    grid-column: 1;
    grid-row: 3;
}

.contentbox6 {
    grid-column: 2;
    grid-row: 3;
}

#footer {
    clear: both;
    background-color: #232121;
}

#links {
    text-align: center;
    padding-top: 4rem;
}

.link {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.link a:link,
.link a:visited,
.link a:hover {
    color: #a7a2a2;
    text-decoration: none;
}

#copyright {
    color: #d5d2d2;
    font-size: 85%;
    text-align: center;
    padding-top: 2.5rem;
    padding-bottom: 1.5rem;
}

#copyright a:link,
#copyright a:visited,
#copyright a:hover {
    color: #a7a2a2;
    text-decoration: none;
}
