body {
    --theme-color-primary: black;
    --theme-color-secondary: white;
    --theme-accent: gold;
    --hero-color:rgb(11, 66, 153);
    font-size: 20px;
    line-height: 26px;
    width: 100vw;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    color: var(--theme-color-secondary);
    background-color: var(--theme-color-primary);
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

main{
    width:100vw;
}

.background-photo {
    position: fixed;
    top: 40vh;
    max-width: 80vw;
    max-height: 70vh;
    z-index: -1;
}

header {
    margin-top: 5px;
}

header img {
    max-height: 6rem;
}

header a {
    text-decoration: none;
}

header a:hover {
    text-decoration: underline;
}

header,
footer {
    text-align: center;
    width: 100vw;
    font-size: 20px;
    line-height: 16px;
}

header h1 {
    line-height: 80%;
    margin-top: 5px;
}


footer {
    flex-direction: row;
    display: flex;
    justify-content: center;
    align-items: center;
}

footer>div {
    flex-direction: row;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

footer>div>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 15px;
}

footer img {
    width: 8rem;
}

footer a {
    margin: 2px;
}

nav {
    border-radius: 30%;
    font-size: 12px;
}

a {
    color: var(--theme-accent);
}

a:visited {
    color: var(--theme-accent);
}

hr {
    width: 100%;
    margin-top: 15px;
    margin-bottom: 15px;
    color: var(--theme-accent);
}

main,
aside {
    display: flex;
    flex-direction: column;
    align-items: center;
}

article {
    max-width: 90vw;
}

article>* {
    max-width: 90vw;
}



#main-content {
    min-width: 30vw;
}

.listing {
    margin: 15px;
    width: 540px;
    height: 280px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: bottom;
    border-radius: 15px;
    text-align: center;
    margin-bottom: 25px;
}

.listing-text {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bolder;
    text-decoration: none !important;
    background-color: rgba(0, 0, 0, 0.25);
}

.listing-text h2 {
    margin: 0;
}

.listing-text i {
    display: block;
    max-width: 80%;
}

.listing-text>a {
    width: fit-content;
    border-bottom-style: none;
    background-color: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(55px);
    padding: 25px;
    border-radius: 25px;
    max-width: 80%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

}

.listing-text:hover>a {
    animation: blur-out 0.2s;
    background-color: transparent;
    backdrop-filter: none;
}

.listing-text:hover {
    animation: blur-in 0.2s;
    backdrop-filter: blur(15px);
    background-color: rgba(0, 0, 0, 0.55);
}

.listing .tags a {
    font-size: 12px;
}

.listing .tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
}



img,
video {
    max-width: 95%;
}

audio {
    width: 100%;
}

.metadata {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 90%;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.metadata>* {
    margin: 5px;
}
.metadata h2{
    margin: 5px;
}

.metadata>div>* {
    margin: 5px;
}

#tags {
    max-width: 30rem;
}

header {
    text-align: center;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
}

nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
}

nav>a {
    margin: 10px;
}

section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

section div {
    display: flex;
    flex-direction: column;
    align-items: center;

}

article {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    width: 70rem;
    font-size: 26px;
    line-height: 36px;
    max-width: 90vw;
}

@media screen and (orientation:portrait) {
    article {
        font-size: 22px;
        line-height: 28px;
    }
}

article table {
    width: 80%;
}

article .media-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

article section {
    width: 100%;
}

.media-container a {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
}

article td,
article th {
    width: fit-content;
}

article .footnotes {
    width: 100%;
}

article .footnotes a {
    text-decoration: none;
}

article sup a {
    text-decoration: none;
}

blockquote {
    margin-left: 10%;
    padding-left: 2.5rem;
    width: 80%;
    border-left: 0.5rem solid var(--theme-accent);
    font-style: italic;
}

section ul,
section ol,
article ol,
article ul {
    width: 90%;
}

article>a {
    text-align: center;
}

article h2,
article h1 {
    width: 100%;
    text-align: center;
}

article h3,
section h3,
article h4,
section h4,
article h5,
article p {
    width: 100%;
    text-align: left;
    margin: 15px;
}

article h3 {
    text-decoration: underline;
    margin: 20px;
}

article img {
    align-self: center;
    max-width: 95%;
    max-height: 60vh
}

article video {
    height: 40rem;
    width: 95%;
    max-height: 60vh;
    background-color: transparent;

}

article iframe {
    height: auto;
    width: 80%;
    aspect-ratio: 4/2.5;
}

article>section>a {
    display: flex;
    flex-direction: column;
    align-items: center;

}


table {
    width: fit-content;
}

td,
th {
    margin: 0;
    padding: 0.25rem;
    width: min-content;
    text-align: left !important;
}

video {
    background-color: black;
}

.link-preview {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 1.5%;
    justify-content: left;
    text-decoration: none;
    text-align: left;
    width: 80%;
    box-shadow: 0px 0px 0.5rem var(--theme-accent);
    border-radius: 2rem;
    overflow: hidden;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.link-preview>div {
    margin: 1rem;
}

.link-preview>img {
    max-width: 20rem;
}

.link-preview>div>p {
    text-decoration: none !important;
    color: var(--theme-color-secondary);
}


#sidebar {
    padding-top: 0;
    align-items: flex-start;
    min-width: 540px;
}

.recent *,
.featured * {
    margin: 0.25rem;
    padding: 0;
    text-align: left;
}

.recent p,
.featured p {
    min-width: 20vw;

}

.recent img,
.featured img,
.recent video,
.featured video {
    max-width: 15vw;
    margin: 0.25rem;
}

#social-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-evenly;
}

.social-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 1rem;
}

.social-link img {
    width: 2.5rem;
}


@media print {
    body {

        background-color: white;
    }

    header,
    footer {
        display: none;
    }

    body>img {
        display: none;
    }

    img {
        max-height: 60vh;
    }

    main,
    section {
        color: black;
        background-color: white;
        border: none;
        box-shadow: none;
        padding: 0;
    }
}

.recent,
.featured {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 1rem;
}

.featured a,
.recent a {
    width: initial;
}

.section-heading {
    color: var(--theme-accent);
    width: 100%;
}


.gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 90vw;

}

#banner {
    position: relative;
    width: 100vw;
    padding-top: 3rem;
    padding-bottom: 3rem;
    max-height: 20vh;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-position: center;
    background-position-y: center;
}

#banner-text {
    max-height: 20vh;
    width: fit-content;
    color: white;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(0.25rem);
    min-width: 10vw;
    border-radius: 25px;
    text-shadow: 1px 1px 2px black;
    padding: 1.5rem;
    font-size: 22px;
}

#banner-text>* {
    margin: 5px;
}

.media-container {
    margin-bottom: 1rem;
}

.media-container,
.media-container a {
    width: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.caption {
    width: 100%;
    text-align: center;
}

.gallery>* {
    margin-bottom: 1.5rem;
}

#content-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

@media screen and (orientation:portrait) {
    main {
        align-items: center;
        width: 100vw;

    }

    .link-preview {
        flex-direction: column;
    }

    .recent,
    .featured {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .listing img,
    .listing video {
        width: unset;
        max-width: 100%;
        height: 25vh;
        padding-left: 2vw;
        padding-right: 2vw;
    }

    .recent img,
    .featured img,
    .recent video,
    .featured video {
        max-width: unset;
        width: 100%;
        margin: 0;
    }

    .listing {
        max-width: 90vw;
        max-height: 40vh;
    }

    .listing-text {
        font-size: 14px;
    }

    nav {
        font-size: 10px;
        line-height: 14px;
    }

    #banner-text {
        font-size: 12px;
    }
}

svg {
    stroke: var(--theme-accent);
    fill: var(--theme-accent);
}

.icon {
    width: 2rem;
    height: 2rem;
}

.icon-small {
    height: 1rem;
    width: 1rem;
}

.bare-link {
    text-decoration: none;
}

@keyframes blur-in {
    from {
        backdrop-filter: blur(0px);
        background-color: rgba(0, 0, 0, 0.25);
    }

    to {
        backdrop-filter: blur(15px);
        background-color: rgba(0, 0, 0, 0.55);
    }
}

.listing-text,
.listing-text>a {

    background-color: rgba(0, 0, 0, 0.25);
}

.listing-text:hover {
    animation: blur-in 0.25s;
    backdrop-filter: blur(15px);
    background-color: rgba(0, 0, 0, 0.55);
}

.listing-text .bare-link,
.listing-text h2 {

    text-shadow: rgb(0, 0, 0) 0px 0px 20px;
}

.listing-text:hover>a {
    animation: blur-out 0.2s;
    background-color: transparent;
}

@keyframes blur-out {
    from {
        background-color: rgba(0, 0, 0, 0.25);
    }

    to {
        background-color: transparent;
        backdrop-filter: blur(0px);
    }
}

article a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"])) {
    content: none !important;
}

article a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"]))::after {
    content: "↗️";
    font-size: 18px;
    margin: 5px;
    content: none !important;
}

.media-container a::after,
.liberapay-container a::after,
.tags a::after,
.listing a::after,
#tags a::after,
.image-container a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"]))::after {
    content: "" !important;
    margin: 0 !important;
    font-size: 0;
}

.media-container a {
    flex-direction: row;
}


.pagination {
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: 90vw;
    justify-content: center;
    align-items: center;
}

.pagination>* {

    margin: 5px;
}

.pagination a {
    font-family: Arial, Helvetica, sans-serif;
    border: 1px solid var(--theme-accent);
    padding: 10px;
    font-size: 22px;
    font-weight: bolder;
    border-radius: 10px;
    text-decoration: none;
    margin: 0;
}

.pagination .disabled {
    display: none;
}

.pagination .active a {
    color: var(--theme-color-primary);
    background-color: var(--theme-accent);
}

#tags a {
    margin: 5px;
    border-radius: 3px;
    font-size: 16px;
    font-weight: bolder;
    display: flex;
    flex-direction: row;
    align-items: center;
    border-radius: 25px;
    padding: 0px;
}

.list-item{
    display:flex;
    flex-direction: row;
    background-color:rgba(128, 128, 128, 0.15);
    margin:1.5rem;
    border-radius:25px;
    padding:25px;
    width:80rem;
    max-width:80vw;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    backdrop-filter:opacity(0.15);
    font-size:18px;

}

@media screen and (orientation:portrait) {
    .list-item{
        font-size:14px;
    }
    .list-item p{
        font-size:13px;
        line-height: 13px;
    }
}

.list-item * {
}
.list-item {
    text-decoration: none;
    line-height: 150%;
}
.list-item p {
    color:var(--theme-color-secondary);
}
.list-item img {
    max-width:10vw;
    height:min-content;
}
.list-item>div {
    flex-direction: column;
    align-items: flex-start;
}
.item-tags{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.item-tag{
    margin:0.15rem;
    background-color:rgba(128, 128, 128, 0.25);
    padding:0.5rem;
    border-radius:0.5rem;
    
}
.item-list{
    max-width:90vw;
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.hero {
    color:var(--theme-color-secondary);
    background-color: var(--hero-color);
    background:linear-gradient(45deg, var(--theme-color-primary) 0%, var(--hero-color) 45%,var(--hero-color) 55%, var(--theme-color-primary) 100%);
    background-position: center center;
    background-repeat: no-repeat;
    font-size:22px;
    align-items: center;
    padding-top:1rem;
}
.hero img{
    max-height: 10rem;
    max-width:40%;
}
.hero button{
    background-color:var(--theme-color-secondary);
    padding:1rem;
    border-radius:0.5rem;
    font-size:24px;
    font-weight: bold;
    color:var(--theme-color-primary);
    border:0px;
}