@font-face {
    font-family: 'Lato';
    src: url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');
    font-display: swap;
}
a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}
.container { /* Layout */
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}
.highlight {
    color: var(--blue);
    background-color: var(--blue-light);
    padding: 0.1ex 0.25em;
    border-radius: 4pt;
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 18px;
    vertical-align: baseline;
}
.highlight:hover {
    color: var(--background);
    background-color: var(--blue);
}
.button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 20px 0;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    color: var(--text); 
    font-size: 20px; 
    text-align: center; 
    background-color: var(--background); 
    border: 1px solid;
    border-color: var(--text); 
    border-radius: 0; 
    cursor: pointer;
    line-height: 1; 
    text-decoration: none;
    box-sizing: border-box;
}
.button svg {
    width: 1em;
    height: auto;
    fill: currentColor;
    margin-right: 0.6em;
}
.button:hover,
.button.tapped {
    background-color: var(--text);
    color: var(--background);
}
.button-container {
    margin-bottom: 30px;
}
.footer {
    margin-top: 80px;
    text-align: center;
}
#footer-text {
    font-size: 15px;
}

@media (max-width: 640px) {
    body {
        margin-top: 5vh;
    }
    h1 { /* Title */
        font-size: 50px;
        margin-left: -4px;
    }
    .h2-aligned {
        padding-top: calc(5vh - 20px);
    }
    h3 { /* Summary Items */
        font-size: 23px;
        line-height: 2;
    }
    .container {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .group-2 {
        padding-top: 2vh;
    }
    .button-container {
        margin-bottom: 20px;
    }
    #formatButtons {
        gap: 20px;
    }
}

@media (max-width: 430px) {
    body {
        margin-top: 2vh;
        padding: 0 20px;
    }
    h1 { /* Title */
        padding-bottom: 1.8vh;
        margin-left: -3.2px;
    }
    h2 { /* Sections */
        font-size: 28px;
        padding-bottom: 1.2vh;
        font-weight: 400;
    }
    .h2-aligned {
        padding-top: calc(5vh - 10px);
    }
    group-1 {
        margin-top: -1.4em;
    }
    .button-container {
        margin-bottom: 15px;
    }
    #formatButtons {
        gap: 15px;
    }
}

@media (max-width: 380px){
    body {
        padding: 0 15px;
    }
    h1 { /* Title */
        font-size: 35px;
    }
    h2 { /* Sections */
        font-size: 25px;
    }
    .h2-aligned {
        padding-top: 5vh;
    }
    h3 { /* Summary Items */
        font-size: 18px;
    }
    p { /* Body */
        font-size: 18px;
    }
    .highlight {
        border-radius: 3pt;
        font-size: 16px;
    }
    #footer-text {
        font-size: 10px;
    }
}