// scss-lint:disable ColorVariable

// main colors used in theme
// 0.31 < 1 will result in most cinnamon surfaces being transparent
$button_bg_color: #6ca4ff;
$button_fg_color: #d3d3d3;
$selected_bg_color: #7aa2f7;
$selected_fg_color: #d3d3d3;
$tooltip_bg_color: #111c27;
$tooltip_fg_color: #86adff;
$dark_bg_color: fade-out(#051623, 1 - 0.31);
$dark_fg_color: #7aa2f7;

// 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(#051623, 1 - (0.31 / 2));

// used to calculate gradients for gradient values > 0
$lighten_amount: 1 + (0.0 / 2);
$darken_amount: 1 - (0.0 / 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: #6ca4ff;

// other colors used in the theme
$link_color: #479af2;
$success_color: #2cc241;
$warning_color: #aca507;
$error_color: #e28321;
$info_fg_color: #051623;
$info_bg_color: #7aa2f7;

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

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

