:root {
    --font-s: 3rem;
    --font-m: 5rem;
    --font-l: 7rem;

    --border-weight: 9px;
    --border-color: #000000;

    --text-color: #000000;
    --button-bg: #ffffff;
    --button-bg-hover: #f2f2f2;

    --button-pressed-bg: #000000;
    --button-pressed-text: #ffffff;

    --spacing-horizontal: 1rem;
    --spacing-vertical: 1.5rem;

    --animation-speed: all 0.1s ease;
}

* {
    box-sizing: border-box;
}

body {
    font-family: "Jersey 10", sans-serif;
    color: var(--text-color);
    touch-action: manipulation;
}

/*Remove default button styling*/
button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;

    /* Remove text styling */
    font: inherit;
    color: inherit;
    text-decoration: none;

    /* Remove browser-specific styling */
    outline: none;
    -webkit-appearance: none;
    appearance: none;

    /* Reset cursor and display */
    cursor: pointer;
    display: inline-block;
}

#calculator {
    display: flex;
    flex-direction: column;
    padding-inline: 50px;
    padding-block: 60px;
    margin-inline: auto;
}

#screen {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: var(--border-weight) solid var(--border-color);
    margin: var(--spacing-horizontal);
    height: 1.3em;
    font-size: var(--font-l);
    padding-inline: var(--spacing-horizontal);
}

#second-display {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: var(--spacing-horizontal);
    font-size: var(--font-m);
    margin-block: var(--spacing-vertical);
    padding-inline: 5px;
}

.row {
    display: flex;
    justify-content: space-between;
    align-content: center;
}

.numpad {
    flex: 1 1 100%;
    height: 2em;
    text-align: center;
    margin-block: var(--spacing-vertical);
    margin-inline: var(--spacing-horizontal);
    border: var(--border-weight) solid var(--border-color);
    font-size: var(--font-m);
    transition: var(--animation-speed);
}

.numpad:hover {
    background-color: var(--button-bg-hover);
    transition: var(--animation-speed);
}

.numpad:active {
    background-color: var(--button-pressed-bg);
    color: var(--button-pressed-text);
    transform: scale(0.95);
}

footer {
    margin-block: var(--spacing-vertical);
    text-align: center;
    font-size: var(--font-s);
}

@media (min-width: 1000px) {
    :root {
        --font-s: 1.5rem;
        --font-m: 2.6rem;
        --font-l: 4rem;

        --border-weight: 5px;

        --spacing-horizontal: 0.5rem;
        --spacing-vertical: 0.5rem;
    }

    #calculator {
        width: 45vw;
        padding-block: 20px;
    }
}