@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css");

:root {
    font-size: 18px;
    --accent-color: #d93a1e;
    --background-color: #fbfcf8;
    --secondary-accent-color: blanchedalmond;
    --text-color: black;
    --inverted-text-color: white;

    --footer-z-index: 1;
    --nav-z-index: 2;
    --menu-z-index: 3;
}

* {
    color: var(--text-color);
    font-family: "Roboto Mono", monospace;
    margin: 0;
    scrollbar-width: 0;
}

body {
    background-color: var(--background-color);
    margin: 0;
    padding: 0;
}

h1 {
    font-size: 3.052rem;
    font-weight: 700;
    line-height: 1.2;
}

h2 {
    font-size: 2.441rem;
    margin-bottom: 0.75rem;
}

h3 {
    font-size: 1.953rem;
}

h4 {
    font-size: 1.563rem;
}

h5 {
    font-size: 1.25rem;
}

small {
    font-size: 0.8rem;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    align-items: center;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    display: flex;
    font-size: 0.75rem;
    height: 30px;
    justify-content: center;
}

button.primary {
    background-color: var(--text-color);
    border: 1px var(--text-color) solid;
}

button.primary * {
    color: var(--inverted-text-color);
}

button.secondary {
    background-color: transparent;
    border: 1px var(--text-color) solid;
}

button.secondary * {
    color: var(--text-color);
}

select {
    appearance: none;
    border: 1px solid var(--text-color);
    padding-block: 0.5rem;
    padding-inline: 1rem;
    text-align-last: center;
}

button.secondary:hover,
select:hover
{
    background-color: rgba(170, 170, 170, 0.25) !important;
}

/* MARK: Properties
 */

.align-items-center {
    align-items: center;
}

.aspect-ratio-1 {
    aspect-ratio: 1;
}

.border-radius-50p {
    border-radius: 50%
}

.cursor-pointer {
    cursor: pointer;
}

.display-flex {
    display: flex;
}

.font-weight-700 {
    font-weight: 700;
}

.gap-0_25rem {
    gap: 0.25rem;
}

.gap-0_5rem {
    gap: 0.5rem;
}

.gap-1rem {
    gap: 1rem;
}

.gap-1_5rem {
    gap: 1.5rem;
}

.justify-right {
    justify-content: right;
}

.margin-left-0_5rem {
    margin-left: 1rem;
}

.margin-left-1rem {
    margin-left: 1rem;
}

.margin-right-1rem {
    margin-right: 1rem;
}

.margin-top-0_5rem {
    margin-top: 0.5rem;
}

.margin-top-1_25rem {
    margin-top: 1.25rem;
}

.padding-bottom-3rem {
    padding-bottom: 3rem;
}

.position-relative {
    position: relative;
}

.text-align-left {
    text-align: left;
}

.text-align-center {
    text-align: center;
}

.text-transform-uppercase {
    text-transform: uppercase;
}

/* MARK: Utilities
 */

.flex-align-center {
    /* center align flex items along the cross axis of the flex axis */
    align-items: center;
    /* center align flex items along the flex axis */
    justify-content: center;
}

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

.vertical {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.link {
    position: relative;
}

.link small {
    margin: 0;
}

.link::after,
.link p::after {
    background-color: var(--text-color);
    border-radius: 3px;
    bottom: -0.25rem;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    transition: width .1s ease-in-out;
    width: 0;
}

.link:hover::after,
.link:hover p::after {
    width: 100%;
}

.nav-links {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    justify-content: center;
}

.nav-icons {
    display: flex;
    gap: 1rem;
}

.nav-icons .social {
    border-radius: 0.5rem;
    height: fit-content;
}

.nav-icons .social > i {
    height: 30px;
    line-height: 30px;
    text-align: center;
    width: 30px;
    padding: 5px;
}

.nav-icons:not(nav .nav-icons) > * {
    background-color: var(--secondary-accent-color);
}

.nav-icons:not(nav .nav-icons) i:hover {
    color: var(--accent-color);
}