section * {
    margin: 0;
    padding: 0;
}

section.hero {
    position: relative;
    height: 100vh;
}

section .wrapper {
    align-items: center;
    width: 100%;
}

section.hero .wrapper {
    position: absolute;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

section.hero::before {
    position: absolute;
    display: block;
    background-image: url("../images/photos/hero.jpg");

    content: "";

    filter: blur(10px) grayscale(85%);
    -webkit-filter: blur(10px) grayscale(85%);

    width: 100vw;
    height: 100vh;
  
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    opacity: 0.3;
    z-index: -2;
}

section.hero svg {
    width: 300px;
}

section.hero svg .fill {
    fill: var(--color-primary-01);
}

section.hero svg .stroke {
    fill: var(--color-tertiary-01);
    opacity: 0.05;
}

section h1,
section h2,
section h3,
section p,
section a,
section th,
section td,
section caption,
section li,
section small {
    color: var(--color-tertiary-01);
}

section h1 {
    font-size: 64px;
    font-weight: 100;
    letter-spacing: 10px;
}

section h2 {
    font-size: 32px;
    font-weight: 200;
    letter-spacing: 5px;
}

section h3 {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 40px;
}

section p,
section li {
    font-size: 18px;
    font-weight: 200;
    letter-spacing: 1px;
}

section ul {
    display: inline-block;
    text-align: left;
    margin: 20px;
    width: fit-content;
}

section .double-wrapper {
    display: grid;
    justify-content: center;
    margin: 125px 0px;

    grid-template-areas: 
        "ttl ttl"
        "lft rgt";
}

section:not(.hero) .wrapper {
    display: grid;
    justify-content: center;
    margin: 125px 0px;
}

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

section.img-right {
    text-align: right;
}

section .main-title {
    margin: 0px 30px;
    padding: 50px 0px 20px 0px;
    border-bottom: solid 1px var(--color-primary-01);
}

section .double-wrapper .main-title {
    grid-area: ttl;
}

section .double-wrapper .left-wrapper {
    grid-area: lft;
}

section .double-wrapper .right-wrapper {
    grid-area: rgt;
}

section .double-wrapper .left-wrapper,
section .double-wrapper .right-wrapper {
    margin: 30px;
    max-width: 700px;
}

section:not(.hero) .single-wrapper {
    margin: 30px;
    max-width: 700px;
}

section small {
    font-size: 12px;
    font-weight: 400;
}

@media only screen and (max-width: 768px) {
    section.hero svg {
        width: 200px;
    }
    
    section h1 {
        font-size: 48px;
        letter-spacing: 6px;
    }

    section h2 {
        font-size: 28px;
        letter-spacing: 3px;
    }

    section h3 {
        font-size: 14px;
    }

    section p {
        font-size: 16px;
    }
    
    section.img-right .double-wrapper {
        grid-template-areas: 
            "ttl ttl"
            "rgt rgt"
            "lft lft";
    }

    section.img-left .double-wrapper {
        grid-template-areas: 
            "ttl ttl"
            "lft lft"
            "rgt rgt";
    }
}
