:root {
  --vis2021-purple: rgb(111, 33, 132);
  --vis2021-green: rgb(106, 168, 104);
  --vis2021-yellow: rgb(251, 195, 27);
  --vis2025-blue: rgb(28, 49, 96);
  --vis2025-lightblue: rgb(38, 114, 185);
  --vis2025-red: rgb(162, 10, 53);
  --vis2025-yellow: rgb(253, 187, 48);
  --main-bg-color: #edf2f7;
  --main-border-color: #e2e8f0;
  --accent-color: var(--vis2025-blue);
  --text-color: #000;
  --text-dark-color: #4a5568;
  --text-gray-color: #a0aec0;
  --text-heading-color: var(--vis2025-blue);
  --text-muted-color: var(--vis2025-blue);
  --text-inv-color: #eee;
  --text-accent-color: var(--vis2025-lightblue);
  --icon-color: #6c757d;
  --btn-color: #fff;
  --btn-inv-color: #4a5568
}

html {
  scroll-padding-top: 100px;
  scroll-behavior: smooth
}

body {
  color: var(--text-dark-color)
}

body a {
  color: var(--text-accent-color)
}

body a:hover {
  color: var(--text-accent-color);
  text-decoration-color: var(--text-accent-color);
  text-decoration: underline
}

code {
  color: var(--accent-color)
}

.text-muted {
  color: var(--text-muted-color)
}

.text-muted:hover {
  color: var(--text-accent-color) !important
}

.navbar .navbar-brand img {
  height: 55px
}

.navbar-nav li {
  margin: 0 3px
}

.nav-pills li {
  margin: 0 2px
}

.navbar .nav-item {
  font-family: "Zilla Slab", serif;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.7);
  border-bottom: 2px solid transparent
}

.navbar .nav-item.active {
  border-bottom: 2px solid var(--vis2025-blue) !important
}

.navbar .nav-item:hover {
  border-bottom: 2px solid var(--vis2025-yellow) !important
}

.cal-nav {
  font-family: "Fira Sans", sans-serif
}

label:text-muted,
.nav-link.text-muted,
.nav-link {
  font-family: "Zilla Slab", serif;
  font-size: 1.125 rem;
  color: var(--btn-inv-color) !important;
  background-color: var(--main-bg-color) !important
}

.nav-link.text-muted {
  border: 1px solid transparent;
  box-sizing: border-box !important
}

.nav-link.active.text-muted,
.nav-link.active {
  color: var(--btn-color) !important;
  background-color: var(--btn-inv-color) !important
}

.nav-link.text-muted:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--text-dark-color)
}

.nav-link.text-muted.active:hover {
  color: var(--main-border-color) !important
}

body {
  font-family: "Fira Sans", sans-serif;
  background-color: var(--main-bg-color)
}

.jumbotron {
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.5)
}

h2.jumbotron-h {
  font-family: "Zilla Slab SemiBold", sans-serif;
  font-size: 2.5em;
  color: var(--text-inv-color);
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: lighten
}

h3.jumbotron-date {
  font-family: "Fira Sans", sans-serif;
  font-size: 1.5em;
  color: var(--text-inv-color);
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: lighten
}

h1 {
  font-family: "Zilla Slab SemiBold", serif;
  font-size: 2.25 rem;
  color: var(--text-heading-color)
}

h2 {
  font-family: "Zilla Slab SemiBold", serif;
  font-size: 1.875 rem;
  color: var(--text-heading-color)
}

h3 {
  font-family: "Fira Sans SemiBold", sans-serif;
  font-size: 1.5 rem;
  color: var(--text-heading-color)
}

.btn .active,
.btn.btn-outline-secondary.active {
  background-color: var(--btn-inv-color) !important
}

.btn-group {
  background-color: var(--btn-color)
}

.btn {
  background-color: var(--btn-color)
}

.btn:hover {
  background-color: var(--btn-inv-color);
  color: var(--btn-color)
}

.gdpr-btn:hover {
  color: var(--btn-color) !important;
  background-color: var(--accent-color) !important
}

.gdpr-btn {
  color: var(--btn-inv-color) !important;
  border: var(--main-border-color) !important;
  background-color: var(--btn-color) !important
}

#main-nav {
  padding-top: 10px;
  padding-bottom: 10px
}

.header {
  font: "Zilla Slab"
}

#tzNote p {
  margin-bottom: 0;
  font-size: 0.85rem
}

.pp-card {
  font-family: "Fira Sans", sans-serif;
  box-shadow: 0 0 14px 0 var(--main-border-color);
  margin-bottom: 1em;
  display: block;
  overflow: hidden
}

.job-board-card {
  padding: 50px
}

.job-board-card p {
  font-family: "Fira Sans", sans-serif;
  font-size: 0.9rem
}

h3 {
  font-family: "Zilla Slab SemiBold", serif
}

.pp-card-no-bottom {
  font-family: "Zilla Slab", serif;
  box-shadow: 0 0 14px 0 var(--main-border-color);
  margin-bottom: 0;
  display: block;
  overflow: hidden
}

.pp-card-header {
  background-color: #fff;
  border: 4px solid var(--main-border-color);
  font-family: "Zilla Slab", serif;
  height: 440px;
  padding-top: 10px;
  padding-left: 15px;
  padding-right: 15px;
  overflow: clip
}

.pp-mode-mini .pp-card-header {
  height: 175px;
  border: 1px solid var(--main-border-color)
}

.pp-card-footer {
  position: absolute;
  width: 100%;
  bottom: 3px
}

.card-footer {
  position: sticky;
  bottom: 0px;
  height: 15px;
  background-color: white;
  width: 100%;
  border: none
}

.pp-mode-mini .pp-card-header .card-title {
  font-size: 17px
}

.cards_img {
  margin-top: 20px;
  border-radius: 2px;
  width: 100%;
  height: 150px;
  object-fit: cover
}

:not(.navbar)>.container {
  margin-top: 25px
}

.card,
.card-header,
.card-title {
  font-family: "Zilla Slab SemiBold", serif;
  color: var(--text-dark-color)
}

.cards .myCard {
  display: flex;
  flex-flow: wrap;
  margin-left: 0;
  box-sizing: border-box
}

.cards {
  margin-top: 10px
}

.card-title {
  margin-top: 10px
}

h5.card-title {
  margin-top: 10px;
  font-size: 20px
}

h5.card-title a:hover {
  color: var(--text-accent-color);
  text-decoration: none
}

h5.card-title .paper-award {
  outline: none;
  margin-right: 4px
}

a.award-paper:hover {
  color: var(--text-accent-color);
  text-decoration: none
}

h6.card-subtitle.text-muted {
  font-family: Fira Sans, sans-serif;
  font-size: 15px
}

.card-subtitle.text-muted {
  font-family: Fira Sans, sans-serif;
  font-size: 15px;
  text-align: center;
  color: var(--text-muted-color)
}

.main-title {
  font-weight: 700;
  color: var(--text-heading-color);
  font-family: "Zilla Slab SemiBold", serif
}

.myAccordion {
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  margin-bottom: 18px;
  padding-left: 15px;
  padding-bottom: 10px;
  padding-right: 15px;
  padding-top: 10px;
  background-color: rgba(255, 255, 255, 1)
}

.sponsorLogo {
  width: 300px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto
}

.slp iframe {
  background: #fff;
  margin: 5px;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
  display: flex
}

.carousel-control-prev-icon {
  filter: invert(1);
  transform: translateX(-200%)
}

#main-nav {
  background-image: url("/static/css/hex-pattern.png")
}

div.anchor {
  display: block;
  position: relative;
  top: -250px;
  visibility: hidden
}

.carousel-control-next-icon {
  filter: invert(1);
  transform: translateX(200%)
}

.border {
  background: #fff;
  padding: 10px;
  border: 4px solid #eee;
  box-shadow: var(--main-border-color) 2px 2px 14px 0
}

tr.fc-list-item {
  cursor: pointer
}

.details {
  font-family: "Fira Sans", sans-serif
}

#abstractExample.collapse:not(.show) {
  display: block;
  height: 4.5em;
  overflow: hidden
}

#abstractExample.collapsing {
  height: 4.5em
}

#absShow.collapsed::after {
  content: "+ Show More"
}

#absShow:not(.collapsed)::after {
  content: "- Show Less"
}

body .carousel-control-next,
body .carousel-control-prev {
  width: 5%
}

.icon_video,
.icon_cal {
  fill: var(--icon-color)
}

.icon_video:hover,
.icon_cal:hover {
  fill: #000
}

.checkbox-paper {
  color: #fcfcfc;
  font-size: 14pt;
  font-weight: bold;
  cursor: pointer;
  transition-duration: 100ms
}

.checkbox-bookmark {
  color: #ddd;
  font-size: 18pt;
  font-weight: bold;
  cursor: pointer;
  transition-duration: 100ms
}

.tui-full-calendar-time-schedule-content,
.tui-full-calendar-time-schedule-content-time {
  border-color: var(--main-border-color) !important;
  font-weight: 400
}

.tui-full-calendar-time-date-schedule-block:hover {
  color: var(--accent-color)
}

.checkbox-paper.selected {
  opacity: 1;
  color: #6c757d
}

.checkbox-bookmark.selected {
  opacity: 1;
  color: var(--accent-color)
}

hr {
  border-bottom: 2px;
  border-style: dashed;
  border-color: var(--accent-color);
  border-top-width: 0;
  position: relative;
  margin-top: 3rem;
  margin-bottom: 3rem;
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

hr::after {
  border: 2px solid var(--accent-color);
  position: absolute;
  border-radius: 9999px;
  content: "";
  right: -14px;
  top: -4px;
  width: 6px;
  height: 6px;
  box-sizing: content-box
}

#tab-faq .card-header,
#tab-faq .card-body,
#tab-gather .card-header,
#tab-gather .card-body {
  font-family: "Fira Sans", sans-serif
}

.event-card {
  font-size: 1 rem;
  height: 100%
}

.event-card .event-title {
  font-family: "Zilla Slab SemiBold", serif;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  color: var(--text-dark-color)
}

.event-card .event-room {
  font-family: "Zilla Slab SemiBold", serif;
  font-size: 0.8rem;
  margin-bottom: 0.5rem;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  color: var(--text-dark-color)
}

.event-card .event-time {
  font-family: "Fira Sans", sans-serif;
  font-size: 0.8rem;
  letter-spacing: .01em;
  color: var(--text-dark-color)
}

.event-card .event-url {
  font-family: "Fira Sans", sans-serif;
  font-size: 0.8rem;
  letter-spacing: .01em;
  color: var(--text-gray-color);
  margin-bottom: 0.25rem
}

.nav-breadcrumb ol.breadcrumb {
  padding: 0.75rem 0;
  background-color: transparent;
  font-size: 0.85rem;
  list-style: none
}

.session-list-event,
.session-title,
.paper-title,
.session-list-title {
  font-family: "Zilla Slab SemiBold", serif;
  color: var(--text-heading-color)
}

.session-list-session,
.paper-authors,
.event-organizers,
.event-url {
  font-family: "Fira Sans", sans-serif;
  color: var(--text-dark-color);
  font-size: 1.875rem
}

.session-chair,
.session-url,
.session-sponsor {
  font-family: "Fira Sans", sans-serif;
  color: var(--text-dark-color);
  font-size: 1.4rem
}

div.session-url {
  font-size: 1rem
}

.session-list-date,
.session-date,
.event-date,
.paper-link,
.paper-presentation,
.speaker-name {
  font-family: "Fira Sans", sans-serif;
  color: var(--text-dark-color);
  text-decoration: none
}

.paper-details-heading,
.speaker-title,
.speaker-details-heading {
  font-family: "Zilla Slab SemiBold", serif;
  color: var(--text-heading-color)
}

.session-list-presenter {
  text-decoration: none
}

.session-list-info,
.session-info,
.session-list-type {
  font-family: "Fira Sans", sans-serif;
  color: var(--text-dark-color);
  text-decoration: none
}

.mobile-calendar-container #toTopBtn {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 98;
  font-size: xx-large
}

.second-sticky-top {
  top: 80px;
  width: 100%;
  z-index: 10;
  background-color: white;
  margin-bottom: -10px;
  padding-top: 10px;
  padding-bottom: 20px
}

.session-listing {
  border-left: 5px solid transparent
}

.event-faceting,
.legend-item {
  letter-spacing: 0.025em;
  font-size: 1rem;
  padding-bottom: 0.5rem;
  font-family: "Fira Sans SemiBold", sans-serif
}

.session-type {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 1rem;
  padding-bottom: 0.5rem;
  font-family: "Fira Sans SemiBold", sans-serif
}

.session-list-title .fas {
  font-size: 0.8em
}

.session-chair .fas,
.session-date .fas,
.session-sponsor .fas {
  font-size: 0.75em;
  vertical-align: baseline
}

.session-sponsor-alert {
  text-align: center
}

.session-links {
  padding-top: 3rem
}

#small-program-link {
  font-size: 0.8em;
  text-align: center
}

.alert-link {
  text-decoration: underline
}

.integration-description {
  color: var(--icon-color);
  font-size: 0.85rem
}

.integration-description emph {
  color: var(--accent-color)
}

.paper-award {
  display: inline-block;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--accent-color);
  outline: 2px solid var(--accent-color);
  outline-offset: 6px
}

.award-card {
  font-size: 1rem;
  height: 100%;
  position: relative;
  z-index: 0
}

.award-card>* {
  z-index: 5
}

.award-card:before {
  content: "\f091";
  font-family: "Font Awesome 5 Free";
  left: calc(50% - 25px);
  position: absolute;
  top: calc(50% - 25px);
  font-size: 50px;
  color: #f0f0f0;
  z-index: -1
}

.award-card .award-title {
  font-family: Fira Sans, sans-serif;
  font-size: 1 rem;
  color: var(--text-dark-color);
  letter-spacing: .01em;
  font-weight: bold
}

.award-card .award-name {
  font-family: Zilla Slab SemiBold, serif;
  font-size: 1.5rem;
  color: var(--text-dark-color)
}

.award-card .award-paper {
  font-family: Zilla Slab SemiBold, serif;
  font-size: 1.4rem;
  color: var(--text-dark-color)
}

.award-card .award-authors {
  font-family: Fira Sans, sans-serif;
  font-size: 0.8 rem;
  letter-spacing: .01em
}

.tooltip {
  font-family: "Fira Sans", sans-serif
}

.note {
  border-bottom: 2px dotted
}

.timezone {
  font-family: "Fira Sans", sans-serif;
  font-size: 0.9rem;
  border-bottom: 1px dotted var(--text-gray-color)
}

.tztooltip {
  position: relative;
  display: inline-block
}

.tztooltip .tztooltiptext {
  visibility: hidden;
  width: 150px;
  background-color: var(--btn-inv-color);
  color: var(--text-inv-color);
  text-align: center;
  padding: 5px 2px;
  border-radius: 6px;
  font-family: "Fira Sans", sans-serif;
  font-size: 0.8rem;
  position: absolute;
  z-index: 1;
  top: 150%;
  left: 50%;
  margin-left: -75px;
  opacity: 0;
  transition: opacity 0.3s
}

.tztooltip .tztooltiptext::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #555 transparent
}

.tztooltip:hover {
  cursor: help
}

.tztooltip:hover .tztooltiptext {
  visibility: visible;
  opacity: 1
}

.streaming-fullscreen {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 2000;
  background-color: var(--main-bg-color)
}

.fullscreen-link {
  height: 0px;
  top: 1em;
  cursor: zoom-out
}

#test-modal-leave-fullscreen {
  position: fixed;
  top: 0;
  right: 0;
  padding: 10px;
  z-index: 10000
}

#test-modal-fullscreen {
  position: absolute;
  top: 0;
  right: 0
}

#test-modal-leave-fullscreen,
#test-modal-fullscreen {
  opacity: 0.75;
  transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -webkit-transition: opacity .25s ease-in-out;
  cursor: pointer
}

#test-modal-leave-fullscreen:hover,
#test-modal-fullscreen:hover {
  opacity: 1.0
}

.visible-floating {
  display: inline-block
}

.invisible-floating {
  display: none
}

.streaming {
  width: 84vw;
  text-align: right;
  position: relative;
  left: 50%;
  margin-left: -42vw
}

.streaming-container {
  margin: auto;
  position: relative
}

.streaming>iframe {
  min-height: 80vh;
  width: 100%
}

.room_session_header,
.room_session_descriptor,
.room_session_timeslot,
.room_session_future_stream,
.room_session_stream,
.future_session_alert,
.current_session_alert,
.past_session_alert {
  display: none
}

.room_session_descriptor {
  color: var(--text-dark-color);
  border-bottom: 2px solid
}

.room_session_details {
  color: var(--text-gray-color);
  border-bottom: 2px dashed
}

#iframe-player {
  aspect-ratio: 16 / 9;
  width: 100%
}

.sponsor-platinum {
  border-color: #5b5a5a
}

.sponsor-silver {
  border-color: #c7c7c7
}

.sponsor-bronze {
  border-color: #b67649
}

footer.footer .bg-primary {
  background-color: rgba(218,23,28,var(--bg-opacity)) !important;
}

.login-button {
  color: white;
}
.logout-button {
  color: white;
}