[dw-free] Stepping Stones: 7 themes by Musyc
[commit: http://hg.dwscoalition.org/dw-free/rev/6b66c4be549c]
http://bugs.dwscoalition.org/show_bug.cgi?id=3753
Seven themes by
musyc: At the Hop, Atomic Age, Banana
Splitsville, Eat at Joes, Hula Hoop, Mid-Century Modern, Saddle Shoes
Refactoring to avoid invisible text that was exposed in some themes:
-- Set foreground colors to match background colors.
-- Used the same variable everywhere whenever possible.
-- Removed variables which were only used once and set only one color.
-- Make border colors and footer link colors work
-- Create a specific property for the userpic border color
Patch and preview pics by
ninetydegrees.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=3753
Seven themes by
Splitsville, Eat at Joes, Hula Hoop, Mid-Century Modern, Saddle Shoes
Refactoring to avoid invisible text that was exposed in some themes:
-- Set foreground colors to match background colors.
-- Used the same variable everywhere whenever possible.
-- Removed variables which were only used once and set only one color.
-- Make border colors and footer link colors work
-- Create a specific property for the userpic border color
Patch and preview pics by
Files modified:
- bin/upgrading/s2layers/steppingstones/layout.s2
- bin/upgrading/s2layers/steppingstones/themes.s2
- htdocs/img/customize/previews/steppingstones/atomicage.png
- htdocs/img/customize/previews/steppingstones/atthehop.png
- htdocs/img/customize/previews/steppingstones/bananasplitsville.png
- htdocs/img/customize/previews/steppingstones/eatatjoes.png
- htdocs/img/customize/previews/steppingstones/hulahoop.png
- htdocs/img/customize/previews/steppingstones/midcenturymodern.png
- htdocs/img/customize/previews/steppingstones/saddleshoes.png
--------------------------------------------------------------------------------
diff -r 9bf1410a79bc -r 6b66c4be549c bin/upgrading/s2layers/steppingstones/layout.s2
--- a/bin/upgrading/s2layers/steppingstones/layout.s2 Thu Jul 21 01:03:01 2011 +0800
+++ b/bin/upgrading/s2layers/steppingstones/layout.s2 Thu Jul 21 01:17:06 2011 +0800
@@ -8,7 +8,7 @@
set layout_type = "three-columns-left";
propgroup colors_child {
-
+ property Color color_entry_userpic_border { des = "Entry and comment userpic border color"; }
property use color_page_details_text;
}
@@ -17,15 +17,9 @@
function print_stylesheet() {
var string header_colors = generate_color_css( $*color_page_title, $*color_header_background, new Color );
- var string navigation_colors = generate_color_css( new Color, $*color_entry_background, new Color );
-
- var string entry_colors = generate_color_css( new Color, $*color_entry_background, new Color );
- var string entry_userpic_colors = generate_color_css( new Color, $*color_entry_border, new Color );
-
- var string tertiary_colors = generate_color_css( new Color, $*color_module_background, new Color );
- var string module_header_link_colors = generate_color_css( $*color_module_title, new Color, new Color );
- var string footer_colors = generate_color_css( new Color, $*color_footer_background, new Color );
- var string footer_link_colors = generate_color_css( $*color_page_title, new Color, new Color );
+ var string entry_colors = generate_color_css( $*color_entry_text, $*color_entry_background, $*color_entry_border );
+ var string entry_userpic_colors = generate_color_css( new Color, $*color_entry_userpic_border, new Color );
+ var string tertiary_colors = generate_color_css( $*color_module_text, $*color_module_background, $*color_module_border );
var string{}{} scaling = {
"" => {
@@ -49,11 +43,11 @@
};
var string entry_header_padding = $scaling{$*entry_userpic_style}{"padding"};
- var string entry_icon_background = generate_background_css( $scaling{$*entry_userpic_style}{"noicon_img"}, "no-repeat", "center", $*color_entry_border );
+ var string entry_icon_background = generate_background_css( $scaling{$*entry_userpic_style}{"noicon_img"}, "no-repeat", "center", $*color_entry_userpic_border );
var string entry_icon_wrap_size = $scaling{$*entry_userpic_style}{"icon_wrap_size"};
var string entry_icon_link_size = $scaling{$*entry_userpic_style}{"icon_link_size"};
- var string comment_icon_background = generate_background_css( $scaling{$*comment_userpic_style}{"noicon_img"}, "no-repeat", "center", $*color_entry_border );
+ var string comment_icon_background = generate_background_css( $scaling{$*comment_userpic_style}{"noicon_img"}, "no-repeat", "center", $*color_entry_userpic_border );
var string comment_icon_wrap_size = $scaling{$*comment_userpic_style}{"icon_wrap_size"};
var string comment_icon_link_size = $scaling{$*comment_userpic_style}{"icon_link_size"};
@@ -167,7 +161,12 @@
.navigation ul { margin: 0;
padding: .25em;
display: inline;
- $navigation_colors }
+ $entry_colors }
+
+.navigation ul li a { color: $*color_entry_link; }
+.navigation ul li a:visited { color: $*color_entry_link_visited; }
+.navigation ul li a:hover { color: $*color_entry_link_hover; }
+.navigation ul li a:active { color: $*color_entry_link_active; }
/* entries */
.entry-wrapper { margin-top: 2em;
@@ -178,10 +177,10 @@
.entry-content hr { display: block;
margin: 1em 10%; }
-.entry { position: relative;
- $entry_colors
+.entry {
padding: .5em;
- border: none;}
+ position: relative;
+ }
.entry .contents { padding: .5em .5em 0 .5em; }
@@ -225,10 +224,18 @@
min-height: 17px; } /* prevent entry-management icons from shoving quickreply aside */
/* comments */
-.comment { margin-bottom: 1em;
+
+.comment {
+ $entry_colors
+ margin-bottom: 1em;
margin-left: 1em;
- $entry_colors
- padding: .5em }
+ padding: .5em;
+ }
+
+.comment a { color: $*color_entry_link; }
+.comment a:visited { color: $*color_entry_link_visited; }
+.comment a:hover { color: $*color_entry_link_hover; }
+.comment a:active { color: $*color_entry_link_active; }
.partial .comment-title {
display: inline;
@@ -246,7 +253,11 @@
.comment-title { margin: 0;
padding: 0 0 .25em 0;
font-weight: bold; }
-.partial .comment-title { display: inline; }
+
+/* Restore comment title color */
+.comment-title, .comment-title a {
+ color: $*color_comment_title;
+ }
.comment .contents { margin-top: .5em ; }
@@ -284,8 +295,20 @@
.comment-management-links { float: right; }
.comment-interaction-links { text-align: left; }
-.bottomcomment, .comments-message { padding: 1px 1px 3px 1px;
- $navigation_colors }
+.bottomcomment,
+.comments-message {
+ $entry_colors
+ padding: 1px 1px 3px;
+ }
+
+/* User color if there is one */
+.bottomcomment .entry-interaction-links a { color: $*color_entry_interaction_links; }
+
+/* Otherwise fall back on entry colors */
+.bottomcomment a { color: $*color_entry_link; }
+.bottomcomment a:visited { color: $*color_entry_link_visited; }
+.bottomcomment a:hover { color: $*color_entry_link_hover; }
+.bottomcomment a:active { color: $*color_entry_link_active; }
.bottomcomment .entry-management-links,
.bottomcomment .entry-interaction-links { margin: .25em 0 .5em 0; }
@@ -298,20 +321,32 @@
/* tags */
-.page-tags .tags-container { $entry_colors
+.page-tags .tags-container {
+ $entry_colors
+ margin-left: -1em;
padding: 1em;
- margin-left: -1em; }
+ }
+.page-tags .tags-container a { color: $*color_entry_link; }
+.page-tags .tags-container a:visited { color: $*color_entry_link_visited; }
+.page-tags .tags-container a:hover { color: $*color_entry_link_hover; }
+.page-tags .tags-container a:active { color: $*color_entry_link_active; }
/* archive */
/* year-by-month view */
#archive-year .navigation { text-align: left; }
-div.month { margin: 2em 0 2em -1em;
+div.month {
$entry_colors
+ margin: 2em 0 2em -1em;
padding: 1em; } /*both year and month pages */
+.month a { color: $*color_entry_link; }
+.month a:visited { color: $*color_entry_link_visited; }
+.month a:hover { color: $*color_entry_link_hover; }
+.month a:active { color: $*color_entry_link_active; }
+
table.month td,
table.month th { border-color: $*color_page_details_text;
vertical-align: top; }
@@ -358,8 +393,9 @@
.module-header {
font-size: large;
padding: 1px 3px; }
+
.module-header a,
-.module-header a:visited { $module_header_link_colors }
+.module-header a:visited { color: $*color_module_title; }
.module-userprofile { text-align: center; }
.module-userprofile .module-header { text-align: left; }
@@ -372,12 +408,14 @@
/* footer */
#footer { background-color: transparent; }
-#footer > .inner:first-child { $footer_colors
+
+#footer > .inner:first-child {
+ background-color: $*color_footer_background;
+ margin: 1em 2em;
padding: .5em;
- margin: 1em 2em; }
-#footer a { $footer_link_colors }
+ }
$userpic_css
+
""";
-
-}
+}
\ No newline at end of file
diff -r 9bf1410a79bc -r 6b66c4be549c bin/upgrading/s2layers/steppingstones/themes.s2
--- a/bin/upgrading/s2layers/steppingstones/themes.s2 Thu Jul 21 01:03:01 2011 +0800
+++ b/bin/upgrading/s2layers/steppingstones/themes.s2 Thu Jul 21 01:17:06 2011 +0800
@@ -1,3 +1,140 @@
+#NEWLAYER: steppingstones/atthehop
+layerinfo type = "theme";
+layerinfo name = "At The Hop";
+layerinfo redist_uniq = "steppingstones/atthehop";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#cefdc2";
+set color_page_details_text = "#a3be9d";
+set color_page_link = "#266B14";
+set color_page_link_active = "#a3be9d";
+set color_page_link_hover = "#a3be9d";
+set color_page_link_visited = "#266B14";
+set color_page_text = "#a3be9d";
+set color_page_title = "#266B14";
+set color_header_background = "#fdedd0";
+set color_footer_background = "#fdedd0";
+set color_footer_link = "#266B14";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#fffcdd";
+set color_entry_title = "#266B14";
+set color_entry_title_background = "#fdedd0";
+set color_entry_userpic_border = "#a3be9d";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#fffcdd";
+set color_module_link = "#266B14";
+set color_module_link_active = "#a3be9d";
+set color_module_link_hover = "#a3be9d";
+set color_module_link_visited = "#266B14";
+set color_module_text = "#a3be9d";
+
+
+#NEWLAYER: steppingstones/atomicage
+layerinfo type = "theme";
+layerinfo name = "Atomic Age";
+layerinfo redist_uniq = "steppingstones/atomicage";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#12c4f3";
+set color_page_details_text = "#303";
+set color_page_link = "#909";
+set color_page_link_active = "#303";
+set color_page_link_hover = "#303";
+set color_page_link_visited = "#909";
+set color_page_text = "#303";
+set color_page_title = "#04f219";
+set color_header_background = "#909";
+set color_footer_background = "#909";
+set color_footer_link = "#04f219";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#04f219";
+set color_entry_title = "#12c4f3";
+set color_entry_title_background = "#909";
+set color_entry_userpic_border = "#12c4f3";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#04f219";
+set color_module_link = "#909";
+set color_module_link_active = "#303";
+set color_module_link_hover = "#303";
+set color_module_link_visited = "#909";
+set color_module_text = "#303";
+set color_module_title = "#12c4f3";
+set color_module_title_background = "#909";
+
+
+#NEWLAYER: steppingstones/bananasplitsville
+layerinfo type = "theme";
+layerinfo name = "Banana Splitsville";
+layerinfo redist_uniq = "steppingstones/bananasplitsville";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#ff6";
+set color_page_details_text = "#422100";
+set color_page_link = "#c40000";
+set color_page_link_active = "#422100";
+set color_page_link_hover = "#422100";
+set color_page_link_visited = "#c40000";
+set color_page_text = "#422100";
+set color_page_title = "#FEFFC6";
+set color_header_background = "#422100";
+set color_footer_background = "#422100";
+set color_footer_link = "#FEFFC6";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#FEFFC6";
+set color_entry_title = "#FEFFC6";
+set color_entry_title_background = "#422100";
+set color_entry_userpic_border = "#422100";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#FEFFC6";
+set color_module_link = "#c40000";
+set color_module_link_active = "#422100";
+set color_module_link_hover = "#422100";
+set color_module_link_visited = "#c40000";
+set color_module_text = "#422100";
+
+
#NEWLAYER: steppingstones/chocolate
layerinfo type = "theme";
layerinfo name = "Chocolate";
@@ -15,13 +152,14 @@
set color_page_title = "#fff";
set color_header_background = "#5B3E3B";
set color_footer_background = "#5B3E3B";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff";
-set color_entry_border = "#ECDEC7";
+set color_entry_userpic_border = "#ECDEC7";
##===============================
## Module Colors
@@ -98,6 +236,7 @@
set color_page_title = "#fff";
set color_header_background = "#7A5050";
set color_footer_background = "#7A5050";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
@@ -117,6 +256,50 @@
set color_module_title = "#000";
+#NEWLAYER: steppingstones/eatatjoes
+layerinfo type = "theme";
+layerinfo name = "Eat At Joe's";
+layerinfo redist_uniq = "steppingstones/eatatjoes";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#fc0";
+set color_page_details_text = "#000";
+set color_page_link = "#ff6700";
+set color_page_link_active = "#ffa567";
+set color_page_link_hover = "#ffa567";
+set color_page_link_visited = "#ff6700";
+set color_page_text = "#000";
+set color_page_title = "#fff9e3";
+set color_header_background = "#ff6700";
+set color_footer_background = "#ff6700";
+set color_footer_link = "#fff9e3";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#fff9e3";
+set color_entry_title = "#fff9e3";
+set color_entry_title_background = "#ff6700";
+set color_entry_userpic_border = "#ff6700";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#fff9e3";
+set color_module_link = "#ff6700";
+set color_module_link_active = "#ffa567";
+set color_module_link_hover = "#ffa567";
+set color_module_link_visited = "#ff6700";
+
+
#NEWLAYER: steppingstones/friendlycolors
layerinfo type = "theme";
layerinfo name = "Friendly Colors";
@@ -143,13 +326,14 @@
set color_page_title = "#fff";
set color_header_background = "#9DA6ED";
set color_footer_background = "#9DA6ED";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff";
-set color_entry_border = "#7885E3";
+set color_entry_userpic_border = "#7885E3";
##===============================
## Module Colors
@@ -292,13 +476,14 @@
set color_page_title = "#fff";
set color_header_background = "#aaa";
set color_footer_background = "#aaa";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff";
-set color_entry_border = "#eee";
+set color_entry_userpic_border = "#eee";
##===============================
## Module Colors
@@ -311,6 +496,95 @@
set color_module_title = "#000";
+#NEWLAYER: steppingstones/hulahoop
+layerinfo type = "theme";
+layerinfo name = "Hula Hoop";
+layerinfo redist_uniq = "steppingstones/hulahoop";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#7c1427";
+set color_page_details_text = "#000";
+set color_page_link = "#7c1427";
+set color_page_link_active = "#df8d9b";
+set color_page_link_hover = "#df8d9b";
+set color_page_link_visited = "#7c1427";
+set color_page_text = "#000";
+set color_page_title = "#f3ecf4";
+set color_header_background = "#bf3f56";
+set color_footer_background = "#bf3f56";
+set color_footer_link = "#f3ecf4";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#f3ecf4";
+set color_entry_title = "#f3ecf4";
+set color_entry_title_background = "#7c1427";
+set color_entry_userpic_border = "#bf3f56";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#f3ecf4";
+set color_module_link = "#7c1427";
+set color_module_link_active = "#df8d9b";
+set color_module_link_hover = "#df8d9b";
+set color_module_link_visited = "#7c1427";
+
+
+#NEWLAYER: steppingstones/midcenturymodern
+layerinfo type = "theme";
+layerinfo name = "Mid-Century Modern";
+layerinfo redist_uniq = "steppingstones/midcenturymodern";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#121115";
+set color_page_details_text = "#c39363";
+set color_page_link = "#E1C2A4";
+set color_page_link_active = "#d8d3d1";
+set color_page_link_hover = "#d8d3d1";
+set color_page_link_visited = "#E1C2A4";
+set color_page_text = "#c39363";
+set color_page_title = "#c39363";
+set color_header_background = "#653b2d";
+set color_footer_background = "#653b2d";
+set color_footer_link = "#c39363";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#653b2d";
+set color_entry_title = "#121115";
+set color_entry_title_background = "#c39363";
+set color_entry_userpic_border = "#c39363";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#653b2d";
+set color_module_link = "#E1C2A4";
+set color_module_link_active = "#d8d3d1";
+set color_module_link_hover = "#d8d3d1";
+set color_module_link_visited = "#E1C2A4";
+set color_module_text = "#c39363";
+
+
#NEWLAYER: steppingstones/nnwm2009
layerinfo type = "theme";
layerinfo name = "NNWM 2009";
@@ -343,14 +617,6 @@
set color_module_text="#000";
set color_module_title = "#ef8229";
-function Page::print_theme_stylesheet () {
- """
- #footer a {
- color: $*color_footer_link;
- }
- """;
-}
-
#NEWLAYER: steppingstones/olive
layerinfo type = "theme";
@@ -369,13 +635,14 @@
set color_page_title = "#fff";
set color_header_background = "#484830";
set color_footer_background = "#484830";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff";
-set color_entry_border = "#787860";
+set color_entry_userpic_border = "#787860";
##===============================
## Module Colors
@@ -405,13 +672,14 @@
set color_page_title = "#fff";
set color_header_background = "#798F8E";
set color_footer_background = "#798F8E";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff";
-set color_entry_border = "#C0D8D8";
+set color_entry_userpic_border = "#C0D8D8";
##===============================
## Module Colors
@@ -442,13 +710,14 @@
set color_page_title = "#fcf0fc";
set color_header_background = "#757";
set color_footer_background = "#757";
+set color_footer_link = "#fcf0fc";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff6ff";
-set color_entry_border = "#979";
+set color_entry_userpic_border = "#979";
##===============================
## Module Colors
@@ -461,6 +730,52 @@
set color_module_title = "#fff";
+#NEWLAYER: steppingstones/saddleshoes
+layerinfo type = "theme";
+layerinfo name = "Saddle Shoes";
+layerinfo redist_uniq = "steppingstones/saddleshoes";
+layerinfo author_name = "Musyc";
+
+set theme_authors = [ { "name" => "Musyc" } ];
+
+##===============================
+## Page Colors
+##===============================
+
+set color_page_background = "#000";
+set color_page_details_text = "#000";
+set color_page_link = "#CD0000";
+set color_page_link_active = "#300";
+set color_page_link_hover = "#300";
+set color_page_link_visited = "#CD0000";
+set color_page_text = "#fff";
+set color_page_title = "#f8f8f8";
+set color_header_background = "#CD0000";
+set color_footer_background = "#CD0000";
+set color_footer_link = "#f8f8f8";
+
+##===============================
+## Entry Colors
+##===============================
+
+set color_entry_background = "#f8f8f8";
+set color_entry_title = "#f8f8f8";
+set color_entry_title_background = "#CD0000";
+set color_entry_text = "#000";
+set color_entry_userpic_border = "#CD0000";
+
+##===============================
+## Module Colors
+##===============================
+
+set color_module_background = "#f8f8f8";
+set color_module_link = "#CD0000";
+set color_module_link_active = "#300";
+set color_module_link_hover = "#300";
+set color_module_link_visited = "#CD0000";
+set color_module_text = "#000";
+
+
#NEWLAYER: steppingstones/shadows
layerinfo type = "theme";
layerinfo name = "Shadows";
@@ -481,13 +796,14 @@
set color_page_title = "#fff";
set color_header_background = "#2E2C37";
set color_footer_background = "#2E2C37";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#232029";
-set color_entry_border = "#655A46";
+set color_entry_userpic_border = "#655A46";
##===============================
## Module Colors
@@ -517,13 +833,14 @@
set color_page_title = "#fff";
set color_header_background = "#300048";
set color_footer_background = "#300048";
+set color_footer_link = "#fff";
##===============================
## Entry Colors
##===============================
set color_entry_background = "#fff";
-set color_entry_border = "#D89030";
+set color_entry_userpic_border = "#D89030";
##===============================
## Module Colors
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/atomicage.png
Binary file htdocs/img/customize/previews/steppingstones/atomicage.png has changed
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/atthehop.png
Binary file htdocs/img/customize/previews/steppingstones/atthehop.png has changed
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/bananasplitsville.png
Binary file htdocs/img/customize/previews/steppingstones/bananasplitsville.png has changed
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/eatatjoes.png
Binary file htdocs/img/customize/previews/steppingstones/eatatjoes.png has changed
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/hulahoop.png
Binary file htdocs/img/customize/previews/steppingstones/hulahoop.png has changed
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/midcenturymodern.png
Binary file htdocs/img/customize/previews/steppingstones/midcenturymodern.png has changed
diff -r 9bf1410a79bc -r 6b66c4be549c htdocs/img/customize/previews/steppingstones/saddleshoes.png
Binary file htdocs/img/customize/previews/steppingstones/saddleshoes.png has changed
--------------------------------------------------------------------------------
