.film-container {
   position: relative
}
.film-container .image-container {
   margin-bottom: .75rem;
   position: relative;
}
.film-container .overlay-progress-container {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
}
.film-container .image-container-overlay {
   opacity: 0%;
   visibility: hidden;
   z-index: 10;
   transition: all 0.6s ease-in-out;
   display: flex;
   gap: .5rem;
   padding-left: .5rem;
   padding-bottom: .5rem;
}
.film-container:hover .image-container-overlay {
   opacity: 100%;
   visibility: visible;
   transition: all 0.6s ease-in-out;
}
.film-container .action {
   width: 2rem;
   height: 2rem;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-content: center;
   background: var(--dark-01);
   border: .5px solid var(--dark-01);
   border-radius: 100%;
   color: var(--base-content);
   text-shadow: none;
   font-size: var(--text-base);
   transition: all 0.3s ease-in-out;
   z-index: 10;
}
.film-container .action:hover {
   color: var(--base-emphasis);
   text-shadow: 0 0 1px var(--base-emphasis);
}
.film-container .action.isfavorite {
   color: var(--base-emphasis);
   border: 1px solid var(--base-content);
}
.film-container .action i {
   font-weight: 400;
   transition: all 0.3s ease-in-out
}
.film-container .action.isfavorite i {
   font-weight: 900;
   transition: all 0.3s ease-in-out
}
.film-container .tooltiptext {
   width: fit-content !important;
   text-wrap: nowrap !important;
   top: 135% !important;
   left: -.5rem !important;
   transform: none !important;
   padding: .25rem 1rem !important;
}
.film-container .tooltiptext::after {
   content: " ";
   position: absolute;
   bottom: 100%;  /* At the top of the tooltip */
   left: 10px;
   border-width: 5px;
   border-style: solid;
   border-color: transparent transparent black transparent;
 }
.film-container a {
   text-decoration: none;
}
.film-container a::after {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
   content: "";
}
.film-container h3 {
   font-size: clamp(.625rem, -0.3554rem + 6.0241vw, 1rem);
   font-weight: 500;
   color: var(--base-emphasis);
   text-wrap: wrap !important;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
}
.film-container .director-label {
   color: var(--base-mute);
   font-size: clamp(.675rem, -0.3554rem + 6.0241vw, .875rem);
}
.film-container .clip-description {
   color: var(--base-mute);
   font-size: clamp(.675rem, -0.3554rem + 6.0241vw, .875rem);
   line-height: clamp(1rem, -0.3554rem + 6.0241vw, 1.12rem);
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
}
.film-container .progress-bar {
   width: 100%;
   display: flex;
   align-items: center;
   background-color: #ffffff33;
}
.film-container .progress-bar-0 {
   display: none;
}
.film-container .progress-indicator {
   height: 6px;
   background-color: var(--dark-content);
}
.film-container .details-dropdown-container {
   display: flex;
   position: relative;
}
.film-container .details-dropdown-container .film-details-container {
   flex-grow: 1;
}
.film-container .film-dropdown-container {
   z-index: 20;
   opacity: 0;
   visibility: hidden;
   transition: all 0.3s ease-in-out;
}
.film-container:hover .film-dropdown-container {
   opacity: 1;
   visibility: visible;
   transition: all 0.3s ease-in-out;
}
.film-container .film-dropdown-toggle {
   width: 2rem;
   height: 2rem;
   color: var(--base-emphasis);
   background-color: transparent;
   display: flex;
   z-index: 10;
   border: 1px solid transparent;
   border-radius: .25rem;
   flex-shrink: 0;
   transition: all 0.3s ease-in-out;
}
.film-container .film-dropdown-toggle i {
   margin: auto;
}
.film-container .film-dropdown-toggle:hover {
   background-color: var(--base-02);
   border: 1px solid var(--border-color);
   transition: all 0.3s ease-in-out;
}
.film-container .film-dropdown-actions-container {
   display: none;
   position: absolute;
   bottom: 100%;
   right: 0;
   background-color: var(--base-02);
   padding: .5rem;
   font-size: var(--text-sm);
   width: 100%;
}
.film-container .film-dropdown-action-button {
   text-wrap: wrap;
   background: transparent;
   border: none;
   border-radius: 0.25rem;
   color: var(--base-emphasis);
   display: flex;
   gap: 1rem;
   text-shadow: none;
   width: 100%;
   padding: .25rem .5rem;
   align-items: center;
   text-align: left;
}
.film-container .film-dropdown-action-button:hover {
   background: var(--base-03);
}
.film-hover-container {
   position: absolute;
   background-color: var(--dark-01);
   margin-top: .5rem;
   padding: .75rem 1rem;
   z-index: 1;
   border-radius: .75rem;
   visibility: hidden;
   opacity: 0;
   transform: translateY(-1rem) scale(0.9);
   top: 100%;
   transition: all 0.3s ease-in-out 0s;
}
.film-container:hover .film-hover-container {
   visibility: visible;
   opacity: 100%;
   transform: translateY(0rem) scale(1);
   transition: all 0.3s ease-in-out 0.6s;
}
.film-hover-container::after {
   content: " ";
   position: absolute;
   bottom: 100%;  /* At the top of the tooltip */
   left: 50%;
   margin-left: -.625rem;
   border-width: .625rem;
   border-style: solid;
   border-color: transparent transparent var(--dark-01) transparent;
}
.film-hover-container h4{
   font-size: clamp(.5rem, -0.3554rem + 6.0241vw, 1rem);
   font-weight: 500;
   color: var(--base-emphasis);
   padding-bottom: .75rem;
}
.film-hover-container p{
   font-size: var(--text-sm);
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 6;
}
.modal-open {
    overflow: hidden;
}
.modal {
   display: none;
   position: fixed;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   background-color: var(--base-01);
   width: 40rem;
   height: fit-content;
   overflow: scroll;
   padding: 1.5rem;
   border-radius: .25rem;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
   z-index: 10000;
   font-family: var(--body-font);
   color: var(--base-emphasis);
   max-width: calc(100% - 4rem);
   max-height: calc(100% - 4rem);
}
.modal-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.modal-header h2 {
   font-weight: 500;
}
.modal button {
   transition: all 0.3s ease-in-out
}
.modal button:hover {
   transition: all 0.3s ease-in-out
}
.modal-header #closeModalBtn {
   font-size: var(--text-xl);
   height: 2rem;
   width: 2rem;
   flex: 0 0 auto;
   display: flex;
   justify-content: center;
   align-items: center;
   background: transparent;
   border: .125rem solid var(--base-mute);
   color: var(--base-emphasis);
   border-radius: .125rem;
   text-shadow: none;
   cursor: pointer;
   transition: all 0.3s ease-in-out
}
.modal-header #closeModalBtn:hover {
   background: var(--base-02);
   text-shadow: 0 0 1px var(--base-emphasis);
   transition: all 0.3s ease-in-out
}
.modal-body {
   padding: 20px 0;
}
.modal-footer {
   text-align: right;
}
#modalOverlay {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(255, 255, 255, 0.2);
   z-index: 999;
}
.add-to-list-modal-overlay .modal label {
    width: 100% !important;
}
.modal label {
   display:flex;
   gap: 1rem;
   border:solid 1px var(--border-color);
   width: 100%;
   border-radius: .125rem;
   -webkit-font-smoothing: antialiased; 
   margin-bottom: .5rem;
   color:var(--base-emphasis);
   cursor: pointer;
   padding-top: 1.25rem !important;
   padding: 1rem;
   align-items: center;
   cursor: pointer;
   background-color: transparent;
   transition: all 0.3s ease-in-out;
}
.modal input[type=checkbox] {
   display: none;
}
.modal input:checked + label {
   border: solid 1px var(--base-emphasis);
   transition: all 0.3s ease-in-out;
   background-color: var(--base-02);
}
.modal label:hover {
   background-color: var(--base-02);
}
.modal .check {
   visibility: hidden;
   opacity: 0;
   transition: all 0.3s ease-in-out;
}
.modal input:checked + label .check {
   visibility: visible;
   opacity: 100%;
   transition: all 0.3s ease-in-out;
}
.modal .list-container .image-container {
   width: 6rem;
   margin-bottom: 0;
   flex: 0 0 auto;
}
.modal .list-details-container {
   display: flex;
   flex-direction: column;
   flex-grow: 1;
}
.modal .list-details-container h3 {
   font-size: var(--text-lg);
}
.modal .list-details-container p {
   font-size: var(--text-sm);
   color: var(--base-content);
}
.modal .list-container .check {
   font-size: var(--text-xl);
   height: 2rem;
   width: 2rem;
   flex: 0 0 auto;
   display: flex;
   justify-content: center;
   align-items: center;
   background: transparent;
   color: var(--base-content);
   border-radius: .125rem;
   text-shadow: none;
   cursor: pointer;
   transition: all 0.3s ease-in-out;
}
.modal .list-container .check:hover {
   background: var(--base-02);
   text-shadow: 0 0 1px var(--base-content);
   transition: all 0.3s ease-in-out;
}
.modal label i::before {
   content: "\f0c8";
   font-weight: 400;
}
.modal input:checked + label i::before {
   content: "\f14a";
   font-weight: 900;
}
.modal input:checked + label:hover i::before {
   content: "\f146";
}
.modal .new-list-button {
   font-size: var(--text-xl);
   flex: 1 0 auto;
   width: 100%;
   display: flex;
   align-items: center;
   background: transparent;
   color: var(--base-content);
   border-radius: .25rem;
   text-shadow: none;
   cursor: pointer;
   border: none;
   padding: .75rem 1rem;
   font-size: var(--text-lg);
   font-weight: 500;
   transition: all 0.3s ease-in-out;
}
.modal .new-list-button i {
   color: var(--base-mute);
   padding-right: 1rem;
   transition: all 0.3s ease-in-out;
}
.modal .new-list-button:hover i {
   color: var(--base-emphasis);
   transition: all 0.3s ease-in-out;
}
.modal .new-list-button:hover {
   background: var(--base-02);
   text-shadow: 0 0 1px var(--base-content);
   transition: all 0.3s ease-in-out;
}
.modal .new-list-name-container label {
   padding-top: 0 !important;
   padding: 0;
   border: none;
}
.modal .new-list-name-container label:hover {
   background-color: unset;
}
.modal .new-list-name-container input {
   height: 3.5rem;
   padding: 0 1.5rem;
   color: var(--base-emphasis);
   font-size: var(--text-sm);
   background-color: var(--base-02);
   border: none;
   width: 100%;
}
.modal .new-list-name-container input::-webkit-input-placeholder {
   color: var(--base-emphasis);
}
.modal .cancel-button {
   color: var(--base-emphasis);
   text-shadow: none;
   background-color: unset;
   border: unset;
}
.modal .cancel-button:hover {
   text-shadow: 0 0 1px var(--base-emphasis);
}
.modal .done-button, .modal .modal-delete-list-button {
   font-size: var(--text-base);
   border: 2px solid var(--base-mute);
   background-color: transparent;
   color: var(--base-emphasis);
   text-shadow: none;
   text-transform: uppercase;
   letter-spacing: 1px;
   padding: .5rem .75rem;
   margin: 0 1rem;
}
.modal .done-button:hover {
   background: var(--base-02);
   text-shadow: 0 0 1px var(--base-emphasis);
}
@media only screen and (min-width: 360px) {
   /* CSS rules */
}
@media only screen and (min-width: 500px) {
   /* CSS rules */
}
@media only screen and (min-width: 640px) {
   /* CSS rules */
}
@media only screen and (min-width: 768px) {
   /* CSS rules */
}
@media only screen and (min-width: 1024px) {
   /* CSS rules */
}
@media only screen and (min-width: 1280px) {
   /* CSS rules */
}
@media only screen and (min-width: 1536px) {
   /* CSS rules */
}