Installed grappelli inline with the source

This commit is contained in:
Roberto Rosario
2011-02-03 20:31:38 -04:00
parent bb0d884eea
commit 5ff9fe41df
710 changed files with 60677 additions and 2 deletions

41
3rd_party_apps/grappelli/README Executable file
View File

@@ -0,0 +1,41 @@
Grappelli: A jazzy skin for the Django Admin-Interface (only available for standard-compliant browsers).
Grappelli customizes django's admin by overwriting templates and media files only. No python code of django.contib.admin is overwritten.
# Documentation #
* Changelog http://code.google.com/p/django-grappelli/wiki/changelog_2_1
* Installation http://code.google.com/p/django-grappelli/wiki/Installation_2_1
* Setup http://code.google.com/p/django-grappelli/wiki/setup_2_1
* Available Settings http://code.google.com/p/django-grappelli/wiki/settings_2_1
* Model Admin http://code.google.com/p/django-grappelli/wiki/modeladminoptions_2_1
* Inline Model Admin http://code.google.com/p/django-grappelli/wiki/inlinemodeladminoptions_2_1
* Related Lookups http://code.google.com/p/django-grappelli/wiki/relatedlookups_2_1
* Generic Relationships http://code.google.com/p/django-grappelli/wiki/generic_2_1
* Using TinyMCE http://code.google.com/p/django-grappelli/wiki/tinymce_2_1
* Custom the Admin Index Page http://code.google.com/p/django-grappelli/wiki/customizingindex_2_1
* JavaScript customizations: grappelli/media/js/GRAPPELLI_INFO.txt
# Information #
* FAQ http://code.google.com/p/django-grappelli/wiki/FAQ
* Features http://code.google.com/p/django-grappelli/wiki/Features
* Release Notes http://code.google.com/p/django-grappelli/wiki/releasenotes
* Django Issues http://code.google.com/p/django-grappelli/wiki/djangoissues
* Reviews http://code.google.com/p/django-grappelli/wiki/Reviews
# Discussion/Questions #
Use the Grappelli Google-Group for asking questions, discuss development- and improvement-issues and
stay informed about changes/updates: http://groups.google.com/group/django-grappelli.
# Branches/Versions #
* Trunk, Grappelli 2.1: Compatible with Django 1.2
* Branch grappelli_2: Compatible with Django 1.1
* Branch grappelli_2_2: JS-refactoring (in progress)

View File

@@ -0,0 +1 @@
VERSION = '2.2'

View File

@@ -0,0 +1,150 @@
# coding: utf-8
# PYTHON IMPORTS
from datetime import datetime
import csv
import re
from types import *
# DJANGO IMPORTS
from django.contrib.admin import helpers
from django.utils.encoding import force_unicode
from django.shortcuts import render_to_response
from django import template
from django.contrib.admin.util import unquote
from django.http import HttpResponse
from django.utils.translation import ugettext as _
def get_csv_export_fields(modeladmin, included):
"""
Return a sequence of tuples which should be included in the export.
"""
model_fields = [f.name for f in modeladmin.model._meta.fields]
#for relation in modeladmin.csv_follow_relations:
# for field in modeladmin.model._meta.get_field_by_name(relation)[0].rel.to._meta.fields:
# fields.append([relation, field.name])
fields = []
for item in modeladmin.list_display:
if item != "action_checkbox":
if csv_get_fieldname(item) in included:
fields.append(item)
elif isinstance(item, FunctionType) and (item.__name__ in included):
fields.append(item)
for f in model_fields:
if (csv_get_fieldname(f) in included) and (csv_get_fieldname(f) not in fields):
fields.append(f)
return fields
def get_csv_export_field_names(modeladmin):
model_fields = [f for f in modeladmin.model._meta.fields]
#for relation in modeladmin.csv_follow_relations:
# for field in modeladmin.model._meta.get_field_by_name(relation)[0].rel.to._meta.fields:
# fields.append([relation, field.name])
fields = []
for item in modeladmin.list_display:
if isinstance(item, FunctionType):
fields.append([item.__name__, item.short_description])
elif item != "action_checkbox":
appended = False
for f in model_fields:
if f.name == item:
fields.append([f.name, f.verbose_name])
appended = True
break
if not appended:
fields.append([item, item])
for f in model_fields:
inserted = False
for item in fields:
if item[0] == f.name:
inserted = True
break
if not inserted:
fields.append([f.name, f.verbose_name])
return fields
def csv_get_export_filename(modeladmin):
ts = datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
return '%s_%s_%s_export.csv' % (ts, modeladmin.model._meta.app_label, modeladmin.model._meta.module_name)
def csv_resolve_field(row, fieldname):
if isinstance(fieldname, basestring):
if isinstance(getattr(row, fieldname), MethodType):
return getattr(row, fieldname)()
else:
return getattr(row, fieldname)
elif isinstance(fieldname, FunctionType):
return fieldname(row)
else:
obj = row
for bit in fieldname:
obj = getattr(obj, bit)
return obj
def csv_get_fieldname(field):
if isinstance(field, basestring):
return field
elif isinstance(field, FunctionType):
return field.short_description
return '.'.join(field)
def csv_export_selected(modeladmin, request, queryset):
if request.POST.get('post'):
csv_export_url = '~csv/'
csv_export_dialect = 'excel'
#csv_follow_relations = []
csv_export_fmtparam = {
'delimiter': ';',
'quotechar': '"',
'quoting': csv.QUOTE_MINIMAL,
}
fields = get_csv_export_fields(modeladmin, request.POST.getlist('_fields'))
headers = [csv_get_fieldname(f) for f in fields]
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=%s' % csv_get_export_filename(modeladmin)
writer = csv.writer(response, csv_export_dialect, **csv_export_fmtparam)
writer.writerow(headers)
for row in queryset:
csvrow = [f.encode('utf-8') if isinstance(f, unicode) else f for f in [csv_resolve_field(row, f) for f in fields]]
writer.writerow(csvrow)
return response
fields = get_csv_export_field_names(modeladmin)
list_display = []
for item in modeladmin.list_display:
if isinstance(item, basestring):
list_display.append(item)
else:
list_display.append(item.__name__)
opts = modeladmin.model._meta
app_label = opts.app_label
context = {
"title": _("Export as CSV"),
"object_name": force_unicode(opts.verbose_name),
'queryset': queryset,
"opts": opts,
"root_path": modeladmin.admin_site.root_path,
"app_label": app_label,
'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME,
'fields': fields,
'list_display': list_display,
}
# Display the confirmation page
return render_to_response([
"admin/%s/%s/csv_export_selected_confirmation.html" % (app_label, opts.object_name.lower()),
"admin/%s/csv_export_selected_confirmation.html" % app_label,
"admin/csv_export_selected_confirmation.html"
], context, context_instance=template.RequestContext(request))
csv_export_selected.short_description = "Export selection as CSV"

View File

@@ -0,0 +1,67 @@
# coding: utf-8
# DJANGO IMPORTS
from django.contrib import admin
from django.contrib.admin import sites
from django.contrib.admin import ModelAdmin
from django.utils.functional import update_wrapper
from django.views.decorators.csrf import csrf_protect
from django.utils.translation import ugettext as _
from django.views.decorators.cache import never_cache
from django.conf import settings
class AdminSite(sites.AdminSite):
def __init__(self, *args, **kwargs):
self.grappelli_title = kwargs.pop('title', 'Grappelli')
self.grappelli_headline = kwargs.pop('headline', 'Grappelli')
super(AdminSite, self).__init__(*args, **kwargs)
def annotate_context(self, extra_context):
extra_context = extra_context or {}
extra_context.update({
'grappelli_admin_title': self.grappelli_title,
'grappelli_admin_headline': self.grappelli_headline,
})
return extra_context
def admin_view(self, view, cacheable=False):
# not everything can take extra_context
excludes = [
'password_change',
'password_change_done',
'i18n_javascript',
'login',
'logout',
'user_change_password',
]
def inner(request, *args, **kwargs):
if not self.has_permission(request):
return self.login(request)
if view.__name__ not in excludes:
extra_context = kwargs.get('extra_context', {})
extra_context = self.annotate_context(extra_context)
kwargs['extra_context'] = extra_context
return view(request, *args, **kwargs)
if not cacheable:
inner = never_cache(inner)
# We add csrf_protect here so this function can be used as a utility
# function for any view, without having to repeat 'csrf_protect'.
if not getattr(view, 'csrf_exempt', False):
inner = csrf_protect(inner)
return update_wrapper(inner, view)
class RelatedLookupAdmin(admin.ModelAdmin):
def has_change_permission(self, request, obj=None):
if not obj:
opts = self.opts
if request.user.has_perm(opts.app_label + '.view_' + opts.object_name.lower()):
return True
return super(RelatedLookupAdmin, self).has_change_permission(request, obj)

View File

@@ -0,0 +1,22 @@
# coding: utf-8
from django.conf import settings
def admin_template_path(request):
# default templates for "grappelli standalone"
template_path = "admin/_grappelli/"
if getattr(settings, 'ADMIN_TOOLS_INDEX_DASHBOARD', False):
apps = getattr(settings, 'INSTALLED_APPS')
if apps.count("admin_tools.dashboard"):
# seems to be a grappelli+admin_tools setup
# so we use the other templates
template_path = "admin/_grappelli_admin_tools/"
return {
"admin_template_index": "%sindex.html" % template_path,
"admin_template_app_index": "%sapp_index.html" % template_path,
"admin_template_base": "%sbase.html" % template_path,
"admin_template_base_site": "%sbase_site.html" % template_path,
}

View File

@@ -0,0 +1,34 @@
/* Reset Styles (reset.css of Blueprint www.blueprintcss.org)
------------------------------------------------------------------------------------------------------ */
@import url('reset.css');
/* Grappelli Styles:
The core settings of Grappelli are defined here.
Do not change them (better use your own skins/css in the next section).
------------------------------------------------------------------------------------------------------ */
@import url('typography.css');
@import url('structures.css');
@import url('components.css');
@import url('tools.css');
@import url('forms.css');
@import url('buttons.css');
@import url('tables.css');
/* Grappelli Skins & Custom Styles:
Use the delivered Grappelli skins or import your own skins/css here
------------------------------------------------------------------------------------------------------ */
/* Grappelli Basic Skin: The Plain Version */
/*@import url('grappelli-skin-basic.css');*/
/* Grappelli Default Skin: Adds Border-Radius & Background-Gradients to the Grappelli Basic Skin */
@import url('grappelli-skin-default.css');

View File

@@ -0,0 +1,369 @@
/* Submit, Delete & Cancel Buttons
------------------------------------------------------------------------------------------------------ */
input[type=submit], input[type=reset], input[type=button], button {
margin-top: 0;
margin-bottom: 0;
padding: 4px 5px 5px;
width: auto;
height: 25px;
box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
cursor: pointer;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
input[type=submit], input[type=reset], input[type=button], button {
padding: 5px 8px 4px;
}
}
.submit-row a.delete-link,
.submit-row a.cancel-link {
display: block;
padding: 5px 10px;
font-weight: bold;
}
.submit-row input[type=submit],
.submit-row input[type=button] {
padding: 5px 10px;
height: 28px;
font-weight: bold;
}
input[type=submit],
#bookmark-add-cancel,
.submit-row a.delete-link:link, .submit-row a.delete-link:visited,
.submit-row a.cancel-link:link, .submit-row a.cancel-link:visited,
.submit-row input[type=button] {
opacity: .6;
}
input[type=submit]:hover,
#bookmark-add-cancel:hover,
.submit-row a.delete-link:hover, .submit-row a.delete-link:active,
.submit-row a.cancel-link:hover, .submit-row a.cancel-link:active,
.submit-row input[type=button]:hover {
opacity: 1;
}
input[type=submit].default {
opacity: 1;
}
/* Icons & Buttons
------------------------------------------------------------------------------------------------------ */
button.fb_show,
button.ui-datepicker-trigger,
button.ui-timepicker-trigger,
button.ui-gAutocomplete-browse,
button.ui-gAutoSlugField-toggle,
button.ui-gFacelist-browse,
a.button,
.vDateField + span a,
.vTimeField + span a,
a.fb_show,
a.related-lookup,
a.add-another {
position: relative;
margin-left: -25px;
}
button.fb_show,
button.ui-gAutocomplete-browse,
button.ui-gFacelist-browse,
button.ui-gAutoSlugField-toggle,
button.ui-datepicker-trigger,
button.ui-timepicker-trigger,
button.fb_show:hover,
button.ui-gAutocomplete-browse:hover,
button.ui-gFacelist-browse:hover,
button.ui-gAutoSlugField-toggle:hover,
button.ui-datepicker-trigger:hover,
button.ui-timepicker-trigger:hover {
width: 25px;
background: 50% 50% no-repeat;
}
button.fb_show[disabled],
button.ui-gAutocomplete-browse[disabled],
button.ui-gFacelist-browse[disabled],
button.ui-gAutoSlugField-toggle[disabled],
button.ui-datepicker-trigger[disabled],
button.ui-timepicker-trigger[disabled],
input[disabled] + a {
background: 50% 50% no-repeat !important;
opacity: 0.3;
cursor: auto !important;
}
#changelist table button {
top: -5px;
margin-bottom: -12px;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
#changelist table button {
margin-bottom: -11px;
}
}
/* Hide Images in Templates ........................................... */
a.add-another img, a.related-lookup img {
opacity: 0;
}
a.related-lookup img {
display: none;
}
/* Autocomplete Button ......................................... */
button.ui-gAutocomplete-browse,
button.ui-gFacelist-browse {
background-image: url('../img/icons/icon-related-lookup.png');
}
button.ui-gAutocomplete-browse:hover,
button.ui-gFacelist-browse:hover {
background-image: url('../img/icons/icon-related-lookup-hover.png');
}
button.ui-gAutocomplete-browse[disabled], button.ui-gAutocomplete-browse[disabled]:hover,
button.ui-gFacelist-browse[disabled], button.ui-gFacelist-browse[disabled]:hover {
background-image: url('../img/icons/icon-related-lookup-hover.png') !important;
}
/* AutoSlugField Button ......................................... */
/* TODO: lock/unlock icons .. */
button.ui-gAutoSlugField-toggle {
background-image: url('../img/icons/icon-related-lookup.png');
}
button.ui-gAutoSlugField-toggle:hover {
background-image: url('../img/icons/icon-related-lookup-hover.png');
}
button.ui-gAutoSlugField-toggle[disabled], button.ui-gAutoSlugField-toggle[disabled]:hover {
background-image: url('../img/icons/icon-related-lookup-hover.png') !important;
}
/* Datepicker Button ......................................... */
button.ui-datepicker-trigger {
background-image: url('../img/icons/icon-datepicker.png');
}
button.ui-datepicker-trigger:hover {
background-image: url('../img/icons/icon-datepicker-hover.png');
}
button.ui-datepicker-trigger[disabled], button.ui-datepicker-trigger[disabled]:hover {
background-image: url('../img/icons/icon-datepicker-hover.png') !important;
}
/* Timepicker Button ......................................... */
button.ui-timepicker-trigger {
background-image: url('../img/icons/icon-timepicker.png');
}
button.ui-timepicker-trigger:hover {
background-image: url('../img/icons/icon-timepicker-hover.png');
}
button.ui-timepicker-trigger[disabled], button.ui-timepicker-trigger[disabled]:hover {
background-image: url('../img/icons/icon-timepicker-hover.png') !important;
}
/* Search Button ......................................... */
button.search {
position: relative;
float: right;
top: 0;
right: 5px;
margin: 0 0 0 -30px;
background: url('../img/icons/icon-search.png') 0 50% no-repeat scroll;
}
button.search:hover {
background: url('../img/icons/icon-search-hover.png') 0 50% no-repeat scroll;
}
button.search[disabled], button.search[disabled]:hover {
background: url('../img/icons/icon-search-hover.png') 0 50% no-repeat scroll !important;
}
/* Links as Buttons
------------------------------------------------------------------------------------------------------ */
a.button,
.datecrumbs a,
.datecrumbs span {
display: inline-block;
padding: 4px 8px 4px;
font-size: 11px;
font-weight: bold;
}
/* Drop-Down Button ......................................... */
a.button.drop-down {
float: right;
padding-left: 20px;
padding-top: 3px;
}
a.button.drop-down[class*="selected"] {
position: relative;
z-index: 1000;
height: 17px;
}
a.button.drop-down:link, a.button.drop-down:visited {
background: url('../img/icons/icon-dropdown.png') 3px 3px no-repeat;
}
a.button.drop-down[class*="selected"],
a.button.drop-down:hover, a.button.drop-down:active {
background: url('../img/icons/icon-dropdown-hover.png') 3px 3px no-repeat;
}
/* Filebrowser & Related Lookup ......................................... */
a.fb_show img {
width: 0;
height: 0;
opacity: 0;
}
a.fb_show,
a.related-lookup {
display: inline-block;
margin-bottom: -5px;
width: 23px;
height: 23px;
font-size: 0;
line-height: 0;
background: 50% 50% no-repeat;
}
a.fb_show:link, a.fb_show:visited,
.tinyMCE .browse span {
background-image: url('../img/icons/icon-fb-show.png');
}
a.fb_show:hover, a.fb_show:active,
.tinyMCE .browse span:hover {
background-image: url('../img/icons/icon-fb-show-hover.png');
}
a.related-lookup:link, a.related-lookup:visited {
background-image: url('../img/icons/icon-related-lookup.png');
}
a.related-lookup:hover, a.related-lookup:active {
background-image: url('../img/icons/icon-related-lookup-hover.png');
}
input[disabled] + a.fb_show {
background-image: url('../img/icons/icon-fb-show-hover.png') !important;
}
input[disabled] + a.related-lookup {
background-image: url('../img/icons/icon-related-lookup-hover.png') !important;
}
a.related-lookup + strong {
position: relative;
top: -4px;
margin-left: 5px;
font-size: 11px;
font-weight: bold;
}
#changelist table a.fb_show,
#changelist table a.related-lookup {
top: -5px;
margin-bottom: -12px;
}
#changelist table a.related-lookup + strong {
top: -1px;
}
/* Add Another ......................................... */
a.add-another {
position: relative;
display: inline-block;
margin-left: 3px;
width: 14px;
height: 14px;
vertical-align: top;
font-size: 11px;
line-height: 16px;
background: 50% 50% no-repeat;
}
a.add-another:link, a.add-another:visited {
background-image: url('../img/icons/icon-add_another.png');
}
a.add-another:hover, a.add-another:active {
background-image: url('../img/icons/icon-add_another-hover.png');
}
.change-list table tbody a.add-another {
position: relative;
top: -7px;
}
.radiolist.inline + a.add-another,
.checkboxlist.inline + a.add-another {
float: left;
margin-left: -20px;
margin-right: -10000px;
}
.row.cells ul.radiolist.inline + a.add-another,
.row.cells ul.checkboxlist.inline + a.add-another {
float: none;
margin-right: 0;
}
/* Unknown, Yes & No Workaround
------------------------------------------------------------------------------------------------------ */
img[src$="img/admin/icon-unknown.gif"] {
padding: 5px;
width: 0;
height: 0;
background: url('../img/icons/icon-unknown.png') 0 50% no-repeat;
}
img[src$="img/admin/icon-no.gif"] {
padding: 5px;
width: 0;
height: 0;
background: url('../img/icons/icon-no.png') 0 50% no-repeat;
}
img[src$="img/admin/icon-yes.gif"] {
padding: 5px;
width: 0;
height: 0;
background: url('../img/icons/icon-yes.png') 0 50% no-repeat;
}
#changelist form table img[src$="img/admin/icon-unknown.gif"] {
position: relative;
top: 2px;
vertical-align: top;
}
#changelist form table img[src$="img/admin/icon-no.gif"] {
position: relative;
top: 3px;
vertical-align: top;
}
#changelist form table img[src$="img/admin/icon-yes.gif"] {
position: relative;
top: 2px;
vertical-align: top;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,444 @@
body {
/* background: #e4f !important;*/
}
/* Widget Basics
------------------------------------------------------------------------------------------------------ */
.module.ui-widget {
border: none;
background: #fff;
}
.ui-widget-content {
border: 1px solid #ccc;
border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px;
background: #eee;
}
/* Accordion
------------------------------------------------------------------------------------------------------ */
/* Overlays */
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a {
display: block;
font-size: 1em;
padding: 0 0 0 12px;
}
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content {
top: 0;
margin-top: 0;
margin-bottom: 0;
padding: 5px 15px;
border-top: 1px solid #fff;
}
.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
----------------------------------*/
.ui-accordion-header {
margin-top: 2px !important;
cursor: pointer;
outline: none;
}
.ui-accordion .ui-accordion-header a {
padding: 0 0 0 12px;
color: #444;
outline: none;
}
.ui-accordion-header.ui-state-default {
border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
}
.ui-accordion-header.ui-state-active {
border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0;
border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0;
}
/* Accordion Module ......................................... */
.module .ui-accordion-header.ui-state-default {
border: 1px solid #bdbdbd;
background-color: #a1d4e5;
}
.module .ui-accordion-header.ui-state-default:hover {
background-color: #d6d6d6;
}
.module .ui-accordion-header.ui-state-active {
border: 1px solid #bdbdbd;
background-color: #d6d6d6;
}
/* Accordion Module in Group......................................... */
.group .module .ui-accordion-header.ui-state-default {
border: 1px solid #c7c7c7;
background-color: #cee9f2;
}
.group .module .ui-accordion-header.ui-state-default:hover {
background-color: #e0e0e0;
}
.group .module .ui-accordion-header.ui-state-active {
border: 1px solid #c7c7c7;
background-color: #e0e0e0;
}
/*.module .ui-accordion-header {
border-top: 1px solid #e4f;
}*/
.group .module .ui-accordion-header {
border-top: 1px solid #4ef;
}
/* Datepicker
------------------------------------------------------------------------------------------------------ */
/*button.ui-datepicker-trigger {
margin-left: 5px;
width: 25px;
background: #4ef url('/media/grappelli/img/icons/icon-calendar.png') 50% 50% no-repeat;
}
button.ui-datepicker-trigger:hover {
background: transparent url('/media/grappelli/img/icons/icon-calendar-hover.png') 50% 50% no-repeat;
}*/
.ui-datepicker {
width: auto !important; padding: 3px 3px 0;
border-color: #bdbdbd;
box-shadow: 0 0 10px #333; -moz-box-shadow: 0 0 10px #333; -webkit-box-shadow: 0 0 10px #333;
}
.ui-datepicker .ui-datepicker-header {
padding: 2px 0;
height: 25px;
}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
position: absolute;
top: 4px;
width: 1.8em;
height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 3px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title {
margin: 3px 25px 2px;
line-height: 1.8em;
text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
float:left;
font-size:1em;
margin: -3px 0 -1px !important;
min-width: 30px;
}
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
float: right;
}
.ui-datepicker table {
width: 100%;
font-size: 12px;
margin: 0 0 2px;
}
.ui-datepicker th { padding: 5px 0; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td {
min-width: 25px;
border: 0; padding: 1px;
}
.ui-datepicker td span, .ui-datepicker td a {
padding: 4px 0 3px;
text-align: center;
border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;
}
.ui-datepicker td a.ui-state-hover {
color: #fff !important;
border-color: #444 !important;
background: #444 !important;
}
.ui-datepicker td a.ui-state-active {
/* color: #fff;*/
/* border-color: #aaa;*/
background: #fff;
}
.ui-datepicker td a.ui-state-highlight {
/* color: #fff;*/
border-color: #bababa;
background: #D6D6D6;
}
.ui-datepicker .ui-datepicker-buttonpane {
background-image: none;
margin: 10px 0 0;
padding: 0;
border-left: 0;
border-right: 0;
border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
float: right;
margin: 3px 0;
padding: 4px 5px 5px;
height: 25px;
font-size: 12px;
background: #fff;
cursor: pointer;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
opacity: 1 !important;
color: #fff; font-weight: bold;
border-color: #309bbf;
background: #309bbf;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-state-hover {
color: #fff !important;
border-color: #444 !important;
background: #444 !important;
}
.ui-datepicker-multi .ui-datepicker-group-first .ui-datepicker-title,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-title {
margin-right: 5px !important;
}
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-title,
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-title {
margin-left: 5px !important;
}
.ui-datepicker-multi .ui-datepicker-group table {
width: 95%;
}
.ui-datepicker-multi .ui-datepicker-group-first table,
.ui-datepicker-multi .ui-datepicker-group-middle table {
margin-right: 5px !important;
}
.ui-datepicker-multi .ui-datepicker-group-middle table,
.ui-datepicker-multi .ui-datepicker-group-last table {
margin-left: 5px !important;
}
.ui-datepicker-multi .ui-datepicker-group-middle table {
margin-left: 3px !important;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
border: none;
}
.ui-datepicker-append {
margin-left: 6px; color: #999; font-size: 10px;
}
/* Tabs
------------------------------------------------------------------------------------------------------ */
.ui-tabs {
padding: 0; zoom: 1;
}
.ui-tabs .ui-tabs-nav {
padding: 0;
color: #444; font-size: 12px;
border: none;
border-bottom: 1px solid #bdbdbd;
border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0;
/* -moz-border-radius-bottomright: 0;*/
background: none;
}
.ui-tabs .ui-tabs-nav li {
position: relative; float: left;
border-bottom-width: 1px !important;
margin: 0 .2em -1px 0;
padding: 0;
}
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected {
padding-bottom: 0px; border-bottom-width: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel {
padding: 0;
display: block;
border: 1px solid #bdbdbd;
border-top: 1px solid #fff;
border-top-right-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px;
background: #eee;
}
.ui-tabs .ui-tabs-hide { display: none !important; }
/* gAutocomplete
------------------------------------------------------------------------------------------------------ */
.ui-gAutocomplete-wrapper {
position: absolute;
z-index: 400;
}
ul.ui-gAutocomplete-results {
margin-top: 4px;
padding: 5px;
border: 1px solid #ddd;
border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
box-shadow: 0 0 3px #444; -moz-box-shadow: 0 0 3px #444; -webkit-box-shadow: 0 0 3px #444;
background: #fff;
}
ul.ui-gAutocomplete-results li {
padding: 2px 5px;
color: #666;
cursor: pointer;
}
ul.ui-gAutocomplete-results li:hover {
background: #e1f0f5;
}
ul.ui-gAutocomplete-results li:first-child {
border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px;
border-top-right-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px;
}
ul.ui-gAutocomplete-results li:last-child {
border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px;
}
ul.ui-gAutocomplete-results li + li {
border-top: 1px solid #eee;
}
ul.ui-gAutocomplete-results li b {
margin: 0 1px;
color: #444;
/* text-decoration: underline;*/
}
/* gFacelist
------------------------------------------------------------------------------------------------------ */
/*span.ui-gFacelist-message {
display: inline-block;
height: 25px;
background: #fff;
margin: 0;
padding: 3px 5px 4px;
vertical-align: middle;
color: #666; font-family: Arial, sans-serif; font-size: 12px; font-weight: bold;
border: 1px solid #bbb;
border-color: #ccc #ddd #ddd #ccc;
border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px;
border-top-right-radius: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px;
box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
outline: none;
}*/
.ui-gFacelist-toolbar input.ui-gAutocomplete-autocomplete {
/* margin-top: 4px;*/
/* width: 100px;*/
border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0;
}
.ui-gFacelist-toolbar button {
border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0;
}
.ui-gFacelist-toolbar .ui-gAutocomplete-wrapper {
margin-top: -4px;
}
ul.ui-gFacelist-facelist {
position: relative; float: left; clear: both;
padding: 0px 5px 5px;
border: 1px solid #bbb;
border-color: #ccc #ddd #ddd #ccc;
border-top: none;
border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px;
box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
background: #fff;
}
li.ui-gFacelist-item {
position: relative; float: left;
margin-top: 5px; padding: 3px 6px 2px;
width: auto;
font-weight: bold;
border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px;
background: #ddd;
}
li.ui-gFacelist-item {
margin-right: 5px;
}
a.ui-gFacelist-item-remove {
display: inline-block;
margin: 0 0 -3px 0;
width: 16px;
height: 16px;
background: transparent 100% 3px no-repeat;
}
a.ui-gFacelist-item-remove:link, a.ui-gFacelist-item-remove:visited {
background-image: url('/media/grappelli/img/icons/icon-tools-delete-handler.png');
}
a.ui-gFacelist-item-remove:hover, a.ui-gFacelist-item-remove:active {
background-image: url('/media/grappelli/img/icons/icon-tools-delete-handler-hover.png');
}
/* Datepicker Fields in Grid (Normal - 22px)
------------------------------------------------------------------------------------------------------ */
/*.span-24 input.vDateField.hasDatepicker { width: 880px; }
.span-23 input.vDateField.hasDatepicker { width: 840px; }
.span-22 input.vDateField.hasDatepicker { width: 800px; }
.span-21 input.vDateField.hasDatepicker { width: 760px; }
.span-20 input.vDateField.hasDatepicker { width: 720px; }
.span-19 input.vDateField.hasDatepicker { width: 680px; }
.span-18 input.vDateField.hasDatepicker { width: 640px; }
.span-17 input.vDateField.hasDatepicker { width: 600px; }
.span-16 input.vDateField.hasDatepicker { width: 560px; }
.span-15 input.vDateField.hasDatepicker { width: 520px; }
.span-14 input.vDateField.hasDatepicker { width: 480px; }
.span-13 input.vDateField.hasDatepicker { width: 440px; }
.span-12 input.vDateField.hasDatepicker { width: 400px; }
.span-11 input.vDateField.hasDatepicker { width: 360px; }
.span-10 input.vDateField.hasDatepicker { width: 320px; }
.span-9 input.vDateField.hasDatepicker { width: 280px; }
.span-8 input.vDateField.hasDatepicker { width: 240px; }
.span-7 input.vDateField.hasDatepicker { width: 200px; }
.span-6 input.vDateField.hasDatepicker { width: 160px; }
.span-5 input.vDateField.hasDatepicker { width: 120px; }
.span-4 input.vDateField.hasDatepicker { width: 80px; }
.form-cell.span-12 label + input.vDateField.hasDatepicker {
width: 250px;
}
.form-cell.span-8 label + input[type=text].vDateField.hasDatepicker {
width: 90px;
}*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
/* --------------------------------------------------------------
reset.css
* Resets default browser CSS.
-------------------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
line-height: 1.5;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
/* Remove annoying border on linked images. */
a img { border: none; }

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,140 @@
/* Basic Table Settings
------------------------------------------------------------------------------------------------------ */
table {
margin: 0;
padding: 0;
border-spacing: none;
}
td, th {
vertical-align: top;
padding: 10px 10px 9px;
font-size: 11px;
line-height: 15px;
}
th {
text-align: left;
font-size: 12px;
font-weight: bold;
}
/* Thead ................................................... */
thead th,
tfoot td {
padding: 5px 10px;
font-size: 11px;
line-height: 12px;
font-weight: normal;
}
thead th.sorted {
font-weight: bold;
}
thead th a {
position: relative;
display: block;
margin: -5px -10px -4px;
padding: 4px 10px 4px;
height: 100% !important;
white-space: nowrap;
}
thead th.ascending a:after {
content: url('../img/icons/icon-th-ascending.png');
}
thead th.descending a:after {
content: url('../img/icons/icon-th-descending.png');
}
/* Tbody ................................................... */
thead th.optional {
font-weight: normal !important;
}
tr.row-label td {
margin-top: -1px;
padding-top: 2px;
padding-bottom: 0;
font-size: 9px;
}
/* Table XFull
------------------------------------------------------------------------------------------------------ */
table.xfull {
width: 100%;
}
/* Changelist Table
------------------------------------------------------------------------------------------------------ */
#changelist table {
position: relative;
margin: -1px !important;
}
#changelist form table tbody td, #changelist form table tbody th {
padding-top: 10px;
padding-bottom: 9px;
line-height: 16px;
}
/* Orderable Tables
------------------------------------------------------------------------------------------------------ */
table.orderable tbody tr td:hover {
cursor: move;
}
table.orderable tbody tr td:first-child {
padding-left: 14px;
background-image: url(../img/admin/nav-bg-grabber.gif);
background-repeat: repeat-y;
}
table.orderable-initalized .order-cell, body>tr>td.order-cell {
display: none;
}
/* Change History
------------------------------------------------------------------------------------------------------ */
table#change-history {
width: 100%;
}
table#change-history tbody th {
width: 150px;
}
/* Documentation
------------------------------------------------------------------------------------------------------ */
.model-index table {
width: 100%;
}
.model-index table th {
padding: 7px 10px 8px;
}
/* Other Classes
------------------------------------------------------------------------------------------------------ */
table .nowrap {
white-space: nowrap;
}

View File

@@ -0,0 +1,266 @@
/* Tools Basics
------------------------------------------------------------------------------------------------------ */
.tools {
position: relative;
float: right;
clear: both;
padding: 6px 10px;
font-size: 11px;
font-weight: bold;
}
ul.tools {
padding: 0;
list-style-type: none;
white-space: nowrap;
}
ul.tools:empty {
display: none;
}
ul.tools li {
position: relative;
float: left;
display: block;
overflow: hidden;
margin-left: 5px;
padding: 6px 0;
min-width: 12px;
}
ul.tools li:last-child {
margin-right: 5px;
}
/* H1 + Tools
------------------------------------------------------------------------------------------------------ */
h1 + .tools,
.grappelli-h1 + .tools {
position: relative;
float: right;
clear: right;
z-index: 900;
margin-top: -34px;
margin-bottom: -34px;
display: inline-block;
}
h1 + .tools li,
h1 + .tools li:last-child {
float: left;
margin: 0 0 0 3px;
padding: 0;
}
h1 + .tools a {
display: block;
margin: 0;
padding: 4px 15px;
width: auto;
height: 17px;
font-size: 11px;
opacity: .6;
}
h1 + .tools a:hover, h1 + .tools a:active {
opacity: 1;
}
h1 + .tools a.add-handler:link, h1 + .tools a.add-handler:visited {
padding-left: 30px;
background: url('../img/icons/icon-object-tools-add-handler.png') 0 50% no-repeat scroll;
}
h1 + .tools a.add-handler:hover, h1 + .tools a.add-handler:active {
background: url('../img/icons/icon-object-tools-add-handler.png') 0 50% no-repeat scroll;
}
/* Focused Buttons ................................................... */
h1 + .tools a.focus {
opacity: 1;
}
/* Tools
------------------------------------------------------------------------------------------------------ */
.group .tools,
.module .tools {
position: relative;
float: right;
clear: both;
padding: 6px 10px;
font-size: 11px;
font-weight: bold;
}
.group ul.tools,
.module ul.tools {
padding: 0 2px;
list-style-type: none;
}
.group ul.tools li,
.module ul.tools li {
position: relative;
float: left;
display: block;
overflow: hidden;
margin-left: 5px;
padding: 6px 2px;
}
.group ul.tools li:last-child,
.module ul.tools li:last-child {
margin-right: 5px;
}
/* 1st Level H2 + Tools ......................................... */
.group h2+.tools,
.module h2+.tools {
top: -29px;
right: 0;
margin-bottom: -29px;
}
.group h2+.tools {
right: 1px;
}
.module.collapse.closed h2+.tools {
top: -28px;
}
/* 2nd Level H3 + Tools ......................................... */
.module h3+.tools {
top: -27px;
right: 0;
margin-bottom: -27px;
}
.module h3+ul.tools li {
padding-top: 5px;
padding-bottom: 5px;
}
/* 3rd Level H4 + Tools ......................................... */
.module h4+.tools {
top: -24px;
right: 0;
margin-bottom: -24px;
}
.module h4+ul.tools li {
padding-top: 3px;
padding-bottom: 4px;
}
/* Tools in Tabular Groups ......................................... */
.module.table .th .tools,
.module.table .td .tools {
top: -5px;
right: -20px;
margin-left: -20px;
margin-bottom: -15px;
}
.module.table .th .tools li,
.module.table .td .tools li {
padding-top: 10px;
padding-bottom: 9px;
}
/* Links ................................................... */
.tools a {
position: relative;
display: block;
margin: -6px 0;
padding: 6px 0px;
width: 100%;
height: 100%;
background-position: 50% 50%;
background-repeat: no-repeat;
}
.tools a.icon {
margin: -6px 0;
padding: 6px 0px;
width: 12px;
height: 16px;
}
.module.table .th .tools a,
.module.table .td .tools a {
margin: -9px 0;
padding: 9px 0px;
}
.module.table .th .tools a.icon,
.module.table .td .tools a.icon {
margin: -9px 0;
padding: 9px 0px;
}
/* Icons ................................................... */
.tools a.drag-handler:link, .tools a.drag-handler:visited {
background-image: url('../img/icons/icon-tools-drag-handler.png');
}
.tools a.drag-handler:hover, .tools a.drag-handler:active {
background-image: url('../img/icons/icon-tools-drag-handler-hover.png');
}
.predelete-items a.drag-handler, .predelete-item a.drag-handler {
display: none;
}
.tools a.viewsite-link:link, .tools a.viewsite-link:visited {
background-image: url('../img/icons/icon-tools-viewsite-link.png');
opacity: .4;
}
.tools a.viewsite-link:hover, .tools a.viewsite-link:active {
background-image: url('../img/icons/icon-tools-viewsite-link-hover.png');
}
.tools a.delete-handler:link, .tools a.delete-handler:visited,
.predelete .tools a.delete-handler:hover, .predelete .tools a.delete-handler:active {
background-image: url('../img/icons/icon-tools-delete-handler.png');
}
.tools a.delete-handler:hover, .tools a.delete-handler:active,
.predelete .tools a.delete-handler:link, .predelete .tools a.delete-handler:visited {
background-image: url('../img/icons/icon-tools-delete-handler-hover.png');
}
.tools a.remove-handler:link, .tools a.remove-handler:visited {
background-image: url('../img/icons/icon-tools-remove-handler.png');
}
.tools a.remove-handler:hover, .tools a.remove-handler:active {
background-image: url('../img/icons/icon-tools-remove-handler-hover.png');
}
.tools a.add-handler:link, .tools a.add-handler:visited {
background-image: url('../img/icons/icon-tools-add-handler.png');
}
.tools a.add-handler:hover, .tools a.add-handler:active {
background-image: url('../img/icons/icon-tools-add-handler-hover.png');
}
.tools a.open-handler:link, .tools a.open-handler:visited {
background-image: url('../img/icons/icon-tools-open-handler.png');
}
.tools a.open-handler:hover, .tools a.open-handler:active {
background-image: url('../img/icons/icon-tools-open-handler-hover.png');
}
.tools a.close-handler:link, .tools a.close-handler:visited {
background-image: url('../img/icons/icon-tools-close-handler.png');
}
.tools a.close-handler:hover, .tools a.close-handler:active {
background-image: url('../img/icons/icon-tools-close-handler-hover.png');
}

View File

@@ -0,0 +1,268 @@
/* typography.css:
2009 / vonautomatisch werkstaetten / vonautomatisch.at
------------------------------------------------------------------------------------------------------ */
/* Headings
------------------------------------------------------------------------------------------------------ */
h1, h2, h3, h4 {
font-weight: bold;
}
h1 {
position: relative;
z-index: 800;
margin: 26px 0 10px;
font-size: 16px;
line-height: 20px;
}
.pretitle + h1 {
margin-top: 0;
}
h2 {
font-size: 13px;
}
h3 {
font-size: 12px;
}
h4, h5 {
font-size: 11px;
}
/* Paragraphs
------------------------------------------------------------------------------------------------------ */
.module p.help,
p.help {
padding: 5px 0;
font-size: 10px !important;
line-height: 12px;
}
p.readonly {
margin: 0 !important;
padding: 3px 0 !important;
color: #666;
font-size: 12px;
font-weight: bold;
}
.fb_show + p.help a {
display: inline-block;
padding: 3px;
font-size: 0;
line-height: 0;
}
.fb_show + p.help a img {
margin: 0;
font-size: 0;
line-height: 0;
}
.container-grid > p:first-child, .container-flexible > p:first-child,
.container-grid .column > p:first-child, .container-flexible .column > p:first-child {
margin: 0 0 10px;
}
/* Links
------------------------------------------------------------------------------------------------------ */
a {
text-decoration: none;
outline: none;
cursor: pointer;
}
a.back {
font-weight: bold;
}
/* Listings
------------------------------------------------------------------------------------------------------ */
ul, li {
list-style-type: none;
}
/* Blockquote, Pre, Code
------------------------------------------------------------------------------------------------------ */
blockquote {
margin-left: 2px;
padding-left: 4px;
font-size: 11px;
}
code, pre {
font-size: 11px;
font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
}
pre.literal-block {
margin: 10px;
padding: 6px 8px;
}
hr {
clear: both;
margin: 0;
padding: 0;
height: 1px;
font-size: 1px;
line-height: 1px;
}
/* Table Typography
------------------------------------------------------------------------------------------------------ */
th.focus,
td.focus {
font-weight: bold;
}
/* RTE (Rich Text Edited)
------------------------------------------------------------------------------------------------------ */
.rte h2.subhead {
margin: 0;
font-size: 12px;
}
.rte h3 {
margin: 10px -10px 10px;
padding: 7px 10px 6px;
font-size: 12px !important;
}
.rte h2 + h3 {
margin-top: -11px !important;
}
.rte h4 {
margin: 10px 0 0;
font-size: 12px;
}
.rte p {
margin: 10px 0;
}
.rte .module p {
margin: 10px 0;
padding: 0 10px;
}
.rte > p:first-child {
margin-top: 0;
}
.rte .group h2 + p,
.rte .module h2 + p {
margin: 5px 0;
padding: 0 10px;
font-size: 11px;
}
.rte table p {
margin: 0 !important;
padding: 0 !important;
}
/* Workaround for problem reported in django-ticket #11817 */
.rte h2 p,
.rte h4 p {
margin: 0 !important;
padding: 0 !important;
font-weight: normal;
}
.rte h2 p {
font-weight: bold !important;
}
.rte h4:empty,
.rte p:empty,
.rte hr,
.rte br:first-child {
display: none !important;
}
.rte ul, .rte ol {
margin: 10px 0 0 20px;
padding: 0 0 0 10px;
font-weight: normal !important;
}
ul.rte ul, ul.rte ol,
ol.rte ul, ol.rte ol {
margin: 0 0 0 20px;
font-size: 12px;
line-height: 14px;
}
.rte ul li, .rte ol li {
margin: 0;
padding: 0;
}
.rte ul li {
list-style-type: disc;
}
.rte ol li {
list-style-type: decimal;
}
.delete-confirmation ul.rte>li {
padding-bottom: 9px;
font-weight: bold;
}
.delete-confirmation ul.rte>li:last-child {
padding-bottom: 0;
}
.delete-confirmation ul.rte>li+li {
padding-top: 8px !important;
}
.delete-confirmation ul.rte>li>ul {
margin-top: 2px;
}
.delete-confirmation ul.rte>li>ul>li {
list-style-type: none;
margin: 0 0 0 -30px !important;
padding: 5px 0;
}
.delete-confirmation ul.rte>li>ul>li:last-child {
padding-bottom: 0;
}
.delete-confirmation ul.rte>li>ul>li>ul>li {
font-size: 11px;
}
.rte dd ul, .rte dd ol {
margin-top: 0;
}
.rte blockquote {
margin: 10px;
}
.rte dl, .rte dt, .rte dd {
margin: 0;
}
.rte dl {
padding: 5px 10px;
}
.rte dt {
font-weight: bold;
}
.rte dd + dt {
margin-top: 5px;
}
/* Other Styles
------------------------------------------------------------------------------------------------------ */
.small { font-size: 10px; }
.fw-normal { font-weight: normal; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 844 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Some files were not shown because too many files have changed in this diff Show More