@import "./reset.css";
@import "./font.css";

:root {
    --dark-blue: #0b1220;
    --dark-yellow: #332d1a;
    --darkest-yellow: #2f241b;
    --yellow: #eba600;

    --dark: #222;
    --white: #fefefe;
    --bkg-white: rgba(254, 254, 254, .2);
    --border-white: rgba(254, 254, 254, .3);
    --gap: 30px;
    --border-radius: 16px;
    --max-width: 780px;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--text-font); color: var(--white);
    text-align: center;
    background:
            radial-gradient(300px at 30% 10%, var(--dark-yellow), transparent),
            radial-gradient(300px at 70% 80%, var(--darkest-yellow), transparent),
            var(--dark-blue);
}

h1, h2 {
    font-family: var(--title-font);
}

p, li {
    font-size: 1.6rem;
    line-height: 1.3em;
}

a {
    color: inherit;
}

.yellow {
    color: var(--yellow);
}

header {
    margin: calc(2 * var(--gap)) auto;
    max-width: var(--max-width);
    color: var(--yellow);
    text-align: center;

    h1 {
        margin: calc(var(--gap) / 2) 0 var(--gap);
        font-size: 4rem; line-height: 1em;

        img {
            max-width: 50%;
            height: auto;
            margin: 0 auto var(--gap);
            border-radius: 16px;
        }
    }
}

main {
    margin: var(--gap) auto;
    width: 90%;
    max-width: var(--max-width);
    text-align: left;

    .join-us {
        margin: var(--gap) 0;
    }

    ul {
        margin: 0; padding: 0;
    }

    .link-item {
        margin: calc(var(--gap)) 0;
        padding: 0;
    }

    .link-box {
        position: relative; display: block;
        padding: calc(var(--gap)); padding-right: calc(var(--gap) *1.5); border: 1px solid var(--border-white); border-radius: var(--border-radius);
        background: var(--bkg-white);
        text-decoration: none;
        transition: background-color 200ms ease-in;

        &::after {
            position: absolute; top: 50%; right: 0;
            content: '〉';
            transform: translate(-50%, -50%);
            transition: transform 200ms linear;
        }
    }

    .link-box:hover {
        background-color: var(--border-white);

        &::after {
            transform: translate(-30%, -50%);
        }
    }

    .columns {
        display: flex;
        align-items: center; justify-content: start;
        gap: var(--gap);
    }

    .stroke {
        padding: 10px;
        background-color: var(--border-white);
        border-radius: var(--border-radius);
    }

    .outro {
        margin-top: var(--gap);
        font-size: 1.2rem; line-height: 1.2em;
        text-align: center;

        a {
            text-decoration: none;
            border-bottom: 1px dashed var(--border-white);
        }

        a:hover {
            border-bottom: 1px dashed var(--white);
        }
    }
}

@media only screen and (max-width: 780px) {
    :root {
        --gap: 15px;
    }

    p {
        font-size: 1.3rem;
    }

    .intro, .join-us {
        text-align: center;
    }

    article .link-box {
        padding-right: calc(var(--gap) *3);

        .icon img {
            max-width: 40px;
        }

        h2 {
            font-size: 1.6rem;
        }
    }

    article .outro {
        font-size: 1.1rem;
    }
}
