.media-container,
.presentation-item {
   overflow: hidden;
   box-shadow: 0px 4px 8px -2px rgba(0, 0, 0, 0.075);
   margin-bottom: .5rem;
   position: relative;
   background-color: var(--base-01);
   transition: var(--three);
}

.media-container:hover,
.presentation-item:hover {
   box-shadow: 0px 4px 8px -2px rgba(0, 0, 0, 0.125);
}

.media-container .banner-stretched-link {
   position: absolute;
   inset: 0;
   z-index: 2;
}

.media-container .thumb-img-container {
    position: relative;
    aspect-ratio: 4 / 3;
    padding-top: 75%;
    overflow: hidden;
}

.person-container.media-container .thumb-img-container {
    aspect-ratio: 1;
    margin: 0rem 21.875%;
    border-radius: 100%;
}

.related-item .person-container .avatar-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    font-size: var(--text-5xl);
    transform: scale(0.9);
}

.progress_hide_0 {
    display: none;
}

.media-container .progress-indicator-container {
    position: absolute;
    bottom: 0;
    height: .25rem;
    width: 100%;
    background-color: rgb(1 2 3 / 66%);
    z-index: 1;
}

.media-container .progress-indicator {
    background-color: var(--primary);
    height: 100%;
}

.media-container .media-details-container {
   padding: .75rem 1rem;
   background-color: var(--base-02);
   transition: var(--five);
}

.media-container .media-details-container h3 {
   margin-bottom: .325rem;
   font-size: var(--text-base);
   font-weight: 500;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
}

.media-container .media-details-container  .category-type {
   font-size: var(--text-sm);
}

.media-container .media-details-container p {
    font-size: var(--text-sm);
    line-height: 1.3;
}

.media-container .media-details-container .short-description {
   display: none;
}

.media-details-container a {
    text-decoration: none;
}

.media-container .thumb-img-overlay {
   visibility: hidden;
   opacity: 0;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   display: flex;
   background: rgb(220, 220, 220, .66);
   background: -moz-linear-gradient(180deg, rgba(220, 220, 220, 0) 0%, rgba(220, 220, 220, 0.66) 80%);
   background: -webkit-linear-gradient(180deg, rgba(220, 220, 220, 0) 0%, rgba(220, 220, 220, 0.66) 80%);
   background: linear-gradient(180deg, rgba(220, 220, 220, 0) 0%, rgba(220, 220, 220, 0.66) 80%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DCDCDC", endColorstr="#DCDCDC", GradientType=1);
   transition: var(--three);
   z-index: 1;
}


.media-container .btn-row {
   visibility: hidden;
   opacity: 0;
   position: absolute;
   bottom: 0;
   left: 0;
   display: flex;
   align-items: end;
   padding: .5rem;
   gap: .25rem;
   transition: var(--three);
   z-index: 2;
}

.person-container.media-container  .btn-row {
    right: 0;
    justify-content: center;
    bottom: .5rem;
}

.media-container:hover .thumb-img-overlay, .media-container:hover .btn-row {
   visibility: visible;
   opacity: 1;
}

.media-container .btn-row button {
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 3;
   width: 2.5rem;
   height: 2.5rem;
   border: none;
   border-radius: 100%;
   color: var(--base-content);
   position: relative;
   background-color: var(--base-01);
   text-decoration: none;
   transition: var(--three);
}

.media-container .btn-row button i {
   opacity: 100%;
   transition: var(--three);
}

.media-container .btn-row button:hover i {
   opacity: 66%;
}

.favorite-btn.isfavorite {
    animation: pop 0.3s ease;
    background-color: var(--base-02);
}

@keyframes pop {
   0% {
      transform: scale(1);
      /* Start at original size */
   }

   50% {
      transform: scale(1.1);
      /* Scale up to 110% */
   }

   100% {
      transform: scale(1);
      /* Scale back to original size */
   }
}

.favorite-btn.isfavorite i::before {
    font-weight: 900;
    transition: var(--three);
}

.media-container .thumb-img {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    transform: scale(1);
    object-fit: cover;
    object-position: center;
    transition: var(--three);
}

.media-container .no-img-text {
    position: absolute;
    inset: 0;
    background-color: var(--base-content);
    height: 100%;
    display: flex;
    width: 100%;
    color: var(--secondary-content);
    padding: 1rem;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    font-size: clamp(0.8rem, 5vw, 1.5rem);
    line-height: 1.2;
    word-wrap: break-word;
    max-width: 100%;
    font-weight: 800;
    text-align: center;
    transform: scale(1);
    transition: var(--three);
}

.media-container:hover .thumb-img, .media-container:hover .no-img-text{
    transform: scale(1.1);
}

.media-container:hover .media-details-container, .media-container:focus .media-details-container {
        background-color: var(--base-03);
}

@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) {
   .media-container .media-details-container {
   padding: 1rem 1.5rem;
}

@media only screen and (min-width: 768px) {
   /* CSS rules */
}

@media only screen and (min-width: 1024px) {


   .media-container .media-details-container .short-description {
      overflow: hidden;
      display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
      color: var(--base-mute);
      font-size: var(--text-sm);
      padding-top: 0;
   }
}

@media only screen and (min-width: 1280px) {
   /* CSS rules */
}

@media only screen and (min-width: 1536px) {
   /* CSS rules */
}