Keen - The Ultimate Multi-Demo Bootstrap Admin Theme

The most complete UI/UX template solution for today's web projects of any size

Global SASS

The Global SASS contains Keen's code framework and base components. The global scope is available for all demos.

Global SASS Mixins

When you customize or code in Keen's SASS environment you can use Keen's globally available base mixins. All available mixins can be found here: [root]/theme/default/src/theme/framework/components/base/_mixins.scss

Global SASS Functions

You can use Keen's globally available SASS functions in your custom codes. All available functions can be found here: [root]/theme/default/src/theme/framework/lib/_functions.scss

Keen uses nested map list to structure the config options with special custom function k-get() to access the nested config structure. You can access to an option by using k-get() function as shown below:

transition: k-get($k-aside-config, base, minimize, transition);

Global SASS Config

The demo's style.scss includes the entire framework stylesheets and compiles with its own layout and global settings that allows overriding Keen frameworks base global settings. Thus each demo can customize and change the look and feel of the the entire theme components by overriding global config [root]/theme/default/src/theme/framework/_config.scss in the demo's config [root]/theme/default/src/theme/demo/[demo_id]/sass/_config.scss.

//
// Global Framework Config
//

// Framework functions
@import "../../../../../framework/lib/functions";

// Framework mixins
@import "../../../../../framework/lib/mixins";
@import "../../../../../framework/components/vendors/perfect-scrollbar/mixins";
@import "../../../../../framework/components/foundation/burger-icon/mixins";
@import "../../../../../framework/components/foundation/menu/menu-horizontal-mixins";
@import "../../../../../framework/components/foundation/menu/menu-vertical-mixins";
@import "../../../../../framework/components/foundation/offcanvas/mixins";
@import "../../../../../framework/components/foundation/indicator/spinner/mixins";

// Theme mixins
@import "components/base/mixins";

// Layout Breakpoints(bootstrap responsive breakpoints)
// Define the minimum and maximum dimensions at which your layout will change, adapting to different screen sizes, for use in media queries.
$k-media-breakpoints: (
    // Extra small screen / phone
    xs: 0,

    // Small screen / phone
    sm: 576px,

    // Medium screen / tablet
    md: 768px,

    // Large screen / desktop
    lg: 1024px, //1024px,

    // Extra large screen / wide desktop
    xl: 1399px
) !default;

// Global rounded border mode
$k-rounded: true !default;


// Border Radius
$k-border-radius: 4px !default;

// Core icon codes(lineawesome icons: https://icons8.com/line-awesome)
$k-action-icons: (
    close: '\f191',
    down: '\f110',
    up: '\f113',
    left: '\f111',
    right: '\f112',
    plus: '\f2c2',
    minus: '\f28e'
) !default;

// Elevate shadow
$k-elevate-shadow: 0px 0px 13px 0px rgba(82,63,105,0.05);
$k-elevate-shadow-2: 0px 0px 13px 0px rgba(82,63,105,0.1);

// Dropdown shadow
$k-dropdown-shadow: 0px 0px 50px 0px rgba(82,63,105, 0.15);

// Custom scrollbar color
$k-scroll-color: darken(#ebedf2, 6%);

// Transition
$k-transition: all 0.3s !default;

// Modal Z-index
$k-modal-zindex: 1050 !default;

// dropdown Z-index
$k-dropdown-zindex: 95 !default;

// State Colors
// Brand colors
$k-brand-color: #536be2 !default;
$k-brand-inverse-color: #ffffff !default;

// State colors
$k-state-colors: (
    // Keen states
    brand: (
        base: $k-brand-color,
        inverse: $k-brand-inverse-color
    ),
    metal: (
        base: #d3dae6,
        inverse: #586272
    ),
    light: (
        base: #ffffff,
        inverse: #282a3c
    ),
    dark: (
        base: lighten(#4c467a, 12%),
        inverse: #ffffff
    ),
    accent: (
        base: #00c5dc,
        inverse: #ffffff
    ),
    focus: (
        base: #9816f4,
        inverse: #ffffff
    ),

    // Bootstrap states
    primary: (
        base: #5867dd,
        inverse: #ffffff
    ),
    success: (
        base: #1dc9b7,
        inverse: #ffffff
    ),
    info: (
        base: #5578eb,
        inverse: #ffffff
    ),
    warning: (
        base: #ffb822,
        inverse: #111111
    ),
    danger: (
        base: #fd397a,
        inverse: #ffffff
    )
)!default;

// Base colors
$k-base-colors: (
    label: (
        1: #c5cbe3,
        2: #a1a8c3,
        3: #646c9a,
        4: #3d4465
    ),
    shape: (
        1: #f0f3ff,
        2: #e8ecfa,
        3: #93a2dd,
        4: #646c9a
    ),
    grey: (
        1: #f7f8fa, //#f4f5f8
        2: #ebedf2,
        3: darken(#ebedf2, 3%),
        4: darken(#ebedf2, 6%)
    )
) !default;

// Root Font Settings
$k-font-families: (
    regular: 'Poppins',
    heading: 'Poppins'
) !default;

// Root Font Settings
$k-font-size: (
    size: (
        desktop: 13px,
        tablet: 12px,
        mobile: 12px
    ),
    weight: 300
) !default;

// General Link Settings
$k-font-color: (
    text: #646c9a,
    link: (
        default: k-state-color(brand),
        hover: darken(k-state-color(brand), 6%)
    )
) !default;

// Portlet settings
$k-portlet: (
    min-height: (
        default: (
            desktop: 60px,
            mobile: 50px
        ),
        lg: (
            desktop: 80px,
            mobile: 60px
        ),
        xl: (
            desktop: 100px,
            mobile: 80px
        )
    ),
    space: (
        desktop: 25px,
        mobile: 15px
    ),
    bottom-space: (
        desktop: 20px,
        mobile: 10px
    ),
    border-color: k-base-color(grey, 2),
    bg-color: #ffffff,
    shadow: 0px 0px 30px 0px rgba(82,63,105,0.05)
);
Variable Description
$k-media-breakpoints Layout Breakpoints(bootstrap responsive breakpoints). Define the minimum and maximum dimensions at which your layout will change, adapting to different screen sizes, for use in media queries
Config
$k-media-breakpoints: (
    // Extra small screen / phone
    xs: 0,

    // Small screen / phone
    sm: 576px,

    // Medium screen / tablet
    md: 768px,

    // Large screen / desktop
    lg: 1024px, //1024px,

    // Extra large screen / wide desktop
    xl: 1399px
) !default;
$k-rounded Set global rounded border mode enable/disable.
Config
$k-rounded: true !default;
$k-border-radius Set global border radius size.
Config
$k-border-radius: 4px !default;
$k-action-icons Core icon codes(lineawesome icons: https://icons8.com/line-awesome)
Config
$k-action-icons: (
    close: '\f191',
    down: '\f110',
    up: '\f113',
    left: '\f111',
    right: '\f112',
    plus: '\f2c2',
    minus: '\f28e'
) !default;
$k-elevate-shadow Elevate shadow CSS values
Config
$k-elevate-shadow: 0px 0px 13px 0px rgba(82,63,105,0.05);
$k-elevate-shadow-2: 0px 0px 13px 0px rgba(82,63,105,0.1);
$k-dropdown-shadow Dropdown shadow CSS values
Config
$k-dropdown-shadow: 0px 0px 50px 0px rgba(82,63,105, 0.15);
$k-scroll-color Custom scrollbar color
Config
$k-scroll-color: darken(#ebedf2, 6%);
$k-transition Set global transition.
Config
$k-transition: all 0.3s !default;
$k-modal-zindex Set global modal z-index.
Config
$k-modal-zindex: 1050 !default;
$k-dropdown-zindex Set global dropdown z-index.
Config
$k-dropdown-zindex: 95 !default;
$k-brand-color Set global brand color.
Config
$k-brand-color: #536be2 !default;
$k-brand-inverse-color Set global brand inverse color.
Config
$k-brand-inverse-color: #ffffff !default;
$k-state-colors State colors of Keen and Bootstrap.
Config
$k-state-colors: (
    // Keen states
    brand: (
        base: $k-brand-color,
        inverse: $k-brand-inverse-color
    ),
    metal: (
        base: #d3dae6,
        inverse: #586272
    ),
    light: (
        base: #ffffff,
        inverse: #282a3c
    ),
    dark: (
        base: lighten(#4c467a, 12%),
        inverse: #ffffff
    ),
    accent: (
        base: #00c5dc,
        inverse: #ffffff
    ),
    focus: (
        base: #9816f4,
        inverse: #ffffff
    ),

    // Bootstrap states
    primary: (
        base: #5867dd,
        inverse: #ffffff
    ),
    success: (
        base: #1dc9b7,
        inverse: #ffffff
    ),
    info: (
        base: #5578eb,
        inverse: #ffffff
    ),
    warning: (
        base: #ffb822,
        inverse: #111111
    ),
    danger: (
        base: #fd397a,
        inverse: #ffffff
    )
)!default;
$k-base-colors Base colors.
Config
$k-base-colors: (
    label: (
        1: #c5cbe3,
        2: #a1a8c3,
        3: #646c9a,
        4: #3d4465
    ),
    shape: (
        1: #f0f3ff,
        2: #e8ecfa,
        3: #93a2dd,
        4: #646c9a
    ),
    grey: (
        1: #f7f8fa, //#f4f5f8
        2: #ebedf2,
        3: darken(#ebedf2, 3%),
        4: darken(#ebedf2, 6%)
    )
) !default;
$k-font-families Root font family list.
Config
$k-font-families: (
    regular: 'Poppins',
    heading: 'Poppins'
) !default;
$k-font-size Root font settings.
Config
$k-font-size: (
    size: (
        desktop: 13px,
        tablet: 12px,
        mobile: 12px
    ),
    weight: 300
) !default;
$k-font-color General link font settings.
Config
$k-font-color: (
    text: #646c9a,
    link: (
        default: k-state-color(brand),
        hover: darken(k-state-color(brand), 6%)
    )
) !default;
$k-portlet Portlet settings.
Config
$k-portlet: (
    min-height: (
        default: (
            desktop: 60px,
            mobile: 50px
        ),
        lg: (
            desktop: 80px,
            mobile: 60px
        ),
        xl: (
            desktop: 100px,
            mobile: 80px
        )
    ),
    space: (
        desktop: 25px,
        mobile: 15px
    ),
    bottom-space: (
        desktop: 20px,
        mobile: 10px
    ),
    border-color: k-base-color(grey, 2),
    bg-color: #ffffff,
    shadow: 0px 0px 30px 0px rgba(82,63,105,0.05)
);