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

:root{
    --Blue: hsl(246, 80%, 60%);
    --Light_red_work: hsl(15, 100%, 70%);
    --blue_play: hsl(195, 74%, 62%);
    --red_study: hsl(348, 100%, 68%);
    --green_exercise: hsl(145, 58%, 55%);
    --Violet_social: hsl(264, 64%, 52%);
    --orange_selfcare: hsl(43, 84%, 65%);
    --Very_dark_blue: hsl(226, 43%, 10%);
    --Dark_blue: hsl(235, 46%, 20%);
    --Desaturated_blue: hsl(235, 45%, 61%);
    --Pale_Blue: hsl(236, 100%, 87%);
    --Font_size_card: 18px;
    --font_family: 'Rubik';
    --w3: 300;
    --w4: 400;
    --w5: 500;
}

body{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    min-height: 100vh;
    padding-block-start: 3rem;
    font-family: var(--font_family);
    background-color: var(--Very_dark_blue);
}

.bgInfo{
    background-color: var(--Dark_blue);
    width:20rem;
    height: 12rem;
    border-radius: 1.25rem;
}

#name_block{
    display: flex;
    justify-content: center;
    width: 20rem;
    height: 8rem;
    border-radius: 1.25rem;
    background-color: var(--Blue);
}

#profile{
    display: block;
    max-width: 4rem;
    border-radius: 50%;
    border: 0.2rem solid white;
}

.info{
    display: grid;
    grid-template-columns: 2 / 1fr;
    grid-template-rows: 2 / 1fr;
    justify-content: space-evenly;
    align-items: center; 
    column-gap: 1.1rem;
}

.pic{
    grid-area: 1 / 1 / span 2 / 1;
}

.user_Info{
    grid-area: 1 / 2 / span 2 / 2;
}

#report{
    color: var(--Pale_Blue);
    font-size: 0.9rem;
    font-weight: var(--w4);
}

#name{
    color: white;
    font-size: 1.5rem;
    font-weight: var(--w3);
}

#buttons{
    display: flex;
    width: 20rem;
    height: 4rem;
    justify-content: space-evenly;
    align-items: center;
    gap: 2rem;
}

button{
    border-style: none;
    background-color: var(--Dark_blue);
    color: var(--Pale_Blue);
    cursor: pointer;
    font-size: 1.05rem;
}

button.active{
    color: white;
}

.item{
    width: 20rem;
    height: 7.2rem;
    border-radius: 1.25rem;
    padding: 1.5rem 1.5rem 0rem 1.5rem;
    background-color: var(--Dark_blue);
}

.squareT{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

h1{
    color: white;
    font-size: 1rem;
    font-weight: 450;
}

#ellipsis{
    width: 100%;
    cursor: pointer;
}

.text{
    display: flex;
    justify-content: space-between;
    align-items:center;
    margin-block-start: 0.3rem;
}

.current{
    color: white;
    font-size: 2rem;
    font-weight: var(--w3);
}

.previous{
    color: var(--Pale_Blue);
    font-size: 1rem;
}

.bgWork, .bgPlay, .bgStudy, .bgExercise, .bgSocial, .bgSelf-Care{
    display: flex;
    flex-direction: column-reverse;
    width:20rem;
    height: 9.5rem;
    border-radius: 1.25rem 1.25rem 2rem 2rem;
    margin-block-start: 1.5rem;
}

.bgWork{
    background-color: var(--Light_red_work);
    background-image: url(images/icon-work.svg);
    background-repeat: no-repeat;
    background-position:14.2rem -0.5rem; 
    background-size: 4.5rem;
}

.bgPlay{
    background-color: var(--blue_play);
    background-image: url(images/icon-play.svg);
    background-repeat: no-repeat;
    background-position:14.2rem -0.5rem; 
    background-size: 4.5rem;
}

.bgStudy{
    background-color: var(--red_study);
    background-image: url(images/icon-study.svg);
    background-repeat: no-repeat;
    background-position:14.2rem -0.5rem; 
    background-size: 4.5rem;
}

.bgExercise{
    background-color: var(--green_exercise);
    background-image: url(images/icon-exercise.svg);
    background-repeat: no-repeat;
    background-position:14.2rem -0.5rem; 
    background-size: 4.5rem;
}

.bgSocial{
    background-color: var(--Violet_social);
    background-image: url(images/icon-social.svg);
    background-repeat: no-repeat;
    background-position:14.2rem -0.5rem; 
    background-size: 4.5rem;
}

.bgSelf-Care{
    background-color: var(--orange_selfcare);
    background-image: url(images/icon-self-care.svg);
    background-repeat: no-repeat;
    background-position:14.2rem -0.5rem; 
    background-size: 4.5rem;
    margin-block-end: 2rem;
}

.attribution{
    color: var(--Pale_Blue);
    margin-block-start: 1rem;
    margin-block-end: 1rem;
}

@media (min-width: 768px){

    body{
        justify-content: flex-start;
        align-items: center;
    }

    .main{
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(4, auto);
        grid-column-gap: 0px;
        justify-content: stretch;
        align-items: stretch;
    }

    .bgInfo{
        grid-area: 1 / 1 / 2 / 1;
        height: 28rem;
        width: 15rem;
        margin-inline-end: -50rem;
    }

    #name_block{
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        width: 15rem;
        height: 19rem;
        padding-inline-start: 2rem;
    }
    
    #profile{
        display: block;
        justify-content: left;
        max-width: 4rem;
        border-radius: 50%;
        border: 0.2rem solid white;
    }
    
    .info{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        height: 12.3rem;
        margin-block-start: -3rem;
    }
    
    #name{
        margin-block-start: 0.3rem;
        font-size: 2rem;
    }
    
    #buttons{
        flex-direction: column;
        width: 7rem;
        height: 8rem;
        align-items: flex-start;
        gap: 0.5rem;
        margin-block-start: 0.5rem;
        padding-inline-start: 2rem;
    }
    
    button{
        border-style: none;
        background-color: var(--Dark_blue);
        color: var(--Pale_Blue);
        cursor: pointer;
        font-size: 1.05rem;
        z-index: 1;
    }
    
    button:hover{
        color: white;
    }

    #output{
        display: grid;
        height: 28rem;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(4, auto);
        grid-column-gap: 1.7rem;
        grid-row-gap: 2rem;
        margin-inline-start: 0rem;
        justify-content: stretch;
        align-items: stretch;
        margin-block-end: 5rem;
    }

    .item{
        width: 15rem;
        height: 10rem;
    }

    .item:hover{
        background-color: rgb(48, 52, 87);
    }

    .bgWork{
        grid-area: 1 / 2 / 1 / 2;
        width: 15rem;
        height: 13rem;
        margin-block-start: 0rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgPlay{
        grid-area: 2 / 2 / 2 / 2;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgStudy{
        grid-area: 3 / 1 / 3 / 1;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgExercise{
        grid-area: 3 / 2 / 3 / 2;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgSocial{
        grid-area: 4 / 1 / 4 / 1;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgSelf-Care{
        grid-area: 4 / 2 / 4 / 2;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }
    
    #ellipsis{
        width: 100%;
        filter: grayscale(0%);
        cursor: pointer;
    }

    #ellipsis:hover{
        filter: grayscale(0%) brightness(300%);
        transition: filter 0.3s ease;
    }
    
    .text{
        flex-direction: column;
        align-items:flex-start;
        margin-block-start: 1rem;
    }
    
    .current{
        font-size: 2.7rem;
        font-weight: var(--w3);
    }
    
    .previous{
        margin-block-start: 0.5rem;
        font-size: 0.85rem;
    }

    .attribution{
        position: absolute;
        bottom: 1px;
    }

    footer{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    
}

@media (min-width: 1200px){

    body{
        padding-block-start: 0rem;
        justify-content: center;
    }    

    .main{
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(1, auto);
        grid-column-gap: 20px;
        justify-content: stretch;
        align-items: stretch;
    }

    .bgInfo{
        grid-area: 1 / 1 / span 2 / 1;
        height: 28rem;
        width: 14rem;
        margin-inline-end: 0rem;
    }

    #name_block{
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        width: 14rem;
        height: 19rem;
        padding-inline-start: 2rem;
    }
    
    #profile{
        display: block;
        justify-content: left;
        max-width: 4rem;
        border-radius: 50%;
        border: 0.2rem solid white;
    }
    
    .info{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        height: 12.3rem;
        margin-block-start: -3rem;
    }
    
    #name{
        margin-block-start: 0.3rem;
        font-size: 2rem;
    }
    
    #buttons{
        flex-direction: column;
        width: 7rem;
        height: 8rem;
        align-items: flex-start;
        gap: 0.5rem;
        margin-block-start: 0.5rem;
        padding-inline-start: 2rem;
    }
    
    button{
        border-style: none;
        background-color: var(--Dark_blue);
        color: var(--Pale_Blue);
        cursor: pointer;
        font-size: 1.05rem;
    }
    
    button:hover{
        color: white;
    }

    #output{
        display: grid;
        height: 28rem;
        grid-template-columns: repeat(3, auto);
        grid-template-rows: repeat(2, auto);
        grid-column-gap: 1.7rem;
        grid-row-gap: 2rem;
        margin-inline-start: 0.6rem;
        justify-content: stretch;
        align-items: stretch;
        margin-block-end: 3rem;
    }

    .item{
        width: 15rem;
        height: 10rem;
    }

    .item:hover{
        background-color: rgb(48, 52, 87);
    }

    .bgWork{
        grid-area: 1 / 1 / 1 / 1;
        width: 15rem;
        height: 13rem;
        margin-block-start: 0rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgPlay{
        grid-area: 1 / 2 / 1 / 2;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgStudy{
        grid-area: 1 / 3 / 1 / 3;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgExercise{
        grid-area: 2 / 1 / 3 / 1;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgSocial{
        grid-area: 2 / 2 / 2 / 2;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }

    .bgSelf-Care{
        grid-area: 2 / 3 / 2 / 3;
        margin-block-start: 0rem;
        width: 15rem;
        height: 13rem;
        background-position: 9.1rem -0.6rem;
        background-size: 4.9rem;
    }
    
    #ellipsis{
        width: 100%;
        filter: grayscale(0%);
        cursor: pointer;
    }

    #ellipsis:hover{
        filter: grayscale(0%) brightness(300%);
        transition: filter 0.3s ease;
    }
    
    .text{
        flex-direction: column;
        align-items:flex-start;
        margin-block-start: 1rem;
    }
    
    .current{
        font-size: 2.7rem;
        font-weight: var(--w3);
    }
    
    .previous{
        margin-block-start: 0.5rem;
        font-size: 0.85rem;
    }

    .attribution{
        position: absolute;
        bottom: 15px;
    }

    footer{
        display: flex;
        justify-content: center;
        align-items: center;
    }

}
