@font-face {
  font-family: 'FiraSans';
  src: url('../fonts/FiraSans/FiraSans-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'FiraSans';
  src: url('../fonts/FiraSans/FiraSans-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Background Image: First image (r8-1920x1080.jpg)
body {
  background-image: url('/assets/images/r8-1920x1080.jpg'), url('/assets/images/body_bg.gif'); /* First background image and static second image */
  background-size: cover, cover; /* Ensure both images cover the entire viewport */
  background-position: top center, center center; /* First image positioned at the top, second centered */
  background-attachment: scroll, fixed; /* First image scrolls with the page, second image stays fixed */
  background-repeat: no-repeat, no-repeat; /* Prevent the images from repeating */
/*  color: white; Ensure default text color is white */
  margin: 0;
  padding: 0;
  height: auto; /* Make sure body height adjusts based on content */
  min-height: 100vh; /* Ensure the background covers the screen even on short pages */
  overflow-x: hidden; /* Hide any horizontal overflow */
  position: relative; /* Ensure positioning for overlay */
  transition: background-position 0.2s ease-in-out;
  z-index: 1; /* Ensure body content has a higher stacking context than overlay */
}  */

/* Overlay: Semi-transparent dark overlay */
body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5); /* Dark overlay */
  z-index: 0 !important; /* Ensure overlay stays below the text and content */
  pointer-events: none !important; /* Prevent the overlay from interfering with clicks or scrolls */
  width: 100%;
  height: 100vh; /* Ensure the overlay takes up the full height of the viewport */
}

/* Floating container for page content, centered horizontally and vertically */
.page-container {
  display: flex;
  justify-content: center; /* Center the content horizontally */
  align-items: center; /* Center the content vertically */
  max-width: 1200px; /* Max width for content */
  margin: 0 auto; /* Center the content */
  padding: 40px; /* Padding around content */
  background-color: rgba(255, 255, 255, 0.9); /* Semi-transparent background */
  border-radius: 10px; /* Rounded corners */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* Create the floating shadow effect */
  position: relative; /* For proper stacking context */
  z-index: 2; /* Ensure it's above the background */
  overflow: hidden; /* Hide anything outside the rounded corners */
  height: 80vh; /* Set the height of the content */
  width: 80%; /* Adjust width as needed */
  margin-top: 10%; /* Space from the top for centering vertically */
}

/* Add some padding and margin for the content inside */
.page-container h1, .page-container p {
  margin-bottom: 20px;
}

/* Optional: Add a fixed section that stays in place while scrolling */
.fixed-floating-section {
  position: fixed;
  top: 100px; /* Adjust for the distance from the top */
  left: 50%;
  transform: translateX(-50%); /* Center the section horizontally */
  background-color: rgba(255, 255, 255, 0.9);
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  z-index: 5; /* Ensure it stays above other elements */
  width: 80%; /* Adjust width as needed */
} */
/* Apply to body or override theme tokens */
:root {
  --md-text-font: "FiraSans", "Helvetica Neue",Arial,sans-serif;
}

div.col-md-9 h1:first-of-type {
    text-align: center;
    font-size: 60px;
    font-weight: 300;
}

div.col-md-9>p:first-of-type {
    text-align: center;
}

div.col-md-9 p.admonition-title:first-of-type {
    text-align: left;
}

div.col-md-9 h1:first-of-type .headerlink {
    display: none;
}

div.admonition.block>.admonition-title {
    display: none;
}

.admonition.new, details.new {
    color: var(--bs-success-text-emphasis);
    background-color: var(--bs-success-bg-subtle);
    border-color: var(--bs-success-border-subtle);
}
.admonition.example, details.example {
    color: var(--bs-info-text-emphasis);
    background-color: var(--bs-info-bg-subtle);
    border-color: var(--bs-info-border-subtle);
}

/* Definition List styles */

dd {
    padding-left: 20px;
}

.card-body svg {
    width: 100%;
    padding: 0 50px;
    height: auto;
}

/* Homepage */

body.homepage>div.container>div.row>div.col-md-3 {
    display: none;
}

body.homepage>div.container>div.row>div.col-md-9 {
    margin-left: 0;
    flex: 0 0 100%;
    max-width: 100%;
}

/* mkdocstrings */

.doc-object {
    padding-left: 10px;
    border-left: 4px solid var(--bs-light-border-subtle);
}

.doc-contents .field-body p:first-of-type {
    display: inline;
}

.doc-label-class-attribute,
.doc-label-instance-attribute {
    display: none;
}
h1 {
    font-size: 2em;
    margin: 0.67em 0
}
h2.doc-heading {
    font-size: 1.5rem;
}
h3.doc-heading {
    font-size: 1.4rem;
}
h4.doc-heading {
    font-size: 1.3rem;
}
h5.doc-heading {
    font-size: 1.2rem;
}

.doc-contents {
    padding-left: 0;
}
