// scss-lint:disable ColorVariable

// main colors used in theme
// %CINNAMON_OPACITY% < 1 will result in most cinnamon surfaces being transparent
$button_bg_color: #%BTN_BG%;
$button_fg_color: #%BTN_FG%;
$selected_bg_color: #%SEL_BG%;
$selected_fg_color: #%SEL_FG%;
$tooltip_bg_color: #%BG%;
$tooltip_fg_color: #%FG%;
$dark_bg_color: fade-out(#%MENU_BG%, 1 - %CINNAMON_OPACITY%);
$dark_fg_color: #%MENU_FG%;

// an always transparent color used for expo & scale views and the lightbox effect when cinnamon is showing an OSD.
$dark_bg_color_trans: fade-out(#%MENU_BG%, 1 - (%CINNAMON_OPACITY% / 2));

// used to calculate gradients for gradient values > 0
$lighten_amount: 1 + (%GRADIENT% / 2);
$darken_amount: 1 - (%GRADIENT% / 2);

// main background surface gradient start and end colors
$light_bg_grad: if($lighten_amount > 1, lighten($dark_bg_color, ($lighten_amount - 1) * lightness($dark_bg_color)), $dark_bg_color);
$dark_bg_grad: if($darken_amount < 1, darken($dark_bg_color, (1 - $darken_amount) * lightness($dark_bg_color)), $dark_bg_color);

// hovered background surface gradient start and end colors - used for window list
$hover_bg_color: lighten($dark_bg_color, .05 * lightness($dark_bg_color));
$light_hover_bg_grad: if($lighten_amount > 1, lighten($hover_bg_color, ($lighten_amount - 1) * lightness($hover_bg_color)), $hover_bg_color);
$dark_hover_bg_grad: if($darken_amount < 1, darken($hover_bg_color, (1 - $darken_amount) * lightness($hover_bg_color)), $hover_bg_color);

// selected background surface gradient start and end colors - used for window list & buttons
$light_selected_bg_grad: if($lighten_amount > 1, lighten($selected_bg_color, ($lighten_amount - 1) * lightness($selected_bg_color)), $selected_bg_color);
$dark_selected_bg_grad: if($darken_amount < 1, darken($selected_bg_color, (1 - $darken_amount) * lightness($selected_bg_color)), $selected_bg_color);

// hovered selected background surface gradient start and end colors - used for window list
$hover_selected_color: lighten($selected_bg_color, .05 * lightness($selected_bg_color));
$light_hover_selected_grad: if($lighten_amount > 1, lighten($hover_selected_color, ($lighten_amount - 1) * lightness($hover_selected_color)), $hover_selected_color);
$dark_hover_selected_grad: if($darken_amount < 1, darken($hover_selected_color, (1 - $darken_amount) * lightness($hover_selected_color)), $hover_selected_color);

// button background surface gradient start and end colors - used for buttons
$light_button_bg_grad: if($lighten_amount > 1, lighten($button_bg_color, ($lighten_amount - 1) * lightness($button_bg_color)), $button_bg_color);
$dark_button_bg_grad: if($darken_amount < 1, darken($button_bg_color, (1 - $darken_amount) * lightness($button_bg_color)), $button_bg_color);

// hovered button background surface gradient start and end colors - used for buttons
$hover_button_bg: lighten($button_bg_color, .05 * lightness($button_bg_color));
$light_hover_button_bg_grad: if($lighten_amount > 1, lighten($hover_button_bg, ($lighten_amount - 1) * lightness($hover_button_bg)), $hover_button_bg);
$dark_hover_button_bg_grad: if($darken_amount < 1, darken($hover_button_bg, (1 - $darken_amount) * lightness($hover_button_bg)), $hover_button_bg);

// tooltip background surface gradient start and end colors - used for tooltips
$light_tooltip_bg_grad: if($lighten_amount > 1, lighten($tooltip_bg_color, ($lighten_amount - 1) * lightness($tooltip_bg_color)), $tooltip_bg_color);
$dark_tooltip_bg_grad: if($darken_amount < 1, darken($tooltip_bg_color, (1 - $darken_amount) * lightness($tooltip_bg_color)), $tooltip_bg_color);

// borders used throughout theme buttons also use selected_borders_color
$selected_border: mix($dark_bg_color, $selected_bg_color, if(lightness($dark_bg_color) < 50%, 18%, 10%));
$border_strength: if(lightness($dark_fg_color) > 50, .1, .2);
$interior_border: fade-out($dark_fg_color, 0.88 - $border_strength);
$exterior_border: mix($dark_bg_color, $dark_fg_color, (30 + ($border_strength * 100)));

// decoration for buttons
$button_border_strength: if(lightness($button_fg_color) > 50, .1, .2);
$button_border: fade-out($button_fg_color, 0.88 - $button_border_strength);

// scrollbar colors
$scrollbar_bg_color:  darken($dark_bg_color, 5%);
$scrollbar_slider_color: mix($dark_bg_color, $dark_fg_color, 20%);
$scrollbar_slider_hover_color: mix($dark_bg_color, $selected_bg_color, 20%);

// caret colors for dialog entrys
$primary_caret_color: #%CARET1_FG%;

// other colors used in the theme
$link_color: #%TERMINAL_COLOR4%;
$success_color: #%TERMINAL_COLOR10%;
$warning_color: #%TERMINAL_COLOR11%;
$error_color: #%TERMINAL_COLOR9%;
$info_fg_color: #%TERMINAL_BACKGROUND%;
$info_bg_color: #%TERMINAL_COLOR12%;

// used for border-radius throughout theme
$roundness: %ROUNDNESS%px;

// used for buttons, entrys, panel spacing, and menu item spacing.
$spacing: %SPACING%px;
$spacing_plus2: (%SPACING% + 2) + px;

