:root {
    --default-size: 3.125vw;
    --desktop-default-size: 1vw;
    --medium-font-size: 0.6666rem;
    --heading-2: 3em;
    --left-margin: 1em;
    --min-container-height: 15vh;
    --steel-gray: #71797E;
    --bright-green: #04AA6D;
    /* 1abc9c */
}

html, body {
    font-family: Helvetica, sans-serif;
    margin: 0;
    height: auto;
    background-color: #E0E1DD;
    scroll-behavior: smooth;
}

h1, p {
    margin-left: var(--left-margin);
}

.text-center {
    text-align: center;
}

.banner {
    padding: 1.125em;
    box-sizing: border-box;
    border: 2px round;
    background-color: #0D1B2A;
    margin-bottom: 2em;
    color: white;
}

label, button, input, .result {
    font-size: var(--default-size);
}

.grid-container {
    grid-template-columns: repeat(3, minmax(10vh, 1.2fr)); 
    grid-template-rows: repeat(3, minmax(10vh, auto)); 
    max-width: 1rem;
    margin: 0 auto;
}

.grid-container, .parent {
    display: grid;
    grid-gap: 10px;
    width: 100%;
    /* min-height: var(--min-container-height); */
    justify-content: center;
    justify-self: center;
    justify-items: center;
}

.parent > div {
    background-color: #778DA9;
    padding: 10px;
    border-radius: 5px;
    display: grid;
    place-items: center;
    margin-bottom: 1vw;
    font-size: var(--medium-font-size);
    font-weight: bold;
}

input {
    background: none;
    height: 3.5em;
    width: 4.125em;
    box-sizing: content-box;
    text-align: center;
    align-self: center;
    margin-top: 0.5em;
    margin-bottom: 1em;
    border: 1px solid #dbd6d6;
    outline: none;
    transition: 0.225s;
}

input:focus {
    outline-width: 0.1em;
    outline-style: solid;
    outline-color: black;
}

.button {
    background-color: var(--bright-green);
    border: none;
    color: white;
    padding: 0.5em 1em;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    /* font-size: 2.5em; */
    margin: 0px auto;
    transition-duration: 0.4s;
    cursor: pointer;
    display: block;
    min-width: 4.225em;
    min-height: 3em;
}

.button-default {
    background-color: white; 
    color: black; 
    border: 2px solid var(--bright-green);
}
  
.button-default:hover {
    background-color: var(--bright-green);
    color: white;
}

.result {
    /* margin-left: 4.5%; */
    margin-top: 3%;
    padding: 1em;
    background-color: #1B263B;
    color: white;
}

.large {
    font-size: 1.5em;
}

#determinant, #adjoint, #inverse, #consistency, #constant, #resultant {
    text-indent: 1.5em;
}

a {
    text-decoration: none;
    color: inherit;
}

a:visited {
    text-decoration: none;
    color: inherit;
}

@media screen and (min-width: 992px) {

    label, button, input, .result {
        font-size: var(--desktop-default-size);
    }

    button {
        max-height: 1em;
    }

    .grid-container {
        grid-template-columns: repeat(3, minmax(1vh, 1.2fr)); 
        grid-template-rows: repeat(3, minmax(1vh, auto)); 
        max-width: 85vh;
        max-height: 5%;
        margin: 0 auto;
    }

    .grid-container, .parent {
        display: grid;
        grid-gap: 10px;
        width: 100%;
        justify-content: center;
        justify-self: center;
        justify-items: center;
    }

    .parent > div {
        background-color: #778DA9;
        padding: 10px;
        border-radius: 5px;
        display: grid;
        place-items: center;
        margin-bottom: 1vw;
        font-size: var(--medium-font-size);
        font-weight: bold;
        width: 18vh;
    }
}
