@font-face {
    font-family: 'bdy';
    src: url('font/sf-mono-regular-webfont.woff2') format('woff2'),
        url('font/sf-mono-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;

}

@font-face {
    font-family: 'hd';
    src: url('font/spacegrotesk-bold-webfont.woff2') format('woff2'),
        url('font/spacegrotesk-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;

}

body {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'bdy';
    font-size: 18px;
    line-height: auto;
    color: #778490;
}

::selection {
    background: #FC8C7C;
    color: #fff;
}

.container {
    max-width: 1160px;
    margin: 0px auto;
}

.hero {
    height: calc(100vh - 160px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.highlighted-link {
    padding: 1em;
    border: 3px solid #ff0057;
}
.highlighted-link:hover, .highlighted-link:focus {
    background-color: #ff0057;
    color: white;
    opacity: 1;
}
.highlighted-link:active {
    background-color: #ff0057;
    color: white;
    opacity: 0.6;
}

.highlight-color {
    color: #ff0057;
}

p {
    color: #677078;
    line-height: 1.6em;
    margin-bottom: 2em;
}

a {
    text-decoration: none;
    color: inherit;
    transition: opacity ease-in-out 0.1s;
}

a:hover {
    opacity: 0.6;
}

.underlined {
    text-decoration: underline;
}

.bold {
    font-weight: bold;
}

mark {
    font-weight: bold;
    color: #0F253C;
    background-color: inherit;
    font-family: 'bdy';
    font-size: inherit;
    line-height: inherit;
}

.short-skills{
    margin-top:2em;
}
.short-skills > dl > dt {
    font-weight: bold;
    color: #0F253C;
}
.short-skills > dl > dd {
    margin-bottom: 2em;
}

.social a {
    margin-right: 24px;
}

h1 {
    font-family: hd;
    font-style: normal;
    font-weight: bold;
    font-size: 72px;
    line-height: 1.1em;
    color: #0F253C;
}

h2 {
    font-family: hd;
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.1em;
    color: #0F253C;
    margin: 24px 0px 0px 0px;
}

.muted {
    color: #677078;
}

h3 {
    font-family: hd;
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.1em;
    color: #0F253C;
    margin: 18px 0px 9px 0px;
}

.tag {
    color: #8565b1;
    font-weight: bold;
    white-space: nowrap;
}
.tag::before { content: "#"; }

.grid {
    width: 100%;
    display: flex;
    gap: 2em;
    justify-content: space-between;
    flex-wrap: wrap; 
    /* display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 40px;
    grid-row-gap: 80px; */
}

.grid-image {
    width: 100%;
    height: auto;
    background: #EDF2F5;
    border-radius: 4px;
    overflow: hidden;
}

.grid-image img {
    max-width: 100%;
    vertical-align: top;
    border-radius: 4px;
    object-fit: contain;
    transition: transform .5s ease;
    filter: grayscale(85%);
}

.grid-image img:hover {
    transform: scale(1.1);
    filter: none;
}

.grid-item p {
    font-size: 14px;
    margin-top: 4px;
}

img.profile {
    border-radius: 4px;
    filter: grayscale(85%);
    width: 100%;
    transition: transform .5s ease;
}

img.profile:hover {
    transform: scale(1.1);
}

section {
    margin: 120px 0px;
}

section.spaced {
    margin: 240px 0px;
}

section.duo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px;
}

section.duo h1 {
    margin-top: 0;
}

header {
    margin-top: 80px;
}

.menu-line {
    position: fixed;
    top: 1em; right: 1em;
    padding: 0.25em;
    background: rgba(255,255,255,0.8);
    border-radius: 2px;
}
.menu-line a:hover {
    color: #ff0057;
}

header a {
    text-decoration: none;
    color: #778490;
}

header a:hover {
    opacity: 0.6;
}

.text-link {
    text-decoration: underline;
    color: #0F253C;
}

.page-footer {
    margin-bottom: 240px;
}

.page-footer a {
    width: 100%;
    background: #fff;
    text-align: center;
    font-family: 'hd';
    font-size: 18px;
    color: #0F253C;
    padding: 32px 0px;
    border: 1px solid #DEE2E6;
    border-radius: 8px;
    display: block;
    transition: all 0.2 ease-in-out;
}

.page-footer a:hover {
    background: #0F253C;
    opacity: 1;
    color: #fff;
    transition: all 0.2 ease-in-out;
}

.logogrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
    grid-gap: 1rem;
}

.logogrid>div {
    padding: 1rem;
}

.logogrid>div>a>img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .5s ease;
}

.logogrid>div:hover>a>img {
    transform: scale(1.5);
}

.tiles p {
    font-size: 12px;
    line-height: 22px;
    margin-top: 8px;
    color: #98A0A8;
}

.tiles img {
    border-radius: 4px;
}

.tile-single,
.tile-double {
    margin-top: 80px;
    display: block;
    height: auto;
}

.tile-single img {
    max-width: 100%;
}

.tile-double {
    display: flex;
    align-items: space-between;
}

.tile-double div {
    width: calc(50% - 20px);
}

.tile-double div img {
    max-width: 100%;
    height: auto;
}

.tile-double div:nth-child(2) {
    margin-left: 40px;
}

@media only screen and (max-width: 1160px) {
    .container {
        padding: 0px 40px;
    }
}

@media only screen and (max-width: 1024px) {

    h1,
    h2 {
        font-kerning: none;
        font-weight: normal;
    }

    h1 {
        font-size: 56px;
    }

    .container {
        padding: 0px 24px;
    }

    .grid,
    section.duo {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 40px;
    }

    .grid {
        margin-top: 80px;
        grid-row-gap: 40px;
    }

    section {
        margin: 60px 0px;
    }

    section.spaced {
        margin: 80px 0px;
    }

    section.duo {
        grid-gap: 0px;
    }

    .hero h1 {
        width: 100%;
    }

    .hero {
        padding: 32px 0px;
        height: 560px;
    }

    header {
        margin-top: 32px;
    }

    .social {
        margin: 32px 0px;
    }

    .tile-single {
        margin-top: 40px;
    }

    .tile-double {
        display: block;
        margin-top: 40px;
    }

    .tile-double div {
        width: 100%;
    }

    .tile-double div:nth-child(2) {
        margin-left: 0px;
        margin-top: 40px;
    }
}