/**
         * Variables to use for the compiler.
         * These override the default Bootstrap Variables.
         */
        public function styles()
        {
            global $ss_settings;
            /**
             * BACKGROUND
             */
            if (isset($ss_settings['body_bg']['background-color']) && !empty($ss_settings['body_bg']['background-color'])) {
                $bg = $ss_settings['body_bg']['background-color'];
            } else {
                $bg = '#ffffff';
            }
            $body_bg = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($bg));
            // Calculate the gray shadows based on the body background.
            // We basically create 2 "presets": light and dark.
            if (StacheStack_Color::get_brightness($body_bg) > 80) {
                $gray_darker = 'lighten(#000, 13.5%)';
                $gray_dark = 'lighten(#000, 20%)';
                $gray = 'lighten(#000, 33.5%)';
                $gray_light = 'lighten(#000, 60%)';
                $gray_lighter = 'lighten(#000, 93.5%)';
            } else {
                $gray_darker = 'darken(#fff, 13.5%)';
                $gray_dark = 'darken(#fff, 20%)';
                $gray = 'darken(#fff, 33.5%)';
                $gray_light = 'darken(#fff, 60%)';
                $gray_lighter = 'darken(#fff, 93.5%)';
            }
            $bg_brightness = StacheStack_Color::get_brightness($body_bg);
            $table_bg_accent = $bg_brightness > 50 ? 'darken(@body-bg, 2.5%)' : 'lighten(@body-bg, 2.5%)';
            $table_bg_hover = $bg_brightness > 50 ? 'darken(@body-bg, 4%)' : 'lighten(@body-bg, 4%)';
            $table_border_color = $bg_brightness > 50 ? 'darken(@body-bg, 13.35%)' : 'lighten(@body-bg, 13.35%)';
            $input_border = $bg_brightness > 50 ? 'darken(@body-bg, 20%)' : 'lighten(@body-bg, 20%)';
            $dropdown_divider_top = $bg_brightness > 50 ? 'darken(@body-bg, 10.2%)' : 'lighten(@body-bg, 10.2%)';
            $variables = '';
            // Calculate grays
            if (isset($ss_settings['body_bg']) && !empty($ss_settings['body_bg'])) {
                $variables .= '@gray-darker:            ' . $gray_darker . ';';
                $variables .= '@gray-dark:              ' . $gray_dark . ';';
                $variables .= '@gray:                   ' . $gray . ';';
                $variables .= '@gray-light:             ' . $gray_light . ';';
                $variables .= '@gray-lighter:           ' . $gray_lighter . ';';
                // The below are declared as #fff in the default variables.
                $variables .= '@body-bg:                     ' . $body_bg . ';';
                $variables .= '@component-active-color:          @body-bg;';
                $variables .= '@btn-default-bg:                  @body-bg;';
                $variables .= '@dropdown-bg:                     @body-bg;';
                $variables .= '@pagination-bg:                   @body-bg;';
                $variables .= '@progress-bar-color:              @body-bg;';
                $variables .= '@list-group-bg:                   @body-bg;';
                $variables .= '@panel-bg:                        @body-bg;';
                $variables .= '@panel-primary-text:              @body-bg;';
                $variables .= '@pagination-active-color:         @body-bg;';
                $variables .= '@pagination-disabled-bg:          @body-bg;';
                $variables .= '@tooltip-color:                   @body-bg;';
                $variables .= '@popover-bg:                      @body-bg;';
                $variables .= '@popover-arrow-color:             @body-bg;';
                $variables .= '@label-color:                     @body-bg;';
                $variables .= '@label-link-hover-color:          @body-bg;';
                $variables .= '@modal-content-bg:                @body-bg;';
                $variables .= '@badge-color:                     @body-bg;';
                $variables .= '@badge-link-hover-color:          @body-bg;';
                $variables .= '@badge-active-bg:                 @body-bg;';
                $variables .= '@carousel-control-color:          @body-bg;';
                $variables .= '@carousel-indicator-active-bg:    @body-bg;';
                $variables .= '@carousel-indicator-border-color: @body-bg;';
                $variables .= '@carousel-caption-color:          @body-bg;';
                $variables .= '@close-text-shadow:       0 1px 0 @body-bg;';
                $variables .= '@input-bg:                        @body-bg;';
                $variables .= '@nav-open-link-hover-color:       @body-bg;';
                // These are #ccc
                // We re-calculate the color based on the gray values above.
                $variables .= '@btn-default-border:            mix(@gray-light, @gray-lighter);';
                $variables .= '@input-border:                  mix(@gray-light, @gray-lighter);';
                $variables .= '@popover-fallback-border-color: mix(@gray-light, @gray-lighter);';
                $variables .= '@breadcrumb-color:              mix(@gray-light, @gray-lighter);';
                $variables .= '@dropdown-fallback-border:      mix(@gray-light, @gray-lighter);';
                $variables .= '@table-bg-accent:    ' . $table_bg_accent . ';';
                $variables .= '@table-bg-hover:     ' . $table_bg_hover . ';';
                $variables .= '@table-border-color: ' . $table_border_color . ';';
                $variables .= '@legend-border-color: @gray-lighter;';
                $variables .= '@dropdown-divider-bg: @gray-lighter;';
                $variables .= '@dropdown-link-hover-bg: @table-bg-hover;';
                $variables .= '@dropdown-caret-color:   @gray-darker;';
                $variables .= '@nav-tabs-border-color:                   @table-border-color;';
                $variables .= '@nav-tabs-active-link-hover-border-color: @table-border-color;';
                $variables .= '@nav-tabs-justified-link-border-color:    @table-border-color;';
                $variables .= '@pagination-border:          @table-border-color;';
                $variables .= '@pagination-hover-border:    @table-border-color;';
                $variables .= '@pagination-disabled-border: @table-border-color;';
                $variables .= '@tooltip-bg: darken(@gray-darker, 15%);';
                $variables .= '@popover-arrow-outer-fallback-color: @gray-light;';
                $variables .= '@modal-content-fallback-border-color: @gray-light;';
                $variables .= '@modal-backdrop-bg:                   darken(@gray-darker, 15%);';
                $variables .= '@modal-header-border-color:           lighten(@gray-lighter, 12%);';
                $variables .= '@progress-bg: ' . $table_bg_hover . ';';
                $variables .= '@list-group-border:   ' . $table_border_color . ';';
                $variables .= '@list-group-hover-bg: ' . $table_bg_hover . ';';
                $variables .= '@list-group-link-color:         @gray;';
                $variables .= '@list-group-link-heading-color: @gray-dark;';
                $variables .= '@panel-inner-border:       @list-group-border;';
                $variables .= '@panel-footer-bg:          @list-group-hover-bg;';
                $variables .= '@panel-default-border:     @table-border-color;';
                $variables .= '@panel-default-heading-bg: @panel-footer-bg;';
                $variables .= '@thumbnail-border: @list-group-border;';
                $variables .= '@well-bg: @table-bg-hover;';
                $variables .= '@breadcrumb-bg: @table-bg-hover;';
                $variables .= '@close-color: darken(@gray-darker, 15%);';
            }
            /**
             * LAYOUT
             */
            if (isset($ss_settings['screen_tablet']) && !empty($ss_settings['screen_tablet'])) {
                $screen_sm = filter_var($ss_settings['screen_tablet'], FILTER_SANITIZE_NUMBER_INT);
            }
            if (isset($ss_settings['screen_desktop']) && !empty($ss_settings['screen_desktop'])) {
                $screen_md = filter_var($ss_settings['screen_desktop'], FILTER_SANITIZE_NUMBER_INT);
            }
            if (isset($ss_settings['screen_large_desktop']) && !empty($ss_settings['screen_large_desktop'])) {
                $screen_lg = filter_var($ss_settings['screen_large_desktop'], FILTER_SANITIZE_NUMBER_INT);
            }
            if (isset($ss_settings['layout_gutter']) && !empty($ss_settings['layout_gutter'])) {
                $gutter = filter_var($ss_settings['layout_gutter'], FILTER_SANITIZE_NUMBER_INT);
                $gutter = $gutter < 2 ? 2 : $gutter;
            }
            if (isset($ss_settings['site_style']) && !empty($ss_settings['site_style'])) {
                $site_style = $ss_settings['site_style'];
            }
            if (isset($site_style) && !empty($site_style)) {
                $screen_xs = $site_style == 'static' ? '50px' : '480px';
                $screen_sm = $site_style == 'static' ? '50px' : $screen_sm;
                $screen_md = $site_style == 'static' ? '50px' : $screen_md;
            }
            if (isset($screen_sm) && !empty($screen_sm)) {
                $variables .= '@screen-sm: ' . $screen_sm . 'px;';
            }
            if (isset($screen_md) && !empty($screen_md)) {
                $variables .= '@screen-md: ' . $screen_md . 'px;';
            }
            if (isset($screen_lg) && !empty($screen_lg)) {
                $variables .= '@screen-lg: ' . $screen_lg . 'px;';
            }
            if (isset($gutter) && !empty($gutter)) {
                $variables .= '@grid-gutter-width: ' . $gutter . 'px;';
            }
            $variables .= '@jumbotron-padding: @grid-gutter-width;';
            if (isset($gutter) && !empty($gutter)) {
                $variables .= '@modal-inner-padding: ' . round($gutter * 20 / 30) . 'px;';
                $variables .= '@modal-title-padding: ' . round($gutter * 15 / 30) . 'px;';
                $variables .= '@modal-lg: ' . round($screen_md - 3 * $gutter) . 'px;';
                $variables .= '@modal-md: ' . round($screen_sm - 3 * $gutter) . 'px;';
                $variables .= '@modal-sm: ' . round($screen_xs - 3 * $gutter) . 'px;';
            }
            $variables .= '@panel-body-padding: @modal-title-padding;';
            if (isset($gutter) && !empty($gutter)) {
                $variables .= '@container-tablet:        ' . ($screen_sm - $gutter / 2) . 'px;';
                $variables .= '@container-desktop:       ' . ($screen_md - $gutter / 2) . 'px;';
                $variables .= '@container-large-desktop: ' . ($screen_lg - $gutter) . 'px;';
            }
            if (isset($gutter) && !empty($gutter) && $site_style == 'static') {
                // disable responsiveness
                $variables .= '@screen-xs-max: 0 !important;
				.container { max-width: none !important; width: @container-large-desktop; }
				html { overflow-x: auto !important; }';
            }
            /**
             * BRANDING
             */
            $brand_primary = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($ss_settings['color_brand_primary']));
            $brand_success = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($ss_settings['color_brand_success']));
            $brand_warning = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($ss_settings['color_brand_warning']));
            $brand_danger = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($ss_settings['color_brand_danger']));
            $brand_info = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($ss_settings['color_brand_info']));
            $link_hover_color = StacheStack_Color::get_brightness($brand_primary) > 50 ? 'darken(@link-color, 15%)' : 'lighten(@link-color, 15%)';
            $brand_primary_brightness = StacheStack_Color::get_brightness($brand_primary);
            $brand_success_brightness = StacheStack_Color::get_brightness($brand_success);
            $brand_warning_brightness = StacheStack_Color::get_brightness($brand_warning);
            $brand_danger_brightness = StacheStack_Color::get_brightness($brand_danger);
            $brand_info_brightness = StacheStack_Color::get_brightness($brand_info);
            // Button text colors
            $btn_primary_color = $brand_primary_brightness < 195 ? '#fff' : '333';
            $btn_success_color = $brand_success_brightness < 195 ? '#fff' : '333';
            $btn_warning_color = $brand_warning_brightness < 195 ? '#fff' : '333';
            $btn_danger_color = $brand_danger_brightness < 195 ? '#fff' : '333';
            $btn_info_color = $brand_info_brightness < 195 ? '#fff' : '333';
            // Button borders
            $btn_primary_border = $brand_primary_brightness < 195 ? 'darken(@btn-primary-bg, 5%)' : 'lighten(@btn-primary-bg, 5%)';
            $btn_success_border = $brand_success_brightness < 195 ? 'darken(@btn-success-bg, 5%)' : 'lighten(@btn-success-bg, 5%)';
            $btn_warning_border = $brand_warning_brightness < 195 ? 'darken(@btn-warning-bg, 5%)' : 'lighten(@btn-warning-bg, 5%)';
            $btn_danger_border = $brand_danger_brightness < 195 ? 'darken(@btn-danger-bg, 5%)' : 'lighten(@btn-danger-bg, 5%)';
            $btn_info_border = $brand_info_brightness < 195 ? 'darken(@btn-info-bg, 5%)' : 'lighten(@btn-info-bg, 5%)';
            $input_border_focus = StacheStack_Color::get_brightness($brand_primary) < 195 ? 'lighten(@brand-primary, 10%)' : 'darken(@brand-primary, 10%)';
            $navbar_border = StacheStack_Color::get_brightness($brand_primary) < 50 ? 'lighten(@navbar-default-bg, 6.5%)' : 'darken(@navbar-default-bg, 6.5%)';
            // Branding colors
            if (isset($brand_primary) && !empty($brand_primary)) {
                $variables .= '@brand-primary: ' . $brand_primary . ';';
            }
            if (isset($brand_success) && !empty($brand_success)) {
                $variables .= '@brand-success: ' . $brand_success . ';';
            }
            if (isset($brand_info) && !empty($brand_info)) {
                $variables .= '@brand-info:    ' . $brand_info . ';';
            }
            if (isset($brand_warning) && !empty($brand_warning)) {
                $variables .= '@brand-warning: ' . $brand_warning . ';';
            }
            if (isset($brand_danger) && !empty($brand_danger)) {
                $variables .= '@brand-danger:  ' . $brand_danger . ';';
            }
            // Link-hover
            if (isset($link_hover_color) && !empty($link_hover_color)) {
                $variables .= '@link-hover-color: ' . $link_hover_color . ';';
            }
            $variables .= '@btn-default-color:  @gray-dark;';
            if (isset($btn_primary_color) && !empty($btn_primary_color)) {
                $variables .= '@btn-primary-color:  ' . $btn_primary_color . ';';
            }
            if (isset($btn_primary_border) && !empty($btn_primary_border)) {
                $variables .= '@btn-primary-border: ' . $btn_primary_border . ';';
            }
            if (isset($btn_success_color) && !empty($btn_success_color)) {
                $variables .= '@btn-success-color:  ' . $btn_success_color . ';';
            }
            if (isset($btn_success_border) && !empty($btn_success_border)) {
                $variables .= '@btn-success-border: ' . $btn_success_border . ';';
            }
            if (isset($btn_info_color) && !empty($btn_info_color)) {
                $variables .= '@btn-info-color:     ' . $btn_info_color . ';';
            }
            if (isset($btn_info_border) && !empty($btn_info_border)) {
                $variables .= '@btn-info-border:    ' . $btn_info_border . ';';
            }
            if (isset($btn_warning_color) && !empty($btn_warning_color)) {
                $variables .= '@btn-warning-color:  ' . $btn_warning_color . ';';
            }
            if (isset($btn_warning_border) && !empty($btn_warning_border)) {
                $variables .= '@btn-warning-border: ' . $btn_warning_border . ';';
            }
            if (isset($btn_danger_color) && !empty($btn_danger_color)) {
                $variables .= '@btn-danger-color:   ' . $btn_danger_color . ';';
            }
            if (isset($btn_danger_border) && !empty($btn_danger_border)) {
                $variables .= '@btn-danger-border:  ' . $btn_danger_border . ';';
            }
            if (isset($input_border_focus) && !empty($input_border_focus)) {
                $variables .= '@input-border-focus: ' . $input_border_focus . ';';
            }
            $variables .= '@state-success-text: mix(@gray-darker, @brand-success, 20%);';
            $variables .= '@state-success-bg:   mix(@body-bg, @brand-success, 50%);';
            $variables .= '@state-info-text:    mix(@gray-darker, @brand-info, 20%);';
            $variables .= '@state-info-bg:      mix(@body-bg, @brand-info, 50%);';
            $variables .= '@state-warning-text: mix(@gray-darker, @brand-warning, 20%);';
            $variables .= '@state-warning-bg:   mix(@body-bg, @brand-warning, 50%);';
            $variables .= '@state-danger-text:  mix(@gray-darker, @brand-danger, 20%);';
            $variables .= '@state-danger-bg:    mix(@body-bg, @brand-danger, 50%);';
            /**
             * JUMBOTRON
             */
            $font_jumbotron = stachestack_process_font($ss_settings['font_jumbotron']);
            $jumbotron_bg = $ss_settings['jumbo_bg'];
            $jumbotron_bg = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($jumbotron_bg['background-color']));
            $jumbotron_text_color = '#' . str_replace('#', '', $font_jumbotron['color']);
            if ($ss_settings['font_jumbotron_heading_custom'] == 1) {
                $font_jumbotron_headers = stachestack_process_font($ss_settings['font_jumbotron_headers']);
                $font_jumbotron_headers_face = $font_jumbotron_headers['font-family'];
                $font_jumbotron_headers_weight = $font_jumbotron_headers['font-weight'];
                $font_jumbotron_headers_style = $font_jumbotron_headers['font-style'];
                $jumbotron_headers_text_color = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($font_jumbotron_headers['color']));
            } else {
                $font_jumbotron_headers_face = $font_jumbotron['font-family'];
                $font_jumbotron_headers_weight = $font_jumbotron['font-weight'];
                $font_jumbotron_headers_style = $font_jumbotron['font-style'];
                $jumbotron_headers_text_color = $jumbotron_text_color;
            }
            if (isset($jumbotron_text_color) && !empty($jumbotron_text_color)) {
                $variables .= '@jumbotron-color:         ' . $jumbotron_text_color . ';';
            }
            if (isset($jumbotron_bg) && !empty($jumbotron_bg)) {
                $variables .= '@jumbotron-bg:            ' . $jumbotron_bg . ';';
            }
            if (isset($jumbotron_headers_text_color) && !empty($jumbotron_headers_text_color)) {
                $variables .= '@jumbotron-heading-color: ' . $jumbotron_headers_text_color . ';';
            }
            if (isset($font_jumbotron['font-size']) && !empty($font_jumbotron['font-size'])) {
                $variables .= '@jumbotron-font-size:     ' . $font_jumbotron['font-size'] . 'px;';
            }
            if (isset($ss_settings['padding_base']) && !empty($ss_settings['padding_base'])) {
                $padding_base = intval($ss_settings['padding_base']);
            } else {
                $padding_base = 6;
            }
            if (isset($ss_settings['general_border_radius']) && !empty($ss_settings['general_border_radius'])) {
                $border_radius = filter_var($ss_settings['general_border_radius'], FILTER_SANITIZE_NUMBER_INT);
                $border_radius = strlen($border_radius) < 1 ? 0 : $border_radius;
            } else {
                $border_radius = 0;
            }
            $variables .= '@padding-base-vertical:    ' . round($padding_base * 6 / 6) . 'px;';
            $variables .= '@padding-base-horizontal:  ' . round($padding_base * 12 / 6) . 'px;';
            $variables .= '@padding-large-vertical:   ' . round($padding_base * 10 / 6) . 'px;';
            $variables .= '@padding-large-horizontal: ' . round($padding_base * 16 / 6) . 'px;';
            $variables .= '@padding-small-vertical:   ' . round($padding_base * 5 / 6) . 'px;';
            $variables .= '@padding-small-horizontal: @padding-large-vertical;';
            $variables .= '@padding-xs-vertical:      ' . round($padding_base * 1 / 6) . 'px;';
            $variables .= '@padding-xs-horizontal:    @padding-small-vertical;';
            $variables .= '@border-radius-base:  ' . round($border_radius * 4 / 4) . 'px;';
            $variables .= '@border-radius-large: ' . round($border_radius * 6 / 4) . 'px;';
            $variables .= '@border-radius-small: ' . round($border_radius * 3 / 4) . 'px;';
            $variables .= '@pager-border-radius: ' . round($border_radius * 15 / 4) . 'px;';
            $variables .= '@tooltip-arrow-width: @padding-small-vertical;';
            $variables .= '@popover-arrow-width: (@tooltip-arrow-width * 2);';
            $variables .= '@thumbnail-padding:         ' . round($padding_base * 4 / 6) . 'px;';
            $variables .= '@thumbnail-caption-padding: ' . round($padding_base * 9 / 6) . 'px;';
            $variables .= '@badge-border-radius: ' . round($border_radius * 10 / 4) . 'px;';
            $variables .= '@breadcrumb-padding-vertical:   ' . round($padding_base * 8 / 6) . 'px;';
            $variables .= '@breadcrumb-padding-horizontal: ' . round($padding_base * 15 / 6) . 'px;';
            // StacheStack-specific variables
            // --------------------------------------------------
            if (isset($font_jumbotron['font-weight']) && !empty($font_jumbotron['font-weight'])) {
                $variables .= '@jumbotron-font-weight:       ' . $font_jumbotron['font-weight'] . ';';
            }
            if (isset($font_jumbotron['font-style']) && !empty($font_jumbotron['font-style'])) {
                $variables .= '@jumbotron-font-style:        ' . $font_jumbotron['font-style'] . ';';
            }
            if (isset($font_jumbotron['font-family']) && !empty($font_jumbotron['font-family'])) {
                $variables .= '@jumbotron-font-family:       ' . $font_jumbotron['font-family'] . ';';
            } else {
                $variables .= '@jumbotron-font-family: inherit;';
            }
            if (isset($font_jumbotron_headers_weight) && !empty($font_jumbotron_headers_weight)) {
                $variables .= '@jumbotron-headers-font-weight:       ' . $font_jumbotron_headers_weight . ';';
            } else {
                $variables .= '@jumbotron-headers-font-weight: inherit;';
            }
            if (isset($font_jumbotron_headers_style) && !empty($font_jumbotron_headers_style)) {
                $variables .= '@jumbotron-headers-font-style:        ' . $font_jumbotron_headers_style . ';';
            } else {
                $variables .= '@jumbotron-headers-font-style: inherit;';
            }
            if (isset($font_jumbotron_headers_face) && !empty($font_jumbotron_headers_face)) {
                $variables .= '@jumbotron-headers-font-family:       ' . $font_jumbotron_headers_face . ';';
            } else {
                $variables .= '@jumbotron-headers-font-family: inherit;';
            }
            /**
             * MENUS
             */
            $font_brand = stachestack_process_font($ss_settings['font_brand']);
            $font_navbar = stachestack_process_font($ss_settings['font_navbar']);
            $navbar_bg = '#' . str_replace('#', '', StacheStack_Color::sanitize_hex($ss_settings['navbar_bg']));
            $navbar_height = filter_var($ss_settings['navbar_height'], FILTER_SANITIZE_NUMBER_INT);
            $navbar_text_color = '#' . str_replace('#', '', $font_navbar['color']);
            $brand_text_color = '#' . str_replace('#', '', $font_brand['color']);
            $navbar_border = StacheStack_Color::get_brightness($navbar_bg) < 50 ? 'lighten(@navbar-default-bg, 6.5%)' : 'darken(@navbar-default-bg, 6.5%)';
            $gfb = $ss_settings['grid_float_breakpoint'];
            if (StacheStack_Color::get_brightness($navbar_bg) < 165) {
                $navbar_link_hover_color = 'darken(@navbar-default-color, 26.5%)';
                $navbar_link_active_bg = 'darken(@navbar-default-bg, 6.5%)';
                $navbar_link_disabled_color = 'darken(@navbar-default-bg, 6.5%)';
                $navbar_brand_hover_color = 'darken(@navbar-default-brand-color, 10%)';
            } else {
                $navbar_link_hover_color = 'lighten(@navbar-default-color, 26.5%)';
                $navbar_link_active_bg = 'lighten(@navbar-default-bg, 6.5%)';
                $navbar_link_disabled_color = 'lighten(@navbar-default-bg, 6.5%)';
                $navbar_brand_hover_color = 'lighten(@navbar-default-brand-color, 10%)';
            }
            $grid_float_breakpoint = isset($gfb) ? $gfb : '@screen-sm-min';
            $grid_float_breakpoint = $gfb == 'min' ? '10px' : $grid_float_breakpoint;
            $grid_float_breakpoint = $gfb == 'screen_xs_min' ? '@screen-xs-min' : $grid_float_breakpoint;
            $grid_float_breakpoint = $gfb == 'screen_sm_min' ? '@screen-sm-min' : $grid_float_breakpoint;
            $grid_float_breakpoint = $gfb == 'screen_md_min' ? '@screen-md-min' : $grid_float_breakpoint;
            $grid_float_breakpoint = $gfb == 'screen_lg_min' ? '@screen-lg-min' : $grid_float_breakpoint;
            $grid_float_breakpoint = $gfb == 'max' ? '9999px' : $grid_float_breakpoint;
            $grid_float_breakpoint = $gfb == 'screen-lg-min' ? '0 !important' : $grid_float_breakpoint;
            if (isset($navbar_height) && !empty($navbar_height)) {
                $variables .= '@navbar-height:         ' . $navbar_height . 'px;';
            }
            if (isset($navbar_text_color) && !empty($navbar_text_color)) {
                $variables .= '@navbar-default-color:  ' . $navbar_text_color . ';';
            }
            if (isset($navbar_bg) && !empty($navbar_bg)) {
                $variables .= '@navbar-default-bg:     ' . $navbar_bg . ';';
            }
            if (isset($navbar_border) && !empty($navbar_border)) {
                $variables .= '@navbar-default-border: ' . $navbar_border . ';';
            }
            $variables .= '@navbar-default-link-color:          @navbar-default-color;';
            if (isset($navbar_link_hover_color) && !empty($navbar_link_hover_color)) {
                $variables .= '@navbar-default-link-hover-color:    ' . $navbar_link_hover_color . ';';
            }
            $variables .= '@navbar-default-link-active-color:   mix(@navbar-default-color, @navbar-default-link-hover-color, 50%);';
            if (isset($navbar_link_active_bg) && !empty($navbar_link_active_bg)) {
                $variables .= '@navbar-default-link-active-bg:      ' . $navbar_link_active_bg . ';';
            }
            if (isset($navbar_link_disabled_color) && !empty($navbar_link_disabled_color)) {
                $variables .= '@navbar-default-link-disabled-color: ' . $navbar_link_disabled_color . ';';
            }
            $variables .= '@navbar-default-brand-color:         @navbar-default-link-color;';
            if (isset($navbar_brand_hover_color) && !empty($navbar_brand_hover_color)) {
                $variables .= '@navbar-default-brand-hover-color:   ' . $navbar_brand_hover_color . ';';
            }
            if (isset($navbar_border) && !empty($navbar_border)) {
                $variables .= '@navbar-default-toggle-hover-bg:     ' . $navbar_border . ';';
            }
            if (isset($navbar_text_color) && !empty($navbar_text_color)) {
                $variables .= '@navbar-default-toggle-icon-bar-bg:  ' . $navbar_text_color . ';';
            }
            if (isset($navbar_border) && !empty($navbar_border)) {
                $variables .= '@navbar-default-toggle-border-color: ' . $navbar_border . ';';
            }
            // StacheStack-specific variables
            // --------------------------------------------------
            if (isset($font_navbar) && !empty($font_navbar)) {
                $variables .= '@navbar-font-size:        ' . $font_navbar['font-size'] . 'px;';
                $variables .= '@navbar-font-weight:      ' . $font_navbar['font-weight'] . ';';
                $variables .= '@navbar-font-style:       ' . $font_navbar['font-style'] . ';';
                $variables .= '@navbar-font-family:      ' . $font_navbar['font-family'] . ';';
            }
            if (isset($navbar_text_color) && !empty($navbar_text_color)) {
                $variables .= '@navbar-font-color:       ' . $navbar_text_color . ';';
            }
            if (isset($font_brand) && !empty($font_brand)) {
                $variables .= '@brand-font-size:         ' . $font_brand['font-size'] . 'px;';
                $variables .= '@brand-font-weight:       ' . $font_brand['font-weight'] . ';';
                $variables .= '@brand-font-style:        ' . $font_brand['font-style'] . ';';
                $variables .= '@brand-font-family:       ' . $font_brand['font-family'] . ';';
            }
            if (isset($brand_text_color) && !empty($brand_text_color)) {
                $variables .= '@brand-font-color:        ' . $brand_text_color . ';';
            }
            if (isset($ss_settings['navbar_margin_top']) && !empty($ss_settings['navbar_margin_top'])) {
                $variables .= '@navbar-margin-top:       ' . $ss_settings['navbar_margin_top'] . 'px;';
            } else {
                $variables .= '@navbar-margin-top: 0px;';
            }
            if (isset($grid_float_breakpoint) && !empty($grid_float_breakpoint)) {
                $variables .= '@grid-float-breakpoint: ' . $grid_float_breakpoint . ';';
            }
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/blog.less";';
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/headers.less";';
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/layout.less";';
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/social.less";';
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/menus.less";';
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/widgets.less";';
            $variables .= '@import "' . dirname(__FILE__) . '/assets/less/footer.less";';
            // Add BuddyPress styles
            if (class_exists('BuddyPress')) {
                $variables .= '@import "' . dirname(__FILE__) . '/assets/less/buddypress.less";';
            }
            return $variables;
        }
function stachestack_background_css()
{
    $sections = stachestack_customizer_fields();
    echo '<style>';
    foreach ($sections as $section) {
        $fields = $section['fields'];
        foreach ($fields as $field => $args) {
            $value = get_theme_mod($field);
            if ('background' == $args['type']) {
                // Generic style for all "background" settings
                if (isset($args['style']) && !empty($args['style'])) {
                    echo $args['style'] . ' {
						background: ' . $value . ';
					}';
                }
                // Additional styles for the content background setting
                if ('body_bg' == $field) {
                    $bg_brightness = StacheStack_Color::get_brightness($value);
                    // Set an "accent" color depending on the background's brightness
                    if ($bg_brightness > 120) {
                        $accent = StacheStack_Color::adjust_brightness($value, -20);
                        $border = StacheStack_Color::adjust_brightness($value, -30);
                    } else {
                        $accent = StacheStack_Color::adjust_brightness($value, 20);
                        $border = StacheStack_Color::adjust_brightness($value, 30);
                    }
                    // Use lumosity difference to find a text color with great readability
                    if (StacheStack_Color::lumosity_difference($value, '#ffffff') > 5) {
                        $text = '#ffffff';
                    } elseif (StacheStack_Color::lumosity_difference($value, '#222222') > 5) {
                        $text = '#222222';
                    }
                    echo '.well {
						background: ' . $accent . ';
						border-color: ' . $border . ';
					}
					body, h1, h2, h3, h4, h5, h6 {
						color: ' . $text . ';
					}';
                }
            } elseif ('color' == $args['type']) {
                // Generic style for all "color" settings
                if (isset($args['style']) && !empty($args['style'])) {
                    echo $args['style'] . ' {
						color: ' . $value . ';
					}';
                }
                // Additional styles per setting
                if ('color_brand_primary' == $field) {
                    $brightness = StacheStack_Color::get_brightness($value);
                    if ($brightness < 195) {
                        $border = StacheStack_Color::adjust_brightness($value, -20);
                        $text_c = '#fff';
                    } else {
                        $border = StacheStack_Color::adjust_brightness($value, 20);
                        $text_c = '#333';
                    }
                    echo '.btn.btn-primary {
						background-color: ' . $value . ';
						border-color: ' . $border . ';
						color: ' . $text_c . ';
					}';
                }
            }
        }
    }
    echo '</style>';
}
function stachestack_get_brightness($hex)
{
    _stachestack_deprecated_function(__FUNCTION__, '3.2', 'StacheStack_Color::get_brightness()');
    return StacheStack_Color::get_brightness($hex);
}