/* Default Page CSS*/
:root { 
    --bs-body-bg: #d6d6d6;      /* Light mode background */
    --bs-body-color: #171717;   /* Light mode text */
    /* Dark mode overrides are placed outside :root */
    /*default font*/
    --bs-body-font-family: "Lato", sans-serif;
    /*default sans-serif font (all headings)  */
    --bs-font-sans-serif: "Lato", sans-serif;
    --transition-speed: 0.4s; /*to ease in the light/dark mode */
}
/* Dark mode overrides placed outside :root*/
[data-bs-theme="dark"] {
  --bs-body-bg: #121212;
  --bs-body-color: #e0e0e0;
}
html {
  font-size: 20px;
  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;
}
/* Default: Light mode */
main a:link {
  color:  #A51C30 !important;
  text-decoration: none !important;
  background-color: transparent;
  font-weight: 400;
}
/* Dark mode override */
[data-bs-theme="dark"] main a:link {
  color: #E14C62 !important;
}
main a:visited {
  color: #188C7A !important;
  background-color: transparent;
  text-decoration: none;
}
/* Dark mode override */
[data-bs-theme="dark"] main a:visited {
  color: #1CA590 !important;
}
main a:hover, 
main a:active {
  color: #75002F !important;
  background-color: transparent !important;
}
/*TEXT STYLING */
.hidden {display:none;}
.no-decoration {text-decoration: none !important;}
.display-4, .display-5  {
  font-family: "Lato";
  letter-spacing: -1.5px;
}
h2, h3 {
  letter-spacing: -0.5px;
}
h2 {
    margin-bottom: 20px;
}
/*CHARACTER STYLING */
.bold {
  font-weight: 700;
}
.emphasis {
    font-style: italic;
}
[data-bs-theme="dark"] .redletter {
  color: #fa9908;
  text-shadow: 2px 3px 3px rgb(0, 0, 0);
}
[data-bs-theme="light"] .redletter  {
  color: rgb(196, 1, 1);
}
[data-bs-theme="dark"] .highlight {
    color: rgb(254, 255, 209);
    background-color: rgba(114, 5, 5, 0.711);
}
[data-bs-theme="light"] .highlight {
    color: rgb(114, 5, 5);
    background-color: rgb(254, 255, 209);
}
.smallcaps {
    font-size: 1.1rem;
    font-style: regular;
    font-variant: all-small-caps;
    line-height: 1.6rem;
    line-height: var(--paraquote-line-height);
}
.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;
}
/*Font-awesome colors*/
.text-bg-primary {
  color:  white !important;
  background-color: #A51C30ff !important;
}
/*----- PARA STYLES -----*/
.noindent {
  text-indent: 0rem;
}
.firstpara {
  margin: 1.5rem 0rem 0.7rem 0rem; /*fallback for IE*/
  margin: var(--paragraph-margins-first);
  text-indent: 0rem;
}
.firstlineindent {
  text-indent: 0.9rem;
}
.lastpara {
  margin: 0.7rem 0rem 8rem 0rem; /*fallback for IE*/
  margin: var(--paragraph-margins-last);
  text-indent: 0.9rem;
}
.indented,
.indented p {
  font-size: 1.2rem;
  text-align: left;
  margin: 0.7rem 0rem 0.7rem 0rem; /*fallback for IE*/
  margin: var(--paragraph-margins);
  padding-left: 2.2rem;
}
.hangingindent {
  padding-left: 25px;
  text-indent: -25px;
  margin-top: 0.7rem;
  margin-bottom: 0.7rem;
  line-height: 1.6rem;
}

.shade {
  background-color: #dddddd;
  padding: 0.5rem 0% 0.5rem 0%;
}

figcaption {
  text-align:center;
  font-style: italic;
  margin: 10px 0 25px 0;
}
.pullquote {
  color: rgb(50, 50, 50);
  font-size: 22px;
  font-weight: 800;
  text-indent: 0rem;
  line-height: 1.9rem;
  max-width: 600px;
  text-align: center;
  margin: 40px 0 40px 0;
  border-top: 1px solid grey;
  border-bottom: 1px solid grey;
  padding: 1rem 1rem 1rem 1rem;  
}
.box {
  border: 5px double rgb(150, 150, 150);
  border-radius: 2%;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  padding-left: 1rem;
  padding-right: 1rem;
  margin: 2rem 0rem 2rem 0rem;
  /*background-color: rgba(212, 212, 212, 0.819);*/
}
#qr {
  max-width: 540px;
  margin: 0 auto 0 auto;
}
/*----- 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(223, 223, 223, 0.9);
}

.hero-button:hover .hero-button-text {
  color: #DC143C;
}
/* Responsive Design */
@media (min-width: 540px) {
.hero-button {
  display: none;
} 
}

/*-----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%;    
    display: block; 
    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; 
}
hr {
width:30%;
margin: 40px auto 40px auto;
}  

