@import "core/vars"; @import "core/mixins"; @import "core/forms"; // // Dropdown menus // -------------------------------------------------- // Use the .menu class on any
  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns .dropup, .dropdown { position: relative; } .dropdown-toggle { // The caret makes the toggle a bit too tall in IE7 *margin-bottom: -3px; } .dropdown-toggle:active, .open .dropdown-toggle { outline: 0; } // Dropdown arrow/caret // -------------------- .caret { display: inline-block; vertical-align: top; content: ""; } // Place the caret .dropdown .caret { margin-top: 8px; margin-left: 2px; } // The dropdown menu (ul) // ---------------------- .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: $zindexDropdown; display: none; // none by default, but block on "open" of the menu float: left; min-width: 173px; padding: 0; margin: 0 0 0; // override default ul list-style: none; background-color: #fff; //@include border-radius(3px); //@include box-shadow(0 5px 10px rgba(0,0,0,.2)); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; // Aligns the dropdown menu to right &.pull-right { right: 0; left: auto; } // Dividers (basically an hr) within the dropdown // .divider { // @include nav-divider($dropdownDividerTop, $dropdownDividerBottom); // } // Links within the dropdown menu > li > a { display: block; clear: both; font-weight: bold; text-rendering: optimizeLegibility; font-family: Arial, Helvetica, sans-serif; white-space: nowrap; font-size: 0.6875rem; border-top: 1px solid #fff; text-decoration: none; text-transform: uppercase; color: #262626; padding: 0 15px; line-height: 1.875rem; background: #e2e2e2 url(../images/bg/subnav.png) 0 0 repeat-x; } } // Hover/Focus state // ----------- .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus, .dropdown-submenu:hover > a, .dropdown-submenu:focus > a { text-decoration: none; background: #e2e2e2; } // Active state // ------------ .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { text-decoration: none; outline: 0; background: #e2e2e2; } // Disabled state // -------------- // Gray out text and ensure the hover/focus state remains gray .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: $grayLight; } // Nuke hover/focus effects .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; // Remove CSS gradient @include reset-filter(); cursor: default; } // Open state for the dropdown // --------------------------- .open { // IE7's z-index only goes to the nearest positioned ancestor, which would // make the menu appear below buttons that appeared later on the page *z-index: $zindexDropdown; & > .dropdown-menu { display: block; } } // Right aligned dropdowns // --------------------------- .pull-right > .dropdown-menu { right: 0; left: auto; } // Allow for dropdowns to go bottom up (aka, dropup-menu) // ------------------------------------------------------ // Just add .dropup after the standard .dropdown class and you're set, bro. // TODO: abstract this so that the navbar fixed styles are not placed here? // .dropup, // .navbar-fixed-bottom .dropdown { // // Reverse the caret // .caret { // border-top: 0; // border-bottom: 4px solid $black; // content: ""; // } // // Different positioning for bottom up menu // .dropdown-menu { // top: auto; // bottom: 100%; // margin-bottom: 1px; // } // } // Sub menus // --------------------------- .dropdown-submenu { position: relative; } // Default dropdowns .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-top: 0; margin-left: -1px; } .dropdown-submenu:hover > .dropdown-menu { display: block; } // Dropups .dropup .dropdown-submenu > .dropdown-menu { top: auto; bottom: 0; margin-top: 0; margin-bottom: -2px; @include border-radius(5px 5px 5px 0); } // Caret to indicate there is a submenu .dropdown-submenu > a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: rgba($white,0.25); margin-top: 9px; margin-right: -10px; } .dropdown-submenu:hover > a:after { border-left-color: $dropdownLinkColorHover; } // Left aligned submenus .dropdown-submenu.pull-left { // Undo the float // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere. float: none; // Positioning the submenu > .dropdown-menu { left: -100%; margin-left: 10px; @include border-radius(6px 0 6px 6px); } } // Tweak nav headers // ----------------- // Increase padding from 15px to 20px on sides // .dropdown .dropdown-menu .nav-header { // padding-left: 20px; // padding-right: 20px; // } // Typeahead // --------- // .typeahead { // z-index: 1051; // margin-top: 2px; // give it some space to breathe // @include border-radius($baseBorderRadius); // } // // Navbars (Redux) // -------------------------------------------------- // COMMON STYLES // ------------- // Base class and wrapper .navbar { overflow: visible; //margin-bottom: $baseLineHeight; // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar *position: relative; *z-index: 2; } // Inner for background effects // Gradient is applied to its own element because overflow visible is not honored by IE when filter is present .navbar-inner { //background-color:rgba($blueDarker, 0.50); min-height: $navbarHeight; // Prevent floats from breaking the navbar @include clearfix(); .container-fluid {padding-left: 15px; padding-right: 15px;} } // Set width to auto for default container // We then reset it for fixed navbars in the #gridSystem mixin // .navbar .container { // width: auto; // } // Override the default collapsed state .nav-collapse.collapse { height: auto; overflow: visible; &.in { .fright { float: none; clear: both; width: 100%; #header-search-form { margin-top: 10px; margin-bottom: 0; width: 100%; .defaultHint_element { overflow: visible !important; margin-top: 9px !important; } .btn_search { margin-top: 9px; margin-right: 10px; } } } // search .links_user { width: 100%; display: block; clear: both; li { float: none; display: block; } } // user links #nav-main { width: 100%; clear: both; display: block; li { display: block; float: none; width: 100%; width: 100%; } } // main nav } } // Plain text in topbar // ------------------------- // .navbar-text { // margin-bottom: 0; // line-height: $navbarHeight; // color: $navbarText; // } // Janky solution for now to account for links outside the .nav // ------------------------- // .navbar-link { // color: $navbarLinkColor; // &:hover, // &:focus { // color: $navbarLinkColorHover; // } // } // Dividers in navbar // ------------------------- // .navbar .divider-vertical { // height: $navbarHeight; // margin: 0 9px; // border-left: 1px solid $navbarBackground; // border-right: 1px solid $navbarBackgroundHighlight; // } // Buttons in navbar // ------------------------- .navbar .btn, .navbar .btn-group { @include navbarVerticalAlign(30px); // Vertically center in navbar } // .navbar .btn-group .btn, // .navbar .input-prepend .btn, // .navbar .input-append .btn, // .navbar .input-prepend .btn-group, // .navbar .input-append .btn-group { // margin-top: 0; // then undo the margin here so we don't accidentally double it // } // Navbar forms // ------------------------- // .navbar-form { // margin-bottom: 0; // remove default bottom margin // @include clearfix(); // input, // select, // .radio, // .checkbox { // @include navbarVerticalAlign(30px); // Vertically center in navbar // } // input, // select, // .btn { // display: inline-block; // margin-bottom: 0; // } // input[type="image"], // input[type="checkbox"], // input[type="radio"] { // margin-top: 3px; // } // .input-append, // .input-prepend { // margin-top: 5px; // white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left // input { // margin-top: 0; // remove the margin on top since it's on the parent // } // } // } // Navbar search // ------------------------- .navbar-search { position: relative; float: left; @include navbarVerticalAlign(30px); // Vertically center in navbar margin-bottom: 0; .search-query { margin-bottom: 0; padding: 4px 14px; @include font-sans-serif(13px, normal, 1); @include border-radius(15px); // redeclare because of specificity of the type attribute } } // Static navbar // ------------------------- .navbar-static-top { position: static; margin-bottom: 0; // remove 18px margin for default navbar .navbar-inner { @include border-radius(0); } } // Fixed navbar // ------------------------- // Shared (top/bottom) styles .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: $zindexFixedNavbar; margin-bottom: 0; // remove 18px margin for default navbar } .navbar-fixed-top .navbar-inner, .navbar-static-top .navbar-inner { border-width: 0 0 1px; } .navbar-fixed-bottom .navbar-inner { border-width: 1px 0 0; } .navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner { padding-left: 0; padding-right: 0; @include border-radius(0); } // Reset container width // Required here as we reset the width earlier on and the grid mixins don't override early enough .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth); } // Fixed to top .navbar-fixed-top { top: 0; } .navbar-fixed-top, .navbar-static-top { .navbar-inner { @include box-shadow(0 1px 5px rgba(0,0,0,.25)); } } // Fixed to bottom .navbar-fixed-bottom { bottom: 0; .navbar-inner { @include box-shadow(0 -1px 10px rgba(0,0,0,.1)); } } // Hover/focus .navbar .nav > li > a:focus, .navbar .nav > li > a:hover { background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active color: $navbarLinkColorHover; text-decoration: none; } // Active nav items .navbar .nav > .active > a, .navbar .nav > .active > a:hover, .navbar .nav > .active > a:focus { color: $linkColor; text-decoration: none; //background-color: $navbarLinkBackgroundActive; //@include box-shadow(inset 0 3px 8px rgba(0,0,0,.125)); } // Navbar button for toggling navbar items in responsive layouts // These definitions need to come after '.navbar .btn' .navbar .btn-navbar { display: none; float: right; padding: 12px 10px; margin: 35px 0 0; @include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight); @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)); &::after { content: none; } } .navbar .btn-navbar .icon-bar { display: block; width: 18px; height: 2px; background-color: #f5f5f5; @include border-radius(1px); @include box-shadow(0 1px 0 rgba(0,0,0,.25)); } .btn-navbar .icon-bar + .icon-bar { margin-top: 3px; } // Dropdown menus // -------------- // Menu position and menu carets //.navbar .nav > li > .dropdown-menu { // &:before { // content: ''; // display: inline-block; // border-left: 7px solid transparent; // border-right: 7px solid transparent; // border-bottom: 7px solid #ccc; // border-bottom-color: $dropdownBorder; // position: absolute; // top: -7px; // left: 9px; // } // &:after { // content: ''; // display: inline-block; // border-left: 6px solid transparent; // border-right: 6px solid transparent; // border-bottom: 6px solid $dropdownBackground; // position: absolute; // top: -6px; // left: 10px; // } //} // Menu position and menu caret support for dropups via extra dropup class // .navbar-fixed-bottom .nav > li > .dropdown-menu { // &:before { // border-top: 7px solid #ccc; // border-top-color: $dropdownBorder; // border-bottom: 0; // bottom: -7px; // top: auto; // } // &:after { // border-top: 6px solid $dropdownBackground; // border-bottom: 0; // bottom: -6px; // top: auto; // } // } // Caret should match text color on hover/focus .navbar .nav li.dropdown > a:hover .caret, .navbar .nav li.dropdown > a:focus .caret { border-top-color: $navbarLinkColorActive; border-bottom-color: $navbarLinkColorActive; } // Remove background color from open dropdown .navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle, .navbar .nav li.dropdown.open.active > .dropdown-toggle { background-color: transparent; } .navbar .nav li.dropdown > .dropdown-toggle .caret { border-top-color: white; border-bottom-color: white; } .navbar .nav li.dropdown.open > .dropdown-toggle .caret, .navbar .nav li.dropdown.active > .dropdown-toggle .caret, .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { background: url(../images/arrows-ffffff.png) no-repeat -13px -97px; } // Right aligned menus need alt position //.navbar .pull-right > li > .dropdown-menu, //.navbar .nav > li > .dropdown-menu.pull-right { // left: auto; // right: 0; // &:before { // left: auto; // right: 12px; // } // &:after { // left: auto; // right: 13px; // } // .dropdown-menu { // left: auto; // right: 100%; // margin-left: 0; // margin-right: -1px; // @include border-radius(6px 0 6px 6px); // } //} // // Navs // -------------------------------------------------- // BASE CLASS // ---------- .nav { margin-left: 0; margin-bottom: 0; margin-top: 28px; list-style: none; } // Make links block level .nav > li > a { display: block; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: transparent; } .nav > li > a > img { max-width: none; } // Redeclare pull classes because of specifity .nav > .pull-right { float: right; } // TABS AND PILLS // ------------- // Common styles .nav-tabs, .nav-pills { @include clearfix(); } .nav-tabs > li, .nav-pills > li { float: left; } .nav-tabs > li > a, .nav-pills > li > a { padding-right: 12px; padding-left: 12px; margin-right: 2px; line-height: 14px; // keeps the overall height an even number } // TABS // ---- // Give the tabs something to sit on .nav-tabs { border-bottom: 1px solid #ddd; } // Make the list-items overlay the bottom border .nav-tabs > li { margin-bottom: -1px; } // Actual tabs (as links) .nav-tabs > li > a { padding-top: 8px; padding-bottom: 8px; line-height: $baseLineHeight; border: 1px solid #ddd; @include border-radius(4px 4px 0 0); &:hover, &:focus { border-color: $grayLighter $grayLighter #ddd; } } // Active state, and it's :hover/:focus to override normal :hover/:focus .nav-tabs > .active > a, .nav-tabs > .active > a:hover, .nav-tabs > .active > a:focus { color: #0790c8; background-color: $bodyBackground; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; } // PILLS // ----- // Links rendered as pills .nav-pills > li > a { padding-top: 8px; padding-bottom: 8px; margin-top: 2px; margin-bottom: 2px; @include border-radius(5px); } // Active state .nav-pills > .active > a, .nav-pills > .active > a:hover, .nav-pills > .active > a:focus { color: $white; background-color: $linkColor; } // STACKED NAV // ----------- // Stacked tabs and pills .nav-stacked > li { float: none; } .nav-stacked > li > a { margin-right: 0; // no need for the gap between nav items } // Tabs .nav-tabs.nav-stacked { border-bottom: 0; } .nav-tabs.nav-stacked > li > a { border: 1px solid #ddd; @include border-radius(0); } .nav-tabs.nav-stacked > li:first-child > a { @include border-top-radius(4px); } .nav-tabs.nav-stacked > li:last-child > a { @include border-bottom-radius(4px); } .nav-tabs.nav-stacked > li > a:hover, .nav-tabs.nav-stacked > li > a:focus { border-color: #ddd; z-index: 2; } // DROPDOWNS // --------- .nav-tabs .dropdown-menu { @include border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu } .nav-pills .dropdown-menu { @include border-radius(6px); // make rounded corners match the pills } // Default dropdown links // ------------------------- // Make carets use linkColor to start .nav .dropdown-toggle .caret { border-top-color: $linkColor; border-bottom-color: $linkColor; margin-top: 8px; } .nav .dropdown-toggle:hover .caret, .nav .dropdown-toggle:focus .caret { border-top-color: $linkColorHover; border-bottom-color: $linkColorHover; } /* move down carets for tabs */ .nav-tabs .dropdown-toggle .caret { margin-top: 8px; } // Active dropdown links // ------------------------- .nav .active .dropdown-toggle .caret { border-top-color: #fff; border-bottom-color: #fff; } .nav-tabs .active .dropdown-toggle .caret { border-top-color: $gray; border-bottom-color: $gray; } // Active:hover/:focus dropdown links // ------------------------- .nav > .dropdown.active > a:hover, .nav > .dropdown.active > a:focus { cursor: pointer; } // Open dropdowns // ------------------------- .nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > li.dropdown.open.active > a:hover, .nav > li.dropdown.open.active > a:focus { background-color: transparent; border-color: none; } // Dropdowns in stacked tabs .tabs-stacked .open > a:hover, .tabs-stacked .open > a:focus { border-color: $grayLight; } // TABBABLE // -------- // COMMON STYLES // ------------- // Clear any floats // .tabbable { // @include clearfix(); // } .tab-content { //overflow: auto; // prevent content from running below tabs } // Remove border on bottom, left, right // .tabs-below > .nav-tabs, // .tabs-right > .nav-tabs, // .tabs-left > .nav-tabs { // border-bottom: 0; // } // Show/hide tabbable areas .tab-content > .tab-pane, .pill-content > .pill-pane { display: none; } .tab-content > .active, .pill-content > .active { display: block; } // BOTTOM // ------ // .tabs-below > .nav-tabs { // border-top: 1px solid #ddd; // } // .tabs-below > .nav-tabs > li { // margin-top: -1px; // margin-bottom: 0; // } // .tabs-below > .nav-tabs > li > a { // @include border-radius(0 0 4px 4px); // &:hover, // &:focus { // border-bottom-color: transparent; // border-top-color: #ddd; // } // } // .tabs-below > .nav-tabs > .active > a, // .tabs-below > .nav-tabs > .active > a:hover, // .tabs-below > .nav-tabs > .active > a:focus { // border-color: transparent #ddd #ddd #ddd; // } // LEFT & RIGHT // ------------ // // Common styles // .tabs-left > .nav-tabs > li, // .tabs-right > .nav-tabs > li { // float: none; // } // .tabs-left > .nav-tabs > li > a, // .tabs-right > .nav-tabs > li > a { // min-width: 74px; // margin-right: 0; // margin-bottom: 3px; // } // // Tabs on the left // .tabs-left > .nav-tabs { // float: left; // margin-right: 19px; // border-right: 1px solid #ddd; // } // .tabs-left > .nav-tabs > li > a { // margin-right: -1px; // @include border-radius(4px 0 0 4px); // } // .tabs-left > .nav-tabs > li > a:hover, // .tabs-left > .nav-tabs > li > a:focus { // border-color: $grayLighter #ddd $grayLighter $grayLighter; // } // .tabs-left > .nav-tabs .active > a, // .tabs-left > .nav-tabs .active > a:hover, // .tabs-left > .nav-tabs .active > a:focus { // border-color: #ddd transparent #ddd #ddd; // *border-right-color: $white; // } // // Tabs on the right // .tabs-right > .nav-tabs { // float: right; // margin-left: 19px; // border-left: 1px solid #ddd; // } // .tabs-right > .nav-tabs > li > a { // margin-left: -1px; // @include border-radius(0 4px 4px 0); // } // .tabs-right > .nav-tabs > li > a:hover, // .tabs-right > .nav-tabs > li > a:focus { // border-color: $grayLighter $grayLighter $grayLighter #ddd; // } // .tabs-right > .nav-tabs .active > a, // .tabs-right > .nav-tabs .active > a:hover, // .tabs-right > .nav-tabs .active > a:focus { // border-color: #ddd #ddd #ddd transparent; // *border-left-color: $white; // } // DISABLED STATES // --------------- // Gray out text .nav > .disabled > a { color: $grayLight; } // Nuke hover/focus effects .nav > .disabled > a:hover, .nav > .disabled > a:focus { text-decoration: none; background-color: transparent; cursor: default; } .navbar .nav { width: calc(100% - 350px); padding-left: 0; text-align: right; li { margin-bottom: 0; &:last-child { .dropdown-menu { right: 0; left: auto; min-width: 80px; } } } > li { float: none; display: inline-block; > a { display: block; padding: 12px 6px 12px 4px; color: #333; font-size: 16px; line-height: 30px; font-family: "TitilliumText22LRegular", sans-serif; b.caret { display: inline-block; width: 13px; height: 13px; overflow: hidden; background: url(../images/arrows-ffffff.png) no-repeat 0 -97px; right: 5px; border: 0; margin-left: 3px; } &:hover { color: $linkColor; b.caret { background: url("../images/arrows-ffffff.png") no-repeat -13px -97px; } } } } } #loginBox { position: absolute; min-width: 220px; top: 100%; padding: 15px 15px 9px 15px; border: 1px solid #d2d2d2; background: #f0f0f0; -o-background-size: 100% 100%; -moz-background-size: 100% 100%; -webkit-background-size: auto auto !important; background-size: 100% 100%; background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f0f0f0)); background: -webkit-linear-gradient(#ffffff, #f0f0f0); background: -moz-linear-gradient(#ffffff, #f0f0f0); background: -o-linear-gradient(top, #ffffff, #f0f0f0); background: -ms-linear-gradient(-90deg, #ffffff, #f0f0f0); filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#f0f0f0'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#f0f0f0')"; -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 transparent; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 transparent; -o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 transparent; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 transparent; dt, dd { label { font-size: 11px !important; font-weight: bold; } } #user-short-login-form { margin-bottom: 0; label.required { background: none; padding: 0; margin: 0; } dd { input { margin-bottom: 0; } } #user-short-login-form-forgot-label { display: none; } #user-short-login-form-autologin-element { margin-bottom: 0; } } } // // Component animations // -------------------------------------------------- .fade { opacity: 0; @include transition(opacity .15s linear); &.in { opacity: 1; } } .collapse { position: relative; height: 0; overflow: hidden; @include transition(height .35s ease); &.in { height: auto; } }