layerinfo "type" = "layout";
layerinfo "name" = "Tabula Rasa";
layerinfo redist_uniq = "core2base/layout";

##===============================
## Presentation
##===============================

propgroup presentation {
    property use layout_type;
    property use num_items_recent;
    property use num_items_reading;
    property use use_custom_friend_colors;
    property use use_shared_pic;
    property use use_journalstyle_entry_page;
    property use margins_size;
    property use margins_unit;
    property use sidebar_width;
    property use sidebar_width_doubled;
    property use medium_breakpoint_width;
    property use large_breakpoint_width;
    property use custom_control_strip_colors;

    property use reverse_sortorder_group;
    property use reg_firstdayofweek;
    property use tags_page_type;
    property use num_items_icons;
    property use icons_page_sort;

    property use all_entrysubjects;
    property use all_commentsubjects;
    property use entry_datetime_format_group;
    property use comment_datetime_format_group;
    property use userpics_style_group;
    property use userpics_position;
    property use entry_metadata_position;
    property use userlite_interaction_links;
    property use entry_management_links;
    property use comment_management_links;

}

set layout_type = "one-column";
set sidebar_width = "15em";
set sidebar_width_doubled = "30em";
set userpics_position = "left";
set use_custom_friend_colors = false;
set custom_foreground_element = "userpic_border";
set custom_background_element = "userpic_background";

##===============================
## Colors
##===============================

propgroup colors {
    property use color_page_background;
    property use color_page_text;
    property use color_page_link;
    property use color_page_link_active;
    property use color_page_link_hover;
    property use color_page_link_visited;
    property use color_page_border;

    property use color_module_background;
    property use color_module_text;
    property use color_module_link;
    property use color_module_link_active;
    property use color_module_link_hover;
    property use color_module_link_visited;
    property use color_module_title_background;
    property use color_module_title;
    property use color_module_border;

    property use color_header_background;
    property use color_page_title;

    property use color_footer_background;
    property use color_footer_link;
    property use color_footer_link_active;
    property use color_footer_link_hover;
    property use color_footer_link_visited;

    property use color_entry_background;
    property use color_entry_text;
    property use color_entry_link;
    property use color_entry_link_active;
    property use color_entry_link_hover;
    property use color_entry_link_visited;
    property use color_entry_title_background;
    property use color_entry_title;
    property use color_entry_interaction_links;
    property use color_entry_interaction_links_active;
    property use color_entry_interaction_links_hover;
    property use color_entry_interaction_links_visited;
    property use color_entry_border;

    property use color_comment_title_background;
    property use color_comment_title;

    property use control_strip_bgcolor;
    property use control_strip_fgcolor;
    property use control_strip_bordercolor;
    property use control_strip_linkcolor;
}

##===============================
## Fonts
##===============================

propgroup fonts {
    property use font_base;
    property use font_fallback;
    property use font_base_size;
    property use font_base_units;
    property use font_module_heading;
    property use font_module_heading_size;
    property use font_module_heading_units;
    property use font_module_text;
    property use font_module_text_size;
    property use font_module_text_units;
    property use font_journal_title;
    property use font_journal_title_size;
    property use font_journal_title_units;
    property use font_journal_subtitle;
    property use font_journal_subtitle_size;
    property use font_journal_subtitle_units;
    property use font_entry_title;
    property use font_entry_title_size;
    property use font_entry_title_units;
    property use font_comment_title;
    property use font_comment_title_size;
    property use font_comment_title_units;
    property use font_sources;
}

set font_base = "";
set font_fallback = "";
set font_base_size = "100";
set font_base_units = "%";

##===============================
## Images
##===============================

propgroup images {
    property use image_background_page_group;
    property use image_background_module_group;
    property use image_background_header_group;
    property use image_background_header_height;
    property use image_background_entry_group;
}

##===============================
## Modules
##===============================

propgroup modules {
    property use module_userprofile_group;
    property use module_navlinks_group;
    property use module_calendar_group;
    property use module_links_group;
    property use module_syndicate_group;
    property use module_tags_group;
    property use module_pagesummary_group;
    property use module_active_group;
    property use module_time_group;
    property use module_poweredby_group;
    property use module_customtext_group;
    property use module_credit_group;
    property use module_search_group;
    property use module_cuttagcontrols_group;
    property use module_subscriptionfilters_group;
}

# Explicitly define what sections the layout has available
set module_layout_sections = "none|(none)|one|Main Module Section|two|Secondary Module Section";

##===============================
## Text
##===============================

propgroup text {

    property use text_module_userprofile;
    property use text_module_links;
    property use text_module_syndicate;
    property use text_module_tags;
    property use text_module_popular_tags;
    property use text_module_pagesummary;
    property use text_module_active_entries;
    property use text_module_customtext;
    property use text_module_customtext_url;
    property use text_module_customtext_content;
    property use text_module_credit;
    property use text_module_search;
    property use text_module_cuttagcontrols;
    property use text_module_subscriptionfilters;

    property use text_view_recent;
    property use text_view_archive;
    property use text_view_friends;
    property use text_view_friends_comm;
    property use text_view_network;
    property use text_view_tags;
    property use text_view_memories;
    property use text_view_userinfo;

    property use text_entry_prev;
    property use text_entry_next;
    property use text_edit_entry;
    property use text_edit_tags;
    property use text_mem_add;
    property use text_tell_friend;
    property use text_watch_comments;
    property use text_unwatch_comments;

    property use text_read_comments;
    property use text_read_comments_friends;
    property use text_read_comments_screened_visible;
    property use text_read_comments_screened;
    property use text_post_comment;
    property use text_post_comment_friends;
    property use text_permalink;

    property use text_meta_location;
    property use text_meta_mood;
    property use text_meta_music;
    property use text_meta_xpost;
    property use text_tags;

    property use text_stickyentry_subject;

    property use text_max_comments;
    property use text_skiplinks_back;
    property use text_skiplinks_forward;
}

##===============================
## Custom CSS
##===============================

propgroup customcss {
    property use external_stylesheet;
    property use include_default_stylesheet;
    property use linked_stylesheet;
    property use custom_css;
}

function Page::print_default_stylesheet() {
    var string medium_media_query = generate_medium_media_query();
    var string large_media_query = generate_large_media_query();

    var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background);
    var string header_background = generate_background_css ($*image_background_header_url, $*image_background_header_repeat, $*image_background_header_position, $*color_header_background);
    if ($*image_background_header_height > 0) {
        $header_background = """
            $header_background
            height: """ + $*image_background_header_height + """px;""";
    }

    var string footer_background = generate_background_css( "", "", "", $*color_footer_background );
    var string footer_link_colors = generate_color_css( $*color_footer_link, new Color, new Color );
    var string footer_link_active_colors = generate_color_css( $*color_footer_link_active, new Color, new Color );
    var string footer_link_hover_colors = generate_color_css( $*color_footer_link_hover, new Color, new Color );
    var string footer_link_visited_colors = generate_color_css( $*color_footer_link_visited, new Color, new Color );

    var string entry_background = generate_background_css ($*image_background_entry_url, $*image_background_entry_repeat, $*image_background_entry_position, $*color_entry_background);
    var string module_background = generate_background_css ($*image_background_module_url, $*image_background_module_repeat, $*image_background_module_position, $*color_module_background);

    var string page_colors = generate_color_css($*color_page_text, $*color_page_background, $*color_page_border);
    var string entry_colors = generate_color_css($*color_entry_text, $*color_entry_background, $*color_entry_border);
    var string module_colors = generate_color_css($*color_module_text, $*color_module_background, $*color_module_border);

    var string page_title_colors = generate_color_css($*color_page_title, new Color, new Color);
    var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color);
    var string comment_title_colors = generate_color_css($*color_comment_title, $*color_comment_title_background, new Color);
    var string module_title_colors = generate_color_css($*color_module_title, $*color_module_title_background, new Color);

    var string page_link_colors = generate_color_css($*color_page_link, new Color, new Color);
    var string page_link_active_colors = generate_color_css($*color_page_link_active, new Color, new Color);
    var string page_link_hover_colors = generate_color_css($*color_page_link_hover, new Color, new Color);
    var string page_link_visited_colors = generate_color_css($*color_page_link_visited, new Color, new Color);

    var string entry_link_colors = generate_color_css($*color_entry_link, new Color, new Color);
    var string entry_link_active_colors = generate_color_css($*color_entry_link_active, new Color, new Color);
    var string entry_link_hover_colors = generate_color_css($*color_entry_link_hover, new Color, new Color);
    var string entry_link_visited_colors = generate_color_css($*color_entry_link_visited, new Color, new Color);
    var string entry_interaction_link_colors = generate_color_css($*color_entry_interaction_links, new Color, new Color);
    var string entry_interaction_link_active_colors = generate_color_css($*color_entry_interaction_links_active, new Color, new Color);
    var string entry_interaction_link_hover_colors = generate_color_css($*color_entry_interaction_links_hover, new Color, new Color);
    var string entry_interaction_link_visited_colors = generate_color_css($*color_entry_interaction_links_visited, new Color, new Color);

    var string module_link_colors = generate_color_css($*color_module_link, new Color, new Color);
    var string module_link_active_colors = generate_color_css($*color_module_link_active, new Color, new Color);
    var string module_link_hover_colors = generate_color_css($*color_module_link_hover, new Color, new Color);
    var string module_link_visited_colors = generate_color_css($*color_module_link_visited, new Color, new Color);

    var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units);
    var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units);
    var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units);
    var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units);
    var string comment_title_font = generate_font_css($*font_comment_title, $*font_base, $*font_fallback, $*font_comment_title_size, $*font_comment_title_units);
    var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units);
    var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units);


     var string userpic_css = "";
         if ($*userpics_position == "right") {
             $userpic_css = """
             .entry .userpic,
             .comment .userpic {
                 text-align: right;
                 }
             """;
         }
    print_custom_control_strip_css();

    """
H1, H2, H3 {
    margin: .25em 0;
    padding: .25em 0;
}

img {
    border: none;
}

hr {
    display: none;
}
.entry-content hr,
.comment-content hr {
    display: block;
    margin: 1em 10%;
}

body {
    $page_font
    padding: 0;
    $page_background
    $page_colors
}

html body {
    margin-left: $*margins_size$*margins_unit;
    margin-right: $*margins_size$*margins_unit;
}

a { $page_link_colors }
a:visited { $page_link_visited_colors }
a:hover { $page_link_hover_colors }
a:active { $page_link_active_colors }

q { font-style: italic; }

/* #content layout */
#content { float: none; }
@media $medium_media_query {
    .two-columns-left #content,
    .three-columns-sides #content {
        border-left: $*sidebar_width solid transparent;
    }
    .two-columns-right #content,
    .three-columns-sides #content {
        border-right: $*sidebar_width solid transparent;
    }
    .three-columns-left #content {
        border-left: $*sidebar_width_doubled solid transparent;
    }
    .three-columns-right #content {
        border-right: $*sidebar_width_doubled solid transparent;
    }
    .column-right #content {
        min-width: $*sidebar_width; /* prevents sidebar overlap of entry, when entry becomes narrower than sidebar */
    }
}

#content-footer {
    height: 0;
    font-size: 0; /*to make IE happy*/
    clear: both;
}

#header, #footer {
    margin: 0;
    clear: both;
    padding: .5em;
}

#header {
    $header_background
    $page_title_colors
}

h1#title {
    $page_title_font
}

h2#subtitle,
h2#pagetitle {
    $page_subtitle_font
}

#footer {
    $footer_background
}

#footer a { $footer_link_colors }
#footer a:visited { $footer_link_visited_colors }
#footer a:hover { $footer_link_hover_colors }
#footer a:active { $footer_link_active_colors }

#primary {
    width:100%;
    margin-right:-100%;
    margin-left: 0;
}

#primary > .inner:first-child, #secondary > .inner:first-child, #tertiary > .inner:first-child {
    padding: 1em;
}

/* modules layout */
#primary { float: none; }
#secondary, #tertiary { width: 100%; }

@media $medium_media_query {
    .multiple-columns #primary {
        float: left;
    }

    .two-columns-left #secondary,
    .three-columns-sides #secondary {
        float: left;
        width: $*sidebar_width;
        margin-left: -$*sidebar_width;
    }
    .two-columns-right #secondary {
        float: right;
        width: $*sidebar_width;
        margin-right: -$*sidebar_width;
    }
    .three-columns-left #secondary {
        float: left;
        width: $*sidebar_width;
        margin-left: -$*sidebar_width_doubled;
    }
    .three-columns-right #secondary {
        float: right;
        width: $*sidebar_width;
        margin-right: -$*sidebar_width;
    }

    .two-columns #tertiary {
        clear: both;
        width: auto;
    }
    .two-columns-left #tertiary { margin-left: -$*sidebar_width; }
    .two-columns-right #tertiary { margin-right: -$*sidebar_width; }
    .two-columns #tertiary .module {
        float: left;
        width: $*sidebar_width;
    }
    .three-columns-left #tertiary {
        float: left;
        width: $*sidebar_width;
        margin-left: -$*sidebar_width;
    }
    .three-columns-right #tertiary {
        float: right;
        width: $*sidebar_width;
        margin-right: -$*sidebar_width_doubled;
        margin-left: $*sidebar_width; /* so that #tertiary won't overlay #secondary in IE7 */
    }
    .three-columns-sides #tertiary {
        float: right;
        width: $*sidebar_width;
        margin-right: -$*sidebar_width;
    }
}

.navigation ul {
    margin-left: 0;
    padding-left: 0;
}
.navigation li {
    display: inline;
    padding: 0 .5em;
}
.noentries {
    padding: 0 .5em;
}

/* entries */

.entry {
    $entry_background
    $entry_colors
}

.entry .entry-title {
    $entry_title_font
}

.entry .entry-title, .entry .entry-title a {
    $entry_title_colors
}

.no-subject .entry .entry-title {
    background: none;
    border: none;
}

.entry a { $entry_link_colors }
.entry a:visited { $entry_link_visited_colors }
.entry a:hover { $entry_link_hover_colors }
.entry a:active { $entry_link_active_colors }

/* ensure comment content stretches out horizontally so it's readable */
.comment-content:before {
    content: "";
    display: block;
    overflow: hidden;
    width: 10em;
}
.comment-content { border-top: 1px transparent solid; } /* for firefox */

/* To prevent overlapping when icon's on the left */
/* and list is the first thing in content */
.entry-content li,
.comment-content li {
    list-style-position: inside;
    }

/* To constrain the width and prevent layout breaking */
.entry-content img, .comment-content img {
    max-width: 100%;
    height: auto;
}

@media $large_media_query {
    .entry-content img, .comment-content img { max-width: none; }
}

.metadata ul {
    display: inline;
    list-style: none;
    margin-left: .5em;
    padding-left: 0;
}
.metadata li {
    margin-bottom: .5em;
}
.metadata.top-metadata ul {
    margin: 0;
}
.metadata.top-metadata {
    margin-bottom: 1em;
}

.tag ul {
    display: inline;
    margin-left: 0;
    padding-left: 0;
}

.tag ul li {
    display: inline;
} /* same for month view */

ul.entry-management-links {
    margin-left: 0;
    padding-left: 0;
}
ul.entry-management-links li {
    display: inline;
    padding: 0 .25em;
}

ul.entry-interaction-links {
    margin-left: 0;
    padding-left: 0;
    text-align: right;
}

.entry-interaction-links a, .entry-management-links a { $entry_interaction_link_colors }
.entry-interaction-links a:visited, .entry-management-links a:visited { $entry_interaction_link_visited_colors }
.entry-interaction-links a:hover, .entry-management-links a:hover { $entry_interaction_link_hover_colors }
.entry-interaction-links a:active, .entry-management-links a:active { $entry_interaction_link_active_colors }

ul.entry-interaction-links li {
    display: inline;
    padding: 0 .25em;
}

/* comments */

.comment-posted {font-weight:bold;}

.comment-wrapper {
    padding: .5em 0;
    min-width: 15em;
}

.comment .comment-title {
    $comment_title_font
    margin: 0;
}

.comment .comment-title, .comment .comment-title a {
    $comment_title_colors
}

.no-subject .comment .comment-title {
    background: none;
    border: none;
}

ul.comment-management-links {
    margin-left: 0;
    padding-left: 0;
    text-align: right;
}
ul.comment-management-links li {
    display: inline;
    padding: 0 .25em;
}

ul.comment-interaction-links {
    margin-left: 0;
    padding-left: 0;
}
ul.comment-interaction-links li {
    display: inline;
    padding: 0 .25em;
}

textarea#commenttext {
    width: 100%; /* fix for FF form width glitch */
}

/* archive */

table.month {
    margin: 0 auto;
    border-collapse: collapse;
}
table.month td {
    height: 3.25em;
}
table.month td,
table.month th {
    border: 1px solid; /* ? */
    padding: 3px;
}
table.month td p {
    margin: 0;
    padding: 3px;
}

.month dl dt {
    font-weight: bold;
}
.month dl .time {
    padding-right: .5em;
}
.month dl h3 {
    display: inline;
    font-size: medium;
}
.page-month .month .entry-poster {
    margin-right: .5em;
}
.month dl .tag ul {
    margin-top: 0;
}

/* icons */

.sorting-options ul {
    margin-left: 0;
}

.sorting-options ul li {
    display: inline;
}

.icon-keywords ul {
    display: inline;
    margin-left: 0;
    padding-left: 0;
}

.icon-keywords ul li {
    display: inline;
}

/* modules */

.module {
    $module_background
    $module_colors
}

.module a { $module_link_colors }
.module a:visited { $module_link_visited_colors }
.module a:hover { $module_link_hover_colors }
.module a:active { $module_link_active_colors }

.module h2 {
    $module_title_colors
    $module_title_font
}

.module-content {
    $module_font
}

.module-content ul {
    list-style: outside;
    margin-left: 1em;
    padding-left: 0;
}
.module-content li {
    margin: .5em 0;
}

ul.userlite-interaction-links.icon-links {
    margin-left: 0;
    padding-left: 0;
}

ul.userlite-interaction-links.icon-links li {
    display: inline;
    padding: 0 .20em;
}

ul.userlite-interaction-links.text-links {
    text-align: left;
}

.any-column .module-calendar table { margin: 0; }
.module-calendar .module-content { text-align: left; }
@media $medium_media_query {
    .multiple-columns .module-calendar .module-content {
        text-align: center;
    }

    .multiple-columns .module-calendar table {
        margin: 0 auto;
    }

    .multiple-columns .module-syndicate .module-content {
        text-align: center;
    }
}

.module-calendar td {
    padding: 1px;
}
.module-calendar td a {
    display: block;
    padding: 2px;
}

.search-box {
    margin: .2em auto;
    max-width: 100%;
}

.search-form .search-box-item, 
.search-form .search-button-item {
    display: block
}

.search-form .comment_search_checkbox_item {
    display: inline
}

/* wrap long content, particularly openid usernames */
.module-pagesummary .ljuser {
    white-space: normal !important;
}
.module-pagesummary .module-content {
    word-wrap: break-word;
}

.module-credit .category-title {
    font-weight: bold;
}

.tags_cloud li, .module-tags_cloud li { display: inline; }

$userpic_css
    """;
}
layerinfo type = "layout";
layerinfo name = "Motion";
layerinfo author_name = "wiring";
layerinfo redist_uniq = "motion/layout";

set layout_authors = [ { "name" => "wiring", "type" => "user" } ];

##===============================
## Images
##===============================

propgroup images_child {

    property string[] image_entry_header_group {
        des = "Entry header and table background image";
        grouptype = "image";
        }
    set image_entry_header_group = [ "image_entry_header_url", "image_entry_header_repeat", "image_entry_header_position" ];
    property string image_entry_header_url {
        grouped = 1;
        }
    property string image_entry_header_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
        }
    property string image_entry_header_position {
    values = "top left|top left|top center|top center|top right|top right|center left|center left|center center|center|center right|center right|bottom left|bottom left|bottom center|bottom center|bottom right|bottom right";
        grouped = 1;
        allow_other = 1;
        }

    property string[] image_module_header_group {
        des = "Module header background image";
        grouptype = "image";
        }
    set image_module_header_group = [ "image_module_header_url", "image_module_header_repeat", "image_module_header_position" ];
        property string image_module_header_url {
        grouped = 1;
        }
    property string image_module_header_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
        }
    property string image_module_header_position {
    values = "top left|top left|top center|top center|top right|top right|center left|center left|center center|center|center right|center right|bottom left|bottom left|bottom center|bottom center|bottom right|bottom right";
        grouped = 1;
        allow_other = 1;
        }

    property string[] image_entry_footer_group {
        des = "Entry footer and table header background image";
        grouptype = "image";
        }
    set image_entry_footer_group = [ "image_entry_footer_url", "image_entry_footer_repeat", "image_entry_footer_position" ];
        property string image_entry_footer_url {
        grouped = 1;
        }
    property string image_entry_footer_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
        }
    property string image_entry_footer_position {
    values = "top left|top left|top center|top center|top right|top right|center left|center left|center center|center|center right|center right|bottom left|bottom left|bottom center|bottom center|bottom right|bottom right";
        grouped = 1;
        allow_other = 1;
        }


    property string[] image_icon_background_group {
        des = "User icon background image";
        grouptype = "image";
        }
    set image_icon_background_group = [ "image_icon_background_url", "image_icon_background_repeat", "image_icon_background_position" ];
        property string image_icon_background_url {
        grouped = 1;
        }
    property string image_icon_background_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
        }
    property string image_icon_background_position {
    values = "top left|top left|top center|top center|top right|top right|center left|center left|center center|center|center right|center right|bottom left|bottom left|bottom center|bottom center|bottom right|bottom right";
        grouped = 1;
        allow_other = 1;
        }

    property string[] image_link_background_group {
        des = "Link background image";
        grouptype = "image";
        }
    set image_link_background_group = [ "image_link_background_url", "image_link_background_repeat", "image_link_background_position" ];
        property string image_link_background_url {
        grouped = 1;
        }
    property string image_link_background_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
        }
    property string image_link_background_position {
    values = "top left|top left|top center|top center|top right|top right|center left|center left|center center|center|center right|center right|bottom left|bottom left|bottom center|bottom center|bottom right|bottom right";
        grouped = 1;
        allow_other = 1;
        }


    property string[] image_link_hover_background_group {
        des = "Link hover background image";
        grouptype = "image";
        }
    set image_link_hover_background_group = [ "image_link_hover_background_url", "image_link_hover_background_repeat", "image_link_hover_background_position" ];
        property string image_link_hover_background_url {
        grouped = 1;
        }
    property string image_link_hover_background_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
        }
    property string image_link_hover_background_position {
    values = "top left|top left|top center|top center|top right|top right|center left|center left|center center|center|center right|center right|bottom left|bottom left|bottom center|bottom center|bottom right|bottom right";
        grouped = 1;
        allow_other = 1;
        }

}

propgroup colors_child {
    property Color color_link_hover_background { des = "Page hover link background color"; }
    property Color color_entry_footer { des = "Entry footer background color"; }
    property Color color_link_background { des = "Page link background color"; }
    property Color color_icon_background { des = "Icon border color"; }
    property Color color_entry_title_border_hover { des = "Entry title border color on hover"; }
    property Color color_page_pagetitle { des = "Page header page title color"; }
    property use color_header_link;
    property use color_header_link_active;
    property use color_header_link_hover;
    property use color_header_link_visited;
    property Color color_table_header { des = "Table header color"; }
    property Color color_title_shadow { des = "Title shadow color"; }
    property Color color_entry_link_border_hover { des = "Entry link border color on hover"; }
    property Color color_entry_text_shadow { des = "Entry shadow color"; }
    property Color color_module_text_shadow { des = "Module shadow color"; }

}


##===============================
## Fonts
##===============================

set font_base = "'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica";
set font_fallback = "sans-serif";
set font_journal_title = "Rockwell, Georgia, 'Palatino Linotype', Palatino, 'Times New Roman', Times";
set font_entry_title = "Rockwell, Georgia, 'Palatino Linotype', Palatino, 'Times New Roman', Times";
set font_comment_title = "Rockwell, Georgia, 'Palatino Linotype', Palatino, 'Times New Roman', Times";
set font_module_heading = "Rockwell, Georgia, 'Palatino Linotype', Palatino, 'Times New Roman', Times";


##===============================
## Layout
##===============================

set margins_size = "3";
set margins_unit = "%";
set sidebar_width = "20em";
set layout_type = "two-columns-right";


##===============================
## Modules
##===============================

property string module_navlinks_section_override {
    values = "none|(none)|header|Header|one|Main Module Section|two|Secondary Module Section";
    grouped = 1;
    }

set grouped_property_override = { "module_navlinks_section" => "module_navlinks_section_override" };

set module_navlinks_section = "one";


##===============================
## Functions
##===============================
# Add section for navlinks module
function Page::print() {
    """<!DOCTYPE html>\n<html lang="en">\n<head profile="http://www.w3.org/2006/03/hcard http://purl.org/uF/hAtom/0.1/ http://gmpg.org/xfn/11">\n""";
    $this->print_meta_tags();
    $this->print_head();
    $this->print_stylesheets();
    $this->print_head_title();
    """</head>""";
    $this->print_wrapper_start();
    $this->print_control_strip();
    """
    <div id="canvas">
        <div class="inner">
            <div id="header">
                <div class="inner">
                    """;
                    $this->print_header();
                    $this->print_module_section("header");
    """
                </div><!-- end header>inner -->
            </div><!-- end header -->
            <div id="content">
                <div class="inner">
    """;
                if ($*layout_type == "one-column-split") {
    """
                    <div id="secondary"><div class="inner">
    """;
                        $this->print_module_section("one");
    """
                    </div></div><!--  end secondary and secondary>inner -->
    """;
                }
    """
                    <div id="primary"><div class="inner">
                        """;
                        $this->print_body();
    """
                    </div></div><!-- end primary and primary>inner -->
    """;
                if ($*layout_type != "one-column-split") {
    """
                    <div id="secondary"><div class="inner">
    """;
                        $this->print_module_section("one");
    """
                    </div></div><!--  end secondary and secondary>inner -->
    """;
                }
    """
                    <div id="invisible-separator" style="float: left; width: 1px;"></div> <!-- this is a hack for IE7 + two-columns-right -->
                    <div id="tertiary"><div class="inner">
                        """;
                        $this->print_module_section("two");
    """
                    </div></div><!-- end tertiary and tertiary>inner -->
                    <div id="content-footer"></div>
                </div><!-- end content>inner -->
            </div> <!-- end content -->
        </div> <!-- end canvas>inner -->
    """;

    """
    <div id="footer">
        <div class="inner">
            """;
            print safe """
                <div class="page-top"><a href="#">$*text_page_top</a></div>
        </div><!-- end footer>inner -->
    </div><!-- end footer -->

    </div> <!-- end canvas -->
    """;
    $this->print_wrapper_end();
    """</html>""";
}



##===============================
## CSS
##===============================

function print_stylesheet() {
    var string medium_media_query = generate_medium_media_query();

    var string entry_header_image = generate_background_css ($*image_entry_header_url, $*image_entry_header_repeat, $*image_entry_header_position, $*color_entry_title_background);
    var string module_header_image = generate_background_css ($*image_module_header_url, $*image_module_header_repeat, $*image_module_header_position, $*color_module_title_background);
    var string entry_footer_image = generate_background_css ($*image_entry_footer_url, $*image_entry_footer_repeat, $*image_entry_footer_position, $*color_entry_footer);
    var string icon_background_image = generate_background_css ($*image_icon_background_url, $*image_icon_background_repeat, $*image_icon_background_position, $*color_icon_background);
    var string link_background_image = generate_background_css ($*image_link_background_url, $*image_link_background_repeat, $*image_link_background_position, $*color_link_background);
    var string link_hover_background_image = generate_background_css ($*image_link_hover_background_url, $*image_link_hover_background_repeat, $*image_link_hover_background_position, $*color_link_hover_background);
    var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color);
    var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units);
    var string entry_colors = generate_color_css($*color_entry_text, $*color_entry_background, $*color_entry_border);

    var string userpic_css = "";

    if($*userpics_position == "left") {
        $userpic_css = """

        #primary .userpic{
            float:left;
            margin:0 1em 1em 0;
        }
        """;
    }
    elseif($*userpics_position == "right") {
        $userpic_css = """

       #primary .userpic{
            float:right;
            margin:0 0 1em 1em;
        }

        """;
    }


    """
   /*-------------------------------------------------
  Base: Tabula Rasa
  Title: Motion
  Theme: Original

  Note: This theme was originally designed and built for the WordPress CMS and is copyright 85ideas.com. (http://www.webdesigncompany.net/motion/)
  Modify, adapt, and customize for your own site at will!
  The CSS, XHTML and design of this theme are released under GPL:http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  Adapted for Dreamwidth by Li (wiring), 2011
---------------------------------------------------*/
/************************************************
* Resets *
************************************************/
div, p, span, h1, h2, h3, h4, h5, h6, img, ul, ol, dl, li, dt, dd, blockquote, pre, form, fieldset, label, input, table, th, td, a{margin:0; padding:0; border:0; vertical-align:baseline;}
body{line-height:1}
ul, ol{list-style:none}
h1, h2, h3, h4, h5, h6{font-size:1em}

/************************************************
* General elements *
************************************************/
body {background-attachment: fixed;}

#primary h1, #primary h2, #primary h3, #primary h4, #primary h5, #primary h6, #primary p, #primary li, #primary dt, #primary dd, #primary blockquote, #primary label, #primary th, #primary td, #primary a {text-shadow: 0 0 4px $*color_entry_text_shadow;}

#secondary h1, #secondary h2, #secondary h3, #secondary h4, #secondary h5, #secondary h6, #secondary p, #secondary li, #secondary dt, #secondary dd, #secondary blockquote, #secondary label, #secondary th, #secondary td, #secondary a {text-shadow: 0 0 4px $*color_module_text_shadow;}

#tertiary h1, #tertiary h2, #tertiary h3, #tertiary h4, #tertiary h5, #tertiary h6, #tertiary p, #tertiary li, #tertiary dt, #tertiary dd, #tertiary blockquote, #tertiary label, #tertiary th, #tertiary td, #tertiary a {text-shadow: 0 0 4px $*color_module_text_shadow;}

a{ text-decoration:none}
a img{border:0}

blockquote{
    font-style:italic;
    padding:.4em 1em .7em 1em;
    margin:.7em 0 .3em 0;
    }


pre{
    overflow:auto;
    $entry_header_image
    padding:1em 1.5em;
    margin:1em;
    white-space:pre-wrap; /* css3 */}

dt{font-weight:bold}

dd{padding-left:1em}

#canvas table{margin:.5em 0}

#canvas table th{color:$*color_table_header}

#canvas table td,#canvas table th{padding:.25em .30em}
#canvas table th{ $entry_footer_image text-transform:uppercase; border-bottom:1px transparent}
#canvas table td{ $entry_header_image  vertical-align:middle}

#canvas table tr:hover td{ $entry_footer_image }

legend{padding:.2em .8em; text-transform:capitalize}

input, textarea{padding:.10em}


form label{font-weight:bold; display:inline}

form label.subscribe-label{display:inline}


/************************************************
* Header *
************************************************/
#title, #subtitle, #pagetitle { margin-bottom: .15em; }

#pagetitle span{color: $*color_page_pagetitle}

#title{
    text-shadow:0 0 6px $*color_title_shadow}

#pagetitle{font-weight:normal;
    padding-bottom:.15em;
    }

#header .module-navlinks {
    background: none;
    padding-left: 0;
    margin: 1em 0 0 0;
    }

#header .module-navlinks ul {margin-left: 0; }

#header .module-navlinks li { display: inline; }

#header .module-navlinks li a {
    $link_background_image;
    color: $*color_header_link;
    display: block;
    float: left;
    margin-right: .75em;
    line-height: 2em;
    padding: .5em 1em;

    }

#header .module-navlinks li a:visited {
    color: $*color_header_link_visited;
    }

#header .module-navlinks li a:hover {
    $link_hover_background_image;
    color: $*color_header_link_hover;
    }

#header .module-navlinks li a:active {
    color: $*color_header_link_active;
    }

/**********************************************
 * Content
 *********************************************/
#content {padding:2em 0}

/************************************************
 * Entry &Comments *
 ***********************************************/
.sticky-entry-wrapper {
    padding:.5em;
    margin:0 0 2em;
    $entry_header_image
    }

.entry .header, .comment .header{ $entry_header_image  padding:.5em}

.entry .header a, .comment .header a{color: $*color_entry_title;}
.entry .header a:hover, .comment .header a:hover{ border-bottom:1px dashed $*color_entry_title_border_hover}

.access-filter, .restrictions, .datetime{
    line-height:1.5em;
    position:relative;
    top:5px
    }

.datetime{
    overflow:hidden;
    font-size:smaller;
    width:100%;
    padding-top: .4em;
    }

.contents {margin:.8em 0;}

.entry .contents {min-height: 150px;}

.contents h1{padding:.8em 0; font-size:1.5em}
.contents h2{padding:.8em 0; font-size:1.4em}
.contents h3{padding:.8em 0; font-size:1.3em}
.contents h4{padding:.8em 0; font-size:1.2em}
.contents h5{padding:.8em 0; font-size:1.1em}
.contents h6{padding:.8em 0; font-size:1em}

.contents a{border-bottom:1px dashed $*color_entry_link_border_hover}

.contents a:hover{ $link_background_image }

.contents a img{background:none; border-bottom:0}
.contents ul,
.contents ol{padding:.4em 0 .5em 2em}
.contents ul li{list-style:disc}
.contents ol li{list-style:decimal}
.contents .metadata ul li { list-style: none; }

.footer{ $entry_footer_image
    overflow:hidden;
    padding:1em 0 0;
    margin:1em 0
    }


.footer .tag{
    float:left;
    width:93%;
    line-height:1em;
    }

.footer .tag .tag-text{
    float:left;
    margin:0 .5em 0 0
    }

.footer li{ display:inline}

.footer .tag { margin: 0 1em; }

.footer .entry-management-links{ margin:1em 1em .5em; }

.footer .entry-management-links{ float:left}

.footer hr{ display:none}

/*----- MANAGEMENT/INTERACTION LINKS -----*/
.entry-interaction-links, .comment-interaction-links{float:right; margin:0 1em .5em}

.entry-interaction-links li, .comment-interaction-links li, .bottomcomment .entry-interaction-links li {display:inline;}

.entry-interaction-links li a, .comment-interaction-links li a, .bottomcomment .entry-interaction-links li a {
    $link_background_image
    padding:.5em;
    line-height:3em;
    font-size:smaller;
    }

.entry-interaction-links li a:hover, .comment-interaction-links li a:hover, .bottomcomment .entry-interaction-links li a:hover { $link_hover_background_image }

.entry-interaction-links li:hover, .comment-interaction-links li:hover{color: $*color_entry_link}

/*----- USERPICS -----*/
$userpic_css

.userpic {
    $icon_background_image
    padding:1em;
    /* optional rounded corners for browsers that support it */
    -moz-border-radius:4px;
    -khtml-border-radius:4px;
    -webkit-border-radius:4px;
    border-radius:4px
    }

.entry .userpic img, .comment .userpic img { display:block;}

.module .userpic { float: left;}

.userpic a{ border:0;}

.userpic a:hover{ background:none}

#secondary .module-userprofile .userpic img{padding:1em}

/*----- COMMENTS -----*/
#comments {overflow:visible; width:100%}

#comments ul.commentlist li ul.children li {clear:both; margin:1.5em 0 0 1.5em}

.comment .contents {min-height: 100px; }

.comment h3{font-weight:normal}

.comment .poster, .comment .poster-ip {
    font-size:smaller;
    margin-bottom:10px;
    }

.comment-poster a {color:$*color_comment_title}

#comments .footer {
    font-size:smaller;
    clear:both;
    padding:1em
    }

#comments .footer .inner {float:left; width:96.5%}

#comments .footer .inner .multiform-checkbox{ float:left; margin:.5em 0 0}

#comments .footer .inner .comment-management-links { float:left; margin:.5em 0 0 1em}

#comments .footer .comment-interaction-links {margin:0}

#comments h3#trackbacktitle{padding-top: .75em}

#comments ul.trackback {
    margin:.75em 0 0 0;
    padding:1em;
    $link_background_image
    }

#comments ul.trackback li{margin-bottom:1.5em; font-size:smaller}

#comments ul.trackback li .commentbody .author{margin:0}

#comments a#cancel-comment-reply-link{display:block; padding: .75em 0}

#comments a#cancel-comment-reply-link:hover{border-bottom: 1px dashed; }

#comments .reply {
    margin-top:1.75em;
    overflow:hidden;
    width:100%
    }

#ljqrttopcomment {clear:both}

#qrformdiv{ max-width:98%; margin:0 auto}

.bottomcomment{
    clear:both;
    margin:2.5em 0;
    $entry_footer_image
    padding:1em;
    overflow:hidden
    }

.bottomcomment .entry-management-links{ float:left}

.bottomcomment .entry-management-links li{ display:inline}

.bottomcomment .entry-interaction-links{ margin:-.5em 0}

/************************************************
* Navigation (page turns) *
************************************************/
.navigation{
    overflow:hidden;
    width:100%;
    line-height:1.7em;
    margin-bottom:1.5em;
    }

.navigation li { float: left; line-height: 2em; }

.navigation li a {
    float:left;
    $link_background_image line-height:2em;
    padding:.5em 1em;
    color: $*color_page_text;
    font-size:smaller;
    }

.navigation li a:hover{$link_hover_background_image text-decoration:none}


/************************************************
* All Modules *
************************************************/
#secondary .module, #tertiary .module {display:inline-block; width: $*sidebar_width; vertical-align:top; margin: 0 1em 0 1em;}
@media $medium_media_query {
    .multiple-columns #secondary .module,
    .multiple-columns #tertiary .module {
        display: block;
        width: auto;
        margin: 0 0 1em 0;
    }
}

.module {
    overflow:hidden;
    padding: .75em;
    line-height:1.4em;
    }

.module ul {
    width:100%;
    overflow:hidden;
    list-style: none;
    }

.module table{width:100%}

.module li {margin: .5em .25em}

.module li ul{margin-bottom:0}

.module h2{
    $module_header_image
    padding:.5em .75em;
    line-height:1.3em;
    font-weight:normal;
    margin-bottom:.75em
    }

.module h2 a { color: $*color_module_title;}

.module ul ul li a{display:block; padding: .15em .5em}

.module ul ul ul li{
    line-height:1.5em;
    padding:0 0 0 .75em;
    margin:0 0 0 .75em
    }

.module img{
    background:none;
    border:none;
    padding:0 .5em;
    }

.module .ljuser img { padding-left: 0; }

/*----- SPECIFIC MODULE TWEAKS -----*/
.module-userprofile .journal-website-name, .module-userprofile .userlite-interaction-links{  margin: 1em 0 0;}

.module-userprofile .journal-name {
    margin: 1em 0 0;
    clear:both;
    }

.module-userprofile .userpic img { padding: 0 !important; }

.module-userprofile li {display:inline}

.module-navlinks .current { font-style: italic; }

.module-syndicate ul li span {padding: .15em .5em}

.module-search .search-button{
    $link_background_image
    color: $*color_module_text;
    padding:1em;
    margin:0 0 0 1em;
    vertical-align:top;
    }

.module-search .search-button:hover{$entry_footer_image }

.module-search .search-box{ padding:0.10em; width:100%;}

/************************************************
* Page Footer *
************************************************/
@media $medium_media_query {
    .two-columns #tertiary .module {margin: 0 .25em; min-height: 3em; }
}

/************************************************
* Reading Page *
************************************************/
.page-read .poster, .page-network .poster{display: block; text-align:left; margin:.5em 1em 1em 0; $entry_footer_image overflow:hidden; padding:1em; font-size:smaller; line-height:1.1em}
.page-read .poster a, .page-network .poster a{ border:0}
.page-read .poster a:hover, .page-network .poster a:hover{ border:0;  background:none; color: $*color_entry_title;}

/************************************************
* Secondary Page styling Page *
************************************************/

#archive-year .header h3, .tags-container .header h2, .icons-container .header h2 {
    $entry_title_font
    $entry_title_colors;
}

.tags-container, .icons-container, #archive-year, #comments, #archive-month { padding: 1em; $entry_colors }

.tags-container a, .icons-container a, #archive-year a, #comments a, #archive-month a { color:$*color_entry_link; }

.tags-container a:active, .icons-container a:active, #archive-year a:active, #comments a:active, #archive-month a:active { color:$*color_entry_link_active; }

.tags-container a:hover, .icons-container a:hover, #archive-year a:hover, #comments a:hover, #archive-month a:hover { color:$*color_entry_link_hover; }

.tags-container a:visited, .icons-container a:visited, #archive-year a:visited, #comments a:visited, #archive-month a:visited { color:$*color_entry_link_visited; }

/************************************************
* Archive Page *
************************************************/
.page-archive .month-wrapper{ margin:0 0 2em}

.page-archive .month-wrapper caption{ display:none}

.page-archive .month{ width:100%}

.page-archive table.month, .page-archive .month td, .page-archive .month th { border-color: transparent !important; }

.page-archive .month .day a { padding: .25em .5em; }

.page-archive .month .day .label{ float:left;}

.page-archive .month .footer .inner{ padding:0 1em 1em}

/************************************************
* Icon Page *
************************************************/

.icons-container .icon {
    float: left;
    margin-bottom: 15px;
    min-width: 350px;
    vertical-align: bottom;
    width: 50%;
}

.icon-image {
    display: inline;
    float: left;
    margin-right: 1em;
    min-width: 100px;
}

.icon-info {
    overflow: auto;
    vertical-align: bottom;
    word-wrap: break-word;
}

.icon-info .label,
.icon-info span {
    font-weight: bold;
}

.icons-container .inner .footer, .icon-pages {
    clear: both;
    text-align: center;
}

/************************************************
* Tags Page *
************************************************/
.page-tags ul ul.tags_multilevel{ margin:0 1em}

.tags-container ul li { line-height: 1.5em; }

/************************************************
* Reply Page *
************************************************/
.page-reply table{ font-size: smaller}

    """;
}