@font-face {
    font-family: "Roboto 300";
    src: url("/fonts/roboto-300.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "VivaldiD CL";
    src: url("/fonts/vivaldid-cl.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

:root {
    --ratio: 1.5;
    --s-5: calc(var(--s-4) / var(--ratio));
    --s-4: calc(var(--s-3) / var(--ratio));
    --s-3: calc(var(--s-2) / var(--ratio));
    --s-2: calc(var(--s-1) / var(--ratio));
    --s-1: calc(var(--s0) / var(--ratio));
    --s0: 1rem;
    --s1: calc(var(--s0) * var(--ratio));
    --s2: calc(var(--s1) * var(--ratio));
    --s3: calc(var(--s2) * var(--ratio));
    --s4: calc(var(--s3) * var(--ratio));
    --s5: calc(var(--s4) * var(--ratio));
    --measure: 60ch;

    --bg-color: #fbf4e2;
    --fg-color: #000000;
}

* {
  box-sizing: border-box;
}
body {
    background: var(--bg-color);
    font-family: "Roboto 300", sans-serif;
    font-size: var(--s1);
}

h1 {
    font-family: 'VivaldiD CL', serif;
    inline-size: min-content;
    word-break: keep-all;
    min-width: 10ch;
}

h1 a {
    text-decoration: none;
}

a, a:visited {
    color: var(--fg-color);
    text-decoration: underline 0.15rem rgba(0, 0, 0, 0);
    transition: text-decoration-color 300ms;
}

a:hover {
    text-decoration-color: rgba(0, 0, 0, 1);
}

header nav a {
    font-weight: bolder;
}

footer {
    text-align: center;
}

footer img {
    height: var(--s1);
}

footer p {
    font-size: var(--s0);
}

.city {
    font-weight: bold;
}

.top {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s1);
}

.top > :first-child {
    flex-basis: 30%; 
    flex-grow: 1;
}

.top > :last-child {
    flex-basis: 0;
    flex-grow: 999;
    min-inline-size: 50%;
}

.cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space, 1rem);
    justify-content: space-evenly;
    align-items: center;
}

.cluster-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space, 1rem);
    justify-content: center;
    align-items: center;
}

.center {
    box-sizing: content-box;
    margin-inline: auto;
    max-inline-size: var(--measure);
}

.cover {
    display: flex;
    flex-direction: column;
    min-block-size: 98vh;
    padding: 1rem;
}

.cover > * {
    margin-block: 1rem;
}

.cover > :first-child:not(main) {
    margin-block-start: 0;
}

.cover > :last-child:not(main) {
    margin-block-end: 0;
}

.cover > main {
    margin-block: auto;
}

.switcher {
    display: flex;
    flex-wrap: wrap-reverse;
    gap: var(--s1);
}

.switcher > * {
    flex-grow: 1;
    flex-basis: calc(( 30rem - 100%) * 999);
}

.switcher > :nth-last-child(n+ 3),
.switcher > :nth-last-child(n+ 3) ~ * {
      flex-basis: 100%;
}

img {
    max-block-size: 60vh;
    max-inline-size: 100%;
}

@supports (aspect-ratio: 16/9) {
    .vidwrap {
        aspect-ratio: 16/9;
        min-inline-size: 60vw;
        max-inline-size: 100%;
    }

    .vidwrap > * {
        inline-size: 100%;
        block-size: 100%;
    }
}
