/* =========================
   FONTS
========================= */
@font-face{
    font-family:'Lato';
    src:url('/fonts/lato/Lato-Regular.woff2') format('woff2');
    font-weight:400;
    font-display:swap;
}
@font-face{
    font-family:'Lato';
    src:url('/fonts/lato/Lato-Light.woff2') format('woff2');
    font-weight:300;
    font-display:swap;
}
@font-face{
    font-family:'Lato';
    src:url('/fonts/lato/Lato-Bold.woff2') format('woff2');
    font-weight:700;
    font-display:swap;
}


/* =====================================
   VARIABLES
===================================== */

:root{
    --field-width: 92%;

}


/* =====================================
   RESET
===================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Lato',sans-serif;
}

html,
body{
    width:100%;
    height:100%;
}


/* =====================================
   BODY
===================================== */

body{

    display:flex;
    justify-content:center;
    align-items:center;

    background:
    linear-gradient(
        165deg,
        #8e00ff,
        #4664ff,
        #24c8ff
    );

    overflow:hidden;
    position:relative;

}


/* =====================================
   PARTICLES
===================================== */

#particles-js{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    z-index:0;

}

/* =====================================
   CONTAINER
===================================== */

.signup-container{

    position:relative;
    z-index:2;

    width:550px;
    max-width:95%;

    text-align:center;

}

/* =========================
   HONEYPOT
========================= */

.honeypot{
    display:none;
}

/* =====================================
   LOGO
===================================== */

.brand-logo{

    width:450px;
    max-width:100%;
    height:auto;

    display:block;

    margin:0 auto 10px;

}

/* =====================================
   BOX
===================================== */

.signup-box{

    width:100%;

    background:#fff;

    border-radius:12px;

    padding:35px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.25);

}

/* =====================================
   TITLE
===================================== */

h2{

    font-size:32px;
    font-weight:400;

    color:#333;

    margin-bottom:18px;

}

/* =====================================
   DESCRIPTION
===================================== */

.signup-description{

    color:#666;

    line-height:1.7;

    margin-bottom:28px;

    font-size:17px;

}

/* =====================================
   INPUTS
===================================== */

input{

    width:var(--field-width);

    display:block;

    margin:0 auto 14px auto; /* auto a los lados: centra el campo al no ocupar el 100% */

    padding:13px;

    border:1px solid #ddd;

    border-radius:6px;

    font-size:18px;

    transition:.3s;

}


input:focus{

    border-color:#4664ff;

    box-shadow:
    0 0 8px rgba(70,100,255,.25);

    outline:none;

}

/* =====================================
   READONLY
===================================== */

.refid-readonly{

    background:#f4f4f4;

    color:#666;

    cursor:not-allowed;

}

/* =====================================
   BUTTON
===================================== */

button{

    width:var(--field-width);

    display:block;

    margin:0 auto;

    padding:13px;

    border:none;

    border-radius:6px;

    background:#4664ff;

    color:#fff;

    font-size:20px;

    cursor:pointer;

    transition:.3s;

}


button:hover{

    background:#3a54e0;

    transform:translateY(-2px);

}


button:disabled{

    background:#b7c1f7;

    cursor:not-allowed;

    transform:none;

}


/* =====================================
   SERVER ALERTS
===================================== */

.server-error{

    display:block;

    color:#d00000;

    font-size:20px;

    font-weight:700;

    margin:20px 0 10px;

    text-align:center;

}


.server-success{

    display:block;

    color:#198754;

    font-size:20px;

    font-weight:700;

    margin:20px 0 10px;

    text-align:center;

}


/* =====================================
   INPUT ALERTS
===================================== */

.error-msg{
    display:none;
    width:var(--field-width);
    margin:5px auto 12px auto;
    color:#d00000;
    font-size:19px;
    font-weight:500;
    text-align:left;
}

/* =====================================
   LINKS
===================================== */

.links{

    margin-top:25px;

    font-size:16px;

}


.links a{

    color:#4664ff;

    text-decoration:none;

}


.links a:hover{

    text-decoration:underline;

}

/* =====================================
   FOOTER
===================================== */

.brand-footer{

    margin-top:25px;

    color:rgba(255,255,255,.85);

    font-size:18px;

    letter-spacing:.3px;

    line-height:1.8;

    text-align:center;

}

/* =====================================
   NOSCRIPT
===================================== */

.noscript-warning{

    margin-bottom:18px;

    background:#fff4d4;

    color:#9c6500;

    border:1px solid #ffe08a;

    padding:14px;

    border-radius:8px;

    text-align:center;

    font-size:16px;

}

/* =====================================
   MOBILE
===================================== */

@media(max-width:600px){
    :root{

        --field-width: 100%;

    }

    .signup-container{

        width:100%;

        padding:0 15px;

    }

    .brand-logo{

        max-width:340px;

        width:100%;

    }

    .signup-box{

        padding:30px;

    }

    h2{

        font-size:30px;

    }

}