.hline {
    border-top: 2px solid #b2b9c3; /* Adjust the thickness and color as needed */
    margin: 20px 0; /* Adjust the spacing as needed */
    margin-bottom: 5px;
}

.box {
  background-color: white;
  border: 1px solid #345a8b;
  padding: 1mm 2mm;
  display: inline-block;
  line-height: 1;          /* Removes invisible vertical text spacing */
  vertical-align: middle;  /* Keeps it aligned with the surrounding sentence */
  margin: 0;               /* Prevents Quarto from adding paragraph margins */
}

.red {
    color: #b42121;
}

.white {
    color: #ffffff;
}

.light-red {
    color: #ee2c2c;
}

.blue {
    color: #345a8b;
}

.light-blue {
    color: #394ae0;
}

.orange{
    color: #e2a555;
}

.yellow{
    color: #ffcc00; /* #c9c124; */
}

.purple {
    color: rgba(173, 69, 204, 0.863);
}

.green {
    color: #53a343;
}

.blur {
    color: #dbdedf;
}

.vbr {
    display: block;
    padding: 0 -10px; /* Smaller padding */
}

.vbr20 {
    display: block;
    margin: -20px 0; /* Smaller padding */
}

.vbr30 {
    display: block;
    margin: -30px 0; /* Smaller padding */
}

.vbr40 {
    display: block;
    margin: -40px 0; /* Smaller padding */
}

.vbr50 {
    display: block;
    margin: -50px 0; /* Smaller padding */
}

.up2 {
    display: block;
    margin: -20px 0; /* Smaller padding */
}

.up3 {
    display: block;
    margin: -30px 0; /* Smaller padding */
}

.up4 {
    display: block;
    margin: -40px 0; /* Smaller padding */
}

.up5 {
    display: block;
    margin: -50px 0; /* Smaller padding */
}

.secbr {
    display: block;
    margin: 50px 0; /* Adjust the vertical space as needed */
}

.br0 {
    display: block;
    margin: 5px 0; /* Adjust the vertical space as needed */
}

.br1 {
    display: block;
    margin: 10px 0; /* Adjust the vertical space as needed */
}

.footnote {
    font-size: 0.6em; /* Set the font size */
    margin-top: 1px;  /* Set the space from the text above */
}

.section{
    font-size: 1.1em; /* Set the font size */
    margin-top: 1px;  /* Set the space from the text above */
    font-weight: 500;
    color: #345a8b;
}

.notes {
    position: absolute;
    bottom: 10px; /* Adjust the distance from the bottom */
    right: 10px;  /* Adjust the distance from the right */
    font-size: 0.8em; /* Adjust the font size as needed */
    background-color: rgba(255, 255, 255, 0.8); /* Optional: Add a background color with transparency */
    padding: 5px; /* Optional: Add some padding */
    border-radius: 5px; /* Optional: Add rounded corners */
}

.centering {
    margin: auto;
    width: 50%;
    padding: 10px;
  }

  /* Force fixed padding (margins) on every standard slide */
.reveal .slides section {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
    height: 100%; /* Ensures the slide frame fills the screen */
}

/* Optional: Allow the title slide to center itself independently */
#title-slide {
    padding-top: 5% !important; 
}

/* --- Section Divider Slides (Level 1 Headers) --- */
.reveal .slides section.level1 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; 
    align-items: center !important; /* Centers the text horizontally too */
    height: 100% !important;
    
    /* Remove the fixed margins so it sits perfectly in the middle */
    padding-top: 0px !important; 
    padding-bottom: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

/* Vertical space */
.vspace {
  /* It defaults to 20px if you don't provide a value, but uses your --space variable if you do */
  margin-top: var(--space, 20px) !important; 
  display: block;
}