html {
    --pst-font-size-base: 1rem;

    --pst-header-height: 4rem;

    --pst-font-size-h1: 2rem;
    --pst-font-size-h2: 1.75rem;
    --pst-font-size-h3: 1.5rem;
    --pst-font-size-h4: 1.25rem;
    --pst-font-size-h5: 1.15rem;
    --pst-font-size-h6: 1.1rem;
}

.install-matrix {
  border: 1px solid var(--pst-color-border);
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  overflow: hidden;
}

.install-matrix-row,
.install-matrix-output {
  align-items: center;
  border-bottom: 1px solid var(--pst-color-border);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(9rem, 0.3fr) 1fr;
  padding: 1rem;
}

.install-matrix-heading {
  font-weight: 700;
}

.install-matrix-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.install-matrix-input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.install-matrix-options label {
  background: var(--pst-color-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.25rem;
  cursor: pointer;
  margin: 0;
  padding: 0.45rem 0.8rem;
}

.install-matrix-input:checked + label {
  background: var(--nv-color-green);
  border-color: var(--nv-color-green);
  color: #111111;
  font-weight: 700;
}

.install-matrix-input:focus-visible + label {
  outline: 3px solid var(--pst-color-link);
  outline-offset: 2px;
}

.install-matrix-input:disabled + label {
  cursor: not-allowed;
  opacity: 0.45;
}

.install-matrix-output {
  background: var(--pst-color-surface);
}

.install-command {
  align-items: stretch;
  display: flex;
  min-width: 0;
}

.install-command pre {
  border-radius: 0.25rem 0 0 0.25rem;
  flex: 1;
  margin: 0;
  min-width: 0;
  white-space: pre-wrap;
}

.install-command button {
  background: var(--nv-color-green);
  border: 0;
  border-radius: 0 0.25rem 0.25rem 0;
  color: #111111;
  cursor: pointer;
  font-weight: 700;
  padding: 0 1rem;
}

.install-command button:hover {
  background: var(--pst-color-primary);
  color: var(--pst-color-on-primary);
}

.install-command button:focus-visible {
  outline: 3px solid var(--pst-color-link);
  outline-offset: 2px;
}

.install-matrix-note {
  color: var(--pst-color-text-muted);
  margin: 0;
  min-height: 1.5rem;
  padding: 0.75rem 1rem;
}

@media (max-width: 640px) {
  .install-matrix-row,
  .install-matrix-output {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .install-command {
    flex-direction: column;
  }

  .install-command pre,
  .install-command button {
    border-radius: 0.25rem;
  }

  .install-command button {
    margin-top: 0.5rem;
    min-height: 2.5rem;
  }
}

div.graphviz {
  background: var(--pst-color-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  overflow-x: auto;
  padding: 1rem;
}

div.graphviz object.graphviz,
div.graphviz img.graphviz,
div.graphviz svg {
  background: #111111;
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}

.bd-main .bd-content .bd-article-container {
  max-width: 80%;  /* default is 60em */
}

.bd-page-width {
  max-width: 100rem;  /* default is 88rem */
}

/*******************************************************************************
* light theme
*
* all the variables used for light theme coloring
*/
html[data-theme="light"] {
    /*****************************************************************************
    * main colors
    */
    --pst-color-primary:  #6c9c17;
    --pst-color-secondary: rgb(238 144 64);
    --pst-color-success: rgb(69 157 185);
    --pst-color-info: var(--pst-color-primary);
    --pst-color-warning: var(--pst-color-secondary);
    --pst-color-danger: rgb(220, 53, 69);
    --pst-color-text-base: rgb(51, 51, 51);
    --pst-color-text-muted: rgb(77, 77, 77);
    --pst-color-border: rgb(201, 201, 201);
    --pst-color-shadow: rgb(216, 216, 216);

    /*****************************************************************************
    * depth colors
    *
    * background: the more in depth color
    * on-background: the object directly set on the background, use of shadows in light theme
    * surface: object set on the background (without shadows)
    * on_surface: object set on surface object (without shadows)
    */
    --pst-color-background: rgb(255, 255, 255);
    --pst-color-on-background: rgb(255, 255, 255);
    --pst-color-surface: rgb(240, 240, 240);
    --pst-color-on-surface: rgb(255, 255, 238);

    /*****************************************************************************
    * extentions
    */

    --pst-color-panel-background: var(--pst-color-background);

    /*****************************************************************************
    * layout
    */

    /* links
    --pst-color-link: var(--pst-color-primary);
    --pst-color-link-hover: var(--pst-color-secondary);

    // inline code
    --pst-color-inline-code: rgb(232, 62, 140);

    // targeted content
    --pst-color-target: rgb(251, 229, 78);

    // hide any content that should not be displayed in the light theme
    .only-dark {
      display: none !important;
    }*/
  }

/*******************************************************************************
* dark theme
*
* all the variables used for dark theme coloring
*/
html[data-theme="dark"] {
    /*****************************************************************************
    * main colors
    */

    --pst-color-primary:  #6c9c17;
    --pst-color-secondary: rgb(238 144 64);
    --pst-color-success: rgb(69 157 185);
    --pst-color-info: var(--pst-color-primary);
    --pst-color-warning: var(--pst-color-secondary);
    --pst-color-danger: rgb(203, 70, 83);
    --pst-color-text-base: rgb(201, 209, 217);
    --pst-color-text-muted: rgb(192, 192, 192);
    --pst-color-border: rgb(192, 192, 192);
    --pst-color-shadow: var(--pst-color-background);

    /*****************************************************************************
    * depth colors
    *
    * background: the more in depth color
    * on-background: the object directly set on the background, use of a light grey in dark theme
    * surface: object set on the background (without shadows)
    * on_surface: object set on surface object (without shadows)
    */
    --pst-color-background: #181818;
    --pst-color-on-background: #323232;
    --pst-color-surface: #0c0c0c;
    --pst-color-on-surface: #040404;

    /*****************************************************************************
    * extentions
    */

    --pst-color-panel-background: var(--pst-color-background-up);

    /*****************************************************************************
    * layout
    */

    /* links
    --pst-color-link: var(--pst-color-primary);
    --pst-color-link-hover: var(--pst-color-secondary);

    // inline code
    --pst-color-inline-code: rgb(221, 158, 194);

    // targeted content
    --pst-color-target: rgb(71, 39, 0);

    // hide any content that should not be displayed in the dark theme
    .only-light {
      display: none !important;
    }

    // specific brightness applied on images
    img {
      filter: brightness(0.8) contrast(1.2);
    }*/
  }
