:root{
    --PurplePrimary600: hsl(246, 80%, 60%);
    --OrangePrimary300: hsl(15, 100%, 70%);
    --BluePrimary300: hsl(195, 74%, 62%);
    --PinkPrimary400: hsl(348, 100%, 68%);
    --GreenPrimary400: hsl(145, 58%, 55%);
    --PurplePrimary700: hsl(264, 64%, 52%);
    --YellowPrimary300: hsl(43, 84%, 65%);

    --NavyNeutral950: hsl(226, 43%, 10%);
    --NavyNeutral900: hsl(235, 46%, 20%);
    --PurpleNeutral500: hsl(235, 45%, 61%);
    --NavyNeutral200: hsl(236, 100%, 87%);
}

body{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--NavyNeutral950);
    font-family: 'Rubik',sans-serif;
}


.container{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 1110px;
    gap: 30px;
    
}

.personal-calendar{
    background-color: aliceblue;
    grid-column: 1 / 1;
    grid-row: 1 / 3 ;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    background-color: var(--NavyNeutral900);
}

.personal{
    width: 100%;
    height: 350px;
    background-color: var(--PurplePrimary600);
    border-radius: 20px;
    
}

.personal .personal-container{
    padding: 30px 30px 80px 35px;
    display: flex;
    flex-direction: column;
}

.personal .personal-container .report{
    margin-top: 30px;
    font-size: 15px;
    color: var(--NavyNeutral200);
}

.personal-calendar .personal .photo{
    width: 85px;
    border: 2px solid white;
    border-radius: 50%;
}

.personal .personal-container .name{
    color: white;
    font-size: 40px;
    font-weight: 300;
}
.calendar .time{
    color: white;
    padding: 30px 90px 40px 35px ;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 16px;
}

.container .calendar .days{
    cursor: pointer;
}

.work{
   border-radius: 20px;
   position: relative; 
   overflow: hidden;
}

.icons{
    position: absolute;
    right: 15px;
    top: -10px;
}

.upper-image{
    width: 100%;
    height: 60px;
    
}

.upper-image.work-image{
    background-color: var(--OrangePrimary300);
}

.container-task{
    position: absolute;
    width: 100%;
    height: 200px;
    background-color: var(--NavyNeutral900);
    bottom: 0;
    border-radius: 20px;
    color: white;
    
}

.task{
    padding: 30px 30px 40px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    gap: 20px;
}

.task .title-ellipsis{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    
}

.task .title-ellipsis .title{
    font-size: 18px;
}

.task .title-ellipsis .ellipsis{
    width: 15px;
}

.container-task .hours{
    font-size: 50px;
    font-weight: 300;
}

.container-task .weeks-hours{
    margin-top: -10px;
    font-size: 14px;
    color: var(--NavyNeutral200);
}

.play{
    border-radius: 20px;
    position: relative; 
    overflow: hidden;
}

.upper-image.play-image{
    background-color: var(--BluePrimary300);
}


.study{
    border-radius: 20px;
    position: relative; 
    overflow: hidden;
}

.upper-image.study-image{
    background-color: var(--PinkPrimary400);
}

.exercise{
    border-radius: 20px;
    position: relative; 
    overflow: hidden;
}

.upper-image.exercise-image{
    background-color: var(--GreenPrimary400);
}

.social{
    border-radius: 20px;
    position: relative; 
    overflow: hidden;
}

.upper-image.social-image{
    background-color: var(--PurplePrimary700);
}

.selfcare{
    border-radius: 20px;
    position: relative; 
    overflow: hidden;
}

.upper-image.selfcare-image{
    background-color: var(--YellowPrimary300);
}

.report-name{
    margin-top: 40px;
}

.container .container-task .task .hours-weeks-hours{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: start;
        gap: 20px;
    }
/* ---- RESPONSIVE DESIGN ----*/

@media (min-width:401px) and (max-width: 800px){
    .container{
        
        width: 750px;
        gap: 30px;
    }

    .name{
        font-size: 30px;
    }

    .container-task .task .hours{
        font-size: 30px;
    }

    .task{
        padding: 30px 20px 40px;
    }

    .container-task .task .weeks-hours{
        margin: 0;
        font-size: 12px;
    }

    .container .container-task .task .hours-weeks-hours{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: start;
        margin-top: 20px;
    }
}

@media (max-width:400px){
    body {
        align-items: flex-start;
        justify-content: center;
        height: auto;
    }
    .container{
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        gap: 30px;
        width: 90%;
        height: auto;
        justify-content: center;
    }

    .personal-calendar{
        
        height: 200px;
    }
    .personal{
        height: 130px;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center ;
    }

    .personal-calendar .personal .personal-container{
        padding: 30px 0 30px 30px ;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content:  start;
        gap: 15px;
        width: 100%;
    }
    
    .personal-container .report-name .report{
        margin: 0;
    }

    .report-name{
        margin: 0;
        display: flex;
        flex-direction: column;
    }
    .personal .personal-container .name{
        font-size: 20px;
    }

    .personal-calendar .personal .photo{
        width: 70px;
        height: 70px;
    }


    .container .calendar .time{
        padding: 0;
        height: 70px;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        align-items: center;
    }

    
    .container .work{
        height: 160px;
        width: 100%;
        
    }

    .container .play{
        height: 160px;
        width: 100%;
    }

    .container .study{
        height: 160px;
        width: 100%;
    }

    .container .exercise{
        height: 160px;
        width: 100%;
    }
    
    .container .social{
        height: 160px;
        width: 100%;
    }

    .container .selfcare{
        height: 160px;
        width: 100%;
    }

    .container-task{
        height: 120px;

    } 

    .task{
        padding: 25px;
        gap: 10px;
    }

    .task .weeks-hours{
        margin: 0;
    }

    .container .container-task .task .hours-weeks-hours{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        align-items: center;
    }

    .hours-weeks-hours .hours{
        font-size: 30px;
        
        
    }
    

}