@import 'constants'; #WRAPPER > #MENU-SIDE{ /* [1] Elements du menu =========================================================*/ & > span:not(.icon){ display: block; position: relative; width: calc( 100% - 2*1em - 2*1.5em ); padding: 1.5em 1.5em; padding-left: calc( 1.5em + 2*1em ); border-bottom: 1px solid transparent; background: url('/f/svg/circle/st/menu-side/29282e') 1em center no-repeat, url('/f/svg/sub/st/menu-side/777777') right 1em center no-repeat; background-size: 2em 2em, 1em 1em; // Modification du sens de la fleche quand le sous-menu est deroule &.active{ background: url('/f/svg/circle/st/menu-side/29282e') 1em center no-repeat, url('/f/svg/sub-active/st/menu-side/dddddd') right 1em center no-repeat; background-size: 2em 2em, 1em 1em; } color: $dark-fg; text-shadow: 1px 1px 0 darken($dark-bg, 5); transition: color .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out, border .2s ease-in-out; cursor: pointer; /* (1) Icone svg */ & > svg, & > svg *{ position: absolute; top: calc( 50% - 1em/2 ); left: 1.5em; width: 1em; height: 1em; fill: $dark-fg !important; transition: fill .2s ease-in-out; } /* (2) @hover ou .active -> survol souris ou active */ &:hover, &.active{ border-bottom-color: darken($dark-bg-primary, 2); box-shadow: inset 0 0 1em darken($dark-bg-primary, 1); background-color: $dark-bg-primary; color: $dark-fg-primary; text-shadow: 1px 1px 0 darken($dark-bg-primary, 5); & > svg, & > svg *{ fill: $theme-fg-primary !important; } } } /* [2] Specification pour le logo =========================================================*/ & > span.icon{ display: block; position: relative; width: calc( 100% - 3em - 2*1.5em ); height: calc( #{$header-height} - 1px ); padding: 0 1.5em; padding-left: calc( 1.5em + 3em ); border-bottom: 1px solid transparent; background: $dark-bg; color: $dark-fg-primary; text-shadow: 1px 1px 0 darken($dark-bg, 5); font-weight: bold; line-height: $header-height; & > svg, & > svg *{ position: absolute; top: calc( 50% - 5em/2 ); left: 1.5em; height: 5em; } &:hover{ border-bottom-color: darken($dark-bg-primary, 2); box-shadow: inset 0 0 1em darken($dark-bg-primary, 1); background-color: $dark-bg-primary; color: $dark-fg-primary; text-shadow: 1px 1px 0 darken($dark-bg-primary, 5); } } /* [3] Elements du menu avec separateur en dessous =========================================================*/ & > span.sep{ border-bottom: 1px solid lighten($dark-bg, 10); } /* [4] Gestion du menu deroulant =========================================================*/ /* (1) Quand le menu est deroule */ & > span:not(.icon).active + div.sub>span{ display: block; position: relative; width: calc( 100% - 2*1.5em ); padding: .5em 1.5em; padding-left: 1.5em; border-bottom: 1px solid transparent; background: darken($dark-bg-primary, 2) url('/f/svg/sub/st/menu-side/888888') .5em center no-repeat;; background-size: .5em; color: darken($dark-fg, 20); font-size: .85em; cursor: pointer; transition: color .2s ease-in-out; // Animation de @hover ou .active &:hover, &.active{ color: $dark-fg-primary; background-image: url('/f/svg/sub/st/menu-side/ffffff'); } } /* (2) Quand le menu est replie */ & > span:not(.icon):not(.active) + div.sub>span{ display: none; } }