/* Le Batiment Guyanais - raccord entre Bootstrap 5 et le theme du site.
   Le theme a ete dessine sur Bootstrap 3 : ce fichier regle Bootstrap 5 (tailles, grille, menu)
   pour que le site garde exactement son apparence. A charger juste apres bootstrap, avant style.css. */

/* 1. Base : police, couleurs, liens */
:root {
  --bs-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-body-font-size: 14px;
  --bs-body-line-height: 1.42857143;
  --bs-body-color: #333;
  --bs-body-bg: #fff;
  --bs-link-color-rgb: 51, 122, 183;
  --bs-link-hover-color-rgb: 35, 82, 124;
  scroll-behavior: auto;
}
a { text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
b, strong { font-weight: 700; }
small { font-size: 85%; }
label { max-width: 100%; margin-bottom: 5px; font-weight: 700; }
hr { margin: 20px 0; border: 0; border-top: 1px solid #eee; opacity: 1; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; }
textarea { resize: both; }

/* 2. Titres, paragraphes, listes */
h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; }
h1, h2, h3 { margin-top: 20px; margin-bottom: 10px; }
h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; }
h1 { font-size: 36px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }
p { margin: 0 0 10px; }
ol, ul { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }
ol ol, ol ul, ul ol, ul ul { margin-bottom: 0; }

/* 3. Grille : largeurs et gouttieres du site */
.container, .row { --bs-gutter-x: 30px; }
.container { display: flow-root; max-width: none; }
@media (min-width: 768px)  { .container { max-width: 750px; } }
@media (min-width: 992px)  { .container { max-width: 970px; } }
@media (min-width: 1200px) { .container { max-width: 1170px; } }
/* colonnes empilees (tablette, telephone) : de simples blocs l'un sous l'autre, memes espacements qu'avant */
@media (max-width: 991px)  { .row { display: flow-root; } }
@media (max-width: 1199px) { footer .row { display: flow-root; } }

/* 4. Menu du haut */
.navbar-default { --bs-navbar-padding-y: 0; --bs-navbar-nav-link-padding-x: 15px; }
.navbar-default > .container { align-items: flex-start; flex-wrap: wrap; }
.navbar-default .navbar-brand { margin-left: -15px; white-space: normal; line-height: 20px; }
.navbar-default .navbar-brand > img { display: block; }
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus,
.navbar-default .navbar-nav .nav-link:hover, .navbar-default .navbar-nav .nav-link:focus { text-decoration: none; }
.navbar-default .navbar-nav { flex-shrink: 0; }
.navbar-default .navbar-nav .nav-link { line-height: 20px; white-space: nowrap; }
.navbar-default .navbar-toggler {
  padding: 9px 10px; margin: 14px 0 8px; font-size: inherit; line-height: inherit; color: inherit;
  border: 1px solid #ddd; border-radius: 4px; box-shadow: none;
}
.navbar-default .navbar-toggler:hover, .navbar-default .navbar-toggler:focus { background-color: #ddd; }
.navbar-default .navbar-toggler .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; background-color: #888; }
.navbar-default .navbar-toggler .icon-bar + .icon-bar { margin-top: 4px; }
@media (min-width: 768px) {
  .navbar-default .navbar-nav { margin: 0 -15px 0 auto; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .navbar-default { --bs-navbar-nav-link-padding-x: 12px; }
}
@media (max-width: 767px) {
  .navbar-default .navbar-collapse {
    flex-basis: calc(100% + 30px); margin: 0 -15px; padding: 0 15px;
    border-top: 1px solid #e7e7e7; max-height: 340px; overflow-y: auto;
  }
  .navbar-default .navbar-nav { margin: 7.5px -15px; }
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-default .navbar-collapse { max-height: 200px; }
}
