/***************************************************************************** * Open MCT, Copyright (c) 2014-2018, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * * Open MCT is licensed under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * * Open MCT includes source code licensed under additional open source * licenses. See the Open Source Licenses file (LICENSES.md) included with * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ /************************************************** MAELSTROM THEME CONSTANTS */ // Fonts @import url('https://fonts.googleapis.com/css?family=Chakra+Petch:400,600,700|Michroma|Teko:400,700'); $heroFont: 'Teko', sans-serif; $headerFont: 'Michroma', sans-serif; $bodyFont: 'Chakra Petch', sans-serif; @mixin heroFont($size: 1em) { font-family: $heroFont; font-size: $size; } @mixin headerFont($size: 1em) { font-family: $headerFont; font-size: $size * 0.8; // This font is comparatively large, so reduce it a bit text-transform: uppercase; word-spacing: 0.25em; } @mixin bodyFont($size: 1em) { font-family: $bodyFont; font-size: $size; } // Functions @function buttonBg($c: $colorBtnBg) { @return linear-gradient(lighten($c, 5%), $c); } @function pullForward($val, $amt) { @return lighten($val, $amt); } @function pushBack($val, $amt) { @return darken($val, $amt); } // Constants $fontBaseSize: 12px; $smallCr: 2px; $controlCr: 3px; $basicCr: 4px; $shdwBtns: rgba(black, 0.2) 0 1px 2px; $shdwBtnsOverlay: rgba(black, 0.5) 0 1px 5px; // Base colors $colorBodyBg: #393939; $colorBodyFg: #ccc; $colorBodyFgEm: #fff; $colorGenBg: #222; $colorHeadBg: #262626; $colorHeadFg: $colorBodyFg; $colorStatusBarBg: $colorHeadBg; $colorStatusBarFg: $colorBodyFg; $colorStatusBarFgHov: #aaa; $colorKey: #0099cc; $colorKeyFg: #fff; $colorKeyHov: #26d8ff; $colorKeyFilter: invert(36%) sepia(76%) saturate(2514%) hue-rotate(170deg) brightness(99%) contrast(101%); $colorKeyFilterHov: invert(63%) sepia(88%) saturate(3029%) hue-rotate(154deg) brightness(101%) contrast(100%); $colorKeySelectedBg: $colorKey; $uiColor: #00b2ff; // Resize bars, splitter bars, etc. $colorInteriorBorder: rgba($colorBodyFg, 0.2); $colorA: #ccc; $colorAHov: #fff; // Layout $shellMainPad: 4px 0; $shellPanePad: $interiorMargin, 7px; // Status colors, mainly used for messaging and item ancillary symbols $colorStatusFg: #999; $colorStatusDefault: #ccc; $colorStatusInfo: #60ba7b; $colorStatusInfoFilter: invert(58%) sepia(44%) saturate(405%) hue-rotate(85deg) brightness(102%) contrast(92%); $colorStatusAlert: #ffb66c; $colorStatusAlertFilter: invert(78%) sepia(26%) saturate(1160%) hue-rotate(324deg) brightness(107%) contrast(101%); $colorStatusError: #da0004; $colorStatusErrorFilter: invert(10%) sepia(96%) saturate(4360%) hue-rotate(351deg) brightness(111%) contrast(115%); $colorStatusBtnBg: #666; // Where is this used? // States $colorPausedBg: #ff9900; $colorPausedFg: #fff; $colorOk: #33cc33; // Base variations $colorBodyBgSubtle: pullForward($colorBodyBg, 5%); $colorBodyBgSubtleHov: pushBack($colorKey, 50%); $colorKeySubtle: pushBack($colorKey, 10%); // Time Colors $colorTime: #618cff; $colorTimeBg: $colorTime; $colorTimeFg: pullForward($colorTimeBg, 30%); $colorTimeHov: pullForward($colorTime, 10%); $colorTimeSubtle: pushBack($colorTime, 20%); $colorTOI: $colorBodyFg; // was $timeControllerToiLineColor $colorTOIHov: $colorTime; // was $timeControllerToiLineColorHov /************************************************** BROWSING */ $browseFrameColor: pullForward($colorBodyBg, 10%); $browseFrameBorder: 1px solid $browseFrameColor; // Frames in Disp and Flex Layouts when frame is showing $browseSelectableShdwHov: rgba($colorBodyFg, 0.3) 0 0 3px; $browseSelectedBorder: 1px solid rgba($colorBodyFg, 0.4); /************************************************** EDITING */ $editUIColor: $uiColor; // Base color $editUIColorHov: pullForward(saturate($uiColor, 10%), 20%); // Hover color when $editUIColor is applied as a base color $editUIBaseColor: #344b8d; // Base color, toolbar bg $editUIBaseColorHov: pullForward($editUIBaseColor, 20%); $editUIBaseColorFg: #ffffff; // Toolbar button icon colors, etc. $editUIAreaBaseColor: pullForward(saturate($editUIBaseColor, 30%), 20%); $editUIAreaShdw: $editUIAreaBaseColor 0 0 0 2px; // Edit area s-selected-parent $editUIAreaShdwSelected: $editUIAreaBaseColor 0 0 0 3px; // Edit area s-selected $editUIGridColorBg: rgba($editUIBaseColor, 0.2); // Background of layout editing area $editUIGridColorFg: rgba(#000, 0.1); // Grid lines in layout editing area $editFrameColor: $browseFrameColor; // Solid or dotted border applied to non-selected frames in a layout; move-bar on frame hover $editFrameBorder: 1px dotted $editFrameColor; $editFrameColorHov: $editUIColor; // Solid border hover on frames; hover should not be applied to selected objects $editFrameBorderHov: 1px solid $editFrameColorHov; // Hover on selectable frames $editFrameColorSelected: #ccc; // Border of selected frames $editFrameColorHandleBg: $colorBodyBg; // Resize handle 'offset' color to make handle standout $editFrameColorHandleFg: $editFrameColorSelected; // Resize handle main color $editFrameSelectedShdw: rgba(black, 0.5) 0 1px 10px 1px; $editFrameSelectedBorder: 1px dashed $editFrameColorSelected; // Selected frame element $editFrameMovebarColorBg: $editFrameColor; // Movebar bg color $editFrameMovebarColorFg: pullForward($editFrameMovebarColorBg, 20%); // Grippy lines, container size text $editFrameHovMovebarColorBg: pullForward($editFrameMovebarColorBg, 10%); // Hover style $editFrameHovMovebarColorFg: pullForward($editFrameMovebarColorFg, 10%); $editFrameSelectedMovebarColorBg: pullForward($editFrameMovebarColorBg, 15%); // Selected style $editFrameSelectedMovebarColorFg: pullForward($editFrameMovebarColorFg, 15%); $editFrameMovebarH: 10px; // Height of move bar in layout frame // Icons $colorIconAlias: #4af6f3; $colorIconAliasForKeyFilter: #aaa; // Holders $colorTabsHolderBg: rgba(black, 0.2); // Buttons and Controls $colorBtnBg: pullForward($colorBodyBg, 10%); $colorBtnBgHov: pullForward($colorBtnBg, 10%); $colorBtnFg: pullForward($colorBodyFg, 10%); $colorBtnReverseFg: pullForward($colorBtnFg, 10%); $colorBtnReverseBg: pullForward($colorBtnBg, 10%); $colorBtnFgHov: $colorBtnFg; $colorBtnMajorBg: $colorKey; $colorBtnMajorBgHov: $colorKeyHov; $colorBtnMajorFg: $colorKeyFg; $colorBtnMajorFgHov: pushBack($colorBtnMajorFg, 10%); $colorBtnCautionBg: #f16f6f; $colorBtnCautionBgHov: #f1504e; $colorBtnCautionFg: $colorBtnFg; $colorClickIcon: $colorKey; $colorClickIconBgHov: rgba($colorKey, 0.6); $colorClickIconFgHov: $colorKeyHov; $colorDropHint: $colorKey; $colorDropHintBg: pushBack($colorDropHint, 10%); $colorDropHintBgHov: $colorDropHint; $colorDropHintFg: pullForward($colorDropHint, 40%); $colorDisclosureCtrl: rgba($colorBodyFg, 0.5); $colorDisclosureCtrlHov: rgba($colorBodyFg, 0.7); $btnStdH: 24px; // Menus $colorMenuBg: pullForward($colorBodyBg, 15%); $colorMenuFg: pullForward($colorBodyFg, 30%); $colorMenuIc: pullForward($colorKey, 15%); $colorMenuHovBg: $colorMenuIc; $colorMenuHovFg: pullForward($colorMenuFg, 10%); $colorMenuHovIc: $colorMenuHovFg; $colorMenuElementHilite: pullForward($colorMenuBg, 10%); $shdwMenu: rgba(black, 0.5) 0 1px 5px; $shdwMenuText: none; $menuItemPad: $interiorMargin, floor($interiorMargin * 1.25); // Palettes and Swatches $paletteItemBorderOuterColorSelected: black; $paletteItemBorderInnerColorSelected: white; $paletteItemBorderInnerColor: rgba($paletteItemBorderOuterColorSelected, 0.3); // Forms $colorCheck: $colorKey; $colorFormRequired: $colorKey; $colorFormValid: $colorOk; $colorFormError: #990000; $colorFormInvalid: #ff2200; $colorFormFieldErrorBg: $colorFormError; $colorFormFieldErrorFg: rgba(#fff, 0.6); $colorFormLines: rgba(#000, 0.1); $colorFormSectionHeaderBg: rgba(#000, 0.1); $colorFormSectionHeaderFg: rgba($colorBodyFg, 0.8); $colorInputBg: rgba(black, 0.2); $colorInputFg: $colorBodyFg; $colorInputPlaceholder: pushBack($colorBodyFg, 20%); $colorFormText: pushBack($colorBodyFg, 10%); $colorInputIcon: pushBack($colorBodyFg, 25%); $colorFieldHint: pullForward($colorBodyFg, 40%); $shdwInput: inset rgba(black, 0.4) 0 0 1px; $shdwInputHov: inset rgba(black, 0.7) 0 0 2px; $shdwInputFoc: inset rgba(black, 0.8) 0 0.25px 3px; $formTBPad: $interiorMargin; $formLRPad: $interiorMargin; $formInputH: 22px; $formRowCtrlsH: 14px; // Inspector $colorInspectorBg: pullForward($colorBodyBg, 5%); $colorInspectorFg: $colorBodyFg; $colorInspectorPropName: pushBack($colorBodyFg, 20%); $colorInspectorPropVal: pullForward($colorInspectorFg, 15%); $colorInspectorSectionHeaderBg: pullForward($colorInspectorBg, 5%); $colorInspectorSectionHeaderFg: pullForward($colorInspectorBg, 40%); // Overlay $colorOvrBlocker: rgba(black, 0.7); $overlayColorBg: $colorMenuBg; $overlayColorFg: $colorMenuFg; $colorOvrBtnBg: pullForward($overlayColorBg, 20%); $colorOvrBtnFg: #fff; $overlayCr: $interiorMarginLg; $overlayBrightnessAdjust: brightness(1.3); // Indicator colors $colorIndicatorAvailable: $colorKey; $colorIndicatorDisabled: #555555; $colorIndicatorOn: $colorOk; $colorIndicatorOff: #777777; // Staleness $colorTelemFresh: pullForward($colorBodyFg, 20%); $colorTelemStale: pushBack($colorBodyFg, 20%); $styleTelemStale: italic; // Limits $colorLimitYellowBg: #ac7300; $colorLimitYellowFg: #ffe64d; $colorLimitYellowIc: #ffb607; $colorLimitRedBg: #940000; $colorLimitRedFg: #ffa489; $colorLimitRedIc: #ff4222; // Status $colorAlert: #ff3c00; $colorWarningHi: #990000; $colorWarningLo: #ff9900; $colorDiagnostic: #a4b442; $colorCommand: #3693bd; $colorInfo: #2294a2; $colorOk: #33cc33; // Bubble colors $colorInfoBubbleBg: #dddddd; $colorInfoBubbleFg: #666; $colorInfoBubbleFg: #666; $colorThumbsBubbleFg: pullForward($colorBodyFg, 10%); $colorThumbsBubbleBg: pullForward($colorBodyBg, 10%); // Items $colorItemBg: buttonBg($colorBtnBg); $colorItemBgHov: buttonBg(pullForward($colorBtnBg, 5%)); $colorListItemBg: transparent; $colorListItemBgHov: rgba($colorKey, 0.1); $colorItemFg: $colorBtnFg; $colorItemFgDetails: pushBack($colorItemFg, 20%); $shdwItemText: none; // Tabular $colorTabBorder: pullForward($colorBodyBg, 10%); $colorTabBodyBg: $colorBodyBg; $colorTabBodyFg: pullForward($colorBodyFg, 20%); $colorTabHeaderBg: pullForward($colorBodyBg, 10%); $colorTabHeaderFg: $colorBodyFg; $colorTabHeaderBorder: $colorBodyBg; $colorTabGroupHeaderBg: pullForward($colorBodyBg, 5%); $colorTabGroupHeaderFg: pushBack($colorTabHeaderFg, 10%); // Plot $colorPlotBg: rgba(black, 0.05); $colorPlotFg: $colorBodyFg; $colorPlotHash: black; $opacityPlotHash: 0.2; $stylePlotHash: dashed; $colorPlotAreaBorder: $colorInteriorBorder; $colorPlotLabelFg: pushBack($colorPlotFg, 20%); $legendHoverValueBg: rgba($colorBodyFg, 0.2); // Tree $colorTreeBg: transparent; $colorItemTreeHoverBg: rgba(white, 0.07); $colorItemTreeHoverFg: pullForward($colorBodyFg, 20%); $colorItemTreeIcon: $colorKey; // Used $colorItemTreeIconHover: $colorItemTreeIcon; // Used $colorItemTreeFg: $colorBodyFg; $colorItemTreeSelectedBg: pushBack($colorKey, 15%); $colorItemTreeSelectedFg: $colorItemTreeHoverFg; $colorItemTreeSelectedIcon: $colorItemTreeSelectedFg; $colorItemTreeEditingBg: pushBack($editUIColor, 20%); $colorItemTreeEditingFg: $editUIColor; $colorItemTreeEditingIcon: $editUIColor; $colorItemTreeVC: $colorDisclosureCtrl; $colorItemTreeVCHover: $colorDisclosureCtrlHov; $shdwItemTreeIcon: none; // Images $colorThumbHoverBg: $colorItemTreeHoverBg; // Scrollbar $scrollbarTrackSize: 7px; $scrollbarTrackShdw: rgba(#000, 0.2) 0 1px 2px; $scrollbarTrackColorBg: rgba(#000, 0.2); $scrollbarThumbColor: pushBack($colorBodyBg, 50%); $scrollbarThumbColorHov: $colorKey; $scrollbarThumbColorMenu: pullForward($colorMenuBg, 10%); $scrollbarThumbColorMenuHov: pullForward($scrollbarThumbColorMenu, 2%); // Splitter $splitterHandleD: 2px; $splitterD: $splitterHandleD; $splitterHandleHitMargin: 4px; $colorSplitterBaseBg: $colorBodyBg; $colorSplitterBg: pullForward($colorBodyBg, 10%); $colorSplitterFg: $colorBodyBg; $colorSplitterHover: $uiColor; $colorSplitterActive: $colorKey; $splitterBtnD: (16px, 35px); // height, width $splitterBtnColorBg: $colorBtnBg; $splitterBtnColorFg: #999; $splitterBtnLabelColorFg: #666; $splitterCollapsedBtnColorBg: #222; $splitterCollapsedBtnColorFg: #666; $splitterCollapsedBtnColorBgHov: $colorKey; $splitterCollapsedBtnColorFgHov: $colorKeyFg; // Mobile $colorMobilePaneLeft: pushBack($colorBodyBg, 2%); $colorMobilePaneLeftTreeItemBg: rgba($colorBodyFg, 0.1); $colorMobilePaneLeftTreeItemFg: $colorItemTreeFg; $colorMobileSelectListTreeItemBg: rgba(#000, 0.05); // About Screen $colorAboutLink: $colorKeySubtle; // Loading $colorLoadingFg: #776ba2; $colorLoadingBg: rgba($colorLoadingFg, 0.1); // Transitions $transIn: all 50ms ease-in-out; $transOut: all 250ms ease-in-out; $transInBounce: all 200ms cubic-bezier(.47,.01,.25,1.5); $transInBounceBig: all 300ms cubic-bezier(.2,1.6,.6,3); // Discrete items, like Notebook entries, Widget rules $createBtnTextTransform: uppercase; @mixin discreteItem() { background: rgba($colorBodyFg,0.1); border: none; border-radius: $controlCr; .c-input-inline:hover { background: $colorBodyBg; } } @mixin discreteItemInnerElem() { border: 1px solid rgba(#fff, 0.1); border-radius: $controlCr; } @mixin themedButton($c: $colorBtnBg) { background: linear-gradient(pullForward($c, 5%), $c); box-shadow: rgba(black, 0.5) 0 0.5px 2px; } @mixin themedSelect($bg: $colorBtnBg, $fg: $colorBtnFg) { @include cSelect(linear-gradient(lighten($bg, 5%), $bg), $fg, lighten($bg, 20%), rgba(black, 0.5) 0 0.5px 3px); } /**************************************************** OVERRIDES */ .c-frame { &:not(.no-frame) { $bc: #666; $bLR: 3px solid transparent; $br: 20px; background: none !important; border-radius: $br; border-top: 4px solid $bc !important; border-bottom: 2px solid $bc !important; border-left: $bLR !important;; border-right: $bLR !important;; padding: 5px 10px 10px 10px !important; } }