/* Ajustements de la présentation et de la navigation. */
.neo-about-photo { display: flex; align-items: stretch; }
.neo-about-photo figure { width: 100%; margin: 0; overflow: hidden; }
.neo-workshop-photo { display: block; width: 100%; height: 100%; min-height: 380px; max-height: 560px; object-fit: cover; object-position: center; }
.neo-map { display: block; padding: 0; min-height: 0; background: #e6ecee; }
.neo-map-embed { display: block; width: 100%; height: 500px; border: 0; }

.main-navbar #mainnav .menu > li > .neo-sub-toggle { position: relative; display: block; line-height: 1.8; }
.main-navbar #mainnav .menu > li > .neo-sub-toggle::after { content: ''; position: absolute; left: 0; bottom: 2px; width: 0; height: 1px; background: currentColor; transition: width .3s ease-in-out; }
.main-navbar #mainnav .menu > li:hover > .neo-sub-toggle,
.main-navbar #mainnav .menu > li.is-active > .neo-sub-toggle,
.main-navbar #mainnav .menu > li > .neo-sub-toggle:focus-visible { color: #005993; }
.main-navbar #mainnav .menu > li:hover > .neo-sub-toggle::after,
.main-navbar #mainnav .menu > li.is-active > .neo-sub-toggle::after,
.main-navbar #mainnav .menu > li > .neo-sub-toggle:focus-visible::after { width: 100%; }
body.intern .main-navbar #mainnav .menu > li:hover > .neo-sub-toggle,
body.intern .main-navbar #mainnav .menu > li.is-active > .neo-sub-toggle,
body.intern .main-navbar #mainnav .menu > li > .neo-sub-toggle:focus-visible { color: #fec54c !important; }

@media (min-width: 1200px) {
  .main-navbar #mainnav .menu > li.has-sub { position: relative; }
  .main-navbar #mainnav .menu > li.has-sub > .sub-menu {
    position: absolute; top: 100%; left: 0; margin-top: 0 !important;
    padding-top: 12px; min-width: 260px; display: block;
    opacity: 0; visibility: hidden; pointer-events: none; transform: none;
    transition: opacity .15s ease, visibility .15s ease;
  }
  .main-navbar #mainnav .menu > li.has-sub.is-open > .sub-menu {
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  .main-navbar #mainnav .menu > li.has-sub:not(.is-open) > .sub-menu {
    opacity: 0; visibility: hidden; pointer-events: none;
  }
  .main-navbar #mainnav .menu > li.has-sub > .sub-menu li a { display: block; padding: 0 20px 0 0; }
}
@media (max-width: 1199px) {
  .main-navbar #mainnav .menu > li.has-sub > .sub-menu { margin-top: 0 !important; }
  .main-navbar #mainnav .menu > li.has-sub:not(.is-open) > .sub-menu { display: none; visibility: hidden; }
  .main-navbar #mainnav .menu > li.has-sub.is-open > .sub-menu { display: block; visibility: visible; }
  .main-navbar #mainnav .menu > li > .neo-sub-toggle::after { bottom: 10px; }
}
@media (max-width: 767px) {
  .neo-workshop-photo { min-height: 0; height: auto; max-height: none; }
  .about-us .neo-about-photo { margin-top: 30px; }
  .neo-map-embed { height: 400px; }
}
@media (prefers-reduced-motion: reduce) {
  .main-navbar #mainnav .menu > li > .neo-sub-toggle::after,
  .main-navbar #mainnav .menu > li.has-sub > .sub-menu { transition: none; }
}
