OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/assets/stylesheets/layout/_top_menu.sass

344 lines
8.4 KiB

//-- copyright
// OpenProject is a project management system.
// Copyright (C) 2012-2018 the OpenProject Foundation (OPF)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License version 3.
//
// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
// Copyright (C) 2006-2017 Jean-Philippe Lang
// Copyright (C) 2010-2013 the ChiliProject Team
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// See docs/COPYRIGHT.rdoc for more details.
//++
$hamburger-right: -3px
$hamburger-width: 50px
#logo
width: 230px
@include varprop(height, header-height)
position: absolute
left: calc(50% - 230px / 2)
.home-link
margin-top: 14px
display: block
background: $header-home-link-bg
background-size: 140px
height: 42px
text-indent: -9999em
#top-menu
@include varprop(background-color, header-bg-color)
height: $header-height
width: 100%
padding: 0
z-index: 22
position: relative
border-bottom-style: solid
@include varprop(border-bottom-width, header-border-bottom-width)
@include varprop(border-bottom-color, header-border-bottom-color)
%absolute-layout-mode &
position: absolute
::-webkit-input-placeholder
color: $header-search-field-font-color
::-moz-placeholder
color: $header-search-field-font-color
.menu_root
margin: 0
padding: 0
float: left
height: $header-height
border-top: 0
position: relative
li.drop-down,
li.help-menu--overridden-link,
.accessibility-mode & #account-nav-left li
float: left
list-style-type: none
white-space: nowrap
position: relative
z-index: 5
padding: 0
> a
height: $header-height
line-height: $header-height
zoom: 1
@include varprop(color, header-item-font-color)
@include varprop(font-size, header-item-font-size)
text-decoration: none
padding: 0 15px
> a:hover
@include varprop(background, header-item-bg-hover-color)
@include varprop(color, header-item-font-hover-color)
> ul
min-width: 270px
padding: 6px 0
border: 2px solid $header-drop-down-border-color
border-top: 0
background-color: $header-drop-down-bg-color
li
float: none
> ul.drop-down--projects
width: 400px
left: -2px
box-shadow: none
li.drop-down
&:hover
@include varprop(background-color, header-item-bg-hover-color)
> a
@include varprop(color, header-item-font-hover-color)
i.icon-help:before
@include varprop(border-color, header-item-font-hover-color)
&.open
@include varprop(background-color, header-item-bg-hover-color)
> a
@include varprop(color, header-item-font-hover-color)
i.icon-help:before
@include varprop(border-color, header-item-font-hover-color)
.button--dropdown-indicator
&:before
@include icon-mixin-pulldown-up
li
> a
color: $header-drop-down-item-font-color
&:hover
@include varprop(background, drop-down-hover-bg-color)
@include varprop(color, drop-down-hover-font-color)
li.last-child > ul,
.drop-down--help,
.drop-down--modules
left: auto
right: 0
.drop-down--projects
> li
&:nth-last-child(2)
margin-bottom: 6px
.drop-down--help
.form--separator
margin-bottom: 5px
.drop-down--help-headline
padding-left: 15px
color: $gray-dark
text-transform: uppercase
#loggedas
float: right
margin-right: 0.5em
color: #fff
#nav-login-content
width: 506px
position: relative
position-top: 44px
float: right
background: #FFFFFF
border: 0 solid #194E60
border-top: 0
line-height: 19px
padding: 15px 10px 15px 15px
@include default-font(#555555, 13px)
a
display: inline
padding: 0
font-weight: normal
table td
padding: 3px
.skip-navigation-link:focus
top: 40px
left: 260px
@include varprop(color, font-color-on-primary)
.top-menu-search
display: inline-block
&:not(.-collapsed) > div
position: relative
padding-top: 9px
.top-menu-search--wrapper
float: left
.top-menu-search--button
line-height: $header-height
height: $header-height
width: $header-height
padding: 0 12px
@include varprop(color, header-item-font-color)
@include varprop(font-size, header-item-font-size)
font-weight: normal
background: transparent
&:hover
text-decoration: none
.top-menu-search:not(.-collapsed) &
position: absolute
top: 0
right: 0
color: $header-drop-down-item-font-color
-webkit-transform: scaleX(-1)
-moz-transform: scaleX(-1)
-o-transform: scaleX(-1)
-ms-transform: scaleX(-1)
transform: scaleX(-1)
.top-menu-search.-collapsed &
display: block
&:hover
@include varprop(background, header-item-bg-hover-color)
@include varprop(color, header-item-font-hover-color)
input.top-menu-search--input
margin: 0
padding: 0 20px 0 10px
display: inline-block
border: $header-search-field-border
border-radius: 25px
width: 180px
outline: 0
font-size: 0.75rem
&::-ms-clear
margin-right: 5px
width: 20px
.top-menu-search.-collapsed &
display: none
&:hover, &:focus
border: $header-search-field-border
#quick-search
float: right
#top-menu-items
padding-top: 0
.top-menu-items-right
float: right
#header
min-width: 840px
.chzn-container .chzn-results .highlighted
background-color: #24b3e7
.account-nav
display: block
li
a
display: block
padding: 0 9px 0
> ul > li
max-width: 350px
#account-nav-left
.drop-down
// Half viewport width minus half logo.
max-width: calc((100vW/2) - 115px - #{$hamburger-width + $hamburger-right})
.nosidebar &
max-width: calc((100vW/2) - 115px)
#projects-menu
padding-right: 30px
font-weight: bold
padding-left: 6px
.nosidebar &
padding-left: 15px
.button--dropdown-text
float: left
// Half viewport width minus half logo minus margins.
text-overflow: ellipsis
overflow: hidden
max-width: calc((100vW/2) - 115px - 50px - #{$hamburger-width + $hamburger-right})
.nosidebar &
max-width: calc((100vW/2) - 115px - 50px)
&:after
position: absolute
right: 15px
top: calc(50% - 10px / 2)
#account-nav-right
.drop-down.last-child
.avatar
// To accommodate the padding of the help icon which exists because of the circle
margin-top: -5px
.icon-help:before
border-width: 2px
border-style: solid
@include varprop(border-color, header-item-font-color)
border-radius: 50%
width: 26px
height: 26px
display: inline-block
.icon-help:hover:before
@include varprop(border-color, header-item-font-hover-color)
.icon-user
font-size: 18px
[class*="icon-"]:before
padding: 0.25rem
// Temporary overwrite searchfield styles for mobile view
// until we have a full responsive layout
input.top-menu-search--input
margin: 0
position: absolute
right: 170px
bottom: 10px
z-index: 10
.top-menu-search:not(.-collapsed) .top-menu-search--button
position: relative
top: 0
z-index: 10
#main-menu-toggle
display: block
width: $hamburger-width
height: $header-height-mobile
float: left
text-align: center
margin-right: $hamburger-right
a
height: $header-height-mobile
line-height: $header-height-mobile
zoom: 1
@include varprop(color, header-item-font-color)
@include varprop(font-size, header-item-font-size)
text-decoration: none
padding: 0 15px
.nosidebar &
display: none
@media only screen and (max-width: 18.75rem)
#logo
max-width: 170px
@media only screen and (max-width: 15rem)
#logo
display: none