@charset "utf-8";
/* CSS Document */

/* === Layout Fixes === */
/* Add top padding to body to match header height */
body {
  padding-top: 60px;
}

/* Remove default margin and horizontal overflow */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* === Link Styling === */
/* Make links bold and remove underline */
a {
  font-weight: bold;
  text-decoration: none;
  color: inherit;
}

/* Maintain styling on hover, focus, and active states */
a:hover,
a:focus,
a:active {
  text-decoration: none;
  color: inherit;
}

/* === Branding and Header === */
/* Center brand elements vertically and horizontally */
.brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Style site title and tagline */
.site-title,
.site-tagline {
  text-align: center;
  font-family: "Segoe UI Rounded", sans-serif;
  color: #fff;
}

/* Customize site title appearance */
.site-title {
  margin-top: 1rem;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
}

/* Center and emphasize navbar brand */
.navbar-brand {
  text-align: center;
  margin: 0 auto;
}

/* Style brand logo link */
.brand-logo {
  text-decoration: none;
  color: inherit;
  font-weight: bold;
  display: inline-block;
}

/* Style brand logo text */
.brand-logo span {
  font-family: "Segoe UI Rounded", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  color: #fff;
}

/* Style tagline below title */
.site-tagline {
  font-size: 1.1rem;
  font-style: italic;
  color: #ccc;
  margin-bottom: 1rem;
}

/* Remove underline from brand logo links in all states */
.brand-logo,
.brand-logo a,
.brand-logo a:hover,
.brand-logo a:focus,
.brand-logo a:active {
  text-decoration: none;
  color: inherit;
  text-align: center;
  font-weight: bold;
  display: inline-block;
}

/* Layout for header container */
.container-header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/* Style navbar brand inside header container */
.container-header .navbar-brand {
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}

/* Style site description below tagline */
.site-description {
  font-size: 1.1rem;
  font-style: italic;
  color: #ccc;
  margin-top: 0.5rem;
}

/* === Navigation Menu === */
/* Style menu container and center items */
.container-nav ul.mod-menu {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Style individual menu items */
.container-nav ul.mod-menu li {
  display: inline-block;
}

/* Style menu links */
.container-nav ul.mod-menu li a {
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease;
}

/* Change link color on hover */
.container-nav ul.mod-menu li a:hover {
  color: #ccc;
}

/* Center grid-child inside header */
.container-header > .grid-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Set background color for branding header */
.branding-header {
  background-color: #000;
}

/* === Headings === */
/* Remove underline and inherit color for heading links */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  text-decoration: none !important;
  color: inherit;
}

/* Maintain styling on hover, focus, and active states */
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
h1 a:focus,
h2 a:focus,
h3 a:focus,
h4 a:focus,
h5 a:focus,
h6 a:focus,
h1 a:active,
h2 a:active,
h3 a:active,
h4