:root {
    --foreground: #333333;
    --background: #F5F3F4;
    --border-radius: 0.5em;
}

body {
    font-family: Montserrat Alternates, sans-serif;
    color: var(--foreground);
    background-color: var(--background);
    line-height: 1.5em;
}

.content {
    max-width: 40em;
    min-width: 20em;
    margin: 0 auto;
}

img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.shadow {
    box-shadow: color-mix(in srgb, var(--foreground) 60%, transparent) 0 0 16px 0;
}

*:not(.button-group) > .shadow {
    margin: 1em 0;
}

.carousel {
    display: flex;
    overflow-x: hidden;
}

.carousel > * {
    flex: 1 1 50%;
    max-width: calc(100% - 4em);
}

.full {
    min-height: 100%;
    object-fit: contain;
}

.carousel > img {
    max-height: 80vh;
}

section > iframe ~ .carousel > * {
    flex: 0 1 100%;
}

h1, h2 {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    text-align: center;
    align-items: center;
    gap: 0 1em;
}

h1::before,
h1::after,
h2::before,
h2::after {
    content: "";
    display: block;
    height: 0.1em;
    border-radius: 0.05em;
}

h1::before,
h2::before {
    background: linear-gradient(90deg, var(--background), var(--foreground));
}

h1::after,
h2::after {
    background: linear-gradient(90deg, var(--foreground), var(--background));
}

.rounded {
    border-radius: var(--border-radius);
}

iframe {
    border: none;
    width: 100%;
    height: 50vh;
}

.button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}

.button-link {
    flex: 1 1 0;
    padding: 0.75rem 1rem;
    border-radius: var(--border-radius);
    background-color: var(--foreground);
    color: var(--background);
    align-content: center;
    text-align: center;
    min-width: 8em;
    text-decoration: none;
    font-style: normal;
}

.center-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo {
    aspect-ratio: initial;
    width: 30%;
}

.icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.icon::before,
.icon::after {
    content: "";
    display: inline-block;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--foreground);
}

.icon.inline::before {
    margin-right: 0.8em;
}

.icon.inline::after {
    margin-left: 0.8em;
}

.icon.invert::before {
    background-color: var(--background);
}

.icon.invert::after {
    background-color: var(--background);
}

.icon-l::before {
    width: 2em;
    height: 2em;
}

.icon-r::after {
    width: 2em;
    height: 2em;
}

.icon-l.inline::before {
    width: 1.2em;
    height: 1.2em;
}

.icon-r.inline::after {
    width: 1.2em;
    height: 1.2em;
}

button.icon {
    background-color: transparent;
    border: none;
    padding: 0;
}

.icon::before,
.icon::after {
    content: "";
    display: inline-block;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--foreground);
    transition-duration: 0.15s;
}

button:not([disabled]).icon:hover,
button:not([disabled]).icon:hover {
    cursor: pointer;
}

button[disabled].icon::before,
button[disabled].icon::after {
    background-color: color-mix(in srgb, var(--foreground) 20%, transparent);
}

button.icon::before,
button.icon::after {
    background-color: color-mix(in srgb, var(--foreground) 70%, transparent);
}

button:not([disabled]).icon:hover::before,
button:not([disabled]).icon:hover::after {
    background-color: var(--foreground);
}
