@font-face{
    font-family:'AegirText';
    src:url(../fonts/MonaspaceXenonVarVF.woff2)format('woff2');
    font-style: normal;
}
@font-face{
    font-family:'AegirText';
    src:url(../fonts/MonaspaceRadonVarVF.woff2)format('woff2');
    font-style: italic;
}
@font-face{
    font-family:'AegirTitle';
    src:url(../fonts/MidasVF.woff2)format('woff2')
}


* {
}


body {
    margin: 0 auto;
    padding: 0;
    background: #fff;
    color: #000;
    font-family: AegirText, monospace;
    font-variation-settings: "wght" 300;
    font-size: 1rem;
    line-height: 1.5;
    font-variant-ligatures: discretionary-ligatures;
    font-variant-numeric: oldstyle-nums;
}

*:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    border-radius: 3px;
}

article {
    width: 100%;
    max-width: 55rem;
    background-color: #fff;
    margin: 3rem auto 0 auto;
    border-radius: 8px;
    position: relative;
    box-shadow: 0 3rem 4.5rem 0 rgba(0,0,0,0.35),0 .75rem 2rem 0 rgba(0,0,0,0.25);
    container-type: inline-size;
    overflow: hidden;
}

footer {
    width: 100%;
    max-width: 55rem;
    background-color: #00000077;
    border: 1px solid #ffffff33;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    margin: 3.25rem auto 3rem auto;
    border-radius: 8px;
    position: relative;
    container-type: inline-size;
    container-name: footer-bar;
    overflow: hidden;
    text-transform: uppercase;
    font-variant-numeric: normal;
    font-size: 0.9rem;
    line-height: 1.25;
    color: #ffffff99;
}

footer nav {
    margin: 0.5rem;
    padding-block-start: 0.25rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    @container footer-bar (width <= 48rem) {
        flex-wrap: wrap;
    }    
}

footer nav .earlier, footer nav .later {
    display: inline-block;
    white-space: nowrap;
}

footer nav div.copyright {
    display: inline-block;
    margin: 0 0.5rem;
}

.footer-links {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    @container footer-bar (width <= 48rem) {
        display: block;
        margin-top: 0.5rem;
        padding-top: 0.5rem;
        border-top: 1px solid #ffffff99;
        width: 100%;
        order: 3;
        flex-grow: 1;
    }    
}

.footer-links ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin: 0 0.5rem;
    display: flex;
    flex-direction: row;
    @container footer-bar (width <= 48rem) {
        margin: 0;
        margin-top: 0.25rem;
    }
    @container footer-bar (width <= 21rem) {
        flex-direction: column;
    }
}

.footer-links ul li:not(:first-child) {
    border-left: 1px solid #ffffff99;
}

.footer-links ul li {
    flex-grow: 1;
    padding: 0 0.5rem;
    text-align: center;
    @container footer-bar (width <= 48rem) {
        text-align: left;
        padding-left: 0;
        flex-grow: 0;
    }
    @container footer-bar (width <= 21rem) {
        padding-top: 0.25rem;
    }
}

@container footer-bar (width <= 48rem) {
    .footer-links ul li:nth-child(n+2) {
        padding-left: 0.5rem;
    }
}

@container footer-bar (width <= 21rem) {
    .footer-links ul li:nth-child(n+2) {
        padding-left: 0;
        border-left: 0;
    }
}

footer a, footer a:visited {
    text-decoration: none;
    color: #ffffffdd;
}

footer a:active, footer a:hover {
    text-decoration: none;
    color: #ffffffff;
}

footer .disabled {
    color: #ffffff44;
    text-decoration: line-through;
}

header > div {
    position: relative;
}

header div.colourheader, header div.imageheader {
    margin-bottom: 1.5rem;
    clip-path: polygon(0cqw 0, 100cqw 0, 100cqw 100%, 0cqw 100%);
}

header div.colourheader h1, header div.imageheader h1 {
    position: absolute;
    display: flex;
    flex-direction: row;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

header div span {
    display: block;
}

header div.colourheader h1 span, header div.imageheader h1 span {
    padding-block-start: 1.5rem;
    padding-block-end: 1.5rem;
}

header div.titleoutside h1 {
    container-type: inline-size;
    display: flex;
    flex-direction: row;
    margin-block-start: 3rem;
    margin-block-end: 1.5rem;
}

header div.titleonly h1 {
    margin-top: 4rem;
}

h1 {
    container-type: size;
    font-family: AegirTitle, Source Sans, sans-serif;
    font-weight: normal;
    font-variation-settings: "wght" 900;
    font-size: 4rem;
    text-transform: uppercase;
    line-height: 0.85;
    text-wrap: balance;
}

h2, h3, h4, h5, h6 {
    font-family: AegirText, Chalkboard, sans-serif;
    font-weight: normal;
    font-variation-settings: "wght" 800, "BOSH" 25;
    font-variant-caps: all-small-caps;
    font-variant-numeric: normal;
    line-height: 1
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

div.footer-logo {

}

a.logo {
    display: flex;
    width: 3.5rem;
    height: 3.5rem;
    justify-content: center;
    align-items: center;
}

a.logo img, a.logo svg{
    width: 3.28rem;
    height: 3.05rem
}

a.logo:focus-visible {
    border-radius: 50%;
}

time,
.page-text > h1,
.page-text > h2,
.page-text > h3,
.page-text > h4,
.page-text > h5,
.page-text > h6,
.page-text > p,
.page-text > figure,
.page-text > ul,
.page-text > ol,
.page-text > blockquote,
.footer-logo {
    margin-inline-start: 0;
    margin-inline-end: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-block-start: 0.75rem;
    padding-block-end: 0.75rem;
}

.page-text pre {
    margin-inline-start: 0;
    margin-inline-end: 0;
    margin-block-start: 0.75rem;
    margin-block-end: 0.75rem;
    padding-block-start: 0rem;
    padding-block-end: 0.08rem;
    background: #00000011;
    color: #000;
    position: relative;
}

.page-text pre > code {
    font-family: AegirText, monospace;
    font-variation-settings: "wght" 300;
    font-size: 1rem;
    line-height: 1;
    font-variant-ligatures: discretionary-ligatures;
    font-variant-numeric: oldstyle-nums;    
}

a.logo {
    margin-block-start: 1rem;
    margin-block-end: 1rem;
}

@supports (font-size: 1cqi) {
  :is(time, h1, h2, h3, h4, h5, h6, .page-text > p, .page-text > ul, .page-text > ol, pre, figure, figure.fullwidth figcaption, blockquote, .footer-logo) {
    padding-inline-start: clamp(0.5rem, 12cqw, 5rem);
    padding-inline-end: clamp(0.5rem, 12cqw, 5rem);
  }
}

time {
    display: block;
    font-variation-settings: "wght" 700;
    font-variant-numeric: normal;
    font-size: 1rem;
    text-wrap: balance;
}

p {
    padding-block-start: 0.75rem;
    padding-block-end: 0.75rem;
}

p strong {
    font-variation-settings: "wght" 500;
    text-transform: uppercase;
}

p em {
}

.page-text figure {
    aspect-ratio: var(--ratio);
    background: var(--back);
    justify-content: center;
    align-items: inline-start;
    display: flex;
    position: relative;
    overflow: hidden;
    flex-direction: column;
}

.page-text figure a[data-lightbox] {
    display: block;
}

.page-text figure.gallery ul {
    width: 100%;
    padding: 0;
    grid-gap: 1px;
    cursor: pointer;
    grid-template-columns: repeat(auto-fit,minmax(8rem,1fr));
    justify-content: center;
    align-items: center;
    line-height: 0;
    display: grid;
    padding-block-start: 0;
    margin: 0;
}

.page-text figure ul li {
  list-style: none;
}

.page-text figure.fullwidth {
    padding-inline-start: 0;
    padding-inline-end: 0;
}

.page-text figure figcaption {
    font-size: 1rem;
    text-align: left;
    font-style: italic;
}

.page-text figure.tightspacing, figure.tightspacing ul, figure.tightspacing figcaption {
    padding-block-start: 1px;
    padding-block-end: 0;
}

.page-text p + figure.tightspacing,
.page-text h2 + figure.tightspacing,
.page-text h3 + figure.tightspacing,
.page-text h4 + figure.tightspacing,
.page-text h5 + figure.tightspacing,
.page-text h6 + figure.tightspacing,
.page-text ol + figure.tightspacing,
.page-text ul + figure.tightspacing,
.page-text blockquote + figure.tightspacing {
    padding-block-start: 0.75rem;
}


.page-text figure.tightspacing + figure {
    padding-block-start: 1px;
}

.page-text .video-container figure{
    padding-inline-start: 0;
    padding-inline-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    width: 100cqw;
}

.page-text .video-container figure video{
    width: 100cqw;
}

.page-text blockquote span {
    display: block;
    border-left: 2px dotted currentColor;
    padding-inline-start: 3cqw;
}

.page-text blockquote cite {
    display: block;
    border-left: 2px dotted currentColor;
    padding-inline-start: 3cqw;
    text-align: end;
    margin-block-start: 2px;
    font-style: normal;
}

img {
    display:block;
    max-width:100%;
    object-position: 
        clamp(0%, var(--crop-focus-x), 100%)
        clamp(0%, var(--crop-focus-y), 100%);
}

.archive-listing {
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin: 0 0.5rem;
    display: flex;
    flex-direction: column;
}

.archive-listing li h3, .archive-listing li time, .archive-listing li p {
    padding-inline-start: 0;
    padding-inline-end: 0;
}

.archive-listing li {
    margin-block-end: 0.5rem;
    border-radius: 8px;
}

.archive-listing li a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    padding: 1rem 1.5rem;
}

.archive-listing h3, .archive-listing time, .archive-listing p {
    margin: 0;
    padding: 0;
    line-height: 1.25;
}

.archive-listing h3 {
    font-variation-settings: "wght" 900;
    font-size: 1.5rem;
}

.archive-listing p {
    margin-block-start: 1rem;
    font-size: 1rem;
    text-wrap: balance;
}