11 |
Markdown Cheatsheet
12 |
13 | Phrase Emphasis
14 |
15 | *italic* **bold**
16 |
17 | Links
18 |
19 | Inline:
20 |
21 |
A [link](http://url.com/)
22 | A [link](http://url.com/
23 | "with a title")
24 |
25 |
26 |
Reference-style labels:
27 |
28 |
A [link][id]. Then, anywhere
29 | else, define the link:
30 |
31 | [id]: http://url.com/ "title"
32 |
33 |
34 |
Code Spans
35 |
36 |
`<code>` spans are delimited
37 | by backticks.
38 |
39 | You can include literal
40 | backticks like `` `this` ``.
41 |
42 |
43 |
Fenced Code Blocks
44 |
Fencing with ``` on a line before and after based on GFM .
45 |
46 |
```
47 | def foo():
48 | return "bar"
49 | ```
50 |
51 |
Syntax highlighting is supported in the following format
52 |
```python
53 | def foo():
54 | return "bar"
55 | ```
56 |
57 |
58 |
Preformatted Code Blocks
59 |
Indent every line of a code block by at least 4 spaces.
60 |
61 |
This is a normal paragraph.
62 |
63 | This is a preformatted
64 | code block.
65 |
66 |
67 |
Lists
68 |
69 |
1. an ordered
70 | 2. list
71 |
72 | * an unordered list
73 | * '-' bullets work too
74 |
75 |
76 |
Headers
77 |
78 |
# Header 1
79 |
80 | ## Header 2
81 |
82 | ###### Header 6
83 |
84 |
85 |
Blockquotes
86 |
87 |
> Email-style angle brackets
88 | > are used for blockquotes.
89 |
90 | > > And, they can be nested.
91 |
92 | > ## Headers in blockquotes
93 | >
94 | > * You can quote a list.
95 | > * Etc.
96 |
97 |
98 |
Manual Line Breaks
99 |
100 |
End a line with two or more spaces:
101 |
102 |
Roses are red,
103 | Violets are blue.
104 |
105 |
106 |
More markdown syntax help here .
107 |
108 |
109 |
110 | {% endblock %}
111 |
--------------------------------------------------------------------------------
/static/css/pygments.css:
--------------------------------------------------------------------------------
1 | .hll { background-color: #ffffcc }
2 | .c { color: #408080; font-style: italic } /* Comment */
3 | .err { border: 1px solid #FF0000 } /* Error */
4 | .k { color: #008000; font-weight: bold } /* Keyword */
5 | .o { color: #666666 } /* Operator */
6 | .cm { color: #408080; font-style: italic } /* Comment.Multiline */
7 | .cp { color: #BC7A00 } /* Comment.Preproc */
8 | .c1 { color: #408080; font-style: italic } /* Comment.Single */
9 | .cs { color: #408080; font-style: italic } /* Comment.Special */
10 | .gd { color: #A00000 } /* Generic.Deleted */
11 | .ge { font-style: italic } /* Generic.Emph */
12 | .gr { color: #FF0000 } /* Generic.Error */
13 | .gh { color: #000080; font-weight: bold } /* Generic.Heading */
14 | .gi { color: #00A000 } /* Generic.Inserted */
15 | .go { color: #888888 } /* Generic.Output */
16 | .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
17 | .gs { font-weight: bold } /* Generic.Strong */
18 | .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
19 | .gt { color: #0044DD } /* Generic.Traceback */
20 | .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
21 | .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
22 | .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
23 | .kp { color: #008000 } /* Keyword.Pseudo */
24 | .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
25 | .kt { color: #B00040 } /* Keyword.Type */
26 | .m { color: #666666 } /* Literal.Number */
27 | .s { color: #BA2121 } /* Literal.String */
28 | .na { color: #7D9029 } /* Name.Attribute */
29 | .nb { color: #008000 } /* Name.Builtin */
30 | .nc { color: #0000FF; font-weight: bold } /* Name.Class */
31 | .no { color: #880000 } /* Name.Constant */
32 | .nd { color: #AA22FF } /* Name.Decorator */
33 | .ni { color: #999999; font-weight: bold } /* Name.Entity */
34 | .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
35 | .nf { color: #0000FF } /* Name.Function */
36 | .nl { color: #A0A000 } /* Name.Label */
37 | .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
38 | .nt { color: #008000; font-weight: bold } /* Name.Tag */
39 | .nv { color: #19177C } /* Name.Variable */
40 | .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
41 | .w { color: #bbbbbb } /* Text.Whitespace */
42 | .mf { color: #666666 } /* Literal.Number.Float */
43 | .mh { color: #666666 } /* Literal.Number.Hex */
44 | .mi { color: #666666 } /* Literal.Number.Integer */
45 | .mo { color: #666666 } /* Literal.Number.Oct */
46 | .sb { color: #BA2121 } /* Literal.String.Backtick */
47 | .sc { color: #BA2121 } /* Literal.String.Char */
48 | .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
49 | .s2 { color: #BA2121 } /* Literal.String.Double */
50 | .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
51 | .sh { color: #BA2121 } /* Literal.String.Heredoc */
52 | .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
53 | .sx { color: #008000 } /* Literal.String.Other */
54 | .sr { color: #BB6688 } /* Literal.String.Regex */
55 | .s1 { color: #BA2121 } /* Literal.String.Single */
56 | .ss { color: #19177C } /* Literal.String.Symbol */
57 | .bp { color: #008000 } /* Name.Builtin.Pseudo */
58 | .vc { color: #19177C } /* Name.Variable.Class */
59 | .vg { color: #19177C } /* Name.Variable.Global */
60 | .vi { color: #19177C } /* Name.Variable.Instance */
61 | .il { color: #666666 } /* Literal.Number.Integer.Long */
62 |
63 |
--------------------------------------------------------------------------------
/settings.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
4 |
5 | DEBUG = False
6 | TEMPLATE_DEBUG = DEBUG
7 |
8 | ADMINS = (
9 | # ('Name', 'email@address.foo'),
10 | )
11 | MANAGERS = ADMINS
12 |
13 | DATABASES = {
14 | 'default': {
15 | # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
16 | 'ENGINE': 'django.db.backends.sqlite3',
17 | 'NAME': os.path.join(SITE_ROOT, 'devdb.sqlite'),
18 | 'USER': '',
19 | 'PASSWORD': '',
20 | 'HOST': '',
21 | 'PORT': '',
22 | }
23 | }
24 |
25 | TIME_ZONE = 'America/Los_Angeles'
26 | LANGUAGE_CODE = 'en-us'
27 | USE_I18N = True
28 | USE_L10N = True
29 | USE_TZ = True
30 | SITE_ID = 1
31 |
32 |
33 | STATIC_URL = '/static/'
34 | STATICFILES_DIRS = (
35 | os.path.join(SITE_ROOT, "static"),
36 | )
37 | STATICFILES_FINDERS = (
38 | 'django.contrib.staticfiles.finders.FileSystemFinder',
39 | 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
40 | )
41 |
42 | #SECRET_KEY = ''
43 |
44 | TEMPLATE_LOADERS = (
45 | 'django.template.loaders.filesystem.Loader',
46 | 'django.template.loaders.app_directories.Loader',
47 | )
48 |
49 | MIDDLEWARE_CLASSES = (
50 | 'django.middleware.common.CommonMiddleware',
51 | 'django.contrib.sessions.middleware.SessionMiddleware',
52 | 'django.middleware.csrf.CsrfViewMiddleware',
53 | 'django.contrib.auth.middleware.AuthenticationMiddleware',
54 | 'django.contrib.messages.middleware.MessageMiddleware',
55 | 'django.middleware.clickjacking.XFrameOptionsMiddleware',
56 | )
57 |
58 | ROOT_URLCONF = 'urls'
59 | WSGI_APPLICATION = 'wsgi.application'
60 |
61 | TEMPLATE_DIRS = (
62 | os.path.join(SITE_ROOT, 'templates'),
63 | )
64 |
65 | INSTALLED_APPS = (
66 | 'django.contrib.auth',
67 | 'django_openid_auth',
68 | 'django.contrib.contenttypes',
69 | 'django.contrib.sessions',
70 | 'django.contrib.messages',
71 | 'django.contrib.staticfiles',
72 | 'django.contrib.admin',
73 | 'django.contrib.admindocs',
74 | 'django.contrib.sites',
75 | 'django.contrib.comments',
76 | 'djangoratings',
77 | 'tagging',
78 | 'markdown_deux',
79 | 'questions',
80 | 'south',
81 | )
82 |
83 | AUTHENTICATION_BACKENDS = (
84 | 'auth.GoogleAuthBackend',
85 | 'django.contrib.auth.backends.ModelBackend',
86 | )
87 |
88 | LOGIN_URL = '/openid/login/'
89 | LOGIN_REDIRECT_URL = '/'
90 | LOGOUT_URL = '/openid/logout/'
91 |
92 | from questions.views import failure_handler
93 | OPENID_RENDER_FAILURE = failure_handler
94 | OPENID_SSO_SERVER_URL = 'https://www.google.com/accounts/o8/id'
95 | OPENID_CREATE_USERS = True
96 | #OPENID_RESTRICT_TO_DOMAINS = ('domain.com', )
97 |
98 |
99 | MARKDOWN_DEUX_STYLES = {
100 | "default": {
101 | "extras": ["code-friendly", "fenced-code-blocks"],
102 | "safe_mode": "escape",
103 | },
104 | }
105 |
106 |
107 | # A sample logging configuration. The only tangible logging
108 | # performed by this configuration is to send an email to
109 | # the site admins on every HTTP 500 error when DEBUG=False.
110 | # See http://docs.djangoproject.com/en/dev/topics/logging for
111 | # more details on how to customize your logging configuration.
112 | LOGGING = {
113 | 'version': 1,
114 | 'disable_existing_loggers': False,
115 | 'filters': {
116 | 'require_debug_false': {
117 | '()': 'django.utils.log.RequireDebugFalse'
118 | }
119 | },
120 | 'handlers': {
121 | 'mail_admins': {
122 | 'level': 'ERROR',
123 | 'filters': ['require_debug_false'],
124 | 'class': 'django.utils.log.AdminEmailHandler'
125 | }
126 | },
127 | 'loggers': {
128 | 'django.request': {
129 | 'handlers': ['mail_admins'],
130 | 'level': 'ERROR',
131 | 'propagate': True,
132 | },
133 | }
134 | }
135 |
--------------------------------------------------------------------------------
/templates/view_question.tmpl:
--------------------------------------------------------------------------------
1 | {% extends "base.tmpl" %}
2 | {% load comments %}
3 | {% load markdown_deux_tags %}
4 |
5 | {% block title %} Question - {{ block.super }} {% endblock %}
6 |
7 | {% block extra_head %}
8 | {% if settings.syntax_highlighting %}
9 |
10 | {% endif %}
11 | {% endblock %}
12 |
13 | {% block content %}
14 |
15 |
16 |
17 |
18 | {% if question.status == "Pending" %}
19 |
20 | {% else %}
21 |
22 | {% endif %}
23 |
24 | {% if question.status == "Approved" %}
25 |
26 | {% else %}
27 |
28 | {% endif %}
29 |
30 | {% if question.status == "Banned" %}
31 |
32 | {% else %}
33 |
34 | {% endif %}
35 |
36 |
37 |
38 | {% if not active_revision %}
39 |
Mark Active
40 | {% endif %}
41 |
View Revisions
42 |
Edit Question
43 | {% if user.is_staff or user.email == question.added_by.email %}
44 |
Delete Question
45 |
46 |
47 |
51 |
52 |
Are you sure you want to delete this question?
53 |
54 |
58 |
59 | {% endif %}
60 |
61 |
62 |
63 |
64 | {% if not active_revision or question.status != "Active" %}
65 |
66 | {% endif %}
67 | {% if not active_revision %}
68 |
69 | You are currently viewing a non-active revision.
70 |
71 | {% endif %}
72 | {% if question.status == "Pending" %}
73 |
74 | This question is pending. If used in an interview discuss its signal before approving.
75 |
76 | {% endif %}
77 | {% if question.status == "Banned" %}
78 |
79 | This question is banned. Don't use it in future interviews.
80 |
81 | {% endif %}
82 |
83 | {{question.title}}
84 |
85 |
Difficulty
86 |
{{question.difficulty}}
87 |
Status
88 |
{{question.status}}
89 |
Groups
90 |
{{question.groups.all|join:", "}}
91 |
92 |
93 |
Added By
94 |
{{question.added_by.email}}
95 |
On
96 |
{{question.date_added}}
97 |
98 |
99 |
Modified By
100 |
{{revision.user.email}}
101 |
On
102 |
{{revision.date_added}}
103 |
104 |
105 |
Tags
106 |
107 | {% for tag in question.tag_list %}
{{tag}} {% endfor %}
108 |
109 |
110 |
111 |
112 |
113 | {{revision.text|markdown}}
114 |
115 |
116 |
117 |
118 |
119 |
120 | {% get_comment_form for question as form %}
121 |
132 |
133 |
134 | {% get_comment_list for question as comment_list %}
135 | {% for comment in comment_list %}
136 |
137 |
138 |
{{comment.submit_date}} - {{comment.user_email}} says:
139 |
140 |
144 |
145 | {% endfor %}
146 |
147 | {% endblock %}
148 |
--------------------------------------------------------------------------------
/questions/migrations/0002_auto__add_field_settings_syntax_highlighting.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | import datetime
3 | from south.db import db
4 | from south.v2 import SchemaMigration
5 | from django.db import models
6 |
7 |
8 | class Migration(SchemaMigration):
9 |
10 | def forwards(self, orm):
11 | # Adding field 'Settings.syntax_highlighting'
12 | db.add_column('questions_settings', 'syntax_highlighting',
13 | self.gf('django.db.models.fields.BooleanField')(default=True),
14 | keep_default=False)
15 |
16 |
17 | def backwards(self, orm):
18 | # Deleting field 'Settings.syntax_highlighting'
19 | db.delete_column('questions_settings', 'syntax_highlighting')
20 |
21 |
22 | models = {
23 | 'auth.group': {
24 | 'Meta': {'object_name': 'Group'},
25 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
26 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
27 | 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
28 | },
29 | 'auth.permission': {
30 | 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
31 | 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
32 | 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
33 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
34 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
35 | },
36 | 'auth.user': {
37 | 'Meta': {'object_name': 'User'},
38 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
39 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
40 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
41 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
42 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
43 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
44 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
45 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
46 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
47 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
48 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
49 | 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
50 | 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
51 | },
52 | 'contenttypes.contenttype': {
53 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
54 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
55 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
56 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
57 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
58 | },
59 | 'questions.group': {
60 | 'Meta': {'object_name': 'Group'},
61 | 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
62 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
63 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'})
64 | },
65 | 'questions.question': {
66 | 'Meta': {'object_name': 'Question'},
67 | 'added_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
68 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
69 | 'difficulty': ('django.db.models.fields.CharField', [], {'default': "'Easy'", 'max_length': '20'}),
70 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']"}),
71 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
72 | 'status': ('django.db.models.fields.CharField', [], {'default': "'Pending'", 'max_length': '30'}),
73 | 'tags': ('tagging.fields.TagField', [], {'null': 'True'}),
74 | 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
75 | },
76 | 'questions.questionrevision': {
77 | 'Meta': {'object_name': 'QuestionRevision'},
78 | 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
79 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
80 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
81 | 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Question']"}),
82 | 'text': ('django.db.models.fields.TextField', [], {}),
83 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
84 | },
85 | 'questions.settings': {
86 | 'Meta': {'object_name': 'Settings'},
87 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']", 'null': 'True', 'blank': 'True'}),
88 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
89 | 'syntax_highlighting': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
90 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
91 | }
92 | }
93 |
94 | complete_apps = ['questions']
--------------------------------------------------------------------------------
/questions/migrations/0003_auto__add_field_group_added_by.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | import datetime
3 | from south.db import db
4 | from south.v2 import SchemaMigration
5 | from django.db import models
6 |
7 |
8 | class Migration(SchemaMigration):
9 |
10 | def forwards(self, orm):
11 | # Adding field 'Group.added_by'
12 | db.add_column('questions_group', 'added_by',
13 | self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True, blank=True),
14 | keep_default=False)
15 |
16 |
17 | def backwards(self, orm):
18 | # Deleting field 'Group.added_by'
19 | db.delete_column('questions_group', 'added_by_id')
20 |
21 |
22 | models = {
23 | 'auth.group': {
24 | 'Meta': {'object_name': 'Group'},
25 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
26 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
27 | 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
28 | },
29 | 'auth.permission': {
30 | 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
31 | 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
32 | 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
33 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
34 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
35 | },
36 | 'auth.user': {
37 | 'Meta': {'object_name': 'User'},
38 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
39 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
40 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
41 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
42 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
43 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
44 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
45 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
46 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
47 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
48 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
49 | 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
50 | 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
51 | },
52 | 'contenttypes.contenttype': {
53 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
54 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
55 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
56 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
57 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
58 | },
59 | 'questions.group': {
60 | 'Meta': {'object_name': 'Group'},
61 | 'added_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
62 | 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
63 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
64 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'})
65 | },
66 | 'questions.question': {
67 | 'Meta': {'object_name': 'Question'},
68 | 'added_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
69 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
70 | 'difficulty': ('django.db.models.fields.CharField', [], {'default': "'Easy'", 'max_length': '20'}),
71 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']"}),
72 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
73 | 'status': ('django.db.models.fields.CharField', [], {'default': "'Pending'", 'max_length': '30'}),
74 | 'tags': ('tagging.fields.TagField', [], {'null': 'True'}),
75 | 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
76 | },
77 | 'questions.questionrevision': {
78 | 'Meta': {'object_name': 'QuestionRevision'},
79 | 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
80 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
81 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
82 | 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Question']"}),
83 | 'text': ('django.db.models.fields.TextField', [], {}),
84 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
85 | },
86 | 'questions.settings': {
87 | 'Meta': {'object_name': 'Settings'},
88 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']", 'null': 'True', 'blank': 'True'}),
89 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
90 | 'syntax_highlighting': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
91 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
92 | }
93 | }
94 |
95 | complete_apps = ['questions']
--------------------------------------------------------------------------------
/questions/migrations/0004_auto__del_field_question_group.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | import datetime
3 | from south.db import db
4 | from south.v2 import SchemaMigration
5 | from django.db import models
6 |
7 |
8 | class Migration(SchemaMigration):
9 |
10 | def forwards(self, orm):
11 | # Deleting field 'Question.group'
12 | db.delete_column('questions_question', 'group_id')
13 |
14 | # Adding M2M table for field groups on 'Question'
15 | db.create_table('questions_question_groups', (
16 | ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
17 | ('question', models.ForeignKey(orm['questions.question'], null=False)),
18 | ('group', models.ForeignKey(orm['questions.group'], null=False))
19 | ))
20 | db.create_unique('questions_question_groups', ['question_id', 'group_id'])
21 |
22 |
23 | def backwards(self, orm):
24 |
25 | # User chose to not deal with backwards NULL issues for 'Question.group'
26 | raise RuntimeError("Cannot reverse this migration. 'Question.group' and its values cannot be restored.")
27 | # Removing M2M table for field groups on 'Question'
28 | db.delete_table('questions_question_groups')
29 |
30 |
31 | models = {
32 | 'auth.group': {
33 | 'Meta': {'object_name': 'Group'},
34 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
35 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
36 | 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
37 | },
38 | 'auth.permission': {
39 | 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
40 | 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
41 | 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
42 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
43 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
44 | },
45 | 'auth.user': {
46 | 'Meta': {'object_name': 'User'},
47 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
48 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
49 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
50 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
51 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
52 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
53 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
54 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
55 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
56 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
57 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
58 | 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
59 | 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
60 | },
61 | 'contenttypes.contenttype': {
62 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
63 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
64 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
65 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
66 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
67 | },
68 | 'questions.group': {
69 | 'Meta': {'object_name': 'Group'},
70 | 'added_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}),
71 | 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
72 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
73 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'})
74 | },
75 | 'questions.question': {
76 | 'Meta': {'object_name': 'Question'},
77 | 'added_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
78 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
79 | 'difficulty': ('django.db.models.fields.CharField', [], {'default': "'Easy'", 'max_length': '20'}),
80 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['questions.Group']", 'symmetrical': 'False'}),
81 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
82 | 'status': ('django.db.models.fields.CharField', [], {'default': "'Pending'", 'max_length': '30'}),
83 | 'tags': ('tagging.fields.TagField', [], {'null': 'True'}),
84 | 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
85 | },
86 | 'questions.questionrevision': {
87 | 'Meta': {'object_name': 'QuestionRevision'},
88 | 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
89 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
90 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
91 | 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Question']"}),
92 | 'text': ('django.db.models.fields.TextField', [], {}),
93 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
94 | },
95 | 'questions.settings': {
96 | 'Meta': {'object_name': 'Settings'},
97 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']", 'null': 'True', 'blank': 'True'}),
98 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
99 | 'syntax_highlighting': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
100 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
101 | }
102 | }
103 |
104 | complete_apps = ['questions']
--------------------------------------------------------------------------------
/static/js/tag-it.min.js:
--------------------------------------------------------------------------------
1 | (function(b){b.widget("ui.tagit",{options:{allowDuplicates:!1,caseSensitive:!0,fieldName:"tags",placeholderText:null,readOnly:!1,removeConfirmation:!1,tagLimit:null,availableTags:[],autocomplete:{},showAutocompleteOnFocus:!1,allowSpaces:!1,singleField:!1,singleFieldDelimiter:",",singleFieldNode:null,animate:!0,tabIndex:null,beforeTagAdded:null,afterTagAdded:null,beforeTagRemoved:null,afterTagRemoved:null,onTagClicked:null,onTagLimitExceeded:null,onTagAdded:null,onTagRemoved:null,tagSource:null},_create:function(){var a=
2 | this;this.element.is("input")?(this.tagList=b("").insertAfter(this.element),this.options.singleField=!0,this.options.singleFieldNode=this.element,this.element.css("display","none")):this.tagList=this.element.find("ul, ol").andSelf().last();this.tagInput=b(' ').addClass("ui-widget-content");this.options.readOnly&&this.tagInput.attr("disabled","disabled");this.options.tabIndex&&this.tagInput.attr("tabindex",this.options.tabIndex);this.options.placeholderText&&this.tagInput.attr("placeholder",
3 | this.options.placeholderText);this.options.autocomplete.source||(this.options.autocomplete.source=function(a,c){var d=a.term.toLowerCase(),e=b.grep(this.options.availableTags,function(a){return 0===a.toLowerCase().indexOf(d)});c(this._subtractArray(e,this.assignedTags()))});this.options.showAutocompleteOnFocus&&(this.tagInput.focus(function(){a._showAutocomplete()}),"undefined"===typeof this.options.autocomplete.minLength&&(this.options.autocomplete.minLength=0));b.isFunction(this.options.autocomplete.source)&&
4 | (this.options.autocomplete.source=b.proxy(this.options.autocomplete.source,this));b.isFunction(this.options.tagSource)&&(this.options.tagSource=b.proxy(this.options.tagSource,this));this.tagList.addClass("tagit").addClass("ui-widget ui-widget-content ui-corner-all").append(b(' ').append(this.tagInput)).click(function(c){var d=b(c.target);d.hasClass("tagit-label")?(d=d.closest(".tagit-choice"),d.hasClass("removed")||a._trigger("onTagClicked",c,{tag:d,tagLabel:a.tagLabel(d)})):
5 | a.tagInput.focus()});var d=!1;if(this.options.singleField)if(this.options.singleFieldNode){var c=b(this.options.singleFieldNode),e=c.val().split(this.options.singleFieldDelimiter);c.val("");b.each(e,function(b,c){a.createTag(c,null,!0);d=!0})}else this.options.singleFieldNode=b(' '),this.tagList.after(this.options.singleFieldNode);d||this.tagList.children("li").each(function(){b(this).hasClass("tagit-new")||(a.createTag(b(this).text(),
6 | b(this).attr("class"),!0),b(this).remove())});this.tagInput.keydown(function(c){if(c.which==b.ui.keyCode.BACKSPACE&&""===a.tagInput.val()){var d=a._lastTag();!a.options.removeConfirmation||d.hasClass("remove")?a.removeTag(d):a.options.removeConfirmation&&d.addClass("remove ui-state-highlight")}else a.options.removeConfirmation&&a._lastTag().removeClass("remove ui-state-highlight");if(c.which===b.ui.keyCode.COMMA||c.which===b.ui.keyCode.ENTER||c.which==b.ui.keyCode.TAB&&""!==a.tagInput.val()||c.which==
7 | b.ui.keyCode.SPACE&&!0!==a.options.allowSpaces&&('"'!=b.trim(a.tagInput.val()).replace(/^s*/,"").charAt(0)||'"'==b.trim(a.tagInput.val()).charAt(0)&&'"'==b.trim(a.tagInput.val()).charAt(b.trim(a.tagInput.val()).length-1)&&0!==b.trim(a.tagInput.val()).length-1))c.which===b.ui.keyCode.ENTER&&""===a.tagInput.val()||c.preventDefault(),a.createTag(a._cleanedInput()),a.tagInput.autocomplete("close")}).blur(function(){a.tagInput.data("autocomplete-open")||a.createTag(a._cleanedInput())});if(this.options.availableTags||
8 | this.options.tagSource||this.options.autocomplete.source)c={select:function(b,c){a.createTag(c.item.value);return!1}},b.extend(c,this.options.autocomplete),c.source=this.options.tagSource||c.source,this.tagInput.autocomplete(c).bind("autocompleteopen",function(){a.tagInput.data("autocomplete-open",!0)}).bind("autocompleteclose",function(){a.tagInput.data("autocomplete-open",!1)})},_cleanedInput:function(){return b.trim(this.tagInput.val().replace(/^"(.*)"$/,"$1"))},_lastTag:function(){return this.tagList.find(".tagit-choice:last:not(.removed)")},
9 | _tags:function(){return this.tagList.find(".tagit-choice:not(.removed)")},assignedTags:function(){var a=this,d=[];this.options.singleField?(d=b(this.options.singleFieldNode).val().split(this.options.singleFieldDelimiter),""===d[0]&&(d=[])):this._tags().each(function(){d.push(a.tagLabel(this))});return d},_updateSingleTagsField:function(a){b(this.options.singleFieldNode).val(a.join(this.options.singleFieldDelimiter)).trigger("change")},_subtractArray:function(a,d){for(var c=[],e=0;e=this.options.tagLimit)return this._trigger("onTagLimitExceeded",
12 | null,{duringInitialization:c}),!1;var g=b(this.options.onTagClicked?' ':' ').text(a),f=b(" ").addClass("tagit-choice ui-widget-content ui-state-default ui-corner-all").addClass(d).append(g);this.options.readOnly?f.addClass("tagit-choice-read-only"):(f.addClass("tagit-choice-editable"),d=b(" ").addClass("ui-icon ui-icon-close"),d=b('\u00d7 ').addClass("tagit-close").append(d).click(function(){e.removeTag(f)}),
13 | f.append(d));this.options.singleField||(g=g.html(),f.append(' '));!1!==this._trigger("beforeTagAdded",null,{tag:f,tagLabel:this.tagLabel(f),duringInitialization:c})&&(this.options.singleField&&(g=this.assignedTags(),g.push(a),this._updateSingleTagsField(g)),this._trigger("onTagAdded",null,f),this.tagInput.val(""),this.tagInput.parent().before(f),this._trigger("afterTagAdded",null,{tag:f,tagLabel:this.tagLabel(f),
14 | duringInitialization:c}),this.options.showAutocompleteOnFocus&&!c&&setTimeout(function(){e._showAutocomplete()},0))},removeTag:function(a,d){d="undefined"===typeof d?this.options.animate:d;a=b(a);this._trigger("onTagRemoved",null,a);if(!1!==this._trigger("beforeTagRemoved",null,{tag:a,tagLabel:this.tagLabel(a)})){if(this.options.singleField){var c=this.assignedTags(),e=this.tagLabel(a),c=b.grep(c,function(a){return a!=e});this._updateSingleTagsField(c)}d?(a.addClass("removed"),c=this._effectExists("blind")?
15 | ["blind",{direction:"horizontal"},"fast"]:["fast"],c.push(function(){a.remove()}),a.fadeOut("fast").hide.apply(a,c).dequeue()):a.remove();this._trigger("afterTagRemoved",null,{tag:a,tagLabel:this.tagLabel(a)})}},removeTagByLabel:function(a,b){var c=this._findTagByLabel(a);if(!c)throw"No such tag exists with the name '"+a+"'";this.removeTag(c,b)},removeAll:function(){var a=this;this._tags().each(function(b,c){a.removeTag(c,!1)})}})})(jQuery);
16 |
--------------------------------------------------------------------------------
/questions/migrations/0001_initial.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | import datetime
3 | from south.db import db
4 | from south.v2 import SchemaMigration
5 | from django.db import models
6 |
7 |
8 | class Migration(SchemaMigration):
9 |
10 | def forwards(self, orm):
11 | # Adding model 'Group'
12 | db.create_table('questions_group', (
13 | ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14 | ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=60)),
15 | ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
16 | ))
17 | db.send_create_signal('questions', ['Group'])
18 |
19 | # Adding model 'Settings'
20 | db.create_table('questions_settings', (
21 | ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
22 | ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
23 | ('group', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['questions.Group'], null=True, blank=True)),
24 | ))
25 | db.send_create_signal('questions', ['Settings'])
26 |
27 | # Adding model 'Question'
28 | db.create_table('questions_question', (
29 | ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
30 | ('title', self.gf('django.db.models.fields.CharField')(max_length=255)),
31 | ('status', self.gf('django.db.models.fields.CharField')(default='Pending', max_length=30)),
32 | ('tags', self.gf('tagging.fields.TagField')(null=True)),
33 | ('difficulty', self.gf('django.db.models.fields.CharField')(default='Easy', max_length=20)),
34 | ('group', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['questions.Group'])),
35 | ('date_added', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
36 | ('added_by', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
37 | ))
38 | db.send_create_signal('questions', ['Question'])
39 |
40 | # Adding model 'QuestionRevision'
41 | db.create_table('questions_questionrevision', (
42 | ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
43 | ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['questions.Question'])),
44 | ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
45 | ('text', self.gf('django.db.models.fields.TextField')()),
46 | ('active', self.gf('django.db.models.fields.BooleanField')(default=False)),
47 | ('date_added', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
48 | ))
49 | db.send_create_signal('questions', ['QuestionRevision'])
50 |
51 |
52 | def backwards(self, orm):
53 | # Deleting model 'Group'
54 | db.delete_table('questions_group')
55 |
56 | # Deleting model 'Settings'
57 | db.delete_table('questions_settings')
58 |
59 | # Deleting model 'Question'
60 | db.delete_table('questions_question')
61 |
62 | # Deleting model 'QuestionRevision'
63 | db.delete_table('questions_questionrevision')
64 |
65 |
66 | models = {
67 | 'auth.group': {
68 | 'Meta': {'object_name': 'Group'},
69 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
70 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
71 | 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
72 | },
73 | 'auth.permission': {
74 | 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
75 | 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
76 | 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
77 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
79 | },
80 | 'auth.user': {
81 | 'Meta': {'object_name': 'User'},
82 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
83 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
84 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
85 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
86 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
87 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
88 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
89 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
90 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
91 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
92 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
93 | 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
94 | 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
95 | },
96 | 'contenttypes.contenttype': {
97 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
98 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
99 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
100 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
101 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
102 | },
103 | 'questions.group': {
104 | 'Meta': {'object_name': 'Group'},
105 | 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
106 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
107 | 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'})
108 | },
109 | 'questions.question': {
110 | 'Meta': {'object_name': 'Question'},
111 | 'added_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
112 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
113 | 'difficulty': ('django.db.models.fields.CharField', [], {'default': "'Easy'", 'max_length': '20'}),
114 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']"}),
115 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
116 | 'status': ('django.db.models.fields.CharField', [], {'default': "'Pending'", 'max_length': '30'}),
117 | 'tags': ('tagging.fields.TagField', [], {'null': 'True'}),
118 | 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'})
119 | },
120 | 'questions.questionrevision': {
121 | 'Meta': {'object_name': 'QuestionRevision'},
122 | 'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
123 | 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
124 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
125 | 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Question']"}),
126 | 'text': ('django.db.models.fields.TextField', [], {}),
127 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
128 | },
129 | 'questions.settings': {
130 | 'Meta': {'object_name': 'Settings'},
131 | 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['questions.Group']", 'null': 'True', 'blank': 'True'}),
132 | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
133 | 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
134 | }
135 | }
136 |
137 | complete_apps = ['questions']
--------------------------------------------------------------------------------
/questions/views.py:
--------------------------------------------------------------------------------
1 | from django.conf import settings as django_settings
2 | from django.contrib.auth.decorators import login_required
3 | from django.contrib.auth.models import User
4 | from django.http import HttpResponseRedirect
5 |
6 |
7 | from shortcuts import r2r, json_response
8 | from models import Group, Question, QuestionRevision, Settings
9 | from forms import QuestionForm, GroupForm, SettingsForm
10 |
11 | from tagging.models import Tag, TaggedItem
12 |
13 | import operator
14 |
15 | @login_required
16 | def index(request):
17 | context = {}
18 | approved_questions = Question.objects.filter(status__exact="Approved")
19 | pending_questions = Question.objects.filter(status__exact="Pending")
20 | banned_questions = Question.objects.filter(status__exact="Banned")
21 |
22 | settings = Settings.get_by_user(request.user)
23 | if settings.group:
24 | approved_questions = approved_questions.filter(groups__id=settings.group.id)
25 | pending_questions = pending_questions.filter(groups__id=settings.group.id)
26 | banned_questions = banned_questions.filter(groups__id=settings.group.id)
27 |
28 | context["approved_questions"] = approved_questions
29 | context["pending_questions"] = pending_questions
30 | context["banned_questions"] = banned_questions
31 | context["settings"] = settings
32 | return r2r(request, "index", context)
33 |
34 |
35 | @login_required
36 | def view_orphans(request):
37 | context = {}
38 |
39 | approved_questions = Question.objects.filter(status__exact="Approved", groups=None)
40 | pending_questions = Question.objects.filter(status__exact="Pending", groups=None)
41 | banned_questions = Question.objects.filter(status__exact="Banned", groups=None)
42 |
43 | context["approved_questions"] = approved_questions
44 | context["pending_questions"] = pending_questions
45 | context["banned_questions"] = banned_questions
46 |
47 | return r2r(request, "view_orphans", context)
48 |
49 |
50 | @login_required
51 | def add_question(request):
52 | context = {}
53 |
54 | settings = Settings.get_by_user(request.user)
55 | initial = {}
56 |
57 | if settings.group:
58 | initial["groups"] = [settings.group.id]
59 |
60 | if request.method == "POST":
61 | form = QuestionForm(request.POST)
62 | if form.is_valid():
63 | question = form.save(commit=False)
64 | question.added_by = request.user
65 | question.save()
66 |
67 | revision = QuestionRevision(
68 | question=question, user=request.user,
69 | text=form.cleaned_data["body"], active=True)
70 | revision.save()
71 | return HttpResponseRedirect("/question/%s" % question.id)
72 | else:
73 | form = QuestionForm(initial=initial)
74 |
75 | context["form"] = form
76 |
77 |
78 | return r2r(request, "add_question", context)
79 |
80 |
81 | @login_required
82 | def view_question(request, question_id):
83 | context = {
84 | "active_revision": True,
85 | "settings": Settings.get_by_user(request.user),
86 | }
87 |
88 | revision_id = request.GET.get("revision_id", None)
89 | question = Question.objects.get(pk=question_id)
90 | active_revision = question.get_active_revision()
91 | revision = active_revision
92 |
93 | if revision_id is not None and revision.id != revision_id:
94 | context["active_revision"] = False
95 | revision = QuestionRevision.objects.get(question_id=question_id, pk=revision_id)
96 |
97 |
98 | context["question"] = question
99 | context["revision"] = revision
100 | return r2r(request, "view_question", context)
101 |
102 |
103 | @login_required
104 | def set_revision(request, question_id, revision_id):
105 | context = {}
106 | question = Question.objects.get(pk=question_id)
107 | active_revision = question.get_active_revision()
108 | revision = active_revision
109 |
110 | if revision.id != revision_id:
111 | revision = QuestionRevision.objects.get(question_id=question_id, pk=revision_id)
112 | revision.active = True
113 | revision.save()
114 |
115 | active_revision.active=False
116 | active_revision.save()
117 |
118 | return HttpResponseRedirect("/question/%s" % question_id)
119 |
120 |
121 | @login_required
122 | def view_revisions(request, question_id):
123 | context = {}
124 | question = Question.objects.get(pk=question_id)
125 | context["question"] = question
126 | context["revisions"] = QuestionRevision.objects.filter(question_id=question.id).order_by('date_added')
127 | return r2r(request, "view_revisions", context)
128 |
129 | @login_required
130 | def delete_question(request, question_id):
131 | context = {}
132 | question = Question.objects.get(pk=question_id)
133 | if request.user.is_staff or request.user.email == question.added_by.email:
134 | question.delete()
135 | return HttpResponseRedirect("/questions")
136 |
137 |
138 | @login_required
139 | def edit_question(request, question_id):
140 | context = {}
141 | question = Question.objects.get(pk=question_id)
142 | old_revision = question.get_active_revision()
143 |
144 | if request.method == "POST":
145 | form = QuestionForm(request.POST, instance=question)
146 | if form.is_valid():
147 | form.save()
148 | question = form.save()
149 | if old_revision.text != form.cleaned_data["body"]:
150 | new_revision = QuestionRevision(
151 | question=question, user=request.user,
152 | text=form.cleaned_data["body"], active=True)
153 | new_revision.save()
154 | old_revision.active = False
155 | old_revision.save()
156 | return HttpResponseRedirect("/question/%s" % question_id)
157 | else:
158 | form = QuestionForm(instance=question, initial={
159 | "body": old_revision.text
160 | })
161 |
162 | context["form"] = form
163 | return r2r(request, "edit_question", context)
164 |
165 |
166 | @login_required
167 | def set_status(request, question_id, status):
168 | question = Question.objects.get(pk=question_id)
169 | if question.status != status:
170 | question.status = status
171 | question.save()
172 | return HttpResponseRedirect("/question/%s" % question_id)
173 |
174 |
175 | @login_required
176 | def add_group(request):
177 | context = {}
178 |
179 | if request.method == "POST":
180 | form = GroupForm(request.POST)
181 | if form.is_valid():
182 | group = form.save(commit=False)
183 | group.added_by = request.user
184 | group.save()
185 | return HttpResponseRedirect("/group/%s" % group.id)
186 | else:
187 | form = GroupForm()
188 |
189 | context["form"] = form
190 | return r2r(request, "add_group", context)
191 |
192 |
193 | @login_required
194 | def view_group(request, group_id):
195 | context = {}
196 | context["group"] = Group.objects.get(pk=group_id)
197 |
198 | approved_questions = Question.objects.filter(status__exact="Approved")
199 | pending_questions = Question.objects.filter(status__exact="Pending")
200 | banned_questions = Question.objects.filter(status__exact="Banned")
201 |
202 | approved_questions = approved_questions.filter(groups__id=group_id)
203 | pending_questions = pending_questions.filter(groups__id=group_id)
204 | banned_questions = banned_questions.filter(groups__id=group_id)
205 |
206 | context["approved_questions"] = approved_questions
207 | context["pending_questions"] = pending_questions
208 | context["banned_questions"] = banned_questions
209 | context["settings"] = Settings.get_by_user(request.user)
210 | return r2r(request, "view_group", context)
211 |
212 |
213 | @login_required
214 | def delete_group(request, group_id):
215 | context = {}
216 | group = Group.objects.get(pk=group_id)
217 | if request.user.is_staff or request.user.email == group.added_by.email:
218 | group.delete()
219 | return HttpResponseRedirect("/groups")
220 |
221 |
222 | @login_required
223 | def edit_group(request, group_id):
224 | context = {}
225 | group = Group.objects.get(pk=group_id)
226 |
227 | if not request.user.is_staff and request.user.email != group.added_by.email:
228 | return HttpResponseRedirect("/group/%s" % group_id)
229 |
230 | if request.method == "POST":
231 | form = GroupForm(request.POST, instance=group)
232 | if form.is_valid():
233 | form.save()
234 | return HttpResponseRedirect("/group/%s" % group_id)
235 | else:
236 | form = GroupForm(instance=group)
237 |
238 | context["form"] = form
239 | return r2r(request, "edit_group", context)
240 |
241 | @login_required
242 | def view_tag(request, tagname):
243 | context = {}
244 |
245 | approved_questions = Question.objects.filter(status__exact="Approved")
246 | pending_questions = Question.objects.filter(status__exact="Pending")
247 | banned_questions = Question.objects.filter(status__exact="Banned")
248 |
249 | settings = Settings.get_by_user(request.user)
250 | if settings.group:
251 | approved_questions = approved_questions.filter(groups__id=settings.group.id)
252 | pending_questions = pending_questions.filter(groups__id=settings.group.id)
253 | banned_questions = banned_questions.filter(groups__id=settings.group.id)
254 |
255 | context["tagname"] = tagname
256 | tagname = '"%s"' % tagname
257 | context["approved_questions"] = TaggedItem.objects.get_by_model(approved_questions, tagname)
258 | context["pending_questions"] = TaggedItem.objects.get_by_model(pending_questions, tagname)
259 | context["banned_questions"] = TaggedItem.objects.get_by_model(banned_questions, tagname)
260 | context["settings"] = settings
261 |
262 | return r2r(request, "view_tag", context)
263 |
264 |
265 | @login_required
266 | def tags_ajax(request):
267 | term = request.GET.get("term")
268 |
269 | if term:
270 | tags = Tag.objects.filter(name__startswith=term)
271 | else:
272 | tags = Tag.objects.all()
273 |
274 | return json_response([tag.name for tag in tags])
275 |
276 |
277 | @login_required
278 | def settings(request):
279 | context = {}
280 | context["settings"] = Settings.get_by_user(request.user)
281 | return r2r(request, "settings", context)
282 |
283 |
284 | @login_required
285 | def edit_settings(request):
286 | context = {}
287 | settings = Settings.get_by_user(request.user)
288 |
289 | if request.method == "POST":
290 | form = SettingsForm(request.POST, instance=settings)
291 | if form.is_valid():
292 | form.save()
293 | return HttpResponseRedirect("/settings")
294 | else:
295 | form = SettingsForm(instance=settings)
296 |
297 | context["form"] = form
298 | return r2r(request, "edit_settings", context)
299 |
300 |
301 | @login_required
302 | def users(request):
303 | context = {}
304 | counts = {}
305 |
306 | for questions in Question.objects.all():
307 | email = questions.added_by.email
308 | if email not in counts:
309 | counts[email] = 0
310 | counts[email] += 1
311 |
312 | for user in User.objects.all():
313 | if user.email not in counts:
314 | counts[user.email] = 0
315 |
316 | # Double sort since sort is stable. Want names alpha after count
317 | context["counts"] = sorted(counts.items(), key=operator.itemgetter(0))
318 | context["counts"] = sorted(context["counts"], key=operator.itemgetter(1), reverse=True)
319 | return r2r(request, "users", context)
320 |
321 |
322 | @login_required
323 | def groups(request):
324 | context = {}
325 | context["groups"] = Group.objects.all()
326 | return r2r(request, "groups", context)
327 |
328 |
329 | @login_required
330 | def help(request):
331 | return r2r(request, "help")
332 |
333 |
334 | def failure_handler(request, message, status=None, template_name=None, exception=None):
335 | context = {
336 | 'allowed_domains': getattr(django_settings, "OPENID_RESTRICT_TO_DOMAINS", tuple()),
337 | }
338 | return r2r(request, "login_failed", context)
339 |
--------------------------------------------------------------------------------
/static/css/bootstrap-responsive.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Responsive v2.2.2
3 | *
4 | * Copyright 2012 Twitter, Inc
5 | * Licensed under the Apache License v2.0
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Designed and built with all the love in the world @twitter by @mdo and @fat.
9 | */@-ms-viewport{width:device-width}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
10 |
--------------------------------------------------------------------------------
/static/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap.js by @fat & @mdo
3 | * Copyright 2012 Twitter, Inc.
4 | * http://www.apache.org/licenses/LICENSE-2.0.txt
5 | */
6 | !function($){"use strict";$(function(){$.support.transition=function(){var transitionEnd=function(){var name,el=document.createElement("bootstrap"),transEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(name in transEndEventNames)if(void 0!==el.style[name])return transEndEventNames[name]}();return transitionEnd&&{end:transitionEnd}}()})}(window.jQuery),!function($){"use strict";var dismiss='[data-dismiss="alert"]',Alert=function(el){$(el).on("click",dismiss,this.close)};Alert.prototype.close=function(e){function removeElement(){$parent.trigger("closed").remove()}var $parent,$this=$(this),selector=$this.attr("data-target");selector||(selector=$this.attr("href"),selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")),$parent=$(selector),e&&e.preventDefault(),$parent.length||($parent=$this.hasClass("alert")?$this:$this.parent()),$parent.trigger(e=$.Event("close")),e.isDefaultPrevented()||($parent.removeClass("in"),$.support.transition&&$parent.hasClass("fade")?$parent.on($.support.transition.end,removeElement):removeElement())};var old=$.fn.alert;$.fn.alert=function(option){return this.each(function(){var $this=$(this),data=$this.data("alert");data||$this.data("alert",data=new Alert(this)),"string"==typeof option&&data[option].call($this)})},$.fn.alert.Constructor=Alert,$.fn.alert.noConflict=function(){return $.fn.alert=old,this},$(document).on("click.alert.data-api",dismiss,Alert.prototype.close)}(window.jQuery),!function($){"use strict";var Button=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.button.defaults,options)};Button.prototype.setState=function(state){var d="disabled",$el=this.$element,data=$el.data(),val=$el.is("input")?"val":"html";state+="Text",data.resetText||$el.data("resetText",$el[val]()),$el[val](data[state]||this.options[state]),setTimeout(function(){"loadingText"==state?$el.addClass(d).attr(d,d):$el.removeClass(d).removeAttr(d)},0)},Button.prototype.toggle=function(){var $parent=this.$element.closest('[data-toggle="buttons-radio"]');$parent&&$parent.find(".active").removeClass("active"),this.$element.toggleClass("active")};var old=$.fn.button;$.fn.button=function(option){return this.each(function(){var $this=$(this),data=$this.data("button"),options="object"==typeof option&&option;data||$this.data("button",data=new Button(this,options)),"toggle"==option?data.toggle():option&&data.setState(option)})},$.fn.button.defaults={loadingText:"loading..."},$.fn.button.Constructor=Button,$.fn.button.noConflict=function(){return $.fn.button=old,this},$(document).on("click.button.data-api","[data-toggle^=button]",function(e){var $btn=$(e.target);$btn.hasClass("btn")||($btn=$btn.closest(".btn")),$btn.button("toggle")})}(window.jQuery),!function($){"use strict";var Carousel=function(element,options){this.$element=$(element),this.options=options,"hover"==this.options.pause&&this.$element.on("mouseenter",$.proxy(this.pause,this)).on("mouseleave",$.proxy(this.cycle,this))};Carousel.prototype={cycle:function(e){return e||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval)),this},to:function(pos){var $active=this.$element.find(".item.active"),children=$active.parent().children(),activePos=children.index($active),that=this;if(!(pos>children.length-1||0>pos))return this.sliding?this.$element.one("slid",function(){that.to(pos)}):activePos==pos?this.pause().cycle():this.slide(pos>activePos?"next":"prev",$(children[pos]))},pause:function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&$.support.transition.end&&(this.$element.trigger($.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){return this.sliding?void 0:this.slide("next")},prev:function(){return this.sliding?void 0:this.slide("prev")},slide:function(type,next){var e,$active=this.$element.find(".item.active"),$next=next||$active[type](),isCycling=this.interval,direction="next"==type?"left":"right",fallback="next"==type?"first":"last",that=this;if(this.sliding=!0,isCycling&&this.pause(),$next=$next.length?$next:this.$element.find(".item")[fallback](),e=$.Event("slide",{relatedTarget:$next[0]}),!$next.hasClass("active")){if($.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(e),e.isDefaultPrevented())return;$next.addClass(type),$next[0].offsetWidth,$active.addClass(direction),$next.addClass(direction),this.$element.one($.support.transition.end,function(){$next.removeClass([type,direction].join(" ")).addClass("active"),$active.removeClass(["active",direction].join(" ")),that.sliding=!1,setTimeout(function(){that.$element.trigger("slid")},0)})}else{if(this.$element.trigger(e),e.isDefaultPrevented())return;$active.removeClass("active"),$next.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return isCycling&&this.cycle(),this}}};var old=$.fn.carousel;$.fn.carousel=function(option){return this.each(function(){var $this=$(this),data=$this.data("carousel"),options=$.extend({},$.fn.carousel.defaults,"object"==typeof option&&option),action="string"==typeof option?option:options.slide;data||$this.data("carousel",data=new Carousel(this,options)),"number"==typeof option?data.to(option):action?data[action]():options.interval&&data.cycle()})},$.fn.carousel.defaults={interval:5e3,pause:"hover"},$.fn.carousel.Constructor=Carousel,$.fn.carousel.noConflict=function(){return $.fn.carousel=old,this},$(document).on("click.carousel.data-api","[data-slide]",function(e){var href,$this=$(this),$target=$($this.attr("data-target")||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"")),options=$.extend({},$target.data(),$this.data());$target.carousel(options),e.preventDefault()})}(window.jQuery),!function($){"use strict";var Collapse=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.collapse.defaults,options),this.options.parent&&(this.$parent=$(this.options.parent)),this.options.toggle&&this.toggle()};Collapse.prototype={constructor:Collapse,dimension:function(){var hasWidth=this.$element.hasClass("width");return hasWidth?"width":"height"},show:function(){var dimension,scroll,actives,hasData;if(!this.transitioning){if(dimension=this.dimension(),scroll=$.camelCase(["scroll",dimension].join("-")),actives=this.$parent&&this.$parent.find("> .accordion-group > .in"),actives&&actives.length){if(hasData=actives.data("collapse"),hasData&&hasData.transitioning)return;actives.collapse("hide"),hasData||actives.data("collapse",null)}this.$element[dimension](0),this.transition("addClass",$.Event("show"),"shown"),$.support.transition&&this.$element[dimension](this.$element[0][scroll])}},hide:function(){var dimension;this.transitioning||(dimension=this.dimension(),this.reset(this.$element[dimension]()),this.transition("removeClass",$.Event("hide"),"hidden"),this.$element[dimension](0))},reset:function(size){var dimension=this.dimension();return this.$element.removeClass("collapse")[dimension](size||"auto")[0].offsetWidth,this.$element[null!==size?"addClass":"removeClass"]("collapse"),this},transition:function(method,startEvent,completeEvent){var that=this,complete=function(){"show"==startEvent.type&&that.reset(),that.transitioning=0,that.$element.trigger(completeEvent)};this.$element.trigger(startEvent),startEvent.isDefaultPrevented()||(this.transitioning=1,this.$element[method]("in"),$.support.transition&&this.$element.hasClass("collapse")?this.$element.one($.support.transition.end,complete):complete())},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var old=$.fn.collapse;$.fn.collapse=function(option){return this.each(function(){var $this=$(this),data=$this.data("collapse"),options="object"==typeof option&&option;data||$this.data("collapse",data=new Collapse(this,options)),"string"==typeof option&&data[option]()})},$.fn.collapse.defaults={toggle:!0},$.fn.collapse.Constructor=Collapse,$.fn.collapse.noConflict=function(){return $.fn.collapse=old,this},$(document).on("click.collapse.data-api","[data-toggle=collapse]",function(e){var href,$this=$(this),target=$this.attr("data-target")||e.preventDefault()||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""),option=$(target).data("collapse")?"toggle":$this.data();$this[$(target).hasClass("in")?"addClass":"removeClass"]("collapsed"),$(target).collapse(option)})}(window.jQuery),!function($){"use strict";function clearMenus(){$(toggle).each(function(){getParent($(this)).removeClass("open")})}function getParent($this){var $parent,selector=$this.attr("data-target");return selector||(selector=$this.attr("href"),selector=selector&&/#/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,"")),$parent=$(selector),$parent.length||($parent=$this.parent()),$parent}var toggle="[data-toggle=dropdown]",Dropdown=function(element){var $el=$(element).on("click.dropdown.data-api",this.toggle);$("html").on("click.dropdown.data-api",function(){$el.parent().removeClass("open")})};Dropdown.prototype={constructor:Dropdown,toggle:function(){var $parent,isActive,$this=$(this);if(!$this.is(".disabled, :disabled"))return $parent=getParent($this),isActive=$parent.hasClass("open"),clearMenus(),isActive||$parent.toggleClass("open"),$this.focus(),!1},keydown:function(e){var $this,$items,$parent,isActive,index;if(/(38|40|27)/.test(e.keyCode)&&($this=$(this),e.preventDefault(),e.stopPropagation(),!$this.is(".disabled, :disabled"))){if($parent=getParent($this),isActive=$parent.hasClass("open"),!isActive||isActive&&27==e.keyCode)return $this.click();$items=$("[role=menu] li:not(.divider):visible a",$parent),$items.length&&(index=$items.index($items.filter(":focus")),38==e.keyCode&&index>0&&index--,40==e.keyCode&&$items.length-1>index&&index++,~index||(index=0),$items.eq(index).focus())}}};var old=$.fn.dropdown;$.fn.dropdown=function(option){return this.each(function(){var $this=$(this),data=$this.data("dropdown");data||$this.data("dropdown",data=new Dropdown(this)),"string"==typeof option&&data[option].call($this)})},$.fn.dropdown.Constructor=Dropdown,$.fn.dropdown.noConflict=function(){return $.fn.dropdown=old,this},$(document).on("click.dropdown.data-api touchstart.dropdown.data-api",clearMenus).on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("touchstart.dropdown.data-api",".dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",toggle,Dropdown.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",toggle+", [role=menu]",Dropdown.prototype.keydown)}(window.jQuery),!function($){"use strict";var Modal=function(element,options){this.options=options,this.$element=$(element).delegate('[data-dismiss="modal"]',"click.dismiss.modal",$.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};Modal.prototype={constructor:Modal,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var that=this,e=$.Event("show");this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass("fade");that.$element.parent().length||that.$element.appendTo(document.body),that.$element.show(),transition&&that.$element[0].offsetWidth,that.$element.addClass("in").attr("aria-hidden",!1),that.enforceFocus(),transition?that.$element.one($.support.transition.end,function(){that.$element.focus().trigger("shown")}):that.$element.focus().trigger("shown")}))},hide:function(e){e&&e.preventDefault(),e=$.Event("hide"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),$(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),$.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())},enforceFocus:function(){var that=this;$(document).on("focusin.modal",function(e){that.$element[0]===e.target||that.$element.has(e.target).length||that.$element.focus()})},escape:function(){var that=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(e){27==e.which&&that.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var that=this,timeout=setTimeout(function(){that.$element.off($.support.transition.end),that.hideModal()},500);this.$element.one($.support.transition.end,function(){clearTimeout(timeout),that.hideModal()})},hideModal:function(){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(callback){var animate=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate;this.$backdrop=$('
').appendTo(document.body),this.$backdrop.click("static"==this.options.backdrop?$.proxy(this.$element[0].focus,this.$element[0]):$.proxy(this.hide,this)),doAnimate&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),doAnimate?this.$backdrop.one($.support.transition.end,callback):callback()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),$.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one($.support.transition.end,$.proxy(this.removeBackdrop,this)):this.removeBackdrop()):callback&&callback()}};var old=$.fn.modal;$.fn.modal=function(option){return this.each(function(){var $this=$(this),data=$this.data("modal"),options=$.extend({},$.fn.modal.defaults,$this.data(),"object"==typeof option&&option);data||$this.data("modal",data=new Modal(this,options)),"string"==typeof option?data[option]():options.show&&data.show()})},$.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},$.fn.modal.Constructor=Modal,$.fn.modal.noConflict=function(){return $.fn.modal=old,this},$(document).on("click.modal.data-api",'[data-toggle="modal"]',function(e){var $this=$(this),href=$this.attr("href"),$target=$($this.attr("data-target")||href&&href.replace(/.*(?=#[^\s]+$)/,"")),option=$target.data("modal")?"toggle":$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());e.preventDefault(),$target.modal(option).one("hide",function(){$this.focus()})})}(window.jQuery),!function($){"use strict";var Tooltip=function(element,options){this.init("tooltip",element,options)};Tooltip.prototype={constructor:Tooltip,init:function(type,element,options){var eventIn,eventOut;this.type=type,this.$element=$(element),this.options=this.getOptions(options),this.enabled=!0,"click"==this.options.trigger?this.$element.on("click."+this.type,this.options.selector,$.proxy(this.toggle,this)):"manual"!=this.options.trigger&&(eventIn="hover"==this.options.trigger?"mouseenter":"focus",eventOut="hover"==this.options.trigger?"mouseleave":"blur",this.$element.on(eventIn+"."+this.type,this.options.selector,$.proxy(this.enter,this)),this.$element.on(eventOut+"."+this.type,this.options.selector,$.proxy(this.leave,this))),this.options.selector?this._options=$.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(options){return options=$.extend({},$.fn[this.type].defaults,options,this.$element.data()),options.delay&&"number"==typeof options.delay&&(options.delay={show:options.delay,hide:options.delay}),options},enter:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);return self.options.delay&&self.options.delay.show?(clearTimeout(this.timeout),self.hoverState="in",this.timeout=setTimeout(function(){"in"==self.hoverState&&self.show()},self.options.delay.show),void 0):self.show()},leave:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);return this.timeout&&clearTimeout(this.timeout),self.options.delay&&self.options.delay.hide?(self.hoverState="out",this.timeout=setTimeout(function(){"out"==self.hoverState&&self.hide()},self.options.delay.hide),void 0):self.hide()},show:function(){var $tip,inside,pos,actualWidth,actualHeight,placement,tp;if(this.hasContent()&&this.enabled){switch($tip=this.tip(),this.setContent(),this.options.animation&&$tip.addClass("fade"),placement="function"==typeof this.options.placement?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement,inside=/in/.test(placement),$tip.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),pos=this.getPosition(inside),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight,inside?placement.split(" ")[1]:placement){case"bottom":tp={top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2};break;case"top":tp={top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2};break;case"left":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth};break;case"right":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}}$tip.offset(tp).addClass(placement).addClass("in")}},setContent:function(){var $tip=this.tip(),title=this.getTitle();$tip.find(".tooltip-inner")[this.options.html?"html":"text"](title),$tip.removeClass("fade in top bottom left right")},hide:function(){function removeWithAnimation(){var timeout=setTimeout(function(){$tip.off($.support.transition.end).detach()},500);$tip.one($.support.transition.end,function(){clearTimeout(timeout),$tip.detach()})}var $tip=this.tip();return $tip.removeClass("in"),$.support.transition&&this.$tip.hasClass("fade")?removeWithAnimation():$tip.detach(),this},fixTitle:function(){var $e=this.$element;($e.attr("title")||"string"!=typeof $e.attr("data-original-title"))&&$e.attr("data-original-title",$e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(inside){return $.extend({},inside?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var title,$e=this.$element,o=this.options;return title=$e.attr("data-original-title")||("function"==typeof o.title?o.title.call($e[0]):o.title)},tip:function(){return this.$tip=this.$tip||$(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);self[self.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var old=$.fn.tooltip;$.fn.tooltip=function(option){return this.each(function(){var $this=$(this),data=$this.data("tooltip"),options="object"==typeof option&&option;data||$this.data("tooltip",data=new Tooltip(this,options)),"string"==typeof option&&data[option]()})},$.fn.tooltip.Constructor=Tooltip,$.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover",title:"",delay:0,html:!1},$.fn.tooltip.noConflict=function(){return $.fn.tooltip=old,this}}(window.jQuery),!function($){"use strict";var Popover=function(element,options){this.init("popover",element,options)};Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype,{constructor:Popover,setContent:function(){var $tip=this.tip(),title=this.getTitle(),content=this.getContent();$tip.find(".popover-title")[this.options.html?"html":"text"](title),$tip.find(".popover-content")[this.options.html?"html":"text"](content),$tip.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var content,$e=this.$element,o=this.options;return content=$e.attr("data-content")||("function"==typeof o.content?o.content.call($e[0]):o.content)},tip:function(){return this.$tip||(this.$tip=$(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var old=$.fn.popover;$.fn.popover=function(option){return this.each(function(){var $this=$(this),data=$this.data("popover"),options="object"==typeof option&&option;data||$this.data("popover",data=new Popover(this,options)),"string"==typeof option&&data[option]()})},$.fn.popover.Constructor=Popover,$.fn.popover.defaults=$.extend({},$.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''}),$.fn.popover.noConflict=function(){return $.fn.popover=old,this}}(window.jQuery),!function($){"use strict";function ScrollSpy(element,options){var href,process=$.proxy(this.process,this),$element=$(element).is("body")?$(window):$(element);this.options=$.extend({},$.fn.scrollspy.defaults,options),this.$scrollElement=$element.on("scroll.scroll-spy.data-api",process),this.selector=(this.options.target||(href=$(element).attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=$("body"),this.refresh(),this.process()}ScrollSpy.prototype={constructor:ScrollSpy,refresh:function(){var $targets,self=this;this.offsets=$([]),this.targets=$([]),$targets=this.$body.find(this.selector).map(function(){var $el=$(this),href=$el.data("target")||$el.attr("href"),$href=/^#\w/.test(href)&&$(href);return $href&&$href.length&&[[$href.position().top+self.$scrollElement.scrollTop(),href]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){self.offsets.push(this[0]),self.targets.push(this[1])})},process:function(){var i,scrollTop=this.$scrollElement.scrollTop()+this.options.offset,scrollHeight=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,maxScroll=scrollHeight-this.$scrollElement.height(),offsets=this.offsets,targets=this.targets,activeTarget=this.activeTarget;if(scrollTop>=maxScroll)return activeTarget!=(i=targets.last()[0])&&this.activate(i);for(i=offsets.length;i--;)activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(!offsets[i+1]||offsets[i+1]>=scrollTop)&&this.activate(targets[i])},activate:function(target){var active,selector;this.activeTarget=target,$(this.selector).parent(".active").removeClass("active"),selector=this.selector+'[data-target="'+target+'"],'+this.selector+'[href="'+target+'"]',active=$(selector).parent("li").addClass("active"),active.parent(".dropdown-menu").length&&(active=active.closest("li.dropdown").addClass("active")),active.trigger("activate")}};var old=$.fn.scrollspy;$.fn.scrollspy=function(option){return this.each(function(){var $this=$(this),data=$this.data("scrollspy"),options="object"==typeof option&&option;data||$this.data("scrollspy",data=new ScrollSpy(this,options)),"string"==typeof option&&data[option]()})},$.fn.scrollspy.Constructor=ScrollSpy,$.fn.scrollspy.defaults={offset:10},$.fn.scrollspy.noConflict=function(){return $.fn.scrollspy=old,this},$(window).on("load",function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this);$spy.scrollspy($spy.data())})})}(window.jQuery),!function($){"use strict";var Tab=function(element){this.element=$(element)};Tab.prototype={constructor:Tab,show:function(){var previous,$target,e,$this=this.element,$ul=$this.closest("ul:not(.dropdown-menu)"),selector=$this.attr("data-target");selector||(selector=$this.attr("href"),selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")),$this.parent("li").hasClass("active")||(previous=$ul.find(".active:last a")[0],e=$.Event("show",{relatedTarget:previous}),$this.trigger(e),e.isDefaultPrevented()||($target=$(selector),this.activate($this.parent("li"),$ul),this.activate($target,$target.parent(),function(){$this.trigger({type:"shown",relatedTarget:previous})})))},activate:function(element,container,callback){function next(){$active.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),element.addClass("active"),transition?(element[0].offsetWidth,element.addClass("in")):element.removeClass("fade"),element.parent(".dropdown-menu")&&element.closest("li.dropdown").addClass("active"),callback&&callback()}var $active=container.find("> .active"),transition=callback&&$.support.transition&&$active.hasClass("fade");transition?$active.one($.support.transition.end,next):next(),$active.removeClass("in")}};var old=$.fn.tab;$.fn.tab=function(option){return this.each(function(){var $this=$(this),data=$this.data("tab");data||$this.data("tab",data=new Tab(this)),"string"==typeof option&&data[option]()})},$.fn.tab.Constructor=Tab,$.fn.tab.noConflict=function(){return $.fn.tab=old,this},$(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(e){e.preventDefault(),$(this).tab("show")})}(window.jQuery),!function($){"use strict";var Typeahead=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.typeahead.defaults,options),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=$(this.options.menu),this.shown=!1,this.listen()};Typeahead.prototype={constructor:Typeahead,select:function(){var val=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(val)).change(),this.hide()},updater:function(item){return item},show:function(){var pos=$.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:pos.top+pos.height,left:pos.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(){var items;return this.query=this.$element.val(),!this.query||this.query.length"+match+""})},render:function(items){var that=this;return items=$(items).map(function(i,item){return i=$(that.options.item).attr("data-value",item),i.find("a").html(that.highlighter(item)),i[0]}),items.first().addClass("active"),this.$menu.html(items),this},next:function(){var active=this.$menu.find(".active").removeClass("active"),next=active.next();next.length||(next=$(this.$menu.find("li")[0])),next.addClass("active")},prev:function(){var active=this.$menu.find(".active").removeClass("active"),prev=active.prev();prev.length||(prev=this.$menu.find("li").last()),prev.addClass("active")},listen:function(){this.$element.on("blur",$.proxy(this.blur,this)).on("keypress",$.proxy(this.keypress,this)).on("keyup",$.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",$.proxy(this.keydown,this)),this.$menu.on("click",$.proxy(this.click,this)).on("mouseenter","li",$.proxy(this.mouseenter,this))},eventSupported:function(eventName){var isSupported=eventName in this.$element;return isSupported||(this.$element.setAttribute(eventName,"return;"),isSupported="function"==typeof this.$element[eventName]),isSupported},move:function(e){if(this.shown){switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()}},keydown:function(e){this.suppressKeyPressRepeat=~$.inArray(e.keyCode,[40,38,9,13,27]),this.move(e)},keypress:function(e){this.suppressKeyPressRepeat||this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(){var that=this;setTimeout(function(){that.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(e){this.$menu.find(".active").removeClass("active"),$(e.currentTarget).addClass("active")}};var old=$.fn.typeahead;$.fn.typeahead=function(option){return this.each(function(){var $this=$(this),data=$this.data("typeahead"),options="object"==typeof option&&option;data||$this.data("typeahead",data=new Typeahead(this,options)),"string"==typeof option&&data[option]()})},$.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1},$.fn.typeahead.Constructor=Typeahead,$.fn.typeahead.noConflict=function(){return $.fn.typeahead=old,this},$(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(e){var $this=$(this);$this.data("typeahead")||(e.preventDefault(),$this.typeahead($this.data()))})}(window.jQuery),!function($){"use strict";var Affix=function(element,options){this.options=$.extend({},$.fn.affix.defaults,options),this.$window=$(window).on("scroll.affix.data-api",$.proxy(this.checkPosition,this)).on("click.affix.data-api",$.proxy(function(){setTimeout($.proxy(this.checkPosition,this),1)},this)),this.$element=$(element),this.checkPosition()};Affix.prototype.checkPosition=function(){if(this.$element.is(":visible")){var affix,scrollHeight=$(document).height(),scrollTop=this.$window.scrollTop(),position=this.$element.offset(),offset=this.options.offset,offsetBottom=offset.bottom,offsetTop=offset.top,reset="affix affix-top affix-bottom";"object"!=typeof offset&&(offsetBottom=offsetTop=offset),"function"==typeof offsetTop&&(offsetTop=offset.top()),"function"==typeof offsetBottom&&(offsetBottom=offset.bottom()),affix=null!=this.unpin&&scrollTop+this.unpin<=position.top?!1:null!=offsetBottom&&position.top+this.$element.height()>=scrollHeight-offsetBottom?"bottom":null!=offsetTop&&offsetTop>=scrollTop?"top":!1,this.affixed!==affix&&(this.affixed=affix,this.unpin="bottom"==affix?position.top-scrollTop:null,this.$element.removeClass(reset).addClass("affix"+(affix?"-"+affix:"")))}};var old=$.fn.affix;$.fn.affix=function(option){return this.each(function(){var $this=$(this),data=$this.data("affix"),options="object"==typeof option&&option;data||$this.data("affix",data=new Affix(this,options)),"string"==typeof option&&data[option]()})},$.fn.affix.Constructor=Affix,$.fn.affix.defaults={offset:0},$.fn.affix.noConflict=function(){return $.fn.affix=old,this},$(window).on("load",function(){$('[data-spy="affix"]').each(function(){var $spy=$(this),data=$spy.data();data.offset=data.offset||{},data.offsetBottom&&(data.offset.bottom=data.offsetBottom),data.offsetTop&&(data.offset.top=data.offsetTop),$spy.affix(data)})})}(window.jQuery);
--------------------------------------------------------------------------------
/static/css/custom-theme/jquery-ui-1.10.0.custom.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery UI Bootstrap (0.5)
3 | * http://addyosmani.github.com/jquery-ui-bootstrap
4 | *
5 | * Copyright 2012 - 2013, Addy Osmani
6 | * Dual licensed under the MIT or GPL Version 2 licenses.
7 | *
8 | * Portions copyright jQuery UI & Twitter Bootstrap
9 | */
10 |
11 |
12 | /* Layout helpers
13 | ----------------------------------*/
14 | .ui-helper-hidden { display: none; }
15 | .ui-helper-hidden-accessible {
16 | border: 0; clip: rect(0 0 0 0);
17 | height: 1px;
18 | margin: -1px;
19 | overflow: hidden;
20 | padding: 0;
21 | position: absolute;
22 | width: 1px;
23 | }
24 | .ui-helper-reset {
25 | margin: 0;
26 | padding: 0;
27 | border: 0;
28 | outline: 0;
29 | line-height: 1.3;
30 | text-decoration: none;
31 | font-size: 100%;
32 | list-style: none;
33 | }
34 | .ui-helper-clearfix:before,
35 | .ui-helper-clearfix:after {
36 | content: "";
37 | display: table;
38 | }
39 | .ui-helper-clearfix:after {
40 | content: ".";
41 | display: block;
42 | height: 0;
43 | clear: both;
44 | visibility: hidden;
45 | }
46 | .ui-helper-clearfix {
47 | /*display: inline-block; */
48 | display:block;
49 | min-height: 0; /* support: IE7 */
50 | }
51 | /* required comment for clearfix to work in Opera \*/
52 | * html .ui-helper-clearfix {
53 | height:1%;
54 | }
55 |
56 | /* end clearfix */
57 | .ui-helper-zfix {
58 | width: 100%;
59 | height: 100%;
60 | top: 0;
61 | left: 0;
62 | position: absolute;
63 | opacity: 0;
64 | filter:Alpha(Opacity=0);
65 | }
66 | .ui-front {
67 | z-index: 100;
68 | }
69 |
70 |
71 | /* Interaction Cues
72 | ----------------------------------*/
73 | .ui-state-disabled { cursor: default !important; }
74 |
75 |
76 | /* Icons
77 | ----------------------------------*/
78 |
79 | /* states and images */
80 | .ui-icon {
81 | display: block;
82 | text-indent: -99999px;
83 | overflow: hidden;
84 | background-repeat: no-repeat;
85 | }
86 |
87 |
88 | /* Misc visuals
89 | ----------------------------------*/
90 |
91 | /* Overlays */
92 | .ui-widget-overlay {
93 | position: absolute;
94 | top: 0;
95 | left: 0;
96 | width: 100%;
97 | height: 100%;
98 | }
99 |
100 | /*
101 | * jQuery UI Resizable 1.10.0
102 | *
103 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
104 | * Dual licensed under the MIT or GPL Version 2 licenses.
105 | * http://jquery.org/license
106 | *
107 | * http://api.jqueryui.com/resizable/
108 | */
109 |
110 | .ui-resizable {
111 | position: relative;
112 | }
113 | .ui-resizable-handle {
114 | position: absolute;
115 | font-size: 0.1px;
116 | z-index: 99999;
117 | display: block;
118 | }
119 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle {
120 | display: none;
121 | }
122 | .ui-resizable-n {
123 | cursor: n-resize;
124 | height: 7px;
125 | width: 100%;
126 | top: -5px;
127 | left: 0;
128 | }
129 | .ui-resizable-s {
130 | cursor: s-resize;
131 | height: 7px;
132 | width: 100%;
133 | bottom: -5px;
134 | left: 0;
135 | }
136 | .ui-resizable-e {
137 | cursor: e-resize;
138 | width: 7px;
139 | right: -5px;
140 | top: 0;
141 | height: 100%;
142 | }
143 | .ui-resizable-w {
144 | cursor: w-resize;
145 | width: 7px;
146 | left: -5px;
147 | top: 0;
148 | height: 100%;
149 | }
150 | .ui-resizable-se {
151 | cursor: se-resize;
152 | width: 12px;
153 | height: 12px;
154 | right: 1px;
155 | bottom: 1px;
156 | }
157 | .ui-resizable-sw {
158 | cursor: sw-resize;
159 | width: 9px;
160 | height: 9px;
161 | left: -5px;
162 | bottom: -5px;
163 | }
164 | .ui-resizable-nw {
165 | cursor: nw-resize;
166 | width: 9px;
167 | height: 9px;
168 | left: -5px;
169 | top: -5px;
170 | }
171 | .ui-resizable-ne {
172 | cursor: ne-resize;
173 | width: 9px;
174 | height: 9px;
175 | right: -5px;
176 | top: -5px;
177 | }
178 |
179 | /*
180 | * jQuery UI Selectable 1.10.0
181 | *
182 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
183 | * Dual licensed under the MIT or GPL Version 2 licenses.
184 | * http://jquery.org/license
185 | *
186 | * http://jqueryui.com/selectable/
187 | */
188 | .ui-selectable-helper {
189 | position: absolute;
190 | z-index: 100;
191 | border:1px dotted black;
192 | }
193 |
194 | /*
195 | * jQuery UI CSS Framework 1.10.0
196 | *
197 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
198 | * Dual licensed under the MIT or GPL Version 2 licenses.
199 | * http://jquery.org/license
200 | *
201 | *
202 | *
203 | * To view and modify this theme, visit http://jqueryui.com/themeroller/
204 | */
205 |
206 | /* Component containers
207 | ----------------------------------*/
208 | .ui-widget { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size:13px; }
209 | .ui-widget .ui-widget { font-size: 1em; }
210 | .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1em; }
211 | .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_75_ffffff_1x400.png) 50% 50% repeat-x; color: #404040; }
212 | .ui-widget-content a { color: #404040; }
213 | .ui-widget-header {
214 | font-weight:bold;
215 | border-color: #0064cd #0064cd #003f81;
216 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
217 | border:1px solid #666;
218 |
219 | }
220 | .ui-widget-header a { color: #222222; }
221 |
222 | /* Interaction states
223 | ----------------------------------*/
224 | .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
225 |
226 | background-color: #e6e6e6;
227 | background-repeat: no-repeat;
228 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
229 | background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
230 | background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
231 | background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
232 | background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
233 | background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
234 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
235 |
236 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
237 |
238 | color: #333;
239 | font-size: 13px;
240 | line-height: normal;
241 | border: 1px solid #ccc;
242 | border-bottom-color: #bbb;
243 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
244 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
245 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
246 | -webkit-transition: 0.1s linear background-image;
247 | -moz-transition: 0.1s linear background-image;
248 | -ms-transition: 0.1s linear background-image;
249 | -o-transition: 0.1s linear background-image;
250 | transition: 0.1s linear background-image;
251 | overflow: visible;
252 |
253 | }
254 |
255 |
256 | .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
257 | .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
258 | background-position: 0 -15px;
259 | color: #333;
260 | text-decoration: none;
261 | }
262 |
263 | .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #212121; text-decoration: none; }
264 | .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; font-weight: normal; color: #212121; }
265 | .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
266 | .ui-widget :active { outline: none; }
267 |
268 | /* Interaction Cues
269 | ----------------------------------*/
270 |
271 |
272 | .ui-state-highlight p, .ui-state-error p, .ui-state-default p{
273 | font-size: 13px;
274 | font-weight: normal;
275 | line-height: 18px;
276 | margin:7px 15px;
277 | }
278 | .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
279 |
280 |
281 | position: relative;
282 | margin-bottom: 18px;
283 | color: #404040;
284 | background-color: #eedc94;
285 | background-repeat: repeat-x;
286 | background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
287 | background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
288 | background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
289 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
290 | background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
291 | background-image: -o-linear-gradient(top, #fceec1, #eedc94);
292 | background-image: linear-gradient(top, #fceec1, #eedc94);
293 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
294 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
295 | border-color: #eedc94 #eedc94 #e4c652;
296 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
297 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
298 | border-width: 1px;
299 | border-style: solid;
300 | -webkit-border-radius: 4px;
301 | -moz-border-radius: 4px;
302 | border-radius: 4px;
303 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
304 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
305 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
306 |
307 |
308 | }
309 | .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
310 | .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
311 |
312 |
313 | position: relative;
314 | margin-bottom: 18px;
315 | color: #ffffff;
316 | border-width: 1px;
317 | border-style: solid;
318 | -webkit-border-radius: 4px;
319 | -moz-border-radius: 4px;
320 | border-radius: 4px;
321 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
322 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
323 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
324 | background-color: #c43c35;
325 | background-repeat: repeat-x;
326 | background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
327 | background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
328 | background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
329 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
330 | background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
331 | background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
332 | background-image: linear-gradient(top, #ee5f5b, #c43c35);
333 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
334 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
335 | border-color: #c43c35 #c43c35 #882a25;
336 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
337 |
338 |
339 | }
340 | .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
341 | .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
342 | .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
343 | .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
344 | .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
345 | .ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); } /* For IE8 - See #6059 */
346 |
347 |
348 | /* Icons
349 | ----------------------------------*/
350 |
351 | /* states and images */
352 | .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
353 | .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
354 | .ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
355 | .ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
356 | .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
357 | .ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
358 | .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
359 | .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_f6cf3b_256x240.png); }
360 |
361 | /* positioning */
362 | .ui-icon-carat-1-n { background-position: 0 0; }
363 | .ui-icon-carat-1-ne { background-position: -16px 0; }
364 | .ui-icon-carat-1-e { background-position: -32px 0; }
365 | .ui-icon-carat-1-se { background-position: -48px 0; }
366 | .ui-icon-carat-1-s { background-position: -64px 0; }
367 | .ui-icon-carat-1-sw { background-position: -80px 0; }
368 | .ui-icon-carat-1-w { background-position: -96px 0; }
369 | .ui-icon-carat-1-nw { background-position: -112px 0; }
370 | .ui-icon-carat-2-n-s { background-position: -128px 0; }
371 | .ui-icon-carat-2-e-w { background-position: -144px 0; }
372 | .ui-icon-triangle-1-n { background-position: 0 -16px; }
373 | .ui-icon-triangle-1-ne { background-position: -16px -16px; }
374 | .ui-icon-triangle-1-e { background-position: -32px -16px; }
375 | .ui-icon-triangle-1-se { background-position: -48px -16px; }
376 | .ui-icon-triangle-1-s { background-position: -64px -16px; }
377 | .ui-icon-triangle-1-sw { background-position: -80px -16px; }
378 | .ui-icon-triangle-1-w { background-position: -96px -16px; }
379 | .ui-icon-triangle-1-nw { background-position: -112px -16px; }
380 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
381 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
382 | .ui-icon-arrow-1-n { background-position: 0 -32px; }
383 | .ui-icon-arrow-1-ne { background-position: -16px -32px; }
384 | .ui-icon-arrow-1-e { background-position: -32px -32px; }
385 | .ui-icon-arrow-1-se { background-position: -48px -32px; }
386 | .ui-icon-arrow-1-s { background-position: -64px -32px; }
387 | .ui-icon-arrow-1-sw { background-position: -80px -32px; }
388 | .ui-icon-arrow-1-w { background-position: -96px -32px; }
389 | .ui-icon-arrow-1-nw { background-position: -112px -32px; }
390 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
391 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
392 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
393 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
394 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
395 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
396 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
397 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
398 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
399 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
400 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
401 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
402 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
403 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
404 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
405 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
406 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
407 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
408 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
409 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
410 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
411 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
412 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
413 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
414 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
415 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
416 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
417 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
418 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
419 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
420 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
421 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
422 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
423 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
424 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
425 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
426 | .ui-icon-arrow-4 { background-position: 0 -80px; }
427 | .ui-icon-arrow-4-diag { background-position: -16px -80px; }
428 | .ui-icon-extlink { background-position: -32px -80px; }
429 | .ui-icon-newwin { background-position: -48px -80px; }
430 | .ui-icon-refresh { background-position: -64px -80px; }
431 | .ui-icon-shuffle { background-position: -80px -80px; }
432 | .ui-icon-transfer-e-w { background-position: -96px -80px; }
433 | .ui-icon-transferthick-e-w { background-position: -112px -80px; }
434 | .ui-icon-folder-collapsed { background-position: 0 -96px; }
435 | .ui-icon-folder-open { background-position: -16px -96px; }
436 | .ui-icon-document { background-position: -32px -96px; }
437 | .ui-icon-document-b { background-position: -48px -96px; }
438 | .ui-icon-note { background-position: -64px -96px; }
439 | .ui-icon-mail-closed { background-position: -80px -96px; }
440 | .ui-icon-mail-open { background-position: -96px -96px; }
441 | .ui-icon-suitcase { background-position: -112px -96px; }
442 | .ui-icon-comment { background-position: -128px -96px; }
443 | .ui-icon-person { background-position: -144px -96px; }
444 | .ui-icon-print { background-position: -160px -96px; }
445 | .ui-icon-trash { background-position: -176px -96px; }
446 | .ui-icon-locked { background-position: -192px -96px; }
447 | .ui-icon-unlocked { background-position: -208px -96px; }
448 | .ui-icon-bookmark { background-position: -224px -96px; }
449 | .ui-icon-tag { background-position: -240px -96px; }
450 | .ui-icon-home { background-position: 0 -112px; }
451 | .ui-icon-flag { background-position: -16px -112px; }
452 | .ui-icon-calendar { background-position: -32px -112px; }
453 | .ui-icon-cart { background-position: -48px -112px; }
454 | .ui-icon-pencil { background-position: -64px -112px; }
455 | .ui-icon-clock { background-position: -80px -112px; }
456 | .ui-icon-disk { background-position: -96px -112px; }
457 | .ui-icon-calculator { background-position: -112px -112px; }
458 | .ui-icon-zoomin { background-position: -128px -112px; }
459 | .ui-icon-zoomout { background-position: -144px -112px; }
460 | .ui-icon-search { background-position: -160px -112px; }
461 | .ui-icon-wrench { background-position: -176px -112px; }
462 | .ui-icon-gear { background-position: -192px -112px; }
463 | .ui-icon-heart { background-position: -208px -112px; }
464 | .ui-icon-star { background-position: -224px -112px; }
465 | .ui-icon-link { background-position: -240px -112px; }
466 | .ui-icon-cancel { background-position: 0 -128px; }
467 | .ui-icon-plus { background-position: -16px -128px; }
468 | .ui-icon-plusthick { background-position: -32px -128px; }
469 | .ui-icon-minus { background-position: -48px -128px; }
470 | .ui-icon-minusthick { background-position: -64px -128px; }
471 | .ui-icon-close { background-position: -80px -128px; }
472 | .ui-icon-closethick { background-position: -96px -128px; }
473 | .ui-icon-key { background-position: -112px -128px; }
474 | .ui-icon-lightbulb { background-position: -128px -128px; }
475 | .ui-icon-scissors { background-position: -144px -128px; }
476 | .ui-icon-clipboard { background-position: -160px -128px; }
477 | .ui-icon-copy { background-position: -176px -128px; }
478 | .ui-icon-contact { background-position: -192px -128px; }
479 | .ui-icon-image { background-position: -208px -128px; }
480 | .ui-icon-video { background-position: -224px -128px; }
481 | .ui-icon-script { background-position: -240px -128px; }
482 | .ui-icon-alert { background-position: 0 -144px; }
483 | .ui-icon-info { background-position: -16px -144px; }
484 | .ui-icon-notice { background-position: -32px -144px; }
485 | .ui-icon-help { background-position: -48px -144px; }
486 | .ui-icon-check { background-position: -64px -144px; }
487 | .ui-icon-bullet { background-position: -80px -144px; }
488 | .ui-icon-radio-off { background-position: -96px -144px; }
489 | .ui-icon-radio-on { background-position: -112px -144px; }
490 | .ui-icon-pin-w { background-position: -128px -144px; }
491 | .ui-icon-pin-s { background-position: -144px -144px; }
492 | .ui-icon-play { background-position: 0 -160px; }
493 | .ui-icon-pause { background-position: -16px -160px; }
494 | .ui-icon-seek-next { background-position: -32px -160px; }
495 | .ui-icon-seek-prev { background-position: -48px -160px; }
496 | .ui-icon-seek-end { background-position: -64px -160px; }
497 | .ui-icon-seek-start { background-position: -80px -160px; }
498 | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
499 | .ui-icon-seek-first { background-position: -80px -160px; }
500 | .ui-icon-stop { background-position: -96px -160px; }
501 | .ui-icon-eject { background-position: -112px -160px; }
502 | .ui-icon-volume-off { background-position: -128px -160px; }
503 | .ui-icon-volume-on { background-position: -144px -160px; }
504 | .ui-icon-power { background-position: 0 -176px; }
505 | .ui-icon-signal-diag { background-position: -16px -176px; }
506 | .ui-icon-signal { background-position: -32px -176px; }
507 | .ui-icon-battery-0 { background-position: -48px -176px; }
508 | .ui-icon-battery-1 { background-position: -64px -176px; }
509 | .ui-icon-battery-2 { background-position: -80px -176px; }
510 | .ui-icon-battery-3 { background-position: -96px -176px; }
511 | .ui-icon-circle-plus { background-position: 0 -192px; }
512 | .ui-icon-circle-minus { background-position: -16px -192px; }
513 | .ui-icon-circle-close { background-position: -32px -192px; }
514 | .ui-icon-circle-triangle-e { background-position: -48px -192px; }
515 | .ui-icon-circle-triangle-s { background-position: -64px -192px; }
516 | .ui-icon-circle-triangle-w { background-position: -80px -192px; }
517 | .ui-icon-circle-triangle-n { background-position: -96px -192px; }
518 | .ui-icon-circle-arrow-e { background-position: -112px -192px; }
519 | .ui-icon-circle-arrow-s { background-position: -128px -192px; }
520 | .ui-icon-circle-arrow-w { background-position: -144px -192px; }
521 | .ui-icon-circle-arrow-n { background-position: -160px -192px; }
522 | .ui-icon-circle-zoomin { background-position: -176px -192px; }
523 | .ui-icon-circle-zoomout { background-position: -192px -192px; }
524 | .ui-icon-circle-check { background-position: -208px -192px; }
525 | .ui-icon-circlesmall-plus { background-position: 0 -208px; }
526 | .ui-icon-circlesmall-minus { background-position: -16px -208px; }
527 | .ui-icon-circlesmall-close { background-position: -32px -208px; }
528 | .ui-icon-squaresmall-plus { background-position: -48px -208px; }
529 | .ui-icon-squaresmall-minus { background-position: -64px -208px; }
530 | .ui-icon-squaresmall-close { background-position: -80px -208px; }
531 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
532 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
533 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
534 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
535 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
536 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
537 |
538 |
539 | /* Misc visuals
540 | ----------------------------------*/
541 |
542 | /* Corner radius */
543 | .ui-corner-all,
544 | .ui-corner-top,
545 | .ui-corner-left,
546 | .ui-corner-tl {
547 | -moz-border-radius-topleft: 4px;
548 | -webkit-border-top-left-radius: 4px;
549 | -khtml-border-top-left-radius: 4px;
550 | border-top-left-radius: 4px;
551 | }
552 | .ui-corner-all,
553 | .ui-corner-top,
554 | .ui-corner-right,
555 | .ui-corner-tr {
556 | -moz-border-radius-topright: 4px;
557 | -webkit-border-top-right-radius: 4px;
558 | -khtml-border-top-right-radius: 4px;
559 | border-top-right-radius: 4px;
560 | }
561 | .ui-corner-all,
562 | .ui-corner-bottom,
563 | .ui-corner-left,
564 | .ui-corner-bl {
565 | -moz-border-radius-bottomleft: 4px;
566 | -webkit-border-bottom-left-radius: 4px;
567 | -khtml-border-bottom-left-radius: 4px;
568 | border-bottom-left-radius: 4px;
569 | }
570 | .ui-corner-all,
571 | .ui-corner-bottom,
572 | .ui-corner-right,
573 | .ui-corner-br {
574 | -moz-border-radius-bottomright: 4px;
575 | -webkit-border-bottom-right-radius: 4px;
576 | -khtml-border-bottom-right-radius: 4px;
577 | border-bottom-right-radius: 4px;
578 | }
579 |
580 |
581 | /* Overlays */
582 |
583 | .ui-widget-overlay {
584 | background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
585 | opacity: .30;
586 | filter:Alpha(Opacity=30);
587 | }
588 |
589 | .ui-widget-shadow {
590 | margin: -8px 0 0 -8px;
591 | padding: 8px;
592 | background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
593 | opacity: .30;filter:Alpha(Opacity=30);
594 | -moz-border-radius: 8px;
595 | -khtml-border-radius: 8px;
596 | -webkit-border-radius: 8px;
597 | border-radius: 8px;
598 | }
599 |
600 | /*
601 | * jQuery UI Accordion 1.10.0
602 | *
603 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
604 | * Dual licensed under the MIT or GPL Version 2 licenses.
605 | * http://jquery.org/license
606 | *
607 | * http://jqueryui.com/accordion/
608 | */
609 |
610 | /* IE/Win - Fix animation bug - #4615 */
611 |
612 | .ui-accordion {
613 | width: 100%;
614 | }
615 | .ui-accordion .ui-accordion-header {
616 | cursor: pointer;
617 | position: relative;
618 | margin-top: 1px;
619 | zoom: 1;
620 | font-weight:bold;
621 | }
622 | .ui-accordion .ui-accordion-li-fix {
623 | display: inline;
624 | }
625 | .ui-accordion .ui-accordion-header-active {
626 | border-bottom: 0 !important;
627 | }
628 | .ui-accordion .ui-accordion-header a {
629 | display: block;
630 | font-size: 1em;
631 | padding: .5em .5em .5em 1.7em;
632 | }
633 | .ui-accordion-icons .ui-accordion-header a {
634 | padding-left: 2.2em;
635 | }
636 | .ui-accordion .ui-accordion-header .ui-icon {
637 | position: absolute;
638 | left: .5em;
639 | top: 50%;
640 | margin-top: -8px;
641 | }
642 | .ui-accordion .ui-accordion-content {
643 | padding: 1em 2.2em;
644 | border-top: 0;
645 | margin-top: -2px;
646 | position: relative;
647 | top: 1px;
648 | margin-bottom: 2px;
649 | overflow: auto;
650 | display: none;
651 | zoom: 1;
652 | }
653 | .ui-accordion .ui-accordion-content-active {
654 | display: block;
655 | }
656 |
657 | /*
658 | * jQuery UI Autocomplete 1.10.0
659 | *
660 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
661 | * Dual licensed under the MIT or GPL Version 2 licenses.
662 | * http://jquery.org/license
663 | *
664 | * http://jqueryui.com/autocomplete/
665 | */
666 |
667 | .ui-autocomplete {
668 | position: absolute;
669 | top: 0;
670 | left: 0;
671 | cursor: default;
672 | }
673 |
674 | /*
675 | * jQuery UI Button 1.10.0
676 | *
677 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
678 | * Dual licensed under the MIT or GPL Version 2 licenses.
679 | * http://jquery.org/license
680 | *
681 | * http://docs.jquery.com/UI/Button#theming
682 | */
683 |
684 | .ui-button {
685 |
686 | cursor: pointer;
687 | display: inline-block;
688 | background-color: #e6e6e6;
689 | background-repeat: no-repeat;
690 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
691 | background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
692 | background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
693 | background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
694 | background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
695 | background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
696 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
697 | padding: 5px 14px 6px;
698 | margin: 0;
699 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
700 | color: #333;
701 | font-size: 13px;
702 | line-height: normal;
703 | border: 1px solid #ccc;
704 | border-bottom-color: #bbb;
705 |
706 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
707 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
708 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
709 | -webkit-transition: 0.1s linear background-image;
710 | -moz-transition: 0.1s linear background-image;
711 | -ms-transition: 0.1s linear background-image;
712 | -o-transition: 0.1s linear background-image;
713 | transition: 0.1s linear background-image;
714 | overflow: visible;
715 | } /* the overflow property removes extra width in IE */
716 |
717 | .ui-button-primary {
718 | color: #ffffff;
719 | background-color: #0064cd;
720 | background-repeat: repeat-x;
721 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
722 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
723 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
724 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
725 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
726 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
727 | background-image: linear-gradient(top, #049cdb, #0064cd);
728 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
729 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
730 | border-color: #0064cd #0064cd #003f81;
731 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
732 | }
733 |
734 |
735 | .ui-button-success{
736 | color:#ffffff;
737 | background-color: #57a957;
738 | background-repeat: repeat-x;
739 | background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
740 | background-image: -moz-linear-gradient(top, #62c462, #57a957);
741 | background-image: -ms-linear-gradient(top, #62c462, #57a957);
742 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
743 | background-image: -webkit-linear-gradient(top, #62c462, #57a957);
744 | background-image: -o-linear-gradient(top, #62c462, #57a957);
745 | background-image: linear-gradient(top, #62c462, #57a957);
746 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
747 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
748 | border-color: #57a957 #57a957 #3d773d;
749 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
750 | }
751 |
752 | .ui-button-error{
753 | color:#ffffff;
754 | background-color: #c43c35;
755 | background-repeat: repeat-x;
756 | background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
757 | background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
758 | background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
759 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
760 | background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
761 | background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
762 | background-image: linear-gradient(top, #ee5f5b, #c43c35);
763 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
764 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
765 | border-color: #c43c35 #c43c35 #882a25;
766 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
767 | }
768 |
769 | .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
770 | button.ui-button-icon-only { } /* button elements seem to need a little more width */
771 | .ui-button-icons-only { width: 3.4em; }
772 | button.ui-button-icons-only { width: 3.7em; }
773 |
774 | /*button text element */
775 |
776 | .ui-button .ui-button-text { display: block; }
777 | .ui-button-text-only .ui-button-text { }
778 | .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; /*tempfix*/ display:none;}
779 | .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
780 | .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
781 | .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
782 | /* no icon support for input elements, provide padding by default */
783 | /* input.ui-button { padding: .4em 1em; } */
784 |
785 | /*button icon element(s) */
786 | .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { top: 50%; margin-top:-3px; margin-bottom:3px; }
787 | .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
788 | .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
789 | .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
790 | .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
791 |
792 | /*button sets*/
793 |
794 |
795 | .ui-buttonset { margin-right: 7px; }
796 | .ui-buttonset .ui-state-active {
797 | color: #ffffff;
798 | background-color: #0064cd;
799 | background-repeat: repeat-x;
800 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
801 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
802 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
803 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
804 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
805 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
806 | background-image: linear-gradient(top, #049cdb, #0064cd);
807 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
808 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
809 | border-color: #0064cd #0064cd #003f81;
810 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
811 | }
812 | .ui-buttonset .ui-button { margin-left: 0; margin-right: -.4em; }
813 |
814 | /* workarounds */
815 | button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
816 |
817 |
818 | /*
819 | * jQuery UI Menu 1.10.0
820 | *
821 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
822 | * Dual licensed under the MIT or GPL Version 2 licenses.
823 | * http://jquery.org/license
824 | *
825 | * http://docs.jquery.com/UI/Menu#theming
826 | */
827 |
828 | .ui-menu { list-style:none; padding: 2px; margin: 0; display:block; float:left; outline: none; }
829 | .ui-menu .ui-menu { margin-top: -3px; position: absolute; }
830 | .ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1;float: left;clear: left; width: 100%; }
831 | .ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }
832 | .ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }
833 | .ui-menu .ui-menu-item a.ui-state-focus,
834 | .ui-menu .ui-menu-item a.ui-state-active {
835 | font-weight: normal;
836 | margin: 0;
837 | color: #ffffff;
838 | background: #0064cd;
839 | background-color: #0064cd;
840 | background-repeat: repeat-x;
841 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
842 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
843 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
844 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
845 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
846 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
847 | background-image: linear-gradient(top, #049cdb, #0064cd);
848 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
849 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
850 | border-color: #0064cd #0064cd #003f81;
851 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
852 | }
853 | /* Fix problem with border in ui-state-active */
854 | .ui-menu .ui-menu-item a.ui-state-active {
855 | padding: 1px .4em;
856 | }
857 |
858 | .ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
859 | .ui-menu .ui-state-disabled a { cursor: default; }
860 |
861 | /* icon support */
862 | .ui-menu-icons { position: relative; }
863 | .ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
864 |
865 | /* left-aligned */
866 | .ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
867 |
868 | /* right-aligned */
869 | .ui-menu .ui-menu-icon { position: static; float: right; }
870 |
871 | .ui-menu { width: 200px; margin-bottom: 2em; }
872 |
873 |
874 | /*
875 | * jQuery UI spinner 1.10.0
876 | *
877 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
878 | * Dual licensed under the MIT or GPL Version 2 licenses.
879 | * http://jquery.org/license
880 | *
881 | * http://docs.jquery.com/UI/Menu#theming
882 | */
883 |
884 | .ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
885 | .ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
886 | .ui-spinner{}
887 | .ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
888 | .ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
889 | .ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
890 | .ui-spinner-up { top: 0; }
891 | .ui-spinner-down { bottom: 0; }
892 |
893 | /* TR overrides */
894 | .ui-spinner .ui-icon-triangle-1-s {
895 | /* need to fix icons sprite */
896 | background-position:-65px -16px;
897 | }
898 |
899 | /*
900 | * jQuery UI Dialog 1.10.0
901 | *
902 | * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about)
903 | * Dual licensed under the MIT or GPL Version 2 licenses.
904 | * http://jquery.org/license
905 | *
906 | * http://docs.jquery.com/UI/Dialog#theming
907 | */
908 | .ui-dialog {
909 | position: absolute;
910 | top: 0;
911 | left: 0;
912 | padding: .2em;
913 | width: 300px;
914 | overflow: hidden;
915 | outline: 0;
916 | background-clip: padding-box;
917 | background-color: #FFFFFF;
918 | border: 1px solid rgba(0, 0, 0, 0.3);
919 | border-radius: 6px 6px 6px 6px;
920 | box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
921 | /*left: 50%;
922 | margin-left: -280px;*/
923 | outline: medium none;
924 | position: fixed;
925 | /*top: 10%;
926 | width: 560px;*/
927 | z-index: 1050;
928 | }
929 | .ui-dialog .ui-dialog-titlebar { /*padding: .4em 1em;*/
930 | position: relative;
931 | padding:5px 15px;
932 | border:0px 0px 0px 1px solid;
933 | border-color: white;
934 | padding: 5px 15px;
935 | font-size: 18px;
936 | text-decoration:none;
937 | background:none;
938 | -moz-border-radius-bottomright: 0px;
939 | -webkit-border-bottom-right-radius: 0px;
940 | -khtml-border-bottom-right-radius: 0px;
941 |
942 | -moz-border-radius-bottomleft: 0px;
943 | -webkit-border-bottom-left-radius: 0px;
944 | -khtml-border-bottom-left-radius: 0px;
945 | border-bottom-left-radius: 0px;
946 | border-bottom:1px solid #ccc;
947 | }
948 | .ui-dialog .ui-dialog-title {
949 | float: left;
950 | color:#404040;
951 | font-weight:bold;
952 | margin-top:5px;
953 | margin-bottom:5px;
954 | padding:5px;
955 | text-overflow: ellipsis;
956 | overflow: hidden;
957 | }
958 | .ui-dialog .ui-dialog-titlebar-close {
959 | position: absolute;
960 | right: .3em;
961 | top: 50%;
962 | width: 19px;
963 | margin: -20px 0 0 0;
964 | padding: 1px;
965 | height: 18px;
966 | font-size: 20px;
967 | font-weight: bold;
968 | line-height: 13.5px;
969 | text-shadow: 0 1px 0 #ffffff;
970 | filter: alpha(opacity=25);
971 | -khtml-opacity: 0.25;
972 | -moz-opacity: 0.25;
973 | opacity: 0.25;
974 | background:none;
975 | border-width: 0;
976 | border:none;
977 | box-shadow: none;
978 | }
979 |
980 | .ui-dialog .ui-dialog-titlebar-close span {
981 | display: block;
982 | margin: 1px;
983 | text-indent: 9999px;
984 | }
985 |
986 | .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 1px; filter: alpha(opacity=90);
987 | -khtml-opacity: 0.90;
988 | -moz-opacity: 0.90;
989 | opacity: 0.90;
990 | }
991 |
992 | .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
993 |
994 | .ui-dialog .ui-dialog-buttonpane {
995 | text-align: left;
996 | border-width: 1px 0 0 0;
997 | background-image: none;
998 | margin: .5em 0 0 0;
999 | background-color: #f5f5f5;
1000 | padding: 5px 15px 5px;
1001 | border-top: 1px solid #ddd;
1002 | -webkit-border-radius: 0 0 6px 6px;
1003 | -moz-border-radius: 0 0 6px 6px;
1004 | border-radius: 0 0 6px 6px;
1005 | -webkit-box-shadow: inset 0 1px 0 #ffffff;
1006 | -moz-box-shadow: inset 0 1px 0 #ffffff;
1007 | box-shadow: inset 0 1px 0 #ffffff;
1008 | zoom: 1;
1009 | margin-bottom: 0;
1010 |
1011 | }
1012 | .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
1013 | .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
1014 | .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
1015 | .ui-draggable .ui-dialog-titlebar { cursor: move; }
1016 |
1017 | .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button{
1018 | color: #ffffff;
1019 | background-color: #0064cd;
1020 | background-repeat: repeat-x;
1021 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
1022 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
1023 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
1024 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
1025 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
1026 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
1027 | background-image: linear-gradient(top, #049cdb, #0064cd);
1028 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
1029 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1030 | border-color: #0064cd #0064cd #003f81;
1031 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1032 | }
1033 | /*
1034 | * jQuery UI Slider 1.8.16
1035 | *
1036 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
1037 | * Dual licensed under the MIT or GPL Version 2 licenses.
1038 | * http://jquery.org/license
1039 | *
1040 | * http://docs.jquery.com/UI/Slider#theming
1041 | */
1042 | .ui-slider { position: relative; text-align: left; }
1043 | .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
1044 | .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0;
1045 |
1046 | color: #ffffff;
1047 | background-color: #0064cd;
1048 | background-repeat: repeat-x;
1049 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
1050 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
1051 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
1052 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
1053 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
1054 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
1055 | background-image: linear-gradient(top, #049cdb, #0064cd);
1056 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
1057 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1058 | border-color: #0064cd #0064cd #003f81;
1059 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1060 |
1061 | }
1062 |
1063 | .ui-slider-horizontal { height: .8em; }
1064 | .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
1065 | .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
1066 | .ui-slider-horizontal .ui-slider-range-min { left: 0; }
1067 | .ui-slider-horizontal .ui-slider-range-max { right: 0; }
1068 |
1069 | .ui-slider-vertical { width: .8em; height: 100px; }
1070 | .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
1071 | .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
1072 | .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
1073 | .ui-slider-vertical .ui-slider-range-max { top: 0; }
1074 |
1075 | /*
1076 | * jQuery UI Tabs 1.9.2
1077 | *
1078 | * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
1079 | * Dual licensed under the MIT or GPL Version 2 licenses.
1080 | * http://jquery.org/license
1081 | *
1082 | * http://jqueryui.com/tabs/
1083 | */
1084 | .ui-tabs .ui-tabs-nav{ background:none; border-color: #ddd;border-style: solid;border-width: 0 0 1px;}
1085 | .ui-tabs { position: relative; padding: .2em; zoom: 1; border:0px;} /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
1086 |
1087 |
1088 | .ui-tabs .ui-tabs-nav li:hover, .ui-tabs .ui-tabs-nav li a:hover{
1089 | background:whiteSmoke;
1090 | border-bottom:1px solid #ddd;
1091 | padding-bottom:0px;
1092 | color:#00438A;
1093 | }
1094 |
1095 | .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; border-bottom:1px solid #DDD; }
1096 | .ui-tabs .ui-tabs-nav li { text-decoration: none; list-style: none; float: left; position: relative; top: 1px; padding: 0px 0px 1px 0px; white-space: nowrap; background:none; border:0px; }
1097 |
1098 | .ui-tabs-nav .ui-state-default{
1099 | -webkit-box-shadow: 0px 0px 0px #ffffff; /* Saf3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
1100 | -moz-box-shadow: 0px 0px 0px #ffffff; /* FF3.5 - 3.6 */
1101 | box-shadow: 0px 0px 0px #ffffff; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */
1102 | }
1103 | .ui-tabs .ui-tabs-nav li a {
1104 | float: left;
1105 | text-decoration: none;
1106 | cursor: text;
1107 | padding: 0 15px;
1108 | margin-right: 2px;
1109 | line-height: 34px;
1110 | border: 1px solid transparent;
1111 | -webkit-border-radius: 4px 4px 0 0;
1112 | -moz-border-radius: 4px 4px 0 0;
1113 | border-radius: 4px 4px 0 0;
1114 |
1115 |
1116 | }
1117 |
1118 | .ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: 0; padding-bottom: 0px; outline:none;}
1119 | .ui-tabs .ui-tabs-nav li.ui-tabs-active , .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
1120 | background-color: #ffffff;
1121 | border: 1px solid #ddd;
1122 | border-bottom-color: #ffffff;
1123 | cursor: default;
1124 | color:gray;
1125 | outline:none;
1126 | }
1127 | .ui-tabs .ui-tabs-nav li.ui-tabs-active a{background-color: #ffffff;outline:none;border:none;}
1128 | .ui-tabs .ui-tabs-nav li.ui-tabs-active:hover{
1129 | background:#ffffff;
1130 | outline:none;
1131 | margin-bottom:0px;
1132 | }
1133 | .ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
1134 | .ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; color:#0069D6; background:none; font-weight:normal; margin-bottom:-1px;}
1135 | /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
1136 | .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
1137 | .ui-tabs-panel .ui-button{text-decoration:none;}
1138 | .ui-tabs .ui-tabs-hide { display: none !important; }
1139 |
1140 |
1141 | /* IE fix for background inheritance from ui-widget*/
1142 | .ui-tabs .ui-tabs-nav li{
1143 | filter:none;
1144 | }
1145 |
1146 | /*
1147 | * jQuery UI Tooltip 1.9.0
1148 | *
1149 | * Copyright 2012-10-11, AUTHORS.txt (http://jqueryui.com/about)
1150 | * Dual licensed under the MIT or GPL Version 2 licenses.
1151 | * http://jquery.org/license
1152 | *
1153 | * http://jqueryui.com/tooltip/
1154 | */
1155 | .ui-tooltip {
1156 | padding:8px;
1157 | position:absolute;
1158 | z-index:9999;
1159 | max-width: 300px;
1160 | -o-box-shadow: 0 0 5px #ddd;
1161 | -moz-box-shadow: 0 0 5px #ddd;
1162 | -webkit-box-shadow: 0 0 5px #ddd;
1163 | /*box-shadow: 0 2px 5px #ddd;*/
1164 | box-shadow: inset 0 1px 0 #ffffff;
1165 | }
1166 |
1167 | body .ui-tooltip { border-width:2px; }
1168 |
1169 | /*
1170 | * jQuery UI Datepicker 1.9.0
1171 | *
1172 | * Copyright 2012-10-11, AUTHORS.txt (http://jqueryui.com/about)
1173 | * Dual licensed under the MIT or GPL Version 2 licenses.
1174 | * http://jquery.org/license
1175 | *
1176 | * http://jqueryui.com/datepicker/
1177 | */
1178 | .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
1179 | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; border:0px; font-weight: bold; width: 100%; padding: 4px 0; background-color: #f5f5f5; color: #808080; }
1180 | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
1181 |
1182 | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { /*top: 1px;*/ }
1183 | .ui-datepicker .ui-datepicker-prev { left:2px; }
1184 | .ui-datepicker .ui-datepicker-next { right:2px; }
1185 |
1186 | .ui-datepicker .ui-datepicker-prev-hover { /*left:1px;*/ }
1187 | .ui-datepicker .ui-datepicker-next-hover { /*right:1px;*/ }
1188 |
1189 | .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; }
1190 | .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
1191 | .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
1192 | .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
1193 | .ui-datepicker select.ui-datepicker-month,
1194 | .ui-datepicker select.ui-datepicker-year { width: 49%;}
1195 | .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
1196 | .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
1197 | .ui-datepicker td { border: 0; padding: 1px; }
1198 | .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
1199 | .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
1200 | .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
1201 | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
1202 |
1203 | /* with multiple calendars */
1204 | .ui-datepicker.ui-datepicker-multi { width:auto; }
1205 | .ui-datepicker-multi .ui-datepicker-group { float:left; }
1206 | .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
1207 | .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
1208 | .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
1209 | .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
1210 | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
1211 | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
1212 | .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
1213 | .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
1214 |
1215 | /* RTL support */
1216 | .ui-datepicker-rtl { direction: rtl; }
1217 | .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
1218 | .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
1219 | .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
1220 | .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
1221 | .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
1222 | .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
1223 | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
1224 | .ui-datepicker-rtl .ui-datepicker-group { float:right; }
1225 | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
1226 | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
1227 |
1228 | /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
1229 | .ui-datepicker-cover {
1230 | display: none; /*sorry for IE5*/
1231 | display/**/: block; /*sorry for IE5*/
1232 | position: absolute; /*must have*/
1233 | z-index: -1; /*must have*/
1234 | filter: mask(); /*must have*/
1235 | top: -4px; /*must have*/
1236 | left: -4px; /*must have*/
1237 | width: 200px; /*must have*/
1238 | height: 200px; /*must have*/
1239 | }
1240 |
1241 | .ui-datepicker th{
1242 | font-weight: bold;
1243 | color: gray;
1244 | }
1245 |
1246 | .ui-datepicker-today a:hover{
1247 | background-color: #808080;
1248 | color: #ffffff;
1249 |
1250 | }
1251 | .ui-datepicker-today a{
1252 | background-color: #BFBFBF;
1253 | cursor: pointer;
1254 | padding: 0 4px;
1255 | margin-bottom:0px;
1256 |
1257 | }
1258 |
1259 |
1260 | .ui-datepicker td a{
1261 | margin-bottom:0px;
1262 | border:0px;
1263 | }
1264 |
1265 | .ui-datepicker td:hover{
1266 | color: #ffffff;
1267 | }
1268 |
1269 | .ui-datepicker td .ui-state-default {
1270 | border:0px;
1271 | background:none;
1272 | margin-bottom:0px;
1273 | padding:5px;
1274 | color:gray;
1275 | text-align: center;
1276 | filter:none;
1277 | }
1278 |
1279 |
1280 | .ui-datepicker td .ui-state-active{
1281 | background:#BFBFBF;
1282 | margin-bottom:0px;
1283 | font-size:normal;
1284 | text-shadow: 0px;
1285 | color: #ffffff;
1286 | -webkit-border-radius: 4px;
1287 | -moz-border-radius: 4px;
1288 | border-radius: 4px;
1289 | }
1290 |
1291 | .ui-datepicker td .ui-state-hover {
1292 | color: #ffffff;
1293 | background: #0064cd;
1294 | background-color: #0064cd;
1295 | background-repeat: repeat-x;
1296 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
1297 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
1298 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
1299 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
1300 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
1301 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
1302 | background-image: linear-gradient(top, #049cdb, #0064cd);
1303 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
1304 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1305 | border-color: #0064cd #0064cd #003f81;
1306 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1307 | -webkit-border-radius: 4px;
1308 | -moz-border-radius: 4px;
1309 | -khtml-border-radius: 4px;
1310 | border-radius: 4px;
1311 | }
1312 |
1313 | /*
1314 | * jQuery UI Progressbar 1.8.16
1315 | *
1316 | * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
1317 | * Dual licensed under the MIT or GPL Version 2 licenses.
1318 | * http://jquery.org/license
1319 | *
1320 | * http://docs.jquery.com/UI/Progressbar#theming
1321 | */
1322 | .ui-progressbar { height:2em; text-align: left; }
1323 | .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%;
1324 |
1325 | /*this can be removed if ui-widget-header is blue*/
1326 | color: #ffffff;
1327 | background-color: #0064cd;
1328 | background-repeat: repeat-x;
1329 | background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
1330 | background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
1331 | background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
1332 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
1333 | background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
1334 | background-image: -o-linear-gradient(top, #049cdb, #0064cd);
1335 | background-image: linear-gradient(top, #049cdb, #0064cd);
1336 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
1337 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1338 | border-color: #0064cd #0064cd #003f81;
1339 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1340 | }
1341 |
1342 |
1343 |
1344 | /*** Input field styling from Bootstrap **/
1345 | input, textarea {
1346 | -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
1347 | -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
1348 | -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
1349 | -o-transition: border linear 0.2s, box-shadow linear 0.2s;
1350 | transition: border linear 0.2s, box-shadow linear 0.2s;
1351 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
1352 | -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
1353 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
1354 | }
1355 | input:focus, textarea:focus {
1356 | outline: 0;
1357 | border-color: rgba(82, 168, 236, 0.8);
1358 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
1359 | -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
1360 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
1361 | }
1362 | input[type=file]:focus, input[type=checkbox]:focus, select:focus {
1363 | -webkit-box-shadow: none;
1364 | -moz-box-shadow: none;
1365 | box-shadow: none;
1366 | outline: 1px dotted #666;
1367 | }
1368 |
1369 | input[type="text"],
1370 | input[type="password"],
1371 | .ui-autocomplete-input,
1372 | textarea,
1373 | .uneditable-input {
1374 | display: inline-block;
1375 | padding: 4px;
1376 | font-size: 13px;
1377 | line-height: 18px;
1378 | color: #808080;
1379 | border: 1px solid #ccc;
1380 | -webkit-border-radius: 3px;
1381 | -moz-border-radius: 3px;
1382 | border-radius: 3px;
1383 | }
1384 |
1385 |
1386 |
1387 | /**Toolbar**/
1388 |
1389 | .ui-toolbar{
1390 | padding: 7px 14px;
1391 | margin: 0 0 18px;
1392 | background-color: #f5f5f5;
1393 | background-repeat: repeat-x;
1394 | background-image: -khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));
1395 | background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
1396 | background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
1397 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
1398 | background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
1399 | background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
1400 | background-image: linear-gradient(top, #ffffff, #f5f5f5);
1401 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
1402 | border: 1px solid #ddd;
1403 | -webkit-border-radius: 3px;
1404 | -moz-border-radius: 3px;
1405 | border-radius: 3px;
1406 | -webkit-box-shadow: inset 0 1px 0 #ffffff;
1407 | -moz-box-shadow: inset 0 1px 0 #ffffff;
1408 | box-shadow: inset 0 1px 0 #ffffff;
1409 | }
1410 |
1411 |
1412 | /***Dialog fixes**/
1413 |
1414 | .ui-dialog-buttonset .ui-button:nth-child(2){
1415 | cursor: pointer;
1416 | display: inline-block;
1417 | background-color: #e6e6e6;
1418 | background-repeat: no-repeat;
1419 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
1420 | background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
1421 | background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
1422 | background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
1423 | background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
1424 | background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
1425 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
1426 | padding: 5px 14px 6px;
1427 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1428 | color: #333;
1429 | font-size: 13px;
1430 | line-height: normal;
1431 | border: 1px solid #ccc;
1432 | border-bottom-color: #bbb;
1433 | -webkit-border-radius: 4px;
1434 | -moz-border-radius: 4px;
1435 | border-radius: 4px;
1436 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1437 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1438 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1439 | -webkit-transition: 0.1s linear all;
1440 | -moz-transition: 0.1s linear all;
1441 | -ms-transition: 0.1s linear all;
1442 | -o-transition: 0.1s linear all;
1443 | transition: 0.1s linear all;
1444 | overflow: visible;
1445 | }
1446 |
1447 |
1448 |
1449 | /***Wijmo Theming**/
1450 |
1451 | div.wijmo-wijmenu{
1452 | padding:0 20px;
1453 | background-color: #222;
1454 | background-color: #222222;
1455 | background-repeat: repeat-x;
1456 | background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
1457 | background-image: -moz-linear-gradient(top, #333333, #222222);
1458 | background-image: -ms-linear-gradient(top, #333333, #222222);
1459 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));
1460 | background-image: -webkit-linear-gradient(top, #333333, #222222);
1461 | background-image: -o-linear-gradient(top, #333333, #222222);
1462 | background-image: linear-gradient(top, #333333, #222222);
1463 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
1464 | -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
1465 | -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
1466 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
1467 | }
1468 |
1469 | .wijmo-wijmenu .ui-state-default{
1470 | box-shadow: none;
1471 | color:#BFBFBF;
1472 | }
1473 |
1474 | .wijmo-wijmenu .ui-state-default .wijmo-wijmenu-text{
1475 | color:#BFBFBF;
1476 | }
1477 |
1478 | .wijmo-wijmenu .ui-state-hover{
1479 | background: #444;
1480 | background: rgba(255, 255, 255, 0.05);
1481 | }
1482 |
1483 | .wijmo-wijmenu .ui-state-hover .wijmo-wijmenu-text{
1484 | color:#ffffff;
1485 | }
1486 |
1487 | div.wijmo-wijmenu .ui-widget-header h3{
1488 | position: relative;
1489 | margin-top:1px;
1490 | padding:0;
1491 | }
1492 |
1493 | .wijmo-wijmenu h3 a{
1494 | color: #FFFFFF;
1495 | display: block;
1496 | float: left;
1497 | font-size: 20px;
1498 | font-weight: 200;
1499 | line-height: 1;
1500 | margin-left: -20px;
1501 | margin-top:1px;
1502 | padding: 8px 20px 12px;
1503 | }
1504 |
1505 | .wijmo-wijmenu h3 a:hover{
1506 | background-color: rgba(255, 255, 255, 0.05);
1507 | color: #FFFFFF;
1508 | text-decoration: none;
1509 | }
1510 |
1511 | .wijmo-wijmenu .ui-widget-header{
1512 | border:0px;
1513 | }
1514 |
1515 | .wijmo-wijmenu .wijmo-wijmenu-parent .wijmo-wijmenu-child{
1516 | padding: 0.3em 0;
1517 | }
1518 |
1519 | div.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child{
1520 | background: #333;
1521 | border:0;
1522 | margin:0;
1523 | padding: 6px 0;
1524 | width:160px;
1525 | -webkit-border-radius: 0 0 6px 6px;
1526 | -moz-border-radius: 0 0 6px 6px;
1527 | border-radius: 0 0 6px 6px;
1528 | -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
1529 | -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
1530 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
1531 | }
1532 |
1533 | div.wijmo-wijmenu .wijmo-wijmenu-item{
1534 | margin:0;
1535 | border:0;
1536 | }
1537 |
1538 | .wijmo-wijmenu a.wijmo-wijmenu-link{
1539 | margin:0;
1540 | line-height: 19px;
1541 | padding: 10px 10px 11px;
1542 | border:0;
1543 | -webkit-border-radius: 0;
1544 | -moz-border-radius: 0;
1545 | border-radius:0;
1546 | }
1547 |
1548 | div.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-link{
1549 | display:block;
1550 | float:none;
1551 | padding: 4px 15px;
1552 | width:auto;
1553 | }
1554 |
1555 | div.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-text
1556 | {
1557 | float:none;
1558 | }
1559 |
1560 | .wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child .ui-state-hover {
1561 | background: #191919;
1562 | }
1563 |
1564 | .wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-separator{
1565 | padding: 5px 0;
1566 | background-image: none;
1567 | background-color: #222;
1568 | border-top: 1px solid #444;
1569 | border-bottom:0;
1570 | border-left:0;
1571 | border-right:0;
1572 | }
1573 |
1574 | .wijmo-wijmenu .wijmo-wijmenu-item input {
1575 | -moz-transition: none 0s ease 0s;
1576 | background-color: rgba(255, 255, 255, 0.3);
1577 | border: 1px solid #111111;
1578 | border-radius: 4px 4px 4px 4px;
1579 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
1580 | color: rgba(255, 255, 255, 0.75);
1581 | font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
1582 | line-height: 1;
1583 | margin: 5px 10px 0 10px;
1584 | padding: 4px 9px;
1585 | width:100px;
1586 | }
1587 |
1588 | .wijmo-wijmenu .wijmo-wijmenu-item input:hover {
1589 | background-color: rgba(255, 255, 255, 0.5);
1590 | color: #FFFFFF;
1591 | }
1592 |
1593 | .wijmo-wijmenu .wijmo-wijmenu-item input:focus {
1594 | background-color: #FFFFFF;
1595 | border: 0 none;
1596 | box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
1597 | color: #404040;
1598 | outline: 0 none;
1599 | padding: 5px 10px;
1600 | text-shadow: 0 1px 0 #FFFFFF;
1601 | }
1602 |
1603 |
1604 | .wijmo-wijmenu .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
1605 | text-shadow:none;
1606 | }
1607 |
1608 |
1609 | .wijmo-wijmenu .ui-state-default{
1610 | box-shadow: none;
1611 | color:#BFBFBF;
1612 | filter: none;
1613 | }
1614 |
1615 |
--------------------------------------------------------------------------------