@import url('https://fonts.googleapis.com/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap');

/*CSS Reset*/
*, *::before, *::after{
    box-sizing: border-box;
}
body,
h1,h2,h3,h4,h5,h6,p{
    margin: 0;
    padding: 0;
}
ul{
    list-style: none;
    margin: 0;
    padding: 0
}
a{
    text-decoration: none;
    color: inherit;
}

/*Universal CSS*/
html{
    -webkit-tap-highlight-color: transparent;
}
body{
    font-family: 'Overpass', sans-serif;
    line-height: 1.7;
}
img{
    max-width: 100%;
}
html{
    scroll-behavior: smooth;
}
.container{
    padding: 2rem;
}
h1,h2{
    text-transform: uppercase;
}
/*Header*/
.flex{
    display: flex;
    align-items: center;
}
.flex-col{
    flex-direction: column;
}

header{
    justify-content: center;
    background-color: #FF3D54;
    background-image: url('./images/bg-pattern-intro.svg');
    background-repeat: no-repeat;
    background-size: 300%;
    background-position: -350px -400px;
    color: white;
    padding: 2rem;
    position: relative;
    height: 100vh;
}
.logo{
    justify-content: space-between;
}
.logo > img:last-child{
    width: 30px;
    height: 20px;
}
.hero{
    text-align: center;
    position: absolute;
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.hero>h1{
    font-size: 2.3rem;
    margin-bottom: 1.2rem;
}
.hero>p{
    line-height: 1.5;
    margin-bottom: 1.2rem;
    font-size: 1.3rem;
}
.hero .btn{
    justify-content: space-between;
}
.hero a{
    font-size: .9rem;
    display: block;
    flex-basis: 120px;
    padding: .8rem;
    background-color: white;
    color: black;
    border-radius: 30px;
    font-weight: 700;
    margin-top: 2rem;
    transition: color .3s ease;
}
.hero a:hover{
    color: #FF3D54;
}
/*Nav*/
nav{
    height: 50vh;
    overflow-y: scroll;
    scrollbar-color: #FF3D54 #CCC;
    background-color: white;
    padding: 2rem;
    border-radius: .8rem;
    position: absolute;
    color: #000;
    width: 85%;
    top: 110px;
    left: 25px;
    text-align: center;
    transform: translateX(-120%);
    opacity: 0;
    transition: all .8s ease;
    z-index: 1;
    user-select: none; /*Disable User Selection for Nav Item*/
}
nav  ul, nav > ul > li{
    margin-bottom: 1.2rem;
    cursor: pointer;
}
nav > ul > li > span::after{
    content: url('./images/icon-arrow-dark.svg');
    margin-left: .2rem;
    cursor: pointer;
}
.nav-sub-list{
    background-color: #eee;
    padding: 2rem;
    border-radius: .8rem;
    color: #a9a9a9;
    display: none;
}
nav > ul:last-child > li:last-child{
    width: 40%;
    margin: 0 auto;
    padding: .4rem;
    border-radius: 8px;
    color: white;
    background-color: #FF3D54;
}

/*For Nav JS*/
.transform{
    transform: none;
    opacity: 1;
}
.open{
    display: block;
}
/*Sections*/
section h2,h3{
    text-align: center;
    margin-bottom: 1.2rem;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.3;
}
section p{
    font-weight: 300;
    text-align: justify;
    margin-bottom: 1.2rem;
}
.section-1>div, .section-2>div,.section-3>div{
    text-align: center;
}
.section-1 h3, .section-2 h3, .section-3 h3{
    font-weight: 300;
    font-size: 1.7rem;
}
.bg-gray{
    background-color: #00000028;
}
.bg-black{
    background-color: #000;
}
.section-1{
    margin-bottom: 6rem;
}
.section-2{
    color: white;
}
.section-2 > .bg-img{
    background-image: url('./images/bg-pattern-circles.svg');
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -150px;
}
footer{
    color: white;
    text-align: center;
}
footer > div{
    margin-bottom: 2rem;
}
footer > ul > li{
    margin-bottom: 1.2rem;
    font-size: 1.3rem;
}
footer > ul > li > ul{
    margin-top: 1.2rem;
    font-size: .9rem;
    color: #ccc;
}
.info{
    background-color: #000;
    font-size: .7rem;
    color: #FFF;
    text-align: center;
}
.info > a{
    text-decoration: underline;
}
/*Responsive Layout*/
@media screen and (min-width: 768px){
    header{
        background-size: 450%;
        background-position: -700px -1350px;
        border-bottom-left-radius: 8rem;
    }
    nav{
        top: 110px;
        left: 55px;
    }
    .hero .btn{
        justify-content: space-evenly;
    }
    .section-1 img,.section-2 img,.section-3 img{
        width: 70%;
        height: 70%;
        margin-bottom: 1.2rem;
    }
}
@media screen and (min-width: 1024px){
    header{
        background-size: 250%;
        background-position: center;
    }
    header > .logo{
        display: inline;
    }
    header > .logo > .menu{
        display: none;
    }
    nav{
        width: 80%;
        overflow: visible;
        height: auto;
        display: flex;
        transform: none;
        opacity: 1;
        background-color: unset;
        position: relative;
        top: -80px;
        left: 200px;
        color: #FFF;
    }
    nav > .nav-left > li > ul {
        position: absolute;
    }
    nav > ul > li > span::after{
        content: url('./images/icon-arrow-light.svg');
    }
    nav>ul{
        display: flex;
        margin: 0;
    }
    nav > .nav-left > li > ul > li:hover{
        color: black;
    }
    nav > .nav-left > li:hover .nav-sub-list{
        display: block;
    }
    .nav-left{
        flex-grow: 1;
    }
    .nav-left > li{
        margin-bottom: 0;
    }
    nav > ul > li{
        margin-right: 30px;
        padding: 5px;
    }
    nav > ul:last-child > li:last-child{
        width: auto;
        all: unset;
        align-self: flex-start;
        padding: 5px;
        border-radius: 5px;
    }
    nav > ul:last-child > li{
        margin-bottom: 0;
    }
    nav > ul:last-child > li:last-child{
        background-color: #FFF;
        color: black;
    }
    nav > ul:last-child > li:last-child:hover{
        color: #FF3D54;
    }
    section{
        overflow: hidden;
    }
    section h2{
        font-weight: 500;
        font-size: 2.5rem;
        line-height: 1.4;
    }
    .section-1 h3, .section-2 h3, .section-3 h3{
        font-size: 2rem;
    }
    section p{
        font-weight: 400;
        font-size: 1.3rem;
        color: #a9a9a9;
        margin-bottom: 1.2rem;
    }
    section > .content{
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
        padding: 2rem;
    }
    .section-1 img,.section-3 img{
        width: 100%;
        height: 100%;
    }
    .section-2>*{
        flex-basis: 100%;
    }
    .section-2{
        display: flex;
        align-items: center;
        overflow: visible;
    }
    .section-2 img{
       margin-top: -100px;
    }
    .content>picture{
        flex-basis: 40%;
    }
    .content>div{
        flex-basis: 60%;
    }
    .section-3 > .content{
        flex-direction: row;
    }
    .section-1 img{
        margin-right: -80%;
    }
    .section-3 img{
        margin-left: -80%;
    }
    .section-1 h2{
        margin-top: 2rem;
        margin-bottom: 0;
    }
    .section-2{
        border-top-right-radius: 8rem;
        border-bottom-right-radius: 8rem;
    }
    .section-3{
        background-color: unset;
    }
    footer{
        display: flex;
        border-top-left-radius: 8rem;
        justify-content: space-evenly;
        align-items: center;
    }
    footer > div{
        margin: 0 2rem;
    }
    footer>ul{
        display: flex;
        flex-grow: 1;
        justify-content: space-evenly;
    }
}