@font-face {
    font-family: "Source Sans Pro Regular";
    src: url(/assets/fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf);
}
@font-face {
    font-family: "Source Sans Pro SemiBold";
    src: url(/assets/fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf);
}
@font-face {
    font-family: "Source Sans Pro Bold";
    src: url(/assets/fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf);
}
@font-face {
    font-family: "Source Sans Pro Black";
    src: url(/assets/fonts/Source_Sans_Pro/SourceSansPro-Black.ttf);
}
@font-face {
    font-family: "roboto";
    src: url(/assets/fonts/roboto/Roboto-Black.ttf);
}
@font-face {
    font-family: "roboto-light";
    src: url(/assets/fonts/roboto/Roboto-Light.ttf);
}
@font-face {
    font-family: "roboto-regular";
    src: url(/assets/fonts/roboto/Roboto-Regular.ttf);
}

*{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box; 
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,body{
    height: 100%;
    width: 100%;
    /* 1 rem = 10px */
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body{
    overflow-x: hidden;
}

li{
    list-style: none;
}

a,a:visited{
    text-decoration: none;
    color: #000;
}

img{
    max-height: 100%;
    max-width: 100%;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/*Estilizado header*/

#container-header{
    height: 14vh;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    transition: top .9s ease 0.10s;
    background-color: #FFF;
    border-bottom: 1px solid #f4f4f499;
}

.header-on{
    top: 0;
}
.header-off{
    top: -20%;
}

#logo{
    height: 100%;
    width: 15%;
    padding-left: 2%;
    cursor: pointer;
}

#container-nav{
    height: 100%;
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 3%;
}


/* menu hamburguesa  */
#mobile-menu{
    z-index: 1;
    cursor: pointer;
}
#mobile-menu.active .bar:nth-child(2){
    opacity: 0;
}
#mobile-menu.active .bar:nth-child(1){
    transform: translateY(0.8rem) rotate(45deg);
}
#mobile-menu.active .bar:nth-child(3){
    transform: translateY(-0.8rem) rotate(-45deg);
}

.bar{
    height: 0.3rem;
    width: 2.5rem;
    display: block;
    margin: 0.5rem auto;
    background-color: #000;
    -webkit-transition: all 100ms ease-in-out;
    transition: all 100ms ease-in-out;
}

#mobile-card{
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: flex-start;
    position: fixed;
    top: 0;
    left: 0;
    padding-left: 10%;
    background-color: #fff;
}
#mobile-card-text{
    height: 50%;
    width: 80%;
    display: flex;
    flex-direction: column; 
    justify-content: center;
    align-items: flex-start;
    gap: 10%;
    
}

.mobile-card-anchor{
    font-size: 2.5rem;
    font-family: "Source Sans Pro Black";
}
.mobile-card-anchor:active{
    color: #2c4bff;
}

#mobile-card-register{
    padding: 1.5rem 6rem;
    border: 0;
    border-radius: 0.5rem;
    background-color: #2c4bff;
    color: #fff;
    box-shadow: 0 0 10px #abb7ff;
    font-size: 2.5rem;
    font-family: "roboto";
}
#mobile-card-register:active{
    background-color: #1b2d91;
}

#ul-nav{
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10%;
    padding-right: 5%;
}

.btn-nav{
    border: 0;
    outline: 0;
    font-size: 1.5rem;
    border-radius: 5px;
    font-family: "roboto";
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#register{
    padding: 2rem 4rem;
    background-color: #2c4bff;
    color: #FFF;
}
#register:hover{
    background-color: #1F35B3;
    box-shadow: 0 0 10px #ABB7FF;
}
#register:active{
    background-color: #1b2d91;
    box-shadow: 0 0 3px 3px #ABB7FF;
}

#login{
    padding: 2rem 2.2rem;
    border: 1px solid #2c4bff;
    background-color: #FFF;
    color: #2c4bff;
}
#login:hover{
    background-color: #ABB7FF;
    box-shadow: 0 0 10px #ABB7FF;
}
#login:active{
    background-color: #97a2eb;
}

/* Classes reutilizables*/

.article{
    height: 100vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.text{
    font-family: "roboto";
}
.heading{
    font-family: "Source Sans Pro Black";
    font-size: 5rem;
    line-height: 6rem;
}
.paragraph{
    font-size: 2.8rem;
    line-height: 3.25rem;
    color: #383334;
}
/* Estilizado main */

#container-main{
    height: 100vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#hero{
    height: auto;
    width: 40%;
}

#main-text{
    height: 100%;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#main-heading{
    width: 80%;
    margin-top: 6rem;
}

#main-paragraph{
    width: 50%;
    margin-top: 2rem;
    text-transform: uppercase;
}

#redirect-btn{
    margin-top: 12%;
    padding: 3rem 5.5rem;
    border: none;
    border-radius: 5px;
    font-family: "roboto";
    font-size: 2rem;
    background-color: #2c4bff;
    color: #FFF;
}

#redirect-btn:hover{
    background-color: #1F35B3;
    box-shadow: 0 0 10px #ABB7FF;
}

#redirect-btn:active{
    background-color: #1b2d91;
}

/* Estilizado primer Article */

#container-first-article{
    background-color: #F5F5F5;
}

#first-art-text{
    height: 100%;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2.5%;
}

#first-art-text .heading{
    width: 75%;
    margin-bottom: 5rem;
    letter-spacing: -2px;
}

#first-art-text .paragraph{
    width: 50%;
}

#first-art-img{
    height: auto;
    width: 40%;
}
/* Estilizado segundo Article */

#container-second-article{
    background-color: #FFF;
    flex-direction: column;
    justify-content: space-around;
}

#second-art-text{
    height: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#second-art-paragraph{
    width: 60%;
    margin-top: 2rem;
    font-size: 2.2rem;
    text-transform: uppercase;
    text-align: center;
}

#img-steps{
    height: auto;
    width: 100%;
}

/* Estilizado tercer Article */

#container-third-article{
    height: 220vh;
    flex-direction: column;
    gap: 2.5%;
}

.third-art-section{
    height: 22%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.third-art-sectio   n:nth-child(odd){
    background-color: #F5F5F5;
}

.third-art-section-text{
    height: 100%;
    width: 50%;
    padding-left: 6.5%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.third-art-section-text *{
    line-height: normal;
}

.third-art-span{
    font-size: 1.4rem;
    color: #323132;
    text-transform: uppercase;
}

.third-art-heading{
    margin-bottom: 3.2rem;
    font-size: 3.2rem;
    text-transform: capitalize;
}

.third-art-paragraph{
    width: 70%;
    text-transform: uppercase;
    font-size: 1.8rem;
}

.third-art-img{
    height: 80%;
    width: auto;
    margin-right: 5%;
}
/* estilizando cuarto article */

#container-fourth-article{
    height: 40vh;
    flex-direction: column;
    align-items: flex-start;
    background: linear-gradient(60deg,#3e6bfdaf,#3452f8);
    border: 1px solid #788cff;
    cursor: pointer;
}

#fourth-art-heading{
    margin-bottom: 1rem;
    font-size: 4rem;
}

#fourth-art-paragraph{
    font-size: 2rem;
}

.fourth-art-text{
    padding-left: 6.5%;
}

/* estilizando footer */

#container-footer{
    height: 70vh;
    width: 100%;
    background-color: #f6f7f8;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-div{
    height: 75%;
    width: 15%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5%;
    margin-right: 1.5rem;
}

.footer-div:nth-child(1){
    width: 20%;
    margin-right: 15%;
    display: flex;
    justify-content: flex-start;
    gap: 0;
}

#footer-logo{
    height: 20%;
    width: auto;
    margin: 0 auto;
    cursor: pointer;
}

#logo-motto{
    font-family: "roboto-regular";
    font-size: 1.9rem;
    margin: 0 auto 15%;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#container-socialmedia{
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.socialmedia-footer{
    height: 3rem;
    width: 3rem;
    cursor: pointer;
}

.heading-footer{
    font-family: "roboto";
    font-size: 1.9rem;
}

.anchor-footer{
    font-family: "roboto-light";
    font-size: 1.65rem;
}

/* estilizando register  */

#register-back{
    height: 100vh;
    width: 100vw;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,.85);
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#register-modal{
    height: 75vh;
    width: 35vw;
    border-radius: .4rem;
    background-color: #f7f7f8;
}

#register-modal-upper{
    height: 25%;
    width: 100%;
    padding: 0 5%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}

#register-logo{
    max-width: 100%;
    height: 45%;
    width: auto;
    align-self: center;
    margin-bottom: 3%;
    cursor: pointer;
}

#container-register-upper-span{
    height: 30%;
    width: 100%;
    padding-top: 2%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid rgba(163, 163, 163, 0.443);
}

.register-upper-anchor{
    padding-right: 7%;
    font-family: "roboto";
}
.register-upper-anchor:hover{
    color: #1b2d91;
}
.register-upper-anchor:nth-child(1){
    color: #2c4bff;
}
.register-upper-anchor:nth-child(1):hover{
    color: #1F35B3;
}

#register-form{
    height: 75%;
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-top: 2.5%;
    padding: 0 5%;
    justify-content: flex-start;
    align-items: flex-start;
}

.register-label{
    margin-top: 1.2rem;
    font-size: .9rem;
    font-family: "roboto";
}

.register-input{
    width: 100%;
    margin: .3rem 0;
    padding: .5rem 1rem;
    background-color: rgba(0,0,0,0.1);
    border: 2px solid transparent;
    border-radius: .4rem;
    font-family: "roboto";
    font-size: 1rem;
}
.register-input:hover{
    border: 2px solid rgba(0,0,0,0.2);
}
.register-input:focus{
    background: #000;
    color: #FFF;
    border: 2px solid #5f52cf;
    outline: 0;
}


#register-btn{
    align-self: stretch;
    background-color: #2c4bff;
    color: rgb(233, 231, 231);
    margin: 4rem 0 .5rem 0;
    padding: 0.5rem 1rem;
    border: 2px solid transparent;
    border-radius: .4rem;
    font-family: "roboto";
    font-size: 1rem;
    text-transform: capitalize;
}
#register-btn:hover{
    background-color: #1F35B3;
}
#register-btn:active{
    background-color: #1b2d91;
}

#register-paragraph{
    width: 80%;
    align-self: center;
    color: #504d4e;
    text-align: center;
    font-family: "roboto";
    font-size: .8rem;
}

#register-paragraph > a{
    color: #1b2d91;
    font-family: "roboto";
}

#background-card{
    height: 100vh;
    width: 100vw;
    background-color: #000000d9;
    position: fixed;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

#card-login{
    height: 85vh;
    width: 35vw;
    border-radius: .6rem;
    background-color: #f7f7f8;
    overflow: hidden;
}

#card-login-top{
    height: 20%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
}

#card-logo{
    height: 45%;
    width: auto;
    cursor: pointer;
}

#container-login-span{
    height: 30%;
    width: 90%;
    padding-top: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid #a3a3a3;
}

.login-span{
    font-size: 1.6rem;
    font-family: "roboto";
    padding-right: 7%;
}
.login-span:hover{
    color: #1b2d91;
}

#container-login-span .login-span-selected{
    color: #2c4bff;
}
#container-login-span .login-span-selected:hover{
    color: #1F35B3
}

#card-login-info{
    height: 75%;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 2.5% 5% 0;
    justify-content: flex-start;
    align-items: flex-start;
}

.card-login-label{
    margin-top: 2rem;
    font-size: 1.8rem;
    font-family: "roboto";
}

.card-login-input{
    width: 100%;
    margin: .5rem 0;
    padding: .8rem 1.6rem;
    border: 4px solid transparent;
    border-radius: .6rem;
    font-size: 1.6rem;
    font-family: "roboto";
}
.card-login-input:hover{
    border-color: #b2b2b2;
}
.card-login-input:focus{
    outline: 0;
    background: #000;
    color: #fafafa;
    border-color: #5f52cf;
}
.card-login-input::-ms-reveal {
    filter: invert(100%);
}
.card-login-input-color{
    background-color: #dededf;
    border: 4px solid transparent;
}
.bad-try{
    border-color: #ff0000;
    background-color: #fc9292;
}
.card-login-span{
    font-size: 1.5rem;
    font-family: "roboto";
    color: #504d4e;
}

#card-login-btn{
    width: 100%;
    background-color: #2c4bff;
    color: #fafafa;
    margin: 4rem 0 .5rem;
    padding: .8rem 1.6rem;
    border: 4px solid transparent;
    border-radius: .6rem;
    font-family: "roboto";
    font-size: 1.6rem;
    user-select: none;
}
#card-login-btn:hover{
    background-color: #1F35B3;
}
#card-login-btn:active{
    background-color: #1b2d91;
}

#card-login-paragraph{
    width: 80%;
    align-self: center;
    color: #504d4e;
    text-align: center;
    font-family: "roboto";
    font-size: 1.4rem;
}
#card-login-paragraph .card-login-norm{
    color: #1b2d91;
    font-family: "roboto";
}

#forget-password{
    color: #504d4e;
    font-family: "roboto";
    font-size: 1.5rem;
}
#forget-password:hover{
    text-decoration: underline;
}

/* media queries */

@media (max-width: 1024px){
    #logo{
        width: 25%;
    }

    #main-heading{
        font-size: 4.5rem;
    }

    #main-paragraph{
        font-size: 2.5rem;
    }

    #first-art-text .heading{
        width: 100%;
    }

    #first-art-text .paragraph{
        width: 75%;
    }

    #card-login{
        width: 50vw;
    }

    #card-logo{
        height: 50%;
    }
}

@media (max-width: 768px){
    #main-heading{
        font-size: 4rem;
        line-height: normal;
    }

    #main-paragraph {
        width: 80%;
    }    

    #container-footer{
        height: 80vh;
    }

    .footer-div{
        gap: 2%;
        margin-right: 2.5rem;
    }

    .footer-div:nth-child(1) {
        width: 15%;
        margin-right: 5%;
    }

    .third-art-img {
        height: 60%;
    }
    
    .heading-footer {
        font-size: 2rem;
    }

    .anchor-footer {
        margin-top: 10%;
    }

    #card-login {
        width: 70vw;
    }
}

@media (max-width: 600px){
    #logo {
        width: 35%;
        padding-left: 3%;
    }
    
    #logo-motto{
        font-size: 2rem;
    }

    #main-heading {
        font-size: 3.8rem;
    }
    
    #main-paragraph {
        font-size: 2rem;
    }

    .heading{
        font-size: 3.8rem;
    }

    .paragraph {
        font-size: 2rem;
    }

    #second-art-paragraph {
        width: 90%;
    }

    #container-third-article {
        height: 320vh;
    }

    .third-art-section{
        flex-direction: column;
        justify-content: center;
    }

    .third-art-section-text{
        height: 50%;
        width: 100%;
    }

    .third-art-span{
        font-size: 1.8rem;
    }

    .third-art-heading {
        margin-bottom: 2rem;
    }

    .third-art-img{
        height: 40%;
    }

    #container-footer {
        height: 275vh;
        flex-direction: column;
        gap: 2.5%;
    }

    .footer-div{
        height: auto;
        width: 100%;
        padding-left: 7.5%;
        gap: 0%;
        margin-right: 0;
    }

    .footer-div:nth-child(1) {
        height: 10%;
        width: 100%;
        margin: 0;
    }

    #footer-logo{
        height: 40%;
        margin: 0;
    }

    #logo-motto{
        margin: 0;
        padding-bottom: 2.5rem;
    }

    #container-socialmedia{
        width: auto;
        justify-content: flex-start;
        gap: 1.5rem;
    }

    .anchor-footer {
        margin-top: 4%;
    }

    #card-login {
        height: 95vh;
        width: 95vw;
    }
}

@media (max-width: 425px){

    #container-header{
        height: 10vh;
    }

    #logo {
        width: 45%;
    }

    #ul-nav{
        display: none;
    }

    #container-main{
        height: 100vh;
        flex-direction: column-reverse;
        justify-content: flex-start;
    }
    
    #main-text {
        height: 50%;
        width: 80%;
        margin: 0;
    }

    #main-heading{
        width: 100%;
        margin: 0;
        font-size: 3.5rem;
    }

    #main-paragraph{
        font-size: 2rem;
        margin-top: 3rem;
    }

    #redirect-btn{
        margin-top: 5%;
    }
    
    #hero{
        height: auto;
        width: 85%;
        margin: 0;
    }

    #container-first-article{
        flex-direction: column;
    }

    #first-art-text {
        height: 65%;
        width: 80%;
        padding: 0;
    }
    
    #first-art-text .heading{
        width: 85%;
        margin-bottom: 3.2rem;
        line-height: normal;
    }

    #first-art-text .paragraph {
        font-size: 2rem;
    }

    #first-art-img {
        height: auto;
        width: 65%;
    }

    #container-second-article {
        height: 60vh;
    }

    #img-steps{
        display: none;
    }
    
    #second-art-paragraph {
        width: 80%;
        font-size: 2rem;
    }

    .third-art-heading {
        font-size: 3.5rem;
    }

    .third-art-paragraph {
        width: 85%;
        font-size: 1.8rem;
    }

    #fourth-art-heading {
        margin: 0;
        font-size: 3rem;
    }

    #fourth-art-paragraph {
        font-size: 2rem;
    }

    #card-login {
        height: 100vh;
        width: 100vw;
        border-radius: 0;
    }

    #card-logo {
        height: 40%;
    }
}

@media (max-width: 375px){
    #first-art-text .heading{
        width: 100%;
        letter-spacing: 0;
        font-size: 3.5rem;
    }

    #first-art-text .paragraph{
        width: 100%;
    }

    .third-art-span {
        font-size: 1.6rem;
    }

    .third-art-heading {
        font-size: 3.2rem;
    }

    .third-art-paragraph{
        font-size: 1.6rem;
    }

    #container-footer{
        height: 250vh;
    }

    #card-logo {
        height: 35%;
    }
}

@media (max-width: 320px){
    #logo {
        width: 55%;
    }

    #main-text {
        height: 60%;
    }

    #main-heading {
        font-size: 3rem;  
    }

    #main-paragraph {
        font-size: 1.8rem;
        margin-top: 2.5rem;
    }

    #first-art-text{
        height: 60%;
        gap: 1.5%;
    }

    #first-art-text .heading{
        font-size: 3rem;
    }

    #first-art-text .paragraph {
        width: 90%;
        font-size: 1.8rem;
    }

    .heading {
        font-size: 3.5rem;
    }

    .third-art-span{
        font-size: 1.4rem;
    }

    .third-art-heading{
        font-size: 3rem;
    }

    .third-art-img {
        height: 35%;
    }
}