@charset "utf-8";

/* CSS Document */
body,
html {
  font-size: 90%;
  /* font sizing in ems. If you want to change anything, just change this.*/
  color: #333333;
  line-height: 1.166;
  margin: 3px;
  padding: 3px;
  font-family: Verdana, Arial, Helvetica, sans-serif;
}

.top-container {
  background-color: #f1f1f1;
  padding: 65px;
  text-align: center;
}

.header {
  padding: 0.5px 16px;
  background: #6c7a10;
  color: #f1f1f1;
  z-index: 4;
  text-align: center;
  margin-top: 0px;
}

.contentsm {
  padding: 16px;
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}

.sticky+.contentsm {
  padding-top: 102px;
}

a:link {
  color: #006699;
  text-decoration: none;
}

a:visited {
  color: #006699;
  text-decoration: none;
}

a:hover {
  color: #006699;
  text-decoration: underline;
}

a.w:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

#masthead {
  padding: 10px 0px 0px 0px;
  border-bottom: 1px solid #cccccc;
  width: 100%;
}

#siteName {
  margin: 0;
  padding: 0 0 0 10px;
}

.hero-image {
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("../images/BHpano.png");
  height: 135px;
  /* Set a fixed height */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.hero-text {
  text-align: center;
  position: absolute;
  top: 50%;
  /* A slight adjustment for better vertical centering */
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  width: 100%;
  /* Make the container full-width */
}

#breadCrumb {
  font-size: medium;
  padding: 2px 0px 0 10px;
  letter-spacing: normal;
  color: #fff;

}

.hero-text a {
  font-size: small;
  color: white;
  text-decoration: none;
}

.hero-text a:hover {
  background-color: #fff;
  color: blue;
}

.grasstheme {
  color: #fff !important;
  background-color: #6c7a10 !important
}

.hover-grass:hover {
  color: #fff !important;
  background-color: #6c7a10 !important;
  font-size: 14px;
}

* {
  box-sizing: border-box;
}

.flex-container {
  display: flex;
  flex-direction: row;
  font-size: 12pt;
  text-align: center;
}

.flex-item-left {
  background-color: #f1f1f1;
  padding: 10px;
  flex: 50%;
  border: 1px solid black;
}

.flex-item-right {
  background-color: #f1f1f1;
  padding: 10px;
  flex: 50%;
  border: 1px solid black;
}

td.redb a {
  background-color: red;
  color: white;
}

td.amberb a {
  background-color: #FFBF00;
  color: black;
}

td.greenb a {
  background-color: green;
  color: white;
}

div.figure p.caption {
  text-align: center;
}

/* "caption" for short phrases; "legend" (default) is for continuous prose */

.full {
  width: 98%;
  height: auto;
  padding: 10px;
  margin: 0.67em auto;
}

/* "full" should be unnecessary, but this responds to the box model bugs in IE */
.ninety {
  width: 90%;
  height: auto;
  padding: 10px;
  margin: 0.67em auto;
}

.eighty {
  width: 80%;
  height: auto;
  padding: 10px;
  margin: 0.67em auto;
}

.seventyfive {
  width: 75%;
  height: auto;
  padding: 10px;
  margin: 0.67em auto;
}

.twothirds {
  width: 66%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.sixty {
  width: 60%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.half {
  width: 50%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.almosthalf {
  width: 43%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.twofifths {
  width: 40%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.third {
  width: 33%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.thirty {
  width: 29%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.quarter {
  width: 25%;
  height: auto;
  border: none;
  padding: 5px;
  margin: 0.25em 0.5em;
}

.fifth {
  width: 20%;
  height: auto;
  border: none;
  padding: 5px;
  margin: 0.25em 1%;
}

.fifteen {
  width: 15%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.tenth {
  width: 10%;
  height: auto;
  padding: 10px;
  margin: 0.5em 0.67em;
}

.right {
  float: right;
  margin-left: 2%;
}

.left {
  float: left;
  margin-right: 2%;
}

.w3-sidebar2 {
  height: 100%;
  width: 200px;
  background-color: #fff;
  position: fixed !important;
  z-index: 1;
  overflow: auto
}

.pagesidebar {
  height: 150px;
  width: 200px;
  background-color: #fff;
  position: fixed !important;
  z-index: 0;
  overflow: auto
}

/********* SIDE NAV BAR ***********/
a {
  color: #000;
}

li {
  list-style: none;
}

.panel-default>.panel-heading {
  color: #fff;
  background-color: #00436a;
  border-color: #ddd;
}

.panel-group .panel+.panel {
  margin-top: 0px;
}

.panel-group {
  margin-top: 35px;
}

.panel-collapse {
  background-color: rgba(220, 213, 172, 0.5);
}

.glyphicon {
  margin-right: 10px;
}

ul.list-group {
  margin: 0px;
}

ul.bulletlist0 li {
  text-align: left;
}

/* Apply styles directly to the parent container */
ul.bulletlist2 li {
  list-style: disc;
  text-align: left;
  -webkit-columns: 2;
  -moz-columns: 2;
  columns: 2;
  list-style-position: inside;
  /* this is important addition */
}

ul.bulletlist3 li {
  list-style: disc;
  text-align: left;
  columns: 100px 3;
}


ul.list-group li a {
  display: block;
  padding: 5px 0px 5px 15px;
  text-decoration: none;
}

ul.list-group li {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
}


ul.list-group li a:hover,
ul li a:focus {
  color: #fff;
  background-color: #00436a;
}

.panel-title a:hover,
.panel-title a:active,
.panel-title a:focus,
.panel-title .open a:hover,
.panel-title .open a:active,
.panel-title .open a:focus {
  text-decoration: none;
  color: #fff;
}

.panel-title>.small,
.panel-title>.small>a,
.panel-title>a,
.panel-title>small,
.panel-title>small>a {
  display: block;
}

@media (min-width: 768px) {
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
    padding-left: 0px;
  }
}

@media (min-width: 992px) {
  .menu-hide {
    display: none;
  }

}

.menu-hide .panel-default>.panel-heading {
  color: #fff;
  background-color: #8e8c8c;
  border-color: #ddd;
}

/********** END SIDEBAR *************/

/********** NAVBAR TOGGLE *************/

.navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-toggle {
  padding: 11px 10px;
  margin-top: 8px;
  margin-right: 15px;
  margin-bottom: 8px;
  background-color: #a32638;
  border-radius: 0px;
}

/********** END NAVBAR TOGGLE *************/

/* SpryAccordion.css - version 0.4 - Spry Pre-Release 1.6 */

/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */

/* This is the selector for the main Accordion container. For our default style,
 * we draw borders on the left, right, and bottom. The top border of the Accordion
 * will be rendered by the first AccordionPanelTab which never moves.
 *
 * If you want to constrain the width of the Accordion widget, set a width on
 * the Accordion container. By default, our accordion expands horizontally to fill
 * up available space.
 *
 * The name of the class ("Accordion") used in this selector is not necessary
 * to make the widget function. You can use any class name you want to style the
 * Accordion container.
 */
.Accordion {
  border-left: solid 1px gray;
  border-right: solid 1px black;
  border-bottom: solid 1px gray;
  overflow: hidden;
}

/* This is the selector for the AccordionPanel container which houses the
 * panel tab and a panel content area. It doesn't render visually, but we
 * make sure that it has zero margin and padding.
 *
 * The name of the class ("AccordionPanel") used in this selector is not necessary
 * to make the widget function. You can use any class name you want to style an
 * accordion panel container.
*/
.AccordionPanel {
  margin: 0px;
  padding: 0px;
}

/* This is the selector for the AccordionPanelTab. This container houses
 * the title for the panel. This is also the container that the user clicks
 * on to open a specific panel.
 *
 * The name of the class ("AccordionPanelTab") used in this selector is not necessary
 * to make the widget function. You can use any class name you want to style an
 * accordion panel tab container.
 *
 * NOTE:
 * This rule uses -moz-user-select and -khtml-user-select properties to prevent the
 * user from selecting the text in the AccordionPanelTab. These are proprietary browser
 * properties that only work in Mozilla based browsers (like FireFox) and KHTML based
 * browsers (like Safari), so they will not pass W3C validation. If you want your documents to
 * validate, and don't care if the user can select the text within an AccordionPanelTab,
 * you can safely remove those properties without affecting the functionality of the widget.
 */
.AccordionPanelTab {
  background-color: #CCCCCC;
  border-top: solid 1px black;
  border-bottom: solid 1px gray;
  margin: 0px;
  padding: 2px;
  cursor: pointer;
  background-image: url(../images/avi-gradient.gif);
  /* -moz-user-select: none;
-khtml-user-select: none;
*/
}

/* This is the selector for a Panel's Content area. It's important to note that
 * you should never put any padding on the panel's content area if you plan to
 * use the Accordions panel animations. Placing a non-zero padding on the content
 * area can cause the accordion to abruptly grow in height while the panels animate.
 *
 * Anyone who styles an Accordion *MUST* specify a height on the Accordion Panel
 * Content container.
 *
 * The name of the class ("AccordionPanelContent") used in this selector is not necessary
 * to make the widget function. You can use any class name you want to style an
 * accordion panel content container.
 */
.AccordionPanelContent {
  overflow: auto;
  margin: 0px;
  padding: 0px;
  height: 150px;
}

/* This is an example of how to change the appearance of the panel tab that is
 * currently open. The class "AccordionPanelOpen" is programatically added and removed
 * from panels as the user clicks on the tabs within the Accordion.
 */
.AccordionPanelOpen .AccordionPanelTab {
  background-color: #EEEEEE;
}

/* This is an example of how to change the appearance of the panel tab as the
 * mouse hovers over it. The class "AccordionPanelTabHover" is programatically added
 * and removed from panel tab containers as the mouse enters and exits the tab container.
 */
.AccordionPanelTabHover {
  color: #0CC;
}

.AccordionPanelOpen .AccordionPanelTabHover {
  color: #0CC;
  font-weight: bold;
}

/* This is an example of how to change the appearance of all the panel tabs when the
 * Accordion has focus. The "AccordionFocused" class is programatically added and removed
 * whenever the Accordion gains or loses keyboard focus.
 */
.AccordionFocused .AccordionPanelTab {
  background-color: #3399FF;
}

/* This is an example of how to change the appearance of the panel tab that is
 * currently open when the Accordion has focus.
 */
.AccordionFocused .AccordionPanelOpen .AccordionPanelTab {
  background-color: #33CCFF;
}

#mySidebar .jaccordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1px;
  font-size: 1rem;
  color: #EEEEEE;
  text-align: left;
  background-color: #fff;
  background-image: linear-gradient(blue, darkcyan);
  border: none;
  /* Corrected invalid border property */
  border-radius: 0;
  margin: 0;
  overflow-anchor: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  #mySidebar .jaccordion-button {
    transition: none;
  }
}

#mySidebar .jaccordion-button:not(.collapsed) {
  color: #ACBBF0; /* Use a light, readable blue */
  background-color: #9090ED;
  background-image: linear-gradient(blue, darkcyan); 
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}
#mySidebar .jaccordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}

#mySidebar .jaccordion-button::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.0rem;
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.0rem;
  transition: transform 0.2s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  #mySidebar .jaccordion-button::after {
    transition: none;
  }
}

#mySidebar .jaccordion-button:hover {
  z-index: 2;
  color: lightcyan;
}

#mySidebar .jaccordion-button:focus {
  z-index: 3;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.jaccordion-header {
  margin-bottom: 0;
}

.jaccordion-item {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}

.jaccordion-item:first-of-type {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.jaccordion-item:first-of-type .jaccordion-button {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.jaccordion-item:not(:first-of-type) {
  border-top: 0;
}

.jaccordion-item:last-of-type {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.jaccordion-item:last-of-type .jaccordion-button.collapsed {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.jaccordion-item:last-of-type .jaccordion-collapse {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.jaccordion-body {
  padding: 1rem 1rem;
}

.jaccordion-flush .jaccordion-collapse {
  border-width: 0;
}

.jaccordion-flush .jaccordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.jaccordion-flush .jaccordion-item:first-child {
  border-top: 0;
}

.jaccordion-flush .jaccordion-item:last-child {
  border-bottom: 0;
}

.jaccordion-flush .jaccordion-item .jaccordion-button {
  border-radius: 0;
}

.jnav-link {
  display: block;
  padding: 0;
  color: #0d6efd;
  text-decoration: none;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

h1 {
  color: white;
  /* This shadow has a bit more blur for a softer, clearer effect */
  text-shadow: 2px 2px 5px black;
}

.strike {
  text-decoration: line-through;
}

div.l {
  text-align: left;
}

div.l {
  text-align: left;
}

.child {
  width: 40%;
  padding: 2%;
  border: 4px solid red;
  margin: .5em auto;
}

.unl {
  text-decoration: underline;
}

.column {
  float: left;
  width: 50%;
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}

.child {
  width: 80%;
  padding: 10%;
  border: 4px solid red;
  margin: .5em auto;
}

.button1 {
  border-radius: 10px;
  background-color: #04AA6D;
}

/* Green */
.button2 {
  border-radius: 10px;
  background-color: #008CBA;
}

/* Blue */
.button3 {
  border-radius: 10px;
  background-color: #f44336;
}

/* Red */
.button4 {
  border-radius: 10px;
  background-color: #e7e7e7;
  color: black;
}

/* Gray */
.button5 {
  border-radius: 10px;
  background-color: #555555;
}

/* Black */

p.two {
  border-style: solid;
  border-color: orange;
}

.list-group-numbered {
  list-style: decimal inside;
}

ol.list-group-loweralpha li {
  list-style: lower-alpha inside;
}

ol.list-group-loweralpha li::marker {
  font-weight: bold;
}

.red {
  color: red;
  font-weight: 200;
}

.thefool {
  font-family: "Georgia", Times, serif;
  font-weight: bold;
  text-align: center;
}

.jctooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}

.jctooltip .jctooltiptext {
  visibility: hidden;
  width: 160px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;

  /* Position the tooltip */
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  margin-left: -60px;
}

.jctooltip:hover .jctooltiptext {
  visibility: visible;
}

.biggrey {
  font-family: Arial Black, Helvetica, sans-serif;
  color: #bfbfbf;
  font-size: 13pt;
}

/*Default book styles*/
.normal {
  font-family: Garamond, serif;
  font-size: 12pt;
  /* ... other styles ... */
  padding: 0;
  /* Font: (Default) Garamond, 12 pt, English (United States), Indent: First line:  0.5 cm */
  text-align: center;
}

.noindent {
  font-family: Garamond, serif;
  font-size: 12pt;
  display: block;
  letter-spacing: -0.1pt;
  text-align: justify;
  text-indent: 0;
  margin: 0;
  padding: 0
}

.heading1 {
  color: #000;
  display: block;
  font-family: "Cambria", serif;
  font-size: 16pt;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  text-indent: 0;
  margin: 30pt 0 4pt;
  padding: 0 0 1pt;
  border-bottom: currentColor solid 1.5pt
}

.heading2 {
  color: #000;
  display: block;
  font-family: "Cambria", serif;
  font-size: 14pt;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: left;
  text-indent: 0;
  margin: 24pt 0 4pt;
  padding: 0 0 1pt;
}

.heading3 {
  color: #000;
  display: block;
  font-family: "Cambria", serif;
  font-size: 13pt;
  font-weight: bold;
  letter-spacing: -1px;
  text-align: left;
  text-indent: 0;
  margin: 14pt 0 4pt;
  padding: 0 0 1pt;
}

.heading4 {
  color: #000;
  display: block;
  font-family: "Cambria", serif;
  font-size: 12pt;
  font-weight: bold;
  letter-spacing: -0.1pt;
  text-align: left;
  text-indent: 0;
  margin: 24pt 0 0pt;
  padding: 0 0 1pt;
}

.separator {
  display: block;
  letter-spacing: -0.1pt;
  text-align: center;
  text-indent: 14.2pt;
  margin: 0;
  padding: 0
}

.booktitle {
  display: block;
  font-family: "Cambria", serif;
  font-size: 2em;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  text-indent: 0;
  margin: 0;
  padding: 10pt 0 15pt;
  border-top: currentColor outset 1pt;
  border-bottom: currentColor solid 3pt
}

.subtitle {
  display: block;
  font-size: 1.29167em;
  font-style: italic;
  letter-spacing: -0.1pt;
  line-height: 1.2;
  text-align: center;
  text-indent: 0;
  margin: 10pt 0 18pt;
  padding: 0
}

.emphasis {
  font-style: italic;
  letter-spacing: -0.1pt;
}

.writtenscript {
  font-family: Cataneo BT, Blackadder ITC, script;
  font-size: 12pt;
  display: block;
  text-align: left;
  text-indent: 14.2pt;
  margin: 0;
  padding: 0
}

.centre {
  text-align: center;
}

.floatl {
  float: left;
}

.floatr {
  float: right;
}

.floatc {
  clear: both;
}

.floatcl {
  clear: left;
}

.imgcentre {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.col2 {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

.tnr {
  font-family: Baskerville, "Times New Roman", "serif";
  font-size: 120%;
}

.tablejc td {
  border: 2px solid black;
}

.tablejc {
  border-collapse: collapse;
  width: 100%;
}

.kdpscreen-capture {
  background-image: url("../images/AmazonKDP.png");
  /* Replace with your image URL */
  background-repeat: repeat-x;
  background-position: top center;
  /* Adjust position as needed */
  padding-top: 19px;
  /* Add padding to create space around the image */
  padding-bottom: 0px;
}

.invitation {
  width: 80%;
  border: 10px solid red;
  padding: 50px;
  margin: 20px;
}

.redborder {
  width: 80%;
  border: 4px solid red;
  padding: 10px;
  margin: 5px;
}

#heading1-offset {
  display: block;
  height: 145px;
  /* Adjust to your banner height */
  margin-top: -145px;
  /* Pull it up by the same amount */
  visibility: hidden;
}

.w3-main [id] {
  scroll-margin-top: 130px;
  /* Your banner height */
}

ol.d {
  list-style-type: lower-alpha;
}
/* Reduce vertical spacing for links inside the accordion */
.jaccordion-body .nav-link {
  padding-top: 2px;
  padding-bottom: 2px;
}
/* Reduce vertical margin for paragraphs inside the accordion */
.jaccordion-body p {
  margin-bottom: 8px;
  line-height: 1.1; /* Adjust for desired tightness */
}

/* Container */
.image-popup-container {
    position: relative;
    display: inline-block;
}

/* The Hover Thumbnail - Refined Position */
.hover-thumb {
    display: none;
    position: absolute;
    
    /* Move it BELOW the text link */
    top: 120%; 
    left: 0; /* Aligns with the start of the text */
    
    /* Aesthetics & Padding */
    width: 240px; 
    padding: 8px; /* Breathing room around the image */
    background: #ffffff;
    border: 1px solid #d1d1d1;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
    border-radius: 4px;
    
    z-index: 1000; /* Ensure it stays above table borders */
    pointer-events: none;
}

/* Ensure the thumbnail doesn't get cut off if it's near the page edge */
.link-trigger:hover .hover-thumb {
    display: block;
    animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Override Bootstrap containers to utilize the full 1920px width */
.container, .container-lg, .container-xl, .container-xxl {
    max-width: 1920px !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Ensure the outer fluid containers don't stretch past 1920px on ultra-wides */
.container-fluid {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================
   Pulsating Glossy Gel Magic Buttons 
   ========================================== */
.magic-btn-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin: 30px 0;
}

.magic-btn {
    display: inline-block;
    position: relative; /* Essential for rendering the inner glass shine */
    text-decoration: none;
    background-image: linear-gradient(to bottom, #bd0000 0%, #700000 100%); /* Default rich red base gradient */
    color: #ffffff !important;
    font-family: Verdana, Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 12px 28px;
    
    /* Perfect pill shape & crisp border mimicking your original image */
    border: 1.5px solid #4a0000; 
    border-radius: 50px; 
    cursor: pointer;
    text-align: center;
    overflow: hidden; /* Clips the inner glass highlight to the capsule shape */
    
    /* Layered drop shadows for realistic depth and the initial pulse aura */
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                0 2px 4px rgba(0, 0, 0, 0.4),
                0 0 0 0 rgba(189, 0, 0, 0.6);
                
    transition: background-image 0.3s ease, transform 0.1s ease;
    animation: pulseGlossy 1.8s infinite ease-in-out;
}

/* 2. The Semi-Transparent Gloss Overlay (Creates the top reflection bubble) */
.magic-btn::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 4px;
    right: 4px;
    height: 42%; /* Stops just under halfway down the button */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.1) 100%);
    border-radius: 40px / 20px; /* Gives the reflection curved capsule edges */
    pointer-events: none;
}

/* Stagger the animation timing slightly so they look fluid across the screen */
.btn-2 { animation-delay: 0.3s; }
.btn-3 { animation-delay: 0.6s; }

/* 3. Hover State (Transitions seamlessly to your chosen deep sky blue color scheme) */
.magic-btn:hover {
    background-image: linear-gradient(to bottom, #036fa6 0%, #00436a 100%); /* Your chosen blue hues */
    border-color: #002d47;
    text-decoration: none;
}

/* 4. Click / Active State (Slight physical compression click) */
.magic-btn:active {
    transform: scale(0.96);    
}

/* 5. Pulsating Animation Logic (Tuned down to a crisp 2px outer glow) */
@keyframes pulseGlossy {
    0% {
        transform: scale(1);
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                    0 2px 4px rgba(0, 0, 0, 0.4),
                    0 0 0 0 rgba(189, 0, 0, 0.5);
    }
    70% {
        transform: scale(1.04); 
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                    0 3px 6px rgba(0, 0, 0, 0.3),
                    0 0 0 2px rgba(189, 0, 0, 0); /* Shrunk from 12px to 2px */
    }
    100% {
        transform: scale(1);
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                    0 2px 4px rgba(0, 0, 0, 0.4),
                    0 0 0 0 rgba(189, 0, 0, 0);
    }
}

/* 6. Dynamic Active State (Stays blue, but continues to pulsate) */
.magic-btn.active {
    background-image: linear-gradient(to bottom, #036fa6 0%, #00436a 100%) !important; /* Locks to blue */
    border-color: #002d47 !important;
    cursor: default;            /* Removes the hand pointer since you're already here */
    pointer-events: none;       /* Disables clicking it again */
    
    /* Overrides the red glow animation with a tight blue glow animation */
    animation: pulseActiveBlue 1.8s infinite ease-in-out !important; 
}

/* 7. Pulsating Animation Logic strictly for the Active Blue Button */
@keyframes pulseActiveBlue {
    0% {
        transform: scale(1);
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                    0 2px 4px rgba(0, 0, 0, 0.4),
                    0 0 0 0 rgba(3, 111, 166, 0.5); /* Blue glow base */
    }
    70% {
        transform: scale(1.04); 
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                    0 3px 6px rgba(0, 0, 0, 0.3),
                    0 0 0 2px rgba(3, 111, 166, 0); /* Outer 2px blue ring fades out */
    }
    100% {
        transform: scale(1);
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.4), 
                    0 2px 4px rgba(0, 0, 0, 0.4),
                    0 0 0 0 rgba(3, 111, 166, 0);
    }
}

/* ========================================== */
/* Placed at the end of jc.css to override all previous styles */
ul.bulletlist li {
  list-style: disc;
  text-align: left;
}

ul.bulletlist li {
  list-style: disc;
  text-align: left;
  list-style-position: inside;
  /* this is important addition */
}

    /* 1. Typography & Global Styles */
    body {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 90%;
        color: #333;
        background-color: #fff;
    }

    /* 2. Hero Header Section */
    .hero-banner {
        background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("../images/BHpano.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 145px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        color: white;
    }
    .hero-banner h1 {
        font-size: 2.5rem;
        text-shadow: 2px 2px 5px black;
        margin: 0;
    }
    .hero-banner .lead {
        font-size: 1.1rem;
        text-shadow: 1px 1px 3px black;
    }

    /* 3. Sticky Sidebar Styling */
    @media (min-width: 768px) {
        .sticky-sidebar {
            position: sticky;
            top: 20px;
            height: calc(100vh - 40px);
            overflow-y: auto;
        }
    }

    /* 4. Custom Accordion Menu (Tight Layout) */
    #mySidebar .jaccordion-button {
        padding: 4px 8px;
        font-size: 0.95rem;
        color: #fff;
        background-image: linear-gradient(#006699, #00436a);
        border: none;
        width: 100%;
        text-align: left;
    }
    #mySidebar .jaccordion-button:not(.collapsed) {
        background-image: linear-gradient(#00436a, #002d47);
        color: #ACBBF0;
    }
    .jaccordion-body {
        padding: 10px;
        background-color: #f8f9fa;
    }
    .jaccordion-body p {
        font-size: 0.85rem;
        line-height: 1.2;
        margin-bottom: 8px;
    }
    .jnav-link {
        display: block;
        font-size: 0.9rem;
        color: #006699;
        text-decoration: none;
        padding: 2px 0;
    }
    .jnav-link:hover {
        text-decoration: underline;
    }

    /* 5. Footer Styling */
    .custom-footer {
        background-color: #006699; 
        color: #fff;
    }
    .custom-footer a {
        color: #fff;
        text-decoration: none;
    }
    .custom-footer a:hover {
        text-decoration: underline;
    }
    .attribution-bar {
        background-color: #2b2b2b;
        color: #aaa;
        font-size: 0.8rem;
    }
/* Stealth utility class for inline spamtrap links */
.stealth-link {
    color: inherit !important;
    text-decoration: none !important;
    cursor: default !important;
}