@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
}

.phone-page{
    display: none;
}

@media only screen and (max-width: 850px ){
    .pc-page{
        display: none;
    }

    .phone-page{
        display: block;
    }

      header {
    flex-direction: column;
    align-items: flex-start; /* left-align title + nav */
    gap: 12px;               /* space between title and nav */
  }

  header h1 {
    text-align: center;
    width: 100%;             /* prevent floating in the middle */
  }

  nav ul {
    flex-wrap: wrap;
    justify-content: center
  }

}

@media only screen and (max-width: 600px) {
  .tooltip .tooltip-text {
    width: auto !important;    /* force override of 200px */
    max-width: 90vw !important;/* shrink only on small screens */
  }
}


body {
      font-family: Georgia, serif;
      margin: 0;
      padding: 0;
      color: #222;
      background-color: rgb(251, 251, 250);
    }

    .container {
      max-width: 920px;
      margin: 0 auto;
      padding: 0 20px;
    }

    .heading {
    margin: 0 auto;
    line-height: 1.6;
    }

    .bar-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 40px 0 20px;
      margin-bottom: 10px;
      flex-wrap: wrap;
      gap: 10px;
    }

     .heading header{
      padding: 20px;
      background-color: white;
      border-style: solid;
      border-color: #F3F4F5;
      border-width: 1.5px;
    }

    .heading header h1 {
      font-size: 1.63rem;
      margin: 0;
      flex: 1 1 auto;
    }

    nav {
      flex: 0 0 auto;
    }

    nav ul {
      list-style: none;
      display: flex;
      flex-wrap: wrap; /* allows wrapping on small screens */
      gap: 16px;
      margin: 0;
      padding: 0;
    }

    nav a {
      text-decoration: none;
      color: #000;
      font-size: 0.95rem;
    }
    .sub-heading{
        line-height: 0px;
    }


.pc-page .page{
    width: 880px;
    background: #fff;
    padding: 20px;
    overflow-y:unset;
    padding-top: 35px;
    margin-top: 5px;
    margin-bottom: 20px;
    border-style: solid;
    border-color: #F3F4F5;
    border-width: 1.5px;
}

.pc-page .page::-webkit-scrollbar{
    display: none;
}

.pc-page .page .page-text h1{
    padding-top: 30px;
    padding-left: 20px;
    font-style: italic;
    font-weight: bold;
}

.pc-page .page .page-text p{
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

.pc-page .page .page-text .long-bar{
    border: none;
    height: 1px;
    width: 760px;
    background-color: black;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: -10px;
}

.pc-page .page .page-text .hr1 hr{
    border: none;
    margin-top: 11px;
    height: 1px;
    width: 760px;
    background-color: black;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    margin-right: 20px;
}

.pc-page .page .page-text .sub-title{
    font-size: 10px;

}

.pc-page .page .page-text .body-text p{
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

.pc-page .page .page-text .page-content .body-text{
    width: auto;
    display: inline-block;
    vertical-align: top;

}

.pc-page .page .page-text .page-content{
    display: block;

}

.pc-page .page .page-text .body-text h1{
    font-style: normal;
    font-weight: normal;
}

.pc-page .page .page-text .body-text .small-bar{
    width: 500px;
}

.pc-page .page .page-text .body-text .long-bar{
    width: 760px;
}

.pc-page .page .page-content .body-text .figure-1{
    width: 700px;
    margin-left: 50px;
    margin-top: 20px;
}


.pc-page .page .page-content .body-text .figure-caption{
    font-size: 13px;
    text-align: center;
}

.pc-page .page .page-text .page-content .species-box{
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
    width: 240px;
    height: auto;
    background-color: rgb(251, 251, 250);
    border-style: solid;
    border-color: #F3F4F5;
    border-width: 1.5px;
    margin-top: 20px;
    padding: 15px;
    margin-right: 20px;
}

.pc-page .page .page-text .species-box .species-name{
    font-size: 18px;
    font-style: italic;
    font-weight: normal;
}

.pc-page .page .page-text .species-box .species-img img{
    width: 200px;
    height: 200px;
    border-radius: 15px;
    margin-top: 10px;
    margin-left: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box{
    display: flex;
    gap: 0px;
}


.pc-page .page .page-text .species-box .scientific-classification .order-box{
    width: 120px;
    height: 210px;
}

.pc-page .page .page-text .species-box .scientific-classification .phylo-box{
    width: 120px;
    height: 210px;
}

.pc-page .page .page-text .species-box .scientific-classification .title{
    font-size: 15px;
    font-weight: bold;
    margin-top: 5px;
    background-color: rgb(238, 238, 237);
    border-radius: 5px;
    padding: 4px;
}

.pc-page .page .page-text .species-box .scientific-classification .kingdom{
    font-size: 15px;
    font-weight: normal;
    margin-top: 10px;
}

.pc-page .page .page-text .species-box .scientific-classification .phylum{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .class{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .order{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .family{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tribe{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .genus{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .subgenus{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .species{
    font-size: 15px;
    font-style: normal;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .binomial-name{
    font-size: 15px;
    font-style: normal;
    font-weight: bold;
    margin-top: 10px;
    background-color: rgb(238, 238, 237);
    border-radius: 5px;
    padding: 4px;
}

.pc-page .page .page-text .species-box .scientific-classification .species-id{
    font-size: 15px;
    font-style: italic;
    font-weight: bold;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .kingdom-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 10px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .phylum-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .class-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .order-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .family-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .tribe-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .genus-name{
    font-size: 15px;
    font-style: italic;
    font-weight: normal;
    margin-top: 5px;
}

.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .subgenus-name{
    font-size: 15px;
    font-style: italic;
    font-weight: normal;
    margin-top: 5px;
}


.pc-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .species-name{
    font-size: 15px;
    font-style: italic;
    font-weight: bold;
    margin-top: 5px;
}

.phone-page .page{
    width: 100%;
    background: #fff;
    padding: 20px;
    padding-top: 35px;
    margin-top: 20px;
    margin-bottom: 20px;
    border-style: solid;
    border-color: #F3F4F5;
    border-width: 1.5px;
}

.phone-page .page::-webkit-scrollbar{
    display: none;
}

.phone-page .page .page-content{
    justify-content: center;
}


.phone-page .page .page-text h1{
    padding-top: 30px;
    padding-left: 20px;
    font-style: italic;
    font-weight: bold;
}

.phone-page .page .page-text p{
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

.phone-page .page .page-text .long-bar{
    border: none;
    height: 1px;
    width: 95%;
    background-color: black;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: -10px;
}

.phone-page .page .page-text .hr1 hr{
    border: none;
    margin-top: 11px;
    height: 1px;
    width: 95%;
    background-color: black;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    margin-right: 20px;
}

.phone-page .page .page-text .sub-title{
    font-size: 10px;

}

.phone-page .page .page-text .body-text p{
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

.phone-page .page .page-text .body-text{
    width: 100%;
    margin-top: 10px;

}

.phone-page .page .page-text .page-content .species-box-parent{
    display: grid;
    justify-content: center;
    align-items: center;
}

.phone-page .page .page-text .page-content{
    display: grid;
    gap: 0px;

}

.phone-page .page .page-text .body-text h1{
    font-style: normal;
    font-weight: normal;
}

.phone-page .page .page-text .body-text .small-bar{
    width: 75%;
}

.phone-page .page .page-text .body-text .long-bar{
    width: 75%;
}

.phone-page .page .page-content .body-text .figure-1{
    width: 100%;
    margin-top: 10px;
}

.phone-page .page .page-content .body-text .figure-caption{
    font-size: 13px;
    text-align: center;
}

.phone-page .page .page-text .species-box{
    width: auto;
    height: auto;
    background-color: rgb(251, 251, 250);
    border-style: solid;
    border-color: #F3F4F5;
    border-width: 1.5px;
    margin-top: 20px;
    padding: 15px;
}

.phone-page .page .page-text .species-box .species-name{
    font-size: 18px;
    font-style: italic;
    font-weight: normal;
}

.phone-page .page .page-text .species-box .species-img img{
    width: 200px;
    height: 200px;
    border-radius: 15px;
    margin-top: 10px;
    margin-left: 40px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box{
    display: flex;
    gap: 0px;
    margin-left: 40px;
}


.phone-page .page .page-text .species-box .scientific-classification .order-box{
    width: 120px;
    height: 210px;
}

.phone-page .page .page-text .species-box .scientific-classification .phylo-box{
    width: 120px;
    height: 210px;
}

.phone-page .page .page-text .species-box .scientific-classification .title{
    font-size: 15px;
    font-weight: bold;
    margin-top: 5px;
    background-color: rgb(238, 238, 237);
    border-radius: 5px;
    padding: 4px;
}

.phone-page .page .page-text .species-box .scientific-classification .kingdom{
    font-size: 15px;
    font-weight: normal;
    margin-top: 10px;
}

.phone-page .page .page-text .species-box .scientific-classification .phylum{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .class{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .order{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .family{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tribe{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .genus{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .subgenus{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .species{
    font-size: 15px;
    font-style: normal;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .binomial-name{
    font-size: 15px;
    font-style: normal;
    font-weight: bold;
    margin-top: 15px;
    background-color: rgb(238, 238, 237);
    border-radius: 5px;
    padding: 4px;
}

.phone-page .page .page-text .species-box .scientific-classification .species-id{
    font-size: 15px;
    font-style: italic;
    font-weight: bold;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .kingdom-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 10px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .phylum-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .class-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .order-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .family-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .tribe-name{
    font-size: 15px;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .genus-name{
    font-size: 15px;
    font-style: italic;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .subgenus-name{
    font-size: 15px;
    font-style: italic;
    font-weight: normal;
    margin-top: 5px;
}

.phone-page .page .page-text .species-box .scientific-classification .tax-box .phylo-box .species-name{
    font-size: 15px;
    font-style: italic;
    font-weight: bold;
    margin-top: 5px;
}

.tooltip {
      position: relative;
      border-bottom: 1px dashed #333;
      cursor: default;
    }

    .tooltip .tooltip-text {
  visibility: hidden;
  opacity: 0;
  width: 200px;             /* keep fixed width for desktop */
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 6px;
  border-radius: 6px;

  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  transition: opacity 0.3s;
  white-space: normal;      /* allow wrapping if needed */
  word-wrap: break-word;
}


    .tooltip:hover .tooltip-text {
      visibility: visible;
      opacity: 1;
    }

    .tooltip .tooltip-text::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -5px;
      border-width: 5px;
      border-style: solid;
      border-color: #333 transparent transparent transparent;
    }

@media print {
  .species-box,
  .small-bar,
  .long-bar,
  .binomial-name,
  .title {
    display: block !important;
    visibility: visible !important;
  }
  

  .home-button {
    display: none !important;
    visibility: hidden !important;
  }



  body,
  .page,
  .page-text,
  .page-content {
    background: none !important;
  }

  .tooltip{
    border-bottom: none;
  }


  .species-box {
    background-color: rgb(251, 251, 250);
    border-style: solid;
    border-color: #F3F4F5;
    border-width: 1.5px;
    display: block;
    float: none;
  }

  .binomial-name{
    background-color: rgb(238, 238, 237);
  }

  .title{
    background-color: rgb(238, 238, 237);
  }


  .long-bar,
  .small-bar {
    background-color: black !important;
  }

    h1 {
    margin-top: 10px !important;
    padding-top: 0 !important;
  }

  .long-bar, .small-bar {
    margin-top: 5px !important;
  }

  @page {
    size: A4 portrait;
    margin:20mm;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color: initial !important;
  }

  header, nav, .sticky, .fixed {
    position: static !important;
  }
}


.overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.overlay-content {
  background: #fff;
  border-radius: 8px;
  max-width: 80%;
  max-height: 80%;
  padding: 1rem;
  text-align: center;
  overflow: auto;
}

.overlay-content img {
  max-width: 100%;
  max-height: 400px;
  object-fit: contain;
  margin-bottom: 1rem;
  border-radius: 5px;
}

.close-btn {
  background: #333;
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  cursor: pointer;
  margin-top: 1rem;
}

#overlayCaption a {
  color: #000;           /* black text */
  font-weight: 700;      /* make *all* text bold, including the arrow */
  text-decoration: none; /* remove underline */
}

#overlayCaption a:hover {
  opacity: 0.7;          /* subtle hover effect */
}