@font-face {
  font-family: PlusJakartaSans;
  src: url(lib/PlusJakartaSans-VariableFont_wght.ttf);
  font-style: normal;
}

@font-face {
  font-family: PlusJakartaSans;
  src: url(lib/PlusJakartaSans-Italic-VariableFont_wght.ttf);
  font-style: italic;
}

.fontregular {
  font-family: "PlusJakartaSans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.fontbold {
  font-family: "PlusJakartaSans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.fontitalic {
  font-family: "PlusJakartaSans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: italic;
}

b {
  font-weight: 600;
}

* {
  font-synthesis: small-caps !important;
}

div.email > span:nth-child(2) {
  display: none;
}

body,
p {
  font-family: "PlusJakartaSans", sans-serif;
  word-spacing: 2px;
  font-weight: 300;
  font-size: 0.92em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "PlusJakartaSans", sans-serif;
  word-spacing: 2px;
  font-weight: 600;
  font-size: 1.2em;
}

li {
  margin: 0.5em;
}

body,
html {
  scroll-behavior: smooth;
  background-color: Black;
  height: 100%;
  line-height: 1.3;
}

.w3-bar .w3-button {
  padding: 16px;
}

.w3-bar a.active {
  border-bottom: 5px solid rgb(233, 30, 99);
  font-weight: 600;
}

div.reduce {
  font-size: 0.9em;
}

span.reduce {
  font-size: 0.9em;
}

a:link {
  text-decoration: none;
  color: #2196F3;
}

a:visited {
  text-decoration: none;
  color: #2196F3;
}

a:hover {
  color: rgb(233, 30, 99);
  /* opacity: 0.6; */
  text-decoration: none;
  transition: 0.3s
}

a.one_icon:hover {
  opacity: 0.6;
  text-decoration: none;
  transition: 0.3s
}

a:active {
  color: #2196F3;
  text-decoration: none;
}

a.anchor {
  display: block;
  position: relative;
  top: -70px;
  visibility: hidden;
}

a.doi{
  background-image: url("icons/doi.svg");
  background-repeat: no-repeat;
  text-decoration: none;
}

a.doi:hover {
  background-image: url("icons/doi_pink.svg");
  transition: 0.3s
}

#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  font-size: 18px;
  border: none;
  outline: none;
  background-color: grey;
  color: white;
  cursor: pointer;
  padding: 15px;
  border-radius: 4px;
}

#myBtn:hover {
  background-color: lightgrey;
  transition: 0.3s;
}

@media screen and (min-width: 992px) {
  div.rescale {
    font-size: 1.2em;
  }
  div.rescalesmall {
    font-size: 1.1em;
  }
}

@media screen and (max-width: 991px) {
  div.rescale {
    font-size: 1.1em;
  }
  div.rescalesmall {
    font-size: 1em;
  }
}

@media screen and (max-width: 600px) {
  div.col-carousel {
  padding-left: 5px; 
  padding-right: 5px;
  }
  .flickity-button {
  display: none;
  }
}

@media only screen and (max-width: 991px) {
  div.bordersep {
    border-left: 0px solid !important;
  }
}

@media only screen and (min-width: 992px) {
  div.bordersep {
    border-top: 0px solid !important;
  }
}

@media only screen and (min-height: 800px) and (max-height: 850px) {
  div.fillspace {
    height: 500px;
  }
}

@media only screen and (min-height: 851px) {
  div.fillspace {
    height: 550px;
  }
}

.short-text {
  display: none;
}

@media (max-width: 1100px) {
  .short-text {
    display: inline-block;
  }

  .full-text {
    display: none;
  }
}

/* Flickity Customizations */
.col-carousel {
  padding-left: 40px; 
  padding-right: 40px;
}

.main-carousel {
  max-width: 440px;
  margin: auto;
}

.carousel-cell {
  width: 100%;
  height: auto;
  margin-right: 10px;
  counter-increment: carousel-cells;
  position: relative;
  /* Needed for absolute positioning of caption */
}

.carousel-cell img {
  width: 100%;
  height: auto;
  display: block;
}

.flickity-caption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.80);
  color: white;
  padding: 16px;
  box-sizing: border-box;
  /* Include padding in the width */
}

.flickity-page-dots .dot {
  width: 12px;
  height: 12px;
  opacity: 0.6;
  background: gray;
  margin: 0 4px;
  transition: all 0.3s ease;
}

.dot:hover {
  background: #2196F3;
  opacity: 1;
  text-decoration: none;
  transition: 0.3s;
}

.flickity-page-dots .dot.is-selected {
  background: rgb(233, 30, 99);
  /* Pink color from your active navbar */
  border-color: rgb(233, 30, 99);
}

/* .flickity-button {
  display: none;
} */
/* smaller, dark, rounded square */
.flickity-button {
  background: grey;
  opacity: 0.6;
}
.flickity-button:hover {
  background: rgb(233, 30, 99);
  opacity: 1;
}

.flickity-prev-next-button {
  width: 22px;
  height: 22px;
}
/* icon color */
.flickity-button-icon {
  fill: white;
}
/* position outside */
.flickity-prev-next-button.previous {
  left: -30px;
}
.flickity-prev-next-button.next {
  right: -30px;
}

/* --- Go to Top Button Style --- */

#myBtn {
  opacity: 0.6; /* Set the default transparency */
  background-color: #000; /* A neutral black background */
  transition: opacity 0.3s, background-color 0.3s; /* Add a smooth transition effect */
}

#myBtn:hover {
  opacity: 1; /* Make the button fully opaque on hover */
  background-color: #2196F3; /* Set the background to blue on hover */
}


/* --- Custom Speaker Link Style for Carousel --- */
.flickity-caption a.speaker-link:link,
.flickity-caption a.speaker-link:visited {
  color: #2196F3; /* Blue */
  text-decoration: none;
}

.flickity-caption a.speaker-link:hover {
  color: rgb(233, 30, 99); /* Pink */
}

/* Set font weight for the speaker list */
.speaker-list {
    font-weight: 600;
}
