@font-face {
    font-family: "Montserrat";
    src: url('./fonts/montserrat/Montserrat-Regular.ttf');
}

:root {
    --header-color: #ffffff;
    --footer-color: #1B2034;
    --logo-color: #df0d26;
    --texto-blanco: #F4F4F4;
    --texto-oscuro: #212529;
    --primary-color: #091970;
}
html {
    font-size: 15px;
}
body {
    background-color: #F4F4F4;
    color: var(--texto-oscuro);
    line-height: 1.25;
    margin: 0px;
    font-family: 'Montserrat';
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0 0 0.6rem 0;
}
a {
    display: block;
    color: var(--texto-oscuro);
}
a:hover {
    color: #0920a3;
}
a:focus {
    color: #091970;
}
main {
    height: 100vh;
}
input {
    background-color: #f4f4f4;
    border: 1.5px solid var(--primary-color);
    border-radius: 9px;
    padding: 0.9rem 0.7rem;
}
input:focus{
    color:#000838;
    background-color:#fff;
    border-color:#102abb;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(9, 25, 112, 0.25)
}
input, button {
    width: 100%;
    font-size: 1rem;
}
.grid-slogan {
    background-color: #9cafff;
    color: var(--primary-color);
    padding: 2rem;
}
.grid-login {
    padding: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.x-h-100 { height: 100%;}
.x-w-100 { width: 100%;}
.x-btn {
    cursor: pointer;
    display: inline-block;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    user-select: none;
    border: 1px solid transparent;
    padding: .7rem .75rem;
    font-size: 1rem;
    border-radius: 9px;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.x-btn-primary {
    background-color: var(--primary-color);
    color: white;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.x-grid-login {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    height: 100vh;
}
.form-login {
    max-width: 300px;
}
.x-d-flex-jc-ac {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.x-d-flex-je {
    display: flex;
    justify-content: end;
}
.text-center {
    text-align: center;
}
.text-end {
    text-align: end;
}
.p-2{padding:.5rem!important}
.p-3{padding:1rem!important}
.p-4{padding:1.5rem!important}
.p-5{padding:3rem!important}

.m-2{margin:.5rem!important}
.m-3{margin:1rem!important}
.m-4{margin:1.5rem!important}
.m-5{margin:3rem!important}

.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}

.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}

.mtb-auto {
    margin: auto 0px;
}

.login-error {
    padding: 16px;
    color: #cb0516;
    background-color: rgb(203 5 22 / 12%);
    border: 1px solid #ff6a77;
    border-radius: 9px;
}

.x-btn-rojo {
    color: #ffffff;
    background-color: #df0d26;
    border-color: #df0d26;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.texto.rojo {
    color: #df0d26;
}

@media screen and (max-width: 600px) {
    html {
        font-size: 14px;
    }
    .x-grid-login {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        height: 100vh;
    }
    .grid-slogan {
        display: none;
    }
    .form-login {
        max-width: 300px;
    }
}