/*
 * Duhamel — présentation fidèle au site municipal (mesures du 22 sept. 2026, evidence/reference-source-2026-09-22).
 * Bureau ≥ 1024 px : en-tête fixe de 110 px, colonne latérale fixe de 300 px, contenu à 50 px de marge.
 * Tablette 601–1023 px : en-tête vert, logo sur cartouche blanc. Mobile ≤ 600 px : logo + bouton de menu sombre.
 */
:root {
  --dh-vert: #7EB851;
  --dh-titre: #59595B;
  --dh-fonce: #575756;
  --dh-texte2: #565657;
  --dh-bleu: #C6D9F1;
  --dh-pale: #F7F7F7;
  --dh-ligne: #E8E8E8;
  --dh-mobile-bg: #2B2B2B;
  --dh-font: "Source Sans 3", "Source Sans Pro", sans-serif;
  --dh-scale: 1;
}
html { font-size: calc(16px * var(--dh-scale)); }
body { margin: 0; font-family: var(--dh-font); font-size: 1.1rem; line-height: 1.5; color: #000; background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--dh-vert); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed !important; left: 10px; top: 10px; width: auto; height: auto; clip: auto; z-index: 100000; background: #fff; color: #000; padding: 10px 16px; outline: 3px solid var(--dh-vert); }
:focus-visible { outline: 3px solid #1b5fa8; outline-offset: 2px; }
h1, h2, h3, h4, h5 { font-family: var(--dh-font); font-weight: 300; line-height: 1.1; text-rendering: optimizeLegibility; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }

/* ------------------------------------------------------------------ en-tête */
.dh-site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; background: #fff; }
.dh-header__inner { position: relative; height: 110px; max-width: 1390px; }
.dh-logo { position: absolute; left: 50px; top: 15px; }
.dh-logo img { display: block; width: 231px; height: 80px; }
.dh-first { position: absolute; right: 0; top: 15px; display: flex; align-items: center; gap: 24px; }
.dh-first__menu { display: flex; gap: 20px; list-style: none; margin: 0 16px 0 0; padding: 0; }
.dh-first__menu a { color: var(--dh-titre); font-size: 1.2rem; font-weight: 300; text-decoration: none; }
.dh-first__menu a:hover, .dh-first__menu a[aria-current] { color: var(--dh-vert); }
.duhamel-search { position: relative; display: flex; }
.duhamel-search input[type=search] { font-family: Arial, sans-serif; border: 0; border-bottom: 1px solid var(--dh-ligne); width: 200px; height: 30px; padding: 0 30px 0 0; font-size: .9rem; color: #8C8C8D; background: transparent; }
.duhamel-search button { position: absolute; right: 0; top: 2px; width: 26px; height: 26px; border: 0; cursor: pointer; background: url(img/search.svg) no-repeat center / 20px; }
.dh-textsize { font-weight: 700; color: var(--dh-titre); font-size: 1.1rem; white-space: nowrap; }
.dh-textsize button { border: 0; background: none; font: inherit; color: inherit; cursor: pointer; padding: 0 2px; }
.dh-textsize__down { font-size: .9em; }
.dh-textsize__up { font-size: 1.1em; }
.dh-mega { position: absolute; right: 0; top: 55px; }
.dh-mega__menu { display: flex; list-style: none; margin: 0; padding: 0; }
.dh-mega__menu > li + li { margin-left: 70px; }
.mm-toggle { font-family: var(--dh-font); font-size: 1.8rem; font-weight: 300; color: var(--dh-titre); background: none; border: 0; padding: 0 20px 0 0; cursor: pointer; line-height: 1; position: relative; }
.mm-toggle::after { content: ""; position: absolute; right: 0; bottom: 6px; width: 15px; height: 7px; background: url(img/arrow-main-menu.svg) no-repeat center / contain; }
.mm-toggle[aria-expanded=true], .mm-toggle:hover { color: var(--dh-vert); }
.mm-panel { position: fixed; left: 400px; right: 0; top: 110px; background: rgba(40,40,40,.95); color: #fff; padding: 25px 30px 35px 50px; max-height: calc(100vh - 110px); overflow-y: auto; }
@media (max-width: 1500px) { .mm-panel { left: 300px; } .dh-mega__menu > li + li { margin-left: 30px; } }
.mm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 30px; }
.mm-col { list-style: none; margin: 0; padding: 0; }
.mm-col > li { margin: 0 0 22px; }
.mm-col ul { list-style: none; margin: 4px 0 0; padding: 0; }
.mm-parent { color: #fff; font-size: 1.32rem; font-weight: 300; line-height: 1.05; text-decoration: none; display: inline-block; text-transform: lowercase; }
.mm-parent::first-letter { text-transform: uppercase; }
.mm-child { color: #fff; font-size: .99rem; font-weight: 400; line-height: 1.05; text-decoration: none; display: inline-block; margin: 2px 0; }
.mm-col > li { padding: 7px 10px; margin: 10px 0 12px; }
.mm-col ul li { padding-top: 5px; }
.mm-panel a:hover, .mm-panel a:focus { color: var(--dh-vert); }
.dh-burger, .dh-mobile-search, .dh-mobile { display: none; }

/* ------------------------------------------------------------------ mise en page */
.dh-layout { padding-top: 110px; }
.dh-sidebar { position: fixed; top: 110px; left: 0; bottom: 0; width: 300px; overflow-y: auto; background: rgba(0,0,0,.03); z-index: 50; }
.dh-main, .dh-site-footer { margin-left: 300px; max-width: 1090px; }
.dh-site-footer { max-width: 1140px; }
.dh-banline { height: 5px; background: var(--dh-vert); }
.dh-content { padding: 50px 0 50px 50px; }
.dh-content > * + * { margin-top: 0; }

/* colonne latérale */
.dh-greenbox { background: var(--dh-vert); width: 325px; height: 160px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; position: relative; }
.dh-greenbox::after { content: ""; position: absolute; right: 0; bottom: -10px; border-left: 25px solid #5d8a3a; border-bottom: 10px solid transparent; }
.dh-greenbox__label { color: #fff; font-size: 1.87rem; font-weight: 300; margin: 0; padding: 0 15px; text-align: center; line-height: 1; }
.dh-greenbox--search { width: 300px; height: 142px; }
.dh-greenbox--search::after { display: none; }
.dh-greenbox--search .duhamel-search input[type=search] { width: 203px; height: 52px; border: 1px solid rgba(255,255,255,.8); color: #fff; padding: 0 40px 0 8px; font-size: .8rem; }
.dh-greenbox--search .duhamel-search input::placeholder { color: #fff; }
.dh-greenbox--search .duhamel-search button { top: 13px; right: 8px; background-image: url(img/search-white.svg); }
.dh-subnav { padding: 15px 30px 30px; }
.dh-subnav ul { list-style: none; margin: 0; padding: 0; }
.dh-subnav > ul > li { border-bottom: 1px solid #ddd; }
.dh-subnav > ul > li > a, .dh-subnav > ul > li > span { display: block; padding: 5px 10px 5px 0; color: var(--dh-titre); font-size: 1.21rem; font-weight: 300; text-decoration: none; line-height: 1.5; }
.dh-subnav a:hover, .dh-subnav a[aria-current] { color: var(--dh-vert); }
.dh-subnav li li { border-left: 5px solid var(--dh-vert); border-top: 1px solid #ddd; }
.dh-subnav li li a { display: block; padding: 5px 10px 5px 10px; color: var(--dh-vert); font-size: 1.1rem; font-weight: 300; line-height: 1.1; text-decoration: none; }
.dh-subnav li li a[aria-current] { font-weight: 400; }
.dh-quick { padding: 25px 30px 40px; }
.dh-quick__title { font-size: 1.4rem; font-weight: 700; color: var(--dh-titre); margin: 0 0 12px; line-height: 1.1; }
.dh-quick__list { list-style: none; margin: 0; padding: 0; }
.dh-quick__list li { border-bottom: 1px solid #ddd; }
.dh-quick__list a, .dh-quick__list span { display: block; padding: 5px 10px 5px 0; color: var(--dh-titre); font-size: 1.1rem; font-weight: 300; line-height: 1.35; text-decoration: none; }
.dh-quick__list a:hover { color: var(--dh-vert); }

/* bandeau des avis */
.mext-notice-banner { background: var(--dh-fonce); color: #fff; text-align: center; padding: 30px 25px 25px; position: relative; }
.mext-notice-banner ul { list-style: none; margin: 0; padding: 0; }
.mext-notice-banner__cat { color: var(--dh-vert); margin: 0 0 6px; font-weight: 300; }
.mext-notice-banner__title { color: #fff; font-size: 1.43rem; font-weight: 300; line-height: 1.1; margin: 0 0 14px; text-transform: none; }
.mext-notice-banner .mext-arrow { display: inline-block; width: 60px; height: 14px; background: url(img/arrow-white.svg) no-repeat center / contain; }
.mext-notice-banner__controls { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 10px; font-size: .8rem; color: #ddd; }
.mext-notice-banner__controls button { background: none; border: 1px solid rgba(255,255,255,.4); color: #fff; width: 26px; height: 22px; line-height: 1; cursor: pointer; font-size: .8rem; padding: 0; }

/* ------------------------------------------------------------------ contenu */
.dh-ariane { color: var(--dh-vert); font-size: 1.1rem; line-height: 1; margin: 16px 0 10px; }
.dh-ariane a, .dh-ariane span[aria-current] { color: var(--dh-vert); font-weight: 700; text-decoration: none; }
.dh-ariane span[aria-hidden] { font-weight: 400; }
.dh-title, .dh-content h1 { font-size: 3.41rem; font-weight: 300; color: var(--dh-titre); line-height: 1.1; margin: 0 0 30px; }
.dh-text { font-weight: 300; }
.dh-text h2 { font-size: 2.75rem; font-weight: 300; color: var(--dh-titre); margin: 1em 0 .5em; }
.dh-text h3 { font-size: 2.2rem; font-weight: 300; margin: 1.2em 0 .6em; }
.dh-text > h3:first-child { margin-top: .3em; }
.dh-text h4 { font-size: 1.65rem; font-weight: 400; margin: 1em 0 .5em; }
.dh-text p { margin: 0 0 1em; }
.dh-text strong, .dh-text b { font-weight: 700; }
.dh-text a { color: var(--dh-vert); font-weight: 700; text-decoration: none; }
.dh-text a:hover { text-decoration: underline; }
.dh-text ul { list-style: none; padding: 0; margin: 0 0 1em; }
.dh-text ul li { background: url(img/arrow.svg) no-repeat left 10px / 5px; padding-left: 10px; }
.dh-text ol { padding-left: 1.3em; }
.dh-text .mext-documents__list li, .dh-text .wp-block-list li { background: none; padding-left: 0; }
.dh-text table { border-collapse: collapse; width: auto; max-width: 100%; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 30px 0; border: 0; }
.dh-text tr { border: 1px solid var(--dh-ligne); }
.dh-text td, .dh-text th { border: 1px solid var(--dh-ligne); padding: 10px 25px; min-width: 180px; line-height: 1.15; vertical-align: middle; font-weight: 400; }
.dh-text table p { margin: .3em 0; }
.dh-text .wp-block-table { overflow-x: auto; }
.dh-text .dh-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dh-text hr { border: 0; border-top: 1px solid #ccc; margin: 1em 0; }
.dh-text img { max-width: 100%; height: auto; }
.dh-text .wp-block-file { margin: 0 0 .4em; }
.dh-text .wp-block-file a:not(.wp-block-file__button) { font-weight: 700; }
.dh-text .wp-block-file__button { display: none; }

/* fiches de contact */
.mext-persons ul { list-style: none; margin: 60px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mext-person { background: rgba(0,0,0,.03); width: 333px; min-height: 326px; box-sizing: border-box; text-align: center; color: var(--dh-texte2); padding: 36px 36px 30px; }
.mext-person__name { color: var(--dh-vert); font-size: 2.2rem; font-weight: 300; margin: 0 0 12px; line-height: 1.05; }
.mext-person__role { margin: 0 0 10px; line-height: 1.15; }
.mext-person__adr { font-weight: 300; margin: 0 0 10px; }
.mext-person__tel { font-weight: 300; margin: 0; }
.mext-person__tel a { color: inherit; text-decoration: none; font-weight: 300; }
.mext-person__mail { margin: 0 0 16px; word-break: break-all; }
.mext-person__mail a { color: var(--dh-vert); font-weight: 700; text-decoration: none; }
.mext-person__photo { display: block; margin: 0 auto 14px; max-width: 160px; }

/* listes de documents */
.mext-documents { margin-top: 40px; }
.mext-documents h2 { font-size: 2.75rem; color: var(--dh-titre); font-weight: 300; margin: 0 0 20px; }
.mext-documents__year { font-size: 1.65rem; margin: 20px 0 10px; }
.mext-documents__list { list-style: none; margin: 0; padding: 0; }
.mext-documents__list li { border-bottom: 1px solid var(--dh-ligne); }
.mext-documents__list a { display: block; padding: 10px 40px 10px 0; color: var(--dh-titre); font-weight: 400; text-decoration: none; background: url(img/pdf.png) no-repeat right center / 20px; }
.mext-documents__list a:hover { color: var(--dh-vert); }

/* séances */
.mext-meetings-block h2 { font-size: 2.75rem; color: var(--dh-titre); font-weight: 300; margin: 40px 0 20px; }
.mext-meetings__upcoming { background: #eee; padding: 5px 20px 30px; margin-top: 30px; }
.mext-meetings__upcoming h2 { margin-top: 20px; }
.mext-meetings ul, .mext-meetings__upcoming ul { list-style: none; margin: 0; padding: 0; }
.mext-meeting { border-bottom: 1px solid var(--dh-ligne); padding: 20px 0; }
.mext-meeting__head { font-weight: 300; margin-bottom: 6px; }
.mext-meeting__head .date { font-weight: 700; }
.mext-meeting__agenda { display: inline-block; color: var(--dh-vert); font-weight: 700; text-decoration: none; margin: 4px 0; }
.mext-meeting__minutes { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.mext-meeting__minutes > span { color: var(--dh-titre); }
.mext-meeting__buttons { display: flex; gap: 8px; }
.mext-btn { display: inline-block; width: 32px; height: 32px; background: #eee no-repeat center / 20px; border-radius: 50%; }
.mext-btn--pdf { background-image: url(img/eye-icon-proces-verbal.png); }
.mext-btn--audio { background-image: url(img/speaker-icon-proces-verbal.png); }
.mext-btn--video { background-image: url(img/speaker-icon-proces-verbal.png); }
.mext-btn:hover, .mext-btn:focus { background-color: var(--dh-vert); }
.mext-pager ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 30px 0; }
.mext-pager a, .mext-pager span { display: inline-block; min-width: 34px; padding: 6px 8px; text-align: center; border: 1px solid var(--dh-ligne); color: var(--dh-titre); text-decoration: none; }
.mext-pager span[aria-current] { background: var(--dh-vert); color: #fff; border-color: var(--dh-vert); }

/* avis publics */
.mext-notices { list-style: none; margin: 0; padding: 0; }
.mext-notice { margin: 0 0 30px; }
.mext-notice__title { font-size: 2rem; color: var(--dh-titre); font-weight: 300; margin: 0 0 10px; }
.mext-notices--registry .mext-notice__title { font-size: 2.75rem; }
.mext-notice__prefix { color: #212121; }
.mext-notice__body a { color: var(--dh-vert); font-weight: 700; text-decoration: none; }

/* listes de nouvelles et événements */
.mext-list > ul { list-style: none; margin: 0; padding: 0; }
.mext-card--row { display: flex; gap: 30px; padding: 25px 0; border-bottom: 1px solid var(--dh-ligne); position: relative; }
.mext-card--row .mext-card__image { flex: 0 0 280px; }
.mext-card--row .mext-card__image img { width: 280px; height: 187px; object-fit: cover; display: block; }
.mext-card__placeholder { display: block; width: 280px; height: 187px; background: #eee url(img/img_default_small.jpg) center / cover; }
.mext-card--row .mext-card__body { flex: 1; }
.mext-card__date { color: var(--dh-vert); font-weight: 300; text-transform: uppercase; font-size: .9rem; margin-bottom: 6px; }
.mext-card__title { font-size: 1.7rem; font-weight: 300; margin: 0 0 10px; color: var(--dh-titre); }
.mext-card__title a { color: inherit; text-decoration: none; }
.mext-card__excerpt { font-weight: 300; }
.mext-card__excerpt p { margin: 0 0 10px; }
.mext-arrow { display: inline-block; width: 60px; height: 14px; background: url(img/arrow-gray.svg) no-repeat center / contain; }
.mext-card--row .mext-arrow { position: static; }
.mext-button, .mext-back a { color: var(--dh-vert); font-weight: 400; text-decoration: none; }
.mext-events__toggle { margin: 0 0 10px; }
.mext-events__heading { display: none; }
.mext-empty { font-size: 1.3rem; font-weight: 400; }
.mext-item-date { color: #000; margin: -20px 0 20px; font-weight: 400; }
.mext-item-location { margin: -14px 0 20px; font-weight: 300; }
.mext-back { margin: 0 0 20px; }

/* partage */
.dh-share { margin: 30px 0 10px; }
.dh-share__title { font-size: 1.65rem; font-weight: 300; color: var(--dh-titre); margin: 0 0 10px; }
.dh-share ul { list-style: none; display: flex; gap: 10px; padding: 0; margin: 0; }
.dh-share a { display: block; width: 32px; height: 32px; background: no-repeat center / contain; }
.dh-share__facebook { background-image: url(img/icon-facebook.png); }
.dh-share__twitter { background-image: url(img/icon-twitter.png); }

/* accueil */
.dh-layout--home .dh-sidebar { background: rgba(0,0,0,.03); }
.dh-hero ul { list-style: none; margin: 0; padding: 0; }
.dh-hero__slide { height: 418px; background: #ddd center / cover no-repeat; }
.dh-content--home { padding-top: 40px; }
.dh-home-title { font-size: 2.75rem; color: var(--dh-titre); font-weight: 300; margin: 0 0 28px; }
.mext-latest { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 23px; }
.mext-card--tile { background: #f6f6f6; text-align: center; padding-bottom: 20px; }
.mext-card--tile .mext-card__image img, .mext-card--tile .mext-card__placeholder { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; display: block; }
.mext-card--tile .mext-card__body { padding: 20px 20px 0; }
.mext-card--tile .mext-card__date { font-size: .8rem; }
.mext-card--tile .mext-card__title { font-size: 1.3rem; margin: 6px 0 14px; }
.mext-latest__more { text-align: right; margin: 20px 0 30px; }
.mext-latest__more a { color: var(--dh-vert); font-weight: 700; text-transform: uppercase; text-decoration: none; font-size: .9rem; }
.dh-home-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 21px; margin-top: 10px; }
.dh-home-card { min-height: 260px; box-sizing: border-box; color: #fff; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.dh-home-card--notice .mext-notice-banner { background: var(--dh-vert); width: 100%; min-height: 260px; box-sizing: border-box; padding-top: 110px; }
.dh-home-card--notice .mext-notice-banner::before { content: ""; position: absolute; top: 30px; left: 50%; margin-left: -35px; width: 70px; height: 70px; border-radius: 50%; background: #3d3d3d url(img/avis.svg) no-repeat center / 40px; }
.dh-home-card--notice .mext-notice-banner__cat { color: #fff; font-weight: 700; }
.dh-home-card--notice .mext-notice-banner__title { text-transform: uppercase; }
.dh-home-card--fire { background: var(--dh-fonce) url(img/sopfeu-map.jpg) center / cover; padding: 30px; }
.dh-home-card__icon { width: 60px; height: 70px; background: url(img/fire.svg) no-repeat center / contain; margin-bottom: 14px; }
.dh-home-card__title { font-size: 1.43rem; font-weight: 300; margin: 0 0 14px; line-height: 1.1; }
.dh-home-card--fire .mext-arrow { background-image: url(img/arrow-white.svg); }

/* ------------------------------------------------------------------ pied de page */
.dh-footer { background: var(--dh-fonce); color: #fff; }
.dh-footer__inner { display: grid; grid-template-columns: 1fr 1fr 1fr; padding: 80px 0 80px 50px; max-width: 1090px; }
.dh-footer__col { padding: 0 40px 0 0; font-weight: 300; }
.dh-footer__col + .dh-footer__col { border-left: 1px solid rgba(255,255,255,.25); padding-left: 35px; }
.dh-footer__title { color: var(--dh-vert); font-size: 1.43rem; font-weight: 300; margin: 0 0 20px; line-height: 1.1; }
.dh-footer__col p { margin: 0 0 18px; }
.dh-footer__col strong, .dh-footer__col strong a { font-weight: 700; color: #fff; text-decoration: none; }
.dh-footer__col .dh-footer__title ~ .dh-footer__title, .dh-footer__col p + .dh-footer__title { margin-top: 40px; }
.dh-footer__mail { color: #fff; font-weight: 700; text-decoration: none; }
.dh-footer__links { list-style: none; margin: 0 0 30px; padding: 0; }
.dh-footer__links a, .dh-footer__links span { color: #fff; font-weight: 700; text-decoration: none; line-height: 1.3; }
.dh-footer__links a::after { content: " ›"; color: var(--dh-vert); }
.dh-footer__logo-wrap { margin: 0 0 16px; }
.dh-footer__logo { display: block; background: #fff; padding: 6px; max-width: 164px; }
.dh-newsletter label { display: block; font-family: Arial, sans-serif; font-size: 13px; color: #fff; }
.dh-newsletter input, .dh-newsletter select { width: 100%; background: transparent; border: 0; border-bottom: 1px solid #878787; color: #fff; font: inherit; font-size: .9rem; height: 26px; }
.dh-newsletter select { width: auto; }
.dh-newsletter select option { color: #000; }
.dh-newsletter p { margin: 0 0 22px; }
.dh-newsletter__submit { width: 60px; height: 20px; border: 0; cursor: pointer; background: url(img/arrow-white.svg) no-repeat left center / contain; }
.dh-credits { background: var(--dh-pale); color: #292929; text-align: center; padding: 20px 0; font-size: 1.01rem; margin-left: 300px; max-width: 1140px; }
.dh-credits a { color: var(--dh-vert); font-weight: 700; text-decoration: none; }
.dh-credits .nobr { white-space: nowrap; }
.dh-site-footer .dh-credits { margin-left: 0; }

/* recherche */
.dh-results .wp-block-post-template { list-style: none; padding: 0; }
.dh-result__title { font-size: 1.6rem; margin: 20px 0 6px; }
.dh-result__title a { color: var(--dh-vert); text-decoration: none; }
.dh-search-page { max-width: 600px; margin-bottom: 30px; }

/* ------------------------------------------------------------------ formulaires (Forminator) */
.dh-text .forminator-ui.forminator-custom-form { font-family: var(--dh-font) !important; }
.dh-form-actions { display: flex; gap: 12px; margin: 0 0 20px; }
.dh-print { background: none; border: 1px solid var(--dh-vert); color: var(--dh-vert); padding: 6px 14px; cursor: pointer; font: inherit; }

/* ------------------------------------------------------------------ tablette et mobile */
@media (max-width: 1023px) {
  .dh-site-header { position: static; background: var(--dh-vert); }
  .dh-header__inner { height: 110px; max-width: none; }
  .dh-logo { left: 0; top: 0; width: 300px; height: 110px; background: #fff; display: flex; align-items: center; justify-content: center; }
  .dh-logo img { width: 256px; height: auto; }
  .dh-first, .dh-mega { display: none; }
  .dh-burger { display: block; position: absolute; right: 32px; top: 38px; width: 32px; height: 30px; background: none; border: 0; cursor: pointer; }
  .dh-burger__bars, .dh-burger__bars::before, .dh-burger__bars::after { display: block; height: 4px; background: #fff; border-radius: 2px; position: relative; }
  .dh-burger__bars::before, .dh-burger__bars::after { content: ""; position: absolute; left: 0; right: 0; }
  .dh-burger__bars::before { top: -10px; }
  .dh-burger__bars::after { top: 10px; }
  .dh-burger[aria-expanded=true] .dh-burger__bars { background: transparent; }
  .dh-burger[aria-expanded=true] .dh-burger__bars::before { top: 0; transform: rotate(45deg); }
  .dh-burger[aria-expanded=true] .dh-burger__bars::after { top: 0; transform: rotate(-45deg); }
  .dh-mobile-search { display: block; position: absolute; left: 370px; right: 90px; top: 30px; }
  .dh-mobile-search .duhamel-search input[type=search] { width: 100%; height: 52px; border: 1px solid rgba(255,255,255,.85); color: #fff; padding: 0 44px 0 20px; font-size: 1rem; box-sizing: border-box; }
  .dh-mobile-search .duhamel-search input::placeholder { color: #fff; }
  .dh-mobile-search .duhamel-search button { top: 13px; right: 12px; background-image: url(img/search-white.svg); }
  .dh-site-header { position: relative; }
  .dh-mobile { display: block; background: var(--dh-mobile-bg); position: absolute; left: 0; right: 0; top: 110px; min-height: calc(100vh - 110px); z-index: 99999; }
  .dh-mobile[hidden] { display: none; }
  .dh-mobile ul { list-style: none; margin: 0; padding: 0; }
  .dh-mobile li { border-bottom: 1px solid #444; }
  .dh-mobile button, .dh-mobile a, .dh-mobile span { display: flex; justify-content: space-between; width: 100%; box-sizing: border-box; background: none; border: 0; color: #fff; font: inherit; font-size: 1.4rem; font-weight: 300; text-transform: uppercase; padding: 16px 15px; text-align: left; text-decoration: none; cursor: pointer; }
  .dh-mobile .mob-open::after, .dh-mobile .mob-link::after { content: ">"; color: var(--dh-vert); font-size: 1.1rem; }
  .dh-mobile .mob-sub a { text-transform: none; font-size: 1.2rem; }
  .dh-layout { padding-top: 0; }
  .dh-sidebar { display: none; }
  .dh-layout--home .dh-sidebar { display: none; }
  .dh-main, .dh-site-footer, .dh-credits { margin-left: 0; max-width: none; }
  .dh-banline { display: block; }
  .dh-content { padding: 50px; }
  .dh-hero__slide { height: 400px; }
  .dh-footer__inner { grid-template-columns: 1fr; padding: 60px 50px; }
  .dh-footer__col + .dh-footer__col { border-left: 0; padding-left: 0; margin-top: 30px; }
  .mext-person { width: 100%; }
}
@media (max-width: 600px) {
  .dh-site-header { background: #fff; }
  .dh-header__inner { height: 60px; }
  .dh-logo { width: auto; height: 60px; left: 10px; background: transparent; justify-content: flex-start; }
  .dh-logo img { width: 166px; }
  .dh-burger { right: 0; top: 0; width: 60px; height: 60px; background: #2e2e2e; }
  .dh-burger__bars, .dh-burger__bars::before, .dh-burger__bars::after { width: 28px; margin: 0 auto; }
  .dh-mobile-search { position: static; background: var(--dh-vert); padding: 0; }
  .dh-mobile-search .duhamel-search input[type=search] { border: 0; height: 50px; padding: 0 50px 0 20px; font-family: Arial, sans-serif; }
  .dh-mobile-search .duhamel-search button { top: 10px; right: 10px; width: 30px; height: 30px; background-size: 26px; }
  .dh-mobile { top: 110px; }
  .dh-content { padding: 40px 25px; }
  .dh-title, .dh-content h1 { font-size: 2.3rem; }
  .dh-text h3 { font-size: 1.6rem; }
  .dh-text p { text-align: justify; }
  .dh-text td, .dh-text th { padding: 10px 15px; }
  .dh-hero__slide { height: 168px; }
  .mext-latest { grid-template-columns: 1fr; }
  .dh-home-cards { grid-template-columns: 1fr; }
  .mext-card--row { flex-direction: column; gap: 12px; }
  .mext-card--row .mext-card__image, .mext-card--row .mext-card__image img, .mext-card__placeholder { width: 100%; flex-basis: auto; height: auto; aspect-ratio: 3 / 2; }
  .dh-footer__inner { padding: 60px 25px; }
  .mext-person { padding: 36px 20px; }
}

/* impression */
@media print {
  .dh-site-header, .dh-sidebar, .dh-site-footer, .dh-banline, .dh-ariane, .dh-form-actions { display: none !important; }
  .dh-layout { padding: 0; }
  .dh-main { margin: 0; }
  .dh-content { padding: 0; }
}
