diff --git a/config/sync/block.block.quartiers_de_demain_pieddepage.yml b/config/sync/block.block.quartiers_de_demain_pieddepage.yml index 3b0cd19..9596574 100644 --- a/config/sync/block.block.quartiers_de_demain_pieddepage.yml +++ b/config/sync/block.block.quartiers_de_demain_pieddepage.yml @@ -1,10 +1,11 @@ uuid: fb3ab396-be9a-49fe-beca-ba81e4a9868a langcode: fr -status: true +status: false dependencies: config: - system.menu.footer module: + - context - menu_block theme: - quartiers_de_demain @@ -28,4 +29,9 @@ settings: expand_all_items: false parent: 'footer:' suggestion: footer -visibility: { } +visibility: + view_inclusion: + id: view_inclusion + negate: false + view_inclusion: + view-block_content-page_1: view-block_content-page_1 diff --git a/config/sync/block.block.quartiers_de_demain_pieddepage_2.yml b/config/sync/block.block.quartiers_de_demain_pieddepage_2.yml new file mode 100644 index 0000000..cd0700b --- /dev/null +++ b/config/sync/block.block.quartiers_de_demain_pieddepage_2.yml @@ -0,0 +1,31 @@ +uuid: 7134aa8e-01d8-4022-8650-3a66259fcefe +langcode: fr +status: true +dependencies: + config: + - system.menu.footer + module: + - menu_block + theme: + - quartiers_de_demain +id: quartiers_de_demain_pieddepage_2 +theme: quartiers_de_demain +region: footer_middle +weight: 0 +provider: null +plugin: 'menu_block:footer' +settings: + id: 'menu_block:footer' + label: 'Pied de page' + label_display: visible + provider: menu_block + follow: false + follow_parent: child + label_link: false + label_type: block + level: 1 + depth: 0 + expand_all_items: false + parent: 'footer:' + suggestion: footer +visibility: { } diff --git a/web/themes/custom/quartiers_de_demain/css/quartiers_de_demain.css b/web/themes/custom/quartiers_de_demain/css/quartiers_de_demain.css index a2f3181..c5753c6 100644 --- a/web/themes/custom/quartiers_de_demain/css/quartiers_de_demain.css +++ b/web/themes/custom/quartiers_de_demain/css/quartiers_de_demain.css @@ -1,8 +1,15 @@ /*quartiers_de_demain*/ /*global*/ /* Colors used for quartiers_de_demain */ -.mailto { - text-decoration: underline; } +@media (min-width: 48rem) { + :root { + font-size: calc(1rem + ((1vw - .48rem) * 1.389)); + /* .48rem = viewportWidthMinimum /100 */ + /* 1.389rem = 100 * fontSizeDifference / viewportWidthDifference */ } } + +@media (min-width: 120em) { + :root { + font-size: 2rem; } } /*marianne*/ @font-face { @@ -101,46 +108,6 @@ .layout-container footer { flex: 0 0 100%; } -.layout-content { - order: 2; - padding-top: 3rem; - padding-bottom: 6rem; - width: 70%; - margin: auto; } - @media (max-width: 891px) { - .layout-content { - width: 90%; } } - @media (max-width: 500px) { - .layout-content { - padding-top: 0; } } - -aside { - width: 20%; - order: 1; - margin-top: 5rem; - margin-left: 10%; - margin-right: 1rem; } - @media (max-width: 891px) { - aside { - margin-left: 5%; - margin-top: 9rem; } } - @media (max-width: 500px) { - aside { - width: 80%; - margin-top: 3rem; } } - -main { - width: 100%; - display: flex; - flex-direction: row; - position: relative; } - @media (max-width: 500px) { - main { - flex-direction: column; } } - -.main-content { - margin-top: 7rem; } - ul { list-style-type: none; } @@ -168,114 +135,60 @@ svg.ext { /*partials*/ header { display: grid; - grid-template-rows: "logo logo logo logo logo nav" "nav nav nav nav nav nav" "logo logo nav rs"; } - header #block-quartiers-de-demain-logorepu-2 { - grid-row: logo; } - header #block-quartiers-de-demain-logoepau-2 { - grid-area: logo; } - -footer { + grid-template-columns: repeat(12, 1fr); + grid-gap: 10px; + grid-template-rows: repeat(3, 1fr); + height: 150px; background-color: white; - padding-top: 3rem; - font-family: "Marianne"; - font-weight: 800; - font-size: 1.1rem; - text-transform: lowercase; } - footer div { + z-index: 99; + width: 100vw; + max-width: 100vw; + position: -webkit-sticky; + position: sticky; + top: 0; + box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; } + @media (max-width: 800px) { + header { + width: 800px; } } + header .contextual-region { + width: max-content; } + header .header_left_container { + grid-column: 1 /span 11; + grid-row: 1 /span 2; display: flex; flex-direction: row; } - @media (max-width: 891px) { - footer div { - flex-wrap: wrap; } } - @media (max-width: 520px) { - footer div { - flex-direction: column; } } - footer h2 { - font-size: 1.1rem; } - footer section:not(:first-of-type) { - border-left: #fdc300 solid 2px; + header .header_left_container #block-quartiers-de-demain-logoepau-2 { + height: 150px; } + header .header_left_container img { + width: 150px; + height: auto; } + header #block-quartiers-de-demain-entete h2 { + display: none; } + header .close-block, header .open-block { + cursor: pointer; } + header .close-block span, header .open-block span { + display: block; + width: 33px; + height: 2px; + position: relative; + background: black; + border-radius: 3px; + z-index: 1; } + header .close-block { + padding-top: 1.2rem; padding-left: 2rem; } - @media (max-width: 891px) { - footer section:not(:first-of-type) { - margin-left: 1rem; - margin-right: 1rem; - border-left: #fdc300 solid 2px; } } - @media (max-width: 520px) { - footer section:not(:first-of-type) { - margin-left: 1rem; - margin-right: 1rem; - border-left: none; - border-top: #fdc300 solid 2px; } } - footer section:not(:last-of-type) { - padding-right: 5rem; } - @media (max-width: 891px) { - footer section:not(:last-of-type) { - padding-right: 0; } } - @media (max-width: 520px) { - footer section:not(:last-of-type) { - padding-right: 0; } } - footer section:last-of-type { - padding-right: 5rem; } - @media (max-width: 891px) { - footer section:last-of-type { - border-top: #fdc300 solid 2px; - border-left: none; } } - -#footer-left { - margin-left: 10%; } - @media (max-width: 891px) { - #footer-left { - margin-left: 1rem; - padding-left: 2rem; - width: 40%; } } - @media (max-width: 520px) { - #footer-left { - width: 100%; - margin-left: 1rem; - padding-left: 2rem; } } - #footer-left div { - display: flex; - flex-direction: column; } - #footer-left div #block-reha-pieddepage ul { - padding-left: 0; } - #footer-left div #block-reha-logoreha-3 { - display: none; } - #footer-left div .social-media-links--platforms { - display: flex; - flex-direction: row; } - #footer-left div .social-media-links--platforms svg.ext { - display: none; } - -@media (max-width: 891px) { - #footer-middle { - width: 40%; } } - -@media (max-width: 520px) { - #footer-middle { - width: 100%; - margin-right: 1rem; } } - -#footer-middle #block-reha-operateurduprogramme { - display: flex; - flex-direction: column; } - #footer-middle #block-reha-operateurduprogramme img { - max-width: 150px; - height: fit-content; - max-height: 100px; - object-fit: contain; - padding: 1rem; } - -#footer-right #block-reha-config-pages-2 { - display: flex; - flex-direction: column; } - #footer-right #block-reha-config-pages-2 .field--name-field-partenaires .field__items { - display: flex; - flex-direction: row; - flex-wrap: wrap; } - #footer-right #block-reha-config-pages-2 .field--name-field-partenaires .field__items img { - max-width: 120px; - height: fit-content; - max-height: 115px; - object-fit: contain; } + header .close-block span { + transform-origin: center; } + header .close-block > div > span:first-child { + transform: translateY(57%) rotate(45deg); } + header .close-block > div > span:nth-child(2) { + transform: rotate(-45deg); } + header .open-block { + height: 100%; + display: grid; + align-items: center; } + header .open-block span { + margin-bottom: 5px; + transform-origin: 4px 0px; } /*pages*/ diff --git a/web/themes/custom/quartiers_de_demain/scss/global/_core.scss b/web/themes/custom/quartiers_de_demain/scss/global/_core.scss deleted file mode 100644 index 08f7b3a..0000000 --- a/web/themes/custom/quartiers_de_demain/scss/global/_core.scss +++ /dev/null @@ -1,4 +0,0 @@ -.mailto{ - text-decoration: underline; -} - diff --git a/web/themes/custom/quartiers_de_demain/scss/global/_layout.scss b/web/themes/custom/quartiers_de_demain/scss/global/_layout.scss index 1a0f599..f0ab84c 100644 --- a/web/themes/custom/quartiers_de_demain/scss/global/_layout.scss +++ b/web/themes/custom/quartiers_de_demain/scss/global/_layout.scss @@ -28,50 +28,50 @@ $width-menu-slidedown : 550px; } } -.layout-content{ - order: 2; - padding-top: 3rem; - padding-bottom: 6rem; - width: 70%; - margin: auto; - @media(max-width: 891px){ - width: 90%; - } - @media (max-width:500px) { - padding-top: 0; - } +// .layout-content{ +// order: 2; +// padding-top: 3rem; +// padding-bottom: 6rem; +// width: 70%; +// margin: auto; +// @media(max-width: 891px){ +// width: 90%; +// } +// @media (max-width:500px) { +// padding-top: 0; +// } -} +// } -aside{ - width: 20%; - order: 1; - margin-top: 5rem; - margin-left: 10%; - margin-right: 1rem; - @media(max-width:891px){ - margin-left: 5%; - margin-top: 9rem; - } - @media (max-width:500px) { - width: 80%; - margin-top: 3rem; - } -} -main{ - width: 100%; - display: flex; - flex-direction: row; - position: relative; - @media (max-width:500px) { - flex-direction: column; - } +// aside{ +// width: 20%; +// order: 1; +// margin-top: 5rem; +// margin-left: 10%; +// margin-right: 1rem; +// @media(max-width:891px){ +// margin-left: 5%; +// margin-top: 9rem; +// } +// @media (max-width:500px) { +// width: 80%; +// margin-top: 3rem; +// } +// } +// main{ +// width: 100%; +// display: flex; +// flex-direction: row; +// position: relative; +// @media (max-width:500px) { +// flex-direction: column; +// } -} +// } -.main-content{ - margin-top: 7rem; -} +// .main-content{ +// margin-top: 7rem; +// } diff --git a/web/themes/custom/quartiers_de_demain/scss/global/variables/_core.scss b/web/themes/custom/quartiers_de_demain/scss/global/variables/_core.scss new file mode 100644 index 0000000..96873d8 --- /dev/null +++ b/web/themes/custom/quartiers_de_demain/scss/global/variables/_core.scss @@ -0,0 +1,13 @@ +@media (min-width: 48rem) { + :root { + font-size: calc(1rem + ((1vw - .48rem) * 1.389)); + /* .48rem = viewportWidthMinimum /100 */ + /* 1.389rem = 100 * fontSizeDifference / viewportWidthDifference */ + } + } + + @media (min-width: 120em) { + :root { + font-size: 2rem; + } + } \ No newline at end of file diff --git a/web/themes/custom/quartiers_de_demain/scss/global/variables/_settings.scss b/web/themes/custom/quartiers_de_demain/scss/global/variables/_settings.scss new file mode 100644 index 0000000..4313356 --- /dev/null +++ b/web/themes/custom/quartiers_de_demain/scss/global/variables/_settings.scss @@ -0,0 +1,897 @@ +// Foundation for Sites Settings +// ----------------------------- +// +// Table of Contents: +// +// 1. Global +// 2. Breakpoints +// 3. The Grid +// 4. Base Typography +// 5. Typography Helpers +// 6. Abide +// 7. Accordion +// 8. Accordion Menu +// 9. Badge +// 10. Breadcrumbs +// 11. Button +// 12. Button Group +// 13. Callout +// 14. Card +// 15. Close Button +// 16. Drilldown +// 17. Dropdown +// 18. Dropdown Menu +// 19. Flexbox Utilities +// 20. Forms +// 21. Label +// 22. Media Object +// 23. Menu +// 24. Meter +// 25. Off-canvas +// 26. Orbit +// 27. Pagination +// 28. Progress Bar +// 29. Prototype Arrow +// 30. Prototype Border-Box +// 31. Prototype Border-None +// 32. Prototype Bordered +// 33. Prototype Display +// 34. Prototype Font-Styling +// 35. Prototype List-Style-Type +// 36. Prototype Overflow +// 37. Prototype Position +// 38. Prototype Rounded +// 39. Prototype Separator +// 40. Prototype Shadow +// 41. Prototype Sizing +// 42. Prototype Spacing +// 43. Prototype Text-Decoration +// 44. Prototype Text-Transformation +// 45. Prototype Text-Utilities +// 46. Responsive Embed +// 47. Reveal +// 48. Slider +// 49. Switch +// 50. Table +// 51. Tabs +// 52. Thumbnail +// 53. Title Bar +// 54. Tooltip +// 55. Top Bar +// 56. Xy Grid + +@import 'util/util'; + +// 1. Global +// --------- + +$global-font-size: 100%; + +$global-width: 100%; // old value : rem-calc(1200) + +$global-lineheight: 1.5; +$foundation-palette: ( + primary: #1779ba, + secondary: #767676, + success: #3adb76, + warning: #ffae00, + alert: #cc4b37, +); +$light-gray: #e6e6e6; +$medium-gray: #cacaca; +$dark-gray: #8a8a8a; +$black: #0a0a0a; +$white: #fefefe; +$body-background: $white; +$body-font-color: $black; +$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; +$body-antialiased: true; +$global-margin: 1rem; +$global-padding: 1rem; +$global-position: 1rem; +$global-weight-normal: normal; +$global-weight-bold: bold; +$global-radius: 0; +$global-menu-padding: 0.7rem 1rem; +$global-menu-nested-margin: 1rem; +$global-text-direction: ltr; +$global-flexbox: true; +$global-prototype-breakpoints: false; +$global-button-cursor: auto; +$global-color-pick-contrast-tolerance: 0; +$print-transparent-backgrounds: true; +$print-hrefs: true; + +@include add-foundation-colors; + +// 2. Breakpoints +// -------------- + +$breakpoints: ( + small: 0, + medium: 640px, + large: 1024px, + xlarge: 1200px, + xxlarge: 1440px, +); +$breakpoints-hidpi: ( + hidpi-1: 1, + hidpi-1-5: 1.5, + hidpi-2: 2, + retina: 2, + hidpi-3: 3 +); +$print-breakpoint: large; +$breakpoint-classes: (small medium large); + +// 3. The Grid +// ----------- + +$grid-row-width: $global-width; +$grid-column-count: 12; +$grid-column-gutter: ( + small: 20px, + medium: 30px, +); +$grid-column-align-edge: true; +$grid-column-alias: 'columns'; +$block-grid-max: 8; + +// 4. Base Typography +// ------------------ + +$header-font-family: $body-font-family; +$header-font-weight: $global-weight-normal; +$header-font-style: normal; +$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace; +$header-color: inherit; +$header-lineheight: 1.4; +$header-margin-bottom: 0.5rem; +$header-styles: ( + small: ( + 'h1': ('font-size': 24), + 'h2': ('font-size': 20), + 'h3': ('font-size': 19), + 'h4': ('font-size': 18), + 'h5': ('font-size': 17), + 'h6': ('font-size': 16), + ), + medium: ( + 'h1': ('font-size': 48), + 'h2': ('font-size': 40), + 'h3': ('font-size': 31), + 'h4': ('font-size': 25), + 'h5': ('font-size': 20), + 'h6': ('font-size': 16), + ), +); +$header-text-rendering: optimizeLegibility; +$small-font-size: 80%; +$header-small-font-color: $medium-gray; +$paragraph-lineheight: 1.6; +$paragraph-margin-bottom: 1rem; +$paragraph-text-rendering: optimizeLegibility; +$enable-code-inline: true; +$anchor-color: $primary-color; +$anchor-color-hover: scale-color($anchor-color, $lightness: -14%); +$anchor-text-decoration: none; +$anchor-text-decoration-hover: none; +$hr-width: $global-width; +$hr-border: 1px solid $medium-gray; +$hr-margin: rem-calc(20) auto; +$list-lineheight: $paragraph-lineheight; +$list-margin-bottom: $paragraph-margin-bottom; +$list-style-type: disc; +$list-style-position: outside; +$list-side-margin: 1.25rem; +$list-nested-side-margin: 1.25rem; +$defnlist-margin-bottom: 1rem; +$defnlist-term-weight: $global-weight-bold; +$defnlist-term-margin-bottom: 0.3rem; +$blockquote-color: $dark-gray; +$blockquote-padding: rem-calc(9 20 0 19); +$blockquote-border: 1px solid $medium-gray; +$enable-cite-block: true; +$keystroke-font: $font-family-monospace; +$keystroke-color: $black; +$keystroke-background: $light-gray; +$keystroke-padding: rem-calc(2 4 0); +$keystroke-radius: $global-radius; +$abbr-underline: 1px dotted $black; + +// 5. Typography Helpers +// --------------------- + +$lead-font-size: $global-font-size * 1.25; +$lead-lineheight: 1.6; +$subheader-lineheight: 1.4; +$subheader-color: $dark-gray; +$subheader-font-weight: $global-weight-normal; +$subheader-margin-top: 0.2rem; +$subheader-margin-bottom: 0.5rem; +$stat-font-size: 2.5rem; +$cite-color: $dark-gray; +$cite-font-size: rem-calc(13); +$cite-pseudo-content: '\2014 \0020'; +$code-color: $black; +$code-font-family: $font-family-monospace; +$code-font-weight: $global-weight-normal; +$code-background: $light-gray; +$code-border: 1px solid $medium-gray; +$code-padding: rem-calc(2 5 1); +$code-block-padding: 1rem; +$code-block-margin-bottom: 1.5rem; + +// 6. Abide +// -------- + +$abide-inputs: true; +$abide-labels: true; +$input-background-invalid: get-color(alert); +$form-label-color-invalid: get-color(alert); +$input-error-color: get-color(alert); +$input-error-font-size: rem-calc(12); +$input-error-font-weight: $global-weight-bold; + +// 7. Accordion +// ------------ + +$accordion-background: $white; +$accordion-plusminus: true; +$accordion-plus-content: '\002B'; +$accordion-minus-content: '\2013'; +$accordion-title-font-size: rem-calc(12); +$accordion-item-color: $primary-color; +$accordion-item-background-hover: $light-gray; +$accordion-item-padding: 1.25rem 1rem; +$accordion-content-background: $white; +$accordion-content-border: 1px solid $light-gray; +$accordion-content-color: $body-font-color; +$accordion-content-padding: 1rem; + +// 8. Accordion Menu +// ----------------- + +$accordionmenu-padding: $global-menu-padding; +$accordionmenu-nested-margin: $global-menu-nested-margin; +$accordionmenu-submenu-padding: $accordionmenu-padding; +$accordionmenu-arrows: true; +$accordionmenu-arrow-color: $primary-color; +$accordionmenu-item-background: null; +$accordionmenu-border: null; +$accordionmenu-submenu-toggle-background: null; +$accordion-submenu-toggle-border: $accordionmenu-border; +$accordionmenu-submenu-toggle-width: 40px; +$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width; +$accordionmenu-arrow-size: 6px; + +// 9. Badge +// -------- + +$badge-background: $primary-color; +$badge-color: $white; +$badge-color-alt: $black; +$badge-palette: $foundation-palette; +$badge-padding: 0.3em; +$badge-minwidth: 2.1em; +$badge-font-size: 0.6rem; + +// 10. Breadcrumbs +// --------------- + +$breadcrumbs-margin: 0 0 $global-margin 0; +$breadcrumbs-item-font-size: rem-calc(11); +$breadcrumbs-item-color: $primary-color; +$breadcrumbs-item-color-current: $black; +$breadcrumbs-item-color-disabled: $medium-gray; +$breadcrumbs-item-margin: 0.75rem; +$breadcrumbs-item-uppercase: true; +$breadcrumbs-item-separator: true; +$breadcrumbs-item-separator-item: '/'; +$breadcrumbs-item-separator-item-rtl: '\\'; +$breadcrumbs-item-separator-color: $medium-gray; + +// 11. Button +// ---------- + +$button-font-family: inherit; +$button-font-weight: null; +$button-padding: 0.85em 1em; +$button-margin: 0 0 $global-margin 0; +$button-fill: solid; +$button-background: $primary-color; +$button-background-hover: scale-color($button-background, $lightness: -15%); +$button-color: $white; +$button-color-alt: $black; +$button-radius: $global-radius; +$button-border: 1px solid transparent; +$button-hollow-border-width: 1px; +$button-sizes: ( + tiny: 0.6rem, + small: 0.75rem, + default: 0.9rem, + large: 1.25rem, +); +$button-palette: $foundation-palette; +$button-opacity-disabled: 0.25; +$button-background-hover-lightness: -20%; +$button-hollow-hover-lightness: -50%; +$button-transition: background-color 0.25s ease-out, color 0.25s ease-out; +$button-responsive-expanded: false; + +// 12. Button Group +// ---------------- + +$buttongroup-margin: 1rem; +$buttongroup-spacing: 1px; +$buttongroup-child-selector: '.button'; +$buttongroup-expand-max: 6; +$buttongroup-radius-on-each: true; + +// 13. Callout +// ----------- + +$callout-background: $white; +$callout-background-fade: 85%; +$callout-border: 1px solid rgba($black, 0.25); +$callout-margin: 0 0 1rem 0; +$callout-sizes: ( + small: 0.5rem, + default: 1rem, + large: 3rem, +); +$callout-font-color: $body-font-color; +$callout-font-color-alt: $body-background; +$callout-radius: $global-radius; +$callout-link-tint: 30%; + +// 14. Card +// -------- + +$card-background: $white; +$card-font-color: $body-font-color; +$card-divider-background: $light-gray; +$card-border: 1px solid $light-gray; +$card-shadow: none; +$card-border-radius: $global-radius; +$card-padding: $global-padding; +$card-margin-bottom: $global-margin; + +// 15. Close Button +// ---------------- + +$closebutton-position: right top; +$closebutton-z-index: 10; +$closebutton-default-size: medium; +$closebutton-offset-horizontal: ( + small: 0.66rem, + medium: 1rem, +); +$closebutton-offset-vertical: ( + small: 0.33em, + medium: 0.5rem, +); +$closebutton-size: ( + small: 1.5em, + medium: 2em, +); +$closebutton-lineheight: 1; +$closebutton-color: $dark-gray; +$closebutton-color-hover: $black; + +// 16. Drilldown +// ------------- + +$drilldown-transition: transform 0.15s linear; +$drilldown-arrows: true; +$drilldown-padding: $global-menu-padding; +$drilldown-nested-margin: 0; +$drilldown-background: $white; +$drilldown-submenu-padding: $drilldown-padding; +$drilldown-submenu-background: $white; +$drilldown-arrow-color: $primary-color; +$drilldown-arrow-size: 6px; + +// 17. Dropdown +// ------------ + +$dropdown-padding: 1rem; +$dropdown-background: $body-background; +$dropdown-border: 1px solid $medium-gray; +$dropdown-font-size: 1rem; +$dropdown-width: 300px; +$dropdown-radius: $global-radius; +$dropdown-sizes: ( + tiny: 100px, + small: 200px, + large: 400px, +); + +// 18. Dropdown Menu +// ----------------- + +$dropdownmenu-arrows: true; +$dropdownmenu-arrow-color: $anchor-color; +$dropdownmenu-arrow-size: 6px; +$dropdownmenu-arrow-padding: 1.5rem; +$dropdownmenu-min-width: 200px; +$dropdownmenu-background: null; +$dropdownmenu-submenu-background: $white; +$dropdownmenu-padding: $global-menu-padding; +$dropdownmenu-nested-margin: 0; +$dropdownmenu-submenu-padding: $dropdownmenu-padding; +$dropdownmenu-border: 1px solid $medium-gray; +$dropdown-menu-item-color-active: get-color(primary); +$dropdown-menu-item-background-active: transparent; + +// 19. Flexbox Utilities +// --------------------- + +$flex-source-ordering-count: 6; +$flexbox-responsive-breakpoints: true; + +// 20. Forms +// --------- + +$fieldset-border: 1px solid $medium-gray; +$fieldset-padding: rem-calc(20); +$fieldset-margin: rem-calc(18 0); +$legend-padding: rem-calc(0 3); +$form-spacing: rem-calc(16); +$helptext-color: $black; +$helptext-font-size: rem-calc(13); +$helptext-font-style: italic; +$input-prefix-color: $black; +$input-prefix-background: $light-gray; +$input-prefix-border: 1px solid $medium-gray; +$input-prefix-padding: 1rem; +$form-label-color: $black; +$form-label-font-size: rem-calc(14); +$form-label-font-weight: $global-weight-normal; +$form-label-line-height: 1.8; +$select-background: $white; +$select-triangle-color: $dark-gray; +$select-radius: $global-radius; +$input-color: $black; +$input-placeholder-color: $medium-gray; +$input-font-family: inherit; +$input-font-size: rem-calc(16); +$input-font-weight: $global-weight-normal; +$input-line-height: $global-lineheight; +$input-background: $white; +$input-background-focus: $white; +$input-background-disabled: $light-gray; +$input-border: 1px solid $medium-gray; +$input-border-focus: 1px solid $dark-gray; +$input-padding: $form-spacing * 0.5; +$input-shadow: inset 0 1px 2px rgba($black, 0.1); +$input-shadow-focus: 0 0 5px $medium-gray; +$input-cursor-disabled: not-allowed; +$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out; +$input-number-spinners: true; +$input-radius: $global-radius; +$form-button-radius: $global-radius; + +// 21. Label +// --------- + +$label-background: $primary-color; +$label-color: $white; +$label-color-alt: $black; +$label-palette: $foundation-palette; +$label-font-size: 0.8rem; +$label-padding: 0.33333rem 0.5rem; +$label-radius: $global-radius; + +// 22. Media Object +// ---------------- + +$mediaobject-margin-bottom: $global-margin; +$mediaobject-section-padding: $global-padding; +$mediaobject-image-width-stacked: 100%; + +// 23. Menu +// -------- + +$menu-margin: 0; +$menu-nested-margin: $global-menu-nested-margin; +$menu-items-padding: $global-menu-padding; +$menu-simple-margin: 1rem; +$menu-item-color-active: $white; +$menu-item-color-alt-active: $black; +$menu-item-background-active: get-color(primary); +$menu-icon-spacing: 0.25rem; +$menu-state-back-compat: true; +$menu-centered-back-compat: true; +$menu-icons-back-compat: true; + +// 24. Meter +// --------- + +$meter-height: 1rem; +$meter-radius: $global-radius; +$meter-background: $medium-gray; +$meter-fill-good: $success-color; +$meter-fill-medium: $warning-color; +$meter-fill-bad: $alert-color; + +// 25. Off-canvas +// -------------- + +$offcanvas-sizes: ( + small: 250px, +); +$offcanvas-vertical-sizes: ( + small: 250px, +); +$offcanvas-background: $light-gray; +$offcanvas-shadow: 0 0 10px rgba($black, 0.7); +$offcanvas-inner-shadow-size: 20px; +$offcanvas-inner-shadow-color: rgba($black, 0.25); +$offcanvas-overlay-zindex: 11; +$offcanvas-push-zindex: 12; +$offcanvas-overlap-zindex: 13; +$offcanvas-reveal-zindex: 12; +$offcanvas-transition-length: 0.5s; +$offcanvas-transition-timing: ease; +$offcanvas-fixed-reveal: true; +$offcanvas-exit-background: rgba($white, 0.25); +$maincontent-class: 'off-canvas-content'; + +// 26. Orbit +// --------- + +$orbit-bullet-background: $medium-gray; +$orbit-bullet-background-active: $dark-gray; +$orbit-bullet-diameter: 1.2rem; +$orbit-bullet-margin: 0.1rem; +$orbit-bullet-margin-top: 0.8rem; +$orbit-bullet-margin-bottom: 0.8rem; +$orbit-caption-background: rgba($black, 0.5); +$orbit-caption-padding: 1rem; +$orbit-control-background-hover: rgba($black, 0.5); +$orbit-control-padding: 1rem; +$orbit-control-zindex: 10; + +// 27. Pagination +// -------------- + +$pagination-font-size: rem-calc(14); +$pagination-margin-bottom: $global-margin; +$pagination-item-color: $black; +$pagination-item-padding: rem-calc(3 10); +$pagination-item-spacing: rem-calc(1); +$pagination-radius: $global-radius; +$pagination-item-background-hover: $light-gray; +$pagination-item-background-current: $primary-color; +$pagination-item-color-current: $white; +$pagination-item-color-disabled: $medium-gray; +$pagination-ellipsis-color: $black; +$pagination-mobile-items: false; +$pagination-mobile-current-item: false; +$pagination-arrows: true; +$pagination-arrow-previous: '\00AB'; +$pagination-arrow-next: '\00BB'; + +// 28. Progress Bar +// ---------------- + +$progress-height: 1rem; +$progress-background: $medium-gray; +$progress-margin-bottom: $global-margin; +$progress-meter-background: $primary-color; +$progress-radius: $global-radius; + +// 29. Prototype Arrow +// ------------------- + +$prototype-arrow-directions: ( + down, + up, + right, + left +); +$prototype-arrow-size: 0.4375rem; +$prototype-arrow-color: $black; + +// 30. Prototype Border-Box +// ------------------------ + +$prototype-border-box-breakpoints: $global-prototype-breakpoints; + +// 31. Prototype Border-None +// ------------------------- + +$prototype-border-none-breakpoints: $global-prototype-breakpoints; + +// 32. Prototype Bordered +// ---------------------- + +$prototype-bordered-breakpoints: $global-prototype-breakpoints; +$prototype-border-width: rem-calc(1); +$prototype-border-type: solid; +$prototype-border-color: $medium-gray; + +// 33. Prototype Display +// --------------------- + +$prototype-display-breakpoints: $global-prototype-breakpoints; +$prototype-display: ( + inline, + inline-block, + block, + table, + table-cell +); + +// 34. Prototype Font-Styling +// -------------------------- + +$prototype-font-breakpoints: $global-prototype-breakpoints; +$prototype-wide-letter-spacing: rem-calc(4); +$prototype-font-normal: $global-weight-normal; +$prototype-font-bold: $global-weight-bold; + +// 35. Prototype List-Style-Type +// ----------------------------- + +$prototype-list-breakpoints: $global-prototype-breakpoints; +$prototype-style-type-unordered: ( + disc, + circle, + square +); +$prototype-style-type-ordered: ( + decimal, + lower-alpha, + lower-latin, + lower-roman, + upper-alpha, + upper-latin, + upper-roman +); + +// 36. Prototype Overflow +// ---------------------- + +$prototype-overflow-breakpoints: $global-prototype-breakpoints; +$prototype-overflow: ( + visible, + hidden, + scroll +); + +// 37. Prototype Position +// ---------------------- + +$prototype-position-breakpoints: $global-prototype-breakpoints; +$prototype-position: ( + static, + relative, + absolute, + fixed +); +$prototype-position-z-index: 975; + +// 38. Prototype Rounded +// --------------------- + +$prototype-rounded-breakpoints: $global-prototype-breakpoints; +$prototype-border-radius: rem-calc(3); + +// 39. Prototype Separator +// ----------------------- + +$prototype-separator-breakpoints: $global-prototype-breakpoints; +$prototype-separator-align: center; +$prototype-separator-height: rem-calc(2); +$prototype-separator-width: 3rem; +$prototype-separator-background: $primary-color; +$prototype-separator-margin-top: $global-margin; + +// 40. Prototype Shadow +// -------------------- + +$prototype-shadow-breakpoints: $global-prototype-breakpoints; +$prototype-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), + 0 2px 10px 0 rgba(0,0,0,.12); + +// 41. Prototype Sizing +// -------------------- + +$prototype-sizing-breakpoints: $global-prototype-breakpoints; +$prototype-sizing: ( + width, + height +); +$prototype-sizes: ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100% +); + +// 42. Prototype Spacing +// --------------------- + +$prototype-spacing-breakpoints: $global-prototype-breakpoints; +$prototype-spacers-count: 3; + +// 43. Prototype Text-Decoration +// ----------------------------- + +$prototype-decoration-breakpoints: $global-prototype-breakpoints; +$prototype-text-decoration: ( + overline, + underline, + line-through, +); + +// 44. Prototype Text-Transformation +// --------------------------------- + +$prototype-transformation-breakpoints: $global-prototype-breakpoints; +$prototype-text-transformation: ( + lowercase, + uppercase, + capitalize +); + +// 45. Prototype Text-Utilities +// ---------------------------- + +$prototype-utilities-breakpoints: $global-prototype-breakpoints; +$prototype-text-overflow: ellipsis; + +// 46. Responsive Embed +// -------------------- + +$responsive-embed-margin-bottom: rem-calc(16); +$responsive-embed-ratios: ( + default: 4 by 3, + widescreen: 16 by 9, +); + +// 47. Reveal +// ---------- + +$reveal-background: $white; +$reveal-width: 600px; +$reveal-max-width: $global-width; +$reveal-padding: $global-padding; +$reveal-border: 1px solid $medium-gray; +$reveal-radius: $global-radius; +$reveal-zindex: 1005; +$reveal-overlay-background: rgba($black, 0.45); + +// 48. Slider +// ---------- + +$slider-width-vertical: 0.5rem; +$slider-transition: all 0.2s ease-in-out; +$slider-height: 0.5rem; +$slider-background: $light-gray; +$slider-fill-background: $medium-gray; +$slider-handle-height: 1.4rem; +$slider-handle-width: 1.4rem; +$slider-handle-background: $primary-color; +$slider-opacity-disabled: 0.25; +$slider-radius: $global-radius; + +// 49. Switch +// ---------- + +$switch-background: $medium-gray; +$switch-background-active: $primary-color; +$switch-height: 2rem; +$switch-height-tiny: 1.5rem; +$switch-height-small: 1.75rem; +$switch-height-large: 2.5rem; +$switch-radius: $global-radius; +$switch-margin: $global-margin; +$switch-paddle-background: $white; +$switch-paddle-offset: 0.25rem; +$switch-paddle-radius: $global-radius; +$switch-paddle-transition: all 0.25s ease-out; +$switch-opacity-disabled: .5; +$switch-cursor-disabled: not-allowed; + +// 50. Table +// --------- + +$table-background: $white; +$table-color-scale: 5%; +$table-border: 1px solid smart-scale($table-background, $table-color-scale); +$table-padding: rem-calc(8 10 10); +$table-hover-scale: 2%; +$table-row-hover: darken($table-background, $table-hover-scale); +$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale); +$table-is-striped: true; +$table-striped-background: smart-scale($table-background, $table-color-scale); +$table-stripe: even; +$table-head-background: smart-scale($table-background, $table-color-scale * 0.5); +$table-head-row-hover: darken($table-head-background, $table-hover-scale); +$table-foot-background: smart-scale($table-background, $table-color-scale); +$table-foot-row-hover: darken($table-foot-background, $table-hover-scale); +$table-head-font-color: $body-font-color; +$table-foot-font-color: $body-font-color; +$show-header-for-stacked: false; +$table-stack-breakpoint: medium; + +// 51. Tabs +// -------- + +$tab-margin: 0; +$tab-background: $white; +$tab-color: $primary-color; +$tab-background-active: $light-gray; +$tab-active-color: $primary-color; +$tab-item-font-size: rem-calc(12); +$tab-item-background-hover: $white; +$tab-item-padding: 1.25rem 1.5rem; +$tab-content-background: $white; +$tab-content-border: $light-gray; +$tab-content-color: $body-font-color; +$tab-content-padding: 1rem; + +// 52. Thumbnail +// ------------- + +$thumbnail-border: 4px solid $white; +$thumbnail-margin-bottom: $global-margin; +$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2); +$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5); +$thumbnail-transition: box-shadow 200ms ease-out; +$thumbnail-radius: $global-radius; + +// 53. Title Bar +// ------------- + +$titlebar-background: $black; +$titlebar-color: $white; +$titlebar-padding: 0.5rem; +$titlebar-text-font-weight: bold; +$titlebar-icon-color: $white; +$titlebar-icon-color-hover: $medium-gray; +$titlebar-icon-spacing: 0.25rem; + +// 54. Tooltip +// ----------- + +$has-tip-cursor: help; +$has-tip-font-weight: $global-weight-bold; +$has-tip-border-bottom: dotted 1px $dark-gray; +$tooltip-background-color: $black; +$tooltip-color: $white; +$tooltip-padding: 0.75rem; +$tooltip-max-width: 10rem; +$tooltip-font-size: $small-font-size; +$tooltip-pip-width: 0.75rem; +$tooltip-pip-height: $tooltip-pip-width * 0.866; +$tooltip-radius: $global-radius; + +// 55. Top Bar +// ----------- + +$topbar-padding: 0.5rem; +$topbar-background: $light-gray; +$topbar-submenu-background: $topbar-background; +$topbar-title-spacing: 0.5rem 1rem 0.5rem 0; +$topbar-input-width: 200px; +$topbar-unstack-breakpoint: medium; + +// 56. Xy Grid +// ----------- + +$xy-grid: true; +$grid-container: $global-width; +$grid-columns: 12; +$grid-margin-gutters: ( + small: 20px, + medium: 30px +); +$grid-padding-gutters: $grid-margin-gutters; +$grid-container-padding: $grid-padding-gutters; +$grid-container-max: $global-width; +$xy-block-grid-max: 8; + diff --git a/web/themes/custom/quartiers_de_demain/scss/partials/_footer.scss b/web/themes/custom/quartiers_de_demain/scss/partials/_footer.scss index 0243c9e..e69de29 100644 --- a/web/themes/custom/quartiers_de_demain/scss/partials/_footer.scss +++ b/web/themes/custom/quartiers_de_demain/scss/partials/_footer.scss @@ -1,137 +0,0 @@ -footer{ - background-color: $white-header; - padding-top: 3rem; - font-family: "Marianne"; - font-weight: 800; - font-size: 1.1rem; - text-transform: lowercase; - div{ - display: flex; - flex-direction: row; - @media(max-width: 891px){ - // // flex-direction: row; - flex-wrap: wrap; - } - @media(max-width: 520px){ - flex-direction: column; - } - } - - h2{font-size: 1.1rem;} - - - section:not(:first-of-type){ - border-left: $yellow-puca solid 2px; - padding-left: 2rem; - @media(max-width: 891px){ - margin-left: 1rem; - margin-right: 1rem; - border-left: $yellow-puca solid 2px; - - // border-left: none; - // border-top: $yellow-puca solid 2px; - } - @media(max-width: 520px){ - margin-left: 1rem; - margin-right: 1rem; - border-left: none; - border-top: $yellow-puca solid 2px; - } - } - section:not(:last-of-type){ - padding-right: 5rem; - @media(max-width: 891px){ - padding-right: 0; - } - @media(max-width: 520px){ - padding-right: 0; - - } - - } - section:last-of-type{ - padding-right: 5rem; - @media(max-width: 891px){ - border-top: $yellow-puca solid 2px; - border-left: none; - } - - - } -} - -#footer-left { -margin-left: 10%; -@media(max-width: 891px){ - margin-left: 1rem; - padding-left: 2rem; - width: 40%; -} -@media(max-width: 520px){ - width: 100%; - margin-left: 1rem; - padding-left: 2rem; -} - div{ - display: flex; - flex-direction: column; - - #block-reha-pieddepage { - ul{ - padding-left: 0; - } - } - #block-reha-logoreha-3{ - display: none; - } - .social-media-links--platforms{ - display: flex; - flex-direction: row; - svg.ext{ - display: none; - } - } - } -} - -#footer-middle{ - @media(max-width: 891px){ - width: 40%; - } - @media(max-width: 520px){ - width: 100%; - margin-right: 1rem; - } - #block-reha-operateurduprogramme{ - display: flex; - flex-direction: column; - img{ - max-width: 150px; - height: fit-content; - max-height: 100px; - object-fit: contain; - padding: 1rem; - } - } -} - -#footer-right{ - #block-reha-config-pages-2{ - display: flex; - flex-direction: column; - .field--name-field-partenaires{ - .field__items{ - display: flex; - flex-direction: row; - flex-wrap: wrap; - img{ - max-width: 120px; - height: fit-content; - max-height: 115px; - object-fit: contain; - // padding: 1rem; - } - } - } - } -} diff --git a/web/themes/custom/quartiers_de_demain/scss/partials/_header.scss b/web/themes/custom/quartiers_de_demain/scss/partials/_header.scss index ac2e02f..6e26280 100644 --- a/web/themes/custom/quartiers_de_demain/scss/partials/_header.scss +++ b/web/themes/custom/quartiers_de_demain/scss/partials/_header.scss @@ -1,14 +1,97 @@ header{ - - display:grid; - grid-template-rows:"logo logo logo logo logo nav" - "nav nav nav nav nav nav" - "logo logo nav rs" ; - #block-quartiers-de-demain-logorepu-2{ - grid-row: logo; + display: grid; + grid-template-columns: repeat(12, 1fr); + grid-gap: 10px; + grid-template-rows: repeat(3, 1fr); + height: 150px; + background-color: $white-header; + z-index: 99; + width: 100vw; + max-width: 100vw; + position: -webkit-sticky; + position: sticky; + top: 0; + box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; + @media (max-width:800px) { + // height: 100px; + width: 800px; } - #block-quartiers-de-demain-logoepau-2{ - grid-area: logo; + .contextual-region{ + width: max-content; } + + .header_left_container{ + grid-column: 1 /span 11; + grid-row: 1 /span 2; + display: flex; + flex-direction: row; + // width: ; + #block-quartiers-de-demain-logorepu-2{ + // max-height: 90%; + // height: $header-height; + } + #block-quartiers-de-demain-logoepau-2{ + // max-height: 50px; + height: $header-height; + + } + img{ + // width: auto; + // height: $header-height; + width: $header-height; + height: auto; + } + } + + .language-switcher-language-url{ + + } + #block-quartiers-de-demain-entete{ + h2{ + display: none; + } + } + .close-block, .open-block{ + // background: red; + cursor:pointer; + span{ + display: block; + width: 33px; + height: 2px; + position: relative; + background: black; + border-radius: 3px; + z-index: 1; + } + } + .close-block{ + padding-top: 1.2rem; + padding-left: 2rem; + span{ + transform-origin: center; + } + &>div>span:first-child{ + + transform: translateY(57%)rotate(45deg); + } + &>div>span:nth-child(2){ + transform: rotate(-45deg); + } + // @include breakpoint(small down) { + // position: absolute; + // top: 1rem; + // right: 1rem; + // } + + } + .open-block{ + height: 100%; + display: grid; + align-items: center; + span{ + margin-bottom: 5px; + transform-origin: 4px 0px; + } + } } \ No newline at end of file diff --git a/web/themes/custom/quartiers_de_demain/scss/quartiers_de_demain.scss b/web/themes/custom/quartiers_de_demain/scss/quartiers_de_demain.scss index b58cc95..56bf2b0 100644 --- a/web/themes/custom/quartiers_de_demain/scss/quartiers_de_demain.scss +++ b/web/themes/custom/quartiers_de_demain/scss/quartiers_de_demain.scss @@ -9,7 +9,8 @@ @import "global/variables/colors"; @import "global/variables/typography"; // @import "global/variables/buttons"; -@import "global/core"; +@import "global/variables/core"; +@import "global/variables/settings"; @import "global/fonts"; @import "global/layout"; @import "global/reset"; diff --git a/web/themes/custom/quartiers_de_demain/templates/html.html.twig b/web/themes/custom/quartiers_de_demain/templates/html.html.twig new file mode 100644 index 0000000..bd8023f --- /dev/null +++ b/web/themes/custom/quartiers_de_demain/templates/html.html.twig @@ -0,0 +1,57 @@ +{# +/** + * @file + * Default theme implementation for the basic structure of a single Drupal page. + * + * Variables: + * - logged_in: A flag indicating if user is logged in. + * - root_path: The root path of the current page (e.g., node, admin, user). + * - node_type: The content type for the current node, if the page is a node. + * - head_title: List of text elements that make up the head_title variable. + * May contain one or more of the following: + * - title: The title of the page. + * - name: The name of the site. + * - slogan: The slogan of the site. + * - page_top: Initial rendered markup. This should be printed before 'page'. + * - page: The rendered page markup. + * - page_bottom: Closing rendered markup. This variable should be printed after + * 'page'. + * - db_offline: A flag indicating if the database is offline. + * - placeholder_token: The token for generating head, css, js and js-bottom + * placeholders. + * + * @see template_preprocess_html() + * + * @ingroup themeable + */ +#} +{% + set body_classes = [ + logged_in ? 'user-logged-in', + not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class, + node_type ? 'page-node-type-' ~ node_type|clean_class, + db_offline ? 'db-offline', + ] +%} + + +
+