/*
 *  beebeep.net
 *
 *  Site styles on top of Bootstrap, ported from the legacy css/beebeep.css.
 *  Colors keep a contrast of at least 4.5:1 on their background (WCAG 1.4.3):
 *  the legacy light blue #5bc0de (about 2:1 on white) became #0b7285.
 *
 *  Copyright (C) 2010-2026 Marco Mastroddi. All rights reserved.
 */

/*
 * Titillium Web (SIL Open Font License 1.1, fonts/OFL.txt), self-hosted: no
 * request to Google, so no visitor data leaves the site and the Content
 * Security Policy stays 'self'. Regular and bold, Latin and Latin Extended.
 */

@font-face {
  font-family: "Titillium Web";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/titillium-web-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Titillium Web";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/titillium-web-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Titillium Web";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/titillium-web-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Titillium Web";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/titillium-web-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
 * The whole site, Bootstrap components included. Two Bootstrap colors are
 * darker, for the contrast of the texts written on them or with them
 * (WCAG 1.4.3): the grey bands carry yellow text, 2.9:1 on Bootstrap's
 * #6c757d, 5:1 on #495057 (white text 8.2:1); the green words of the home
 * page are 4.3:1 on the light band with #198754, 5.6:1 with #157347 (the
 * hover color of Bootstrap's own green button). Compiled components
 * (.btn-secondary, .btn-success) keep Bootstrap's colors.
 */
:root {
  --bs-font-sans-serif: "Titillium Web", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --bs-secondary: #495057;
  --bs-secondary-rgb: 73, 80, 87;
  --bs-success: #157347;
  --bs-success-rgb: 21, 115, 71;
}

/* the header stays at the top on wide screens: anchors and focus must not end up under it (WCAG 2.4.11) */
@media (min-width: 992px) {
  html {
    scroll-padding-top: 7rem;
  }
}

/* legacy brand: "B e e B E E P" */
.beebeep-brand {
  letter-spacing: .3em;
}

/* the claim under the bee */
.beebeep-claim {
  max-width: 52rem;
}

/* the qualities on the home page, as the legacy icon stacks: a grey ring, crossed out or not */
.beebeep-quality {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  font-size: 2.75rem;
  color: var(--bs-success);
  border: .45rem solid var(--bs-secondary);
  border-radius: 50%;
}

.beebeep-quality-crossed::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -.45rem;
  width: .45rem;
  height: 6rem;
  margin-left: -.225rem;
  background-color: var(--bs-secondary);
  transform: rotate(-45deg);
}

/* feature names are labels that may wrap on narrow screens */
.beebeep-feature {
  white-space: normal;
}

.beebeep-sourceforge {
  vertical-align: text-bottom;
}

.beebeep-help-menu {
  max-height: 60vh;
  overflow-y: auto;
}

/* below the sticky header on wide screens */
@media (min-width: 992px) {
  .beebeep-help-index {
    top: 6.25rem;
  }
}

.beebeep-help-menu .list-group-item a {
  text-decoration: none;
}

code,
.source-code {
  background-color: #343a40;
  color: #fff;
  word-wrap: break-word;
}

code {
  padding: .1rem .3rem;
}

.source-code {
  display: block;
  padding: 1rem;
  margin-bottom: 1rem;
}

.beebeep-file-path,
.beebeep-menu-item {
  color: #0b7285;
  word-wrap: break-word;
}

.beebeep-file-path-no-color {
  word-wrap: break-word;
}

.beebeep-faq-question {
  font-style: italic;
}

.beeebeep-faq-list > li {
  margin-bottom: 1rem;
}

.beebeep-carousel .carousel-item img {
  max-width: 960px;
  margin: 0 auto;
}

/* the download cards, two columns with wide gaps as in legacy */
.beebeep-downloads {
  --wm-masonry-column: 20rem;
  --wm-masonry-gap: 3rem;
  max-width: 64rem;
  margin: 0 auto;
}

/* the users' reviews, smaller than the claim */
.wm-quotation.beebeep-review blockquote {
  font-size: 1.1rem;
}
