@import url('https://fonts.googleapis.com/css2?family=BBH+Bogle&family=Geom:ital,wght@0,300..900;1,300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+Mono:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Sekuya&display=swap');

:root{
    --btnBorderTextColor : #06b6d4;
}


*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    font-family: monospace, 'Poppins', 'BBH Bogle', 'Geom', 'Montserrat', 'Noto Sans Mono';
}


body{
    display: flex;
    align-items: flex-start;
    justify-content: space-evenly;
    margin-top: 25px;
    /* border: 2px solid red; */
    min-height: 100vh;
    overflow: hidden;
    background: linear-gradient(135deg, #0f172a, #1e293b 70%, #0f172a);
    background: -webkit-linear-gradient(135deg, #0f172a, #1e293b 70%, #0f172a);
    color: white;
}



/* Direct Tag Name Select */
input , select{
    width: 100%;
    height: 50px;
    border-radius: 10px;
    padding: 0px 10px;
    background: rgba(255,255,255,0.04);
    color: white;
    border: 1px solid rgba(255,255,255,0.08);
    transition: all .2s linear;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
}


input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  cursor: pointer;
}


select{
    width: 50%;
    cursor: pointer;
}


select option{
    background-color: azure;
    color: black;
}


input:focus , select:focus{
    border: 2px solid #06b5d4b6;
    box-shadow: 0px 0px 5px #06b5d4b6;
    outline: none;
}


button{
    background: transparent;
    color: white;
    padding: 7px 17px;
    outline: none;
    border: none;
    margin-bottom: 10px;
    border-radius: 5px;
    font-family: var(--btnFontFamily);
    cursor: pointer;
    transition: all .1s linear;
    position: relative;
    z-index: 1;
}


button:hover{
    transform: scale(104%);
}


/* Class and ID Name Selection */
.main-container{
    width: 90vw;
    display: flex;
    gap: 20px;
    margin-top: 15px;
}


    /* Seaction 01 */
/* User Input Container */
.task-container{
    width: 445px;
    background-color: rgba(255,255,255,0.05);
    padding: 15px;
    border-radius: 15px;
    box-shadow: 0 0px 25px rgba(0,0,0,0.5);
    backdrop-filter: brightness(3%);
    -webkit-backdrop-filter: brightness(3%);
    transition: all .2s linear;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    animation: leftFlowAnimation 1s linear forwards;
    -webkit-animation: leftFlowAnimation 1s linear forwards;
}

@keyframes leftFlowAnimation{
    0%{ transform: translateX(-50px); opacity: 0; }
    100%{transform: translateX(0px); opacity: 1;}
}
@-webkit-keyframes leftFlowAnimation{ 
    0%{ -webkit-transform: translateX(-50px); transform: translateX(-50px); opacity: 0; }
    100%{-webkit-transform: translateX(0px); transform: translateX(0px); opacity: 1;}
}


.task-container:hover{
    transform: translateY(-5px);
    -webkit-transform: translateY(-5px); 
    -moz-transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.3);
}


.task-container .main-heading{
    font-size: 25px;
    margin: 7px 0px;
    text-align: center;
    background: linear-gradient(90deg, #8b5cf6 , #06b6d4);
    background: -webkit-linear-gradient(90deg, #8b5cf6 , #06b6d4);
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent;
}


.display-msg{
    color: rgb(148, 163, 184);
    font-size: 14px;
    text-align: center;
    margin-bottom: 5px;
}


.display-error{
    font-size: 14px;
    margin: 10px 0px;
    color: red;
    text-align: center;
}


.inputContainer-selectCategory{
    margin-bottom: 10px;
}

.inputContainer-selectCategory h3{
    margin: 7px;
    font-size: 16px;
}

.add-task-btn{
    background: linear-gradient(90deg , #8b5cf6 , #06b6d4);
    background: -webkit-linear-gradient(90deg , #8b5cf6 , #06b6d4);
    box-shadow: 0 0px 7px rgba(139,92,246,0.4);
}

.add-task-btn:hover{
    background: linear-gradient(-90deg , #8b5cf6 , #06b6d4);
    background: -webkit-linear-gradient(-90deg , #8b5cf6 , #06b6d4);
}

.clear-field-btn , .clear-task-btn , .download-task-btns button{
    border: 1px solid gray;
}


.download-task-btns button {
    width: 100%;
}


.clear-field-btn:hover , .download-task-btns button:hover{
    border-color: var(--btnBorderTextColor);
    color: var(--btnBorderTextColor);
}

.clear-task-btn:hover{
    border-color: red;
    color: red;
}


.clear-field-btn{
    float: right;
}


.task-counts-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 10px 0px;
}


.task-counts-container div{
    background: rgba(255,255,255,0.04);
    padding: 2px 25px;
    border-radius: 10px;
}


.task-counts-container h2{
    text-align: center;
    font-size: 18px;
}


.download-task-btns{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin: 16px 0px;
}


        /* Seaction 02 */
/* User Search Container */
.user-search-container{
    width: 750px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 15px;
    backdrop-filter: brightness(3%);
    -webkit-backdrop-filter: brightness(3%);
    box-shadow: 0 0px 10px rgba(0,0,0,0.5);
    transition: all .2s linear;
    -webkit-transition: all .2s linear; 
    -moz-transition: all .2s linear;
    animation: upAnimation 1s linear forwards;
    -webkit-animation: upAnimation 1s linear forwards;
}

@keyframes upAnimation{
    0%{ transform: translateY(-50px); opacity: 0; }
    100%{transform: translateY(0px); opacity: 1;}
}
@-webkit-keyframes upAnimation{ 
    0%{ -webkit-transform: translateY(-50px); transform: translateY(-50px); opacity: 0; }
    100%{-webkit-transform: translateY(0px); transform: translateY(0px); opacity: 1;}
}


.user-search-container:hover{
    box-shadow: 0px 7px 4px rgba(0,0,0,0.3);
    transform: translateY(-5px);
    -webkit-transform: translateY(-5px); 
    -moz-transform: translateY(-5px);
}


.user-search-container .search-by-name{
    width: 50%;
    transition: width .4s linear;
}


.search-by-name:focus{
    box-shadow: 0px 0px 8px #06b6d4;
    width: 65%;
}



        /* section-03 */
/* Display User Task */
.display-task{
    width: 750px;
    min-height: 100px;
    max-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    gap: 20px;
    overflow: auto;
    padding: 15px;
    backdrop-filter: brightness(3%);
    -webkit-backdrop-filter: brightness(3%);
    transition: all .3s linear;
    box-shadow: 0 0px 10px rgba(0,0,0,0.5);
    animation: downAnimation 1s linear forwards;
    -webkit-animation: downAnimation 1s linear forwards;
}

.display-task h3{
    font-size: 15px;
}

.display-task span{
    font-size: 12px;
}

@keyframes downAnimation{
    0%{ transform: translateY(25px); opacity: 0; }
    100%{transform: translateY(0px); opacity: 1;}
}
@-webkit-keyframes downAnimation{ 
    0%{ -webkit-transform: translateY(25px); transform: translateY(25px); opacity: 0; }
    100%{-webkit-transform: translateY(0px); transform: translateY(0px); opacity: 1;}
}


.display-task:hover{
    transform: translateY(-5px);
    -webkit-transform: translateY(-5px);
    -moz-transform: translateY(-5px); 
    box-shadow: 0 0px 20px rgba(0,0,0,0.5);
}


.display-task::-webkit-scrollbar{
    border-radius: 15px;
    width: 15px;
}


.display-task::-webkit-scrollbar-thumb{
    width: 10px;
    cursor: grab;
}


.display-task::-webkit-scrollbar-thumb{
    border-radius: 15px;
    box-shadow: inset 0px 0px 15px rgba(194, 190, 190, 0.5);
}


.display-task input{
    width: 15px;
    border: none;
    box-shadow: 0px 0px 0px black;
    cursor: pointer;
}


.display-task input:hover{
    width: 20px;
}


.display-list{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 10px;
    padding: 10px;
    transition: all .2s linear;
    border: 1px solid #94a3b8;
}

.display-list:hover{
    border: none;
    border-left: 5px solid #22c55e;
}


.display-list span{
    padding: 3px 19px;
    border-radius: 15px;
    background: rgba(255,255,255,0.2);
}


.delete-btn{
    border: 1px solid gray;
    margin: 0px;
    transition: all .4s linear;
}


.delete-btn:hover{
    border: none;
    color: red;
    border: 1px solid red;
}



/* Classes Use Inside JavaScript */
.completed {
  text-decoration: line-through;
  opacity: 0.6;
}


/* Media Query */
@media only screen and (max-width : 1357px){
    body{ 
        overflow: scroll; 
    }
    .main-container{
        align-items: center;
        flex-direction: column;
    }
    .task-container , 
    .user-search-container,
    .display-task{
        width: 80vw;
    }   
    .clear-task-btn{ width: 100%; }
    .user-search-container{
        margin-top: 15px;
        flex-direction: column;
    }
    .user-search-container select , 
    .user-search-container .search-by-name
    { width: 100%; }
}

@media only screen and (max-width : 620px){
    body{ margin-top: 0px; }
    button{ padding: 10px 17px; }
    .main-container{
        width: 100vw;
        height: 100vh;
        gap: 10px;
    }
    .task-container , 
    .user-search-container,
    .display-task
    {
        width: 100vw;
        border-radius: none;
    }     
}


@media only screen and (max-width : 430px){
    .task-counts-container{ flex-direction: column; }
    .task-counts-container div{
        width: 300px;
        padding: 8px 0px;
        margin-bottom: 10px;
    }
    .display-list{
        flex-direction: column;
        gap: 10px;
    }
    .download-task-btns{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    input[type = "checkbox"]{ display: none; }
}