:root{
    /* colours */

    --White: hsl(0, 0%, 100%);
    --Lightpink: hsl(275, 100%, 97%);
    --Grayishpurple: hsl(292, 16%, 49%);
    --Darkpurple: hsl(292, 42%, 14%);

    /* sizes */
    --size-xxs: 0.5rem;
    --size-xs: 0.75rem;
    --size-s: 0.875rem;
    --size-base: 1rem;
    --size-l: 1.125rem;
    --size-xl: 1.25rem;
    --size-2xl: 1.5rem;
    --size-3xl: 1.875rem;
    --size-4xl: 2.25rem;
    --size-5xl: 3rem;
    --size-6xl: 3.75rem;
    --size-7xl: 4.5rem;
    --size-8xl: 6rem;
    --size-9xl: 8rem;
    --size-10xl: 10rem;
}

@font-face {
    font-family: worksan-bold;
    src: url(assets/fonts/static/WorkSans-Bold.ttf);
}

@font-face {
    font-family: worksan-semibold;
    src: url(assets/fonts/static/WorkSans-SemiBold.ttf);
}

@font-face {
    font-family: worksan-regular;
    src: url(assets/fonts/static/WorkSans-Regular.ttf);
}

html{
    font-size: 62.5%;
    scroll-behavior: smooth;
    object-fit: cover;
    background-color: var(--Lightpink);
    font-family: worksan-regular;
    color: var(--Grayishpurple);
}

*{
    padding: 0;
    margin: 0;
    line-height: calc(1em + 0.5rem);
}

.div-bg-img{
    background-image: url(assets/images/background-pattern-mobile.svg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
    padding: 12.5rem;
    width: 100%;
    top: 0;
    position: absolute;
    z-index: -1;
}

.logo-flex{
    display: flex;
    margin-bottom: 2rem;
}

.flex{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.icon-star{
    width: var(--size-3xl);
}

h1{
    font-size: var(--size-4xl);
    padding-left: 1.5rem;
    font-family: worksan-bold;
    color: var(--Darkpurple);
}

h3{
    width: 80%;
    font-size: var(--size-2xl);
    font-family: worksan-bold;
    color: var(--Darkpurple);
}

section{
    width: 80%;
    height: 100%;
    padding: 2rem;
    margin: 17.5rem auto;
    background-color: var(--White);
    border-radius: 1rem;
}

section ul{
    width: 100%;
    list-style-type: none;
}

ul li{
    padding-top: 1.5rem;
}

.top-bor{
    border-top: 2px solid var(--Lightpink);
    padding-top: 1.5rem;
}

.signs{
    background-image: url(assets/images/icon-plus.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--size-5xl);
    padding: 1.25rem;
}

.signs.active{
    background-image: url(assets/images/icon-minus.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--size-5xl);
    padding: 1.25rem;
}

.minus-sign{
    display: none;
}

li p{
    padding-top: 1rem;
    font-size: var(--size-xl);
    font-family: worksan-regular;
}

.info{
    display: none;
}

/* xs */
@media screen and (min-width: 475px) {
    main{
        max-width: 475px;
    }

    section{
        margin: 20rem auto;
    }
}

/* s */
@media screen and (min-width: 640px) {
    main{
        max-width: 640px;
    }

    .div-bg-img{
        padding: 15rem;
    }

    section{
        width: 70%;
        padding: 2rem;
        margin: 20rem auto;
        background-color: var(--White);
        border-radius: 1rem;
    }
}

/* m */
@media screen and (min-width: 768px) {
    main{
        max-width: 768px;
    }

    .div-bg-img{
        background-image: url(assets/images/background-pattern-desktop.svg);
        padding: 15rem;
    }

    section{
        width: 65%;
        padding: 2rem;
        margin: 22.5rem auto;
        background-color: var(--White);
        border-radius: 1rem;
    }

    .logo-flex{
        display: flex;
        margin-bottom: 2rem;
    }
    
    .icon-star{
        width: var(--size-5xl);
    }
    
    h1{
        font-size: var(--size-5xl);
    }
    
    h3{
        width: 80%;
        font-size: var(--size-3xl);
    }
    
    ul li{
        padding-top: 2.5rem;
    }
    
    li p{
        font-size: var(--size-2xl);
    }
}

/* l */
@media screen and (min-width: 1024px) {
    main{
        max-width: 1024px;
    }

    .div-bg-img{
        padding: 15rem;
    }

    section{
        width: 50%;
        margin: 22.5rem auto;
    }
}

/* xl */
@media screen and (min-width: 1280px) {
    main{
        max-width: 1280px;
    }
}

/* xxl */
@media screen and (min-width: 1536px) {
    main{
        max-width: 1536px;
    }
}