Commit 3dff3d70 authored by Romain Courteaud's avatar Romain Courteaud

erp5_no_style: wip

parent 9af6a669
import json
import cgi
import re
portal = context.getPortalObject()
REQUEST = portal.REQUEST
def _(string_to_escape):
return cgi.escape("%s" % string_to_escape, quote=False)
def __(string_to_escape):
return cgi.escape("%s" % string_to_escape, quote=True)
def dumpshtml(web_section, hal_json):
result = ""
# Show title
result += '<h1>%s</h1>' % _(hal_json['title'])
# Render the embedded form
if ('_embedded' in hal_json) and ('_view' in hal_json['_embedded']):
# Display the form content
form_hal_json = hal_json['_embedded']['_view']
result += '<main>'
for key, value in form_hal_json.items():
if not key.startswith('_'):
if value["type"] == "EditorField":
result += value["default"]
elif value["type"] == "ImageField":
result += '<img src="%s">' % (_(value["default"]), )
result += '</main>'
# Render the web site tree
web_site = web_section.getWebSiteValue()
result += '<footer><ol>'
result += '<li><a href="%s">%s</a></li>' % (_(web_site.absolute_url()), __(web_site.getTranslatedTitle()))
for sub_section_dict in web_site.WebSection_getSiteMapTree(depth=1, include_subsection=1, include_document=1):
result += '<li><a href="%s">%s</a></li>' % (__(sub_section_dict['url']), __(sub_section_dict['translated_title']))
result += '</ol><ul>'
# Language
available_language_set = web_site.getLayoutProperty("available_language_set", default=['en'])
portal = context.getPortalObject()
default_language = web_site.getLayoutProperty("default_available_language", default='en')
website_url_set = {}
root_website_url = web_site.getOriginalDocument().absolute_url()
website_url_pattern = r'^%s(?:%s)*(/|$)' % (
re.escape(root_website_url),
'|'.join('/' + re.escape(x) for x in available_language_set))
for language in available_language_set:
if language == default_language:
website_url_set[language] = re.sub(website_url_pattern, r'%s/\1' % root_website_url, web_section.absolute_url())
else:
website_url_set[language] = re.sub(website_url_pattern, r'%s/%s/\1' % (root_website_url, language), web_section.absolute_url())
for language, url in website_url_set.items():
result += '<li><a href="%s">%s</a></li>' % (__(url), __(language))
result += '</ul><footer>'
# XXX Drop hardcoded portal_skins path
result = '<html><head>' \
'<meta name="viewport"\n' \
'content="width=device-width,height=device-height,' \
'initial-scale=1" />' \
'<style>body {max-width: 40em;}\n' \
'label {display: block;}\n' \
'input:not([type=submit]):not([type=file]) {width: 100%%;}\n' \
'textarea {height: 15em;width: 100%%;}</style>' \
'<script src="portal_skins/erp5_xhtml_style/rsvp.js"></script>' \
'<script src="portal_skins/erp5_xhtml_style/renderjs.js"></script>' \
'<script src="portal_skins/erp5_no_style/nostyle.js"></script>' \
'</head><body>%(body)s</body></html>' % {'body': result}
return result
previous_skin_selection = REQUEST.get('previous_skin_selection', None)
new_skin_name = "Hal"
context.getPortalObject().portal_skins.changeSkin(new_skin_name)
REQUEST.set('portal_skin', new_skin_name)
# REQUEST=None, response=None, view=None, mode='root', query=None, select_list=None, limit=10, local_roles=None, form=None, form_data=None, relative_url=None, list_method=None, default_param_json=None, form_relative_url=None, bulk_list="[]", group_by=None, sort_on=None, selection_domain=None, extra_param_json=None, portal_status_message='', portal_status_level=None, keep_items=None
hal_json = context.ERP5Document_getHateoas(
REQUEST=REQUEST,
view='web_view',
mode='traverse',
relative_url=context.getRelativeUrl()
)
portal.changeSkin(previous_skin_selection)
# XXX aq_parent is only an hack
web_section = REQUEST.get("current_web_section", context.aq_parent)
REQUEST.response.setHeader('Content-Type', 'text/html')
return dumpshtml(web_section, json.loads(hal_json))
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Document_getHateoas</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Image_viewAsWeb</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>webcontent header bottom</string>
<string>bottom</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>iframe_content</string>
<string>text_content</string>
</list>
</value>
</item>
<item>
<key> <string>webcontent header bottom</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewAsWeb</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WebPage_view</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>css_class</string>
<string>default</string>
<string>description</string>
<string>editable</string>
<string>enabled</string>
<string>height</string>
<string>title</string>
<string>whitespace_preserve</string>
<string>width</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>iframe_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>page hiddenLabel</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_editor_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewWebFieldLibrary</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>18</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Page Content</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>80</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python:\'<iframe width="100%%" height="600" src="%s/asEntireHTML"></iframe>\' % here.absolute_url()
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/getUrlString</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>css_class</string>
<string>default</string>
<string>description</string>
<string>enabled</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>text_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>page hidden_label</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>text_content</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewWebFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Page Content</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/getTextContent</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>not:here/getUrlString</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
import cgi
import re
web_site = context
def _(string_to_escape):
return cgi.escape("%s" % string_to_escape, quote=False)
def __(string_to_escape):
return cgi.escape("%s" % string_to_escape, quote=True)
def generateSectionListHTML(result_list, section_list):
if (section_list):
result_list.append('<ul>')
for section in section_list:
result_list.append('<li><a href="%s">%s</a>' % (_(section['url']), __(section['translated_title'])))
generateSectionListHTML(result_list, section['subsection'])
result_list.append('</li>')
result_list.append('</ul>')
# Language
result_list = ['<nav id="language"><ul>']
available_language_set = web_site.getLayoutProperty("available_language_set", default=['en'])
default_language = web_site.getLayoutProperty("default_available_language", default='en')
website_url_set = {}
root_website_url = web_site.getOriginalDocument().absolute_url()
website_url_pattern = r'^%s(?:%s)*(/|$)' % (
re.escape(root_website_url),
'|'.join('/' + re.escape(x) for x in available_language_set))
for language in available_language_set:
if language == default_language:
website_url_set[language] = re.sub(website_url_pattern, r'%s/\1' % root_website_url, web_site.absolute_url())
else:
website_url_set[language] = re.sub(website_url_pattern, r'%s/%s/\1' % (root_website_url, language), web_site.absolute_url())
for language, url in website_url_set.items():
result_list += '<li><a href="%s" hreflang="%s"><abbr lang="%s">%s</abbr></a></li>' % (__(url), _(language), _(language), __(language))
result_list.append('</ul></nav>')
# Sitemap
result_list.append('<nav id="sitemap">')
result_list.append('<a href="%s">%s</a>' % (_(web_site.absolute_url()), __(web_site.getTranslatedTitle())))
generateSectionListHTML(result_list, web_site.WebSection_getSiteMapTree(depth=99, include_subsection=1))
result_list.append('</nav>')
return ''.join(result_list)
......@@ -54,7 +54,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_web_content_layout</string> </value>
<value> <string>WebSite_generateNavigationHTML</string> </value>
</item>
</dictionary>
</pickle>
......
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */
html {
line-height: 1.15;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
}
/* Sections ========================================================================== */
/** * Remove the margin in all browsers. */
body {
margin: 0;
}
/** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content ========================================================================== */
/** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */
hr {
box-sizing: content-box;
/* 1 */
height: 0;
/* 1 */
overflow: visible;
/* 2 */
}
/** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */
pre {
font-family: monospace, monospace;
/* 1 */
font-size: 1em;
/* 2 */
}
/* Text-level semantics ========================================================================== */
/** * Remove the gray background on active links in IE 10. */
a {
background-color: transparent;
}
/** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] {
border-bottom: none;
/* 1 */
text-decoration: underline;
/* 2 */
text-decoration: underline dotted;
/* 2 */
}
/** * Add the correct font weight in Chrome, Edge, and Safari. */
b,
strong {
font-weight: bolder;
}
/** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */
code,
kbd,
samp {
font-family: monospace, monospace;
/* 1 */
font-size: 1em;
/* 2 */
}
/** * Add the correct font size in all browsers. */
small {
font-size: 80%;
}
/** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content ========================================================================== */
/** * Remove the border on images inside links in IE 10. */
img {
border-style: none;
}
/* Forms ========================================================================== */
/** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-size: 100%;
/* 1 */
line-height: 1.15;
/* 1 */
margin: 0;
/* 2 */
}
/** * Show the overflow in IE. * 1. Show the overflow in Edge. */
button,
input {
/* 1 */
overflow: visible;
}
/** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */
button,
select {
/* 1 */
text-transform: none;
}
/** * Correct the inability to style clickable types in iOS and Safari. */
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/** * Remove the inner border and padding in Firefox. */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/** * Restore the focus styles unset by the previous rule. */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/** * Correct the padding in Firefox. */
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */
legend {
box-sizing: border-box;
/* 1 */
color: inherit;
/* 2 */
display: table;
/* 1 */
max-width: 100%;
/* 1 */
padding: 0;
/* 3 */
white-space: normal;
/* 1 */
}
/** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
vertical-align: baseline;
}
/** * Remove the default vertical scrollbar in IE 10+. */
textarea {
overflow: auto;
}
/** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */
[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
/* 1 */
padding: 0;
/* 2 */
}
/** * Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */
[type="search"] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */
}
/** * Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}
/* Interactive ========================================================================== */
/* * Add the correct display in Edge, IE 10+, and Firefox. */
details {
display: block;
}
/* * Add the correct display in all browsers. */
summary {
display: list-item;
}
/* Misc ========================================================================== */
/** * Add the correct display in IE 10+. */
template {
display: none;
}
/** * Add the correct display in IE 10. */
[hidden] {
display: none;
}
/* ========================== FONTS & ICONS ================================= */
.material-icons {
font-family: '
Material Icons'
;
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: '
liga'
;
-webkit-font-smoothing: antialiased;
}
/* ======================= Font Declarations ================================ */
/* taken from https://github.com/FontFaceKit/open-sans ============================== Apache License v2.00 Copyright 2012 Google Inc. All Rights Reserved. ============================== */
/* @font-face { font-family: "Open Sans"; src: url('font/open-sans/open-sans-regular.eot'); src: url('font/open-sans/open-sans-regular.eot?#iefix') format('embedded-opentype'), url('font/open-sans/open-sans-regular.woff') format('woff'), url('font/open-sans/open-sans-regular.woff2') format('woff2') url('font/open-sans/open-sans-regular.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: "Open Sans"; src: url('font/open-sans/open-sans-bold.eot'); src: url('font/open-sans/open-sans-bold.eot?#iefix') format('embedded-opentype'), url('font/open-sans/open-sans-bold.woff') format('woff'), url('font/open-sans/open-sans-bold.woff2') format('woff2') url('font/open-sans/open-sans-bold.ttf') format('truetype'); font-weight: bold; font-style: normal; } */
/* ====================== Font Family/Weights/Color ========================= */
* {
font-family: "
Open Sans"
,
Helvetica,
Arial,
sans-serif;
font-weight: normal;
font-style: normal;
}
.fab {
font-family: "
Font Awesome 5 Brands"
}
/* ====================== Font Family/Weights/Color ========================= */
html,
body {
font-family: "
Open Sans"
,
Helvetica,
Arial,
"
Lucida Grande"
,
sans-serif;
-webkit-font-smoothing: antialiased;
line-height: 1.5em;
font-weight: normal;
font-style: normal;
}
.far {
font-family: "
Font Awesome 5 Free"
;
font-weight: 400
}
.fa,
.fas {
font-family: '
Font Awesome 5 Free'
;
font-weight: 900;
}
.fab {
font-family: "
Font Awesome 5 Brands"
}
/* ========================= Theme Coloring ================================= */
/* HELLOWEEN: https://coolors.co/040e1b-116d82-05253d-5d737e-fcfcfc */
/* https://coolors.co/116d82-fcfcfc-7ea7bd-0b2027-70a9a1 https://coolors.co/116d82-fcfcfc-7ea7bd-0b132b-1c2541 #116D82 shade: 137c93 #FCFCFC shade: d5d5d5 #7EA7BD #08333d #0d5060 #1C2541 */
/* themes: https://coolors.co/925f32-557134-d0a183-503d3f-539987 https://coolors.co/925f32-557134-d0a183-7a7265-c0b7b1 https://coolors.co/925f32-557134-d0a183-223843-eff1f3 => AWL 223843, eff1f3, d0a183 in rgb+a => rgba(208,161,131,.55) */
/* Current: #DBDCDA, #1C2541 */
/* ============================== landing page ============================== */
.fdl-wrapper {
margin-top: 50em;
}
.fdl-landing-background {
/* background: url("FDL-Website.Background.Image.Chang.Qing?format=") no-repeat center center; */
min-height: 50em;
background-size: cover;
background-color: #fff;
position: absolute;
width: 100%;
top: 0;
left: 0;
text-align: center;
}
.fdl-header-purpose {
font-size: 4.5em;
border-radius: .25em;
background: rgba(85, 113, 52, .8);
}
.fdl-header-purpose {
width: 75%;
padding: 1em;
margin: 0 auto;
text-align: center;
color: #eff1f3;
font-weight: bold;
vertical-align: middle;
}
.awl-intro-icon {
position: absolute;
top: 8em;
left: 12%;
background-color: rgba(208, 161, 131, .55);
border-radius: 2em;
color: #1C2541;
}
.awl-intro-icon h2 {
margin-top: 0;
font-weight: bold;
font-size: 2.5em;
}
.fdl-intro-icon {
width: 400px;
margin-left: auto;
margin-right: 10%;
background-color: rgba(85, 113, 52, .8);
border-radius: 2em;
text-align: center;
font-family: "
Open Sans"
;
color: #eff1f3;
}
.fdl-intro-icon h2 {
margin-top: 0;
font-weight: bold;
font-size: 2em;
}
.fdl-landing-block {
display: inline-block;
vertical-align: middle;
margin: 5% 2% 0;
}
.fdl-icon-wrapper {
width: 25%;
}
.fdl-interaction-wrapper {
width: 55%;
}
@media (max-width: 96em) {
.fdl-landing-block {
margin-top: 0;
}
.fdl-wrapper {
margin-top: 62em;
}
.fdl-header-purpose {
padding: .5em;
font-size: 3.5em;
}
}
@media (max-width: 48em) {
.fdl-wrapper {
margin-top: 0;
}
.fdl-landing-background {
min-height: 45em;
}
}
@media (max-width: 96em) {
.fdl-icon-wrapper.fdl-landing-block,
.fdl-interaction-wrapper.fdl-landing-block {
display: block;
width: auto;
text-align: center;
}
.fdl-header-purpose {
margin-top: 2%;
}
.fdl-intro-icon,
.awl-intro-icon {
position: static;
top: auto;
left: auto;
width: 30em;
padding-bottom: 1em;
display: inline-block;
margin: 4% 4% 0;
}
}
@media (max-width: 48em) {
.fdl-wrapper {
height: 44em;
}
.fdl-intro-icon,
.awl-intro-icon {
width: 75%;
margin: 8% 2% 0;
border-radius: 12px;
}
.fdl-intro-icon h2,
.awl-intro-icon h2 {
font-size: 2.5em;
}
.fdl-intro-icon .icon,
.awl-intro-icon .icon {
max-height: 15em;
}
.fdl-header-purpose {
font-size: 1.75em;
padding: 1em;
box-sizing: border-box;
-webkit-box-sizing: border-box;
}
}
@media (max-width: 32em) {
.fdl-wrapper {
height: 48em;
}
}
@media (max-width: 468px) {
.fdl-intro-icon,
.awl-intro-icon {
width: auto;
display: block;
margin: 8% 8% 0;
}
}
.fdl-logo-container {
min-height: 32em;
// background-color: #192a32;
/* -webkit-box-shadow: inset 0 7px 7px #DBDCDA, 0 -20px 4em #DBDCDA; -moz-box-shadow: inset 0 7px 7px #DBDCDA, 0 -20px 4em #DBDCDA; box-shadow: inset 0 7px 7px #DBDCDA, 0 -20px 4em #DBDCDA; */
width: 100%;
padding: 0 10%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.fdl-logo-container-head {
font-size: 1.5em;
line-height: 1.25em;
}
.fdl-logo-container-text {
margin: 0;
font-size: 2em;
// color: #c3cbd2;
font-weight: bold;
}
@media (max-width: 48em) {
.fdl-logo-container {
padding: 1em 2em 0;
}
.fdl-logo-container-text {
font-size: 1.5em;
}
}
.fdl-cta-wrapper {
text-align: center;
margin-top: 5%;
}
.fdl-cta-list {
list-style: none;
padding: 0;
margin: 0;
}
.fdl-cta-list-item {
display: inline-block;
margin: 3% 3em;
}
.fdl-cta-list-item .fdl-btn-inverse {
background-color: rgba(208, 161, 131, .55);
padding: .75em 2.5em;
border-radius: .5em;
color: #223843;
font-size: 1em;
}
.fdl-cta-list-item .fdl-btn-inverse:hover {
background-color: #d0a183;
}
@media (max-width: 1536px) {
.fdl-cta-wrapper {
margin-top: 0;
}
.fdl-cta-list-item .fdl-btn-inverse {
background-color: #d0a183;
}
}
@media (max-width: 768px) {
.fdl-cta-list-item {
margin: 3% 2em;
width: auto;
}
}
/* ============================= slider ===================================== */
.fdl-logo-container {
position: relative;
}
.fdl-siema-left {
position: absolute;
top: 69%;
z-index: 1;
left: 10%;
}
.fdl-siema-right {
position: absolute;
top: 69%;
z-index: 1;
right: 10%;
}
.fdl-logo-container-text {
text-align: center;
padding: 1em 0;
font-weight: normal;
font-size: 1.75em;
}
.fdl-siema-card {
// background: #26404c;
border-radius: 1em;
text-align: center;
display: block;
margin: 0 3em;
padding: 0 2em 2em 2em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
@media (min-width: 48em) {
.fdl-siema-card {
max-width: 50%;
margin: 0 auto;
}
}
@media (max-width: 468px) {
.fdl-siema-card {
margin: 0;
}
.fdl-logo-container-text {
line-height: 1.1em;
}
}
/*
.fdl-siema-card-header {
margin: .5em 0 .25em;
color: #eff1f3;
}
.fdl-siema-card-text {
color: #eff1f3;
}
.fdl-siema-right .next,
.fdl-siema-left .prev {
background-color: #26404c;
}
.fdl-siema-right .next:hover {
color: #eff1f3;
}
.fdl-siema-left .prev:hover {
color: #eff1f3;
}
*/
@media (min-width: 48em) {
.fdl-siema-card-text {
text-align: center;
}
}
/* breakpoints 1536px (96em), 768px (48em) */
/* ============================ general content ============================= */
/* fix for chrome bug on font awesome flickering on page load */
body {
-webkit-animation-delay: 0.1s;
-webkit-animation-name: fontfix;
-webkit-animation-duration: 0.1s;
-webkit-animation-iteration-count: 1;
-webkit-animation-timing-function: linear;
}
@-webkit-keyframes fontfix {
from {
opacity: 1;
}
to {
opacity: 1;
}
}
.rjs-content-container {
min-height: 25em;
// background-color: #192a32;
// color: #eff1f3;
padding-top: 2em;
padding-bottom: 6em;
padding-left: 16%;
padding-right: 16%;
}
/* slow selectors... */
.rjs-content-container >
h2 {
/*font-family: Roboto;*/
font-weight: bold;
display: inline-block;
vertical-align: middle;
}
.rjs-content-container >
hr {
margin-top: 3em;
margin-bottom: 3em;
}
.rjs-content-container p,
.rjs-content-container li {
font-size: 1.25em;
}
.rjs-content-container >
ul {
line-height: 1.5em;
}
.rjs-content-container >
img {
clip-path: polygon(0 0, 100% 0, 100% 200px, 0 200px);
max-width: 200px;
padding: 2em;
}
.rjs-content-container >
img:nth-child(odd) {
float: right;
clear: left;
}
.rjs-content-container >
img:nth-child(even) {
float: left;
clear: right;
}
.rjs-content-container h2 {
display: inline-block;
vertical-align: middle;
}
.rjs-content-container p img {
width: 100%;
}
@media (max-width: 96em) {
.rjs-content-container >
p {
text-align: justify;
text-align-last: left;
}
}
@media (max-width: 48em) {
.rjs-content-container {
padding: 2em 1em;
}
.rjs-content-container p {
padding: 0 1em;
text-align: justify;
text-align-last: left;
margin-bottom: 1em;
}
.rjs-content-container h2,
.rjs-content-container h3,
.rjs-content-container h4 {
text-align: center;
display: block;
}
.rjs-content-container >
img {
float: none;
display: block;
margin: 0 auto;
padding: 1em;
}
.rjs-content-container >
h3 {
text-align: center;
}
}
/* ================================ Header ================================== */
.rjs-header {
background-color: #DBDCDA;
}
@media (max-width: 768px) {
.rjs-header-row {
padding: 0 1em;
}
}
.rjs-menu-button {
margin-left: .5em;
}
.rjs .rjs-btn[disabled],
.rjs-btn {
color: #1C2541;
}
.rjs-btn[disabled] {
opacity: .5;
}
.rjs-inline-block {
display: inline-block;
vertical-align: middle;
}
.rjs-icon-wrapper,
.rjs-interaction-wrapper {
padding: 1% 0;
width: 48%;
}
@media (max-width: 48em) {
.rjs-header .rjs-button-text {
display: none;
}
}
.rjs-header-list {
margin: 0 1% 0 4%;
padding: 0;
width: 50%;
list-style: none;
}
@media (max-width: 96em) {
.rjs-header-list {
width: 70%;
margin: 0 1%;
}
}
@media (max-width: 768px) {
.rjs-header-list {
width: 50%;
}
.rjs-header-list-item {
max-width: 4em;
}
}
@media (max-width: 48em) {
.rjs-header-list {
width: 60%;
}
.rjs-header-list-item {
max-width: 4em;
}
}
.rjs-header-list-item {
list-style: none;
display: inline-block;
vertical-align: middle;
}
.rjs-header-link {
text-decoration: none;
}
.rjs-header-link {
text-decoration: none;
}
.rjs-header-link .material-icons {
margin-right: .25em;
vertical-align: middle;
}
.rjs-header-link .rjs-button-text {
vertical-align: middle;
}
/* ============================ Footer ====================================== */
.rjs-footer-sub {
background-color: #DBDCDA;
}
.rjs-footer-bottom-line {
background-color: #DBDCDA;
}
.rjs-footer-wrapper {
width: 100%;
}
.rjs-footer-wrapper-left,
.rjs-footer-wrapper-center,
.rjs-footer-wrapper-right {
/* width: 35%; while we don't use right */
display: inline-block;
vertical-align: top;
}
@media (max-width: 96em) {
.rjs-footer-wrapper-left,
.rjs-footer-wrapper-center,
.rjs-footer-wrapper-right {
/* width: 49%; while we don't use right */
}
}
.rjs-footer-wrapper .rjs-navbar {
display: inline-block;
vertical-align: top;
margin-right: 3em;
min-height: 12em;
}
@media (max-width: 48em) {
.rjs-footer-wrapper-left,
.rjs-footer-wrapper-center,
.rjs-footer-wrapper-right {
width: 100%;
display: block;
}
.rjs-footer-wrapper .rjs-navbar {
display: block;
margin: 0;
min-height: auto;
}
}
.rjs-footer-sub {
width: 100%;
padding: .5em 15% 1em 15%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.rjs-footer-sub .rjs-navbar-header {
color: #192a32;
margin-top: .5em;
font-size: 1.5em;
}
.rjs-footer-sub .rjs-navbar-list {
list-style: none;
padding: 0;
}
.rjs-footer-sub .rjs-navbar-link {
text-decoration: none;
color: #1C2541;
font-size: 1.25em;
}
.rjs-footer-sub .rjs-navbar-link:hover {
color: rgb(83, 109, 254);
}
.rjs-footer-sub .rjs-navbar-item {
padding: .1em 0;
}
.rjs-social-media {
text-align: center;
padding: 0 0 .5em 0;
}
.rjs-footer-sub-header {
border-bottom: 1px solid #192a32;
line-height: 1.75em;
color: #192a32;
}
.rjs-footer-sub-header:after {
content: "
"
;
border: 1px solid rgba(235, 215, 202, .35);
width: 100%;
display: block;
margin-bottom: -2px;
font-size: 2em;
}
.rjs-social-media-item {
display: inline-block;
vertical-align: middle;
width: auto;
}
.rjs-social-media-list {
list-style: none;
display: inline-block;
vertical-align: middle;
margin: 0;
padding: 0;
}
.rjs-social-media-item {
display: inline-block;
margin: .5em;
vertical-align: middle;
width: auto;
}
.rjs-social-media-link {
font-size: 1em;
}
.rjs-footer-bottom-line {
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 1em 16% 0 16%;
}
@media (max-width: 48em) {
.rjs-footer-sub {
padding: 1em 2em 1em;
}
.rjs-footer-bottom-line {
padding: auto 1em;
}
}
.rjs-footer-bottom-line-header {
font-size: 1.1em;
color: #1C2541;
}
.rjs-footer-bottom-line-link {
color: #1C2541;
}
@media (max-width: 768px) {
.rjs-footer-bottom-line-header {
text-align: center;
width: 100%;
padding: 0;
}
}
.rjs-footer-bottom-line-list {
list-style: none;
margin: 0 auto;
padding: 0;
display: inline-block;
vertical-align: middle;
}
.rjs-footer-bottom-line-header,
.rjs-social-media-header {
display: inline-block;
vertical-align: middle;
margin: 0;
padding-right: 2em;
}
.rjs-footer-bottom-line-item {
display: inline-block;
width: auto;
}
.rjs-footer-bottom-line-link {
padding: 0 1em;
text-decoration: none;
}
.rjs-footer-bottom-line-text {
margin: 0;
padding: .5em 0;
font-size: .8em;
text-align: center;
color: #1C2541;
}
.rjs-footer-floater {
float: right;
margin-top: -3em;
}
.rjs-social-media-link:hover {
opacity: 1;
color: #1C2541;
}
.rjs-social-media-link {
font-size: 1.5em;
margin: 0 .25em;
color: #192a32;
opacity: .6;
text-decoration: none;
}
.rjs-social-media-link:hover {
color: rgb(83, 109, 254);
}
/* ============================= plain list ================================= */
.rjs-list .mdl-list__item {
margin-top: .75em;
margin-bottom: .75em;
// background: #DBDCDA;
border-radius: .25em;
}
.rjs-list .mdl-list__item-primary-content {
height: 60px;
vertical-align: middle;
}
.rjs-list .mdl-list__item .mdl-list__item-secondary-action .material-icons {
color: #192a32;
}
.rjs-list .mdl-list__item >
span:first-of-type .material-icons {
// background-color: #192a32;
// color: #eff1f3;
height: 60px;
width: 60px;
text-align: center;
padding-top: 8px;
}
.rjs-list .mdl-list__item .mdl-list__item-primary-content span:first-of-type {
display: inline-block;
padding: .5em 0 .25em;
}
.rjs-list .mdl-list__item .mdl-list__item-secondary-content {
height: auto;
}
.fdl-list li .mdl-list__item-secondary-content a {
color: #192a32;
}
@media (max-width: 48em) {
.rjs-list {
border-radius: .25em;
}
.rjs-list .mdl-list__item {
margin: 0;
border-radius: 0;
min-height: 10em;
height: auto;
}
.rjs-list .mdl-list__item-primary-content .mdl-list__item-text-body {
overflow: hidden;
height: auto;
}
.rjs-list .mdl-list__item-primary-content {
height: auto;
}
}
/* =============================== card deck ================================ */
.rjs-deck {
list-style: none;
padding: 0;
margin: 2em auto 5em;
display: block;
}
.rjs-deck .rjs-card {
display: inline-block;
list-style: none;
margin-top: 2em;
vertical-align: top;
}
.rjs-card .rjs-card-banner-image {
width: inherit;
padding: 0 2em;
box-sizing: border-box;
max-width: 100%;
}
@media (max-width: 96em) {
.rjs-card-banner-image {
margin: 0 auto;
}
}
.rjs-deck .rjs-card .mdl-card {
height: 10em;
}
.rjs-deck .mdl-button--colored {
color: #192a32;
}
/* ================================ fdl-card ================================ */
.rjs-card {
display: block;
width: auto;
}
@media (max-width: 96em) {
.rjs-deck {
text-align: center;
}
}
@media (min-width: 48em) {
.rjs-card {
width: 49%;
display: inline-block;
vertical-align: top;
}
}
@media (min-width: 96em) {
.rjs-card {
width: 33%;
display: inline-block;
vertical-align: top;
}
}
/*
.rjs-card .mdl-card__title-text {
color: #eff1f3;
}
*/
.rjs-card .mdl-card__title-text {
position: absolute;
}
.rjs-card .fdl-card-banner-image {
margin-left: auto;
margin-right: auto;
}
/* =============================== circle deck ============================== */
.rjs-circle-deck {
list-style: none;
padding: 0;
margin: 3em 0 0;
text-align: center;
}
.rjs-circle-deck-item {
list-style: none;
vertical-align: middle;
display: inline-block;
width: 15%;
text-align: center;
}
@media (max-width: 96em) {
.rjs-circle-deck-item {
width: 25%;
}
}
@media (max-width: 48em) {
.rjs-circle-deck-item {
width: 100%;
margin-bottom: 1em;
}
}
.rjs-circle-deck .rjs-circle {
border-radius: 6em;
width: 6em;
height: 6em;
overflow: hidden;
margin-bottom: 1em;
margin-left: auto;
margin-right: auto;
}
.rjs-circle-deck-image {
display: block;
margin: 0 auto .5em;
width: 100%;
}
.rjs-circle-deck-title {
text-align: center;
}
/* ============================ document list ============================== */
.rjs-document-list .rjs-list__item-text-header {
display: block;
color: #eff1f3;
margin: 0 auto .5em;
}
@media (max-width: 96em) {
.rjs-document-list .rjs-list__item-text-header,
.rjs-document-list .mdl-list__item-text-body {
margin-left: auto;
margin-right: 0;
max-width: 80%;
}
}
.rjs-document-list .rjs-list__item-text-header,
.rjs-document-list .mdl-list__item-text-body,
.rjs-document-list .mdl-icon__text {
color: #eff1f3;
}
.rjs-document-list .mdl-list__item-text-body {
font-size: 1em;
line-height: 1.25em;
overflow: hidden;
height: auto;
text-align: justify;
text-align-last: left
}
.rjs-document-list .mdl-list__item--three-line {
height: initial;
margin: 0;
width: 100%;
}
.rjs-document-list-icon {
float: left;
margin: .25em 1.5em 0 0;
}
.rjs-document-list .mdl-list__item-avatar {
height: 64px;
width: 64px;
text-align: center;
// background: #eff1f3;
// color: #192a32;
clear: both;
float: none !important;
display: block;
padding-top: .25em;
margin-bottom: .25em;
margin-left: auto;
margin-right: auto !important;
}
.rjs-document-list .mdl-list__item--three-line .mdl-list__item-primary-content {
height: auto;
}
.rjs-document-list .mdl-list__item-primary-content,
.rjs-document-list .mdl-list__item-secondary-content {
display: inline-block;
vertical-align: middle;
}
@media (max-width: 48em) {
.rjs-document-list .mdl-list__item-secondary-content {
position: absolute !important;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
}
.rjs-document-list-icon {
float: none;
margin: 0;
text-align: center;
margin-bottom: 1em;
}
.rjs-document-list .rjs-list__item-text-header,
.rjs-document-list .mdl-list__item-text-body {
margin-left: 0;
margin-right: 0;
max-width: inherit;
}
.rjs-document-list .rjs-list__item-text-header {
text-align: center;
font-size: 1.75em;
line-height: 1.25em;
}
}
.rjs-document-list-navigation {
list-style: none;
margin: 0;
padding: 0;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.rjs-document-list-navigation-item {
list-style: none;
display: inline-block;
}
.rjs-document-list-jump {
border-radius: 0;
height: 2em;
max-height: 32px;
}
@media (max-width: 48em) {
.rjs-document-list-jump {
display: inline-block;
min-width: initial;
width: 1.5em !important;
}
}
.rjs-document-list-jump:hover {
color: #eff1f3;
}
.rjs-document-list-navigation .mdl-textfield {
display: inline;
}
/* ============================= form fields ================================ */
.rjs-document-list-navigation .mdl-textfield__input {
// background: rgba(158, 158, 158, 0.2);
height: 1.5em;
// color: #eff1f3;
display: inline-block;
width: auto;
max-width: 2em;
text-align: right;
padding-right: .5em;
padding-left: .5em;
margin-right: .25em;
}
.rjs-form .mdl-textfield__input {
// background: rgba(158, 158, 158, 0.2);
// color: #eff1f3;
width: 100%;
}
.rjs-form .mdl-textfield__label:after,
.rjs-form .mdl-radio__ripple-container .mdl-ripple,
.rjs-form .mdl-radio__inner-circle,
/*.rjs-form .mdl-checkbox.is-checked .mdl-checkbox__box-outline,*/
/*
.rjs-form .mdl-checkbox__ripple-container .mdl-ripple {
background-color: rgb(83, 109, 254);
}
.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {
background-color: rgb(83, 109, 254);
}
*/
.mdl-radio.is-checked .mdl-radio__outer-circle,
.mdl-checkbox.is-checked .mdl-checkbox__box-outline {
border: 2px solid rgb(83, 109, 254);
}
.rjs-form .mdl-textfield {
width: 100%;
max-width: none;
}
.rjs-form .mdl-textfield__input {
padding: .5em;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.rjs-form .mdl-textfield textarea.mdl-textfield__input {
display: block;
width: inherit;
padding: 1em;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.rjs-form .mdl-textfield__label {
color: #eff1f3;
top: 27px;
left: 6px;
}
.rjs-form .mdl-textfield__input+.mdl-textfield__label {
left: 0;
text-indent: 6px;
}
.rjs-form-group-left,
.rjs-form-group-right {
width: 47.6%;
display: inline-block;
vertical-align: top;
}
.rjs-form-group-right {
margin-left: 4%;
}
@media (max-width: 48em) {
.rjs-form-group-left,
.rjs-form-group-right {
width: 100%;
display: block;
}
.form-group-left .mdl-textfield__input,
.form-group-right .mdl-textfield__input {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.rjs-form-group-right {
margin-left: 0;
}
.rjs-form-submit {
margin-top: 4em;
}
}
.rjs-form-submit .mdl-button {
// background-color: rgba(158, 158, 158, 0.2);
// color: #000;
border-radius: 0;
cursor: pointer;
}
.rjs-form .mdl-checkbox__box-outline {
border-color: #eff1f3;
}
.rjs-form .rjs-form-submit {
text-align: center;
}
.rjs-form .rjs-form-submit .mdl-button:hover {
color: #eff1f3;
}
/* =============================== chip list ================================ */
.rjs-chip-list {
padding: 0;
list-style: none;
margin: 1em auto 0;
}
.rjs-chip-list-item .mdl-chip {
// background-color: rgba(158, 158, 158, 0.2);
// color: #000;
border-radius: 0;
cursor: pointer;
}
.rjs-chip-list-item .mdl-chip:hover {
color: #eff1f3;
}
.rjs-chip-list-item {
display: inline-block;
vertical-align: top;
}
/* ================================ table =================================== */
.rjs-data-table,
.rjs-document-table {
margin: 2.5em auto 3.5em;
position: relative;
}
.rjs-data-table .rjs-table-body-cell,
.rjs-data-table .rjs-table-header-cell,
.rjs-document-table .rjs-table-body-cell,
.rjs-document-table .rjs-table-header-cell {
font-size: 1.25em;
color: #000;
}
.rjs-data-table .rjs-table-header-cell,
.rjs-document-table .rjs-table-header-cell {
text-align: center;
}
.rjs-data-table .rjs-data-caption,
.rjs-document-table .rjs-data-caption {
position: absolute;
bottom: -2em;
width: 100%;
height: 1.5em;
vertical-align: bottom;
}
@media (max-width: 96em) {
.rjs-data-table,
.rjs-document-table {
table-layout: fixed;
width: 100%;
white-space: initial;
}
}
@media (max-width: 96em) {
.rjs-document-table {}
}
@media (max-width: 48em) {
.rjs-data-table .rjs-table-body-cell,
.rjs-data-table .rjs-table-header-cell,
.rjs-document-table .rjs-table-body-cell,
.rjs-document-table .rjs-table-header-cell {
font-size: 1em;
}
.rjs-data-table .rjs-table-body-cell,
.rjs-data-table .rjs-table-header-cell,
.rjs-document-table .rjs-table-body-cell,
.rjs-document-table .rjs-table-header-cell {
white-space: normal;
text-align: center;
vertical-align: middle;
line-height: 1.25em;
}
}
.mdl-data-table .rjs-table-header-cell-functional {
padding: 0 auto;
}
.mdl-data-table .rjs-table-header-cell-functional .mdl-textfield {
padding: 0;
}
/* ================================= add ==================================== */
.rjs-action-add .mdl-button,
.rjs-action-donate .mdl-button {
color: #eff1f3;
}
.rjs-action-add .mdl-button .material-icons,
.rjs-action-donate .mdl-button .material-icons {
font-size: 2.5em;
}
.rjs-action-add,
.rjs-action-donate {
display: inline-block;
vertical-align: middle;
margin-left: 1em;
}
@media (max-width: 48em) {
.rjs-action-add,
.rjs-action-donate {
margin-left: auto;
margin-right: 0;
display: inline-block;
position: relative;
top: -4.7em;
/* XXX meh */
float: left;
}
}
/* ================================= rss ==================================== */
/* NOTE: requires page header to be display: inline-block */
.rjs-rss .mdl-button {
color: #eff1f3;
}
.rjs-rss .mdl-button .material-icons {
font-size: 2.5em;
}
.rjs-rss {
display: inline-block;
vertical-align: middle;
margin-left: 1em;
}
@media (max-width: 48em) {
.rjs-rss {
margin-left: auto;
margin-right: 0;
display: inline-block;
position: relative;
top: -4.7em;
/* XXX meh */
float: right;
}
}
.rjs-image-credits {
position: absolute;
bottom: 0;
right: 0;
color: white;
font-size: small;
padding: 0 .5em .25em 0;
}
/* ============================== custom code =============================== */
/*
.rjs-card-erp5 .mdl-card__title {
background-color: #1B76BC;
}
.rjs-card-erp5 .mdl-card__actions .mdl-button {
color: #192a32;
}
*/
.rjs-card-nexedi .rjs-card-banner-image {
padding-top: 2.5em;
}
.rjs-card-amarisoft .rjs-card-banner-image {
padding-top: 2.5em;
}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>fdl_complexity.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
body {
display: grid;
grid-template-raws: repeat(3, 1fr);
}
body > nav#sitemap {
grid-row: 1;
background-color: #DDD;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
min-height: 2.5em;
align-items: center;
}
body > nav#sitemap > a {
padding-left: 1em;
padding-right: 1em;
}
body > nav#sitemap ul {
margin: 0;
}
body > nav#sitemap ul,
body > nav#sitemap li,
body > nav#sitemap a {
padding: 0;
display: flex;
flex: 1;
}
body > nav#sitemap ul:not(:first-child),
body > nav#sitemap li:not(:first-child),
body > nav#sitemap a:not(:first-child) {
padding: 0 1em;
}
body main {
grid-row: 2;
}
body main fieldset {
border: none;
}
body main fieldset > div {
display: flex;
flex-flow: row nowrap;
}
body main fieldset > div > label {
margin-right: 1em;
font-weight: bold;
min-width: 10%;
}
body > nav#language {
grid-row: 3;
background-color: #DDD;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
min-height: 2.5em;
align-items: center;
}
body > nav#language > a {
padding-left: 1em;
padding-right: 1em;
}
body > nav#language ul {
margin: 0;
}
body > nav#language ul,
body > nav#language li,
body > nav#language a {
padding: 0;
display: flex;
flex: 1;
}
body > nav#language ul:not(:first-child),
body > nav#language li:not(:first-child),
body > nav#language a:not(:first-child) {
padding: 0 1em;
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*globals window, document, RSVP, rJS*/
/*globals window, document, RSVP, rJS, XMLHttpRequest, DOMParser, URL,
loopEventListener, history */
/*jslint indent: 2, maxlen: 80*/
(function () {
(function (window, document, RSVP, rJS, XMLHttpRequest, DOMParser, URL,
loopEventListener, history) {
"use strict";
// XXX Copy/paste from renderjs
function ajax(url) {
var xhr;
function resolver(resolve, reject) {
function handler() {
try {
if (xhr.readyState === 0) {
// UNSENT
reject(xhr);
} else if (xhr.readyState === 4) {
// DONE
if ((xhr.status < 200) || (xhr.status >= 300) ||
(!/^text\/html[;]?/.test(
xhr.getResponseHeader("Content-Type") || ""
))) {
reject(xhr);
} else {
resolve(xhr);
}
}
} catch (e) {
reject(e);
}
}
xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.onreadystatechange = handler;
xhr.setRequestHeader('Accept', 'text/html');
xhr.withCredentials = true;
xhr.send();
}
function canceller() {
if ((xhr !== undefined) && (xhr.readyState !== xhr.DONE)) {
xhr.abort();
}
}
return new RSVP.Promise(resolver, canceller);
}
function removeHash(url) {
var index = url.indexOf('#');
if (index > 0) {
url = url.substring(0, index);
}
return url;
}
function scrollToHash(hash) {
var scroll_element = null;
if (hash) {
hash = hash.split('#', 2)[1];
if (hash === undefined) {
hash = "";
}
if (hash) {
scroll_element = document.querySelector(hash);
}
}
if (scroll_element === null) {
window.scrollTo(0, 0);
} else {
scroll_element.scrollIntoView(true);
}
}
function renderPage(gadget, page_url, hash) {
return new RSVP.Queue(RSVP.hash({
xhr: ajax(page_url),
style_gadget: gadget.getDeclaredGadget('renderer')
}))
.push(function (result_dict) {
var dom_parser = (new DOMParser()).parseFromString(
result_dict.xhr.responseText,
'text/html'
);
document.title = dom_parser.title;
return result_dict.style_gadget.render(
dom_parser.body.querySelector('main').innerHTML
);
})
.push(function () {
return scrollToHash(hash);
});
}
function listenURLChange() {
var gadget = this;
// prevent automatic page location restoration
if (history.scrollRestoration) {
history.scrollRestoration = 'manual';
}
function handlePopState() {
return renderPage(gadget, window.location.href, window.location.hash);
}
function handleClick(evt) {
var target_element = evt.target.closest('a'),
base_uri = document.baseURI,
link_url;
if (!target_element) {
// Only handle link
return;
}
if (target_element.target === "_blank") {
// Open in a new tab
return;
}
if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) {
return;
}
link_url = new URL(target_element.href, base_uri);
if (link_url.href.indexOf(base_uri) !== 0) {
// Only handle sub path of the base url
return;
}
if (link_url.hash) {
// If new link has an hash, check if the path/query parts are identical
// if so, do not refresh the content and
// let browser scroll to the correct element
if (removeHash(link_url.href) === removeHash(window.location.href)) {
return;
}
}
evt.preventDefault();
return renderPage(gadget, target_element.href, link_url.hash)
.push(function () {
// Important: pushState must be called AFTER the page rendering
// to ensure popstate listener is correctly working
// when the user will click on back/forward browser buttons
history.pushState(null, null, target_element.href);
}, function (error) {
// Implement support for managed error
// (like URL is not an HTML document parsable)
// and redirect in such case
window.location = target_element.href;
});
}
return RSVP.all([
loopEventListener(window, 'popstate', false, handlePopState, false),
loopEventListener(gadget.element, 'click', false, handleClick,
false)
]);
}
rJS(window)
.ready(function () {
// Hide the page as fast as possible
// this.element.hidden = true;
this.main_element = this.element.querySelector('main');
})
.allowPublicAcquisition("reportServiceError", function () {
this.element.hidden = false;
throw rJS.AcquisitionError();
})
.declareJob("listenURLChange", listenURLChange)
.declareService(function () {
var gadget = this,
style_gadget,
body = gadget.element;
body.hidden = true;
return new RSVP.Queue(RSVP.all([
rJS.declareCSS("https://www.fdl-lef.org/material_design_lite.1.3.0.min.css", document.head),
rJS.declareCSS("https://www.fdl-lef.org/font-awesome.5.1/font-awesome.5.1.css", document.head),
rJS.declareCSS("https://www.fdl-lef.org/fdl_complexity.css", document.head)
]))
// Clear the DOM
while (body.firstChild) {
body.firstChild.remove();
}
return gadget.declareGadget('nostyle_fdl.html', {scope: 'renderer'})
.push(function (result) {
style_gadget = result;
return style_gadget.render(gadget.main_element.innerHTML);
})
.push(function () {
var main = body.querySelector('main');
// Trigger URL handling
gadget.listenURLChange();
body.innerHTML = '';
body.appendChild(main);
body.hidden = false;
body.appendChild(style_gadget.element);
gadget.element.hidden = false;
scrollToHash(window.location.hash);
}, function (error) {
gadget.element.hidden = false;
throw error;
});
console.log('aaaa');
});
}());
\ No newline at end of file
}(window, document, RSVP, rJS, XMLHttpRequest, DOMParser, URL,
loopEventListener, history));
\ No newline at end of file
.flattenNav() {
background-color: #DDD;
// Put the title and the first list on the same line
display: flex;
flex-wrap: wrap;
justify-content: space-between;
// Increase header size
min-height: 2.5em;
align-items: center;
> a {
padding-left: 1em;
padding-right: 1em;
}
ul {
margin: 0;
}
ul, li, a {
padding: 0;
display: flex;
flex: 1;
&:not(:first-child) {
padding: 0 1em;
}
}
}
body {
display: grid;
grid-template-raws: repeat(3, 1fr);
> nav#sitemap {
grid-row: 1;
.flattenNav();
}
main {
grid-row: 2;
fieldset {
border: none;
> div {
display: flex;
flex-flow: row nowrap;
> label {
margin-right: 1em;
font-weight: bold;
min-width: 10%;
}
}
}
}
> nav#language {
grid-row: 3;
.flattenNav();
}
}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle.less</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
body {
/*background-color: black;*/
}
body {max-width: 40em;}
label {display: block;}
input:not([type=submit]):not([type=file]) {width: 100%;}
textarea {height: 15em;width: 100%;}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_demo.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<link rel="stylesheet" href="nostyle_demo.css">
<script src="portal_skins/erp5_xhtml_style/rsvp.js"></script>
<script src="portal_skins/erp5_xhtml_style/renderjs.js"></script>
<script src="nostyle_demo.js"></script>
</head>
<body>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_demo.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*globals window, document, RSVP, rJS*/
/*jslint indent: 2, maxlen: 80*/
(function () {
"use strict";
rJS(window)
.ready(function () {
this.element.textContent = 'AAAA';
console.log('loaded');
/*
})
.declareService(function () {
var gadget = this,
body = gadget.element;
return new RSVP.Queue(RSVP.all([
rJS.declareCSS("https://www.fdl-lef.org/material_design_lite.1.3.0.min.css", document.head),
rJS.declareCSS("https://www.fdl-lef.org/font-awesome.5.1/font-awesome.5.1.css", document.head),
rJS.declareCSS("https://www.fdl-lef.org/fdl_complexity.css", document.head)
]))
.push(function () {
var main = body.querySelector('main');
body.innerHTML = '';
body.appendChild(main);
body.hidden = false;
});
console.log('aaaa');
*/
});
}());
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_demo.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<link rel="stylesheet" href="https://www.fdl-lef.org/material_design_lite.1.3.0.min.css" />
<link rel="stylesheet" href="https://www.fdl-lef.org/font-awesome.5.1/font-awesome.5.1.css" />
<link rel="stylesheet" href="fdl_complexity.css" />
<!--script type="text/javascript" src="https://www.fdl-lef.org/material_design_lite.1.3.0.min.js"></script>
<script type="text/javascript" src="https://www.fdl-lef.org/material_design_lite.1.3.0.dialog.polyfill.js"></script-->
<script type="text/javascript" src="https://www.fdl-lef.org/siema.carousel.min.js"></script>
<script src="portal_skins/erp5_xhtml_style/rsvp.js"></script>
<script src="portal_skins/erp5_xhtml_style/renderjs.js"></script>
<script src="nostyle_fdl.js"></script>
</head>
<body>
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
<header class="mdl-layout__header rjs-header">
<div class="rjs-header-row mdl-layout__header-row">
<a href="./P-FDL.Website.Page.Landing" class="mdl-button mdl-js-button rjs-header-link rjs-btn"><i class="material-icons">home</i><span class="rjs-button-text">Home</span></a>
<ul class="rjs-header-list">
<li class="rjs-header-list-item"><a href="./P-FDL.Website.Page.Project" class="mdl-button mdl-js-button rjs-header-link rjs-btn"><i class="material-icons">library_books</i><span class="rjs-button-text">Projects</span></a></li>
<li class="rjs-header-list-item"><a href="P-FDL.Website.Page.Donate" class="mdl-button mdl-js-button rjs-header-link rjs-btn"><i class="material-icons">payment</i><span class="rjs-button-text">Donate</span></a></li>
</ul>
<div class="mdl-layout-spacer"></div>
</div>
</header>
<main class="mdl-layout__content rjs-page-content">
<div class="rjs-content-container">
</div>
<footer class="rjs-footer">
<div class="rjs-footer-sub">
<h4 class="rjs-footer-sub-header">About us</h4>
<div class="rjs-footer-wrapper">
<div class="rjs-footer-wrapper-left">
<div class="rjs-navbar">
<h5 class="rjs-navbar-header">What we do?</h5>
<ul class="rjs-navbar-list">
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Project">Projects</a></li>
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Process">Process</a></li>
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Committee">Committee</a></li>
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Members">Members</a></li>
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Benefits">Benefits</a></li>
</ul>
</div>
<div class="rjs-navbar">
<h5 class="rjs-navbar-header">How can we help?</h5>
<ul class="rjs-navbar-list">
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Faq">FAQ</a></li>
<li class="rjs-navbar-item"><a class="rjs-navbar-link" href="P-FDL.Website.Page.Contact">Contact</a></li>
</ul>
</div>
</div>
<div class="rjs-footer-wrapper-center"></div>
<div class="rjs-footer-wrapper-right"></div>
</div>
<h4 class="rjs-footer-sub-header">Follow us</h4>
<div class="rjs-footer-floater">
<a class="rjs-social-media-link" href=""><i class="fab fa fa-facebook"></i></a>
<a class="rjs-social-media-link" href=""><i class="fab fa fa-twitter"></i></a>
<a class="rjs-social-media-link" href=""><i class="fab fa fa-linkedin"></i></a>
</div>
</div>
<div class="rjs-footer-bottom-line">
<h4 class="rjs-footer-bottom-line-header">Related Sites:</h4>
<ul class="rjs-footer-bottom-line-list">
<li class="rjs-footer-bottom-line-item"><a class="rjs-footer-bottom-line-link" href="http://www.afs.one">Free Software Publishers</a></li>
</ul>
<p class="rjs-footer-bottom-line-text">© 2018 - FDL</p>
</div>
</footer>
</main>
</div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_fdl.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*globals window, document, RSVP, rJS*/
/*jslint indent: 2, maxlen: 80*/
(function () {
"use strict";
rJS(window)
.declareMethod("render", function (main_innerhtml) {
var gadget = this;
var div = document.createElement('div');
div.innerHTML = main_innerhtml;
gadget.element.querySelector('div.rjs-content-container').innerHTML = div.querySelector('div.input').firstChild.innerHTML;
gadget.renderCarousel();
})
.declareJob("renderCarousel", function () {
var gadget = this;
gadget.element.querySelector('main').scrollTo(0, 0);
var carousel = gadget.element.querySelector(".siema");
var s;
if (carousel) {
s = new Siema({
selector: carousel,
easing: 'ease-out',
perPage: 1,
duration: 300,
loop: true
});
document.querySelector('.prev').addEventListener('click', function () {
s.prev();
}, false);
document.querySelector('.next').addEventListener('click', function () {
s.next();
}, false);
// window.componentHandler.upgradeDom();
}
});
}());
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_fdl.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
.mx-0 {
margin-left: 0 !important;
margin-right: 0 !important; }
@-ms-viewport {
width: device-width; }
html {
box-sizing: border-box;
-ms-overflow-style: scrollbar; }
*,
*::before,
*::after {
box-sizing: inherit; }
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
max-width: 540px;
max-width: 720px;
max-width: 960px;
max-width: 1140px; }
.container-fluid {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto; }
.row {
display: flex;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px; }
.no-gutters {
margin-right: 0;
margin-left: 0; }
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0; }
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px; }
.col {
flex-basis: 0;
flex-grow: 1;
max-width: 100%; }
.col-auto {
flex: 0 0 auto;
width: auto;
max-width: none; }
.col-1 {
flex: 0 0 8.33333%;
max-width: 8.33333%; }
.col-2 {
flex: 0 0 16.66667%;
max-width: 16.66667%; }
.col-3 {
flex: 0 0 25%;
max-width: 25%; }
.col-4 {
flex: 0 0 33.33333%;
max-width: 33.33333%; }
.col-5 {
flex: 0 0 41.66667%;
max-width: 41.66667%; }
.col-6 {
flex: 0 0 50%;
max-width: 50%; }
.col-7 {
flex: 0 0 58.33333%;
max-width: 58.33333%; }
.col-8 {
flex: 0 0 66.66667%;
max-width: 66.66667%; }
.col-9 {
flex: 0 0 75%;
max-width: 75%; }
.col-10 {
flex: 0 0 83.33333%;
max-width: 83.33333%; }
.col-11 {
flex: 0 0 91.66667%;
max-width: 91.66667%; }
.col-12 {
flex: 0 0 100%;
max-width: 100%; }
.order-first {
order: -1; }
.order-last {
order: 13; }
.order-0 {
order: 0; }
.order-1 {
order: 1; }
.order-2 {
order: 2; }
.order-3 {
order: 3; }
.order-4 {
order: 4; }
.order-5 {
order: 5; }
.order-6 {
order: 6; }
.order-7 {
order: 7; }
.order-8 {
order: 8; }
.order-9 {
order: 9; }
.order-10 {
order: 10; }
.order-11 {
order: 11; }
.order-12 {
order: 12; }
.offset-1 {
margin-left: 8.33333%; }
.offset-2 {
margin-left: 16.66667%; }
.offset-3 {
margin-left: 25%; }
.offset-4 {
margin-left: 33.33333%; }
.offset-5 {
margin-left: 41.66667%; }
.offset-6 {
margin-left: 50%; }
.offset-7 {
margin-left: 58.33333%; }
.offset-8 {
margin-left: 66.66667%; }
.offset-9 {
margin-left: 75%; }
.offset-10 {
margin-left: 83.33333%; }
.offset-11 {
margin-left: 91.66667%; }
.d-none {
display: none !important; }
.d-inline {
display: inline !important; }
.d-inline-block {
display: inline-block !important; }
.d-block {
display: block !important; }
.d-table {
display: table !important; }
.d-table-row {
display: table-row !important; }
.d-table-cell {
display: table-cell !important; }
.d-flex {
display: flex !important; }
.d-inline-flex {
display: inline-flex !important; }
@media print {
.d-print-none {
display: none !important; }
.d-print-inline {
display: inline !important; }
.d-print-inline-block {
display: inline-block !important; }
.d-print-block {
display: block !important; }
.d-print-table {
display: table !important; }
.d-print-table-row {
display: table-row !important; }
.d-print-table-cell {
display: table-cell !important; }
.d-print-flex {
display: flex !important; }
.d-print-inline-flex {
display: inline-flex !important; } }
.flex-row {
flex-direction: row !important; }
.flex-column {
flex-direction: column !important; }
.flex-row-reverse {
flex-direction: row-reverse !important; }
.flex-column-reverse {
flex-direction: column-reverse !important; }
.flex-wrap {
flex-wrap: wrap !important; }
.flex-nowrap {
flex-wrap: nowrap !important; }
.flex-wrap-reverse {
flex-wrap: wrap-reverse !important; }
.flex-fill {
flex: 1 1 auto !important; }
.flex-grow-0 {
flex-grow: 0 !important; }
.flex-grow-1 {
flex-grow: 1 !important; }
.flex-shrink-0 {
flex-shrink: 0 !important; }
.flex-shrink-1 {
flex-shrink: 1 !important; }
.justify-content-start {
justify-content: flex-start !important; }
.justify-content-end {
justify-content: flex-end !important; }
.justify-content-center {
justify-content: center !important; }
.justify-content-between {
justify-content: space-between !important; }
.justify-content-around {
justify-content: space-around !important; }
.align-items-start {
align-items: flex-start !important; }
.align-items-end {
align-items: flex-end !important; }
.align-items-center {
align-items: center !important; }
.align-items-baseline {
align-items: baseline !important; }
.align-items-stretch {
align-items: stretch !important; }
.align-content-start {
align-content: flex-start !important; }
.align-content-end {
align-content: flex-end !important; }
.align-content-center {
align-content: center !important; }
.align-content-between {
align-content: space-between !important; }
.align-content-around {
align-content: space-around !important; }
.align-content-stretch {
align-content: stretch !important; }
.align-self-auto {
align-self: auto !important; }
.align-self-start {
align-self: flex-start !important; }
.align-self-end {
align-self: flex-end !important; }
.align-self-center {
align-self: center !important; }
.align-self-baseline {
align-self: baseline !important; }
.align-self-stretch {
align-self: stretch !important; }
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_syna.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head>
<link href="nostyle_syna.css" rel="stylesheet">
<link href="https://themes.gohugo.io//theme/syna/style.min.5be84a29588be25ce368c2c2286616c722690b5d9d22c6344ec304c1e8178eb9.css" rel="stylesheet">
<!--script>
window.syna = {
enabledUnsafeEvents: true,
};
</script-->
<!--script src="https://themes.gohugo.io//theme/syna/scripts/syna-head.min.0757f18970a0a32d5acac5a2accc5fe82f787821866c545d9ed17ca765f291a3.js"--></script>
<script src="portal_skins/erp5_xhtml_style/rsvp.js"></script>
<script src="portal_skins/erp5_xhtml_style/renderjs.js"></script>
<script src="nostyle_syna.js"></script>
</head>
<body class="bg-secondary">
<!-- Navigation -->
<nav class="overlay fragment navbar navbar-expand-lg py-2 scroll-spy bg-dark navbar-dark" id="nav" role="navigation" style='position: sticky; top: 0; z-index: 10000 !important;'>
<div class="container">
<!--a class="navbar-brand py-0" href="https://themes.gohugo.io//theme/syna/#">
<img src="https://themes.gohugo.io//theme/syna/images/logo.svg" height="35" class="d-inline-block align-top" alt="Syna">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button-->
<a class="navbar-brand py-0" href="P-FDL.Website.Page.Landing">
Fonds de Dotation du Libre
</a>
<!--div class="navbar-collapse justify-content-between collapse show" id="navbarCollapse"-->
<div class="justify-content-between show" id="navbarCollapse">
<ul class="navbar-nav"><li class="nav-item">
<a href="P-FDL.Website.Page.Project"
class="nav-link">
Projects
</a>
</li><li class="nav-item">
<a href="P-FDL.Website.Page.Donate"
class="nav-link">
Donate
</a>
</ul>
</div>
</div>
</nav>
<main class="fragment content-fragment">
<div class="container-fluid overlay">
<div class="container py-5 overlay">
</div>
</div>
</main>
<!-- Footer -->
<section id="footer" class="fragment ">
<div class="container-fluid bg-secondary ">
<div class="container py-5 ">
<div class="row">
<div class="col-md m-2 text-body">
<h4></h4>
<a href="P-FDL.Website.Page.Landing">
Fonds de Dotation du Libre
</a>
</div>
<div class="col-md m-2 text-body">
<h4>What we do?</h4>
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Project">Projects</a>
</li>
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Process">Process</a>
</li>
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Committee">Committee</a>
</li>
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Members">Members</a>
</li>
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Benefits">Benefits</a>
</li>
</ul>
</div>
<div class="col-md m-2 text-body">
<h4>How can we help?</h4>
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Faq">FAQ</a>
</li>
<li class="nav-item">
<a class="nav-link p-0 display-5" href="P-FDL.Website.Page.Contact">Contact</a>
</li>
</ul>
</div>
<div class="col-md m-2 text-body">
<h4>Related sites</h4>
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link p-0 display-5" href="https://www.afs.one">Free Software Publishers</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</section>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_syna.html</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*globals window, document, RSVP, rJS*/
/*jslint indent: 2, maxlen: 80*/
(function () {
"use strict";
rJS(window)
.declareMethod("render", function (main_innerhtml) {
var gadget = this,
div = document.createElement('div');
div.innerHTML = main_innerhtml;
gadget.element.querySelector('div.py-5').innerHTML = div.querySelector('div.input').firstChild.innerHTML;
});
}());
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>nostyle_syna.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -2,14 +2,10 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
......@@ -24,18 +20,6 @@
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
......@@ -49,12 +33,24 @@
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_web_layout</string> </value>
<value> <string>view_main</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
......
<tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n">
<tal:block metal:define-macro="master">
<tal:block tal:define="
dummy python: request.set('is_web_mode', True);
dummy python: request.set('ignore_layout', False);
dummy python: request.set('editable_mode', False);
web_site python: here.getWebSiteValue();
global_definitions_macros here/global_definitions/macros;">
<tal:block metal:use-macro="global_definitions_macros/header_definitions" />
<html>
<head>
<base tal:attributes="href python: '%s/' % web_site.absolute_url()" />
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1" />
<title tal:content="python: here.getTranslatedTitle() or web_site.getTranslatedTitle()"></title>
<noscript>
<link rel="stylesheet" href="nostyle.css">
</noscript>
<script src="portal_skins/erp5_xhtml_style/rsvp.js"></script>
<script src="portal_skins/erp5_xhtml_style/renderjs.js"></script>
<script src="gadget_global.js"></script>
<script src="nostyle.js"></script>
</head>
<body>
<tal:block tal:content="structure python: web_site.WebSite_generateNavigationHTML()"></tal:block>
<main><tal:block metal:define-slot="main"/></main>
</body>
</html>
</tal:block>
</tal:block>
</tal:block>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment