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 = "Wide Open";
layerinfo redist_uniq = "wideopen/layout";
layerinfo author_name = "mmmag";
layerinfo lang = "en";
layerinfo des = "Ported Wordpress theme Koi by N.Design Studio";

set layout_authors = [ { "name" => "mmmag", "type" => "user" } ];
set layout_resources = [{ "name" => "N.Design Studio", "url" => "http://www.ndesign-studio.com/" }];

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

propgroup presentation_child {
    property string module_max_height {
        des = "Set the maximum height of some modules in certain page setups. Ensure that the value is given in em or px.";
        example = "15em";
        note = "Blank the field to always display modules to their full height.";
    }
    property string footer_module_separator {
        des = "Character to use as a separator between footer modules";
        noui = 1;
    }
}

set layout_type = "two-columns-right";
set sidebar_width = "18em";
set sidebar_width_doubled = "36em";
set userpics_position = "left";
set entry_date_format = "long_day";
set footer_module_separator = "•";
set module_max_height = "15em";
set custom_control_strip_colors = "on_no_gradient";

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

propgroup colors_child {
    property Color color_page_title_textshadow { des = "Page title shadow color"; }
    property Color color_page_subtitle { des = "Page subtitle 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_footer_text { des = "Page footer color"; }
    property Color color_footer_border { des = "Page footer border color"; }
    property Color color_entry_accent1 { des = "Entry and comment accent color 1"; }
    property Color color_entry_accent2 { des = "Entry and comment accent color 2"; }
    property Color color_entry_title_textshadow { des = "Entry title shadow color"; }
    property Color color_entry_title_hover { des = "Entry title hover color"; }
    property Color color_entry_userpic_border { des = "Entry userpic border color"; }
    property Color color_comment_title_hover { des = "Comment title hover color"; }
    property Color color_comment_userpic_border { des = "Comment userpic border color"; }
    property Color color_comment_border {des = "Comment border color"; }
    property Color color_module_title_textshadow { des = "Module title shadow color"; }
    property Color color_module_title_border { des = "Module title border color"; }
    property Color color_module_navigation_border { des = "Navigation module border color"; }
    property Color color_page_textarea_background { des = "Text area background color"; }
    property Color color_page_textarea_text { des = "Text area text color"; }
    property Color color_page_textarea_background_focus {des = "Text area background focus color";}
    property Color color_page_textarea_text_focus {des = "Text area text focus color";}
    property Color color_page_button_background { des = "Button background color"; }
    property Color color_page_button_text { des = "Button text color "; }
    property Color color_page_button_background_hover { des = "Button background hover color"; }
    property Color color_page_button_text_hover { des = "Button text hover color"; }
}

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

propgroup fonts_child {
    property string font_navigation_module {
        des = "Preferred font for the navigation module";
        maxlength = 25;
        size = 15;
        note = "For example: Arial or \"Times New Roman\". Leave blank to use the default.";
    }
    property string font_navigation_module_size {
        des = "Size of navigation module font";
        size = 3;
    }
    property string font_navigation_module_units {
        des = "Units for navigation module size";
        values = "em|em|ex|ex|%|%|pt|pt|px|px";
    }
}

set font_base = "Georgia, 'Times New Roman', Times";
set font_fallback = "serif";
set font_base_size = "1";
set font_base_units = "em";
set font_journal_title = "Arial, Helvetica";
set font_journal_title_size = "3";
set font_journal_title_units = "em";
set font_journal_subtitle = "Georgia, 'Times New Roman', Times";
set font_journal_subtitle_size = "1.3";
set font_journal_subtitle_units = "em";
set font_entry_title = "Georgia, 'Times New Roman', Times";
set font_entry_title_size = "1.8";
set font_entry_title_units = "em";
set font_comment_title = "Arial, Helvetica";
set font_comment_title_size = "1.3";
set font_comment_title_units = "em";
set font_module_heading = "Georgia, 'Times New Roman', Times";
set font_module_heading_size = "1.35";
set font_module_heading_units = "em";
set font_module_text = "Georgia, 'Times New Roman', Time";
set font_module_text_size = ".9";
set font_module_text_units = "em";
set font_navigation_module_size = "1.3";
set font_navigation_module_units = "em";

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

propgroup images_child {
    property string[] image_background_footer_group {
        des = "Footer background image";
        grouptype = "image";
        }
    set image_background_footer_group = [ "image_background_footer_url", "image_background_footer_repeat", "image_background_footer_position" ];
        property string image_background_footer_url {
        grouped = 1;
        }
    property string image_background_footer_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
    }
    property string image_background_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 int image_background_footer_height {
        des = "The height of your footer image, in pixels. Use 0 for default.";
        example = "50";
        size = 6;
        }

    property string[] image_background_navigation_module_group {
        des = "Navigation module background image";
        grouptype = "image";
        }
    set image_background_navigation_module_group = [ "image_background_navigation_module_url", "image_background_navigation_module_repeat", "image_background_navigation_module_position" ];
        property string image_background_navigation_module_url {
        grouped = 1;
        }
    property string image_background_navigation_module_repeat {
        values = "repeat|tile image|no-repeat|don't tile|repeat-x|tile horizontally|repeat-y|tile vertically";
        grouped = 1;
    }
    property string image_background_navigation_module_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;
    }
}

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

propgroup modules_child {
    property string module_navlinks_section_override {
        values = "none|(none)|header|Header|one|Main Module Section|two|Secondary Module Section";
        grouped = 1;
        }
    property string module_search_section_override {
        values = "none|(none)|header|Header|one|Main Module Section|two|Secondary Module Section";
        grouped = 1;
        }
    property string module_poweredby_section_override {
        values = "none|(none)|one|Main Module Section|two|Secondary Module Section|footer|Footer";
        grouped = 1;
        }
    property string module_credit_section_override {
        values = "none|(none)|one|Main Module Section|two|Secondary Module Section|footer|Footer";
        grouped = 1;
        }
    }

set grouped_property_override = {
        "module_navlinks_section" => "module_navlinks_section_override",
        "module_search_section" => "module_navlinks_section_override",
        "module_poweredby_section" => "module_poweredby_section_override",
        "module_credit_section" => "module_credit_section_override"
    };

set module_navlinks_section = "header";
set module_search_section = "header";
set module_poweredby_section = "footer";
set module_credit_section = "footer";
set module_userprofile_section = "two";
set module_pagesummary_section = "two";
set module_active_section = "two";

##===============================
## Functions
##===============================

# Add class and prop for the separator between footer modules

function print_module_poweredby() {
    var Page p = get_page();
    open_module("powered", "", "");
    if ($*module_poweredby_section == "footer") {
        """<span class="footer-module-separator">$*footer_module_separator</span>""";
    }
    server_sig();
    close_module();
}

function print_module_credit() {
    var Page p = get_page();
    var string layoutname = $p.layout_name;
    var string themename = $p.theme_name;
    var string styleurl = $p.layout_url;
    var string ret = "";
    var string sep = "";
    var int layout_authors_size = size $*layout_authors;
    var int theme_authors_size = size $*theme_authors;
    var string text_style_authors = ($theme_authors_size > 0) ? $*text_base_layout_authors : $*text_layout_authors;

    if ($*module_credit_section == "footer") {
        $sep = """<span class="footer-module-separator">$*footer_module_separator</span>""";
    }

    if ( ($layoutname != "") or ($layout_authors_size > 0) ) {

        # Print category title.

        $ret = $ret + $sep + "<li class='module-list-item'><span class='category-title'>$text_style_authors</span> ";

        # If theme name exists and style author and theme author are the same print it first.

        if ( ($themename != "") and ($theme_authors_size == 0) ) {
            $ret = $ret + "<span class='theme-name'>$themename</span> for ";
        }

        # If layout name exists print it.

        if ($layoutname != "") {
            $ret = $ret + "<span class='style-name'>";
            if ($styleurl != "") { $ret = $ret + """<a href="$styleurl">"""; }
            $ret = $ret + "$layoutname";
            if ($styleurl !="") { $ret = $ret + "</a>"; }
            $ret = $ret + "</span>";
        }


        if ($layout_authors_size > 0) {
            $ret = $ret + " by ";

            var int count = 0;

            foreach var string{} author ( $*layout_authors ) {
                var string item;
                if ( $author{"url"} != "" ) {
                        $item = "<a href='" + $author{"url"} + "'>" + $author{"name"} + "</a>";
                } elseif ( $author{"type"} == "user" ) {
                    var UserLite u = UserLite( $author{"name"} );
                    if ( defined $u ) {
                        $item = $u->ljuser();
                    }
                }
                if ( $item == "" ) {
                    $item = $author{"name"};
                }

                $ret = $ret + "<span class='style-author'>$item</span>";
                $count++;
                if ( $count < $layout_authors_size ) {
                    if ( $count == ($layout_authors_size -1) ) { $ret = $ret + " and "; }
                    else { $ret = $ret + ","; }
                }
            }
        }

        $ret = $ret + "</li>\n";
    }

    if ($theme_authors_size > 0) {

        # Print category title.

        $ret = $ret + $sep + "<li class='module-list-item'><span class='category-title'>$*text_theme_authors</span> ";

        # Print theme name if it exists.

        if ($themename != "") {
            $ret = $ret + "<span class='theme-name'>$themename</span> by ";
        }

        var int count = 0;

        foreach var string{} author ( $*theme_authors ) {
            var string item;
            if ( $author{"url"} != "" ) {
                $item = "<a href='" + $author{"url"} + "'>" + $author{"name"} + "</a>";
            } elseif ( $author{"type"} == "user" ) {
                var UserLite u = UserLite( $author{"name"} );
                if ( defined $u ) {
                    $item = $u->ljuser();
                }
            }
            if ( $item == "" ) {
                $item = $author{"name"};
            }

            $ret = $ret + "<span class='style-author'>$item</span>";
            $count++;
            if ( $count < $theme_authors_size ) {
                if ( $count == ($theme_authors_size -1) ) { $ret = $ret + " and "; }
                else { $ret = $ret + ","; }
            }
        }

        $ret = $ret + "</li>\n";
    }

    var int resources_size = size $*layout_resources;
    if ( $resources_size > 0 ) {
        $ret = $ret + $sep + "<li class='module-list-item'><span class='category-title'>$*text_layout_resources</span> ";

        var int count = 0;
        foreach var string{} resource ( $*layout_resources ) {
            var string item;
            if ( $resource{"url"} != "" ) {
                $item = "<a href='" + $resource{"url"} + "'>" + $resource{"name"} + "</a>";
            } else {
                $item = $resource{"name"};
            }

            $ret = $ret + "<span class='resource-name'>$item</span>";
            $count++;
            if ( $count < $resources_size ) {
                if ( $count == ($resources_size -1) ) { $ret = $ret + " and "; }
                else { $ret = $ret + ","; }
            }
            $ret = $ret + "</li>\n";
        }
    }

    if ( $ret != "" ) {
        open_module("credit", $*text_module_credit, "");
        print safe "<ul class='module-list'>$ret</ul>";
        close_module();
    }
}

## Add header and footer module sections
## Move secondary to footer in one-column and two-column modes

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>""";
    """<!-- Style adapted from Wordpress theme Koi by N.Design Studio, licensed under GPL v2 -->""";
    $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 -->
    """;
                if ( $*layout_type->contains("three") ) {
                    """<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">
    """;
            if ($*layout_type->contains("one") or $*layout_type->contains("two")) {
                """<div id="tertiary"><div class="inner">""";
                    $this->print_module_section("two");
                """</div></div><!-- end tertiary and tertiary>inner -->""";
            }
            print safe """<div class="page-top"><a href="#">$*text_page_top</a></div>""";
            $this->print_module_section("footer");
    """
            </div><!-- end footer>inner -->
        </div><!-- end footer -->
    </div> <!-- end canvas -->
    """;
    $this->print_wrapper_end();
"""</html>""";
}

##===============================
## Stylesheet
##===============================

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

    var string header_paddingtop = ($*image_background_header_url != "") ? "65px" : "40px";

    var string footer_background = generate_background_css ($*image_background_footer_url, $*image_background_footer_repeat, $*image_background_footer_position, $*color_footer_background);

    var string footer_margintop = ($*image_background_footer_url != "") ? ($*image_background_footer_height - 50 + """px""") : "40px";

    var string nav_module_background = generate_background_css ($*image_background_navigation_module_url, $*image_background_navigation_module_repeat, $*image_background_navigation_module_position, 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 nav_module_font = generate_font_css($*font_navigation_module, $*font_base, $*font_fallback, $*font_navigation_module_size, $*font_navigation_module_units);

    var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color);

    var string module_maxheight = $*module_max_height ? ("""max-height: $*module_max_height; overflow: auto;""") : "";

    var string header_modulewrapper = "";

    if($*module_navlinks_section == "header") {
        $header_modulewrapper = """
        #header .module-wrapper {
            $nav_module_background
            border: solid $*color_module_navigation_border;
            border-width: 1px 0;
            padding: 10px 7.5px;
            }
        """;
    }

    var string navlinks_padding = ($*module_search_section == "header") ? "$*sidebar_width" : "0";

    var string entry_padding = "";

    if ( $*entry_userpic_style == "" ) { $entry_padding = "110px"; }
    elseif ( $*entry_userpic_style == "small" ) { $entry_padding = "85px"; }
    elseif ( $*entry_userpic_style == "smaller" ) { $entry_padding = "60px"; }

    var string entry_padding_read = "";

    if ($*use_custom_friend_colors) {

        if ( $*entry_userpic_style == "" ) { $entry_padding_read = "118px"; }
        elseif ( $*entry_userpic_style == "small" ) { $entry_padding_read = "93px"; }
        elseif ( $*entry_userpic_style == "smaller" ) { $entry_padding_read = "68px"; }
    }

    var string comment_padding = "";
    if ( $*comment_userpic_style == "" ) { $comment_padding = "110px"; }
    elseif ( $*comment_userpic_style == "small" ) { $comment_padding = "85px"; }
    elseif ( $*comment_userpic_style == "smaller" ) { $comment_padding = "60px"; }

    var string userpic_css = "";

    if($*userpics_position == "left") {
        $userpic_css = """
        .entry { padding-left: $entry_padding; }
        .page-read .entry { padding-left: $entry_padding_read; }

        .comment { padding-left: $comment_padding; }

        .entry .userpic,
        .comment .userpic {
            left: 0;
            }
        """;
    }
    elseif($*userpics_position == "right") {
        $userpic_css = """
        .entry { padding-right: $entry_padding; }
        .page-read .entry { padding-right: $entry_padding_read; }

        .comment { padding-right: $comment_padding; }

        .entry .userpic,
        .comment .userpic {
            right: 0;
            }
        """;
    }

"""

/* Wide Open
/* by mmmag
/* adapted from Wordpress theme Koi by N.Design Studio
******************************************************/

/* General
******************************/

body {
    line-height: 1.5em;
    margin: 0;
    }


a {
    outline: none;
    text-decoration: none;
    }

a:hover {
    text-decoration: underline;
    }

#canvas input[type=text],
#canvas input[type=password],
#canvas textarea,
#canvas select {
    background: $*color_page_textarea_background;
    border: none;
    color: $*color_page_textarea_text;
    padding: 5px 7px;
    }

#canvas textarea:focus,
#canvas input[type=password]:focus,
#canvas input[type=text]:focus,
#canvas select:focus {
    background: $*color_page_textarea_background_focus;
    color: $*color_page_textarea_text_focus;
    outline: none;
    }

#canvas input {
    background: $*color_page_button_background;
    border: none;
    color: $*color_page_button_text;
    padding: 4px 15px;
    }

#canvas input,
#canvas textarea,
#canvas select {
    margin: .1em;
    }

#canvas input[type=button]:hover,
#canvas input[type=reset]:hover,
#canvas input[type=submit]:hover {
    background: $*color_page_button_background_hover;
    color: $*color_page_button_text_hover;
    }

/* Main Containers
******************************/

#content {
    margin: 0 2%;
    }

#primary > .inner:first-child {
    padding: 20px 0;
    }

#secondary > .inner:first-child,
#tertiary > .inner:first-child {
    padding: 0;
    }

@media $medium_media_query {
    .column-left #primary > .inner:first-child {
        padding-left: 2em;
        }

    .column-right #primary > .inner:first-child {
        padding-right: 2em;
        }

    .two-columns-left #tertiary { margin-left: 0; }
    .two-columns-right #tertiary { margin-right: 0; }

    .three-columns-left #secondary > .inner:first-child,
    .three-columns-right #secondary > .inner:first-child {
        margin-right: 1em;
        }

    .three-columns-left #tertiary > .inner:first-child,
    .three-columns-right #tertiary > .inner:first-child {
        margin-left: 1em;
        }
}

/* Header
******************************/

#header {
    margin: 0 0 20px;
    padding: $header_paddingtop 2% 0;
    position: relative;
    }

h1#title {
    font-weight: bold;
    letter-spacing: -.05em;
    margin: 0;
    text-shadow: 0 1px 0 $*color_page_title_textshadow;
    }

h2#subtitle {
    color: $*color_page_subtitle;
    font-style: italic;
    margin: 10px 0 20px;
    }

$header_modulewrapper

#header .module {
    margin: 0;
    }

#header .module-navlinks {
    $nav_module_font
    }

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

#header .module-navlinks li {
    font-variant: small-caps;
    line-height: 1em;
    margin: 0;
    padding: 0 7.5px 0;
    position: relative;
    }

#header .module-navlinks li a {
    color: $*color_header_link;
    letter-spacing: -.02em;
    }

#header .module-navlinks li a:visited { color: $*color_header_link_visited; }
#header .module-navlinks li a:hover { color: $*color_header_link_hover; }
#header .module-navlinks li a:active,
#header .module-navlinks a.current {
    color: $*color_header_link_active;
    }

#header .module-search {
    bottom: 5px;
    margin-right: 15px;
    }

#header .module-search h2 {
    border: none;
    display: none;
    }

@media $medium_media_query {
    #header .module-navlinks {
        margin-right: $navlinks_padding;
    }

    #header .module-search {
        position: absolute;
        right: 2%;
    }

    #header .module-navlinks li,
    #header .module-search .search-form span {
        display: inline;
        }
}

/* Entries
******************************/

.navigation li:first-child {
    padding-left: 0;
    }

.entry {
    margin-bottom: 60px;
    min-height: 100px;
    position: relative;
    }

h3.entry-title {
    font-weight: bold;
    letter-spacing: -.04em;
    line-height: 1em;
    margin-bottom: 5px;
    text-shadow: 0 1px 0 $*color_entry_title_textshadow;
    }

.entry .datetime,
.entry .poster,
.metadata-label,
.tag-text {
    color: $*color_entry_accent1;
    font-size: .9em;
    font-style: italic;
    line-height: 1.2em;
    margin: 3px 0 10px;
    }

.entry .poster a,
.metadata-item,
.metadata a,
.tag a {
    color: $*color_entry_accent2;
    font-size: .9em;
    font-style: normal;
    }

.entry .header a:hover {
    color: $*color_entry_title_hover;
    }

.entry .userpic img {
    border-bottom: 2px solid $*color_entry_userpic_border;
    padding-bottom: 2px;
    }

.entry-content {
    margin: 1em 0;
    }

.entry-content a {
    text-decoration: underline;
    }

.entry .poster:before {
    content: 'By ';
    }

.entry .poster.empty:before {
    content: '';
    }

.metadata ul
.footer ul {
    display: inline;
    }

.metadata ul,
.metadata ul li,
.footer ul,
.footer ul li {
    margin: 0;
    padding: 0;
    }

.entry .footer {
    margin-top: 1em;
    }

.tag {
    margin-bottom: 1em;
    }

.entry .entry-management-links.icon-links {
    display: inline;
    }

ul.entry-interaction-links {
    float: right;
    clear: both;
    }

ul.entry-interaction-links a,
ul.entry-management-links a {
    color: $*color_entry_interaction_links;
    font: bold .86em/1 $*font_journal_title;
    padding: .5em;
    }

/* Comments
******************************/

#comments {
    border-top: double 4px $*color_comment_border;
    }

.comment {
    margin-bottom: 5px;
    min-height: 100px;
    position: relative;
    }

.comment-title {
    font-weight: bold
    line-height: 1.3em;
    }

.comment .comment-title a:hover {
    color: $*color_comment_title_hover;
    }

.comment .userpic img {
    border-bottom: 2px solid $*color_comment_userpic_border;
    padding-bottom: 2px;
    }

.comment .datetime,
.comment .poster {
    color: $*color_entry_accent1;
    font-size: .9em;
    font-style: italic;
    line-height: 1.2em;
    margin: 3px 0 10px;
    }

.comment .poster a,
.comment .datetime span {
    color: $*color_entry_accent2;
    font-size: .9em;
    font-style: normal;
    }

.comment-content {
    margin: 1em 0;
    }

.comment-content a {
    text-decoration: underline;
    }

.comment .footer {
    border-bottom: solid 1px $*color_comment_border;
    padding: .5em;
    }

ul.comment-management-links {
    display: inline;
    margin: 0;
    padding: 0;
    }

ul.comment-interaction-links {
    float: right;
    clear: both;
    }
ul.comment-management-links a,
ul.comment-interaction-links a {
    color: $*color_entry_interaction_links;
    font: bold .86em/1 $*font_journal_title;
    padding: .5em;
    }

#comments .separator {
    clear: both;
    }

@media $medium_media_query {
    .entry .userpic, .comment .userpic {
        position: absolute;
        top: 0;
        }

    $userpic_css
}

/* Archive Pages
******************************/

.page-archive .navigation,
.page-month .navigation {
    text-align: center;
    }

.page-archive .navigation li,
.page-month .navigation li {
    padding: 0 1em;
    }

.page-archive caption {
    display: none;
    }

.page-archive table {
    border: none;
    margin: 0 auto;
    width: 70%;
    }

.page-archive .month h3 {
    $entry_title_colors
    $entry_title_font
    font-weight: bold;
    letter-spacing: -.04em;
    line-height: 1em;
    margin-bottom: 5px;
    text-align: center;
    text-shadow: 0 1px 0 $*color_entry_title_textshadow;
    }

.month h3.entry-title {
    $entry_title_colors
    $entry_title_font
    display: block;
    }

.month table th {
    border: none;
    }

.month table td {
    border: none;
    vertical-align: top;
    width: 14%;
    }

.month td.day {
    height: 4em;
    }

.month .footer {
    margin-bottom: 4em;
    text-align: center;
    }

.month .tag ul,
.month .tag ul li {
    margin: 0;
    padding: 0;
    }

/* Tags Page
******************************/

.tags-container h2 {
    $entry_title_colors
    $entry_title_font
    font-weight: bold;
    letter-spacing: -.04em;
    line-height: 1em;
    margin-bottom: 5px;
    text-shadow: 0 1px 0 $*color_entry_title_textshadow;
    }

/* Icons Page
******************************/

.icons-container h2 {
    $entry_title_colors
    $entry_title_font
    font-weight: bold;
    letter-spacing: -.04em;
    line-height: 1em;
    margin-bottom: 5px;
    text-shadow: 0 1px 0 $*color_entry_title_textshadow;
    }

.sorting-options ul {
    padding-left: 0;
    text-align: center;
    }

.icons-container .icon {
    margin: 1em 0;
    }

.icon-image {
    float: left;
    clear: left;
    margin-bottom: .25em;
    min-width: 100px;
    padding-right: 1em;
    }

.icon-info {
    min-height: 100px;
    }

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

.icon-info .default {
    text-decoration: underline;
    }

.icon-keywords ul,
.icon-keywords ul li {
    margin: 0;
    padding: 0;
}

/* Modules
******************************/

.module {
    margin: 40px 0;
    }

.module h2 {
    border-bottom: 4px double $*color_module_title_border;
    letter-spacing: -.05em;
    line-height: 1em;
    margin: 0 0 7px;
    padding: 0 0 7px;
    text-shadow: 0 1px 0 $*color_module_title_textshadow;
    }

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

.module a:hover {
    text-decoration: none;
    }

.module ul  {
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
    }

.module ul ul {
    margin: 0 0 0 15px;
    list-style: circle;
    }

.module ul li {
    margin: 8px 0;
    padding: 0;
    }

.module ul ul li {
    margin: 5px 0;
    }

.module-userprofile .module-content {
    text-align: center;
    }

.module-userprofile .module-content li {
    display: inline;
    padding: 10px;
    }

.module-userprofile .module-content ul {
    margin-top: 10px;
    }

.module-calendar table {
    width: 100%;
    }

.module-calendar td {
    padding: 4px 2px;
    text-align: center;
    width: 14%;
    }

/* Footer
******************************/

#footer {
    $footer_background
    padding: 0;
    }

#footer .inner {
    margin: 20px 2% 0;
    }

#footer .inner .inner {
    border-top: none;
    margin: 0;
    }

@media $medium_media_query {
    .one-column #secondary .module,
    .one-column #tertiary .module,
    .two-columns #tertiary .module {
        display: inline-block;
        float: none;
        margin: .5em 1em 0 0;
        width: $*sidebar_width;
        vertical-align: top;
        }
    .one-column #secondary .module h2,
    .one-column #tertiary .module h2,
    .two-columns #tertiary .module h2 {
        border-bottom: 1px double $*color_module_title_border;
        }
    .one-column #secondary .module-content,
    .one-column #tertiary .module-content,
    .two-columns #tertiary .module-content {
        $module_maxheight
        }

    #footer .inner {
        border-top: 4px double $*color_footer_border;
    }
}

.page-top {
    display: inline-block;
    font: .9em/1em $*font_base;
    margin: $footer_margintop 0 40px;
    }

.page-top + .module-wrapper {
    display: inline-block;
    }

.module-section-footer .module h2 {
    display: none;
    }

.module-section-footer {
    clear: both;
    }

.module-section-footer .module {
    background: transparent;
    color: $*color_footer_text;
    display: inline-block;
    float: none;
    font: .9em/1em $*font_base;
    margin: 0;
    width: auto;
    }

.module-section-footer .module a { color: $*color_footer_link; }
.module-section-footer .module a:visited { color: $*color_footer_link_visited; }
.module-section-footer .module a:hover { color: $*color_footer_link_hover; }
.module-section-footer .module a:active { color: $*color_footer_link_active; }

.module-section-footer .module li {
    display: inline;
    }

.footer-module-separator {
     padding: 0 .5em;
     }


""";
}