html {
    font-size: 1.5vw;
    font-family: Arial, Helvetica, sans-serif;
}

body {
    min-height: 100vh;
    max-width: 100vw;
    margin: 0;
    display: flex;
    flex-flow: row wrap;
    background-color: rgba(255, 244, 230, 1);
}

header {
    height: fit-content;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    padding: 1rem;
    background-color: rgb(210, 201, 190);
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.125);
    box-shadow: 0rem 0.2rem 0.2rem rgba(0, 0, 0, 0.7);
    user-select: none;
}

.head {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.login {
    width: 100%;
    margin: 1rem 0 0 0;
    display: flex;
    flex-flow: row;
    align-items: center;
}

.login form {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
}

.loginBtn {
    align-self: flex-end;
}

.headerTitle{
    max-width: 70%;
    height: auto;
}

.headerLogo {
    max-width: 30%;
}

.headerLogo img {
    max-width: 100%;
    height: auto;
}

header h1 {
    margin: 0;
    padding: 0;
    font-size: 4rem;
    color: rgba(156, 25, 29, 1);
    text-shadow: 0.2rem 0.2rem 0.3rem rgba(156, 25, 29, 0.6);
}

header h2 {
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
    color: rgba(33, 37, 41, 1);
    text-shadow: 0.2rem 0.2rem 0.3rem rgba(33, 37, 41, 0.6);
}

.navbar {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    margin: 1rem 0 0 0;
}

.nav {
    display: flex;
    flex-flow: row;
    gap: 2rem;
}

.nav a {
    color: inherit;
    text-decoration: none;
    font-weight: bold;
}

.nav a:hover {
    color: rgba(156, 25, 29, 1);
}

main {
    width: 80%;
    margin: 0 auto;
    padding: 2rem;
    display: flex;
    flex-flow: row wrap;
    color: rgba(33, 37, 41, 1)
}

.steps {
    width: 100%;
    margin: 0.5rem 0;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
}

h3 {
    margin: 1rem 0;
    user-select: none;
}

.container {
    width: 70%;
    margin: 1rem 0;
    display: flex;
    flex-flow: row wrap;
}

#stepOne .container {
    justify-content: space-between;
}


#stepTwo .container,
#stepFour .container,
#stepFive .container {
    justify-content: center;
}

.container input {
    display: none;
}

a.button, .container label, button, select {
    padding: 0.4rem;
    background-color: rgba(210, 201, 190, 1);
    border: solid 0.1rem rgba(179, 171, 161, 1);
    border-radius: 0.2rem;
    box-shadow: 0rem 0.2rem 0.2rem rgba(0, 0, 0, 0.7);
    text-decoration: none;
    color: inherit;
    font-style: inherit;
    cursor: pointer;
}

select, button, form input {
    font-size: inherit;
    font-family: inherit;
}

a.button:hover, .container label:hover, button:hover:not(:disabled) {
    background-color: rgba(179, 171, 161, 1);
    border: solid 0.1rem rgba(33, 37, 41, 1);
    color: inherit;
}

button:disabled {
    opacity: 0.5;
    user-select: none;
    cursor: default;
}

#loaderDownload, #loaderUpload {
    width: 100%;
    margin: 1rem;
    display: none;
    flex-flow: row wrap;
    justify-content: center;
}

.loaderLabel {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
    color: #000;
}

/* For this loader, see https://loading.io/css/ (.lds-dual-ring) */
.loader {
    display: inline-block;
    width: 4rem;
    height: 4rem;
}

.loader:after {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    margin: 0;
    border-radius: 50%;
    border: 0.5rem solid #000;
    border-top-color: rgb(0, 0, 0);
    border-right-color: rgb(0, 0, 0);
    border-bottom-color: rgb(0, 0, 0);
    border-left-color: rgb(0, 0, 0);
    border-color: #000 transparent #000 transparent;
    animation: loader 1.2s linear infinite;
}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#resultUpload, #resultConvert, #resultValidation {
    display: none;
    flex-flow: row;
    justify-content: center;
    width: 100%;
    text-align: center;
}

#resultUpload p, #resultConvert p, #resultValidation p {
    width: 100%;
    text-align: center;
    margin: 1rem 0;
}

#download {
    display: none;
    width: 100%;
    padding: 0;
    text-align: center;
}

#introduction p {
    height: fit-content;
    width: 100%;
    text-align: justify;
    margin: 0;
    padding: 0.5rem;
    color: rgba(102, 77, 3, 1);
    border: 2px solid rgba(102, 77, 3, 1);
    background-color: rgba(255, 243, 205, 1);
}

#validatorStepOne .container,
#validatorStepTwo .container {
    justify-content: center;
}

.alert, .info {
    height: fit-content;
    width: 100%;
    display: flex;
    flex-flow: row;
    align-items: center;
    padding: 0.5rem;
}

.alert {
    color: rgba(88, 21, 28, 1);
    border: 2px solid rgba(88, 21, 28, 1);
    background-color: rgba(248, 215, 218, 1);
}

.info {
    color: rgba(102, 77, 3, 1);
    border: 2px solid rgba(102, 77, 3, 1);
    background-color: rgba(255, 243, 205, 1);
}

.alert p, .info p {
    margin: 0;
}

footer {
    height: fit-content;
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    margin-top: auto;
    font-weight: bold;
    background-color: rgb(210, 201, 190);
    border-top: 0.1rem solid rgba(0, 0, 0, 0.125);
    box-shadow: 0rem -0.2rem 0.2rem rgba(0, 0, 0, 0.7);
    user-select: none;
}

footer img {
    max-width: 6rem;
}