/*Home Page CSS*/
:root { 
/* --bs-body-color: #333333; */
--bs-body-font-family: "Ubuntu";
--transition-speed: 0.4s; /*to ease in the light/dark mode */
}
html {
  scroll-padding-top: 100px; /*height of the top navbar*/
  transition: /*to ease in the light/dark mode */
    background-color var(--transition-speed) ease,
    color var(--transition-speed) ease,
    border-color var(--transition-speed) ease,
    background var(--transition-speed) ease;
}
body {
  scroll-padding-top: 80px;
  margin-bottom: 0px;
  padding-bottom: 0px;
}
/* Optional: smooth transitions for common elements */
body, .card, .navbar, .dropdown-menu, .btn, .text-bg-light, .text-bg-dark {
  transition:
    background-color var(--transition-speed) ease,
    color var(--transition-speed) ease,
    border-color var(--transition-speed) ease,
    box-shadow var(--transition-speed) ease;
}
* {
  box-sizing: border-box;
  border: none;
}
hr {
width:40%;
margin: 30px auto 40px auto;
}  
.hidden {
display:none;
}
.no-decoration {
  text-decoration: none !important;
}
.display-4, .display-5  {
  font-family: "Ubuntu";
  letter-spacing: -1.5px;
}
h2, h3 {
  letter-spacing: -0.75px;
}
h3.narrow {
  font-family: "PT Sans Narrow";
  letter-spacing: 0px !important;
}
h2 {
    margin-bottom: 20px;
}
.bold {
  font-weight: 700;
}
.redletter {
  color: rgb(196, 1, 1);
}
/* Dark mode override */
[data-bs-theme="dark"] .redletter {
  color: #fa9908; /* a lighter, softer red for dark backgrounds */
}
.dropcap {
font-size: 3.9rem;
float: left;
position: relative;
top: -2px;
line-height: 1;
text-decoration: underline rgba(216, 7, 0, 0.95);
margin-bottom: 0rem;
padding: 0 6px 12px 0;
}

figcaption {
  text-align:center;
  font-style: italic;
  margin: 10px 0 25px 0;
}
.pullquote {
  font-size: 22px;
  font-weight: 300;
  padding: 15px 20px 15px 20px;
  border-top: 1px solid rgb(29, 29, 29);
  border-bottom: 1px solid rgb(29, 29, 29);
  margin: 40px 0 40px 0;
}
#qr {
  max-width: 540px;
  margin: 0 auto 0 auto;
}
/* Default: Light mode */
main a:link {
  color:  #0041A3 !important;
  text-decoration: none !important;
  font-weight: 400;
}
/* Dark mode override */
[data-bs-theme="dark"] main a:link {
  color: #5d9cfa !important;
}
main a:visited {
  color: #00750C !important;
}
/* Dark mode override */
[data-bs-theme="dark"] main a:visited {
  color: #01b113 !important;
}
main a:hover, 
main a:active {
  color: #75002F !important;
  background-color: transparent !important;
}
/*---------------------------------*/
/* Scroll to content */
/* Effect used for #scroll-to-content */
@keyframes pulsate {
    0% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.3;
    }
}
#scroll-to-content {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 5;
    cursor: pointer;
    height: 1.5em;
    width: 3.5em;
    font-size: 16px;
    font-size: 1rem;
    overflow: hidden;
    opacity: 0.5;
    transform: translateX(-50%);
    animation: pulsate 1.5s ease-out infinite;
}
#scroll-to-content:before {
    content: "";
    display: block;
    position: absolute;
    left: 15px;
    bottom: 10px;
    height: 30px;
    width: 30px;
    border: 5px solid #fff;
    transform: rotate(45deg);
}
#scroll-to-content:hover {
    opacity: 1;
}
#scroll-to-content {
  scroll-padding-top: 150px;
}
.screen-reader-text {
  clip: rect(1px,1px,1px,1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
/*----- Hero Button ---------*/
.hero-button {
    display: block;
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; 
    height: fit-content;
    width: fit-content;
    background-color: rgba(0,0,0,0.6);
    z-index: 100; 
}
.hero-button-text {
    font-family: "PT Sans Narrow", sans-serif; 
    font-size: 18px;
    line-height: 1;
    font-weight: 300; 
    font-style: normal;
    color: white;
    /* text-shadow: 2px 1px 5px black; */
    padding: 8px 12px 8px 12px;
    margin-bottom: 0px;
}
.hero-button:hover {
  background-color: rgba(29, 70, 70, 0.95);
}

.hero-button:hover .hero-button-text {
  color: aqua;
}
/*-----Bread Crumbs------*/
.breadcrumbs {margin-bottom: 30px;}

/*---------------------------------*/
/* Content below featured image */
.container, .container-lg {
  padding-bottom: 80px;
}
section {
    margin-bottom: 60px;
}
/*---------------------------------*/

.hyperlinkedLists li {
        line-height: 2;
    }
dt {
    margin-bottom: 5px;
}
dd {
    padding-left: 15px;
    margin-bottom: 30px;
}
/*---Embeded Videos, Responsive----*/
.maxWidth800 {
max-width: 800px;
}
.videowrapper {
position: relative;
padding-bottom: 56.25%;
/* 16/9 ratio */
height: 0;
}
.videowrapper iframe {
position: absolute;
width: 100%;
height: 100%;
}
/*-----Protected Image-------*/
/*Properties of the photo-container*/
.protected-image-container {
    width: fit-content; 
    position: relative; /* Crucial for absolute positioning of overlay */
    display: inline-block;
}
/* Properties of the Photo */
.protected-image-container img {
    display: block;
    max-width: 95%;
    height: auto;
    width: 100%;
    margin: 0 auto 0 auto;
    border-radius: 8px; /* optional aesthetic touch */
    box-shadow: 5px 7px 9px rgba(0,0,0,0.7); /* optional */
}

/* On smaller screens */
@media (max-width: 540px) {
    .protected-image-container { 
        max-width: 375px;
    } 
}
/*Transparent Overlay Styles */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Make the background completely transparent */
    background-color: transparent; 
    z-index: 10; /* Ensure it's on top of the image */
    /* Ensures the overlay captures the right-click event */
    pointer-events: auto; 
}
/* Responsive Design */
@media (min-width: 540px) {
.hero-button {
  display: none;
} 
}
