/* --------------------------------------- General CSS */

* {
    font-family: Roboto, sans-serif;
    font-size: 20px;
}

body{
    margin: 10px;
    padding-top: 80px;
    background-color: rgb(247, 250, 251);
    padding-left: 80px;
    margin-bottom: 100px;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

/* ---------------------------------------- Header CSS */

.header {
    display: flex;  /* Makes the header a flex container */
    flex-direction: row;  /* Aligns child elements in a horizontal row */
    justify-content: space-between;  /* Places items at both ends with space in between */
    margin-bottom: 10px; 
    height: 55px;
    width: 100%;
    position: fixed; /* content at the front and non-scrollable */
    top: 0; 
    bottom: 0;
    right: 0;
    z-index: 100; /* content will be scrolled under the header */
    background-color: white;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgb(192, 190, 190);
}

.left-section {
    display: flex;
    align-items: center; /* position all the item in center */
}

.left-img-1 {
    width: 25px;
    border-radius: 50px;
    border: none;
    margin-left: 20px;
    margin-right: 0px;
}

.left-img-2 {
    width: 90px;
    border-radius: 0px;
    border: none;
    margin-left: 20px;
    margin-right: 60px;
}


.middle-section {
    flex:1; /* It makes the element expand to fill available space within a flex container. */
    max-width: 600px; /* available space */
    display: flex; 
    align-items: center;
}

.search-bar {
    width: 100%;
    max-width: 500px;
    height: 19px;
    padding: 10px 15px;
    border: none;
    border-radius: 25px;
    border-style: solid;
    border-width: 1px;
    border-color: grey ;
    background-color: #f8f5f5;
    color:#000000;
    font-size: 16px;
    margin-right: -20px; /* gets behind the right content */
}

.search-btn {
    background-color: #f8f4f4;
    border: none;
    padding: 5px;
    border-style: solid ;
    border-width: 1px;
    border-color: grey;
    border-radius: 0 25px 25px 0;
    cursor: pointer;
    position: relative;
}

.search-icon{
    margin-top: 5px;
    font-size: 20px;
    width: 50px;
    height: 20px;
    color: #000000;
    filter: brightness(0%);
}

.search-btn .tooltip{
    position: absolute;/*Moves freely within its positioned ancestor.*/
    bottom: -40px;
    font-size: 12px;
    left: 0;
    background-color: grey;
    padding: 10px;
    border-radius: 6px;
    opacity: 0;
    color: white;
}   

.search-btn:hover .tooltip{
    opacity: 1;
}

.voice-btn{
    margin-left: 10px;
    height: 50px;
    width: 70px;
    border-radius: 80px;
    border:none;
    border-color: grey;
}

.voice-icon{
    margin-top: 5px;
    width: 30px;
}

.right-section {
    width: 200px;
    display: flex;
    margin-right: 25px;
    margin-left: 20px;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0; /* Prevents shrinking */
}

.upload-icon{
    height: 24px;
}

.youtube-app-icon{
    height: 24px;
}

.notification-icon-container{
    position: relative; /*relative to its normal position*/ 
}

.notification-icon{
    height: 24px;
}

.notification-count{
    position: absolute;
    top: -2px;
    right: -7px;
    background-color: red;
    border-radius: 50px;
    border-width: 1px;
    border-style: solid;
    border-color: white;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 6px;
    padding-right: 6px;
    font-size: 12px;
    color: white;
}

.channel-picture{
    height: 50px;
    border-radius: 50px;
}

/* ------------------------------------------ SideBar */

.sidebar{
    background-color: white;
    position: fixed;
    top: 55px;/* starts from top at 55px*/
    bottom: 0;
    left: 0px;
    width: 75px;
    z-index: 100;
}

.sidebar-link{
    height: 70px;
    margin-bottom: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-top: 10px;
}

.sidebar-link:hover{
    background-color: rgb(232, 232, 232);
}

.sidebar-link img{
    height: 24px;
}

.sidebar-link div{
    font-size: 10px;
}

/* ----------------------------------------- Video CSS */

.video-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    column-gap: 15px;
    row-gap: 40px;
}

.thumbnail-row{
    margin-bottom: 15px;
    position: relative;
}

.thumbnail{
    width: 100%;
    border-radius: 8px;
}

.video-time{
    background-color: black;
    color: white;
    font-family: Roboto, sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 3px;
    position: absolute;
    border-radius: 5px;
    bottom: 8px;
    right: 5px;
}

.video-info-grid{
    display: grid;
    grid-template-columns: 50px 1fr;
}

.channel-picture{
    width:50px;
}

.profile-pic{
    border-radius: 50px;
    border: none;
    width: 45px;
}

.video-info{
    width: 250px;
}

.video-title{
    margin-top: 0;
    font-size: 15px;
    font-weight: bold;
    width: 250px; /* width of a video title container */
    line-height: 20px; /* increases the line height not the letters of the line */
    margin-bottom: 10px;
}

.video-author{
    font-size: 13px;
    color:rgb(96, 96, 96);
    margin-bottom: 1px;
}

.video-stats{
    font-size: 13px;
    color: rgb(96, 96, 96);
}

/* Responsive code */

