/*
*    Author: Johann Olivares
*    Date: 02/14/2021
*    Version: 1.0
*    Description: General Formating for Sin streaming web application
*/

/* =========================
   Base Typography
   ========================= */

:root {
  --font-primary: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont,
                  'Segoe UI', Roboto, Arial, sans-serif;
}


/*General Formating*/
* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    -webkit-tap-highlight-color: transparent;
}
html, body {
    background-color: black;
    text-align: center;
    color: white;
    height: auto;
    width: auto;
    margin: 0;
    padding: 0;
    /*overflow-x: hidden;*/
    font-family: var(--font-primary);
}
.container {
    max-width: 94%;
    margin: auto;
    padding: 35px 25px;
}
.cta, .cta_alt {
    background: #fff;
    border-radius: 5px;
    border: 2px solid #fff;
    color: #000;
    padding: 15px 25px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}
.cta_alt {
    background: transparent;
    color: #fff;
}
.cta_stacked {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.cta_stacked i { 
    font-size: 18px;
}
.cta_stacked span {
    font-size: 13px;
}
.cta_stacked.active {
  color: #6c7cff;
}

.cta_stacked.active i {
  transform: scale(1.1);
}

a {
    color: inherit;
    text-decoration: none;
}
/*End of General Formatting*/

/*Navigation*/
nav {
  position: sticky;
  top: 0;
  transition: transform 0.3s ease, background-color 0.3s ease;
  z-index: 1000;
}

/* Hidden when scrolling down */
.nav-hidden {
  transform: translateY(-100%);
}

/* Dark background when visible while scrolling */
.nav-dark {
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
}


#navBar {
    position: relative;
    text-align: left;
    background-color:  transparent;
    padding: 20px 18px;
    margin-bottom: -78px;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    
}
#navBar div:nth-child(2) {
    margin: auto 0px;
}
#navBar div:nth-child(3) {
    text-align: right;
    margin: auto 0px;
}
#navBar i {
    font-size: 19px;
    color: #fff;
    cursor: pointer;
}
#navBar i:hover, #navBar a:hover {
    color: #fff;
}
#navBar a, #navBar i {
    box-shadow: 0 0 0px 10px transparent;
    background: transparent;
    border-radius: 2px;
    display: block;
    text-align: center;
    transition: 
    background-color 0.3s ease,
    box-shadow 0.3s ease;
}
#navBar a:hover:not(#logo) { 
    box-shadow: 0 0 0px 10px #ffffff61;
    background: #ffffff61;
}
#navBar .img_container {
    text-align: center;
}
#logo img {
    height: 28px;
    object-fit: cover;
}
.navMenu {
    display: flex;
    gap: 50px;
    color: #ccc;
    cursor: pointer;
    font-weight: 600;
}

.nav-actions {
    display: flex;
    gap: 50px;
}
.navMenu a.active {
    color: #fff !important;
}
/*End of Navigation*/

/*Banner*/
#banner {
    box-shadow: inset 250px -70px 150px 100px #000000;
    background-repeat: no-repeat;
    background-size: cover;
}
#hero_wrapper {
    display: flex;
    align-items: end;
    min-height: 80vh;
    text-align: left;
}
#hero_details_wrap {
    max-width: 600px;
    width: 100%;
}
#banner h2 {
    font-size: 45px;
    text-shadow: 3px 3px 9px black;
    padding: 0;
    margin-bottom: 10px;

}
#hero_desc {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 25px;
    
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#hero_details {
    margin-bottom: 50px;
}
#hero_play_icon {
    display: flex;
    gap: 10px;
}
/*End of Banner*/

/*Movie styles*/
/* width */
.movie-grid::-webkit-scrollbar {
    background: #cccccc2e;
    border-radius: 10px;
    height: 10px;
    width: 10px;
}

/* Track */
.movie-grid::-webkit-scrollbar-track {
    border-radius: 10px;
}

/* Handle */
.movie-grid::-webkit-scrollbar-thumb {
    background: #fff; 
    border-radius: 10px;
}
@media(max-width: 767px) {
    .movie-grid::-webkit-scrollbar {
        /*display: none;*/
    }
}


/* Handle on hover */
/*.movie-grid::-webkit-scrollbar-thumb:hover {*/
/*    background: #ccc; */
/*}*/
.movie-listings-container {
    position: relative;
    z-index: 10;
}
.listings-header {
    text-align: left;
    padding-bottom: 15px;
    margin: 0;
    font-size: 20px;
}
.movie-grid {
    display: grid;
    grid-template-columns: auto auto auto auto;
    margin: 0;
    padding: 0;
    position: relative;
    overflow-x: scroll;
    width: 100%;
}
.movie-grid-item {
    padding: 0;
    margin: 0;
}
.movie-grid-item ul {
    padding: 0;
    list-style-type: none;
    list-style: none;
}
.movie-container{
    overflow: hidden;
    display: flex;
    gap: 15px;
    list-style-type: none;
    width: 100%;
    padding: 0;
    margin: 0;
    
    padding-bottom: 50px;

}
.img-container {
    height: auto;
    width: 325px;

}
#popular-movies li, #trending-movies li, #top-rated-movies li {
    list-style-type: none;
    list-style: none;
    padding: 0;
    margin: 0;

}
.movieImg {
    border-radius: 10px;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    padding: 0;
    margin: 0;
}
/*.movieImg:hover {*/
/*    box-shadow: #fff 0 0 0 5px;*/
/*    transform: scale(1.05);*/
/*}*/

.slider-btn-left {
    position: absolute;
    top: 50%;
    left: 25px;
    transform: translate(0, -50%);
}
.slider-btn-right {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translate(0, -50%);
}

.slider-btn-left button, .slider-btn-right button {
    background: transparent;
    border: none;
}
.slider-btn-left i, .slider-btn-right i {
    color: #fff;
    font-size: 35px;
}
/*End of Movie styles*/

/*Footer*/
#footer {
    background-color: black;
    color: white;
    text-align: center;;
    width: 100%;
    padding: 50px;
    margin: 0;
}
/*End of Footer*/

#search_input {
    background: transparent;
    border: 1px solid #fff;
    border-radius: 10px;
    color: #fff;
    font-size: 25px;
    padding: 15px;
    width: 100%;
}

/******************************************************************************/
/**RESPONSIVE**/
@media (max-width: 1024px) {
    .container {
        max-width: 100%;
        padding: 35px 20px;
    }
    .movie-container {
        gap: 10px;
        padding-bottom: 10px;
    }
    .img-container {
        width: 150px;
    }
}
@media (max-width: 767px) {
    
     #navBar {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        align-items: center;
        row-gap: 12px;
    }
    #navBar a.active {
        box-shadow: 0 0 0px 10px #ffffff61;
        background: #ffffff61;
    }
    .nav-actions {
        gap: 35px;
    }
    /* Logo stays top-left */
    .img_container {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    /* Nav actions stay top-right */
    .nav-actions {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    /* Nav menu goes to bottom */
    .navMenu {
        grid-column: 1 / -1; /* full width */
        grid-row: 2 / 3;
        display: flex;
        justify-content: space-around;
        align-items: center;
        padding-top: 23px;
        padding-bottom: 20px;
        gap: 15px;
    }
    #logo {
        text-align: left !important;
    }
    
    .container {
        padding: 15px;
    }
    .listings-header {
        font-size: 16px;    
    }
    #hero_wrapper {
        text-align: center;
    }
    #navBar {
        margin-bottom: unset;
    }
    #logo img {
        height: 23px;
    }
    .navMenu {
        font-size: 15px;
    }
    #banner {
        box-shadow: inset 0px -80px 30px 0px #000000;
        margin: 20px 15px;
        border-radius: 10px;
        width: unset;
        margin-top: 0;
    }
    #banner h2 {
        font-size: 32px;
    }
    #hero_wrapper {
        min-height: 60vh;
    }
    #hero_desc {
        display: none;
    }
    .banner_actions {
        justify-content: center;
    }
    #hero_details {
        margin-bottom: 25px;
    }
    .cta, .cta_alt {
        padding: 10px 20px;
    }
    .slider-btn-left, .slider-btn-right {
        display: none;
    }
}