/*Begin Mobile Styles*/

.vanish-mobile {
    display:none;
}

a {
    text-decoration: none;
  }

/*Homepage Styles*/
.home-img-container {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 500px;
    transform: translate(-50%, -50%);
    z-index: -5;
}


.logoimg {
    width: 80%;
    max-width: 500px;
}

#welcome-container {
    margin-left: 5%;
    margin-top: 10px; 
    opacity: .75; 
    color: white; 
    background-color: black; 
    width: 80%;
}

/*Begin Navigation */

/*top navbar*/ 
.navbar {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
	background-color: white;
}

.navbar-brand {
    margin-left: 15px;
}

.top-nav-left, .top-nav-right {
    box-sizing: border-box;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.top-nav-left {
    flex-grow: 1;
}

.top-nav-centered {
    flex-grow: 1;
}

.top-nav-right {
    flex-grow: 0;
}

.mobile-search {
    display: none;
    border: none; /* <-- This thing here */
    border:solid 1px #ccc;
    border-radius: 10px;
    width: 53vw;
}

.fa.fa-search {
    color: blue;
}


.nav-item {
    font-size: 1.5rem; /* Larger font size for mobile */
    list-style-type: none;
    display: inline;
}

.nav-item.vanish-mobile {
    display: none;
}

.navbar-toggler {
    padding: .5rem 1rem; /* Increases padding */
    font-size: 3rem; /* Makes the icon larger */
}

.navbar-nav .nav-link {
    padding: 10px 15px; /* Adjust as needed */
}

#search-form {
    margin-bottom: 0;
}


/*Bottom Navigation */

.nav-bottom {
    border-radius: 5px;

    width:100%;
    position: fixed;
    bottom: 0;
    float: bottom;
    height: 10vw;
    background-color: lightgrey;
    z-index: 1000;
    
}

.nav-bottom-item-container {
    border-radius:5px;

    margin-top: 1px;
    margin-bottom: 1px;
    margin-left: 0px;
    margin-right: 1px;
    display: flex;
    justify-content: center;
    align-items:center;
    height: 100%;
    width:100%;
}

.nav-bottom-item {
    border-radius:5px;

    display: flex;
    background-color: white;
    height: 100%;
    margin-top:1px;
    margin-bottom:1px;
    margin-left: 1px;
    margin-right: 1px;
    font-size: 2rem;
    width: 25vw;

    justify-content: center;
    align-items: center;
}
.nav-bottom-item:hover {
    background-color: lightgrey;
}

/*Styles for inherited base elements*/

.mainwrapper {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    margin-top: 10px;
    /*Ensures navbar doesn't get in the way*/
    margin-bottom: 15vw;
}

.row {
    position: relative;
}

.col {
    position: relative;
}

/*Begin profile styles*/

.profile-photo-form-container {
    height: 150px;
    width: 150px;
    position:relative;
    left: 50%;
    transform: translate(-50%, -50%);
}

.profile-photo-img-container {
    width:100%;
    height:100%;
    border-radius: 50%;

    overflow:hidden;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,.2), 0 6px 20px 0 rgba(0,0,0,.19);

}

.profile-header-container {
    height:200px;
    width: 100%;
    margin-bottom: 15px;
}

.profile-section {
    height: 65%;
    width: 100%;
    background-image: url("/static/asset/banner/banner.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.profile-photo-label {
    width: 100%;
    height: 100%;
}

#profileimg {
    width: 100%;
    height: 100%;
    cursor: pointer;
    object-fit:cover;
}

.bi-plus {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    color: white;
    z-index: 2;
    font-size: 50px;
}

.plusiconcontainer {
    border-radius: 50%; 
    width: 40px; 
    height: 40px;
    position: absolute;
    top: 75%;
    left: 75%;
    background-color: black;
}

.bio-stats-container {
    text-align: center;
}

.bio-stats-container span {
    margin-right: 10px;
}

.bio-stats-container .bio-stat {
    font-weight: bold;
}

.profile-recipe-section h1 {
    margin-bottom: 1px;
}

#profile-recipe-header {
    text-align: center;
}

/*Recipe component styles*/

.recipecontainer {
    position: absolute;
    height: auto; /* height: 25vw; */
    width: 300px;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,.2), 0 6px 20px 0 rgba(0,0,0,.19);
}

.img-button {
    position: absolute;
    bottom: 0;
}

.recipeimgcontainer {
    height: 200px;
    width:100%;
    z-index: 2;
}

.recipe-profile-img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.recipe-thumb-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.textcontainer {
    position: absolute;
    bottom: 0;
    height: auto;
    width: 100%;
    bottom: 0;
}

.recipetitle {
    position: absolute;
    top: 0;
    z-index: 1;
    color: white;
}

.recipetitlewrapper {
    display: flex;
    justify-content: center; /* For horizontal centering */
    align-items: center; /* For vertical centering */
    height: 25px; /* Adjust as needed */
}

.buttoncontainer {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.inline-button {
    display: inline-block;
    margin-right: 5px;
}

.overlay {
    opacity: 0;
    transition: .5s ease;
}

.hoverable:hover .overlay {
    opacity: 1;
    background-color: black;
}

.truncate {
    overflow: hidden;
    text-overflow: elipsis;
    white-space: nowrap;
}





.edit-btn {
    cursor: pointer;
}

#unread-message-badge {
    color: black;
    position: absolute;
    left: 10px;
}

.ui-menu {
    z-index: 999999;
}



/* Begin MealPlan Application CSS */

.mealplan-calendar-container {
    white-space: nowrap;
    height: 50%;
    width: 100vw;
}

.mealplan-calendar-weekflow-container {
    display: inline-block;
    vertical-align: top;
    min-width: 500px;
    height: 100%;
    width: 100%;
    position: relative;
    
}

#mealplan-calendar-weekflow-inner {
    height: 100%;
    position:relative;
    z-index: 0;
    display: flex;
    flex-wrap: nowrap;
}

.snap-container {
    scroll-snap-type: x mandatory;
}

.scroll-container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch; /* For momentum scrolling on iOS devices */
    will-change: scroll-position;
    scroll-behavior: smooth;
}


.row .flex-nowrap {
    z-index: 0;
}

.snap-container::webkit-scrollbar {
    display:none;
    pointer-events: none;
    z-index: -1;
}


.mealplan-calendar-weekflow-container .row {
    width:100%;
    height:100%;
}

.mealplan-weekday-container{
    width: 65%;
    flex: 0 0 auto;
    scroll-snap-align: start;
    text-align:center;
    margin-right: 10px;
    margin-left: 10px;
    border-radius: 5px;
    background-color: lightgrey;
    height:100%;
    
}

.mealplan-weekday-container:hover {
    background-color: darkgrey;
}

.recipe-selector-container {
    display: inline-block;
    cursor: move;
    z-index: 1000;
}

.dragging {
    position: absolute;
}

.recipe-icon-container {
    width: 100px;
    height: 100px;
    border-radius: 5%;
    background-color: #DDDDDD;
    display: inline-block;
    text-align: center;
    pointer-events: none;
}

.recipe-icon-container i {
    display:flex;
    justify-content: center;
    align-items:center;
    height:100%;
    font-size:200%;
}

#left-arrow-container, #right-arrow-container {

    height: 50px;
    width: 50px;

    border-radius: 50%;
    background-color: #DDDDDD;

    position: absolute;
    top: 50%;
    transform: translate(0%, -50%);

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 175%;

    z-index: 1000;
}

#left-arrow-container {
    left: 0;
}
#right-arrow-container {
    right: 0;
}

.invisible {
    display: none;
}

/* Recipe Makes + Reviews CSS*/

.rating {
    direction: rtl; /* Right-to-left so the stars fill from left to right */
}

.rating > input {
    display: none; /* Hide the radio inputs */
}

.rating > label {
    cursor: pointer;
    font-size: 2em; /* Adjust the size of the stars */
    color: #ccc; /* Default star color */
}

/* Highlight all previous stars on hover */
.rating > label:hover,
.rating > label:hover ~ label,
.rating > input:checked ~ label {
    color: gold; /* Highlight color */
}

/*BEGIN DESKTOP STYLES */
/* Media query for desktop devices */

@media (min-width: 768px) { /* Adjust breakpoint as needed */
    .nav-item {
        font-size: 1.5rem; /* Smaller font size for desktop */
    }
    .mainwrapper {
        width: 90%;
        max-width: 1000px;
            /*Ensures navbar doesn't get in the way*/
        margin-bottom: auto;
    }

    .search-form-container {
        display: inline-block;
    }

    .profile-photo-img-container {
        position: absolute;
        top: 50%;
        left: 0%;
        transform: translate(0%, -50%);
    }

    .profile-photo-form-container {
        left:0%;
    }

    .mealplan-weekday-container{
        width: 200px;
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .mealplan-calendar-container {
        height: 400px;
        position: relative;
    }

    .mealplan-calendar-weekflow-container {
        width:100%;
    }

    #left-arrow-container {
        left: 0%;
    }
    .nav-bottom {
        display: none;
    }
    
    .top-nav-left {
        flex-grow: 1;
    }

    .top-nav-centered {
        display: flex;
        flex-grow: 1;
        margin-bottom: 0px;
        padding-left: 0px;
    }
    .top-nav-right {
        flex-grow: 0;
    }

    .fa.fa-search  {
        display:none;
    }

    .fas.fa-user-circle, .fas.fa-sign-out{
        display:flex;
    }

    .nav-item.vanish-mobile {
        display: flex;
    }

    .mobile-search {
        display: none;
    }

    .nav-search-desktop-container, .nav-search-desktop-searchbar, .nav-search-desktop-button {
        display:flex;
    }

    .nav-button-right {
        display:flex;
    }

}

