@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;600&display=swap');

:root{
    /* typography */
    --fontSize: 16px;
    --josefin-sans: 'Josefin Sans', sans-serif;
    --light: 300;
    --semi-bold: 400;
    --bold: 600;

    /* colors */
    --desaturated-red: hsl(0, 36%, 70%);
    --soft-red: hsl(0, 93%, 68%);
    --dark-grayish-red: hsl(0, 6%, 24%);
    --grad-1: linear-gradient(135deg, hsl(0, 0%, 100%), hsl(0, 100%, 98%));
    --grad-2: linear-gradient(135deg, hsl(0, 80%, 86%),hsl(0, 74%, 74%));
}

*, *::before, *::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    
}

body, html{
    width: 100%;
    font-family: var(--josefin-sans);
    overflow: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.container{
    max-width: 1440px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}


.app{
    display: flex;
    flex-direction: column;
    background: var(--grad-1), var(--grad-2);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100% 100%;
    background-position: top;
}

.logo{
   padding: 5% 10% 8% 10%;
}

.logo img{
    width: 120px;
    height: auto;
    object-fit: contain;
}

.hero{
    display: block;
    width: 100%;
    margin-bottom: 24px;
}   

.hero-desktop{
    display: none;
}


.hero img{
    width: 100%;
    object-fit: contain;
}

.content{
    padding: 10%;
    margin-bottom: 8%
}

.content-info h1{
    font-size: 48px;
    font-family: var(--josefin-sans);
    font-weight: var(--bold);
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 10px;

    color: var(--dark-grayish-red);

    margin-bottom: 1rem;


}

.head{
    color: var(--desaturated-red);
    font-weight: var(--light);
}

.content-info p{
    font-size: 16px;
    font-family: var(--josefin-sans);
    line-height: 24px;
    color: var(--desaturated-red);
    opacity: 0.8;
    text-align: center;
    margin-bottom: 2rem;
    
}

.content-form form{
    width: 100%;
    display: flex;
    border: 1.5px solid var(--desaturated-red);
    border-radius: 48px;
    gap: 10px;
    align-items: center;
    
}

.content-form input{
    flex: 1;

    padding: 12px 12px 12px 18px;
    background-color: transparent;
    color: var(--desaturated-red);
    outline: none;
    border: none;
    font-family: var(--josefin-sans);
    
    border-radius: 48px;
}

.content-form input::placeholder{
    color: var(--desaturated-red);
    font-size: 14px;
}

.error-icon{
    display: none;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.btn{
    flex: .10;
    padding: 12px 24px;
    background: var(--grad-2);
    border: none;
    outline: none;
    border-radius: 48px;
    cursor: pointer;
    z-index: 5;
}

.btn:hover{
    box-shadow: 0px 10px 18px var(--desaturated-red);
    opacity: 0.5;
}

.btn img{
    width: 14px;
    height: auto;
}

.error-message{
    display: none;
    padding: 1rem;
    color: var(--soft-red);
    opacity: 0.7;
    font-size: 15px;
}

footer{
    text-align: center;
    width: 100%;
    background: var(--grad-1);
    padding: 10px;    
}

footer p{
    font-family: var(--josefin-sans);
    color: var(--dark-grayish-red);

}

footer a{
    text-decoration: none;
    color: var(--soft-red);
}


/* Desktop View */

@media screen and (min-width: 768px){
    body,html{
        height: 100%;
    }

    .app{
        width: 60%;
        height: 100%;
        background: url('../images/bg-pattern-desktop.svg');
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;

        padding: 2% 10% 10% 10%;
        
    }

    .logo{
        margin-bottom: 32px;
    }

    .logo img{
        width: 150px;
    }

    .hero-desktop{
        width: 40%;
        display: block;
        height: 100%;
    }

    .hero-desktop img{
        height: 100%;
        width: auto;
        object-fit: contain;
    }

    .hero{
        display: none;
    }

    .content-info h1{
        font-size: 64px;
        text-align: left;
    }

    .content-info p{
        text-align: left;
        line-height: 32px;
    }
}





