]> git.agnieray.net Git - galette.git/blobdiff - ui/semantic/galette/globals/site.overrides
Fix menu horizontal scroll when name is too long
[galette.git] / ui / semantic / galette / globals / site.overrides
index 39e53fa147cafab56585e47b677e114b888c959d..57ec3a4af5c515cd9ad0e2eada44c1bba2b9d74f 100644 (file)
@@ -5,10 +5,34 @@
 /*---------------
      Global
 ----------------*/
+/* Content using displaynone is ignored by screen readers */
 .displaynone {
   display: none !important;
 }
 
+.ui.corner.label .icon.btnlegend {
+    cursor: pointer;
+}
+
+/* Content using visually-hidden is read by screen readers */
+.visually-hidden {
+  position: absolute !important;
+  width: 1px;
+  height: 1px;
+  clip: rect(1px,1px,1px,1px);
+  word-wrap: normal;
+  overflow: hidden;
+
+  &.focusable:active,
+  &.focusable:focus {
+      position: static !important;
+      width: auto;
+      height: auto;
+      clip: auto;
+      overflow: visible;
+  }
+}
+
 .exemple,
 .disabled,
 .disabled a {
   overflow-x: auto;
 }
 
+/*---------------------------------------------------------------
+     Override outline on links and navigation elements
+----------------------------------------------------------------*/
+a,
+.ui.button:not(.tertiary),
+.compact_menu .ui.dropdown.item,
+.ui.dropdown.language,
+.infoline .ui.dropdown:not(.tertiary) {
+    &:focus-visible {
+        outline: 3px solid @blueFocus;
+    }
+}
+
+/*---------------------------------
+     Go to main content link
+----------------------------------*/
+.skiptocontent {
+  display: block;
+  width: 100%;
+  text-decoration: none;
+  color: @invertedTextColor;
+  outline: 0;
+  background-color: @black;
+
+  &.focusable:hover,
+  &.focusable:focus {
+    position: absolute !important;
+    width: 100%;
+    z-index: 102;
+    padding: 1rem .5rem;
+    text-align: center;
+    outline: none;
+  }
+
+  &.focusable:hover {
+    color: @invertedTextColor;
+    text-decoration: underline;
+  }
+}
+
 /*--------------------------------
      Base layout and navigation
 ---------------------------------*/
 html {
   overflow: hidden;
+
+  &.public_page {
+    section.vertically.centered {
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      height: 100%;
+      padding-bottom: 120px;
+
+      img.logo {
+        margin-top: 1rem;
+      }
+    }
+  }
 }
 
-body.pushable:not(.loggedin) > .pusher {
+body.pushable:not(.loggedin) {
+  & > .pusher {
     display: flex;
     justify-content: center;
+  }
+  footer.page-footer {
+    position: relative;
+    z-index: 2;
+    margin-top: -120px;
+  }
 }
 
 .loggedin #main {
@@ -52,10 +137,8 @@ body.pushable:not(.loggedin) > .pusher {
   background-image: url(@galetteBackgroundImageRtl);
   background-position: left top;
 }
-
-#top-navbar,
-aside.computer.toc {
-  background: @galetteNavBackground;
+#top-navbar {
+  background: @lightGrey;
 }
 
 #top-navbar.ui.menu .item img.logo {
@@ -77,10 +160,11 @@ aside.computer.toc {
 }
 
 .ui.fixed.menu + .pusher {
-  padding-top: 4rem;
+  padding-top: 3.8rem;
 }
 
-aside.toc {
+aside.toc,
+.ui.segments.header .compact.segment.right {
   display: none;
 }
 
@@ -89,14 +173,102 @@ aside .ui.vertical.menu {
   max-width: 100%;
 }
 
+aside .ui.small.compact.fluid.menu .ui.item {
+  max-width: 14.688rem;
+}
+
+.loggedin .content {
+  .ui.horizontal.segments.header {
+    flex-direction: row-reverse;
+  }
+}
+
 footer,
 footer .ui.horizontal.list .list > .item,
 footer .ui.horizontal.list > .item{
   font-size: .95rem;
 }
+footer.page-footer {
+  position: relative;
+  background-color: @pageBackground;
+}
+main.pusher ~ footer.page-footer {
+  transition: transform .5s ease;
+  &:after {
+    position: absolute;
+    top: 0;
+    right: 0;
+    content: "";
+    background: @lightTextColor;
+    overflow: hidden;
+    opacity: 0;
+    transition: all .5s;
+    will-change: opacity;
+  }
+}
+main.pusher.dimmed {
+  & ~ footer.page-footer {
+    transform: translate3d(260px, 0, 0);
+    &:after {
+      width: 100% !important;
+      height: 100% !important;
+      opacity: 1 !important;
+    }
+  }
+  &.closing ~ footer.page-footer {
+    transform: translate3d(0, 0, 0);
+    z-index: 1;
+    &:after {
+      opacity: 0 !important;
+    }
+  }
+}
+body:not(.loggedin) main.pusher.dimmed.closing ~ footer.page-footer {
+  z-index: 2;
+}
+
+@media only screen and (max-width: @largestMobileScreen) {
+  html.public_page .ui.ui.ui.container:not(.fluid) {
+    width: 100%;
+  }
+  .core-lists-properties,
+  .core-fields-properties {
+    display: none !important;
+  }
+  .core-lists-listing,
+  .core-fields-listing {
+    i.arrows.alternate {
+      display: block;
+      margin: 1rem auto;
+      &::before {
+        display: block;
+      }
+    }
+  }
+  .core-lists-listing {
+    span[data-prop-label] {
+      display: block;
+      text-align: center;
+      &::before {
+          display: block;
+          content: attr(data-prop-label);
+          text-align: center;
+          font-weight: bold;
+      }
+    }
+  }
+  .core-fields-listing {
+    span[data-prop-label]::before {
+        display: inline-block;
+        content: attr(data-prop-label);
+        width: 10em;
+        font-weight: bold;
+    }
+  }
+}
 
 @media only screen and (max-width: 991px) {
-  #top-navbar .item:not(.header):not(.toc) {
+  #top-navbar nav {
     display: none;
   }
   .sidebar.uncover + .fixed.menu .toc i::before {
@@ -118,6 +290,23 @@ footer .ui.horizontal.list > .item{
     padding-top: 0;
   }
 
+  #sidebarmenu {
+    display: none;
+  }
+  .ui.visible.left.sidebar ~ .pusher {
+    transform: translate3d(0, 0, 0) !important;
+    &.dimmed::after {
+      display: none;
+    }
+  }
+  #top-navbar div.item a.button.darkmode span {
+    display: none;
+  }
+
+  aside.computer.toc {
+    background: @galetteNavBackground;
+  }
+
   aside.toc {
     display: block;
     position: fixed !important;
@@ -125,11 +314,62 @@ footer .ui.horizontal.list > .item{
     overflow-y: scroll;
     width: 260px;
     padding: 1.25rem;
+    &.compact_menu {
+      z-index: 1001;
+      width: 85px;
+      overflow-y: initial;
+      #logoutmenu {
+        .ui.dropdown .menu > .item:hover,
+        .ui.dropdown .menu > .active.item {
+          background: @white !important;
+          color: @textColor !important;
+          font-weight: 400 !important;
+          cursor: default;
+        }
+        .brand.header {
+          max-width: 500px;
+          white-space: normal;
+        }
+      }
+      .ui.menu .dropdown.item.active-menu {
+        background: @lightGaletteColor;
+      }
+      .ui.toggle.checkbox {
+        line-height: 1rem;
+        input {
+          width: 3rem;
+          height: 1rem;
+          &:checked ~ label::after {
+            left: 1.35rem;
+          }
+        }
+        label {
+          min-height: 1rem;
+          padding-left: 4rem;
+          &::before {
+            width: 2.4rem;
+            height: 1rem;
+          }
+          &::after {
+            width: 1rem;
+            height: 1rem;
+          }
+        }
+      }
+    }
   }
 
+  .ui.segments.header .compact.segment.right {
+    display: block;
+  }
+
+  html:not(.public_page) body:not(.front-page) footer.page-footer .footer-wrapper,
   body:not(.front-page) section.content {
     margin-left: 260px;
     flex: 1 1 auto;
+    &.extended {
+      margin-left: 85px;
+    }
   }
 
   section.desktop .container {
@@ -153,11 +393,24 @@ footer .ui.horizontal.list > .item{
   }
 }
 
+@media only screen and (max-width: 1199px) {
+  aside.computer.toc {
+    .ui.text.compact.small.fluid.menu {
+      font-size: .8em;
+
+      .ui.buttons .button {
+        padding: .5em;
+      }
+    }
+  }
+}
+
 @media only screen and (min-width: 1200px) {
   aside.toc {
     width: 350px;
   }
 
+  html:not(.public_page) body:not(.front-page) footer.page-footer .footer-wrapper,
   body:not(.front-page) section.content {
     margin-left: 350px;
   }
@@ -183,6 +436,16 @@ footer .ui.horizontal.list > .item{
   color: @textColor;
 }
 
+/*-------------------------
+      Spacings
+--------------------------*/
+.filters .segment .button,
+.infoline .segments .fitted.segment .label,
+.infoline .segments .fitted.segment .tiny.button,
+#groups_field .button {
+  margin-bottom: 0.75em;
+}
+
 /*-----------------------
     Sortable items
 ------------------------*/
@@ -208,7 +471,6 @@ ul.sortable-items {
 ---------------------*/
 ul.leaders {
   display: block!important;
-  max-width: 40em;
   padding: 0;
   overflow-x: hidden;
   list-style: none;
@@ -218,14 +480,13 @@ ul.leaders li {
   position: relative;
 }
 ul.leaders li:before {
-  float: left;
-  width: 0;
-  white-space: nowrap;
-  content:
-    ". . . . . . . . . . . . . . . . . . . . "
-    ". . . . . . . . . . . . . . . . . . . . "
-    ". . . . . . . . . . . . . . . . . . . . "
-    ". . . . . . . . . . . . . . . . . . . . "
+  width: 100%;
+  content: "";
+  border-bottom: 1px dotted @textColor;
+  height: 1rem;
+  position: absolute;
+  bottom: .5rem;
+  z-index: -1;
 }
 ul.leaders span:first-child {
   padding-right: 0.33em;
@@ -242,15 +503,12 @@ ul.leaders span + span {
     Back top top button
 --------------------------*/
 #back2top {
+  display: none;
   position: fixed;
-  right: 0;
-  bottom: 0;
+  right: .5rem;
+  bottom: .5rem;
   z-index: 2;
-  opacity: 0.45;
-}
-
-#back2top:hover {
-  opacity: 1;
+  border: 1px solid @borderColor;
 }
 
 /*------------------------------------------------
@@ -327,15 +585,31 @@ ul.leaders span + span {
     background: #fff;
   }
 
+  html.public_page section.vertically.centered {
+    justify-content: start;
+  }
+
   .ui.fixed.menu + .pusher {
     padding-top: 0;
   }
 
+  .loggedin #main {
+    background-image: none;
+  }
+  body:not(.loggedin) #main {
+    width: 100%;
+  }
+
+  .logo {
+    margin-top: 0 !important;
+  }
+
   table.listing tbody tr:hover > td {
     background-color: inherit !important;
   }
 
   .displaynone,
+  .visually-hidden,
   #top-navbar,
   aside.toc,
   #recup_mailing,
@@ -346,7 +620,7 @@ ul.leaders span + span {
   .infoline .right.aligned.segment,
   .actions_row,
   .ui.pagination.menu,
-  section.content > footer,
+  footer.page-footer,
   #back2top {
     display: none !important;
   }