:root {
    --clr-txt: black;
    --clr-bgrnd: white;
    --clr-accnt: goldenrod;
    --sz-fnt: 16px;
    --sz-lnght: 1.25em;
    --wdth-pddng: 1rem;
    scroll-behavior: smooth;
}
/* Start layout */
body > *, article > * {
    --wdth-cntnt: 50rem;
    /* --pddng-x: calc(1rem + (100vw - min(100vw, var(--wdth-cntnt))) / 2); */
    --pddng-x: max(var(--wdth-pddng), calc((100% - min(100%, var(--wdth-cntnt))) / 2));
}
body > footer, article > * {
    padding: var(--wdth-pddng) var(--pddng-x);
}
body > header, article > header {
    --wdth-cntnt: 60rem;
    padding: var(--wdth-pddng) var(--pddng-x);
}
body > header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
article > header {    
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* End layout */

::selection  {
    background-color: var(--clr-txt);
    color: var(--clr-bgrnd);
}
body {
    background-color: var(--clr-bgrnd);
    color: var(--clr-txt);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    line-height: 1.25;
    font-size: 16px;
    margin: 0;
}
/* http://www.heropatterns.com/ */
body > header, body > footer {    
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='22' viewBox='0 0 80 88' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 21.91V26h-2c-9.94 0-18 8.06-18 18 0 9.943 8.058 18 18 18h2v4.09c8.012.722 14.785 5.738 18 12.73 3.212-6.99 9.983-12.008 18-12.73V62h2c9.94 0 18-8.06 18-18 0-9.943-8.058-18-18-18h-2v-4.09c-8.012-.722-14.785-5.738-18-12.73-3.212 6.99-9.983 12.008-18 12.73zM54 58v4.696c-5.574 1.316-10.455 4.428-14 8.69-3.545-4.262-8.426-7.374-14-8.69V58h-5.993C12.27 58 6 51.734 6 44c0-7.732 6.275-14 14.007-14H26v-4.696c5.574-1.316 10.455-4.428 14-8.69 3.545 4.262 8.426 7.374 14 8.69V30h5.993C67.73 30 74 36.266 74 44c0 7.732-6.275 14-14.007 14H54zM42 88c0-9.94 8.06-18 18-18h2v-4.09c8.016-.722 14.787-5.738 18-12.73v7.434c-3.545 4.262-8.426 7.374-14 8.69V74h-5.993C52.275 74 46 80.268 46 88h-4zm-4 0c0-9.943-8.058-18-18-18h-2v-4.09c-8.012-.722-14.785-5.738-18-12.73v7.434c3.545 4.262 8.426 7.374 14 8.69V74h5.993C27.73 74 34 80.266 34 88h4zm4-88c0 9.943 8.058 18 18 18h2v4.09c8.012.722 14.785 5.738 18 12.73v-7.434c-3.545-4.262-8.426-7.374-14-8.69V14h-5.993C52.27 14 46 7.734 46 0h-4zM0 34.82c3.213-6.992 9.984-12.008 18-12.73V18h2c9.94 0 18-8.06 18-18h-4c0 7.732-6.275 14-14.007 14H14v4.696c-5.574 1.316-10.455 4.428-14 8.69v7.433z' fill='rgb(0,0,0)' fill-opacity='0.04' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-position: center;
}

/* Start page header */
body > header a {
    text-decoration: none;
}
/* main logo */
body > header h1 {
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: uppercase;
    flex: 0 1 content;
    position: relative;
    display: flex;
    align-items: center;
}
/* Show logo image instead title */
body > header h1 a::before {
    content: url('logo-with-pen-2-optimized.png');
    margin-top: -2rem;
    display: block;
}
body > header h1 {
    font-size: 0;
}
/* --- */
body > header nav {
    flex: 0 1 content;
    min-width: 100%;
}
body > header ul {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem -.5rem;
}
body > header li a {
    padding: .5rem;
    display: flex;
    align-items: center;
}
body > header li .current {
    color: var(--clr-accnt);
}
/* main navigation */
body > header nav[aria-label="primary"] {
    text-transform: uppercase;
    font-weight: 400;
}
body > header nav[aria-label="primary"] ul {
    flex-wrap: wrap;
}
/* social navigation */
body > header nav[aria-label="social"] {
    font-size: 0;
}
body > header nav[aria-label="social"] svg {
    height: 1.25rem;
}
@media all and (min-width: 52rem) {
    body > header nav {
        min-width: unset;
    }
}

/* End page header */
article header {
    /* background-color: var(--clr-txt); */
    color: var(--clr-bgrnd);
    text-align: center;
    position: relative;
    overflow: hidden;
    /* background: rgba(0,0,0,.3) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAH0lEQVQYV2NkQAX/GZH4/xkYGBhhAmAOSBJEwDkgAQCCrgQEjpMcPgAAAABJRU5ErkJggg==") repeat center; */
    background-image: url("data:image/svg+xml,%3Csvg width='4' height='4' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgb(0,0,0)' fill-opacity='0.5' fill-rule='evenodd'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
    font-size: 150%;
    /* outline: 1px solid currentColor;
    outline-offset: -.5rem; */
}
/* @keyframes background-animation {
    from {
      transform: scale(1) translateX(0%);
    }
    to {
      transform: scale(1.25) translateX(-2%);
    }
} */
article header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: var(--clr-txt);
    background-image: url("IMG_9445.JPG");
    background-position-x: center;
    background-position-y: center;
    background-repeat: no-repeat;
    background-size: cover;
    animation: background-animation 40s linear infinite alternate;    
    z-index: -1;
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation: none;
      transition: unset;
    }
}
h1 {
    text-transform: uppercase;
    font-weight: normal;
}
a {
    color: currentColor;
}
a:hover {
    color: var(--clr-accnt);
}
svg {
    display: inline-block;
    fill: currentColor;
    height: 1.25em;
}
article header, article aside ul, h2, h3 {
    font-family: Georgia, 'Times New Roman', Times, serif;
}

article section:first-of-type::before, article section:last-of-type::after {
    display: block;
    content: '';
    height: 3rem;
    /* https://www.freepik.com/ */
    background: url('drawing-1-optimized.svg') no-repeat center;
}

article section:first-of-type::before {
    transform: rotate(180deg);
}

/* Start link style in content */
article section a {
    background:
        linear-gradient(
            to bottom, var(--clr-accnt) 0%,
            var(--clr-accnt) 100%
        );
    background-position: 0 100%;
    background-size: 100% 1px;
    background-repeat: no-repeat;
    color: currentColor;
    text-decoration: none;
    transition: background-size .2s;
    font-style: italic;
    padding: 0 .25rem;
}
      
article section a:hover {
    background-size: 100% 100%;
    color: currentColor;
}
/* End link style in content */

/* article footer p:first-child {
    display: flex;
    justify-content: flex-end;
} */

a[href="#top"] {
    text-align: center;
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: color .2s;
    width: max-content;
    font-weight: 700;
}

a[href="#top"] span {
    margin-left: .5rem;
}

a[href="#top"] svg {
    height: 2rem;
}

article aside {
    border-top: solid 1px currentColor;
}

article aside ul {
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

article aside ul li {
    flex: 1 0 50%;
    min-width: min(calc(var(--wdth-cntnt) / 2), 100%);
}

article aside ul a {
    text-decoration: none;
}

article aside ul a svg {
    height: 2rem;
    flex: 0 0 1rem;
}

article aside li a {
    display: flex;
    align-items: center;
}

article aside li:first-child div {
    margin-left: 1rem;
    margin-right: .25rem;
}

article aside li:last-child div {
    text-align: right;
    margin-left: .25rem;
    margin-right: 1rem;
}

article aside li div p {
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
    height: 4rem;
    position: relative;
}
article aside li div p::before {
    background: linear-gradient(transparent 40%, var(--clr-bgrnd));
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index:1;
    content: '';
}

body > footer {
    font-size: 75%;
    border-top: solid 1px currentColor;
}

body > footer > p:first-of-type {
    font-size: 1.5rem;
}

body > footer a:hover {
    opacity: 0.8;
}