#hero {
  background-color: #58B6B2;
  padding-top: 80px;
  padding-bottom: 0;
  background-image: url("../images/frontpage/giant-vep-hero-bg.jpg");
}
#hero .hero-top {
  text-shadow: none;
  padding-bottom: 100px;
}
#hero .hero-top .hero-heading {
  font-size: 32px;
  letter-spacing: 3.5px;
  line-height: 45px;
}
#hero .hero-top h2 {
  font-size: 100px;
  margin-bottom: -15px;
  letter-spacing: -0.01em;
  line-height: 95px;
}
#hero .hero-top p {
  font-size: 20px;
  letter-spacing: 2px;
  font-weight: lighter;
  margin-top: 0;
  margin-bottom: 40px;
}
#hero .hero-top .hero-dates {
  font-size: 36px;
  color: #FFFFFFA6;
  letter-spacing: 0.192em;
  font-weight: bold;
  padding-bottom: 34px;
  position: relative;
  display: block;
  line-height: 60px;
  margin-bottom: 35px;
}
#hero .hero-top .hero-dates:after {
  position: absolute;
  content: "";
  height: 30px;
  border-bottom: 3px solid #FFFFFFA6;
  bottom: 0;
  left: calc(50vw - 86px);
  right: calc(50vw - 86px);
}
#hero .hero-bottom-outer {
  background-color: #000A14BF;
}
@media (min-width: 769px) {
  #hero .hero-bottom-outer {
    padding-top: 40px;
    padding-bottom: 45px;
  }
}
#hero .hero-bottom {
  display: flex;
  justify-content: center;
}
@media (max-width: 576px) {
  #hero .hero-bottom {
    padding: 40px 0 60px;
  }
}
@media (max-width: 992px) {
  #hero .hero-bottom {
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
  }
}
#hero .hero-bottom .hero-btn {
  margin-bottom: 0;
  padding: 8px 20px 8px;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.025em;
}
@media (max-width: 768px) {
  #hero .hero-bottom .hero-btn {
    padding: 10px 10px;
    font-size: 15px;
  }
}
#hero .hero-bottom .hero-btn span {
  margin-left: 5px;
}
#hero .hero-bottom .bottom-section-heading {
  position: relative;
  font-size: 17px;
  letter-spacing: 0.07em;
  margin-bottom: 21px;
}
#hero .hero-bottom .bottom-section-heading:after {
  position: absolute;
  content: "";
  bottom: -5px;
  left: 0;
  right: calc(100% - 63px);
  height: 0.5em;
  border-bottom: 3px solid #58B6B2;
}
#hero .hero-bottom .bottom-section-content {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: content;
}
@media (max-width: 992px) {
  #hero .hero-bottom .bottom-section-content {
    flex-direction: column;
  }
}
#hero .hero-bottom .hero-bottom-section-image img {
  border-radius: 5px;
  border: 3px solid #fff;
  max-height: 126px;
  max-width: 126px;
  margin-right: 10px;
}
@media (max-width: 992px) {
  #hero .hero-bottom .hero-bottom-section-image img {
    margin-right: 0;
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) {
  #hero .hero-bottom .hero-bottom-section-text {
    display: flex;
    height: 122px;
    flex-direction: column;
  }
  #hero .hero-bottom .hero-bottom-section-text > :last-child {
    margin-top: auto;
  }
}
@media (min-width: 993px) {
  #hero .hero-bottom .hero-bottom-section-text {
    margin-left: 15px;
  }
}
#hero .hero-bottom .hero-bottom-section-text h3 {
  font-size: 20px;
  line-height: 22px;
  line-height: 27px;
  margin-bottom: 3px;
  letter-spacing: -0.01em;
}
#hero .hero-bottom .hero-bottom-section-text p {
  font-size: 15px;
  color: #FFFFFFB3;
  line-height: 17px;
  letter-spacing: 0.025em;
}
#hero .hero-btn {
  margin-bottom: 0;
  padding: 15px 30px;
  background-color: #C82333;
  border-radius: 5px;
  color: #fff;
  font-size: 20px;
  line-height: 22px;
  font-weight: bold;
  letter-spacing: -0.01em;
}
#hero .hero-btn:hover {
  text-decoration: none;
}
#hero .hero-btn span {
  margin-right: 10px;
}
#hero .hero-bottom-section {
  text-align: left;
  padding: 0 15px;
}
@media (min-width: 993px) {
  #hero .hero-bottom-section {
    width: 50%;
  }
}
@media (min-width: 993px) {
  #hero .inverted.hero-bottom-section {
    padding: 0 15px;
  }
  #hero .inverted .bottom-section-heading {
    text-align: right;
  }
  #hero .inverted .bottom-section-heading:after {
    left: calc(100% - 63px);
    right: 0;
  }
  #hero .inverted .bottom-section-content {
    text-align: right;
    justify-content: flex-end;
  }
  #hero .inverted .hero-bottom-section-image {
    order: 1;
  }
  #hero .inverted .hero-bottom-section-image img {
    margin-right: 0;
    margin-left: 10px;
  }
  #hero .inverted .hero-bottom-section-text {
    margin-right: 15px;
    margin-left: 0px;
  }
  #hero .inverted .hero-bottom-section-text p {
    font-size: 19px;
    letter-spacing: -0.02em;
  }
}
#hero .hero-btn {
  transition: opacity 0.2s ease;
}
#hero .hero-btn:hover:not(:active) {
  opacity: 0.8;
}

#agenda {
  background-image: url("../images/frontpage/hexagon-white-background.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}

#speakers {
  background-image: url("../images/frontpage/speaker-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}

#exhibitors {
  background-image: url("../images/frontpage/exhibitors-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}

#collaborators {
  background-image: linear-gradient(to right bottom, #33485F, #262E37);
  background-size: cover;
  background-repeat: no-repeat;
  line-height: 1;
}

.ls-1 {
  letter-spacing: 0.13rem;
}

.ls-2 {
  letter-spacing: 0.33rem;
}

.ls-3 {
  letter-spacing: 0.54rem;
}

.lh-1 {
  line-height: 1 !important;
}

.py-80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.bg-opct-10 {
  background: rgba(0, 0, 0, 0.1);
}

.bg-opct-75 {
  background: rgba(0, 10, 20, 0.75);
}

.ra-img-container {
  aspect-ratio: 3/1;
  max-width: 100%;
}

.ra-img-container-94 {
  aspect-ratio: 9/4;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sq-img-container-120 {
  width: 120px;
  height: 120px;
}

.bg-transparent {
  background: transparent !important;
}

.bg-gradient {
  background-image: linear-gradient(to right bottom, #33485F, #262E37);
  background-size: cover;
  background-repeat: no-repeat;
}

.bg-gradient-lighter {
  background-image: linear-gradient(to right bottom, #4e6e91, #455464);
}

.filter-invert {
  filter: brightness(0) invert(1);
}

.shrink {
  scale: 0.75;
}

.bg-parallax {
  background-repeat: no-repeat;
  background-position: right top;
  background-attachment: fixed;
  background-size: cover;
}

.bg-parallax--exhibitors {
  background-image: url("../images/frontpage/exhibitors-bg.jpg");
}

.bg-parallax--speakers {
  background-image: url("../images/frontpage/speaker-bg.jpg");
}

#top-bar {
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
}
#top-bar.transparent-header {
  box-shadow: none;
}
#top-bar.transparent-header:not(.menu-open) {
  background: transparent !important;
}
#top-bar.transparent-header:not(.menu-open) nav li a,
#top-bar.transparent-header:not(.menu-open) .user-account {
  color: white !important;
}
#top-bar.transparent-header:not(.menu-open) .navbar-brand,
#top-bar.transparent-header:not(.menu-open) .navbar-toggler {
  filter: brightness(0) invert(1);
}
#top-bar.transparent-header:not(.menu-open) .small-avatar img[src="../assets/Profile.svg"] {
  filter: brightness(0) invert(1);
}

#welcome-text {
  background: #fff;
}
#welcome-text p {
  color: #333;
  font-size: 24px;
  letter-spacing: 0em;
  line-height: 32px;
}
#welcome-text p span {
  font-weight: bold;
  letter-spacing: -0.01em;
}

.hero {
  background-color: #58B6B2;
  padding-top: 80px;
  padding-bottom: 0;
  background-image: url("../images/frontpage/giant-vep-hero-bg.jpg");
}

#hero .usp-header {
  letter-spacing: 1.5px;
  position: relative;
}
#hero .usp-header:after {
  position: absolute;
  content: "";
  bottom: -5px;
  left: 0;
  right: calc(100% - 63px);
  height: 0.5em;
  border-bottom: 3px solid #58B6B2;
}
@media (min-width: 768px) {
  #hero .usp-header.invert:after {
    right: 0;
    left: calc(100% - 63px);
  }
}
#hero .usp-p {
  line-height: 1.1;
}

.new-chat-side-panel,
.chat-heads {
  bottom: 75px;
}

.underlined-heading {
  position: relative;
}
.underlined-heading:after {
  position: absolute;
  content: "";
  border-bottom: 3px solid #58B6B2;
  height: 0.5em;
  bottom: -0.1em;
  left: calc(50% - 180px);
  right: calc(50% - 180px);
}

#event-agenda {
  background: transparent;
}

.primary-tab {
  display: block;
  border-bottom: 3px solid rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
}
.primary-tab h2 {
  font-weight: bold;
  border-bottom: none !important;
}
.primary-tab:hover,
.primary-tab :active {
  text-decoration: none;
}

@media (max-width: 768px) {
  #agendaDayTabs {
    justify-content: center;
  }
}

#agendaStageTabs {
  display: none;
}
#agendaStageTabs * > :hover {
  text-decoration: none;
}
@media (max-width: 768px) {
  #agendaStageTabs {
    justify-content: center;
  }
}
@media (max-width: 992px) {
  #agendaStageTabs {
    display: flex;
  }
}

#agendaDayTabs .active,
#agendaStageTabs .active,
#networkingTabs .active {
  border-bottom: 3px solid #58B6B2;
}

#networkingTabs .primary-tab:not(.active) {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
#networkingTabs .active {
  color: #ffffff !important;
}

.agenda-heading {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 22px;
}
@media (min-width: 1200px) {
  .agenda-heading {
    font-size: 24px;
  }
}

.agenda-subheading {
  text-transform: uppercase;
  line-height: 1.1;
}

.agenda-grid {
  display: grid;
  grid-template-columns: 2fr 5fr;
  grid-template-rows: repeat(1, 90px);
  grid-auto-rows: 3px;
  grid-gap: 3px;
}
@media (min-width: 768px) {
  .agenda-grid {
    grid-template-columns: 1fr 5fr;
  }
}
@media (min-width: 992px) {
  .agenda-grid {
    grid-template-columns: 1fr repeat(4, 2fr);
  }
}
.agenda-grid > div,
.agenda-grid a {
  padding: 0.5rem;
}
.agenda-grid .filler {
  background-color: #FFFFFF26;
}
.agenda-grid .half {
  color: #FFFFFF80;
  position: relative;
}
.agenda-grid .half:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  left: calc(100% - 30px);
  height: 0.5rem;
  border-bottom: 1px solid #FFFFFF80;
}
.agenda-grid .hour {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 0;
  padding: 0;
}
.agenda-grid .hour > div {
  padding: 0.5rem 0.5rem 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.day-one:not(.active-day),
.day-two:not(.active-day) {
  display: none;
}

@media (max-width: 992px) {
  .gc-2:not(.active-stage),
.gc-3:not(.active-stage),
.gc-4:not(.active-stage),
.gc-5:not(.active-stage) {
    display: none;
  }
}

.gc-1 {
  grid-column: 1;
  background-color: #FFFFFF1A;
  opacity: 1;
  text-align: left;
  padding-bottom: 0;
}

.gc-2 {
  grid-column: 2;
  background-color: #58B6B2;
}
.gc-2.bg-grn-opct-75 {
  background-color: #58B6B266;
}

.gc-3 {
  grid-column: 3;
  background-color: #A49BC4;
}
@media (max-width: 992px) {
  .gc-3 {
    grid-column: 2;
  }
}
.gc-3.bg-ppl-opct-75 {
  background-color: #A49BC466;
}

.gc-4 {
  grid-column: 4;
  background-color: #BC6E76;
}
@media (max-width: 992px) {
  .gc-4 {
    grid-column: 2;
  }
}
.gc-4.bg-red-opct-75 {
  background-color: #BC6E7666;
}

.gc-5 {
  grid-column: 5;
  background-color: #e3b16d;
}
@media (max-width: 992px) {
  .gc-5 {
    grid-column: 2;
  }
}
.gc-5.bg-gld-opct-75 {
  background-color: #e3b16d66;
}

.chat-placeholder:not(.loaded) {
  background: url(/assets/images/loading.gif) no-repeat center center;
}

#matchmaking:not(.active-tab),
#all-chat:not(.active-tab) {
  display: none;
}

.exhibitor-tab {
  color: #CFD1D3;
  border-bottom: 3px solid #CFD1D3;
}
.exhibitor-tab:hover {
  color: #FFF;
  opacity: 0.8;
}
.exhibitor-tab.active {
  color: #FFF;
  border-bottom: 3px solid #58B6B2;
}

#nav-calendar {
  --fc-non-business-color: #58B6B24D;
  --fc-border-color: #33485F;
  --fc-button-bg-color: #5D6570;
  --fc-button-text-color: #fff;
  color: #FFF;
}
#nav-calendar .fc-scrollgrid-sync-inner {
  line-height: 50px;
  text-transform: uppercase;
}
#nav-calendar .fc-col-header-cell-cushion {
  color: #FFF;
  text-decoration: none;
}
#nav-calendar .fc-non-business {
  background: #58B6B24D;
}
#nav-calendar .fc-daygrid-day.fc-day-today {
  background: #58B6B266;
}
#nav-calendar .fc-timegrid-col.fc-day-today {
  background: #58B6B266;
}
#nav-calendar .fc-view-harness {
  background: #FFFFFF1A;
}

#exhibitor-search:not(:placeholder-shown),
#speaker-search:not(:placeholder-shown),
#sponsor-search:not(:placeholder-shown) {
  font-family: "Abel Pro";
}

.exhibitor-content h3 {
  margin-bottom: 1.5em;
  text-transform: uppercase;
}
.exhibitor-content h3 > strong {
  border-bottom: 3px solid #58B6B2;
}

.object-cover {
  object-fit: cover;
}
