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 = "Pattern";
layerinfo redist_uniq = "pattern/layout";
layerinfo author_name = "ninetydegrees";
layerinfo lang = "en";

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

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

propgroup presentation_child {
    property string post_text_align {
        des = "Content text alignment";
        values = "left|Left|justify|Justify";
        }
    property int content_margins {
        des = "Content margins (in %)";
        size = 5;
        }
}

set layout_type = "two-columns-right";
set entry_date_format = "long_dayfirst";
set entry_time_format = "short_24";
set comment_time_format = "short_24";
set entry_userpic_style = "small";
set comment_userpic_style = "small";
set post_text_align = "justify";
set content_margins = 20;

set reverse_sortorder_year = true;
set reverse_sortorder_month = true;
set reverse_sortorder_day = true;
set reg_firstdayofweek = "monday";

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

propgroup colors_child {
    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 text color"; }
}

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

set font_base = "'Trebuchet MS'";
set font_fallback = "sans-serif";
set font_module_heading = "Georgia";
set font_module_heading_size = "1.2";
set font_module_heading_units = "em";
set font_journal_title = "Georgia";
set font_journal_title_size = "2";
set font_journal_title_units ="em";
set font_journal_subtitle= "Georgia";
set font_journal_subtitle_size = "1.1";
set font_journal_subtitle_units = "em";
set font_entry_title = "Georgia";
set font_entry_title_size = "1.2";
set font_entry_title_units ="em";
set font_comment_title = "Georgia";
set font_comment_title_size = "1.1";
set font_comment_title_units ="em";

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

propgroup images_child {

property string image_background_subject_url {
    des = "Entry title background image URL";
}
property int image_background_subject_height {
    des = "The height of your image, in pixels.";
    example = "50";
    size = 6;
}
property int image_background_subject_width {
    des = "The width of your image, in pixels.";
    example = "50";
    size = 6;
}

property string image_background_tags_url {
    des = "Entry tags background image URL";
}
property int image_background_tags_height {
    des = "The height of your image, in pixels.";
    example = "50";
    size = 6;
}
property int image_background_tags_width {
    des = "The width of your image, in pixels.";
    example = "50";
    size = 6;
}
}

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

set text_default_separator = " / ";
set text_meta_music = "music:";
set text_meta_mood = "mood:";
set text_meta_location = "location:";
set text_meta_groups = "groups:";
set text_meta_xpost = "xpost:";
set text_tags = "";
set text_skiplinks_back = "back";
set text_skiplinks_forward = "forward";
set text_day_prev = "previous";
set text_day_next = "next";
set text_page_top = "^top";
set text_posting_in = " in ";
set text_comment_from = "by ";
set text_openid_from = "by ";
set text_comment_date = "";
set text_comment_ipaddr = "";
set text_comment_edittime = "edited";

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

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

set grouped_property_override = {
    "module_navlinks_section" => "module_navlinks_section_override",
    "module_search_section" => "module_search_section_override",
    "module_userprofile_section" => "module_userprofile_section_override",
    "module_syndicate_section" => "module_syndicate_section_override",
    "module_credit_section" => "module_credit_section_override",
    "module_poweredby_section" => "module_poweredby_section_override"
};

set module_navlinks_section = "abovetitle";
set module_search_section = "titleright";
set module_userprofile_section = "headersec";
set module_syndicate_section = "titleright";
set module_credit_section = "footer";
set module_poweredby_section = "footer";

set module_tags_opts_type = "cloud";
set module_subscriptionfilters_section = "one";
set module_active_section = "one";
set module_links_section = "one";
set module_tags_section = "one";
set module_pagesummary_section = "one";
set module_time_section = "one";
set module_time_show = false;
set module_subscriptionfilters_show = true;

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

## Add title

function print_module_navlinks( bool apply_class_to_link ) {
    var Page p = get_page();
    open_module("navlinks", "Navigation", "");

    if ( $apply_class_to_link ) {
        var string[] links = [];
        foreach var string k ($p.views_order) {
            var string css = """ class="$k" """;
            if ($p.view == $k) { $css = """ class="current $k" """; }
            $links[size $links] = """<a href="$p.view_url{$k}"$css>"""+lang_viewname($k)+"""</a>""";

        }
        print_module_list($links);
    } else {
        var string{}[] links = [];

        foreach var string k ($p.views_order) {
            var string class = $k;
            if ($p.view == $k) { $class = "current $k"; }
            $links[size $links] = { "class" => $class, "item" => """<a href="$p.view_url{$k}">"""+lang_viewname($k)+"""</a>""" };
        }
        print_module_list($links);
    }

    close_module();

}

## Add header sections and CSS
## Close canvas inner after footer

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">
            <div id="header-wrapper"><div class="inner">
            <div id="header-content"><div class="inner">
                <div id="header-primary"><div class="inner">
                    """;
                    $this->print_module_section("abovetitle");
                    """
                    <div id="title-content"><div class="inner">
                        <div id="title-primary"><div class="inner">
                            """;
                            $this->print_header();
                            """
                        </div></div><!-- end title-primary and >inner -->
                        <div id="title-secondary"><div class="inner">
                            """;
                            $this->print_module_section("titleright");
                            """
                        </div></div><!-- end title-secondary and >inner -->
                    </div></div><!-- end title-content and >inner -->
                </div></div><!-- end header-primary and >inner -->
                <div id="header-secondary"><div class="inner">
                     """;
                     $this->print_module_section("headersec");
                     """
                </div></div><!--  end header-secondary and >inner -->
                <div id="invisible-separator" style="float: left; width: 1px;"></div> <!-- this is a hack for IE7 + two-columns-right -->
            </div></div><!--  end header-content and >inner -->
            </div></div><!--  end header-wrapper and >inner -->
            <div id="header-footer"></div>
        </div></div><!--  end header and >inner -->
        <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></div><!-- end content and content>inner -->
        <div id="footer"><div class="inner">
            """;
            print safe """<div class="page-top"><a href="#">$*text_page_top</a></div>""";
            $this->print_module_section("footer");
            """
        </div></div><!-- end footer and footer>inner -->
    </div></div> <!-- end canvas and canvas>inner -->
""";
    $this->print_wrapper_end();
"""</html>""";
}

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

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

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
            min-height: """ + $*image_background_header_height + """px;""";
    }

var string subject_background = generate_background_css ($*image_background_subject_url, "no-repeat", "top left", new Color);
var string tags_background = generate_background_css ($*image_background_tags_url, "no-repeat", "center left", new Color);

var string subject_height = ($*image_background_subject_url != "") ? """min-height: $*image_background_subject_height""" + """px;""" : "";
var string subject_padding = ($*image_background_subject_url != "") ? """padding-top: 1.1em; padding-left: """ + ($*image_background_subject_width + 7) + """px;""" : "";
var string title_padding = ($*image_background_subject_url != "") ? """padding: 0 0 0 .2em""" : "";

var string tags_height = ($*image_background_tags_url != "") ? """min-height: $*image_background_tags_height""" + """px;""" : "";
var string tags_padding = ($*image_background_tags_url != "") ? """padding-top: .6em; padding-left: """ + ($*image_background_tags_width + 2) + """px;""" : "";

var string header_link_colors = generate_color_css($*color_header_link, new Color, new Color);
var string header_link_active_colors = generate_color_css($*color_header_link_active, new Color, new Color);
var string header_link_hover_colors = generate_color_css($*color_header_link_hover, new Color, new Color);
var string header_link_visited_colors = generate_color_css($*color_header_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 entry_colors = generate_color_css($*color_entry_text, $*color_entry_background, $*color_entry_border);
var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, 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 footer_colors = generate_color_css($*color_footer_text, $*color_footer_background, new Color);

var string module_colors = generate_color_css($*color_module_text, $*color_module_background, $*color_module_border);
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 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 margin = $*content_margins + "%";

var string header_css = "";
if ($*module_userprofile_section == "headersec") {
$header_css = """
#header-content {
    border-right: $*sidebar_width solid transparent;
}

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

#header-secondary {
    float: right;
    width: $*sidebar_width;
    margin-right: -$*sidebar_width;
}

#header-primary > .inner:first-child {
    padding: .5em .5em .5em 1.5em;
}

#header-#secondary > .inner:first-child {
    padding: .5em;
}
""";

    if ( $*layout_type->contains("left") ) {
$header_css = $header_css + """
#header-content {
    border-left: $*sidebar_width solid transparent;
    border-right: 0;
}
#header-secondary {
    float: left;
    width: $*sidebar_width;
    margin-left: -$*sidebar_width;
}
    """;
    }
}

var string title_css = "";
if ($*module_search_section == "titleright" or $*module_syndicate_section == "titleright") {
$title_css = """
#title-content {
    border-right: 10.5em solid transparent;
}

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

#title-secondary {
    float: right;
    width: 10.5em;
    margin-right: -10.5em;
}
""";
}

var string{}{} scaling = {
    "" => {
        "noicon_img"     => "$*IMGDIR/profile_icons/user.png",
        "icon_wrap_size" => "100px",
    },
    "small" => {
        "noicon_img"     => "$*IMGDIR/profile_icons/user-small.png",
        "icon_wrap_size" => "75px",
    },
    "smaller" => {
        "noicon_img"     => "$*IMGDIR/profile_icons/user-smaller.png",
        "icon_wrap_size" => "50px",
    }
};

var string entrypic_background = generate_background_css( $scaling{$*entry_userpic_style}{"noicon_img"}, "no-repeat", "center", new Color );
var string entry_icon_wrap_size = $scaling{$*entry_userpic_style}{"icon_wrap_size"};

var string commentpic_background = generate_background_css( $scaling{$*comment_userpic_style}{"noicon_img"}, "no-repeat", "center", new Color );
var string comment_icon_wrap_size = $scaling{$*comment_userpic_style}{"icon_wrap_size"};

var string entry_margin = "";
    if ( $*entry_userpic_style == "" ) { $entry_margin = "115px"; }
    elseif ( $*entry_userpic_style == "small" ) { $entry_margin = "90px"; }
    elseif ( $*entry_userpic_style == "smaller" ) { $entry_margin = "65px"; }

var string comment_margin = "";
    if ( $*comment_userpic_style == "" ) { $comment_margin = "115px"; }
    elseif ( $*comment_userpic_style == "small" ) { $comment_margin = "90px"; }
    elseif ( $*comment_userpic_style == "smaller" ) { $comment_margin = "65px"; }

var string userpic_css = "";

if ($*userpics_position != "none") {
    $userpic_css = """
.no-userpic .entry .userpic {
    $entrypic_background
    width: $entry_icon_wrap_size;
    height: $entry_icon_wrap_size;
}

.no-userpic .comment .userpic {
    $commentpic_background
    width: $comment_icon_wrap_size;
    height: $comment_icon_wrap_size;
}
""";

    if($*userpics_position == "left") {
    $userpic_css = $userpic_css + """
.entry .header,
.entry-poster,
.entry-content,
.entry .metadata,
.entry .footer {
    margin-left: $entry_margin;
}

.comment .header,
.full .comment .poster,
.poster-ip,
.comment-content,
.comment .footer,
.comment-pages.toppages {
    margin-left: $comment_margin;
}

.entry .userpic {
    float: left;
}

.comment .userpic {
    display: block;
    float: left;
}

""";
    } elseif($*userpics_position == "right") {
$userpic_css = $userpic_css + """
.entry .header,
.entry-poster,
.entry-content,
.entry .metadata,
.entry .footer {
    margin-right: $entry_margin;
}

.comment .header,
.full .comment .poster,
.poster-ip,
.comment-content,
.comment .footer,
.comment-pages.toppages {
    margin-right: $comment_margin;
}

.entry .userpic {
    float: right;
}

.comment .userpic {
    display: block;
    float: right;
}

""";
    }
}

"""

/* Pattern
/* by ninetydegrees
******************************/

/* Main
******************************/

body {
    margin: 0;
}

hr,
.page-separator {
    display: none;
}

#canvas {
    margin: 0 auto;
}

/* Containers
******************************/

#header-wrapper,
#content {
    margin-left: $margin;
    margin-right: $margin;
}

#primary > .inner:first-child {
    padding: .5em;
}

#secondary {
    text-transform: lowercase;
}

#secondary > .inner:first-child {
    padding: .5em;
}

#tertiary {
    text-transform: lowercase;
}

#tertiary > .inner:first-child {
    padding: .5em;
}

.one-column #secondary,
.one-column #tertiary,
.two-columns #tertiary {
    text-align: center;
}

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

#header {
    padding: .5em 0;
}

#header h1, #header h2 {
    font-style: italic;
    margin: 0;
    padding: 0;
    text-transform: lowercase;
}

#header h1 a {
    text-decoration: none;
}

#header h2 {
    line-height: 1em;
}

$header_css

$title_css

#header-footer {
    clear: both;
    font-size: 0; /*to make IE happy*/
    height: 0;
}
#header a { $header_link_colors }
#header a:visited { $header_link_visited_colors }
#header a:hover { $header_link_hover_colors }
#header a:active { $header_link_active_colors }

/* Navigation
******************************/

.navigation {
    text-align: center;
}

.navigation ul {
    margin: 0;
    padding: 0 1em;
}

.topnav ul {
    margin-bottom: 1.5em;
    margin-top: .5em;
}

.bottomnav ul {
    margin-top: 1.5em;
}

.navigation ul li {
    margin: 0;
    padding: 0 .2ch;
}

.navigation .page-back a::before {
    content: "<< ";
}

.navigation .page-forward a::after {
    content: " >>";
}

.navigation .page-separator {
    display: none;
}

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

.entry {
    margin-bottom: .5em;
    padding: 1em;
}

.entry .header {
    $subject_background
    $subject_height
    $subject_padding
}

.entry .entry-title {
    display: inline;
    font-style: italic;
    line-height: 1em;  /* to make sure meta icons are vertically centered */
    padding: 0;
    $title_padding
    text-transform: lowercase;
}

.entry .access-filter,
.entry .restrictions {
    float: left;
    display: inline;
    padding-right: .2em;
}

.datetime {
    clear: both;
    display: block;
    font-style: italic;
    margin: .25em 0;
    text-align: right;
}

.entry .time::before {
    content: "@ ";
}

.entry .poster {
    display: block;
    $entry_title_font
    font-weight: bold;
    margin-bottom: 1em;
    text-transform: lowercase;
}

.entry .poster::before {
    content: "by ";
}

.poster.empty {
    display: none;
}

.entry .contents {
    min-height: $entry_margin;
}

.entry-content { 
    margin-bottom: 1em;
    text-align: $*post_text_align;
}

/* Make sure content isn't bigger than container */
pre {
    white-space: pre-wrap;
    word-wrap: break-word;
}

.entry .footer ul {
    margin: 0;
    padding: 0;
    text-align: right;
    text-transform: lowercase;
}

.entry .footer li {
    padding: 0 .1em;
}

.entry .footer .text-links li {
    padding: 0;
}

.entry .footer .text-links li::after {
    content: " #";
}

.entry .footer .text-links li:last-child::after {
    content: "";
}

/* Entry Metadata
******************************/

.metadata {
    font-style: italic;
    margin-bottom: 1em;
}

.metadata ul {
    margin: 0;
}

.metadata li {
    margin: 0;
    padding: 0;
}

/* Entry Tags
******************************/

.tag {
    $tags_background
    $tags_height
    margin-bottom: 1em;
    $tags_padding
}

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

.comment {
    $entry_background
    $entry_colors
    margin-bottom: .5em;
    padding: 1em;
}

#content > .inner:first-child .comment a { $entry_link_colors }
#content > .inner:first-child .comment a:visited { $entry_link_visited_colors }
#content > .inner:first-child .comment a:hover { $entry_link_hover_colors }
#content > .inner:first-child .comment a:active { $entry_link_active_colors }

.comment-poster {
    display: block;
    $comment_title_font
    font-weight: bold;
    text-transform: lowercase;
}

.poster-ip {
    display: block;
}

.comment .contents {
    min-height: $comment_margin;
}

.comment-content {
    margin-bottom: 1em;
    margin-top: 1em;
    text-align: $*post_text_align;
}

.edittime {
    margin-top: 1em;
}

.comment .footer ul {
    margin: 0;
    padding: 0;
    text-align: right;
    text-transform: lowercase;
}

.comment .footer li {
    padding: 0 .1em;
}

.comment .footer .text-links li {
    padding: 0;
}

.comment .footer .text-links li::after {
    content: " #";
}

/* cmt_hide isn't last in the list */
/* hidden cmt_unhide comes after it */
.comment .footer .text-links li:last-child::after,
.comment .footer .text-links .cmt_hide::after {
    content: "";
}

.comment .multiform-checkbox {
    display: block;
    text-align: right;
    text-transform: lowercase;
}

.toppages,
.bottompages {
    padding: 0 1em;
    text-align: right;
}

.bottomcomment {
    margin: 1.5em 0;
    padding: 0 1em;
    text-align: right;
    text-transform: lowercase;
}

.bottomcomment ul {
    margin: 0;
    padding: 0;
}

.bottomcomment li {
    padding: 0 .1em;
}

.bottomcomment .text-links li {
    padding: 0;
}

.bottomcomment .text-links li::after {
    content: " .";
}

.bottomcomment .text-links li:last-child::after {
    content: "";
}

.partial .comment {
    padding: 0;
}

.partial .poster,
.partial .datetime {
    display: inline;
}

.partial .datetime + a {
    text-align: right;
    text-transform: lowercase;
}

$userpic_css

/* Reply
******************************/

#postform {
    $entry_colors
    padding-right: 1em;
}

#content > .inner:first-child #postform a { $entry_link_colors }
#content > .inner:first-child #postform a:visited { $entry_link_visited_colors }
#content > .inner:first-child #postform a:hover { $entry_link_hover_colors }
#content > .inner:first-child #postform a:active { $entry_link_active_colors }

/* Other Pages
******************************/

.month,
.page-day .day,
.tags-container,
.icons-container {
    $entry_background
    $entry_colors
    margin-bottom: .5em;
    padding: 1em;
}

.page-day .day {
    margin-bottom: 0;
    padding: 0;
}

#content > .inner:first-child .month a,
#content > .inner:first-child .tags-container a,
#content > .inner:first-child .icons-container a { $entry_link_colors }

#content > .inner:first-child .month a:visited,
#content > .inner:first-child .tags-container a:visited,
#content > .inner:first-child .icons-container a:visited { $entry_link_visited_colors }

#content > .inner:first-child .month a:hover,
#content > .inner:first-child .tags-container a:hover,
#content > .inner:first-child .icons-container a:hover { $entry_link_hover_colors }

#content > .inner:first-child .month a:active,
#content > .inner:first-child .tags-container a:active,
#content > .inner:first-child .icons-container a:active { $entry_link_active_colors }

.month h3,
.tags-container h2,
.icons-container h2 {
    $entry_title_colors
    $entry_title_font
    padding: 0;
}

.day-date {
    padding-left: 1em;
}

.month .footer,
#primary .manage-link {
    text-align: right;
    text-transform: lowercase;
}

.month caption {
    display: none;
}

.page-archive .month .contents {
    margin: 1.5em 0;
}

table.month {
    width: 80%;
}

.page-archive .month td,
.page-archive .month th {
      border: none;
}

.page-archive .month td {
    vertical-align: top;
    width: 14%;
}

table.month td.day {
    padding: 2px 0;
    text-align: center;
}

table.month td.day-has-entries {
    font-weight: bold;
}

table.month td.day-has-entries a {
    font-weight: bold;
    padding: 1px;
    border: 1px dotted;
}

.sorting-options ul {
    margin: 0 0 1em;
    padding: 0;
    text-align: right;
}

.icons-container .icon {
     min-height: 125px;
}

.icon-image {
     float: left;
     clear: left;
     min-width: 106px;
     padding-right: 1em;
}

.icon-keywords {
    font-style: italic;
}

.icon-info .keywords-label,
.icon-info .comment-text,
.icon-info .description-text {
    display: none;
}

.icon-comment::before,
.icon-description::before {
    content: "# ";
}

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

.icon-keywords ul { margin: 0; }

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

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

.module {
    margin-bottom: .5em;
    padding: .75em;
}

.module h2 {
    font-style: italic;
}

.one-column #secondary .module,
.one-column #tertiary .module,
.two-columns #tertiary .module {
    display: inline-block;
    float: none;
    text-align: center;
    vertical-align: top;
    width: $*sidebar_width;
}

.module ul {
    list-style-type: none;
    margin: 0;
}

.module ul li {
     margin: .15em 0;
}

.module ul ul {
    margin-left: .5em;
}

.module-content {
    margin-left: .75em;
}

.module .manage-link {
    text-align: right;
}

.module-userprofile ul {
    margin-top: .5em;
}

.any-column .module-calendar table {
    margin: 0 auto 0 0;
    text-align: center;
    width: 80%;
}

.module-calendar td {
    padding: 1px;
}

.module-calendar td a {
    display: block;
    font-weight: bold;
    padding: 1px;
    border: 1px dotted;
}

.any-column .module-syndicate .module-content {
    text-align: left;
}

/* Header modules
******************************/

#header .module {
    background: none;
    border: none;
    margin: 0;
}

#header .module-navlinks,
#header .module-search,
#header .module-syndicate {
    padding: 0;
}

.one-column #header .module-userprofile {
    text-align: center;
}

#header .journal-name {
    margin-left: .75em;
}

#header .userlite-interaction-links {
    margin-left: .75em;
}

#header .module-navlinks .module-content,
#header .module-syndicate .module-content,
#header .module-search .module-content {
    text-align: right;
}

#header .module-header {
    display: none;
}

#header .module-navlinks {
    margin-bottom: 1em;
    padding: 0;
    text-align: right;
    text-transform: lowercase;
}

#header .module-navlinks li {
    display: inline;
    padding: 0 .25em;
}

#header .search-box {
    max-width: 95%;
}

/* Footer modules
******************************/

#footer .module {
    $footer_colors
    font-style: italic;
    margin: 0;
    padding: 0;
    text-align: right;
    text-transform: initial;
}

#footer .module-credit h2 { display: none; }

#footer .module-credit .category-title { font-weight: normal; }

#footer .module-credit li img { vertical-align: middle !important; }

#footer .module-credit li:after,
#footer #site-branding:after {
    content: ".";
    padding-right: 2px;
}

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

#footer {
    padding: .7em 0;
    text-align: center;
}

#footer .page-top  {margin-bottom: 1em; }

""";
}