body {
    font-family: Arial, Helvetica, sans-serif;
    margin: 0px;
    color: #005063;
    overflow-x: hidden;
}

* {
    box-sizing: border-box;
}

.container {
    padding: 25vh 10vw 10px 10vw;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 25px;
    grid-auto-rows: minmax(100px, 35vh);
}

.container-index {
    padding: 10vh 10vw 10px 10vw;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 25px;
    grid-auto-rows: minmax(100px, auto);
}

.box {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    cursor: pointer;
    height: 100%;
    font-size: 4vh;
    text-align: center;
}

.container-index .box {
    height: 20vh;
}

.box-auto {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    cursor: pointer;
    font-size: 4vh;
    text-align: center;
    grid-column: 1 / 4;
}

.box-title {
    padding: 0;
    font-size: 10vh;
}

.box-footer {
    padding: 0;
    font-size: 12px;
}

.box-title .element {
    background-color: white;
}

.box:hover {
    transform: scale(1.2);
}

.element {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ebebec;
}

.element-text {
    padding: 20px;
    font-size: 0.7em;
}

.container-index .box:nth-child(odd) .element {
    background-color: #fca012;
}

.container-index .box:nth-child(even) .element {
    background-color: #005063;
    color: white;
}

.highlight-blue {
    background-color: #005063;
    color: white;
}

.highlight-yellow {
    background-color: #fca012;
}

.disable-selection {
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer */
    -khtml-user-select: none;
    /* KHTML browsers (e.g. Konqueror) */
    -webkit-user-select: none;
    /* Chrome, Safari, and Opera */
    -webkit-touch-callout: none;
    /* Disable Android and iOS callouts*/
}

table {
    width: 100%;
}

.table-3 td {
    width: 33%;
}

.table-2 td {
    width: 50%;
}

input {
    width: 80%;
    font-size: 1.5em;
    margin: 10px;
}

.counter {
    font-size: 1.5em;
}

.button {
    padding: 1vh;
    width: 50%;
    float: left;
    cursor: pointer;
    height: 6vh;
}

.button:hover {
    transform: scale(1.3);
}

.footer {
    padding: 0 10vw 10px 10vw;
    display: block-inline;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    width: 100vw;
}

.footer div {
    padding: 10px;
    cursor: pointer;
}

@media screen and (max-width:1000px) {
    .container {
        padding: 20px;
        grid-template-columns: repeat(1, 1fr);
        grid-auto-rows: minmax(25vh, auto);
    }
    .container-index {
        padding: 20px;
        grid-template-columns: repeat(1, 1fr);
    }
    .container-index .box {
        height: auto;
    }
    .box-auto {
        grid-column: 1 / 1;
    }
    .box:hover {
        transform: none;
    }
    .box:active {
        transform: scale(1.2);
    }
    .box-title {
        font-size: 10vw;
    }
    .button:hover {
        transform: none;
    }
    .button:active {
        transform: scale(1.3);
    }
    .footer {
        padding: 0 20px 10px 20px;
    }
}

.disabled:hover {
    transform: scale(1);
    cursor: auto;
}

.security-popup {
    display: none;
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    padding: 10px;
    background-color: white;
}


/* Full-width input fields */

.security-popup input[type=number] {
    width: 100%;
    padding: 15px;
    margin: 10px 0 20px 0;
    border: none;
    background: #f1f1f1;
    font-size: 2em;
}


/* When the inputs get focus, do something */

input[type=number]:focus,
input[type=text]:focus {
    background-color: #ddd;
    outline: none;
}

.security-popup label {
    display: none;
    color: red;
}


/* Set a style for the submit/login button */

.security-popup .btn {
    background-color: #4CAF50;
    color: white;
    padding: 20px 20px;
    border: none;
    cursor: pointer;
    width: 100%;
    margin-bottom: 20px;
    font-size: 1.5em;
    opacity: 0.8;
}


/* Add a red background color to the cancel button */

.security-popup .cancel {
    background-color: red;
    opacity: 0.6;
}


/* Add some hover effects to buttons */

.security-popup .btn:hover {
    opacity: 1;
}

a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none;
    color: inherit;
    padding: 5px 10px;
    font-size: 12px;
}

.element-form {
    text-align: left;
    justify-content: left;
    font-size: 0.7em;
    padding: 10px;
}

.element-form input,
.element-form select {
    font-size: 1em;
    width: 100%;
    margin: 3px 0px 7px 0px;
}

.element-form label {
    margin: 3px 0px 3px 0px;
}

.element-form button {
    float: right;
    padding: 3px;
}