
*, *::before, *::after{
    box-sizing: border-box;
}

:root{
    font-size: 62.5%;
}

h1{
    text-align: center;
    color: #2196f3;
}
body{
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
    font-size: 2rem;
    padding: 1%;
    box-sizing: border-box;
}
form{
    display: flex;
    flex-flow: column;
    width: 80%;
    align-items: center;
    margin: 0 auto;
}

label{
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
}

select, input{
    margin-bottom: 20px;
    font-size: 2rem;
    padding: 3px;
}

select, input:not(input[type="color"]), label{
    width: 100%;
}

button{
    padding: 10px;
    font-size: 1.8rem;
    cursor: pointer;
    background-color: #2196f3;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 15px 30px;
}

button[type="submit"]{
    margin-top: 10px;
}

div.cabecera{
    text-align: center;
    border-bottom: 2px solid gray;
    margin-bottom: 50px;
}

button.volver{
    display: inline-block;
    background-color: #ffc107;
    padding: 5px 20px;
    color: black;
    font-weight: bold;
}

.mensaje{
    text-align: center;
    border: 5px solid black;
    width: 90%;
    margin: 0 auto;
}

.mensaje.exito{
    background-color: lightgreen;
}

.mensaje.error{
    background-color: lightcoral;
}

.mensaje.advertencia{
    background-color: #ffc107;
}

@media only screen and (min-width: 768px) {
    form{
        width: 40%;
    }

    div.cabecera{
        position: relative;
    }

    button.volver{
        position: absolute;
        left: 5px;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}