@import url('buttons.css');
@import url('cards.css');
@import url('forms.css');
@import url('typography.css');
@import url('utilities.css');

@font-face {
    font-family: 'serrif-compressed';
    src: url('../fonts/SerrifCompressed-Medium.otf') format('opentype');
}

@font-face {
    font-family: 'saa-series-ddot';
    src: url('../fonts/SaaSeriesDDOT.otf') format('opentype');
    ascent-override: 94%;
    descent-override: 6%;
    line-gap-override: 0%;
}

:root {
    /* Color Palette */
    --clr-dark-green: #001B02;
    --clr-green: #263617;
    --clr-cream: #f8eedd;
    --clr-gold:  #86734b;

    /* Font Families */
    --ff-serrif-compressed: 'serrif-compressed', 'serif';
    --ff-saa-series-ddot: 'saa-series-ddot', 'sans-serif';

    /* Font Sizes */
    font-size: 16px;
    --fs-lg: 1.5rem;        /* 24px */
    --fs-md: 1.25rem;       /* 20px */
    --fs-base: 1rem;        /* 16px */

    /* Border Radius */
    --br-base: 0.5rem;
}

*, *::before, *::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    background-color: var(--clr-dark-green);
    color: var(--clr-cream);
}

body {
    max-width: 900px;
    min-height: 100dvh;
    padding: 0 1rem;
    margin: 0 auto;
    font-family: var(--ff-serrif-compressed);
    font-size: var(--fs-base);
}

.hero-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100dvh;
}

img.hero-logo {
    width: min(100%, 200px);
}

.hero-address {
    margin-top: 3rem;
    font-family: var(--ff-saa-series-ddot);
    font-weight: 700;
    letter-spacing: 1.74px;
    line-height: 1.12;
    text-align: center;
}

#site-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

#site-logo > svg,
#site-logo > img {
    aspect-ratio: 1/1;
    max-width: 150px;
    max-height: 150px;
    margin: 0 auto;
}

.header {
    position: relative;
}

.header > svg,
.header > img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    cursor: pointer;
}

section:not(.hero-block) > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

ul {
    padding-inline-start: 1rem;
}

img {
    width: min(100%, 400px);
}




/* MEDIA QUERIES */
@media only screen and (min-width: 768px) {
    #service-list {
        grid-template-columns: 1fr 1fr;
    }

    fieldset {
        flex-direction: row;
    }
}

@media (max-width: 600px) {
    .hero-block > .flex-row {
        flex-direction: column;
    }

    .hero-block > .flex-row > img.hero-logo {
        order: -1;
    }

    .hero-block > .flex-row > .btn--secondary {
        margin-top: 1rem;
    }
}