/* default variables */
:root {
    --responsive-mode: "default";
    --container-width: 1024px;
    --container-gutter: calc(calc(100% - var(--container-width)) / 2);
    --gutter-default: 15px;
    --whitespace: 50px;
    --system-ui-fonts: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --gutter-sm: calc(var(--gutter-default) / 2);
    --gutter-1x: calc(var(--gutter-default) * 1);
    --gutter-2x: calc(var(--gutter-default) * 2);
    --gutter-3x: calc(var(--gutter-default) * 3);
}

/* base styles */
body {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    font-family: var(--system-ui-fonts);
    font-size: 18px;
}

header,
section,
footer {
    padding: var(--whitespace, 30px) 0;
}

project-icon svg { width: 1.2em; height: 1.2em; }

/* typography */
p:not(:last-child) { margin-bottom: 0.75em; }
a { color: inherit; }
a:visited { color: inherit; } /* don't change the color of visited links */
pre:has(code) { overflow-x: scroll; }
pre:has(code) { margin-bottom: var(--gutter-1x, 15px); }
svg { color: inherit; }

/* simple grid system */
content-container {
    display: block;
    width: var(--container-width);
    margin-left: var(--container-gutter);
    margin-right: var(--container-gutter);
    padding: 0;
}
content-whitespace {
    display: flex;
    flex-direction: column;
    flex: 1;
}
content-row {
    width: 100%;
    max-width: 100%;
    gap: var(--gutter-1x, 15px);
    align-items: center;
}
content-row[grid] {
    display: grid;
    box-sizing: content-box;
    grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); /* MAGIC */
    grid-template-rows: auto;
    grid-auto-flow: column;
}
content-row[flex] {
    display: flex;
    flex-direction: row;
}
content-row[spread] { justify-content: space-between; }
content-row[spread] > :first-child { text-align: start; }
content-row[spread] > :last-child { text-align: end; }

/* responsive */
@media only screen and (min-width: 1024px) {
    :root {
        --responsive-mode: "lg";
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    :root {
        --responsive-mode: "md";
        --container-width: 720px;
    }
}

@media only screen and (max-width: 767px) {
    :root {
        --responsive-mode: "sm";
        --container-width: 92vw;
        --container-gutter: 4vw;
        --gutter-default: 10px;
    }
}

/* project-icon global styles */
project-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2em;
    height: 1.2em;
    vertical-align: middle;
    flex-shrink: 0;
}
project-icon svg {
    width: 100%;
    height: 100%;
}

/* contact form styles */
.contact-form {
    max-width: 600px;
    margin-top: var(--gutter-2x, 30px);
}
.contact-form .form-group {
    margin-bottom: var(--gutter-1x, 15px);
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.contact-form label {
    font-weight: 500;
    font-size: 0.9em;
}
.contact-form input,
.contact-form textarea {
    padding: var(--gutter-sm, 7.5px);
    font-family: inherit;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    color: #000;
}
.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #48547c;
}
.contact-form button {
    padding: 10px 20px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    background-color: #48547c;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.contact-form button:hover {
    background-color: #3b4566;
}


/* Gravatar Hovercard Styles */
.gravatar-hovercard{display:inline-block;font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;line-height:1.5;color:#000;z-index:10000000}.gravatar-hovercard,.gravatar-hovercard::before,.gravatar-hovercard::after{box-sizing:border-box}.gravatar-hovercard *{margin:0;padding:0;border:0;box-sizing:inherit;font:inherit;line-height:inherit;color:inherit;background:rgba(0,0,0,0);vertical-align:baseline;list-style:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.gravatar-hovercard a{text-decoration:none;cursor:pointer}.gravatar-hovercard button{background:none;border:none;padding:0;cursor:pointer}.gravatar-hovercard img,.gravatar-hovercard svg{display:block;max-width:100%;height:auto}.gravatar-hovercard a:focus-visible,.gravatar-hovercard button:focus-visible{outline:2px solid revert}.gravatar-hovercard .gravatar-hovercard__inner{display:flex;flex-direction:column;justify-content:space-between;width:336px;min-height:273px;position:relative;padding:24px 24px 16px;background-color:#fff;border:1px solid #d8dbdd;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.08);overflow:hidden}.gravatar-hovercard .gravatar-hovercard__header-image{position:absolute;top:0;left:50%;height:75px;width:100%;transform:translateX(-50%);overflow-y:hidden}.gravatar-hovercard .gravatar-hovercard__header-image-img{width:100%;-o-object-fit:cover;object-fit:cover;transform:translateY(-30%);filter:blur(40px)}.gravatar-hovercard .gravatar-hovercard__header{z-index:1;display:flex;flex-direction:column;gap:8px}.gravatar-hovercard .gravatar-hovercard__avatar-link{width:-moz-fit-content;width:fit-content}.gravatar-hovercard .gravatar-hovercard__avatar{border-radius:50%;background-color:#eee}.gravatar-hovercard .gravatar-hovercard__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:32px;font-weight:700;line-height:38px}.gravatar-hovercard .gravatar-hovercard__job,.gravatar-hovercard .gravatar-hovercard__location{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;color:#707070}.gravatar-hovercard .gravatar-hovercard__body{margin-top:8px}.gravatar-hovercard .gravatar-hovercard__description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.gravatar-hovercard .gravatar-hovercard__social-links{display:flex;align-items:center;gap:4px;margin-top:16px}.gravatar-hovercard .gravatar-hovercard__buttons{display:flex;gap:16px;margin-top:16px}.gravatar-hovercard .gravatar-hovercard__button{width:100%;min-height:42px;padding:8px;border-radius:4px;border:1px solid rgba(29,79,196,.3);font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:15px;font-weight:600;line-height:21px;color:#1d4fc4}.gravatar-hovercard .gravatar-hovercard__button:hover{border:1px solid rgba(29,79,196,.6)}.gravatar-hovercard .gravatar-hovercard__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.gravatar-hovercard .gravatar-hovercard__profile-url{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;word-break:break-all;color:#707070}.gravatar-hovercard .gravatar-hovercard__profile-link{flex-shrink:0;color:#707070}.gravatar-hovercard .gravatar-hovercard__profile-color{position:absolute;bottom:0;left:0;width:100%;height:4px}.gravatar-hovercard--skeleton .gravatar-hovercard__avatar-link,.gravatar-hovercard--skeleton .gravatar-hovercard__personal-info-link,.gravatar-hovercard--skeleton .gravatar-hovercard__social-link,.gravatar-hovercard--skeleton .gravatar-hovercard__profile-link,.gravatar-hovercard--skeleton .gravatar-hovercard__profile-url{background-color:#eee}.gravatar-hovercard--skeleton .gravatar-hovercard__avatar-link{width:104px;height:104px;border-radius:50%}.gravatar-hovercard--skeleton .gravatar-hovercard__personal-info-link{height:38px;width:70%}.gravatar-hovercard--skeleton .gravatar-hovercard__social-link{width:32px;height:32px;border-radius:50%}.gravatar-hovercard--skeleton .gravatar-hovercard__profile-url{width:50%;height:21px}.gravatar-hovercard--skeleton .gravatar-hovercard__profile-link{height:21px;width:96px}.gravatar-hovercard--error .gravatar-hovercard__inner{align-items:center;justify-content:center;gap:34px}.gravatar-hovercard--error .gravatar-hovercard__error-message-wrapper{display:flex;flex-direction:column;align-items:center}.gravatar-hovercard--error .gravatar-hovercard__error-message{color:#707070}.gravatar-hovercard--error .gravatar-hovercard__error-message.gravatar-hovercard__error-message--claim-gravatar a{text-decoration:underline}.gravatar-hovercard__drawer{position:absolute;top:0;left:0;bottom:0;right:0;visibility:hidden;overflow:hidden;z-index:1}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-backdrop{position:absolute;top:0;left:0;bottom:0;right:0;background-color:rgba(0,0,0,.4);opacity:0;transition:opacity .3s ease-in-out}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-card{position:absolute;left:0;bottom:0;width:100%;max-height:100%;display:flex;flex-direction:column;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;padding:20px 0;transform:translate3d(0, 100%, 0);transition:transform .3s ease-in-out}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;margin-bottom:16px}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-title{font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:18px;font-weight:700;line-height:27px}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-close{display:flex;align-items:center;justify-content:center}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-items{display:flex;flex-direction:column;padding:0 20px;gap:12px;overflow-y:auto}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-item{display:flex;align-items:start;gap:8px}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-item-info{display:flex;flex-direction:column}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-item-label{font-weight:600;line-height:24px;text-transform:capitalize}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-item-link{color:#1d4fc4}.gravatar-hovercard__drawer .gravatar-hovercard__drawer-item-link:hover{text-decoration:underline}.gravatar-hovercard__drawer.gravatar-hovercard__drawer--open{visibility:visible}.gravatar-hovercard__drawer.gravatar-hovercard__drawer--open .gravatar-hovercard__drawer-backdrop{opacity:1}.gravatar-hovercard__drawer.gravatar-hovercard__drawer--open .gravatar-hovercard__drawer-card{transform:translate3d(0, 0, 0)}.gravatar-hovercard__drawer.gravatar-hovercard__drawer--closing{visibility:visible}.gravatar-hovercard__drawer.gravatar-hovercard__drawer--closing .gravatar-hovercard__drawer-backdrop{opacity:0}.gravatar-hovercard__drawer.gravatar-hovercard__drawer--closing .gravatar-hovercard__drawer-card{transform:translate3d(0, 100%, 0)}

/*# sourceMappingURL=style.css.map*/

/* gravatar-card responsive alignment */
@media only screen and (min-width: 768px) {
    gravatar-card {
        float: right;
        margin-left: var(--gutter-2x, 30px);
        margin-bottom: var(--gutter-2x, 30px);
    }
}
@media only screen and (max-width: 767px) {
    gravatar-card {
        display: block;
        margin: 0 auto var(--gutter-2x, 30px) auto;
    }
}
/* clear float after the content */
content-container::after {
    content: "";
    display: table;
    clear: both;
}
