:root {
    --base-width: min(71.25rem, 98vw);

    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --space-9: 2.5rem;
    --space-10: 3.75rem;
    --space-11: 6.25rem;
    --space-12: 10rem;
    --space-13: 15rem;

    --font-xs: .5rem;
    --font-s: .75rem;
    --font-ms: 0.875rem;
    --font-m: 1rem;
    --font-l: 1.25rem;
    --font-xl: 1.5rem;
    --font-xxl: 1.75rem;
    --font-xxxl: 2.5rem;
    --font-xxxxl: 3.75rem;

    --ff: "Instrument Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --h1: bold var(--font-xxxxl)/1em var(--ff);
    --h2: bold var(--font-xxxl)/1.2em var(--ff);
    --h3: bold var(--font-xxl)/1.2em var(--ff);
    --h4: bold var(--font-xl)/1.6em var(--ff);
    --h5: bold var(--font-l)/1.6em var(--ff);
    --h6: bold var(--font-m)/1.6em var(--ff);
    --big: var(--font-l)/1.6em var(--ff);
    --p: var(--font-m)/1.6em var(--ff);
    --small: var(--font-s)/2em var(--ff);

    --bg-dark: oklch(0.98 0 0);
    --bg: oklch(0.99 0 0);
    --bg-light: oklch(1 0 0);
    --bg-hover: oklch(0.97 0 0);
    --bg-error: oklch(0.93 0.03 25);

    --footer-bg: oklch(0.2099 0.0341 263.44);

    --primary-dark: oklch(0.56 0.2 259);
    --primary: oklch(0.61 0.2 259);
    --primary-light: oklch(0.66 0.2 259);

    --text: oklch(0.1 0 0);
    --text-hover: oklch(0 0 0);
    --text-muted: oklch(0.3 0 0);
    --text-on-primary: oklch(0.9 0 0);
    --text-on-primary-hover: oklch(0.95 0 0);
    --text-on-dark: oklch(0.96 0 0);
    --text-on-dark-hover: oklch(1 0 0);
    --text-footer: oklch(0.96 0 0);
    --text-footer-hover: oklch(1 0 0);
    --text-error: oklch(0.45 0.26 27.5);

    --border: oklch(0.8 0 0);
    --border-error: oklch(0.71 0.25 23.5);
}

h1 {
    font: var(--h1);
    color: var(--text);
}

h2 {
    font: var(--h2);
    color: var(--text);
}

h3 {
    font: var(--h3);
    color: var(--text);
}

h4 {
    font: var(--h4);
    color: var(--text);
}

h5 {
    font: var(--h5);
    color: var(--text);
}

h6 {
    font: var(--h6);
    color: var(--text);
}

p {
    font: var(--p);
    color: var(--text);
}

a {
    font: var(--p);
    text-decoration: none;
    color: var(--text);
}

a:hover {
    text-decoration: none;
    color: var(--text-hover);
}

button, span, input {
    font: var(--p);
}

.big {
    font: var(--big);
    color: var(--text);
}

.small {
    font: var(--small);
    color: var(--text-muted);
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: var(--space-10);
    margin: 0;
    min-height: 100vh;
    font: var(--p);
    background-color: var(--bg-dark);
    color: var(--text);
}

.opacity-25 {
    opacity: 0.25;
}

.opacity-75 {
    opacity: 0.75;
}

.display-none {
    display: none;
}

.show-spinner {
    display: block;
    animation: spin 1s linear infinite;
}

.cursor-unset {
    cursor: unset !important;
}

nav {
    position: fixed;
    top: 0;
    width: 100%;
    height: var(--space-10);
    padding: var(--space-3);
    background-color: var(--bg-light);
    z-index: 99;
    font-size: var(--font-ms);
    color: var(--text);
}

nav .wrapper {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-self: center;
    max-width: var(--base-width);
    margin-left: auto;
    margin-right: auto;
    height: 100%;
}

.logo img {
    width: auto;
    height: 100%;
}

.nav-right {
    gap: var(--space-4);
}

.nav-right form select {
    cursor: pointer;
    width: fit-content;
    height: var(--space-7);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--space-1);
    border-color: var(--border);
    text-transform: uppercase;
}

.nav-right form select option {
    padding: 0;
}

.nav-link {
    font-size: var(--font-ms);
    font-weight: 500;
    justify-content: end;
    align-items: center;
}

.nav-link > span {
    text-align: right;
    font: inherit;
}

.nav-link > svg {
    flex-shrink: 0;
    width: auto;
    height: var(--font-m);
    margin-left: var(--space-2);
}

.flex {
    display: flex;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.flex-items-center {
    align-items: center;
    justify-content: center;
}

.box-shadow {
    box-shadow: 0 0 10px -5px #000;
}

.max-width {
    width: 100%;
    max-width: var(--base-wdith);
}

button, .btn {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    cursor: pointer;
}

.btn-blue {
    background-color: var(--primary);
    color: var(--text-on-primary);
}

.btn-blue:hover {
    background-color: var(--primary-light);
    color: var(--text-on-primary-hover);
}

.wrapper-search {
    position: relative;
    width: 100%;
    min-height: 270px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}

.wrapper-search .img-overlay {
    background-color: #000;
    position: absolute;
    opacity: 0.4;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.wrapper-search-bar {
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.wrapper-search-bar > h2 {
    color: var(--text-on-dark);
    font-size: 2rem;
    text-align: center;
}

.search-bar {
    min-width: min(30.55rem, 100vw);
    max-height: var(--space-10);
    justify-content: center;
}

.search-bar form {
    width: 90%;
}

.search-bar input {
    flex-grow: 1;
    min-width: 0;
    border-top-left-radius: var(--space-2);
    border-bottom-left-radius: var(--space-2);
    border: 1px solid var(--bg-dark);
    padding: var(--space-3);
    font-size: var(--font-m);
}

.search-bar button {
    border-top-right-radius: var(--space-2);
    border-bottom-right-radius: var(--space-2);
    border: 0;
}

.search-bar svg {
    width: auto;
    height: 20px;
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--space-8);
}

main .wrapper-text {
    max-width: var(--base-width);
    margin-left: auto;
    margin-right: auto;
}

main .wrapper-text > h4 {
    margin: var(--space-5) 0;
}

main .wrapper-text ul {
    padding-left: var(--space-8);
}

main .wrapper-text ul li {
    list-style-type: "— ";
}

main .wrapper-text ul li:nth-child(-n+2) {
    padding-bottom: var(--space-3);
}

footer {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 5rem;
    padding: var(--space-6) var(--space-3);
    background-color: var(--footer-bg);
}

footer .wrapper {
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-grow: 1;
    max-width: var(--base-width);
    height: 100%;
}

.footer-right {
    gap: var(--space-6);
}

.footer-right a {
    color: var(--text-footer);
}


.footer-right a:hover {
    color: var(--text-footer-hover);
}
