* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    display: inline-block;
}


/* Banner Styles */
.banner {
    width: 100%;
    height: 80vh;

    display: flex;
    align-items: center;
    justify-content: center;
}

.banner .text {
    width: 70%;

    font-size: 4rem;

    text-align: center;
    text-wrap: balance;
}

@media screen and (width < 600px) {
    .banner {
        height: 50vh;
        margin-top: 3rem;
    }

    .banner .text {
        font-size: 2rem;
    }
}


/* Section 01 Styles */
.sec-1{
    width: 90%;
    margin: auto;
    text-align: center;
}

.sec-1 h1{
    font-size: 2rem;
    text-transform: uppercase;
}

.sec-1 p{
    font-size: 1.5rem;
    opacity: .6;
    padding: 2rem 0;
}

@media screen and (width < 600px) {
    .sec-1 h1{
        font-size: 1.3rem;
    }

    .sec-1 p{
        font-size: 1rem;
    }
}


/* Section 02 Styles */
.sec-2{
    width: 90%;
    margin: auto;
    margin-top: 3rem;
}

.sec-2 p{
    font-size: 2.2rem;
    padding: 2rem 0;
}

.sec-2 .list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px,1fr));
}

.sec-2 .list a{
    text-decoration: none;
    color: #000;
    padding: 1rem 0;
    font-size: 1.2rem;
    opacity: .6;
    transition: .3s;
}

.sec-2 .list a:hover{
    opacity: 1;
    transform: translateX(2%);
}

@media screen and (width < 600px){
    .sec-2 p{
        font-size: 1.8rem;
    }

    .sec-2 .list a{
        font-size: 1rem;
        padding: .8rem 0;
    }
}