/* ==================
 * S. Fox, 2026 Jan 7
 * ==================
 */

/* ============================================
   CSS VARIABLES
   ============================================ */
:root {
  /* Layout */
  --aside-margin-right: 0.5%;
  --figure-margin-right: 0.5%;
  
  /* Colors */
  --motif-color: #a02c3f;
  --menu-background-color: #dfa62b;
  --menu-hover-color: grey;
  
  /* Menu */
  --menu-row-height: 50px;
}

/* ============================================
   GLOBAL RESETS
   ============================================ */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  margin-top: calc(var(--menu-row-height) + 10px);
  font-family: Arial, sans-serif;
  font-size: 1em;
  color: black;
  background-color: white;
}

ul {
  list-style-position: inside;
  padding-left: 0.5%;
  overflow: visible;
}

li {
  margin-bottom: 0.5em;
  padding-left: 2em;
  text-indent: -1.5em;
}

img {
  border: 0;
  width: 100%;
  height: auto;
}

/* ============================================
   RESPONSIVE UTILITIES
   ============================================ */
.phone-only-block,
.phone-only-inline {
  display: none;
}

.desktop-only-block {
  display: block;
}

.desktop-only-inline {
  display: inline;
}

@media only screen and (max-width: 600px) {
  .phone-only-block {
    display: block;
  }
  
  .phone-only-inline {
    display: inline;
  }
  
  .desktop-only-block,
  .desktop-only-inline {
    display: none;
  }
}

@media print {
  .noprint {
    display: none;
  }
}

/* ============================================
   NAVIGATION MENU
   ============================================ */
nav.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: left;
  z-index: 1000;
  transition: top 0.3s ease-in-out;
}

ul.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  list-style: none;
  margin: 0;
  padding: 0;
  height: var(--menu-row-height);
  background-color: var(--menu-background-color);
  color: white;
  text-shadow: 0px 0px 12px rgba(0, 0, 0, 1.0);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

ul.menu > li {
  position: relative;
  cursor: pointer;
  margin-bottom: 0;
  margin-left: 3px;
  font-size: 1rem;
  white-space: nowrap;
  padding: 0;
  text-indent: 0;
  text-align: left;
}

ul.menu > li:hover {
  background-color: var(--menu-hover-color);
}

ul.menu ul {
  display: none;
  position: absolute;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: var(--motif-color);
  border: 1px solid #444;
  z-index: 1000;
  overflow: visible;
}

ul.menu li:hover > ul {
  display: block;
}

ul.menu ul li {
  padding: 10px 20px 10px 2em;
  color: white;
  cursor: pointer;
  border-top: 1px solid white;
}

ul.menu ul li:hover {
  background-color: var(--menu-hover-color);
}

ul.menu ul li a {
  color: white;
  text-decoration: none;
}

/* Menu Logo Styles */
img.menu-small-logo,
img.menu-logo {
  height: calc(var(--menu-row-height) - 10px);
  width: calc(var(--menu-row-height) - 10px);
  background-color: white;
  border-radius: 10px;
  padding: 0;
}

img.menu-logo {
  width: auto;
  height: 40px;
}

.li-logo {
  margin: 0;
  border: 0;
}

.li-logo a {
  text-decoration: none;
}

.li-logo a:visited {
  color: white;
}

/* li.empty {
    background-color: var(--menu-background-color);
} */

li.separator {
  height: 0;
  margin: 8px 0; /* Vertical spacing around the line */
  padding: 0;
  border-top: 2px solid white; /* Medium thick line */
  list-style: none;
  overflow: hidden;
  pointer-events: none;
}

li.separator:hover {
    background-color: none;
}

/* Legacy Nav Links (if still in use) */
a.nav-link:link,
a.nav-link:visited,
a.nav-link:hover,
a.nav-link:active {
  text-decoration: none;
  color: white;
  background-color: black;
}

/* ============================================
   CONTENT LAYOUT
   ============================================ */
#content {
  position: relative;
  top: 3em;
  z-index: 10;
}

/* ============================================
   ARTICLES & SECTIONS
   ============================================ */
article {
  clear: both;
  width: 100%;
  border: 4px ridge var(--motif-color);
  border-radius: 10px;
  margin: 0;
  margin-top: 5%;
  margin-bottom: 1%;
  padding: 0.5%;
  overflow: hidden;
}

header {
  font-size: 1.5em;
  background-color: var(--motif-color);
  color: white;
  font-weight: bold;
  text-align: center;
  text-indent: 0;
  line-height: 150%;
  padding: 0;
  margin: 0;
}

/* ============================================
   FIGURES & IMAGES
   ============================================ */
figure {
  width: 100%;
  margin: 0;
  margin-right: var(--figure-margin-right);
  border: solid 2px var(--motif-color);
  border-radius: 8px;
  background-color: #e0b3af;
}

/* Desktop landscape - 2 columns */
@media all and (orientation: landscape) and (min-width: 376px) {
  figure {
    width: calc(50% - var(--figure-margin-right));
    float: left;
  }
}

/* Large monitors - 4 columns */
@media all and (orientation: landscape) and (min-width: 2401px) {
  figure {
    width: calc(25% - var(--figure-margin-right));
    float: left;
  }
}

figure.small {
  width: calc(25% - var(--figure-margin-right));
  border: 2px solid var(--motif-color);
  border-radius: 3px;
}

figure.fullwidth {
  width: 100%;
}

figcaption {
  width: 100%;
  font-size: 1em;
  text-align: center;
  background-color: #e0b3af;
}

.img-enlargeable {
  cursor: zoom-in;
}

/* ============================================
   ASIDE BOXES
   ============================================ */
aside {
  width: 100%;
  float: left;
  padding: 0.5%;
  border: 2px solid var(--motif-color);
  border-radius: 6px;
  background-color: #e0b3af;
  margin-right: var(--aside-margin-right);
}

@media all and (min-width: 751px) {
  aside {
    width: calc(33.3333% - var(--aside-margin-right));
  }
}

@media all and (min-width: 2401px) {
  aside {
    width: calc(20% - var(--aside-margin-right));
  }
}

aside.gone,
aside.artifact {
  background-color: lightgray;
  border: solid black;
  width: calc(50% - var(--aside-margin-right));
}

@media all and (min-width: 751px) {
  aside.gone {
    width: calc(33.3333% - var(--aside-margin-right));
  }
  
  aside.artifact {
    width: calc(20% - var(--aside-margin-right));
  }
}

aside.gone:before {
  content: "GONE: ";
}

aside.right {
  float: right;
}

aside.map {
  background-color: paleturquoise;
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
.PageTitle {
  position: relative;
  text-align: left;
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 0.75em;
  margin-top: 0.5em;
}

h1 {
  background-image: url("https://historiceverett.org/walkingtour/WalkTour_bullet.png");
  background-repeat: no-repeat;
  background-size: 1.5em;
  font-size: 2em;
  font-weight: bold;
  text-align: left;
  text-indent: 1.5em;
  line-height: 150%;
  padding: 0;
  margin-top: 2.5%;
  clear: both;
}

h2 {
  font-size: 1.25em;
  background-color: var(--motif-color);
  color: white;
  text-align: center;
  font-weight: bold;
  padding-left: 0;
  margin: 0;
}

h3 {
  font-size: 1.2em;
  text-align: left;
  font-weight: bold;
  padding-left: 0;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

p {
  padding-left: 0.25%;
}

.Explain,
.explain {
  font-style: italic;
  padding-left: 0.5%;
}

address {
  font-style: italic;
  text-align: center;
  clear: both;
  margin-top: 4em;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */
.clear {
  clear: both;
}

.center {
  text-align: center;
}

.credit {
  font-size: smaller;
  font-style: italic;
}

.major {
  font-size: larger;
  font-weight: bold;
}

.verysmall {
  font-size: small;
}

.white-background {
  background-color: white;
  opacity: 0.90;
}

.webmaster {
  color: red;
  background-color: yellow;
}

/* ============================================
   LINKS
   ============================================ */
/* Uncomment and customize as needed */
/* a:link {} */
/* a:visited {} */
/* a:hover {} */
/* a:active {} */
/* a:hover img { opacity: 0.5; } */

/* ============================================
   SVG HOVER EFFECTS
   ============================================ */
path:hover,
polygon:hover,
polyline:hover,
line:hover {
  stroke: red;
  /* filter: drop-shadow(30px 30px 20px rgba(0, 0, 255, 0.7)); */
}

text:hover {
  stroke: none;
  fill: green;
}

/* ============================================
   FORMS & INPUTS
   ============================================ */
form,
input {
  background-color: white;
}

select {
  font-size: 1em;
  color: black;
  background-color: #e0b3af;
  border-top-color: gray;
  border-left-color: gray;
  border-right-color: black;
  border-bottom-color: black;
  border-radius: 6px;
  padding-left: 5px;
  padding-right: 5px;
  border-width: 2px;
  border-style: outset;
}

button,
.button,
.slider {
  font-size: 1em;
  color: black;
  background-color: #d67513;
  border-top-color: gray;
  border-left-color: gray;
  border-right-color: black;
  border-bottom-color: black;
  border-radius: 6px;
  padding-left: 5px;
  padding-right: 5px;
  border-width: 2px;
  border-style: outset;
}

button:hover,
.slider:hover {
  color: #fff8e6;
  background-color: #d67513;
  border-top-color: #ffffff;
  border-left-color: #ffffff;
  border-right-color: #030105;
  border-bottom-color: #030105;
  opacity: 100%;
}

button:active,
.slider:active {
  color: #ffa500;
  background-color: #763007;
  border-top-color: #bf7d00;
  border-left-color: #bf7d00;
  border-right-color: #000000;
  border-bottom-color: #000000;
  opacity: 100%;
}

/* ============================================
   SLIDER CONTROLS
   ============================================ */
.slider-container {
  line-height: 0.65;
  padding-top: 5px;
}

.slider {
  -webkit-appearance: none;
  appearance: none;
  background: grey;
  width: 10em;
  height: 20px;
  transition: opacity 0.2s;
  -webkit-transition: 0.2s;
  border-top-color: black;
  border-left-color: black;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  background: var(--motif-color);
  cursor: ew-resize;
  border: 1px solid black;
  border-radius: 25px;
}

.slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: var(--motif-color);
  cursor: ew-resize;
  border: 1px solid black;
  border-radius: 8px;
}

.slider:active {
  background-color: darkgrey;
}

.checkboxes {
  display: inline-block;
}

/* ============================================
   TABLES
   ============================================ */
table {
  border: 1px solid var(--motif-color);
  border-collapse: collapse;
}

th {
  font-size: 1.25em;
  background-color: var(--motif-color);
  color: white;
  border: 1px solid var(--motif-color);
  font-weight: bold;
  text-align: center;
}

td {
  border: 1px solid var(--motif-color);
}

/* ============================================
   SECTION INDICATOR DROPDOWN
   ============================================ */
#section-indicator {
  /* position: fixed; */
  /* top: 30px; */
  /* right: 0px; */
  /* z-index: 1000; */
}

#dropdown-button {
  background-color: white;
  padding: 5px 5px;
  border-radius: 5px;
  font-size: 18px;
  cursor: pointer;
}

#dropdown-menu {
  display: none;
  position: absolute;
  right: 0;
  background-color: var(--motif-color);
  opacity: 90%;
  border-radius: 5px;
  columns: 2;
  column-rule: 2px solid white;
  z-index: 1000;
}

#dropdown-menu a {
  display: block;
  color: white;
  padding: 3px 3px;
  text-decoration: none;
  font-size: 16px;
  padding-right: 10px;
  padding-left: 10px;
}

#dropdown-menu a:hover {
  background-color: white;
  opacity: 90%;
  color: black;
}

#section-indicator:hover #dropdown-menu,
#section-indicator:focus-within #dropdown-menu {
  display: block;
}