.session .heading {
   background-image: var(--bg-img);
   color: var(--dark-content);
   background-position: center;
   background-size: cover;
   background-color: var(--dark-01);
}
.session-main, .related-content {
   padding-top: 1rem;
   padding-bottom: 1rem;
}
.related-content {
   background-color: var(--base-02);
}
.related-content h2 {
   line-height: 1.5;
   font-size: var(--text-2xl);
   font-weight: 600;
   margin-bottom: 1rem;
}
.session .heading .wrapper {
   flex-direction: column;
   display: flex;
   gap: 1rem;
}
.session .heading .header-media-container {
   margin: -.75rem -.75rem 0 -.75rem;
}
.session .heading .heading-details-container {
   list-style-type: none;
   display: flex;
   font-size: var(--text-sm);
   font-weight: 500;
}
.session .heading h1 {
   font-size: var(--text-2xl);
}
.session .heading .heading-details-container li:not(:last-of-type)::after {
   content: '•';
   margin:0 .5rem;
}

.session .heading .heading-actions-container {
   display: flex;
   flex-wrap: wrap;
   gap: .5rem
}
.session .heading-actions-container > .going-button,
.session .heading-actions-container > .interested-button {
   flex-grow: 1;
}
.session .heading-actions-container > .calendar-button,
.session .heading-actions-container > .favorite-button,
.session .heading-actions-container > .list-button,
.session .heading-actions-container > .share-button {
   display: none;
}
.session .heading-actions-container > .going-button,
.session .heading-actions-container > .interested-button,
.session .heading-actions-container > .calendar-button,
.session .heading-actions-container > .favorite-button,
.session .heading-actions-container > .list-button,
.session .heading-actions-container > .share-button,
.session .more-container .more-button {
   background-color: rgb(208, 229, 237, .25);
   height: 2.5rem;
   min-width: 2.5rem;
   color: var(--dark-content);
   filter: blur();
   border-radius: .25rem;
   border: none;
}
.session .more-container .more-button {
   display: flex;
   justify-content: center;
   align-items: center;
   border-radius: 100%;
}
.session .more-container .more-button i {
   padding-right: 0;
}
.session .more-container .dropdown-more-container.top.active {
   top: unset;
   bottom: 3rem;
}
.session .more-container .dropdown-more-container.top {
   top: unset;
   bottom: 0rem;
}
.session .heading-actions-container > .favorite-button span,
.session .heading-actions-container > .list-button span,
.session .heading-actions-container > .share-button span {
   display: none;
}
.session .heading-actions-container > .going-button.active,
.session .heading-actions-container > .interested-button.active,
.session .heading-actions-container > .favorite-button.active,
.session .heading-actions-container > .list-button.active,
.session .heading-actions-container > .share-button.active {
   background-color: var(--base-02);
   color: var(--dark-focus);
} 
.session .heading-actions-container > .going-button.active:hover,
.session .heading-actions-container > .interested-button.active:hover,
.session .heading-actions-container > .favorite-button.active:hover,
.session .heading-actions-container > .list-button.active:hover,
.session .heading-actions-container > .share-button.active:hover {
   background-color: var(--base-03);
}
.session .heading-actions-container i {
   padding-right: .25rem
}
.session .heading-actions-container > .going-button:hover,
.session .heading-actions-container > .interested-button:hover,
.session .more-container .more-button:hover,
.session .heading-actions-container > .calendar-button:hover,
.session .heading-actions-container > .favorite-button:hover,
.session .heading-actions-container > .list-button:hover,
.session .heading-actions-container > .share-button:hover {
   background-color: rgb(208, 229, 237, .33);
}
.session .heading-actions-container > .interested-button.active i::before,
.session .heading-actions-container > .going-button.active i::before,
.session .heading-actions-container > .favorite-button.active i::before,
.session .dropdown-action-button.favorite-button.active i::before {
   font-weight: 900;
}
.session .dropdown-action-button.favorite-button .active,
.session .dropdown-action-button.favorite-button.active .inactive {
   display: none;
}
.session .dropdown-action-button.favorite-button .inactive,
.session .dropdown-action-button.favorite-button.active .active {
   display: unset;
}
.session .session-details-container {
   background-color: var(--base-02);
}
.session .dropdown-more-container.active {
   bottom: 0;
   visibility: visible;
   opacity: 100%;
}
.session .dropdown-more-container {
   visibility: hidden;
   opacity: 0%;
   display: flex;
   flex-direction: column;
   position: fixed;
   bottom: -100%;
   left: 0;
   right: 0;
   background-color: var(--base-01);
   min-width: 160px;
   z-index: 2;
   border-radius: 0.5rem;
   padding: 0 0 1rem 0;
   text-wrap: nowrap;
   border: .5px solid var(--primary);
   box-shadow: 0px 4px 16px -4px rgba(0, 0, 0, 0.2);
   transition: var(--three);
   overflow: hidden;
}
.session .dropdown-action-button {
   padding: .75rem 1rem;
   white-space: nowrap;
   text-decoration: none;
   display: flex;
   gap: .5rem;
   align-items: center;
   background-color: transparent;
   color: var(--base-content);
   font-weight: 500;
   font-size: var(--text-sm);
   border: none;
   width: 100%;
}
.session .dropdown-action-button:hover {
   background-color: var(--base-03);
}
.session-main:nth-of-type(odd) {
   background-color: var(--base-02);
}
.session-main:nth-of-type(even) {
   background-color: var(--base-05);
}
.session-main h2 {
   font-size: var(--text-2xl);
   font-weight: 800;
   margin-bottom: 1rem;
  color: var(--base-emphasis);
}
.session-main h2 {
   line-height: 1.5;
}
.session-main .presentations-container {
   display: flex;
   flex-wrap: wrap;
   gap: 2rem;
}
.session-main .presentation {
   width: 100%;
}
.session-main .presentation h3 {
   font-size: var(--text-lg);
   font-weight: 600;
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
   margin-bottom: .5rem;
}
.abstract-container .presentation h3 {
   font-size: var(--text-lg);
   font-weight: 600;
   margin-bottom: .5rem;
}
.session-main .presentation .author,
.abstract-container .presentation .author {
   font-size: var(--text-sm);
   color: var(--base-mute);
   margin-bottom: .75rem;
}
.session-main .presentation .abstract {
   overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
}
.session-main .presentation .view-more-link {
   font-size: var(--text-sm);
   color: var(--primary);
   text-decoration: underline;
   font-weight: 500;
}
.session-main .presentation .view-more-link:hover {
   color: var(--primary-focus);
}
.session .related-media-container .media-container {
   margin-bottom: 2rem;
}
.related-content-link {
   flex-grow: 1;
   background-color: var(--base-02);
   filter: brightness(95%);
   border: 1px solid transparent;
   color: var(--pri);
   border-radius: .5rem;
   padding: 1rem;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   font-size: var(--text-base);
   box-shadow: 0px 4px 8px -4px rgba(0, 0, 0, 0);
}
.related-content-link-container {
   margin: auto;
}
.related-content-link-container div {
   display: inline;
   margin-left: .5rem;
}
.related-content-link:hover {
   box-shadow: 0px 4px 8px -4px rgba(0, 0, 0, 0.2);
   background-color: var(--base-04);
}
.related-content-link:hover i {
   animation: bounce 1s infinite;
}
@media only screen and (min-width: 360px) {
   
}
 
 @media only screen and (min-width: 500px) {
   .related-media-container {
      display: flex;
      flex-wrap: wrap;
      column-gap: .5rem;
      row-gap: 1.5rem;
   }
   .related-media-container .media-container {
      width: calc((100% - .5rem) / 2)
   }
   .related-content .media-container .thumb-overlay {
      padding-bottom: .75rem;
      padding-right: .75rem;
   }
   .related-media-container .media-container .thumb-overlay button {
      width: 2rem;
      height: 2rem;
   }
   .related-media-container .media-container .media-details-container h3 {
      font-size: var(--text-sm);
   }
   .related-media-container .media-container .media-details-container .media-info {
      display: block;
      font-size: var(--text-xs);
   }
   .related-media-container .media-container .media-details-container .media-info li {
      display: inline;
   }
   .related-media-container .media-container .media-actions-container {
      display: flex;
      gap: .5rem;
   }
   .related-media-container .media-container .media-actions-container > .interested-button,
   .related-media-container .media-container .media-actions-container > .going-button {
      font-size: var(--text-xs);
      text-wrap: nowrap;
   }
   .session .related-media-container .media-container:not(:last-of-type) {
      margin-bottom: 0;
   }
 }
 
 @media only screen and (min-width: 640px) {
   .session .heading {
      position: relative;
      margin-bottom: .625rem;
   }
   .session .heading .media-container {
      margin: 0;
      background: rgb(208, 229, 237, .1);
      border-radius: .75rem;
      box-shadow: 0 4px 30px rgba(0, 0, 0, 0.66);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
      border: 1px solid rgb(208, 229, 237, .1);
   }
   .session .heading .media-wrapper {
      padding: 0.75rem;
      border-radius: 1rem;
      overflow: hidden;
      box-shadow: 0 4px 30px rgba(0, 0, 0, 0.66);
   }
   .session .heading .header-media-container {
      margin: -.5rem -.75rem 0 -.75rem;
   }
   .session .more-container {
      position: relative;
   }
   .session .dropdown-more-container.active {
      visibility: visible;
      opacity: 1;
      transform: scale(1) translateY(0);
   }
   .session .dropdown-more-container {
      visibility: hidden;
      opacity: 0;
      transform: scale(.99) translateY(1rem);
      position:absolute;
      max-height: fit-content;
      display: flex;
      flex-direction: column;
      left: unset;
      right: 0;
      top: 2.75rem;
      background-color: var(--base-01);
      min-width: 14rem;
      z-index: 1;
      border-radius: 0.5rem;
      padding: 0;
      text-wrap: nowrap;
      border: 1px solid var(--primary);
      box-shadow: 0px 4px 16px -4px rgba(0, 0, 0, 0.2);
      transition: var(--three);
   }
   .session .dropdown-action-button.calendar-button {
      display: none;
   }
   .session .heading-actions-container > .going-button,
   .session .heading-actions-container > .interested-button,
   .session .heading-actions-container > .calendar-button {
      padding: 0 1rem;
   }
   .session .heading-actions-container > .calendar-button {
      display: unset;
   }
   .session .heading::after {
      position: absolute;
      content: "";
      left: 0;
      right: 0;
      width: 100%;
      height: .625rem;
      bottom: -.625rem;
      margin: 0;
      background: rgb(49, 53, 73, 0.5);
      background: linear-gradient(140deg, rgba(21, 72, 108, 0.6) 0%, rgba(26, 33, 119, 0.6) 100%);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.33);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
   }
   .session .dropdown-more-container.active.above{
      top: unset;
      bottom: 3rem;
   }
   .session .dropdown-more-container.above{
      top: unset;
      bottom: 2rem;
   }
   .session-main .presentation {
      width: calc(50% - 1rem);
      background-color: white;
      padding: 1rem 1.25rem;
      border-radius: .5rem;
      box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
   }
   .session-main .presentation h3 {
      font-size: var(--text-base);
   }
   .session-main .presentation .author {
      font-size: var(--text-xs);
   }
   .session-main .presentation .abstract {
      font-size: var(--text-sm);
   }
   
}
 @media only screen and (min-width: 768px) {
   .session .heading .wrapper {
      gap: 1.5rem;
  }
   .session .heading-actions-container > .going-button,
   .session .heading-actions-container > .interested-button,
   .session .heading-actions-container > .calendar-button {
      width: calc((100% - 4rem) / 3)
   }
   .related-media-container .media-container {
      width: calc((100% - 1rem) / 3)
   }
}

@media only screen and (min-width: 1024px) {
   .session-main, .related-content {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
   }
   .session .heading-actions-container > .going-button,
   .session .heading-actions-container > .interested-button,
   .session .heading-actions-container > .calendar-button,
   .session .heading-actions-container > .dropdown-action-button.calendar-button {
      width: fit-content;
      flex-grow: 0;
      padding: 0 1.5rem;
   }

   .session .heading-actions-container > .favorite-button,
   .session .heading-actions-container > .list-button,
   .session .heading-actions-container > .share-button {
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 100%;
   }
   .session .heading-actions-container > .favorite-button i,
   .session .heading-actions-container > .list-button i,
   .session .heading-actions-container > .share-button i {
      padding-right: 0;
   }
   .session-main h2,
   .related-content h2 { 
      margin-bottom: 1.25rem;
   }
   .related-content-link-container div {
      display: block;
      margin-left: 0;
   }
   .related-content-link {
      font-size: var(--text-2xl);
   }
}
 
 @media only screen and (min-width: 1280px) {
   .session .heading .heading-details-container {
      font-size: 1rem;
   }
   .session .heading h1 {
      font-size: var(--text-5xl);
      width: 64rem;
   }
   .session-main .presentation h3 {
      font-size: var(--text-lg);
   }
   .session-main .presentation .author {
      font-size: var(--text-sm);
   }
   .session-main .presentation .abstract {
      font-size: var(--text-base);
   }
   .session-wrapper {
      display: flex;
      flex-wrap: wrap;
   }
   .session .session-main-container {
      width: calc(100% - 30rem);
   }
   .session .related-content {
      width: 30rem;
      padding-left: 1rem;
   }
   .session-main:nth-of-type(even) {
      background-color: var(--base-02);
   }
   .session .related-media-container .media-container {
      width: 100%;
      flex-direction: row;
      gap: .5rem;
   }
   .media-container .img-container {
      width: 10rem;
      height: 5.625rem;
   }
   .session .media-container.author .img-container {
      border-radius: 100%;
      left: 0;
      transform: translateX(0%);
      width: 5.625rem;
      height: 5.625rem;
      margin-left: 2.1875rem;
      margin-right: 2.1875rem;
      flex-shrink: 0;
   }
   .session .media-container .details-more-container {
      flex-grow: 1;
      max-width: 16rem;
   }
   .session .related-media-container .media-container .media-details-container .media-info {
      display: none;
   }
   .session .media-details-container {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
   }
   .related-content-link-container div {
      display: inline;
      margin-left: .5rem;
   }
   .related-content-link {
      font-size: var(--text-lg);
   }
 }
 
 @media only screen and (min-width: 1536px) {
   .session .heading {
      padding: 2.5rem 0;
   }

   .session .heading .heading-actions-container {
      margin: .5rem 0 0 0;
      gap: .5rem;
      align-items: center;
   }
   .session .heading-actions-container > .going-button,
   .session .heading-actions-container > .interested-button,
   .session .heading-actions-container > .calendar-button {
      height: 3rem;
      font-size: var(--text-lg);
      padding: 0 1.5rem;
      border-radius: .325rem;
   }
   .session .heading-actions-container > .favorite-button,
   .session .heading-actions-container > .list-button,
   .session .heading-actions-container > .share-button {
      height: 3rem;
      width: 3rem;
      font-size: var(--text-lg);
   }
   .session .heading-actions-container > .calendar-button {
      margin-right: .75rem;
   }
   .session .heading-actions-container > .going-button i,
   .session .heading-actions-container > .interested-button i,
   .session .heading-actions-container > .calendar-button i {
      padding-right: .75rem;
   }
   .session-wrapper {
      max-width: 90rem;
      margin: 0 auto;
     padding: 1.5rem 0;
   }
   .session-wrapper .session-main-container {
      padding-right: 2rem;
   }
}
@media only screen and (min-width: 1920px) {
   .session .heading {
      padding: 4rem 0 2rem 0;
   }
}