$header_height: 4.5rem; // 72px maquette .layout-container { header[role="banner"] { width: 100%; background-color: white; position: sticky; top: 0; z-index: 99; box-shadow: none; > div:first-of-type { z-index: 99; position: relative; display: flex; align-items: center; height: $header_height; // Conteneurs Drupal des blocs logos / burger > div { height: $header_height; display: flex; align-items: center; > div { display: flex; align-items: center; height: 100%; > div { height: 100%; a { display: flex; align-items: center; height: 100%; } img { width: auto; height: auto; max-height: calc($header_height - 1rem); } } } } #block-erabletheme-logorep-2, #block-erabletheme-logoepau-2, #block-erabletheme-logoerable { padding: 0 1rem; } // Logo République : occupe toute la hauteur du header // (pas le -1rem de marge appliqué aux autres logos). #block-erabletheme-logorep-2 { padding-left: 1.25rem; img { max-height: $header_height; height: $header_height; width: auto; } } #block-erabletheme-logoerable { margin-left: auto; // pousse le burger à droite img { width: auto; height: auto; max-height: calc($header_height - 1rem); } } // Templates custom (block--erabletheme-logoepau-2 et logoerable) // → structure
hors du sélecteur générique // `div > div > div img`. On rappelle la contrainte de hauteur. // Padding vertical pour réduire visuellement le logo epau, // qui a moins de marge interne que les autres logos. #block-erabletheme-logoepau-2 { a { display: flex; align-items: center; height: 100%; padding: 1.4rem 0; box-sizing: border-box; } img { width: auto; height: 100%; max-height: 100%; } } #block-erabletheme-socialmedialinks { display: none; } #block-erabletheme-header { height: $header_height; #hamburger { cursor: pointer; width: $header_height; // carré 72x72 height: $header_height; background-color: $fluo_green; display: flex; align-items: center; justify-content: center; .burger-icon { position: relative; width: 1.75rem; height: 1rem; $bar_thickness: 2px; $bar_transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), top 0.35s cubic-bezier(0.4, 0, 0.2, 1), bottom 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease; div { position: absolute; left: 0; right: 0; height: $bar_thickness; background-color: black; border-radius: 1px; transform-origin: center center; transition: $bar_transition; } div:nth-of-type(1) { top: 0; } div:nth-of-type(2) { top: 50%; transform: translateY(-50%); opacity: 1; } div:nth-of-type(3) { bottom: 0; } } .burger-icon.open { div:nth-of-type(1) { top: 50%; transform: translateY(-50%) rotate(45deg); } div:nth-of-type(2) { opacity: 0; } div:nth-of-type(3) { bottom: 50%; transform: translateY(50%) rotate(-45deg); } } } ul:not(.social-media-links--platforms) { position: absolute; left: 0; top: $header_height; z-index: -1; display: none; height: auto; max-height: 0vh; transition: max-height 0.9s ease, padding 0.5s ease-out; background-color: $dark_green; width: 100vw; padding: 0; align-items: center; flex-direction: column; > li { width: 100%; display: flex; justify-content: center; padding: 6px 0; opacity: 0; transition: opacity 0.3s ease; max-width: 60vw; > a { text-align: center; line-height: 1.2; color: white; font-family: $marianne; font-weight: 800; padding: 4px 6px; background-color: rgba(255, 255, 255, 0); transition: background-color 0.3s ease, color 0.3s ease; } > a:hover { background-color: white; color: $dark_green; } > a.is-active { background-color: white; color: $dark_green; } @media (min-width: $breakpoint_tablet) { max-width: 30vw; } #socials-in-menu-wrapper { display: flex; width: auto; li { width: auto; padding: 0 1rem; margin-top: 1rem; a { span { color: white; } svg { display: none; } } } } } > li.visible { opacity: 1; } > li:nth-of-type(1), > li:nth-of-type(6), > li:nth-of-type(7), > li:nth-of-type(8), > li:nth-of-type(9), > li:nth-of-type(10) { border-bottom: solid 1px white; padding: 12px 0; } @media (min-width: $breakpoint_desktop) { width: 25vw; right: 0; left: auto; li { width: calc(100% - $x_margin * 2); a { width: 100%; text-align: left; } } } } ul.active { padding: 30px 0; padding-top: 3rem; max-height: calc(100vh - #{$header_height}); overflow-y: scroll; } } } > div:nth-of-type(2) { z-index: 98; position: relative; } } #block-erabletheme-leprogramme { position: fixed; background-color: white; max-height: 0vh; overflow: hidden; display: none; transition: max-height 0.6s ease; > h2 { display: none; } ul { padding: 1rem 1.5rem; li { font-family: $marianne; font-size: $fs_sm; margin: 0.5rem 0; a { color: black; &:hover, &.is-active { font-weight: 800; } } } } } }