diff --git a/project/index_blocks/__init__.py b/project/index_blocks/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/project/index_blocks/cms_plugins.py b/project/index_blocks/cms_plugins.py
new file mode 100644
index 0000000..027bbd9
--- /dev/null
+++ b/project/index_blocks/cms_plugins.py
@@ -0,0 +1,68 @@
+#-*- coding: utf -8-*-
+from cms.plugin_base import CMSPluginBase
+from cms.plugin_pool import plugin_pool
+from models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin
+from forms import IndexBlockForm, ExtendedBlockForm
+from django.utils.translation import ugettext as _
+
+
+class CMSIndexBlockPlugin(CMSPluginBase):
+ model = IndexBlockPlugin
+ form = IndexBlockForm
+ name = u'Блок на главной (картинка и текст)'
+ render_template = "index_block.html"
+
+ def render(self, context, instance, placeholder):
+ context.update({
+ 'object':instance,
+ 'placeholder':placeholder
+ })
+ return context
+
+
+class CMSExtendedTextBlockPlugin(CMSPluginBase):
+ model = ExtendedTextBlockPlugin
+ form = ExtendedBlockForm
+ name = u'Раскрывающийся блок'
+ render_template = "extended_text_block.html"
+
+ def render(self, context, instance, placeholder):
+ context.update({
+ 'object':instance,
+ 'placeholder':placeholder
+ })
+ return context
+
+
+class CMSExtendedBlockPlugin(CMSPluginBase):
+ model = ExtendedBlockPlugin
+ form = ExtendedBlockForm
+ name = u'Раскрывающийся блок с картинкой'
+ render_template = "extended_block.html"
+
+ def render(self, context, instance, placeholder):
+ context.update({
+ 'object':instance,
+ 'placeholder':placeholder
+ })
+ return context
+
+
+class CMSSlideshowBlockPlugin(CMSPluginBase):
+ model = IndexBlockPlugin
+ form = IndexBlockForm
+ name = u'Кадр слайдшоу'
+ render_template = "slideshow_block.html"
+
+ def render(self, context, instance, placeholder):
+ context.update({
+ 'object':instance,
+ 'placeholder':placeholder
+ })
+ return context
+
+
+plugin_pool.register_plugin(CMSExtendedTextBlockPlugin)
+# plugin_pool.register_plugin(CMSIndexBlockPlugin)
+plugin_pool.register_plugin(CMSExtendedBlockPlugin)
+# plugin_pool.register_plugin(CMSSlideshowBlockPlugin)
diff --git a/project/index_blocks/forms.py b/project/index_blocks/forms.py
new file mode 100644
index 0000000..9a7e572
--- /dev/null
+++ b/project/index_blocks/forms.py
@@ -0,0 +1,27 @@
+from django.forms.models import ModelForm
+from .models import IndexBlockPlugin, ExtendedBlockPlugin
+from django import forms
+
+
+class IndexBlockForm(ModelForm):
+ #description = forms.CharField()
+
+ class Meta:
+ model = IndexBlockPlugin
+ # widgets = {
+ # 'description': TinyMCE(attrs={'cols': 80, 'rows': 10}),
+ # }
+ exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type')
+
+
+class ExtendedBlockForm(ModelForm):
+ #description = forms.CharField()
+
+ class Meta:
+ model = ExtendedBlockPlugin
+ # widgets = {
+ # 'description': TinyMCE(attrs={'cols': 80, 'rows': 10}),
+ # 'extended_description': TinyMCE(attrs={'cols': 80, 'rows': 10}),
+ # }
+ exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type')
+
diff --git a/project/index_blocks/migrations/0001_initial.py b/project/index_blocks/migrations/0001_initial.py
new file mode 100644
index 0000000..32ecd7b
--- /dev/null
+++ b/project/index_blocks/migrations/0001_initial.py
@@ -0,0 +1,55 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Adding model 'IndexBlockPlugin'
+ db.create_table('cmsplugin_indexblockplugin', (
+ ('cmsplugin_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cms.CMSPlugin'], unique=True, primary_key=True)),
+ ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)),
+ ('description', self.gf('django.db.models.fields.TextField')(max_length=60)),
+ ))
+ db.send_create_signal('index_blocks', ['IndexBlockPlugin'])
+
+
+ def backwards(self, orm):
+
+ # Deleting model 'IndexBlockPlugin'
+ db.delete_table('cmsplugin_indexblockplugin')
+
+
+ models = {
+ 'cms.cmsplugin': {
+ 'Meta': {'object_name': 'CMSPlugin'},
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
+ 'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
+ 'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+ 'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'cms.placeholder': {
+ 'Meta': {'object_name': 'Placeholder'},
+ 'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
+ },
+ 'index_blocks.indexblockplugin': {
+ 'Meta': {'object_name': 'IndexBlockPlugin', 'db_table': "'cmsplugin_indexblockplugin'", '_ormbases': ['cms.CMSPlugin']},
+ 'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'max_length': '60'}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'})
+ }
+ }
+
+ complete_apps = ['index_blocks']
diff --git a/project/index_blocks/migrations/0002_auto__add_field_indexblockplugin_title__chg_field_indexblockplugin_des.py b/project/index_blocks/migrations/0002_auto__add_field_indexblockplugin_title__chg_field_indexblockplugin_des.py
new file mode 100644
index 0000000..8473b17
--- /dev/null
+++ b/project/index_blocks/migrations/0002_auto__add_field_indexblockplugin_title__chg_field_indexblockplugin_des.py
@@ -0,0 +1,57 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Adding field 'IndexBlockPlugin.title'
+ db.add_column('cmsplugin_indexblockplugin', 'title', self.gf('django.db.models.fields.CharField')(default='', max_length=100), keep_default=False)
+
+ # Changing field 'IndexBlockPlugin.description'
+ db.alter_column('cmsplugin_indexblockplugin', 'description', self.gf('django.db.models.fields.TextField')())
+
+
+ def backwards(self, orm):
+
+ # Deleting field 'IndexBlockPlugin.title'
+ db.delete_column('cmsplugin_indexblockplugin', 'title')
+
+ # Changing field 'IndexBlockPlugin.description'
+ db.alter_column('cmsplugin_indexblockplugin', 'description', self.gf('django.db.models.fields.TextField')(max_length=60))
+
+
+ models = {
+ 'cms.cmsplugin': {
+ 'Meta': {'object_name': 'CMSPlugin'},
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
+ 'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
+ 'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+ 'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'cms.placeholder': {
+ 'Meta': {'object_name': 'Placeholder'},
+ 'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
+ },
+ 'index_blocks.indexblockplugin': {
+ 'Meta': {'object_name': 'IndexBlockPlugin', 'db_table': "'cmsplugin_indexblockplugin'", '_ormbases': ['cms.CMSPlugin']},
+ 'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ }
+ }
+
+ complete_apps = ['index_blocks']
diff --git a/project/index_blocks/migrations/0003_auto__add_extendedblockplugin.py b/project/index_blocks/migrations/0003_auto__add_extendedblockplugin.py
new file mode 100644
index 0000000..c0d249c
--- /dev/null
+++ b/project/index_blocks/migrations/0003_auto__add_extendedblockplugin.py
@@ -0,0 +1,66 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Adding model 'ExtendedBlockPlugin'
+ db.create_table('cmsplugin_extendedblockplugin', (
+ ('cmsplugin_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cms.CMSPlugin'], unique=True, primary_key=True)),
+ ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)),
+ ('title', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('description', self.gf('django.db.models.fields.TextField')()),
+ ('extended_description', self.gf('django.db.models.fields.TextField')()),
+ ))
+ db.send_create_signal('index_blocks', ['ExtendedBlockPlugin'])
+
+
+ def backwards(self, orm):
+
+ # Deleting model 'ExtendedBlockPlugin'
+ db.delete_table('cmsplugin_extendedblockplugin')
+
+
+ models = {
+ 'cms.cmsplugin': {
+ 'Meta': {'object_name': 'CMSPlugin'},
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
+ 'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
+ 'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+ 'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'cms.placeholder': {
+ 'Meta': {'object_name': 'Placeholder'},
+ 'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
+ },
+ 'index_blocks.extendedblockplugin': {
+ 'Meta': {'object_name': 'ExtendedBlockPlugin', 'db_table': "'cmsplugin_extendedblockplugin'", '_ormbases': ['cms.CMSPlugin']},
+ 'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'extended_description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'index_blocks.indexblockplugin': {
+ 'Meta': {'object_name': 'IndexBlockPlugin', 'db_table': "'cmsplugin_indexblockplugin'", '_ormbases': ['cms.CMSPlugin']},
+ 'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ }
+ }
+
+ complete_apps = ['index_blocks']
diff --git a/project/index_blocks/migrations/0004_auto__add_extendedtextblockplugin.py b/project/index_blocks/migrations/0004_auto__add_extendedtextblockplugin.py
new file mode 100644
index 0000000..0033e28
--- /dev/null
+++ b/project/index_blocks/migrations/0004_auto__add_extendedtextblockplugin.py
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding model 'ExtendedTextBlockPlugin'
+ db.create_table(u'index_blocks_extendedtextblockplugin', (
+ (u'cmsplugin_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cms.CMSPlugin'], unique=True, primary_key=True)),
+ ('title', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('description', self.gf('django.db.models.fields.TextField')()),
+ ('extended_description', self.gf('django.db.models.fields.TextField')()),
+ ))
+ db.send_create_signal(u'index_blocks', ['ExtendedTextBlockPlugin'])
+
+
+ def backwards(self, orm):
+ # Deleting model 'ExtendedTextBlockPlugin'
+ db.delete_table(u'index_blocks_extendedtextblockplugin')
+
+
+ models = {
+ 'cms.cmsplugin': {
+ 'Meta': {'object_name': 'CMSPlugin'},
+ 'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
+ 'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
+ 'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+ 'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'cms.placeholder': {
+ 'Meta': {'object_name': 'Placeholder'},
+ 'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slot': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+ },
+ u'index_blocks.extendedblockplugin': {
+ 'Meta': {'object_name': 'ExtendedBlockPlugin', '_ormbases': ['cms.CMSPlugin']},
+ u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'extended_description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ u'index_blocks.extendedtextblockplugin': {
+ 'Meta': {'object_name': 'ExtendedTextBlockPlugin', '_ormbases': ['cms.CMSPlugin']},
+ u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'extended_description': ('django.db.models.fields.TextField', [], {}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ u'index_blocks.indexblockplugin': {
+ 'Meta': {'object_name': 'IndexBlockPlugin', '_ormbases': ['cms.CMSPlugin']},
+ u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ }
+ }
+
+ complete_apps = ['index_blocks']
\ No newline at end of file
diff --git a/project/index_blocks/migrations/0005_auto__add_field_extendedtextblockplugin_order__chg_field_extendedtextb.py b/project/index_blocks/migrations/0005_auto__add_field_extendedtextblockplugin_order__chg_field_extendedtextb.py
new file mode 100644
index 0000000..0da8dc6
--- /dev/null
+++ b/project/index_blocks/migrations/0005_auto__add_field_extendedtextblockplugin_order__chg_field_extendedtextb.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'ExtendedTextBlockPlugin.order'
+ db.add_column(u'index_blocks_extendedtextblockplugin', 'order',
+ self.gf('django.db.models.fields.PositiveIntegerField')(default=1),
+ keep_default=False)
+
+
+ # Changing field 'ExtendedTextBlockPlugin.extended_description'
+ db.alter_column(u'index_blocks_extendedtextblockplugin', 'extended_description', self.gf('djangocms_text_ckeditor.fields.HTMLField')())
+
+ # Changing field 'ExtendedTextBlockPlugin.description'
+ db.alter_column(u'index_blocks_extendedtextblockplugin', 'description', self.gf('djangocms_text_ckeditor.fields.HTMLField')())
+
+ def backwards(self, orm):
+ # Deleting field 'ExtendedTextBlockPlugin.order'
+ db.delete_column(u'index_blocks_extendedtextblockplugin', 'order')
+
+
+ # Changing field 'ExtendedTextBlockPlugin.extended_description'
+ db.alter_column(u'index_blocks_extendedtextblockplugin', 'extended_description', self.gf('django.db.models.fields.TextField')())
+
+ # Changing field 'ExtendedTextBlockPlugin.description'
+ db.alter_column(u'index_blocks_extendedtextblockplugin', 'description', self.gf('django.db.models.fields.TextField')())
+
+ models = {
+ 'cms.cmsplugin': {
+ 'Meta': {'object_name': 'CMSPlugin'},
+ 'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
+ 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
+ 'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
+ 'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
+ 'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+ 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
+ },
+ 'cms.placeholder': {
+ 'Meta': {'object_name': 'Placeholder'},
+ 'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'slot': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+ },
+ u'index_blocks.extendedblockplugin': {
+ 'Meta': {'object_name': 'ExtendedBlockPlugin', '_ormbases': ['cms.CMSPlugin']},
+ u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'extended_description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ u'index_blocks.extendedtextblockplugin': {
+ 'Meta': {'object_name': 'ExtendedTextBlockPlugin', '_ormbases': ['cms.CMSPlugin']},
+ u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('djangocms_text_ckeditor.fields.HTMLField', [], {}),
+ 'extended_description': ('djangocms_text_ckeditor.fields.HTMLField', [], {}),
+ 'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ u'index_blocks.indexblockplugin': {
+ 'Meta': {'object_name': 'IndexBlockPlugin', '_ormbases': ['cms.CMSPlugin']},
+ u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ }
+ }
+
+ complete_apps = ['index_blocks']
\ No newline at end of file
diff --git a/project/index_blocks/migrations/__init__.py b/project/index_blocks/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/project/index_blocks/models.py b/project/index_blocks/models.py
new file mode 100644
index 0000000..f095c95
--- /dev/null
+++ b/project/index_blocks/models.py
@@ -0,0 +1,23 @@
+from django.db import models
+from cms.models.pluginmodel import CMSPlugin
+from djangocms_text_ckeditor.fields import HTMLField
+
+
+class IndexBlockPlugin(CMSPlugin):
+ image = models.ImageField(upload_to="uploads/images/")
+ title = models.CharField(max_length=100)
+ description = models.TextField()
+
+
+class ExtendedTextBlockPlugin(CMSPlugin):
+ order = models.PositiveIntegerField(default=1)
+ title = models.CharField(max_length=100)
+ description = HTMLField()
+ extended_description = HTMLField()
+
+
+class ExtendedBlockPlugin(CMSPlugin):
+ image = models.ImageField(upload_to="uploads/images/")
+ title = models.CharField(max_length=100)
+ description = models.TextField()
+ extended_description = models.TextField()
diff --git a/project/index_blocks/templates/extended_block.html b/project/index_blocks/templates/extended_block.html
new file mode 100644
index 0000000..8cccef2
--- /dev/null
+++ b/project/index_blocks/templates/extended_block.html
@@ -0,0 +1,16 @@
+{% load thumbnail %}
+
+
+ {% thumbnail object.image.name "190x132" crop="center" as img %}
+
+
+
+
{{ object.title }}
+ {{ object.description|safe }}
+
+
+
{{ object.title }}
+ {{ object.extended_description|safe }}
+
+
+
diff --git a/project/index_blocks/templates/extended_text_block.html b/project/index_blocks/templates/extended_text_block.html
new file mode 100644
index 0000000..04cf97b
--- /dev/null
+++ b/project/index_blocks/templates/extended_text_block.html
@@ -0,0 +1,17 @@
+{% load thumbnail %}
+
+
+
{{ object.order }}
+
+
{{ object.title }}
+ {{ object.description|safe }}
+
+
+
+
+
+
+ {{ object.extended_description|safe }}
+
+
+
diff --git a/project/index_blocks/templates/index_block.html b/project/index_blocks/templates/index_block.html
new file mode 100644
index 0000000..5f790f1
--- /dev/null
+++ b/project/index_blocks/templates/index_block.html
@@ -0,0 +1,12 @@
+{% load thumbnail %}
+
+
+ {% thumbnail object.image.name "250x110" crop="center" as img %}
+
+ {% endthumbnail %}
+
+
+
{{ object.title }}
+ {{ object.description|safe }}
+
+
\ No newline at end of file
diff --git a/project/index_blocks/templates/slideshow_block.html b/project/index_blocks/templates/slideshow_block.html
new file mode 100644
index 0000000..146a1f6
--- /dev/null
+++ b/project/index_blocks/templates/slideshow_block.html
@@ -0,0 +1,10 @@
+{% load thumbnail %}
+
+ {% thumbnail object.image.name "650x450" crop="center" as img %}
+
+ {% endthumbnail %}
+
+ {% if object.title %}
{{ object.title }} {% endif %}
+ {{ object.description|safe|default:'' }}
+
+
diff --git a/project/index_blocks/tests.py b/project/index_blocks/tests.py
new file mode 100644
index 0000000..501deb7
--- /dev/null
+++ b/project/index_blocks/tests.py
@@ -0,0 +1,16 @@
+"""
+This file demonstrates writing tests using the unittest module. These will pass
+when you run "manage.py test".
+
+Replace this with more appropriate tests for your application.
+"""
+
+from django.test import TestCase
+
+
+class SimpleTest(TestCase):
+ def test_basic_addition(self):
+ """
+ Tests that 1 + 1 always equals 2.
+ """
+ self.assertEqual(1 + 1, 2)
diff --git a/project/index_blocks/views.py b/project/index_blocks/views.py
new file mode 100644
index 0000000..60f00ef
--- /dev/null
+++ b/project/index_blocks/views.py
@@ -0,0 +1 @@
+# Create your views here.
diff --git a/project/settings.py b/project/settings.py
index 7898b6d..9b74345 100644
--- a/project/settings.py
+++ b/project/settings.py
@@ -73,7 +73,7 @@ STATIC_ROOT = path('../_public_html/static')
# URL prefix for static files.
# Example: "http://example.com/static/", "http://static.example.com/"
-STATIC_URL = '/s/'
+STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
@@ -115,6 +115,7 @@ MIDDLEWARE_CLASSES = (
'cms.middleware.user.CurrentUserMiddleware',
'cms.middleware.toolbar.ToolbarMiddleware',
'cms.middleware.language.LanguageCookieMiddleware',
+ 'djangocms_ckeditor_filer.middleware.ThumbnailMiddleware',
# my
'project.customer.middleware.ProfileMiddleware',
@@ -156,9 +157,9 @@ INSTALLED_APPS = (
# Uncomment the next line to enable the admin:
'pytils',
- 'django_filters',
+ # 'sorl.thumbnail',
+ # 'django_filters',
'autocomplete_light',
- 'cms',
'cms', # django CMS itself
'mptt', # utilities for implementing a modified pre-order traversal tree
'menus', # helper for model independent hierarchical website navigation
@@ -167,6 +168,8 @@ INSTALLED_APPS = (
#'robokassa',
'djangocms_admin_style', # for the admin skin. You **must** add 'djangocms_admin_style' in the list before 'django.contrib.admin'.
'django.contrib.messages', # to enable messages framework (see :ref:`Enable messages `)
+ 'filer',
+ 'easy_thumbnails',
'djangocms_file',
'djangocms_flash',
'djangocms_googlemap',
@@ -177,6 +180,13 @@ INSTALLED_APPS = (
'djangocms_link',
'djangocms_snippet',
'djangocms_text_ckeditor',
+ 'cmsplugin_filer_file',
+ 'cmsplugin_filer_folder',
+ 'cmsplugin_filer_link',
+ 'cmsplugin_filer_image',
+ 'cmsplugin_filer_teaser',
+ 'cmsplugin_filer_video',
+ 'djangocms_ckeditor_filer',
'django.contrib.admin',
'django.contrib.admindocs',
@@ -187,6 +197,7 @@ INSTALLED_APPS = (
'project.docs',
'project.pages',
'project.callback',
+ 'project.index_blocks',
# keep it last
'south',
@@ -243,6 +254,8 @@ CMS_TEMPLATES = (
('pages/inner_page.html', u'Внутренняя страница'),
)
+CMS_PERMISSION = True
+
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "user"
@@ -274,7 +287,35 @@ CELERYBEAT_SCHEDULE = {
}
CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s%(text_field)s %(image)s"
-
+CKEDITOR_SETTINGS = {
+ 'language': '',
+ 'skin': 'moono',
+ 'toolbar': 'HTMLField',
+ 'toolbar_HTMLField': [
+ ['Undo', 'Redo'],
+ ['ShowBlocks'],
+ ['Format', 'Styles'],
+ ['TextColor', 'BGColor', '-', 'PasteText', 'PasteFromWord'],
+ ['Maximize', ''],
+ '/',
+ ['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript', '-', 'RemoveFormat'],
+ ['JustifyLeft', 'JustifyCenter', 'JustifyRight'],
+ ['Link', 'Unlink'],
+ ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Table', 'Filer Image'],
+ ['Source']
+ ],
+ 'extraPlugins': 'filerimage',
+ 'removePlugins': 'image'
+}
+TEXT_SAVE_IMAGE_FUNCTION = 'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
+THUMBNAIL_PROCESSORS = (
+ 'easy_thumbnails.processors.colorspace',
+ 'easy_thumbnails.processors.autocrop',
+ #'easy_thumbnails.processors.scale_and_crop',
+ 'filer.thumbnail_processors.scale_and_crop_with_subject_location',
+ 'easy_thumbnails.processors.filters',
+)
+
try:
from project.local_settings import *
except ImportError:
diff --git a/project/static/ckeditor/plugins/filerimage/dialogs/filerImageDialog.js b/project/static/ckeditor/plugins/filerimage/dialogs/filerImageDialog.js
new file mode 100644
index 0000000..10ef298
--- /dev/null
+++ b/project/static/ckeditor/plugins/filerimage/dialogs/filerImageDialog.js
@@ -0,0 +1,332 @@
+// Copy+pasted from /static/filer/js/popup_handling.js, because we can't always count on this being loaded.
+
+(function($) {
+ dismissPopupAndReload = function(win) {
+ document.location.reload();
+ win.close();
+ };
+ dismissRelatedImageLookupPopup = function(win, chosenId, chosenThumbnailUrl, chosenDescriptionTxt) {
+ var name = windowname_to_id(win.name);
+ var img_name = name + '_thumbnail_img';
+ var txt_name = name + '_description_txt';
+ var clear_name = name + '_clear';
+ var elem = document.getElementById(name);
+ document.getElementById(name).value = chosenId;
+ document.getElementById(img_name).src = chosenThumbnailUrl;
+ document.getElementById(txt_name).innerHTML = chosenDescriptionTxt;
+ document.getElementById(clear_name).style.display = 'inline';
+ win.close();
+ };
+ dismissRelatedFolderLookupPopup = function(win, chosenId, chosenName) {
+ var id = windowname_to_id(win.name);
+ var id_name = id + '_description_txt';
+ document.getElementById(id).value = chosenId;
+ document.getElementById(id_name).innerHTML = chosenName;
+ win.close();
+ };
+})(jQuery);
+
+CKEDITOR.dialog.add( 'filerImageDialog', function ( editor ) {
+ dialog = CKEDITOR.dialog.getCurrent();
+ var imageWidth = 0;
+ var imageHeight = 0;
+
+ function getImageUrl() {
+ var url = dialog.getContentElement("tab-basic", "url");
+ var thumb_sel_val = dialog.getContentElement("tab-basic", "thumbnail_option").getValue();
+ if (thumb_sel_val != 0) {
+ server_url = '?djangocms_ckeditor_filer_image='+ django.jQuery('#id_image').val() + '&thumb_options=' + thumb_sel_val;
+ } else {
+ width = dialog.getContentElement("tab-basic", "width").getValue();
+ height = dialog.getContentElement("tab-basic", "height").getValue();
+ server_url = '?djangocms_ckeditor_filer_image='+ django.jQuery('#id_image').val() + '&width=' + width + '&height=' + height;
+ }
+ django.jQuery.get(server_url, function(data) {
+ url.setValue(data.url);
+ imageWidth = data.width;
+ imageHeight = data.height;
+ });
+ }
+ return {
+ title: 'Filer Image Properties',
+ minWidth: 400,
+ minHeight: 200,
+
+ onShow: function() {
+ dialog = CKEDITOR.dialog.getCurrent();
+ var document = this.getElement().getDocument();
+ // document = CKEDITOR.dom.document
+ var id_image = document.getById( 'id_image' );
+ var oldVal = id_image.getValue();
+
+ setInterval(function () {
+ if (oldVal != id_image.getValue()) {
+ oldVal = id_image.getValue();
+ getImageUrl();
+ }
+ }, 1000);
+ if ( id_image )
+ id_image.hide();
+ var id_image_clear = document.getById( 'id_image_clear' );
+
+ id_image_clear.on('click', function () {
+ id_image.setValue("");
+ id_image.removeAttribute("value");
+ id_image_thumbnail_img = document.getById( 'id_image_thumbnail_img' );
+ id_image_thumbnail_img.setAttribute("src", editor.config.settings.static_url +'/../filer/icons/nofile_48x48.png');
+ id_image_description_txt = document.getById( 'id_image_description_txt' );
+ id_image_description_txt.setHtml("");
+ id_image_clear = document.getById( 'id_image_clear' );
+ id_image_clear.hide();
+ });
+
+ // Get the selection in the editor.
+ var selection = editor.getSelection();
+
+ // Get the element at the start of the selection.
+ var element = selection.getStartElement();
+
+ // Get the element closest to the selection, if any.
+ if ( element )
+ element = element.getAscendant( 'img', true );
+
+ // Create a new element if it does not exist.
+ if ( !element || element.getName() != 'img' ) {
+ element = editor.document.createElement( 'img' );
+
+ // Flag the insertion mode for later use.
+ this.insertMode = true;
+ }
+ else
+ this.insertMode = false;
+
+ // Store the reference to the element in an internal property, for later use.
+ this.element = element;
+
+ // Invoke the setup methods of all dialog elements, so they can load the element attributes.
+ if ( !this.insertMode )
+ this.setupContent( this.element );
+ else
+ id_image_clear.fire('click');
+ },
+ // This method is invoked once a user clicks the OK button, confirming the dialog.
+ onOk: function() {
+
+ // The context of this function is the dialog object itself.
+ // http://docs.ckeditor.com/#!/api/CKEDITOR.dialog
+ var dialog = this;
+
+ // Creates a new element.
+ var abbr = this.element;
+
+ // Invoke the commit methods of all dialog elements, so the element gets modified.
+ this.commitContent( abbr );
+
+ // Finally, in if insert mode, inserts the element at the editor caret position.
+ if ( this.insertMode )
+ editor.insertElement( abbr );
+ },
+
+ contents: [
+ {
+ id: 'tab-basic',
+ label: 'Basic Settings',
+ elements: [
+ {
+ type: 'html',
+ html:
+ '' +
+ '
Image: ' +
+ '
' +
+ '
' +
+ '
' +
+ ' ' +
+ ' ' +
+ '
' +
+ '
' +
+ '
',
+ },
+ {
+ type: 'text',
+ id: 'url',
+ label: 'Url',
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "src" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "src", this.getValue() );
+ }
+ },
+ {
+ type: 'text',
+ id: 'caption',
+ label: 'Caption',
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "title" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "title", this.getValue() );
+ }
+ },
+ {
+ type: 'text',
+ id: 'alt_text',
+ label: 'Alt',
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "alt" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "alt", this.getValue() );
+ }
+ },
+ {
+ type: 'hbox',
+ widths: [ '50%', '50%', ],
+ children: [
+ {
+ type: 'checkbox',
+ id: 'use_original_image',
+ label: 'Use original image',
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "original_image" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "original_image", this.getValue() );
+ }
+ },
+ {
+ type: 'select',
+ id: 'thumbnail_option',
+ items : [ ['--- Thumbnail ---',0] ],
+ onLoad : function() {
+ var element_id = '#' + this.getInputElement().$.id;
+ django.jQuery.ajax({
+ type: 'GET',
+ url: '?djangocms_ckeditor_filer_thumbnail_options',
+ contentType: 'application/json; charset=utf-8',
+ dataType: 'json',
+ async: false,
+ success: function(data) {
+ django.jQuery.each(data, function(index, item) {
+ django.jQuery(element_id).get(0).options[django.jQuery(element_id).get(0).options.length] = new Option(item.name, item.id);
+ });
+ },
+ error:function (xhr, ajaxOptions, thrownError){
+ alert(xhr.status);
+ alert(thrownError);
+ }
+ });
+ },
+ onChange: function() {
+ getImageUrl();
+ },
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "thumb_option" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "thumb_option", this.getValue() );
+ }
+ },
+ ]
+ },
+ {
+ type: 'hbox',
+ widths: [ '50%', '50%', ],
+ children: [
+ {
+ type: 'text',
+ id: 'width',
+ label: 'Width',
+ onChange: function () {
+ if (this.getValue() != "") {
+ ratio = this.getValue() / imageWidth; // get ratio for scaling image
+ dialog.getContentElement("tab-basic", "height").setValue(Math.ceil(imageHeight * ratio));
+ }
+
+ //getImageUrl();
+ },
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "width" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "width", this.getValue() );
+ }
+ },
+ {
+ type: 'text',
+ id: 'height',
+ label: 'Height',
+ onChange: function () {
+ getImageUrl();
+ },
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "height" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "height", this.getValue() );
+ }
+ },
+ ]
+ },
+ {
+ type: 'hbox',
+ widths: [ '33%', '33%', '33%' ],
+ children: [
+ {
+ type: 'checkbox',
+ id: 'crop',
+ label: 'Crop',
+ },
+ {
+ type: 'checkbox',
+ id: 'upscale',
+ label: 'Upscale',
+ },
+ {
+ type: 'checkbox',
+ id: 'use_autoscale',
+ label: 'Autoscale',
+ },
+ ]
+ },
+ {
+ type: 'select',
+ id: 'alignment',
+ label : 'Alignment',
+ items: [ ["left"], ["right"] ],
+ setup: function( element ) {
+ this.setValue( element.getAttribute( "align" ) );
+ },
+ // Called by the main commitContent call on dialog confirmation.
+ commit: function( element ) {
+ element.setAttribute( "align", this.getValue() );
+ }
+ },
+ {
+ type: 'checkbox',
+ id: 'target_blank',
+ label: 'Target blank',
+ },
+ ]
+ },
+ {
+ id: 'tab-adv',
+ label: 'Advanced Settings',
+ elements: [
+ {
+ type: 'text',
+ id: 'css_style',
+ label: 'CSS',
+ },
+ ]
+ }
+ ]
+ };
+});
diff --git a/project/static/ckeditor/plugins/filerimage/icons/filerimage.png b/project/static/ckeditor/plugins/filerimage/icons/filerimage.png
new file mode 100644
index 0000000..d581b16
Binary files /dev/null and b/project/static/ckeditor/plugins/filerimage/icons/filerimage.png differ
diff --git a/project/static/ckeditor/plugins/filerimage/plugin.js b/project/static/ckeditor/plugins/filerimage/plugin.js
new file mode 100644
index 0000000..e81227e
--- /dev/null
+++ b/project/static/ckeditor/plugins/filerimage/plugin.js
@@ -0,0 +1,33 @@
+CKEDITOR.plugins.add( 'filerimage', {
+ icons: 'filerimage',
+ init: function( editor ) {
+ editor.addCommand( 'filerImageDialog', new CKEDITOR.dialogCommand( 'filerImageDialog' ) );
+
+ editor.ui.addButton( 'Filer Image', {
+ label: 'Insert filer image',
+ command: 'filerImageDialog',
+ toolbar: 'insert',
+ icon: 'filerimage'
+ });
+
+ if ( editor.contextMenu ) {
+ editor.addMenuGroup( 'Filer' );
+ editor.addMenuItem( 'imageItem', {
+ label: 'Edit image',
+ icon: this.path + 'icons/filerimage.png',
+ command: 'filerImageDialog',
+ group: 'Filer'
+ });
+
+ editor.contextMenu.addListener( function( element ) {
+ if ( element.getAscendant( 'img', true ) ) {
+ return { imageItem: CKEDITOR.TRISTATE_OFF };
+ }
+ });
+ }
+
+ CKEDITOR.dialog.add( 'filerImageDialog', this.path + 'dialogs/filerImageDialog.js' );
+
+ var dialog = CKEDITOR.dialog.getCurrent();
+ }
+});
diff --git a/project/static/css/style.css b/project/static/css/style.css
index 9a765ac..c4bf659 100644
--- a/project/static/css/style.css
+++ b/project/static/css/style.css
@@ -1,23 +1,125 @@
+@font-face {
+ font-family: 'MyriadPro-Light';
+ src: url('../fonts/MyriadPro-Light.eot');
+ src: local('☺'), url('../fonts/MyriadPro-Light.woff') format('woff'), url('../fonts/MyriadPro-Light.ttf') format('truetype'), url('../fonts/MyriadPro-Light.svg') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+@font-face {
+ font-family: 'MyriadProCondensed';
+ src: url('../fonts/myriadpro-cond.eot');
+ src: url('../fonts/myriadpro-cond.eot') format('embedded-opentype'),
+ url('../fonts/myriadpro-cond.woff') format('woff'),
+ url('../fonts/myriadpro-cond.ttf') format('truetype'),
+ url('../fonts/myriadpro-cond.svg#MyriadProCondensed') format('svg');
+}
+@font-face {
+ font-family: 'MyriadProRegular';
+ src: url('../fonts/myriadpro-regular.eot');
+ src: url('../fonts/myriadpro-regular.eot') format('embedded-opentype'),
+ url('../fonts/myriadpro-regular.woff') format('woff'),
+ url('../fonts/myriadpro-regular.ttf') format('truetype'),
+ url('../fonts/myriadpro-regular.svg#MyriadProRegular') format('svg');
+}
.clear { clear: both; }
.left { float: left; }
.right { float: right; }
.center { text-align: center; }
+html {
+ height:100%;
+}
body {
font-family: Arial,Helvetica,sans-serif;
font-size: small;
padding: 0;
- margin: 0 auto;
- width: 1000px;
border: 0;
height: 100%;
- line-height: 120%;
+ color:#646669;
+ position:relative;
+ font-size:14px;
+ background: url(../img/bg.png);
+ margin:0;
}
-
-a { color: #8D381D; cursor: pointer; text-decoration: underline; }
+#bg {
+ z-index:0;
+ height:100%;
+}
+#bg-header {background:#fff;position:absolute;top:0;height:150px;width:100%;}
+#bg-index {background:url(../img/index-banner.png) no-repeat top center;position:absolute;top:150px;height:551px;width:100%;}
+#bg-index-promo {background:#38424c;position:absolute;top:701px;height:200px;width:100%;}
+#body {
+
+ height:auto;
+ min-height:100%;
+ position:relative;
+ margin: 0;
+ padding:0;
+ width: 100%;
+}
+#w1200 {
+ z-index:1;
+ position:relative;
+ margin: 0 auto;
+ padding:0 0 100px 0;
+ width: 1200px;
+}
+.w1200 {width:1200px;margin:0 auto;}
+
+#header {height:100px;width:100%;position:relative;}
+#logo {font-family:"MyriadProRegular";display:block;overflow:hidden;margin-top:18px;}
+#logo .logo-bigfont {font-size:30px;line-height:30px;margin-top:12px;}
+.logo-text {margin-left:10px; font-size:18px;color:#3e454c;line-height:18px;}
+.auth_block {margin-top:30px;}
+.login, .register {display:block;padding-left:34px;margin: 0 3px;height:36px;text-decoration:none;font-family:Arial,Helvetica,sans-serif;color:#36393f; line-height:36px;}
+.login {background: url(../img/login-yellow.png) no-repeat left center;}
+.register {background: url(../img/register-yellow.png) no-repeat left center;}
+
+.index-banner-text {height:551px;width:800px;color:#fff;font-size:24px;font-family:"MyriadProRegular";position:relative;overflow:hidden;}
+.index-banner-text h1 {font-size:48px;}
+.index-banner-btn {width:800px;display:table;}
+.index-register, .index-banner-btn p {display:table-cell;vertical-align:middle;padding:10px;}
+.index-banner-btn p {width:440px;font-size:16px;background:#272b31;}
+.index-register {font-size:22px;text-decoration:none;text-transform:uppercase;color:#4e5661;background:#fed13e;text-align:center;}
+
+.index-promo {height:200px;width:100%;position:relative;display:table-cell;vertical-align:middle;}
+.index-promo .round {height:116px;width:116px;position:relative;border-radius:59px;float:left;margin-right:10px;}
+.index-promo .round1 {background:#fed13e url(../img/index-promo-1.png) no-repeat center center;}
+.index-promo .round2 {background:#fed13e url(../img/index-promo-2.png) no-repeat center center;}
+.index-promo .round3 {background:#fed13e url(../img/index-promo-3.png) no-repeat center center;}
+.index-promo-text {float:left;overflow:hidden;width:390px;font-family:"MyriadPro-Light"}
+.index-promo-text h2 {text-transform:uppercase;color:#fed13e;font-size:33px;margin:5px 0;}
+.index-promo-text .text {width:250px;}
+.index-promo-text .text p {color:#fff;margin:5px 0;font-size:18px;}
+
+#reasons {position:relative;margin-bottom:260px;}
+.extended-block {width:1200px;height:110px;overflow:visible;cursor:pointer;padding-right:650px;box-sizing:border-box;}
+.extended-block .order {font-family:"MyriadProCondensed";font-size:110px;line-height:110px;font-weight:normal;color:#e0e0e0;}
+.extended-block.active .order {color:#ffd64f;}
+.extended-block-text .text {width:450px;height:110px;overflow:hidden;}
+.extended-block-text h3 {font-size:18px;line-height:18px;color:#498dd0;margin:8px 0;}
+.extended-block-text p {font-size:14px;line-height:14px;margin:4px 0;}
+.extended-block-more {font-size:13px;line-height:13px;margin:0;background:url(../img/darker-bg.png);position:absolute;left:600px;top:0;width:423px;height:100%;box-sizing:border-box;padding:20px;}
+.extended-block-more .text {padding:20px;overflow:hidden;height:100%;position:relative;background:#fff;box-sizing:border-box;}
+.extended-block-more .text p {margin:0;}
+.extended-triangle {background: url(../img/triangle.png) no-repeat center center;width:26px;height:29px;position:relative;left:574px;top:40px;}
+
+#index-yellow-banner {background:#fed13e;height:190px;width:100%;position:absolute;bottom:100px;z-index:5;}
+#index-yellow-banner .w1200{height:100%;}
+#index-yellow-banner .lamp {background:url(../img/lamp.png) no-repeat center center;height:190px;width:160px;}
+#index-yellow-banner .text {width:640px;}
+#index-yellow-banner .text a {font-size:30px;margin:0;font-family:"MyriadProRegular";display:inline-block;margin:25px 0 18px 0;}
+#index-yellow-banner .text p {margin:0;font-size:15px;font-family:"MyriadProRegular";}
+#index-yellow-banner .btn {width:400px;height:75px;margin-top:57px;}
+#index-yellow-banner .btn a {width:400px;height:75px;background:#313942;display:table-cell;vertical-align:middle;text-align:center;text-transform:uppercase;text-decoration:none;color:#fff;font-size:22px;}
+
+.db {display:block;}
+a { color: #498dd0; cursor: pointer; text-decoration: underline; }
a img { outline: none; border: 0; }
h1, h2, h3 { line-height: normal; }
+h1 {font-family:"Arial Narrow", Arial, sans-serif;font-size:30px;font-weight:normal;font-stretch:condensed;}
+h2 {font-weight: normal;font-size:24px;}
ul.messagelist { padding: 0 0 5px 0; margin: 0; }
ul.messagelist li {
@@ -69,10 +171,24 @@ input[type=text], input[type=password], textarea, option { padding-left: 2px; ma
/*.client-form .buttons { padding: 10px 0 6px 33px; }*/
-.profile-col1 { float: left; width: 70%; }
-.profile-col2 { float: left; width: 30%; }
-
-.info-bar { background-color: #f5f5f5; font-size: 11px; }
+.profile-table {width:100%;overflow:hidden;border-collapse: separate; display:table;border-spacing:15px;background:url(../img/darker-bg.png);padding-bottom:85px;}
+.profile-row {display:table-row;}
+.profile-col1 {width: 785px;margin-right:15px;}
+.profile-col2 {width: 370px;}
+.profile-col1, .profile-col2 {float: none;background:#fff; box-shadow: 0 0 5px #ddd;padding:0px;display:table-cell;}
+#profile {position:relative;margin-bottom:85px;}
+#profile div {line-height: 20px;}
+.reqs_btns {position:absolute; bottom:115px;text-align:center;width:785px;}
+.reqs_btns input {display:inline;font-family:"Arial Narrow", Arial, sans-serif;font-size:22px;text-transform:uppercase;font-weight:bold;padding:25px 15px 25px 70px;border:none;}
+.reqs_btns .yellow-btn {color:#4e5661;}
+.reqs_btns .black-btn {color:#fff; margin-left:15px;}
+.reqs_btns .black-btn.envelope {background:#38424c url(../img/envelope.png) no-repeat 15px center;}
+.reqs_btns .yellow-btn.printer {background:#fed13e url(../img/printer.png) no-repeat 15px center;}
+.info-bar { background-color: #f7f7f7; font-size: 11px; padding:10px 15px; font-size:16px;}
+
+#profile, .profile-filters-form {padding:15px;}
+
+#edit_profile {display: inline-block; float:right;padding-left: 15px;background:url(../img/pencil.png) no-repeat;font-size:13px;}
ul { clear: both; list-style: none; margin: 0; padding: 0; }
@@ -211,9 +327,23 @@ div.blockOverlay { background: url('../img/ajax-loader.gif') no-repeat center ce
div.blockMsg { width: 100%; height: 100%; top: 0; left: 0; text-align: center; }
.w100 {width:100px;min-height:5px;}
.w200 {width:200px;min-height:5px;}
-.header {font-weight:bold; }
+.header {font-weight:bold;}
+
+#footer {background:#38424c;height:100px;position: absolute; bottom: 0px; width:100%;}
+#footer-content {width:1200px;margin:0 auto;}
+#footer-content a {margin-right: 150px;}
+.footer-text {position:relative;padding:25px 0 10px 0;color:#fff;}
+
+#menu {width: 100%;height:50px;}
+#menu ul li {display:table-cell;height:50px;background:#313942;font-family:"Arial Narrow", Arial, sans-serif;font-size:16px;vertical-align:middle;border-right:solid 1px #272b31;border-left: solid 1px #434a52}
+#menu ul li.yellow {background:#fed13e;}
+#menu ul li.yellow a, #menu ul li.yellow span {color:#313942;}
+#menu ul li.yellow.selected{background:url('../img/menu-selected2.png') #fed13e no-repeat bottom center;}
+#menu ul li a, #menu ul li span {text-decoration:none;padding:0 25px;}
+#menu ul li a {color:#fff;}
+#menu ul li span{color:#fed13e;}
+#menu ul li.selected{background:url('../img/menu-selected.png') #313942 no-repeat bottom center; }
-#menu ul li {display:inline;}
.preview {width:780px;height:500px;overflow:scroll;float:left;}
.list-col2 {float: left; width: 180px; margin-left: 16px; padding: 0 10px 10px 10px; border-left: solid 1px #797979;}
.doc_status1, .doc_statusFalse, .doc_statusfalse {color:red;}
diff --git a/project/static/fonts/261413575-a_AvanteLt-DemiBold.eot b/project/static/fonts/261413575-a_AvanteLt-DemiBold.eot
new file mode 100644
index 0000000..3bf5ac8
Binary files /dev/null and b/project/static/fonts/261413575-a_AvanteLt-DemiBold.eot differ
diff --git a/project/static/fonts/261413575-a_AvanteLt-DemiBold.html b/project/static/fonts/261413575-a_AvanteLt-DemiBold.html
new file mode 100644
index 0000000..fa88d48
--- /dev/null
+++ b/project/static/fonts/261413575-a_AvanteLt-DemiBold.html
@@ -0,0 +1,39 @@
+
+
+
+
+ Demo a_AvanteLt
+
+
+
+
+
+Ea fore firmissimum ab ubi ea illustriora. Qui nisi deserunt cohaerescant. Nam
+legam domesticarum o illum aliquip excepteur et mandaremus e fore litteris ut do
+enim tempor proident. Ullamco quis amet pariatur minim, offendit despicationes
+in fabulas se aut quem tempor, aut mandaremus ad quamquam. Ut velit laboris
+exercitation iis a te dolore sunt quorum. Quamquam philosophari ad ullamco.
+Veniam laboris eruditionem id id velit occaecat eu probant eram varias e duis,
+ut e firmissimum.
+
+
+Generated using the @font-face Generator at font-face-generator.com
+
+
+
+
\ No newline at end of file
diff --git a/project/static/fonts/261413575-a_AvanteLt-DemiBold.svg b/project/static/fonts/261413575-a_AvanteLt-DemiBold.svg
new file mode 100644
index 0000000..e69de29
diff --git a/project/static/fonts/261413575-a_AvanteLt-DemiBold.ttf b/project/static/fonts/261413575-a_AvanteLt-DemiBold.ttf
new file mode 100644
index 0000000..694e6c7
Binary files /dev/null and b/project/static/fonts/261413575-a_AvanteLt-DemiBold.ttf differ
diff --git a/project/static/fonts/261413575-a_AvanteLt-DemiBold.woff b/project/static/fonts/261413575-a_AvanteLt-DemiBold.woff
new file mode 100644
index 0000000..d629d35
Binary files /dev/null and b/project/static/fonts/261413575-a_AvanteLt-DemiBold.woff differ
diff --git a/project/static/fonts/332733155-a_AvanteLt-Light.eot b/project/static/fonts/332733155-a_AvanteLt-Light.eot
new file mode 100644
index 0000000..f54734f
Binary files /dev/null and b/project/static/fonts/332733155-a_AvanteLt-Light.eot differ
diff --git a/project/static/fonts/332733155-a_AvanteLt-Light.html b/project/static/fonts/332733155-a_AvanteLt-Light.html
new file mode 100644
index 0000000..72a365d
--- /dev/null
+++ b/project/static/fonts/332733155-a_AvanteLt-Light.html
@@ -0,0 +1,39 @@
+
+
+
+
+ Demo a_AvanteLt
+
+
+
+
+
+Ea fore firmissimum ab ubi ea illustriora. Qui nisi deserunt cohaerescant. Nam
+legam domesticarum o illum aliquip excepteur et mandaremus e fore litteris ut do
+enim tempor proident. Ullamco quis amet pariatur minim, offendit despicationes
+in fabulas se aut quem tempor, aut mandaremus ad quamquam. Ut velit laboris
+exercitation iis a te dolore sunt quorum. Quamquam philosophari ad ullamco.
+Veniam laboris eruditionem id id velit occaecat eu probant eram varias e duis,
+ut e firmissimum.
+
+
+Generated using the @font-face Generator at font-face-generator.com
+
+
+
+
\ No newline at end of file
diff --git a/project/static/fonts/332733155-a_AvanteLt-Light.svg b/project/static/fonts/332733155-a_AvanteLt-Light.svg
new file mode 100644
index 0000000..e69de29
diff --git a/project/static/fonts/332733155-a_AvanteLt-Light.ttf b/project/static/fonts/332733155-a_AvanteLt-Light.ttf
new file mode 100644
index 0000000..7ac90a1
Binary files /dev/null and b/project/static/fonts/332733155-a_AvanteLt-Light.ttf differ
diff --git a/project/static/fonts/332733155-a_AvanteLt-Light.woff b/project/static/fonts/332733155-a_AvanteLt-Light.woff
new file mode 100644
index 0000000..4ce7486
Binary files /dev/null and b/project/static/fonts/332733155-a_AvanteLt-Light.woff differ
diff --git a/project/static/fonts/MyriadPro-Light.eot b/project/static/fonts/MyriadPro-Light.eot
new file mode 100644
index 0000000..5797f87
Binary files /dev/null and b/project/static/fonts/MyriadPro-Light.eot differ
diff --git a/project/static/fonts/MyriadPro-Light.otf b/project/static/fonts/MyriadPro-Light.otf
new file mode 100644
index 0000000..629b7cf
Binary files /dev/null and b/project/static/fonts/MyriadPro-Light.otf differ
diff --git a/project/static/fonts/MyriadPro-Light.svg b/project/static/fonts/MyriadPro-Light.svg
new file mode 100644
index 0000000..629b7cf
Binary files /dev/null and b/project/static/fonts/MyriadPro-Light.svg differ
diff --git a/project/static/fonts/MyriadPro-Light.ttf b/project/static/fonts/MyriadPro-Light.ttf
new file mode 100644
index 0000000..8f3716b
Binary files /dev/null and b/project/static/fonts/MyriadPro-Light.ttf differ
diff --git a/project/static/fonts/MyriadPro-Light.woff b/project/static/fonts/MyriadPro-Light.woff
new file mode 100644
index 0000000..9148d83
Binary files /dev/null and b/project/static/fonts/MyriadPro-Light.woff differ
diff --git a/project/static/fonts/MyriadPro-Regular.eot b/project/static/fonts/MyriadPro-Regular.eot
new file mode 100644
index 0000000..4d091c3
Binary files /dev/null and b/project/static/fonts/MyriadPro-Regular.eot differ
diff --git a/project/static/fonts/MyriadPro-Regular.ttf b/project/static/fonts/MyriadPro-Regular.ttf
new file mode 100644
index 0000000..70c4cb8
Binary files /dev/null and b/project/static/fonts/MyriadPro-Regular.ttf differ
diff --git a/project/static/fonts/myriadpro-cond.eot b/project/static/fonts/myriadpro-cond.eot
new file mode 100644
index 0000000..8932f81
Binary files /dev/null and b/project/static/fonts/myriadpro-cond.eot differ
diff --git a/project/static/fonts/myriadpro-cond.svg b/project/static/fonts/myriadpro-cond.svg
new file mode 100644
index 0000000..84b45b4
--- /dev/null
+++ b/project/static/fonts/myriadpro-cond.svg
@@ -0,0 +1,6618 @@
+
+
+
+
+Created by FontForge 20110222 at Wed Sep 4 10:33:48 2013
+ By Orthosie Webhosting
+Copyright (c) 2000 Adobe Systems Incorporated. All Rights Reserved. U.S. Patent Des. pending.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/project/static/fonts/myriadpro-cond.ttf b/project/static/fonts/myriadpro-cond.ttf
new file mode 100644
index 0000000..e9a7e0d
Binary files /dev/null and b/project/static/fonts/myriadpro-cond.ttf differ
diff --git a/project/static/fonts/myriadpro-cond.woff b/project/static/fonts/myriadpro-cond.woff
new file mode 100644
index 0000000..7d76194
Binary files /dev/null and b/project/static/fonts/myriadpro-cond.woff differ
diff --git a/project/static/fonts/myriadpro-regular.css b/project/static/fonts/myriadpro-regular.css
new file mode 100644
index 0000000..ce3cbba
--- /dev/null
+++ b/project/static/fonts/myriadpro-regular.css
@@ -0,0 +1,8 @@
+@font-face {
+ font-family: 'MyriadProRegular';
+ src: url('myriadpro-regular.eot');
+ src: url('myriadpro-regular.eot') format('embedded-opentype'),
+ url('myriadpro-regular.woff') format('woff'),
+ url('myriadpro-regular.ttf') format('truetype'),
+ url('myriadpro-regular.svg#MyriadProRegular') format('svg');
+}
diff --git a/project/static/fonts/myriadpro-regular.eot b/project/static/fonts/myriadpro-regular.eot
new file mode 100644
index 0000000..fec6930
Binary files /dev/null and b/project/static/fonts/myriadpro-regular.eot differ
diff --git a/project/static/fonts/myriadpro-regular.svg b/project/static/fonts/myriadpro-regular.svg
new file mode 100644
index 0000000..fe04bd7
--- /dev/null
+++ b/project/static/fonts/myriadpro-regular.svg
@@ -0,0 +1,8985 @@
+
+
+
+
+Created by FontForge 20110222 at Wed Sep 4 13:22:36 2013
+ By Orthosie Webhosting
+(c) 1992, 1994, 1997, 2000, 2004 Adobe Systems Incorporated. All rights reserved.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/project/static/fonts/myriadpro-regular.ttf b/project/static/fonts/myriadpro-regular.ttf
new file mode 100644
index 0000000..d069055
Binary files /dev/null and b/project/static/fonts/myriadpro-regular.ttf differ
diff --git a/project/static/fonts/myriadpro-regular.woff b/project/static/fonts/myriadpro-regular.woff
new file mode 100644
index 0000000..943e4ea
Binary files /dev/null and b/project/static/fonts/myriadpro-regular.woff differ
diff --git a/project/static/img/bg.png b/project/static/img/bg.png
new file mode 100644
index 0000000..e6c39ae
Binary files /dev/null and b/project/static/img/bg.png differ
diff --git a/project/static/img/darker-bg.png b/project/static/img/darker-bg.png
new file mode 100644
index 0000000..de6467c
Binary files /dev/null and b/project/static/img/darker-bg.png differ
diff --git a/project/static/img/envelope.png b/project/static/img/envelope.png
new file mode 100644
index 0000000..ac08284
Binary files /dev/null and b/project/static/img/envelope.png differ
diff --git a/project/static/img/index-banner.png b/project/static/img/index-banner.png
new file mode 100644
index 0000000..9d8ca5c
Binary files /dev/null and b/project/static/img/index-banner.png differ
diff --git a/project/static/img/index-promo-1.png b/project/static/img/index-promo-1.png
new file mode 100644
index 0000000..4a4658d
Binary files /dev/null and b/project/static/img/index-promo-1.png differ
diff --git a/project/static/img/index-promo-2.png b/project/static/img/index-promo-2.png
new file mode 100644
index 0000000..87b18e2
Binary files /dev/null and b/project/static/img/index-promo-2.png differ
diff --git a/project/static/img/index-promo-3.png b/project/static/img/index-promo-3.png
new file mode 100644
index 0000000..5fd1239
Binary files /dev/null and b/project/static/img/index-promo-3.png differ
diff --git a/project/static/img/lamp.png b/project/static/img/lamp.png
new file mode 100644
index 0000000..0e2ba4b
Binary files /dev/null and b/project/static/img/lamp.png differ
diff --git a/project/static/img/login-black.png b/project/static/img/login-black.png
new file mode 100644
index 0000000..0fe49de
Binary files /dev/null and b/project/static/img/login-black.png differ
diff --git a/project/static/img/login-yellow.png b/project/static/img/login-yellow.png
new file mode 100644
index 0000000..bac5cc7
Binary files /dev/null and b/project/static/img/login-yellow.png differ
diff --git a/project/static/img/logo.png b/project/static/img/logo.png
new file mode 100644
index 0000000..6fbd53d
Binary files /dev/null and b/project/static/img/logo.png differ
diff --git a/project/static/img/man.png b/project/static/img/man.png
new file mode 100644
index 0000000..8dad677
Binary files /dev/null and b/project/static/img/man.png differ
diff --git a/project/static/img/menu-selected.png b/project/static/img/menu-selected.png
new file mode 100644
index 0000000..fc9c9f2
Binary files /dev/null and b/project/static/img/menu-selected.png differ
diff --git a/project/static/img/menu-selected2.png b/project/static/img/menu-selected2.png
new file mode 100644
index 0000000..3fc254e
Binary files /dev/null and b/project/static/img/menu-selected2.png differ
diff --git a/project/static/img/pencil.png b/project/static/img/pencil.png
new file mode 100644
index 0000000..1953bc5
Binary files /dev/null and b/project/static/img/pencil.png differ
diff --git a/project/static/img/printer.png b/project/static/img/printer.png
new file mode 100644
index 0000000..f674a9e
Binary files /dev/null and b/project/static/img/printer.png differ
diff --git a/project/static/img/register-yellow.png b/project/static/img/register-yellow.png
new file mode 100644
index 0000000..0df27ad
Binary files /dev/null and b/project/static/img/register-yellow.png differ
diff --git a/project/static/img/triangle.png b/project/static/img/triangle.png
new file mode 100644
index 0000000..90d4480
Binary files /dev/null and b/project/static/img/triangle.png differ
diff --git a/project/static/js/commons.js b/project/static/js/commons.js
index f0f18f6..e58a006 100644
--- a/project/static/js/commons.js
+++ b/project/static/js/commons.js
@@ -1,5 +1,13 @@
$(document).ready(function() {
$('.has-datepicker').datepicker({dateFormat: 'dd.mm.yy'});
+ $('.extended-block').click(function(){
+ $('.extended-block').removeClass('active');
+ $('.extended-block-more').hide();
+ $('.extended-triangle').hide();
+ $(this).find('.extended-block-more').show();
+ $(this).find('.extended-triangle').show();
+ $(this).addClass('active');
+ });
$('.close-message').click(function(e){
e.preventDefault();
$(this).closest('li').hide();
diff --git a/project/templates/base.html b/project/templates/base.html
index 01f1a3c..2b8a8bf 100644
--- a/project/templates/base.html
+++ b/project/templates/base.html
@@ -24,45 +24,63 @@
{% endif %}
-
-
-
-
-
{% static_placeholder "header_phone" %}
-
{% static_placeholder "header_address" %}
-
Оставить сообщение
-
-
-