/* MOE theme for the stock Bootstrap 5 build.
   Keeps the portal's established layout metrics: 30px gutters and
   750/970/1170px containers at the 768/992/1200px breakpoints. */
:root {
  --bs-body-font-size: 14px;
  --bs-body-line-height: 1.42857143;
  --bs-danger-rgb: 169, 68, 66;
}

.container,
.container-fluid,
.row {
  --bs-gutter-x: 30px;
}

.container {
  max-width: none;
}

/* Empty spacer columns keep a 1px footprint when stacked. */
.row > [class*="col"] {
  min-height: 1px;
}

/* The portal's float-based blocks rely on containers clearing their floats. */
.container:not(.navbar > .container)::before,
.container:not(.navbar > .container)::after {
  content: " ";
  display: table;
}

.container:not(.navbar > .container)::after {
  clear: both;
}

@media (min-width: 768px) {
  .container { max-width: 750px; }
}

@media (min-width: 992px) {
  .container { max-width: 970px; }
}

@media (min-width: 1200px) {
  .container { max-width: 1170px; }
}

a {
  text-decoration: none;
}

a:focus {
  color: #23527c;
  text-decoration: underline;
}

input[type="checkbox"],
input[type="radio"] {
  margin: 4px 0 0;
  line-height: normal;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.1;
}

h1, h2, h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}

h4, h5, h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}

h4 { font-size: 18px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }

p,
ul,
ol {
  margin-bottom: 10px;
}

ul,
ol {
  padding-inline-start: 40px;
}

.alert {
  --bs-alert-padding-x: 15px;
  --bs-alert-padding-y: 15px;
  --bs-alert-margin-bottom: 20px;
  --bs-alert-border-radius: 4px;
}

.alert-danger {
  --bs-alert-color: #a94442;
  --bs-alert-bg: #f2dede;
  --bs-alert-border-color: #ebccd1;
}

label {
  margin-bottom: 5px;
  font-weight: bold;
}
