html {
  font-size: 87.5%;
}

body {
  margin: 0;
}

picture {
  max-width: 100%;
  height: auto;
}

picture img {
  max-width: inherit;
  height: inherit;
}

a[target="_blank"]::after {
  content: none !important;
}

#obsMap {
  width: 70vw;
  height: 500px;
  /* or any height that works for your layout */
  display: none;
  /* hidden by default */
  margin: 0 auto;
  /* center it horizontally if needed */
}

/* Show the map */
#obsMap.active {
  display: block;
}

.img {
  max-width: 100%;
  height: auto;
}

img.varimage {
  width: 100%;
  max-width: 800px;
  max-height: 200px;
  object-fit: contain;
}

img.siteimage {
  position: fixed;
  top: 36px;
  z-index: -9;
  width: 100%;
  max-width: 20vw;
  height: 100%;
  object-fit: cover;
  margin: 0px;
  padding: 0px;
}

img.sitecoverimage {
  float: left;
  z-index: -9;
  width: 15vw;
  min-width: 100px;
  max-width: 20vw;
  height: 100%;
  object-fit: cover;
  margin: 0px;
  padding: 0px;
}

img.check-bullets {
  width: 90%;
  max-width: 572px;
  min-height: 60px;
  height: auto;
  object-fit: contain;
}

.container {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.image {
  opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

.middle {
  transition: .5s ease;
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}

.container:hover .middle {
  opacity: 100;
}

.container img:hover {
  border: solid 1px #ff5f65;
  /*opacity: 0.3;*/
}

.text {
  background-color: var(--bs-secondary-bg);
  color: var(--bs-secondary-color);
  font-size: 16px;
  padding: 0 0.5em;
}

div.page-content {
  display: block;
}

div.page-content:target {
  display: block;
}

span.tags {
  display: inline-block;
  border: 1px solid #000000;
  /* Optional: Add a border */
  border-radius: 3px;
  /* Adjust the radius to make the corners roundish */
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
  /* Optional: Add a shadow for a 3D effect */
  justify-content: center;
  align-items: center;
  text-align: center;
  /* Optional: Center text within the div */
}

/*********************************************
 * TOP MENU / NAV
 *********************************************/

.topnav {
  overflow: hidden;
  background-color: rgb(134, 179, 219);
}

.topnav a {
  text-decoration: none;
  margin: 3px 2px 1px 2px;
  padding: 3px;
  float: left;
  color: black;
  text-align: center;
  font-size: 17px;
}

.topnav a:hover {
  background-color: white;
  color: black;
  margin-bottom: 0;
  border: solid;
  border-width: 0 0 3px 0;
  border-color: white;
}

.topnav a.active {
  background-color: rgb(75, 145, 207);
  color: white;
  margin: 3px 3px 0 3px;
  border: solid;
  border-width: 0 0 3px 0;
  border-color: rgb(75, 145, 207);
}

.subtopnav {
  background-color: rgb(133, 218, 210);
}

.subtopnav a.active {
  background-color: rgb(127, 155, 152);
  border-color: rgb(127, 155, 152);
}

.nav-link.active {
  font-weight: bold;
  color: #000;
  /* Optional: makes the text color more prominent */
}

/*********************************************
 * SECTIONS
 *********************************************/

.hidden {
  display: none;
}

div .department {
  margin-bottom: 6px;
  border: solid;
  border-width: 0 1px 1px 0;
  border-color: black;
}

div .department a {
  text-decoration: none;
  margin: 3px 2px 1px 2px;
  padding: 3px;
  color: black;
  text-align: center;
  font-size: 1.17em;
  text-transform : uppercase;
}

div .department a:hover {
  font-weight: bold;
}

div .department .sections div {
  display: inline-block;
  vertical-align: top;
}

/*********************************************
 * POSITIONAL
 *********************************************/

.xycenter {
  margin: 0;
  position: relative;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/*********************************************
 * IMAGE TOOLS
 *********************************************/
 /* Style the Image Used to Trigger the Modal */
 #myImg {
  border-radius: 5px;
  cursor: pointer;
  transition: 0s;
}

#myImg:hover {opacity: 0.7;}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 9999; /* Sit on top */
  top: 0;
  left: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto;  /*Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.8); /* Black w/ opacity */
}

/* Modal Content (Image) */
.modal-content {
  /*margin: auto;*/
  /*border: solid blue;*/
  padding: 0px;
  display: block;
  max-width: 95%;
  max-height: 95%;
  /*margin: 0px;*/
  object-fit: scale-down;
  /*vertical-align: center;*/
}

/* Close button (X) */
.modal-content .close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 22px;
  font-weight: bold;
  color: #999;
  cursor: pointer;
  transition: color 0.2s ease;
}

.modal-content .close:hover {
  color: #666;
}

/* Form styles */
.modal-content form {
  display: flex;
  flex-direction: column;
}

.modal-content label {
  margin-left: 0.5ex;
  margin-bottom: 5px;
  font-weight: 500;
  color: #333;
}

.modal-content input {
  padding: 0.5ex;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  transition: border-color 0.2s ease;
}

.modal-content input:focus {
  border-color: #0066cc;
  outline: none;
}

.modal-content button {
  padding: 10px;
  margin: 0 0.5ex 1ex 0.5ex;
  background-color: #0066cc;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.modal-content button:hover {
  background-color: #004c99;
}

/* Caption of Modal Image (Image Text) - Same Width as the Image */
#caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  height: 150px;
}

/* The Close Button *
.close {
  position: absolute;
  top: 10px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}*/

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
  .modal-content {
    width: 100%;
  }
}

/*********************************************
 * DATA TOOLTIPS
 *********************************************/

 a[data-tooltip]{
  color:#444;
  border:#fec0c3 1px solid;
  position:relative;
  padding:0.15em 0.25em
}
a[data-tooltip]:hover{
  cursor:default;
  color:#ff5f65;
  border-color:#ff5f65
}
a[data-tooltip]:hover:after{
  content:attr(data-tooltip);
  position:fixed;
  z-index:5;
  background:#ff5f65;
  color:white;
  font-family:'TIActuBetaMono-Regular_web', 'Consolas', 'Andale Mono', monospace;
  font-style:normal;
  font-weight:normal;
  word-spacing:-0.2em;
  font-size:0.8em;
  line-height:1.27273;
  letter-spacing:.02em;
  padding:15px 20px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  bottom:20px;
  left:20px;
  right:20px;
  box-sizing:border-box
}@media all and (min-width: 500px){a[data-tooltip]:hover:after{bottom:40px;left:40px;right:40px}}@media all and (min-width: 800px){a[data-tooltip]:hover:after{right:calc(25% + 20px)}}@media all and (min-width: 1200px){a[data-tooltip]:hover:after{position:absolute;width:200px;bottom:auto;left:auto;right:auto;margin-top:-1px;margin-left:0.25em}}
