diff --git a/.env.docker b/.env.docker new file mode 100644 index 0000000..bd3ead6 --- /dev/null +++ b/.env.docker @@ -0,0 +1,18 @@ +SECRET_KEY=s3cr3t +DEBUG=True +DB_NAME=django +DB_USER=root +DB_PASSWORD=root +DB_HOST=db +DB_PORT=3306 +ALLOWED_HOSTS= localhost, 10.129.132.146 +GOOGLE_RECAPTCHA_SECRET_KEY=s3cr3t +EMAIL_HOST=localhost +EMAIL_HOST_USER= +EMAIL_HOST_PASSWORD= +EMAIL_PORT=25 +EMAIL_USE_TLS=False +DEFAULT_FROM_EMAIL=collaboratingcommunity@example.com +SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=s3cr3t.apps.googleusercontent.com +SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=s3cr3t + diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..44ac2eb --- /dev/null +++ b/.env.example @@ -0,0 +1,18 @@ +SECRET_KEY=s3cr3t +DEBUG=True +DB_NAME=django +DB_USER=root +DB_PASSWORD=root +DB_HOST=localhost +DB_PORT=3306 +ALLOWED_HOSTS= localhost, 10.129.132.146 +GOOGLE_RECAPTCHA_SECRET_KEY=s3cr3t +EMAIL_HOST=localhost +EMAIL_HOST_USER= +EMAIL_HOST_PASSWORD= +EMAIL_PORT=25 +EMAIL_USE_TLS=False +DEFAULT_FROM_EMAIL=collaboratingcommunity@example.com +SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=s3cr3t.apps.googleusercontent.com +SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=s3cr3t + diff --git a/.evn b/.evn new file mode 100644 index 0000000..44ac2eb --- /dev/null +++ b/.evn @@ -0,0 +1,18 @@ +SECRET_KEY=s3cr3t +DEBUG=True +DB_NAME=django +DB_USER=root +DB_PASSWORD=root +DB_HOST=localhost +DB_PORT=3306 +ALLOWED_HOSTS= localhost, 10.129.132.146 +GOOGLE_RECAPTCHA_SECRET_KEY=s3cr3t +EMAIL_HOST=localhost +EMAIL_HOST_USER= +EMAIL_HOST_PASSWORD= +EMAIL_PORT=25 +EMAIL_USE_TLS=False +DEFAULT_FROM_EMAIL=collaboratingcommunity@example.com +SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=s3cr3t.apps.googleusercontent.com +SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=s3cr3t + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..261fbe3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +__pycache__/ +*.py[cod] +.env +venv/ +media/article +media/community +media/group +media/profile +media/course + +# SQLite database files + +*.sqlite3 diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..c6ae000 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ + language: python # => 1 + + python: # => 2 + - "3.6" + + services: # => 3 + - mysql + + env: # => 4 + -DJANGO=1.11.7 DB=mysql + + install: # => 5 + - pip3 install -r requirements.txt + + before_script: # => 6 + - mysql -u root -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root')" + - mysql -e 'create database django;' -u root -proot + - cp .env.example .env + + script: # => 7 + - python3 manage.py test --keepdb Community Group BasicArticle + diff --git a/BasicArticle/__init__.py b/BasicArticle/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/BasicArticle/admin.py b/BasicArticle/admin.py new file mode 100644 index 0000000..0a20698 --- /dev/null +++ b/BasicArticle/admin.py @@ -0,0 +1,31 @@ +from django.contrib import admin +from .models import Articles, ArticleViewLogs +# Register your models here. +from reversion_compare.admin import CompareVersionAdmin +from reversion_compare.mixins import CompareMixin +from django.db.models import Manager + + +_old_compare = CompareMixin.compare + + +def compare(self, obj, version1, version2): + def replace_taggit_field(version_ins): + for fieldname in version_ins.field_dict: + if isinstance(version_ins.field_dict[fieldname], Manager): + version_ins.field_dict[fieldname] = [] + replace_taggit_field(version1) + replace_taggit_field(version2) + return _old_compare(self, obj, version1, version2) + + +CompareMixin.compare = compare + + + +class VersionedArticleAdmin(CompareVersionAdmin): + pass + + +admin.site.register(Articles, VersionedArticleAdmin) +admin.site.register(ArticleViewLogs, VersionedArticleAdmin) \ No newline at end of file diff --git a/BasicArticle/apps.py b/BasicArticle/apps.py new file mode 100644 index 0000000..a00950f --- /dev/null +++ b/BasicArticle/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class BasicarticleConfig(AppConfig): + name = 'BasicArticle' diff --git a/BasicArticle/forms.py b/BasicArticle/forms.py new file mode 100644 index 0000000..ae24d59 --- /dev/null +++ b/BasicArticle/forms.py @@ -0,0 +1,5 @@ +from django import forms + +class NewArticleForm(forms.Form): + title = forms.CharField() + body = forms.CharField(widget=forms.Textarea) diff --git a/BasicArticle/migrations/0001_initial.py b/BasicArticle/migrations/0001_initial.py new file mode 100644 index 0000000..117cd21 --- /dev/null +++ b/BasicArticle/migrations/0001_initial.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-11-01 12:02 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Articles', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=100)), + ('body', models.TextField()), + ('created_at', models.DateTimeField(auto_now_add=True)), + ], + ), + ] diff --git a/BasicArticle/migrations/0002_articles_created_by.py b/BasicArticle/migrations/0002_articles_created_by.py new file mode 100644 index 0000000..eafc612 --- /dev/null +++ b/BasicArticle/migrations/0002_articles_created_by.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-11-01 12:14 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('BasicArticle', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='articles', + name='created_by', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='articles', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/BasicArticle/migrations/0003_remove_articles_created_by.py b/BasicArticle/migrations/0003_remove_articles_created_by.py new file mode 100644 index 0000000..6f62728 --- /dev/null +++ b/BasicArticle/migrations/0003_remove_articles_created_by.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2017-11-22 07:40 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0002_articles_created_by'), + ] + + operations = [ + migrations.RemoveField( + model_name='articles', + name='created_by', + ), + ] diff --git a/BasicArticle/migrations/0004_articles_state.py b/BasicArticle/migrations/0004_articles_state.py new file mode 100644 index 0000000..451f7ac --- /dev/null +++ b/BasicArticle/migrations/0004_articles_state.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-04 13:42 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('workflow', '0001_initial'), + ('BasicArticle', '0003_remove_articles_created_by'), + ] + + operations = [ + migrations.AddField( + model_name='articles', + name='state', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='articleworkflow', to='workflow.Transitions'), + ), + ] diff --git a/BasicArticle/migrations/0005_remove_articles_state.py b/BasicArticle/migrations/0005_remove_articles_state.py new file mode 100644 index 0000000..01b36cc --- /dev/null +++ b/BasicArticle/migrations/0005_remove_articles_state.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-07 11:39 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0004_articles_state'), + ] + + operations = [ + migrations.RemoveField( + model_name='articles', + name='state', + ), + ] diff --git a/BasicArticle/migrations/0006_articles_created_by.py b/BasicArticle/migrations/0006_articles_created_by.py new file mode 100644 index 0000000..2cc6c9b --- /dev/null +++ b/BasicArticle/migrations/0006_articles_created_by.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-07 11:44 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('BasicArticle', '0005_remove_articles_state'), + ] + + operations = [ + migrations.AddField( + model_name='articles', + name='created_by', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='article_author', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/BasicArticle/migrations/0007_articles_views.py b/BasicArticle/migrations/0007_articles_views.py new file mode 100644 index 0000000..1c71763 --- /dev/null +++ b/BasicArticle/migrations/0007_articles_views.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-07 13:20 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0006_articles_created_by'), + ] + + operations = [ + migrations.AddField( + model_name='articles', + name='views', + field=models.PositiveIntegerField(default=0), + ), + ] diff --git a/BasicArticle/migrations/0008_articleviewlogs.py b/BasicArticle/migrations/0008_articleviewlogs.py new file mode 100644 index 0000000..46accab --- /dev/null +++ b/BasicArticle/migrations/0008_articleviewlogs.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-07 14:37 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0007_articles_views'), + ] + + operations = [ + migrations.CreateModel( + name='ArticleViewLogs', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('ip', models.CharField(max_length=40)), + ('session', models.CharField(max_length=40)), + ('created', models.DateTimeField(auto_now_add=True)), + ('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='articleviews', to='BasicArticle.Articles')), + ], + ), + ] diff --git a/BasicArticle/migrations/0009_articles_state.py b/BasicArticle/migrations/0009_articles_state.py new file mode 100644 index 0000000..b07dfb2 --- /dev/null +++ b/BasicArticle/migrations/0009_articles_state.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-08 10:36 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('workflow', '0001_initial'), + ('BasicArticle', '0008_articleviewlogs'), + ] + + operations = [ + migrations.AddField( + model_name='articles', + name='state', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='articleworkflow', to='workflow.States'), + ), + ] diff --git a/BasicArticle/migrations/0010_articles_image.py b/BasicArticle/migrations/0010_articles_image.py new file mode 100644 index 0000000..2158107 --- /dev/null +++ b/BasicArticle/migrations/0010_articles_image.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-18 08:34 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0009_articles_state'), + ] + + operations = [ + migrations.AddField( + model_name='articles', + name='image', + field=models.ImageField(null=True, upload_to='articles'), + ), + ] diff --git a/BasicArticle/migrations/0011_auto_20180118_0858.py b/BasicArticle/migrations/0011_auto_20180118_0858.py new file mode 100644 index 0000000..a5f44d6 --- /dev/null +++ b/BasicArticle/migrations/0011_auto_20180118_0858.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-18 08:58 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0010_articles_image'), + ] + + operations = [ + migrations.AlterField( + model_name='articles', + name='image', + field=models.ImageField(null=True, upload_to='article'), + ), + ] diff --git a/BasicArticle/migrations/0012_auto_20180123_0846.py b/BasicArticle/migrations/0012_auto_20180123_0846.py new file mode 100644 index 0000000..87d9b2f --- /dev/null +++ b/BasicArticle/migrations/0012_auto_20180123_0846.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-23 08:46 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0011_auto_20180118_0858'), + ] + + operations = [ + migrations.AlterField( + model_name='articles', + name='body', + field=models.TextField(null=True), + ), + ] diff --git a/BasicArticle/migrations/0013_auto_20180227_1136.py b/BasicArticle/migrations/0013_auto_20180227_1136.py new file mode 100644 index 0000000..f5a0d43 --- /dev/null +++ b/BasicArticle/migrations/0013_auto_20180227_1136.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-02-27 11:36 +from __future__ import unicode_literals + +import BasicArticle.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0012_auto_20180123_0846'), + ] + + operations = [ + migrations.AlterField( + model_name='articles', + name='image', + field=models.ImageField(null=True, upload_to=BasicArticle.models.get_file_path), + ), + ] diff --git a/BasicArticle/migrations/0014_auto_20180530_0735.py b/BasicArticle/migrations/0014_auto_20180530_0735.py new file mode 100644 index 0000000..e259d8f --- /dev/null +++ b/BasicArticle/migrations/0014_auto_20180530_0735.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-05-30 07:35 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('BasicArticle', '0013_auto_20180227_1136'), + ] + + operations = [ + migrations.AlterField( + model_name='articles', + name='created_by', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + migrations.AlterField( + model_name='articles', + name='state', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.States'), + ), + migrations.AlterField( + model_name='articleviewlogs', + name='article', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='BasicArticle.Articles'), + ), + ] diff --git a/BasicArticle/migrations/__init__.py b/BasicArticle/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/BasicArticle/models.py b/BasicArticle/models.py new file mode 100644 index 0000000..8669927 --- /dev/null +++ b/BasicArticle/models.py @@ -0,0 +1,27 @@ +from django.db import models +from django.contrib.auth.models import User +from workflow.models import States +import os, uuid + +def get_file_path(instance, filename): + ext = filename.split('.')[-1] + filename = "%s.%s" % (uuid.uuid4(), ext) + return os.path.join('article', filename) + +class Articles(models.Model): + title = models.CharField(max_length=100) + body = models.TextField(null=True) + image = models.ImageField(null=True,upload_to=get_file_path) + created_at = models.DateTimeField(auto_now_add=True) + created_by = models.ForeignKey(User,null=True,related_name='article_author') + views = models.PositiveIntegerField(default=0) + state = models.ForeignKey(States, null=True,related_name='articleworkflow') + + def __str__(self): + return self.title + +class ArticleViewLogs(models.Model): + article = models.ForeignKey(Articles,related_name='articleviews') + ip = models.CharField(max_length=40) + session = models.CharField(max_length=40) + created = models.DateTimeField(auto_now_add=True) diff --git a/BasicArticle/serializers.py b/BasicArticle/serializers.py new file mode 100644 index 0000000..c3e960c --- /dev/null +++ b/BasicArticle/serializers.py @@ -0,0 +1,13 @@ +from rest_framework import serializers +from .models import Articles +from voting.models import Voting + +class ArticleSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Articles + fields = ('id','title', 'body') + +class VotingSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = Voting + fields = ('upvote', 'downvote') diff --git a/BasicArticle/tests.py b/BasicArticle/tests.py new file mode 100644 index 0000000..5d641be --- /dev/null +++ b/BasicArticle/tests.py @@ -0,0 +1,109 @@ +from django.core.urlresolvers import reverse +from django.urls import resolve +from django.test import TestCase +from django.contrib.auth.models import User +from .views import display_articles,view_article,create_article,edit_article,delete_article,article_watch +from .models import Articles + +class ArticleViewsTestCase(TestCase): + def test_index(self): + resp = self.client.get('/articles/') + self.assertEqual(resp.status_code,200) + +class Articlestests(TestCase): + def test_display_articles_view_status_code(self): + url = reverse('display_articles') + response = self.client.get(url) + self.assertEquals(response.status_code, 200) + + def test_display_articles_url_resolves_display_articles(self): + view = resolve('/') + self.assertTrue(view.func, display_articles) + + +class ArticleTests(TestCase): + def test_view_article_success_status_code(self): + url = reverse('article_view', kwargs={'pk': 1}) + response = self.client.get(url) + self.assertTrue(response.status_code, 200) + + def test_view_article_view_not_found_status_code(self): + url = reverse('article_view', kwargs={'pk': 99}) + response = self.client.get(url) + self.assertEquals(response.status_code, 404) + + def test_view_article_url_resolves_view_article(self): + view = resolve('/article-view/1/') + self.assertEquals(view.func, view_article) + + +class article_createtests(TestCase): + def test_community_article_create_valid_post_data(self): + url = reverse('community_article_create') + data={ + 'status':'ALL CATEGORY', + 'cid':'1' + } + response = self.client.post(url,data) + self.assertTrue(response.status_code, 200) + + def test_create_article_url_resolves_create_article(self): + view = resolve('/') + self.assertTrue(view.func, create_article) + + +class article_edittests(TestCase): + def test_article_edit_valid_post(self): + url = reverse('article_edit', kwargs={'pk': 1}) + data={ + 'title':'IAS', + 'body':'Indian Administrative Service(IAS) officer.' + } + response=self.client.post(url,data) + self.assertFalse(Articles.objects.exists()) + + def test_edit_article_view_not_found_status_code(self): + url = reverse('article_edit', kwargs={'pk': 99}) + response = self.client.get(url) + self.assertTrue(response.status_code, 404) + + def test_edit_article_url_resolves_edit_article(self): + view = resolve('/article-edit/1/') + self.assertEquals(view.func, edit_article) + + + +class article_deletetests(TestCase): + def test_delete_article_valid_post_data(self): + url = reverse('article_delete', kwargs={'pk': 1}) + data={ + 'status':'1' + } + response=self.client.post(url,data) + self.assertFalse(Articles.objects.exists()) + + def test_delete_article_view_not_found_status_code(self): + url = reverse('article_delete', kwargs={'pk': 99}) + response = self.client.get(url) + self.assertTrue(response.status_code, 404) + + + def test_article_url_resolves_article_delete(self): + view = resolve('/article-delete/1/') + self.assertEquals(view.func, delete_article) + + +class article_watchTests(TestCase): + def test_article_watch_success_status_code(self): + url = reverse('article_revision', kwargs={'pk': 1}) + response = self.client.get(url) + self.assertTrue(response.status_code, 200) + + def test_watch_article_view_not_found_status_code(self): + url = reverse('article_revision', kwargs={'pk': 99}) + response = self.client.get(url) + self.assertTrue(response.status_code, 404) + + def test_watch_article_url_resolves_watch_article(self): + view = resolve('/article-revision/1/') + self.assertTrue(view.func, article_watch) diff --git a/BasicArticle/views.py b/BasicArticle/views.py new file mode 100644 index 0000000..9b1f5d7 --- /dev/null +++ b/BasicArticle/views.py @@ -0,0 +1,321 @@ +from django.shortcuts import render, redirect +from .forms import NewArticleForm +from django.http import Http404, HttpResponse +from .models import Articles, ArticleViewLogs +from django.views.generic.edit import UpdateView +from reversion_compare.views import HistoryCompareDetailView +from Community.models import CommunityArticles, CommunityMembership, CommunityGroups +from Group.models import GroupArticles, GroupMembership +from django.contrib.auth.models import Group as Roles +from workflow.models import States, Transitions +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger +from search.views import IndexDocuments +from UserRolesPermission.models import favourite +from voting.models import Voting,Law +from reputation.models import DefaultValues,SystemRep,CommunityRep + +def display_articles(request): + """ + display list of articles in article list page. + """ + articlelist=Articles.objects.raw('select o.id,title,username,views,o.created_at,g.name GNAME,c.name CNAME from (select id,title,username,views,created_at,GID,CID COMMID from ( select ba.id,ba.title , username,views,created_at ,(select group_id from Group_grouparticles where article_id=ba.id) GID , (select community_id from Community_communityarticles where article_id=ba.id) CID from (select * from BasicArticle_articles where id in (select article_id from Group_grouparticles) or id in (select article_id from Community_communityarticles)) ba join auth_user au on ba.created_by_id=au.id join workflow_states ws on ws.id=ba.state_id where ws.name="publish") t ) o left join Community_community c on c.id=COMMID left join Group_group g on g.id=GID order by views desc;') + page = request.GET.get('page', 1) + paginator = Paginator(list(articlelist), 5) + try: + articles = paginator.page(page) + except PageNotAnInteger: + articles = paginator.page(1) + except EmptyPage: + articles = paginator.page(paginator.num_pages) + fav_articles = '' + if request.user.is_authenticated: + fav_articles = favourite.objects.raw('select ba.id as id , title from BasicArticle_articles as ba ,UserRolesPermission_favourite as uf where ba.id=resource and user_id =%s;', [request.user.id]) + return render(request, 'articles.html',{'articles':articles, 'favs':fav_articles}) + +def create_article(request): + """ + create a new article. This function will be called for creating an + article in community or group. + """ + if request.user.is_authenticated: + if request.method == 'POST': + state = States.objects.get(name='draft') + title = request.POST['title'] + body = request.POST['body'] + try: + image = request.FILES['article_image'] + except: + image = None + article = Articles.objects.create( + title = title, + body = body, + image = image, + created_by = request.user, + state = state + ) + return article + else: + return redirect('login') + +def view_article(request, pk): + """ + A function to view an article. The function will check if the article belongs to group or + community before displaying it. It displays whether the article belongs + to group or community + """ + law = Law.objects.filter(article_id=pk) + if(law.count() == 0): + law = Law(article_id = pk) + law.save() + law = Law.objects.get(article_id=pk) + if request.user.is_authenticated: + voting = Voting.objects.filter(article_id=pk,user_id=request.user.id) + if(voting.count() == 0): + voting = Voting() + voting.article_id = pk + voting.user = request.user + voting.upflag = False + voting.downflag = False + voting.save() + voting = Voting.objects.get(article_id=pk,user_id=request.user.id) + else: + voting = Voting() + voting.article_id = pk + voting.upflag = False + voting.downflag = False + try: + article = CommunityArticles.objects.get(article_id=pk) + if article.article.state == States.objects.get(name='draft') and article.article.created_by != request.user: + return redirect('home') + count = article_watch(request, article.article) + except CommunityArticles.DoesNotExist: + try: + article = GroupArticles.objects.get(article_id=pk) + if article.article.state == States.objects.get(name='draft') and article.article.created_by != request.user: + return redirect('home') + count = article_watch(request, article.article) + except GroupArticles.DoesNotExist: + raise Http404 + is_fav ='' + if request.user.is_authenticated: + is_fav = favourite.objects.filter(user = request.user, resource = pk, category= 'article').exists() + + return render(request, 'view_article.html', {'article': article, 'count':count, 'is_fav':is_fav, 'art':voting, 'law':law}) + + +def edit_article(request, pk): + """ + A function to edit an article. The function check whether the method is post, + if not it will check if the article belong to group or community and + whether the user is a member of that group or cummunity. If the user is not a member, + he will not be allowed to edit this article. If the user is a member of the group and not the community + than he will not be allowed to edit this article + """ + if request.user.is_authenticated: + if request.method == 'POST': + if 'state' in request.POST and request.POST['state'] == 'save': + article = Articles.objects.get(pk=pk) + article.title = request.POST['title'] + article.body = request.POST['body'] + try: + article.image = request.FILES['article_image'] + article.save(update_fields=["title","body","image"]) + except: + article.save(update_fields=["title","body"]) + return redirect('article_view',pk=article.pk) + else: + article = Articles.objects.get(pk=pk) + title = request.POST['title'] + body = request.POST['body'] + current_state = request.POST['current'] + try: + current_state = States.objects.get(name=current_state) + if 'private' in request.POST: + to_state = States.objects.get(name='private') + article.state = to_state + else: + to_state = request.POST['state'] + to_state = States.objects.get(name=to_state) + if current_state.name == 'draft' and to_state.name == 'visible' and 'belongs_to' in request.POST: + article.state = to_state + elif current_state.name == 'visible' and to_state.name == 'publish' and 'belongs_to' in request.POST: + article.state = to_state + else: + transitions = Transitions.objects.get(from_state=current_state, to_state=to_state) + article.state = to_state + article.title = title + article.body = body + try: + article.image = request.FILES['article_image'] + article.save(update_fields=["title","body", "image", "state"]) + except: + article.save(update_fields=["title","body", "state"]) + except Transitions.DoesNotExist: + message = "transition doesn' exist" + except States.DoesNotExist: + message = "state doesn' exist" + if to_state.name == 'publish': + commart = CommunityArticles.objects.filter(article_id=pk).exists() + art = Articles.objects.get(pk=pk) + author = art.created_by + publisher = request.user + if(commart is False): + grpart = GroupArticles.objects.get(article_id=pk) + grp = grpart.group + community = CommunityGroups.objects.get(group_id=grp.id) + else: + commart = CommunityArticles.objects.get(article_id=pk) + community = commart.community + + author_crep = CommunityRep.objects.get(community_id=community.id, user_id=author.id) + author_srep = SystemRep.objects.get(user_id=author.id) + publisher_crep = CommunityRep.objects.get(community_id=community.id,user_id=publisher.id) + publisher_srep = SystemRep.objects.get(user_id=publisher.id) + defaultval = DefaultValues.objects.get(pk=1) + author_srep.sysrep+=defaultval.published_author + author_crep.rep+=defaultval.published_author + publisher_crep.rep+=defaultval.published_publisher + publisher_srep.sysrep+=defaultval.published_publisher + if(author_crep.rep >= defaultval.threshold_cadmin): + community_membership = CommunityMembership.objects.get(user_id=author.id,community_id=community.id) + community_membership.role = Roles.objects.get(name='community_admin') + community_membership.save() + elif(author_crep >= defaultval.threshold_publisher): + community_membership = CommunityMembership.objects.get(user_id=author.id,community_id=community.id) + community_membership.role = Roles.objects.get(name='community_admin') + community_membership.save() + + if(publisher_crep.rep >= defaultval.threshold_cadmin): + community_membership = CommunityMembership.objects.get(user_id=author.id,community_id=community.id) + community_membership.role = Roles.objects.get(name='community_admin') + community_membership.save() + author_srep.save() + author_crep.save() + publisher_crep.save() + publisher_srep.save() + #IndexDocuments(article.pk, article.title, article.body, article.created_at) + return redirect('article_view',pk=pk) + else: + message="" + transition ="" + cmember = "" + gmember = "" + private = "" + try: + article = CommunityArticles.objects.get(article=pk) + if article.article.state == States.objects.get(name='draft') and article.article.created_by != request.user: + return redirect('home') + if article.article.state == States.objects.get(name='publish'): + return redirect('article_view',pk=pk) + belongs_to = 'community' + try: + cmember = CommunityMembership.objects.get(user =request.user.id, community = article.community.pk) + try: + transition = Transitions.objects.get(from_state=article.article.state) + state1 = States.objects.get(name='draft') + state2 = States.objects.get(name='private') + if transition.from_state == state1 and transition.to_state ==state2: + transition.to_state = States.objects.get(name='visible') + except Transitions.DoesNotExist: + message = "transition doesn't exist" + except States.DoesNotExist: + message = "state does n't exist" + except CommunityMembership.DoesNotExist: + cmember = 'FALSE' + except CommunityArticles.DoesNotExist: + try: + article = GroupArticles.objects.get(article=pk) + if article.article.state == States.objects.get(name='publish'): + return redirect('article_view',pk=pk) + if article.article.state == States.objects.get(name='draft') and article.article.created_by != request.user: + return redirect('home') + belongs_to = 'group' + private ='' + try: + communitygroup = CommunityGroups.objects.get(group=article.group.pk) + cmember = CommunityMembership.objects.get(user=request.user.id, community = communitygroup.community.pk) + try: + gmember =GroupMembership.objects.get(user=request.user.id, group = article.group.pk) + except GroupMembership.DoesNotExist: + gmember = 'FALSE' + try: + transition = Transitions.objects.get(from_state=article.article.state) + state1 = States.objects.get(name='visible') + state2 = States.objects.get(name='publishable') + if transition.from_state == state1 and transition.to_state ==state2: + transition.to_state = States.objects.get(name='publish') + private = States.objects.get(name='private') + except Transitions.DoesNotExist: + message = "transition doesn't exist" + except CommunityMembership.DoesNotExist: + message = 'You are not a member of
Collaborative Communities’ helps us to know what other communities can offer and share resources to achieve a common goal. This forum will help us disscuss about the system and its features that can be upgraded.
',1,2,1,0,NULL,0,0,NULL); +/*!40000 ALTER TABLE `forum_forum` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_member_forumprofile` +-- + +DROP TABLE IF EXISTS `forum_member_forumprofile`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_member_forumprofile` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `avatar` varchar(100) DEFAULT NULL, + `signature` longtext, + `posts_count` int(10) unsigned NOT NULL, + `_signature_rendered` longtext, + `user_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `user_id` (`user_id`), + CONSTRAINT `forum_member_forumprofile_user_id_9d6b9b6b_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_member_forumprofile` +-- + +LOCK TABLES `forum_member_forumprofile` WRITE; +/*!40000 ALTER TABLE `forum_member_forumprofile` DISABLE KEYS */; +/*!40000 ALTER TABLE `forum_member_forumprofile` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_permission_forumpermission` +-- + +DROP TABLE IF EXISTS `forum_permission_forumpermission`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_permission_forumpermission` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `codename` varchar(150) NOT NULL, + `is_global` tinyint(1) NOT NULL, + `is_local` tinyint(1) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `codename` (`codename`), + KEY `forum_permission_forumpermission_is_global_5772ce17` (`is_global`), + KEY `forum_permission_forumpermission_is_local_92cef3ca` (`is_local`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_permission_forumpermission` +-- + +LOCK TABLES `forum_permission_forumpermission` WRITE; +/*!40000 ALTER TABLE `forum_permission_forumpermission` DISABLE KEYS */; +INSERT INTO `forum_permission_forumpermission` VALUES (1,'can_see_forum',1,1),(2,'can_read_forum',1,1),(3,'can_start_new_topics',1,1),(4,'can_reply_to_topics',1,1),(5,'can_post_announcements',1,1),(6,'can_post_stickies',1,1),(7,'can_delete_own_posts',1,1),(8,'can_edit_own_posts',1,1),(9,'can_post_without_approval',1,1),(10,'can_create_polls',1,1),(11,'can_vote_in_polls',1,1),(12,'can_attach_file',1,1),(13,'can_download_file',1,1),(14,'can_lock_topics',0,1),(15,'can_move_topics',0,1),(16,'can_edit_posts',0,1),(17,'can_delete_posts',0,1),(18,'can_approve_posts',0,1),(19,'can_reply_to_locked_topics',0,1); +/*!40000 ALTER TABLE `forum_permission_forumpermission` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_permission_groupforumpermission` +-- + +DROP TABLE IF EXISTS `forum_permission_groupforumpermission`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_permission_groupforumpermission` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `has_perm` tinyint(1) NOT NULL, + `forum_id` int(11) DEFAULT NULL, + `group_id` int(11) NOT NULL, + `permission_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `forum_permission_groupfo_permission_id_forum_id_g_a1e477c8_uniq` (`permission_id`,`forum_id`,`group_id`), + KEY `forum_permission_gro_forum_id_d59d5cac_fk_forum_for` (`forum_id`), + KEY `forum_permission_gro_group_id_b515635b_fk_auth_grou` (`group_id`), + KEY `forum_permission_groupforumpermission_has_perm_48cae01d` (`has_perm`), + CONSTRAINT `forum_permission_gro_forum_id_d59d5cac_fk_forum_for` FOREIGN KEY (`forum_id`) REFERENCES `forum_forum` (`id`), + CONSTRAINT `forum_permission_gro_group_id_b515635b_fk_auth_grou` FOREIGN KEY (`group_id`) REFERENCES `auth_group` (`id`), + CONSTRAINT `forum_permission_gro_permission_id_2475fe70_fk_forum_per` FOREIGN KEY (`permission_id`) REFERENCES `forum_permission_forumpermission` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_permission_groupforumpermission` +-- + +LOCK TABLES `forum_permission_groupforumpermission` WRITE; +/*!40000 ALTER TABLE `forum_permission_groupforumpermission` DISABLE KEYS */; +INSERT INTO `forum_permission_groupforumpermission` VALUES (1,1,NULL,1,2),(2,1,NULL,1,3),(3,1,NULL,1,9),(4,1,NULL,1,8),(5,1,NULL,1,5),(6,1,NULL,1,1),(7,1,NULL,1,6),(8,1,NULL,1,7),(9,1,NULL,1,4); +/*!40000 ALTER TABLE `forum_permission_groupforumpermission` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_permission_userforumpermission` +-- + +DROP TABLE IF EXISTS `forum_permission_userforumpermission`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_permission_userforumpermission` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `has_perm` tinyint(1) NOT NULL, + `anonymous_user` tinyint(1) NOT NULL, + `forum_id` int(11) DEFAULT NULL, + `permission_id` int(11) NOT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `forum_permission_userfor_permission_id_forum_id_u_024a3693_uniq` (`permission_id`,`forum_id`,`user_id`), + KEY `forum_permission_use_forum_id_f781f4d6_fk_forum_for` (`forum_id`), + KEY `forum_permission_use_user_id_8106d02d_fk_auth_user` (`user_id`), + KEY `forum_permission_userforumpermission_anonymous_user_8aabbd9d` (`anonymous_user`), + KEY `forum_permission_userforumpermission_has_perm_1b5ee7ac` (`has_perm`), + CONSTRAINT `forum_permission_use_forum_id_f781f4d6_fk_forum_for` FOREIGN KEY (`forum_id`) REFERENCES `forum_forum` (`id`), + CONSTRAINT `forum_permission_use_permission_id_9090e930_fk_forum_per` FOREIGN KEY (`permission_id`) REFERENCES `forum_permission_forumpermission` (`id`), + CONSTRAINT `forum_permission_use_user_id_8106d02d_fk_auth_user` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_permission_userforumpermission` +-- + +LOCK TABLES `forum_permission_userforumpermission` WRITE; +/*!40000 ALTER TABLE `forum_permission_userforumpermission` DISABLE KEYS */; +INSERT INTO `forum_permission_userforumpermission` VALUES (1,1,1,NULL,1,NULL),(2,1,1,NULL,2,NULL); +/*!40000 ALTER TABLE `forum_permission_userforumpermission` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_polls_topicpoll` +-- + +DROP TABLE IF EXISTS `forum_polls_topicpoll`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_polls_topicpoll` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `created` datetime(6) NOT NULL, + `updated` datetime(6) NOT NULL, + `question` varchar(255) NOT NULL, + `duration` int(10) unsigned DEFAULT NULL, + `max_options` smallint(5) unsigned NOT NULL, + `user_changes` tinyint(1) NOT NULL, + `topic_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `topic_id` (`topic_id`), + CONSTRAINT `forum_polls_topicpol_topic_id_1b827b83_fk_forum_con` FOREIGN KEY (`topic_id`) REFERENCES `forum_conversation_topic` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_polls_topicpoll` +-- + +LOCK TABLES `forum_polls_topicpoll` WRITE; +/*!40000 ALTER TABLE `forum_polls_topicpoll` DISABLE KEYS */; +/*!40000 ALTER TABLE `forum_polls_topicpoll` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_polls_topicpolloption` +-- + +DROP TABLE IF EXISTS `forum_polls_topicpolloption`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_polls_topicpolloption` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `text` varchar(255) NOT NULL, + `poll_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `forum_polls_topicpol_poll_id_a54cbd58_fk_forum_pol` (`poll_id`), + CONSTRAINT `forum_polls_topicpol_poll_id_a54cbd58_fk_forum_pol` FOREIGN KEY (`poll_id`) REFERENCES `forum_polls_topicpoll` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_polls_topicpolloption` +-- + +LOCK TABLES `forum_polls_topicpolloption` WRITE; +/*!40000 ALTER TABLE `forum_polls_topicpolloption` DISABLE KEYS */; +/*!40000 ALTER TABLE `forum_polls_topicpolloption` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_polls_topicpollvote` +-- + +DROP TABLE IF EXISTS `forum_polls_topicpollvote`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_polls_topicpollvote` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `timestamp` datetime(6) NOT NULL, + `poll_option_id` int(11) NOT NULL, + `voter_id` int(11) DEFAULT NULL, + `anonymous_key` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `forum_polls_topicpol_poll_option_id_a075b665_fk_forum_pol` (`poll_option_id`), + KEY `forum_polls_topicpollvote_voter_id_0a287559_fk_auth_user_id` (`voter_id`), + CONSTRAINT `forum_polls_topicpol_poll_option_id_a075b665_fk_forum_pol` FOREIGN KEY (`poll_option_id`) REFERENCES `forum_polls_topicpolloption` (`id`), + CONSTRAINT `forum_polls_topicpollvote_voter_id_0a287559_fk_auth_user_id` FOREIGN KEY (`voter_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_polls_topicpollvote` +-- + +LOCK TABLES `forum_polls_topicpollvote` WRITE; +/*!40000 ALTER TABLE `forum_polls_topicpollvote` DISABLE KEYS */; +/*!40000 ALTER TABLE `forum_polls_topicpollvote` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_tracking_forumreadtrack` +-- + +DROP TABLE IF EXISTS `forum_tracking_forumreadtrack`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_tracking_forumreadtrack` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `mark_time` datetime(6) NOT NULL, + `forum_id` int(11) NOT NULL, + `user_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `forum_tracking_forumreadtrack_user_id_forum_id_3e64777a_uniq` (`user_id`,`forum_id`), + KEY `forum_tracking_forum_forum_id_bbd3fb47_fk_forum_for` (`forum_id`), + KEY `forum_tracking_forumreadtrack_mark_time_72eec39e` (`mark_time`), + CONSTRAINT `forum_tracking_forum_forum_id_bbd3fb47_fk_forum_for` FOREIGN KEY (`forum_id`) REFERENCES `forum_forum` (`id`), + CONSTRAINT `forum_tracking_forumreadtrack_user_id_932d4605_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_tracking_forumreadtrack` +-- + +LOCK TABLES `forum_tracking_forumreadtrack` WRITE; +/*!40000 ALTER TABLE `forum_tracking_forumreadtrack` DISABLE KEYS */; +/*!40000 ALTER TABLE `forum_tracking_forumreadtrack` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `forum_tracking_topicreadtrack` +-- + +DROP TABLE IF EXISTS `forum_tracking_topicreadtrack`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `forum_tracking_topicreadtrack` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `mark_time` datetime(6) NOT NULL, + `topic_id` int(11) NOT NULL, + `user_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `forum_tracking_topicreadtrack_user_id_topic_id_6fe3e105_uniq` (`user_id`,`topic_id`), + KEY `forum_tracking_topic_topic_id_9a53bd45_fk_forum_con` (`topic_id`), + KEY `forum_tracking_topicreadtrack_mark_time_7dafc483` (`mark_time`), + CONSTRAINT `forum_tracking_topic_topic_id_9a53bd45_fk_forum_con` FOREIGN KEY (`topic_id`) REFERENCES `forum_conversation_topic` (`id`), + CONSTRAINT `forum_tracking_topicreadtrack_user_id_2762562b_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `forum_tracking_topicreadtrack` +-- + +LOCK TABLES `forum_tracking_topicreadtrack` WRITE; +/*!40000 ALTER TABLE `forum_tracking_topicreadtrack` DISABLE KEYS */; +/*!40000 ALTER TABLE `forum_tracking_topicreadtrack` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `reversion_revision` +-- + +DROP TABLE IF EXISTS `reversion_revision`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `reversion_revision` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `date_created` datetime(6) NOT NULL, + `comment` longtext NOT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `reversion_revision_user_id_17095f45_fk_auth_user_id` (`user_id`), + KEY `reversion_revision_date_created_96f7c20c` (`date_created`), + CONSTRAINT `reversion_revision_user_id_17095f45_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `reversion_revision` +-- + +LOCK TABLES `reversion_revision` WRITE; +/*!40000 ALTER TABLE `reversion_revision` DISABLE KEYS */; +/*!40000 ALTER TABLE `reversion_revision` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `reversion_version` +-- + +DROP TABLE IF EXISTS `reversion_version`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `reversion_version` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `object_id` varchar(191) NOT NULL, + `format` varchar(255) NOT NULL, + `serialized_data` longtext NOT NULL, + `object_repr` longtext NOT NULL, + `content_type_id` int(11) NOT NULL, + `revision_id` int(11) NOT NULL, + `db` varchar(191) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `reversion_version_db_content_type_id_objec_b2c54f65_uniq` (`db`,`content_type_id`,`object_id`,`revision_id`), + KEY `reversion_version_content_type_id_7d0ff25c_fk_django_co` (`content_type_id`), + KEY `reversion_version_revision_id_af9f6a9d_fk_reversion_revision_id` (`revision_id`), + CONSTRAINT `reversion_version_content_type_id_7d0ff25c_fk_django_co` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`), + CONSTRAINT `reversion_version_revision_id_af9f6a9d_fk_reversion_revision_id` FOREIGN KEY (`revision_id`) REFERENCES `reversion_revision` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `reversion_version` +-- + +LOCK TABLES `reversion_version` WRITE; +/*!40000 ALTER TABLE `reversion_version` DISABLE KEYS */; +/*!40000 ALTER TABLE `reversion_version` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `social_auth_association` +-- + +DROP TABLE IF EXISTS `social_auth_association`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `social_auth_association` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `server_url` varchar(255) NOT NULL, + `handle` varchar(255) NOT NULL, + `secret` varchar(255) NOT NULL, + `issued` int(11) NOT NULL, + `lifetime` int(11) NOT NULL, + `assoc_type` varchar(64) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `social_auth_association_server_url_handle_078befa2_uniq` (`server_url`,`handle`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `social_auth_association` +-- + +LOCK TABLES `social_auth_association` WRITE; +/*!40000 ALTER TABLE `social_auth_association` DISABLE KEYS */; +/*!40000 ALTER TABLE `social_auth_association` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `social_auth_code` +-- + +DROP TABLE IF EXISTS `social_auth_code`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `social_auth_code` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `email` varchar(254) NOT NULL, + `code` varchar(32) NOT NULL, + `verified` tinyint(1) NOT NULL, + `timestamp` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `social_auth_code_email_code_801b2d02_uniq` (`email`,`code`), + KEY `social_auth_code_code_a2393167` (`code`), + KEY `social_auth_code_timestamp_176b341f` (`timestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `social_auth_code` +-- + +LOCK TABLES `social_auth_code` WRITE; +/*!40000 ALTER TABLE `social_auth_code` DISABLE KEYS */; +/*!40000 ALTER TABLE `social_auth_code` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `social_auth_nonce` +-- + +DROP TABLE IF EXISTS `social_auth_nonce`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `social_auth_nonce` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `server_url` varchar(255) NOT NULL, + `timestamp` int(11) NOT NULL, + `salt` varchar(65) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `social_auth_nonce_server_url_timestamp_salt_f6284463_uniq` (`server_url`,`timestamp`,`salt`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `social_auth_nonce` +-- + +LOCK TABLES `social_auth_nonce` WRITE; +/*!40000 ALTER TABLE `social_auth_nonce` DISABLE KEYS */; +/*!40000 ALTER TABLE `social_auth_nonce` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `social_auth_partial` +-- + +DROP TABLE IF EXISTS `social_auth_partial`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `social_auth_partial` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `token` varchar(32) NOT NULL, + `next_step` smallint(5) unsigned NOT NULL, + `backend` varchar(32) NOT NULL, + `data` longtext NOT NULL, + `timestamp` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `social_auth_partial_token_3017fea3` (`token`), + KEY `social_auth_partial_timestamp_50f2119f` (`timestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `social_auth_partial` +-- + +LOCK TABLES `social_auth_partial` WRITE; +/*!40000 ALTER TABLE `social_auth_partial` DISABLE KEYS */; +/*!40000 ALTER TABLE `social_auth_partial` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `social_auth_usersocialauth` +-- + +DROP TABLE IF EXISTS `social_auth_usersocialauth`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `social_auth_usersocialauth` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `provider` varchar(32) NOT NULL, + `uid` varchar(255) NOT NULL, + `extra_data` longtext NOT NULL, + `user_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `social_auth_usersocialauth_provider_uid_e6b5e668_uniq` (`provider`,`uid`), + KEY `social_auth_usersocialauth_user_id_17d28448_fk_auth_user_id` (`user_id`), + CONSTRAINT `social_auth_usersocialauth_user_id_17d28448_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `social_auth_usersocialauth` +-- + +LOCK TABLES `social_auth_usersocialauth` WRITE; +/*!40000 ALTER TABLE `social_auth_usersocialauth` DISABLE KEYS */; +/*!40000 ALTER TABLE `social_auth_usersocialauth` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `webcontent_faq` +-- + +DROP TABLE IF EXISTS `webcontent_faq`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `webcontent_faq` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `question` varchar(200) NOT NULL, + `answer` longtext NOT NULL, + `category_id` int(11) DEFAULT NULL, + `flow` double NOT NULL, + PRIMARY KEY (`id`), + KEY `webcontent_faq_category_id_b92f315f_fk_webcontent_faqcategory_id` (`category_id`), + CONSTRAINT `webcontent_faq_category_id_b92f315f_fk_webcontent_faqcategory_id` FOREIGN KEY (`category_id`) REFERENCES `webcontent_faqcategory` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `webcontent_faq` +-- + +LOCK TABLES `webcontent_faq` WRITE; +/*!40000 ALTER TABLE `webcontent_faq` DISABLE KEYS */; +/*!40000 ALTER TABLE `webcontent_faq` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `webcontent_faqcategory` +-- + +DROP TABLE IF EXISTS `webcontent_faqcategory`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `webcontent_faqcategory` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `desc` longtext NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `webcontent_faqcategory` +-- + +LOCK TABLES `webcontent_faqcategory` WRITE; +/*!40000 ALTER TABLE `webcontent_faqcategory` DISABLE KEYS */; +INSERT INTO `webcontent_faqcategory` VALUES (1,'General','General faq question'),(2,'Community','Category for community faqs.'),(3,'Group','category for groups faq'),(4,'Resource','category for resource faqs'),(5,'Roles and Permissions','categories for roles'),(6,'Workflow','category for workflow'); +/*!40000 ALTER TABLE `webcontent_faqcategory` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `webcontent_feedback` +-- + +DROP TABLE IF EXISTS `webcontent_feedback`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `webcontent_feedback` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `title` varchar(100) NOT NULL, + `body` longtext NOT NULL, + `provided_at` datetime(6) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `webcontent_feedback_user_id_943add81_fk_auth_user_id` (`user_id`), + CONSTRAINT `webcontent_feedback_user_id_943add81_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `webcontent_feedback` +-- + +LOCK TABLES `webcontent_feedback` WRITE; +/*!40000 ALTER TABLE `webcontent_feedback` DISABLE KEYS */; +/*!40000 ALTER TABLE `webcontent_feedback` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `workflow_states` +-- + +DROP TABLE IF EXISTS `workflow_states`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workflow_states` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `desc` longtext, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `workflow_states` +-- + +LOCK TABLES `workflow_states` WRITE; +/*!40000 ALTER TABLE `workflow_states` DISABLE KEYS */; +INSERT INTO `workflow_states` VALUES (1,'draft','save as draft state'),(2,'visible','this state make the content visible to community'),(3,'publish','save as visible state'),(4,'private','this state make the content visible to group'),(5,'publishable','this content makes the content ready for publishing'); +/*!40000 ALTER TABLE `workflow_states` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `workflow_transitions` +-- + +DROP TABLE IF EXISTS `workflow_transitions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workflow_transitions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `from_state_id` int(11) DEFAULT NULL, + `to_state_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `workflow_transitions_from_state_id_5ff9ea9d_fk_workflow_` (`from_state_id`), + KEY `workflow_transitions_to_state_id_8d6c5cc6_fk_workflow_states_id` (`to_state_id`), + CONSTRAINT `workflow_transitions_from_state_id_5ff9ea9d_fk_workflow_` FOREIGN KEY (`from_state_id`) REFERENCES `workflow_states` (`id`), + CONSTRAINT `workflow_transitions_to_state_id_8d6c5cc6_fk_workflow_states_id` FOREIGN KEY (`to_state_id`) REFERENCES `workflow_states` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `workflow_transitions` +-- + +LOCK TABLES `workflow_transitions` WRITE; +/*!40000 ALTER TABLE `workflow_transitions` DISABLE KEYS */; +INSERT INTO `workflow_transitions` VALUES (1,'Make Visible to Group',1,4),(3,'Make Visible to Community',4,2),(4,'Ready for Publishing',2,5),(5,'Publish',5,3); +/*!40000 ALTER TABLE `workflow_transitions` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2018-04-06 19:00:53 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 0000000..6b95d6f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3' + +services: + db: + image: mysql:5.7 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: django + MYSQL_HOST: localhost + MYSQL_USER: django + MYSQL_PASSWORD: django + ports: + - "3306:3306" + web: + build: . + command: python3 manage.py runserver 0.0.0.0:8000 + ports: + - "8000:8000" + depends_on: + - db diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..7e81755 --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CollaborationSystem.settings") + try: + from django.core.management import execute_from_command_line + except ImportError: + # The above import may fail for some other reason. Ensure that the + # issue is really that Django is missing to avoid masking other + # exceptions on Python 2. + try: + import django + except ImportError: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) + raise + execute_from_command_line(sys.argv) diff --git a/media/course/75c35087-dea9-4d28-8848-a5bdc546f757.jpg b/media/course/75c35087-dea9-4d28-8848-a5bdc546f757.jpg new file mode 100644 index 0000000..ce894cd Binary files /dev/null and b/media/course/75c35087-dea9-4d28-8848-a5bdc546f757.jpg differ diff --git a/media/course/b6373df9-89b9-4b4e-b6eb-ce358b75bcb0.jpg b/media/course/b6373df9-89b9-4b4e-b6eb-ce358b75bcb0.jpg new file mode 100644 index 0000000..2cd78c3 Binary files /dev/null and b/media/course/b6373df9-89b9-4b4e-b6eb-ce358b75bcb0.jpg differ diff --git a/media/default/article_image_default.png b/media/default/article_image_default.png new file mode 100644 index 0000000..69c96ed Binary files /dev/null and b/media/default/article_image_default.png differ diff --git a/media/default/avatar.png b/media/default/avatar.png new file mode 100644 index 0000000..3b96c0a Binary files /dev/null and b/media/default/avatar.png differ diff --git a/media/default/community_image_default.png b/media/default/community_image_default.png new file mode 100644 index 0000000..d0aaa63 Binary files /dev/null and b/media/default/community_image_default.png differ diff --git a/media/default/course_image_default.png b/media/default/course_image_default.png new file mode 100644 index 0000000..45271d5 Binary files /dev/null and b/media/default/course_image_default.png differ diff --git a/media/default/group_image_default.png b/media/default/group_image_default.png new file mode 100644 index 0000000..078d758 Binary files /dev/null and b/media/default/group_image_default.png differ diff --git a/media/default/license.png b/media/default/license.png new file mode 100644 index 0000000..132e1ef Binary files /dev/null and b/media/default/license.png differ diff --git a/reputation/__init__.py b/reputation/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/reputation/admin.py b/reputation/admin.py new file mode 100644 index 0000000..f61ec96 --- /dev/null +++ b/reputation/admin.py @@ -0,0 +1,6 @@ +from django.contrib import admin +from .models import SystemRep,CommunityRep,DefaultValues + +admin.site.register(SystemRep) +admin.site.register(CommunityRep) +admin.site.register(DefaultValues) diff --git a/reputation/apps.py b/reputation/apps.py new file mode 100644 index 0000000..b4e0158 --- /dev/null +++ b/reputation/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class ReputationConfig(AppConfig): + name = 'reputation' diff --git a/reputation/migrations/0001_initial.py b/reputation/migrations/0001_initial.py new file mode 100644 index 0000000..6a85d64 --- /dev/null +++ b/reputation/migrations/0001_initial.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-06-05 08:25 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('Community', '0025_communitycourses_community'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='CommunityRep', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('rep', models.PositiveIntegerField(default=0)), + ('community', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='Community.Community')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='SystemRep', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sysrep', models.PositiveIntegerField(default=0)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/reputation/migrations/0002_auto_20180605_0831.py b/reputation/migrations/0002_auto_20180605_0831.py new file mode 100644 index 0000000..9f1db9d --- /dev/null +++ b/reputation/migrations/0002_auto_20180605_0831.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-06-05 08:31 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('reputation', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='communityrep', + name='rep', + field=models.IntegerField(default=0), + ), + migrations.AlterField( + model_name='systemrep', + name='sysrep', + field=models.IntegerField(default=0), + ), + ] diff --git a/reputation/migrations/0003_auto_20180607_0543.py b/reputation/migrations/0003_auto_20180607_0543.py new file mode 100644 index 0000000..c13f906 --- /dev/null +++ b/reputation/migrations/0003_auto_20180607_0543.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-06-07 05:43 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('reputation', '0002_auto_20180605_0831'), + ] + + operations = [ + migrations.CreateModel( + name='DefaultValues', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('upvote', models.PositiveIntegerField(default=1)), + ('downvote', models.PositiveIntegerField(default=1)), + ('published_author', models.PositiveIntegerField()), + ('published_publisher', models.PositiveIntegerField()), + ('comment_flag', models.PositiveIntegerField()), + ('reply', models.PositiveIntegerField()), + ('crep_for_art', models.PositiveIntegerField()), + ('srep_for_art', models.PositiveIntegerField()), + ('srep_for_comm', models.PositiveIntegerField()), + ('srep_for_comm_creation', models.PositiveIntegerField()), + ], + ), + migrations.AlterField( + model_name='systemrep', + name='sysrep', + field=models.IntegerField(default=100), + ), + ] diff --git a/reputation/migrations/0004_auto_20180611_1342.py b/reputation/migrations/0004_auto_20180611_1342.py new file mode 100644 index 0000000..7724cb3 --- /dev/null +++ b/reputation/migrations/0004_auto_20180611_1342.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-06-11 13:42 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('reputation', '0003_auto_20180607_0543'), + ] + + operations = [ + migrations.RenameField( + model_name='defaultvalues', + old_name='crep_for_art', + new_name='min_crep_for_art', + ), + migrations.RenameField( + model_name='defaultvalues', + old_name='srep_for_art', + new_name='min_srep_for_art', + ), + migrations.RenameField( + model_name='defaultvalues', + old_name='srep_for_comm', + new_name='min_srep_for_comm', + ), + ] diff --git a/reputation/migrations/0005_auto_20180611_1412.py b/reputation/migrations/0005_auto_20180611_1412.py new file mode 100644 index 0000000..7f4d6de --- /dev/null +++ b/reputation/migrations/0005_auto_20180611_1412.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-06-11 14:12 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('reputation', '0004_auto_20180611_1342'), + ] + + operations = [ + migrations.AddField( + model_name='defaultvalues', + name='threshold_cadmin', + field=models.PositiveIntegerField(default=0), + ), + migrations.AddField( + model_name='defaultvalues', + name='threshold_publisher', + field=models.PositiveIntegerField(default=0), + ), + ] diff --git a/reputation/migrations/__init__.py b/reputation/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/reputation/models.py b/reputation/models.py new file mode 100644 index 0000000..bce8ae5 --- /dev/null +++ b/reputation/models.py @@ -0,0 +1,35 @@ +from django.db import models +from Community.models import Community +from django.contrib.auth.models import User +import os + +class CommunityRep(models.Model): + community = models.ForeignKey(Community ,on_delete = models.CASCADE) + user = models.ForeignKey(User , on_delete = models.CASCADE) + rep = models.IntegerField(default = 0) + + def __str__(self): + return self.community.name + "-" + self.user.username + +class SystemRep(models.Model): + user = models.OneToOneField(User,on_delete = models.CASCADE) + sysrep = models.IntegerField(default = 100) + + def __str__(self): + return self.user.username + +class DefaultValues(models.Model): + upvote = models.PositiveIntegerField(default=1) + downvote = models.PositiveIntegerField(default=1) + published_author = models.PositiveIntegerField() + published_publisher = models.PositiveIntegerField() + comment_flag = models.PositiveIntegerField() + reply = models.PositiveIntegerField() + min_crep_for_art = models.PositiveIntegerField() + min_srep_for_comm = models.PositiveIntegerField() + srep_for_comm_creation = models.PositiveIntegerField() + threshold_publisher = models.PositiveIntegerField(default=0) + threshold_cadmin = models.PositiveIntegerField(default=0) + + def __str__(self): + return "Default Values" diff --git a/reputation/tests.py b/reputation/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/reputation/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/reputation/views.py b/reputation/views.py new file mode 100644 index 0000000..79a748f --- /dev/null +++ b/reputation/views.py @@ -0,0 +1,132 @@ +from django.shortcuts import render,redirect +from .models import SystemRep,CommunityRep,DefaultValues +from Community.models import CommunityArticles,CommunityGroups, CommunityMembership +from Group.models import GroupArticles +from BasicArticle.models import Articles +from django.contrib.auth.models import User +from django.contrib.auth.models import Group as Roles + +# Create your views here. + +def CommunityReputation(a_id,votetype): + commart = CommunityArticles.objects.filter(article_id=a_id).exists() + art = Articles.objects.get(pk = a_id) + author = art.created_by + if(commart is False): + grpart = GroupArticles.objects.get(article_id=a_id) + grp = grpart.group + community = CommunityGroups.objects.get(group_id=grp.id) + else: + commart = CommunityArticles.objects.get(article_id=a_id) + community = commart.community + + commrep = CommunityRep.objects.get(community_id=community.id, user_id=author.id) + sysrep = SystemRep.objects.get(user_id=author.id) + defaultval = DefaultValues.objects.get(pk=1) + up=defaultval.upvote + down=defaultval.downvote + if(votetype==1): + commrep.rep+=up + sysrep.sysrep+=up + elif(votetype==3): + commrep.rep-=down + sysrep.sysrep-=down + elif(votetype==2): + commrep.rep+=down+up + sysrep.sysrep+=down+up + elif(votetype==4): + commrep.rep=commrep.rep-down-up + sysrep.sysrep=sysrep.sysrep-down-up + elif(votetype==5): + commrep.rep-=up + sysrep.sysrep-=up + else: + commrep.rep+=down + sysrep.sysrep+=down + if(commrep.rep >= defaultval.threshold_cadmin): + community_membership = CommunityMembership.objects.get(user_id=author.id,community_id=community.id) + community_membership.role = Roles.objects.get(name='community_admin') + community_membership.save() + elif(commrep.rep >= defaultval.threshold_publisher): + community_membership = CommunityMembership.objects.get(user_id=author.id,community_id=community.id) + role = Roles.objects.get(name='community_admin') + count_community_admin = CommunityMembership.objects.filter(role=role,community_id=community.id).count() + if(count_community_admin > 1) or (community_membership.role != role): + community_membership.role = Roles.objects.get(name='publisher') + community_membership.save() + else: + community_membership = CommunityMembership.objects.get(user_id=author.id,community_id=community.id) + community_membership.role = Roles.objects.get(name='author') + community_membership.save() + commrep.save() + sysrep.save() + + +def defaultval(request): + if request.method == 'POST': + upvote = int(request.POST.get('upvote')) + downvote = int(request.POST.get('downvote')) + published_author = int(request.POST.get('published_author')) + published_publisher = int(request.POST.get('published_publisher')) + #comment_flag = int(request.POST.get('comment_flag')) + #reply = int(request.POST.get('reply')) + new_min_crep_for_art = int(request.POST.get('min_crep_for_art')) + new_min_srep_for_comm = int(request.POST.get('min_srep_for_comm')) + srep_for_comm_creation = int(request.POST.get('srep_for_comm_creation')) + new_threshold_publisher = int(request.POST.get('threshold_publisher')) + new_threshold_cadmin = int(request.POST.get('threshold_cadmin')) + defaultval = DefaultValues.objects.get(pk=1) + defaultval.upvote = upvote + defaultval.downvote = downvote + defaultval.published_author = published_author + defaultval.published_publisher = published_publisher + defaultval.comment_flag = defaultval.comment_flag + defaultval.reply =reply + old_min_srep_for_comm = defaultval.min_srep_for_comm + if(old_min_srep_for_comm != new_min_srep_for_comm): + users = User.objects.all() + for user in users: + sysrep = SystemRep.objects.get(user=user) + old_sysrep = sysrep.sysrep + new_sysrep = new_min_srep_for_comm*old_sysrep/old_min_srep_for_comm + sysrep.sysrep = new_sysrep + sysrep.save() + defaultval.min_srep_for_comm = new_min_srep_for_comm + old_min_crep_for_art = defaultval.min_crep_for_art + if(old_min_crep_for_art != new_min_crep_for_art): + change(new_min_crep_for_art,old_min_crep_for_art) + defaultval.min_crep_for_art = new_min_crep_for_art + defaultval.srep_for_comm_creation = srep_for_comm_creation + old_threshold_publisher = defaultval.threshold_publisher + if(old_threshold_publisher != new_threshold_publisher): + change(new_threshold_publisher,old_threshold_publisher) + defaultval.threshold_publisher = new_threshold_publisher + old_threshold_cadmin = defaultval.threshold_cadmin + if(old_threshold_cadmin != new_threshold_cadmin): + change(new_threshold_cadmin,old_threshold_cadmin) + defaultval.threshold_cadmin = new_threshold_cadmin + defaultval.save() + return redirect('home') + else: + if request.user.is_superuser: + defaultval = DefaultValues.objects.get(pk=1) + return render(request,'defaultval.html',{'defaultval':defaultval}) + return redirect('home') + +def change(new,old): + users = User.objects.all() + for user in users: + commreps = CommunityRep.objects.filter(user=user) + for commrep in commreps: + old_commrep = commrep.rep + new_commrep = new*old_commrep/old + commrep.rep = new_commrep + sysrep = SystemRep.objects.get(user=user) + if(old_commrep < new_commrep): + change = new_commrep-old_commrep + sysrep.sysrep +=change + else: + change = old_commrep-new_commrep + sysrep.sysrep -= change + sysrep.save() + commrep.save() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0fe093a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,19 @@ +Django==1.11.7 +django-comments-xtd==2.0.9 +django-contrib-comments==1.8.0 +django-cors-headers==2.1.0 +django-haystack==2.6.1 +django-machina==0.6.0 +django-mptt==0.8.7 +django-reversion==2.0.10 +django-reversion-compare==0.8.1 +django-role-permissions==2.1.0 +django-taggit==0.22.1 +django-widget-tweaks==1.4.1 +djangorestframework==3.6.4 +gunicorn==19.7.1 +mysqlclient==1.3.12 +Pillow==4.3.0 +pysolr==3.7.0 +social-auth-app-django==2.1.0 +python-decouple==3.1 \ No newline at end of file diff --git a/search/__init__.py b/search/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/search/apps.py b/search/apps.py new file mode 100644 index 0000000..5726231 --- /dev/null +++ b/search/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class SearchConfig(AppConfig): + name = 'search' diff --git a/search/migrations/__init__.py b/search/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/search/views.py b/search/views.py new file mode 100644 index 0000000..59f61a0 --- /dev/null +++ b/search/views.py @@ -0,0 +1,18 @@ +from django.shortcuts import render, redirect +import pysolr +path= "http://10.129.132.103:8983/solr/collab" +def search_articles(request): + if request.method == 'POST': + searchcriteria = request.POST['searchcriteria'] + conn=pysolr.Solr(path) + articles=conn.search('*'+searchcriteria+'*') + return render(request, 'search.html',{'articles':articles}) + + + +def IndexDocuments(id,title,body,date): + conn=pysolr.Solr(path) + docs = [{'id': id, 'title': title, 'body': body ,'created_at' : str(date) }] + conn.add(docs) + return + \ No newline at end of file diff --git a/static/assets/corporate/css/custom.css b/static/assets/corporate/css/custom.css new file mode 100644 index 0000000..d60ca2a --- /dev/null +++ b/static/assets/corporate/css/custom.css @@ -0,0 +1,11 @@ +/* here you can put your own css to customize and override the theme */ +.timer { + padding: 10px 0; + color: #111; + font-size: 48px; + font-weight: 600; + text-transform: uppercase; + text-align:center; + line-height:80px; + //font-family: 'Oswald', sans-serif; +} diff --git a/static/assets/corporate/css/style-responsive.css b/static/assets/corporate/css/style-responsive.css new file mode 100644 index 0000000..a0b4901 --- /dev/null +++ b/static/assets/corporate/css/style-responsive.css @@ -0,0 +1,805 @@ +/* BEGIN max width 1200px */ +@media (max-width: 1200px) { + .content-form-page .control-label { + padding-left: 30px; + padding-bottom: 5px; + } + .content-form-page .col-md-offset-4 { + margin-left: 15px; + } + .content-form-page .pull-right { + float: left !important; + } + + .quote-v1 span { + font-size: 20px; + } +} +/* END max width 1200px */ + +/* BEGIN min width 1025px */ +@media (min-width: 1025px) { + .header .header-navigation { + display: block !important; + } +} +/* END min width 1025px */ + +/* BEGIN min width 1025px max width 1205 */ +@media (min-width: 1025px) and (max-width: 1205px) { + body.page-header-fixed { + padding-top: 121px !important; /* height of the header */ + } + + .header .header-navigation { + display: block !important; + clear: both; + margin-top: -10px; + float: left !important; + } + .reduce-header .header-navigation { + margin-top: -6px; + } + .header .header-navigation > ul > li { + margin-right: 27px; + } + .header .header-navigation > ul > li > a { + padding: 5px 0 18px; + } + .reduce-header .header-navigation > ul > li > a { + padding-bottom: 13px; + } + .header .header-navigation > ul > li.active > a, .header .header-navigation > ul > li > a:hover, .header .header-navigation > ul > li > a:focus, .header .header-navigation > ul > li.open > a, .header .header-navigation > ul > li.open > a:hover, .header .header-navigation > ul > li.open > a:focus { + background: none; + } + .header-navigation > ul > li.dropdown:hover > a:after { + margin-left: 10px; + } + + .dropdown-fix-right .dropdown-menu { + left: 0; + right: auto; + } + + .header .header-navigation li.menu-search { + top: 1px; + margin-left: -20px; + } + .ecommerce .header .header-navigation li.menu-search { + top: 2px; + } + .header .header-navigation li.menu-search span.sep { + top: 2px; + margin-right: 26px; + } + .header .header-navigation li.menu-search i { + top: -4px; + } +} +/* END min width 1025px max width 1205 */ + +/* BEGIN max width 1024px */ +@media (max-width: 1024px) { + body.page-header-fixed { + padding-top: 107px !important; /* height of the header */ + } + + .header .mobi-toggler { + display: block; + } + .header .header-navigation { + float: none !important; + display: none; + clear: both; + background: #F9F9F9; + padding: 0 20px; + margin: 0 -20px 25px; + font-size: 16px; + } + .header .header-navigation li { + float: none; + padding: 0; + clear: both; + } + .header .header-navigation li > a, + .header .dropdown.open .dropdown-toggle, + .header .header-navigation li.open > a { + border-bottom: 1px solid #efefef !important; + padding: 8px 10px 9px; + margin: 0 -10px; + position: relative; + color: #666 !important; + background: none !important; + } + .ecommerce .header .header-navigation li > a, + .ecommerce .header .dropdown.open .dropdown-toggle, + .ecommerce .header .header-navigation li.open > a { + padding: 12px 10px 9px; + } + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + border-bottom: 1px solid #efefef !important; + background: none !important; + color: #dd4632 !important; + text-decoration: none; + } + + .header-navigation > ul > li.dropdown:hover > a:after { + border: none; + } + + .header-navigation > ul > li > a > i.fa-angle-down { + display: block; + float: right; + margin: 3px 0 0; + } + + /* dropdown menu */ + .header-navigation .dropdown-menu, + .header-navigation > ul > li > .dropdown-menu { + position: static; + width: 100%; + margin: 0; + border: none; + box-shadow: none; + background: none; + margin-top: 0; + border-top: none; + z-index: 22; + } + .header-navigation .dropdown-menu li { + border: none !important; + margin-left: 20px; + } + .header-navigation .dropdown-menu li > a { + padding: 10px 10px 9px; + z-index: 999; + position: relative; + } + .header-navigation .dropdown-menu li > a > i { + display: none; + } + + .header-navigation .dropdown-menu .dropdown-menu { + display: block; + } + .header-navigation .header-navigation-content { + border: none; + } + .dropdown-megamenu .header-navigation-content { + padding: 5px 0 0; + margin-left: -20px; + } + .dropdown-megamenu .header-navigation-content .row { + margin: 0; + } + .dropdown-megamenu .header-navigation-content .header-navigation-col { + padding: 0; + float: none; + width: 100%; + } + .dropdown-megamenu .header-navigation-content h4 { + font-size: 13px; + padding: 10px 10px 9px; + margin: 0 -10px 0 10px; + } + .header-navigation .dropdown-megamenu .header-navigation-content li > a { + padding: 10px 10px 9px; + } + + .header-navigation-content-ext { + background: none; + } + .header-navigation-description { + height: auto !important; + background: none; + box-shadow: none; + padding: 0; + margin: 0 10px; + } + .header-navigation-content-ext .col-md-6, + .header-navigation-content-ext .col-md-3 { + float: none; + width: 100%; + } + .dropdown-megamenu .header-navigation-content-ext .col-md-3 h4 { + border-bottom: 1px solid #EFEFEF; + } + .header-navigation .dropdown-menu .header-navigation-content-ext li > a { + display: block; + } + .header-navigation-content-ext .col-md-3, .header-navigation-content-ext .col-md-6 { + padding: 0; + } + .header-navigation-content-ext .col-md-6 { + margin-left: 10px; + } + .header-navigation-content-ext .col-md-6 h4 { + margin-left: 0; + padding-left: 0; + } + + .header .nav-brands { + margin: 15px 10px; + padding: 0; + width: 100%; + background: #fff; + } + .header .nav-brands ul { + border: 1px solid #F0F0F0; + padding: 10px; + } + .header .nav-brands li { + max-width: 50%; + display: inline-block; + border: none; + margin-left: 0 + } + .header .nav-brands li a, + .header .nav-brands li a:hover { + border: none !important; + margin: 0 !important; + } + + .nav-catalogue .dropdown-menu > li { + margin-left: 0; + } + .nav-catalogue .header-navigation-content { + padding: 20px 0 0; + } + .nav-catalogue .product-item { + margin-bottom: 20px; + } + + .header-navigation li.menu-search, + .ecommerce .header-navigation li.menu-search { + top: 0; + padding: 20px 0 10px; + position: relative; + } + .header-navigation li.menu-search span.sep { + display: none; + } + .header-navigation .search-box { + position: relative; + right: auto; + left: 0; + } + .header-navigation .search-box:after { + right: auto; + left: 0; + } + + .top-cart-block { + margin-top: 3px; + } + + .page-header-fixed .header-navigation { + height: 300px; + overflow: auto; + } +} +/* END max width 1024px */ + +/* BEGIN max width 992px */ +@media (max-width: 992px) { + .shop-index-carousel { + margin-left: 0; + margin-right: 10px; + } + + .brands .container { + padding-right: 25px; + } + + .sidebar-menu a:focus { + color: #333 !important; + text-decoration: none; + } + + .sale-product___removed { + margin-bottom: 40px; + } + .new-arrivals___removed { + margin-left: 15px; + padding-left: 0; + } + .two-items-bottom-items { + margin-bottom: 40px; + } + .carousel img { + width: 100%; + } + + /*.steps-block { + padding-bottom: 10px; + } + .steps-block-col { + border: 2px solid #FFF; + margin: 0 20px 20px 15px; + padding: 20px 20px 15px; + min-height: auto; + float: left; + } + .steps-block-col:last-child { + margin-right: 0; + } + .steps-block .steps-block-col div { + margin-left: 0; + margin-right: 0; + } + .steps-block h2 { + font-size: 25px; + } + .steps-block em { + text-transform: inherit; + } + .steps-block-col span, + .steps-block-col .fa { + display: none; + } + .steps-block-col:first-child em { + margin-left: 0; + }*/ + + .steps-block-col { + border: 2px solid #FFF; + margin: 0 25px 20px 15px; + padding: 20px 20px 15px; + min-height: auto; + float: none; + } + .steps-block-col:last-child { + margin-right: 25px; + margin-bottom: 0; + } + .steps-block .steps-block-col div { + margin-left: 0; + margin-right: 0; + } + .steps-block h2 { + font-size: 43px; + } + .steps-block em { + text-transform: uppercase; + } + .steps-block-col span { + display: none; + } + .steps-block-col .fa { + display: block; + } + + .pre-footer-subscribe-box form { + width: 100%; + } + + .sidebar-products img { + float: none; + margin-bottom: 5px; + width: 100%; + height: auto; + } + .sidebar-products h3, + .sidebar-products .price { + margin-left: 0; + } + .product-page-options .pull-left { + margin-bottom: 10px; + + } + .product-quantity { + margin-bottom: 10px; + } + + /* + if you want to hide buttons on mobile view, uncomment this block + .pi-img-wrapper div { + display: none !important; + }*/ + .review .rateit { + width: 100%; + margin-bottom: 10px; + } + .list-view-sorting .pull-right { + margin-bottom: 10px; + } + + .service-box p, .service-box .service-box-heading em, .service-box .service-box-heading span { + display: block; + text-align: center; + } + .service-box .service-box-heading em { + margin-bottom: 10px; + } + + .quote-v1 { + text-align: center; + } + .quote-v1 .text-right { + text-align: center; + } + + .recent-work .owl-carousel { + margin-left: -10px; + } + .our-clients .owl-carousel { + margin-left: -2px; + } + .recent-work .owl-carousel, + .our-clients .owl-carousel { + padding-top: 30px; + } + .recent-work .owl-buttons, + .our-clients .owl-buttons { + top: 0; + left: -3px; + } + .our-clients .owl-buttons { + left: -10px; + } + + .testimonials-v1 { + padding-top: 40px; + } + + .recent-work .recent-work-item .fa { + width: 36px; + height: 36px; + margin-top: -18px; + font-size: 14px; + padding: 12px; + } + + .recent-news-inner { + padding: 10px 15px 0; + } + + .ecommerce .pre-footer-subscribe-box h2, .corporate .pre-footer-subscribe-box h2 { + padding-top: 0; + } + .pre-footer .pre-footer-subscribe-box { + padding-bottom: 25px; + } + .ecommerce .pre-footer-subscribe-box form { + width: 100%; + } + + .ecommerce .content-search h1 { + padding-top: 0; + margin-bottom: 3px; + } + .content-search form { + margin: 0 0 6px; + } +} +/* END max width 992px */ + +/* BEGIN max width 767px */ +@media (max-width: 767px) { + .pre-header .pull-right { + float: left !important; + } + .pre-header .pull-right li:first-child { + padding-left: 0; + } + .ecommerce .pre-footer-subscribe-box form { + float: none; + width: auto; + } + + .header .header-navigation { + margin: 0 -10px 0; + padding: 0 10px; + } + .header-navigation-content { + min-width: 100px; + + } + + .sidebar { + margin-bottom: 40px; + } + .sidebar___removed { + margin-bottom: 40px; + } + .sidebar-menu .fa-angle-right { + display: inline-block; + } + .pre-footer .pull-right, + .footer .pull-right { + float: none !important; + } + .pre-footer .pull-right, + .footer .pull-right { + padding-top: 15px; + } + .footer .list-inline > li { + padding-left: 0; + margin-right: 5px; + } + + + .form-info { + border-left: none; + padding-left: 0; + padding-top: 30px; + border-top: 1px solid #E4E6E8; + margin-bottom: 0; + } + + .sidebar-products .item { + float: left; + width: 48%; + margin-bottom: 20px; + padding: 0 10px 10px; + } + .sidebar-products img { + width: 100%; + height: auto; + } + .list-view-sorting { + /*background: #fff;*/ + margin-left: 0; + margin-right: 0; + margin-bottom: 10px; + } + .list-view-sorting .col-md-10 { + padding-right: 0; + } + .product-other-images { + margin-bottom: 40px; + } + .product-page-options .pull-left { + margin-bottom: 0; + } + .product-item .img-responsive { + width: 100%; + } + .pagination { + float: left !important; + padding-top: 10px; + } + .pagination > li { + margin-left: 0; + margin-right: 5px; + } + + .pre-footer .margin-bottom-40 { + margin-bottom: 0; + } + .ls-layer3 .ls-price strong { + top: -15px; + } + + .glyphicons-demo ul li { + width: 12.5%; + } + + .tab-style-1 .tab-content img { + margin: 5px 0 10px; + } + .testimonials-v1 { + padding-top: 20px; + } + + .front-steps-wrapper { + margin-left: -10px; + margin-right: -10px; + } + .front-steps-wrapper .front-step-col { + padding-left: 15px; + padding-right: 15px; + } + .front-steps-wrapper .front-step:after { + display: none; + } + + .blog-posts h2, .ecommerce .blog-posts h2 { + padding-top: 15px; + } + + .ecommerce .footer { + padding: 10px 0 10px; + } + .ecommerce .footer .pull-right { + padding-top: 10px; + } + .ecommerce .pre-footer address { + margin-bottom: 15px !important; + } + .footer img { + margin-bottom: 10px; + } + .ecommerce .pre-footer-subscribe-box h2, .corporate .pre-footer-subscribe-box h2 { + padding-top: 7px; + } +} +/* END max width 767px */ + +/* BEGIN max width 600px */ +@media (max-width: 600px) { + .ls-layer3 .ls-price strong { + top: -5px; + } +} +/* END max width 600px */ + +/* BEGIN max width 480px */ +@media (max-width: 480px) { + .pre-header .list-inline li { + display: block; + border: none; + margin-bottom: 10px; + padding: 0; + } + .pre-header .col-md-6 { + float: left; + } + .pre-header .additional-nav { + float: right; + text-align: right; + } + + .nav-catalogue .pi-price { + margin-bottom: 10px; + } + .nav-catalogue .pi-price, + .nav-catalogue .product-item .add2cart { + float: none; + } + + .top-cart-block { + clear: both; + float: left; + padding-top: 0; + margin: 0 0 29px; + width: 100%; + } + .top-cart-info { + float: none; + } + .top-cart-block .fa-shopping-cart { + top: 0; + } + .top-cart-content-wrapper { + left: 0; + right: auto; + } + .top-cart-content:after { + left: 15px; + } + + .ls-fullwidth .ls-nav-prev, .ls-fullwidth .ls-nav-next { + display: none; + } + + .checkout-content { + padding: 0 0 40px; + } + .checkout-page h2 a { + padding: 9px 10px 8px; + } + .table-wrapper-responsive { + overflow-x: scroll; + } + + .shopping-cart-page .btn-default { + float: right; + } + .shopping-cart-page .btn-primary { + clear: both; + margin-top: 10px; + } + .checkout-page .btn-default { + clear: both; + margin-top: 10px; + margin-right: 0 !important; + } + + .product-item:hover > .pi-img-wrapper>div { + display: none; + } + + .steps-block-simple h2 { + font-size: 21px; + } + .steps-block-simple em { + font-size: 14px; + text-transform: inherit; + } + + .ecommerce .pre-footer-subscribe-box h2, + .corporate .pre-footer-subscribe-box h2 { + float: none; + } + + .list-view-sorting .pull-right { + float: left !important; + margin: 0 30px 10px 0; + } + + .header .top-cart-block { + margin-top: 0; + } + .reduce-header .top-cart-block { + margin-top: 0; + margin-bottom: 19px; + } +} +/* END max width 480px */ + +/* BEGIN max width 450px */ +@media (max-width: 450px) { + .ecommerce .steps-block h2 { + font-size: 33px; + } +} +/* END max width 450px */ + +/* BEGIN max width 405px */ +@media (max-width: 405px) { + .top-cart-content { + width: 100%; + } + .top-cart-block img, + .top-cart-block .cart-content-count { + display: none; + } +} +/* END max width 405px */ + +/* BEGIN max width 390px */ +@media (max-width: 390px) { + .steps-block .fa-truck, .steps-block .fa-gift, .steps-block .fa-phone { + border: 2px solid #FFFFFF; + border-radius: 30px !important; + float: left; + font-size: 20px; + width: 40px; + height: 40px; + margin-right: 11px; + padding-top: 12px; + text-align: center; + vertical-align: middle; + } + .ecommerce .steps-block h2 { + font-size: 25px; + padding-top: 2px; + } + .ecommerce .steps-block em { + text-transform: inherit; + } + + .mix-block .tab-content .col-md-3 { + padding-right: 15px; + } +} +/* END max width 390px */ + +/* BEGIN max width 330px */ +@media (max-width: 330px) { + .top-cart-content { + width: 280px; + } +} +/* END max width 330px */ + +/* BEGIN max width 320px */ +@media (max-width: 320px) { + .site-logo { + margin-right: 0; + } + .content-form-page .btn-default { + margin-top: 10px; + } + .price-availability-block .availability { + clear: left; + float: left; + } + .product-page-options .pull-left { + margin-bottom: 10px; + } +} +/* END max width 320px */ \ No newline at end of file diff --git a/static/assets/corporate/css/style.css b/static/assets/corporate/css/style.css new file mode 100644 index 0000000..78fcfc1 --- /dev/null +++ b/static/assets/corporate/css/style.css @@ -0,0 +1,3082 @@ +/* +Template Name: Metronic - Responsive Website Template build with Twitter Bootstrap 3.1.1 +*/ + +/* General body settings */ +body { + color: #3e4d5c; + direction: ltr; + font: 400 13px 'Open Sans', Arial, sans-serif; + background: #fff; +} + +/*** +General typography +***/ +h1, h2, h3, h4, h5, h6 { + font: 300 'Open Sans', sans-serif; + margin: 0 0 10px; +} +h1 { + margin-bottom: 15px; +} +.main h1 { + margin-top: -6px; +} + +/*** +Fix link outlines after click +***/ +a { + color: #E02222; +} +a, a:focus, a:hover, a:active { + outline: 0; + text-decoration: none; +} +a:hover { + color: #E02222; + text-decoration: underline; +} + +/*** +Misc tools +***/ +.no-padding { + padding: 0 !important; +} +.no-margin { + margin: 0 !important; +} +.no-bottom-space { + padding-bottom: 0 !important; + margin-bottom: 0 !important; +} +.no-top-space { + padding-top: 0 !important; + margin-top: 0 !important; +} +.no-space { + margin: 0 !important; + padding: 0 !important; +} +.no-text-shadow { + text-shadow: none !important; +} + +.padding-top-5 { + padding-top: 5px !important; +} +.padding-top-10 { + padding-top: 10px !important; +} +.padding-top-15 { + padding-top: 15px !important; +} +.padding-top-20 { + padding-top: 20px !important; +} +.padding-top-25 { + padding-top: 25px !important; +} +.padding-top-30 { + padding-top: 30px !important; +} +.padding-top-35 { + padding-top: 35px !important; +} +.padding-top-40 { + padding-top: 40px !important; +} +.padding-top-45 { + padding-top: 45px !important; +} +.padding-top-50 { + padding-top: 50px !important; +} +.padding-top-60 { + padding-top: 60px !important; +} + +.margin-bottom-0 { + margin-bottom: 0 !important; +} +.margin-bottom-5 { + margin-bottom: 5px !important; +} +.margin-bottom-10 { + margin-bottom: 10px !important; +} +.margin-bottom-15 { + margin-bottom: 15px !important; +} +.margin-bottom-20 { + margin-bottom: 20px !important; +} +.margin-bottom-25 { + margin-bottom: 25px !important; +} +.margin-bottom-30 { + margin-bottom: 30px !important; +} +.margin-bottom-35 { + margin-bottom: 35px !important; +} +.margin-bottom-40 { + margin-bottom: 40px !important; +} +.margin-bottom-50 { + margin-bottom: 50px !important; +} +.margin-bottom-60 { + margin-bottom: 60px !important; +} +.margin-bottom-65 { + margin-bottom: 65px !important; +} + +.margin-top-10 { + margin-top: 10px !important; +} + +.margin-left-0 { + margin-left: 0 !important; +} +.margin-right-0 { + margin-right: 0 !important; +} + +.margin-right-20 { + margin-right: 20px !important; +} +.margin-left-20 { + margin-left: 20px !important; +} + +.padding-left-0 { + padding-left: 0 !important; +} +.padding-right-0 { + padding-right: 0 !important; +} +.padding-right-30 { + padding-right: 30px !important; +} + +.margin-right-10 { + margin-right: 10px !important; +} + +/*.btn { + padding: 7px 14px; + font-size: 14px; + text-transform: uppercase; + border-radius: 0; +} +.btn-primary { + border: none; + background: #e94d1c; + color: #fff; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + color: #fff; + background: #cc3304; + border: none; +} +.content-page .btn-primary, +.content-page .btn-primary:hover { + color: #fff; + margin-left: 0 !important; +} +.btn-default { + border: 1px solid #EDEDED; + color: #A8AEB3; + background: transparent; + padding: 6px 13px; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active { + border: 1px solid #A8AEB3; + color: #fff; + background: #A8AEB3; + padding: 6px 13px; +}*/ + +div.checker, +div.radio { + top: -1px; +} + +select.form-control { + color: #5f6d7b; + border-radius: 0; + border-color: #e4e6e8; + box-shadow: none; +} +select.form-control:focus { + box-shadow: none; + border-color: #999; +} + +input.form-control, +textarea.form-control { + border-color: #dbdbdb; + color: #777; + font: 14px Arial, sans-serif; + border-radius: 0; + box-shadow: none; +} +input.form-control:focus, +textarea.form-control:focus { + box-shadow: none; + border: solid 1px #dbdbdb; +} + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; + font-size: 0; + line-height: 0; +} +*html .clearfix { + zoom: 1; +} +*+html .clearfix { + zoom: 1; +} +.clear { + clear: both; + height: 0; + font-size: 0; + line-height: 0; + overflow: hidden; +} + +.lead { + font-size: 16px; +} + +.font-transform-inherit { + text-transform: inherit !important; +} + +.color-red { + color: #E84D1C; +} + +/*** +Custom Scrollbars +***/ + +::-webkit-scrollbar { + width: 12px; +} + +::-webkit-scrollbar-track { + background-color: #eaeaea; + border-left: 1px solid #cecece; +} + +::-webkit-scrollbar-thumb { + background-color: #cecece; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #aaa; +} + +::-webkit-scrollbar-track { + border-radius: 0; + box-shadow: none; + border: 0; +} + +::-webkit-scrollbar-thumb { + border-radius: 0; + box-shadow: none; + border: 0; +} + +/* overides metro scrolbars in IE10 and makes them look like a default scrollbar */ +@-ms-viewport{ + width: auto !important; +} + +::-moz-selection { + color: #fff; + background: #e45000; +} +::selection { + color: #fff; + background: #e45000; +} + +/* Global classes */ +.min-hight500 { + min-height: 500px; +} + +/*** +Pre-Header and pre-header elements +***/ +.pre-header { + color: #616b76; + border-bottom: 1px solid #eee; + padding-top: 10px; + line-height: 1.2; + font-family: 'Open Sans', sans-serif; + font-weight: 300; + background: #fff; +} +.pre-header a { + color: #616b76; +} +.pre-header a:hover { + color: #E02222; +} +.pre-header a:focus { + text-decoration: none; +} +.pre-header li { + padding-left: 11px; + padding-right: 15px; + border-right: solid 1px #d8d8d8; +} +.pre-header li:last-child { + border: none; +} +.additional-shop-info li:first-child { + padding-left: 0; +} +.additional-nav li:last-child { + padding-right: 0; +} +.pre-header .fa { + margin-right: 4px; +} +.shop-currencies a { + margin-right: 6px; +} +.shop-currencies a:last-child { + margin-right: 0; +} +.shop-currencies a.current { + color: #E02222; +} + +/* langs block */ +.langs-block { + position: relative; +} +.langs-block .fa { + margin-right: 0; +} +.langs-block-others-wrapper { + position: absolute; + left: 0; + top: 100%; + z-index: 99999; +} +.langs-block-others { + padding: 10px 10px 2px; + background: #F9F9F9; + z-index: 9999; + width: 100px; + display: none; + margin-top: 12px; + border-top: solid 2px #ea4c1d; + box-shadow: 5px 5px rgba(91, 91, 91, 0.2); + position: relative; + transition: opacity .3s ease-in-out; + -moz-transition: opacity .3s ease-in-out; + -webkit-transition: opacity .3s ease-in-out; +} +.langs-block-others:after { + top: -8px; + width: 0; + height: 0; + left: 8px; + z-index: 2; + content: " "; + display: block; + position: absolute; + border-bottom: 8px solid #e6400c; + border-right: 8px solid transparent; + border-left: 8px solid transparent; +} +.langs-block:hover .langs-block-others { + display: block; +} +.langs-block-others a { + display: block; + margin-bottom: 8px; +} + +/*** +Header and header elements +***/ +.header { + box-shadow: 0 1px 3px #ddd; + background: #fff; + border-radius: 0; + margin-bottom: 23px; + z-index: 999; + position: relative; +} + +/* FIX styles BEGIN */ +.page-header-fixed .header { + position: fixed !important; + top: 0; + left: 0; + width: 100%; + z-index: 99999; +} +body.page-header-fixed { + padding-top: 88px !important; /* height of the header */ +} +/* FIX styles END */ + +.header .container { + position: relative; +} +.ie8 .header { + border-bottom: 1px solid #eee; +} + +.site-logo { + float: left; + font-size: 23px; + font-weight: 400; + + margin-right: 67px; + padding-top: 22px; + padding-bottom: 22px; +} + +.header .mobi-toggler { + float: right; + color: #D8D8D8; + border: 1px solid #D8D8D8; + border-radius: 100% !important; + width: 32px; + height: 32px; + display: none; + margin: 25px 0 0 30px; + position: relative; + background: #fff url(../img/icons/toggler.png) no-repeat 6px 8px; +} +.header .mobi-toggler i { + display: none; +} +.header .mobi-toggler:hover { + background: #e34f00 url(../img/icons/toggler.png) no-repeat 6px -28px; + border-color: #e34f00; + color: #fff; +} + +/* Navigation */ +.header-navigation { + font: 15px "Open Sans", sans-serif; + margin: 0 10px 0 0; + padding: 0; + float: left; + text-transform: uppercase; +} +.header-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.header-navigation > ul > li { + float: left; +} +.header-navigation > ul > li > a { + color: #333; + display: block; + padding: 29px 12px 30px; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #e02222; + background: #fcfcfc; + text-decoration: none; +} +.header-navigation ul > li.active > a { + border-bottom: 2px solid #e64f00; +} + +/* dropdown menu */ +@media (min-width: 1025px) { + .header-navigation > ul > li:hover > .dropdown-menu { + display: block; + } +} + +.header-navigation, +.header-navigation .dropdown { + position: static; +} +.header-navigation .dropdown-fix-left, +.header-navigation .dropdown-fix-right { + position: relative; +} +.header-navigation .dropdown-menu { + left: auto; + top: 100%; + padding: 0; + background: #fff; + position: absolute; + border: none; + box-shadow: 5px 5px rgba(91, 91, 91, 0.2); + text-transform: none; + font: 13px "Open Sans", sans-serif; + letter-spacing: 0; + border-radius: 0; + z-index: 9999; +} + +.header-navigation .dropdown-menu:before, +.header-navigation .dropdown-menu:after { + display: none !important; +} + +.dropdown-fix-left .dropdown-menu { + left: 0; + width: 700px; +} +.dropdown-fix-right .dropdown-menu { + right: 0; + width: 700px; +} +.header-navigation > ul > li > .dropdown-menu { + margin-top: -5px; + border-top: solid 3px transparent; + z-index: 1001; +} +.header-navigation .dropdown100 > .dropdown-menu { + left: 15px; + right: 15px; +} +.header-navigation > ul > li.dropdown:hover > a:after { + bottom: 0; + width: 0; + height: 0; + z-index: 1002; + content: " "; + display: block !important; + position: absolute; + border-bottom: 8px solid #e6400c; + border-right: 8px solid transparent; + border-left: 8px solid transparent; +} +.ie8 .header-navigation > ul > li.dropdown:hover > a:after { + display: none !important; +} +.header-navigation li.dropdown100 > .dropdown-menu:after { + display: none !important; +} +.header-navigation .dropdown-menu > li:first-child { + border-top: solid 2px #ea4c1d; +} +.header-navigation .dropdown-menu li { + padding: 0; + margin: 0; + border-bottom: solid 1px #efefef; + position: relative; + float: none; +} +.header-navigation .dropdown-menu li:last-child { + border: none; +} +.header-navigation .dropdown-menu li > a { + padding: 10px 15px; + font-weight: 400; + color: #767f88; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #e6400c; + color: #fff; +} +.dropdown-submenu > a:after { + display: none; +} + +/* navigation content */ +.header-navigation-content { + padding: 20px 30px; + min-width: 600px; +} +.header-navigation-content .header-navigation-col { + padding: 0; +} +.header-navigation-content h4, +.ecommerce .header-navigation-content h4 { + font: bold 15px 'Open Sans', Arial, sans-serif; + margin: 0 0 6px; + padding: 10px 10px 5px; + border-bottom: solid 1px #f0f0f0; +} +.header-navigation-content ul { + padding: 0; + margin: 0 0 10px; + list-style: none; +} +.header-navigation-content li { + padding: 0; + border: none !important; +} +.header-navigation-content li > a { + display: block; +} + +/* header navigation description */ +.header-navigation-content-ext { + padding: 20px 30px 2px; + background: #fff; +} +.header-navigation-description { + background: #fcfafb; + margin: -20px 0 -2px -30px; + padding: 20px; + box-shadow: 0 0 20px rgba(91, 91, 91, 0.2) inset; +} +.header-navigation-content-ext h4, +.ecommerce .header-navigation-content-ext h4 { + border: none; + padding: 10px 0 0; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li { + border: none; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a { + padding: 0 0 10px; + color: #767f88; + display: inline-block; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #e6400c; +} + +/* n-level submenu */ +.header-navigation .dropdown-menu .dropdown-menu { + left: 100%; + right: auto; + top: 6px; +} +.header-navigation .dropdown-menu a { + position: relative; +} +.header-navigation .dropdown-menu .fa { + position: absolute; + top: 13px; + right: 15px; +} + +/* Top Search */ +.header-navigation li.menu-search { + position: relative; + top: 26px; +} +.header-navigation li.menu-search span.sep { + top: 0; + width: 1px; + height: 26px; + background: #eaeaea; + position: relative; + margin: 0 18px 0 16px; + display: inline-block; +} +.header-navigation li.menu-search i { + color: #333; + font-size: 16px; + cursor: pointer; + position: relative; + top: -6px; + /*background: url(../img/icons/top-search-icon.png) no-repeat;*/ + width: 15px; + height: 15px; + opacity: 0.6; +} +.header-navigation li.menu-search i:hover { + color: #e02222; + background-position: 0 -15px; +} +/*.header-navigation .fa-search:before { + content: none; +}*/ +.header-navigation .search-box { + right: -7px; + top: 100%; + padding: 15px; + display: none; + background: #fcfafb; + position: absolute; + border-top: solid 2px #ea4c1d; + box-shadow: 5px 5px rgba(91, 91, 91, 0.2); + width: 274px; + margin-top: 0; + z-index: 22; +} +.header-navigation .search-box:after { + top: -8px; + width: 0; + height: 0; + right: 8px; + z-index: 2; + content: " "; + display: block; + position: absolute; + border-bottom: 8px solid #e6400c; + border-right: 8px solid transparent; + border-left: 8px solid transparent; +} +.header-navigation .search-box button { + margin-left: 0 !important; +} + +/* reduce navigation */ +/*.page-header-fixed .site-logo, +.page-header-fixed .header-navigation > ul > li > a, +.page-header-fixed .header-navigation li.menu-search, +.page-header-fixed .top-cart-block { + transition: all 0.1s ease; + -o-transition: all 0.1s ease; + -ms-transition: all 0.1s ease; + -moz-transition: all 0.1s ease; + -webkit-transition: all 0.1s ease; +}*/ +.reduce-header .site-logo { + padding-top: 9px; + padding-bottom: 11px; +} +@media (min-width: 1025px) { + .reduce-header .header-navigation > ul > li > a { + padding: 16px 12px 17px; + } + .ecommerce .reduce-header .header-navigation > ul > li > a { + padding: 23px 12px 20px; + } + .reduce-header .header-navigation li.menu-search { + top: 14px; + } + .ecommerce .reduce-header .header-navigation li.menu-search { + top: 21px; + } +} +.reduce-header .mobi-toggler { + margin-top: 12px; +} +.page-header-fixed .header .mobi-toggler { + transition: margin 0.3s ease; + -o-transition: margin 0.3s ease; + -ms-transition: margin 0.3s ease; + -moz-transition: margin 0.3s ease; + -webkit-transition: margin 0.3s ease; +} + +/* page slider */ +.page-slider { + margin-top: -25px; + clear: both; +} + +/* OWL styles */ +.owl-buttons { + position: absolute; + top: -40px; + right: 10px; +} +.owl-buttons div { + display: inline-block; + width: 26px; + height: 26px; + margin-left: 5px; + position: static; + border-radius: 26px !important; + text-indent: -100000px; +} +.owl-buttons .owl-prev { + background: #fff url(../../pages/img/fa-angles.png) no-repeat 8px 8px; +} +.owl-buttons .owl-next { + background: #fff url(../../pages/img/fa-angles.png) no-repeat -33px 8px; +} +.owl-buttons .owl-prev:hover { + background: #e84d1c url(../../pages/img/fa-angles.png) no-repeat 8px -31px; +} +.owl-buttons .owl-next:hover { + background: #e84d1c url(../../pages/img/fa-angles.png) no-repeat -33px -31px; +} + +/* */ +.content-slider .carousel-indicators { + text-align: left; + margin: 0; + width: auto; + left: 33px; +} +.content-slider .carousel-indicators li, +.content-slider .carousel-indicators li.active { + width: 18px; + height: 18px; + margin: 0 9px 0 0; + background: transparent; + border: solid 2px #c9cdce; + border-radius: 18px !important; + z-index: 9999 !important; +} +.content-slider .carousel-indicators li.active { + background: #6f7a7c; + border-color: #9ea7a9; +} + +/* */ +.product-list .product-item { + margin-bottom: 30px; +} + +/*** +Sidebar +***/ +.sidebar { + color: #3E4D5C; +} +.sidebar .list-group-item { + background: rgba(244,244,244,0.5); + border: none; + display: block; + margin-bottom: 2px; + padding: 7px 10px; + position: relative; + border-radius: 0; +} +.sidebar .list-group-item:last-child { + margin: 0; +} +.sidebar a { + color: #3E4D5C; +} +.sidebar a:hover { + color: #E02222; +} + .sidebar-menu a { + display: block; +} + .sidebar-menu a:hover { + text-decoration: none; +} +.sidebar-menu .fa-angle-right { + position: relative; + top: 1px; + margin-right: 2px; + float: left; +} +.sidebar .dropdown.open .dropdown-toggle { + background: #fff; + color: #3E4D5C; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #E02222; +} +.sidebar .dropup.open > .dropdown-toggle, .dropdown.open > .dropdown-toggle { + border-color: none !important; +} + +.sidebar .dropdown-menu { + background-clip: padding-box; + background: #fff; + border: none; + border-radius: 0; + box-shadow: none; + display: none; + float: none; + font-size: 14px; + list-style: none; + margin: 0 -10px; + min-width: auto; + padding: 5px 10px 1px 19px; + position: relative; + top: 0; + left: 0; + z-index: 1000; + font: 15px 'PT Sans Narrow', sans-serif; +} + +.sidebar .dropdown-menu:after, +.sidebar .dropdown-menu:before { + display:none !important; +} + +.sidebar .dropdown-menu .dropdown-menu { + border-top: none; + margin-bottom: -5px; + margin-right: -10px; +} +.sidebar .open>.dropdown-menu { + display: block; +} +.sidebar .dropdown-menu li { + padding: 4px 0 3px 11px; + position: relative; +} +.sidebar .dropdown-menu ul { + padding: 0; + margin: 0 0 0 4px; + list-style: none; + text-transform: none; + font-size: 15px; +} +.sidebar .dropdown-menu > li > a { + clear: both; + line-height: inherit; + padding: 0; + white-space: inherit; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + background: none !important; + color: #E02222; +} +.sidebar .dropdown-menu > li > a .fa-angle-down { + position: absolute; + top: 8px; + right: 0; +} +.sidebar .fa-angle-down:before { + content: ""; +} +.sidebar .fa-angle-down { + width: 11px; + height: 11px; + background: url(../img/icons/sidebar-toggle-icons.png) no-repeat 0 0; + position: absolute; + top: 12px; + right: 10px; +} +.sidebar a:hover > .fa-angle-down { + background-position: -11px 0; +} +.sidebar .collapsed .fa-angle-down { + background-position: 0 -37px; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -11px -37px; +} + +/*** +Brands +***/ +.brands .container { + padding-right: 25px; +} +.brands .owl-carousel { + margin-bottom: 41px; + padding: 0 75px; + background: #fff; +} +.brands .owl-buttons div { + position: absolute; + top: 0; + width: 70px; + height: 102px; + text-indent: -10000px; + border-radius: 0 !important; + display: block; +} +.brands .owl-buttons { + position: static; +} +.brands .owl-buttons .owl-prev { + left: 0; + background: #fff url(../../pages/img/fa-angle-brands.png) no-repeat 18px 18px; + margin-left: 0; +} +.brands .owl-buttons .owl-prev:hover { + background: #fff url(../../pages/img/fa-angle-brands.png) no-repeat 18px -217px; +} +.brands .owl-buttons .owl-next { + left: auto; + right: 0; + background: #fff url(../../pages/img/fa-angle-brands.png) no-repeat -249px 18px; + margin-right: 0; +} +.brands .owl-buttons .owl-next:hover { + background: #fff url(../../pages/img/fa-angle-brands.png) no-repeat -249px -217px; +} + +/*** +steps block and steps block elements +***/ +/* shop */ +.steps-block { + color: #fff; + padding: 30px 0; +} +.steps-block ::-moz-selection { + color: #e45000; + background: #fff; +} +.steps-block ::selection { + color: #e45000; + background: #fff; +} +.steps-block-gray { + background: #a0a3a4; +} +.steps-block-red { + background: #e84d1c; +} +.steps-block-col { + overflow: hidden; + min-height: 71px; +} +.steps-block-col span { + display: block; + width: 36px; + height: 71px; + background: url(../../pages/img/step3-angle-right.png) no-repeat 100% 50%; + position: absolute; + top: 0; + right: 10px; +} +.steps-block h2, +.ecommerce .steps-block h2 { + color: #fff; + font-size: 43px; + margin: 0; + padding: 0; + line-height: 1; +} +/* steps-block-simple – step block without image */ +.steps-block-simple h2, +.ecommerce .steps-block-simple h2 { + font-size: 33px; + margin-bottom: 5px; +} +.steps-block em { + font: normal 400 13px 'Opan Sans', sans-serif; + text-transform: uppercase; +} +.steps-block-simple em { + text-transform: inherit; + line-height: 1.2; +} +.steps-block .steps-block-col div { + margin-left: 70px; + margin-right: 40px; +} +.steps-block-simple .steps-block-col div { + margin-left: 0; +} +.steps-block .fa-truck, +.steps-block .fa-gift, +.steps-block .fa-phone { + font-size: 30px; + border: solid 2px #fff; + border-radius: 30px !important; + width: 60px; + height: 60px; + text-align: center; + vertical-align: middle; + padding-top: 13px; + margin-right: 11px; + float: left; +} +.steps-block .fa-angle-right { + font-size: 84px; +} + +/* title wrapper */ +.title-wrapper { + margin: -23px 0 23px; + position: relative; + overflow: hidden; + background: #72c2ff url(../../pages/img/title-bg/man.jpg) no-repeat 100% 100%; + min-height: 280px; + padding-top: 79px; + width: 100%; + overflow: hidden; +} +.title-wrapper .container-inner { + float: left; +} +.ecommerce .title-wrapper h1, .title-wrapper em { + font-family: 'Open Sans', sans-serif; + color: #fff; + font-weight: 400; +} +.ecommerce .title-wrapper h1 { + font-size: 45px; + padding: 0 9px 13px; + border-bottom: solid 1px rgba(255,255,255,0.6); + margin: 0 -9px 17px; +} +.title-wrapper h1 span { + color: #e6400c; +} +.title-wrapper em { + font-size: 20px; + font-style: normal; + display: block; + text-align: center; +} + +/* breadcrumb */ +.breadcrumb { + background: none; + padding: 0; + font: 14px "Open Sans", sans-serif; + color: #5f6d7b; + margin-bottom: 22px; +} +.breadcrumb > li + li:before { + content: "\f105 "; + -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + color: #5f6d7b; +} +.breadcrumb a { + color: #5f6d7b; +} +.breadcrumb > .active { + color: #e6400c; +} + +/* paginations */ +.pagination { + border-radius: 0; + margin: 0; +} +.pagination > li { + display: inline-block; + margin-left: 5px; +} +.pagination > li > a, .pagination > li > span, +.pagination > li:first-child > a, .pagination > li:first-child > span, +.pagination > li:last-child > a, .pagination > li:last-child > span { + border-radius: 25px !important; + border: none; + color: #868c93; +} +.pagination > li > span, +.pagination > li > span:hover { + background: #555; + color: #fff; +} +.pagination > li:first-child > a, +.pagination > li:last-child > a { + padding: 4px 12px 8px; +} +.items-info { + padding-top: 7px; + color: #868c93; +} + +/* content page */ +.content-page { + background: #fff; + padding: 20px; + margin-right: 10px; +} +.corporate .content-page { + padding: 0 0 20px; +} +.content-page a, +.sidebar2 a { + color: #767F88; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #E02222; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #E02222; +} +.content-page h2, +.content-page h3, +.content-page h4, +.content-page h5, +.content-page h6 { + /*text-transform: inherit;*/ + padding-top: 10px; +} +.content-page h3 { + font-size: 20px; + margin-bottom: 7px; +} +.content-page h4 { + font-size: 17px; + margin-bottom: 4px; +} +.content-page h5, +.content-page h6 { + font: 700 15px 'Open Sans', Arial, sans-serif; + margin-bottom: 2px; +} +.content-page p, +.content-page .list-unstyled { + margin-bottom: 20px; +} +.content-page .list-unstyled .list-unstyled { + margin-left: 20px; + padding-top: 3px; + margin-bottom: 0; +} +.content-page .list-unstyled li { + margin-bottom: 3px; +} + +/* 404 page */ +.corporate .page-404 { + text-align: center; + padding-top: 60px; + padding-bottom: 125px; +} +.page-404 .number { + position: relative; + top: 35px; + display: inline-block; + letter-spacing: -10px; + margin-top: 0px; + margin-bottom: 10px; + line-height: 128px; + font-size: 128px; + font-weight: 300; + color: #E02222; + text-align: right; +} +.page-404 .details { + margin-left: 40px; + display: inline-block; + padding-top: 0px; + text-align: left; + top: 15px; + position: relative; +} + +/* 500 page */ +.corporate .page-500 { + text-align: center; + padding-top: 60px; + padding-bottom: 60px; +} +.page-500 .number { + display: inline-block; + letter-spacing: -10px; + line-height: 128px; + font-size: 128px; + font-weight: 300; + color: #E02222; + text-align: right; +} +.page-500 .details { + margin-left: 40px; + display: inline-block; + text-align: left; +} + +/* content form page */ +div.content-form-page { + background: #fff; + padding: 5px 20px 30px; + margin-right: 10px; +} +.content-form-page a { + color: #767F88; +} +.content-form-page a:hover { + color: #E02222; +} +.form-without-legend { + padding-top: 25px; +} +.content-form-page legend { + border: none; + font-size: 18px; + padding-top: 20px; + margin-bottom: 10px; + color: #3E4D5C; +} +.content-form-page .control-label { + font-weight: normal; + padding-right: 5px; + margin-left: -15px; +} +.default-form label, +.checkout-page label { + font-weight: normal; +} +.require { + color: #e94d1c; +} +.content-form-page input.form-control { + border-color: #dbdbdb; + color: #aaa; + font: 14px Arial, sans-serif; + border-radius: 0; +} +.content-form-page .form-control:focus { + box-shadow: none; + border: solid 1px #e94d1c; +} +.content-form-page .checkbox .col-lg-4 { + padding-right: 0; + margin-left: -15px; +} +/*.content-form-page .checker { + margin-left: -15px; +}*/ +.content-form-page .btn { + margin-right: 10px; + /*padding: 7px 12px 6px;*/ +} +div.content-form-page .checkbox-list { + margin-left: -3px; +} + +/* info at the right of the forms */ +.form-info { + padding: 0 10px 0 30px; + border-left: solid 1px #e4e6e8; + margin: 25px 0; +} +.form-info h2, +.ecommerce .form-info h2 { + font-size: 18px; + position: relative; + top: -5px; + margin-bottom: 5px; +} +.form-info h2 em { + font-style: normal; + color: #e6400c; +} +.form-info p { + margin: 0 0 20px; +} + + +.nav-tabs { + border-color: #e6400c; + padding-bottom: 1px; + font-size: 14px; + margin-bottom: 0; +} +.nav-tabs > li > a, .nav-tabs > li > a:hover, .nav-tabs > li > a:focus { + background: #F4F4F4; + color: #647484; + border-radius: 0; + padding: 5px 15px 4px; + border: none !important; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #e6400c; + color: #fff; + padding: 5px 15px 4px; +} +.tab-content { + background: #FAFAFA; + padding: 20px 15px; +} + +/* content search */ +.content-search { + background: #fff; + padding: 10px 15px; +} +.ecommerce .content-search h1 { + padding-top: 3px; + margin: 0; +} +.content-search h1 em { + font-style: normal; + color: #e6400c; +} +.content-search form { + margin: 0; +} +.content-search input { + border-radius: 0; + border-color: #dbdbdb; + color: #b0b4b7; + font: 14px Arial, sans-serif; + height: 35px; +} +.content-search input:focus { + box-shadow: none; + border: solid 1px #e94d1c; +} +.content-search button { + margin-left: 0 !important; + font-size: 14px; + /*padding: 7px 12px 5px;*/ + height: 35px; +} + +/*** +Pre-Footer and pre-footer elements +***/ +.pre-footer { + background: #313030; + color: #b0b0b0; +} +.pre-footer .container { + padding-top: 45px; +} +.pre-footer a { + color: #57c8eb; +} +.pre-footer h2, +.ecommerce .pre-footer h2 { + font-size: 21px; + color: #c2c1c1; +} +.pre-footer p { + margin-bottom: 20px; +} +.pre-footer li { + margin-bottom: 6px; +} + +/* pre-footer twitter block */ +.pre-footer dl.f-twitter { + overflow: hidden; + margin-bottom: 7px; +} +.pre-footer dl.f-twitter dt { + width: 30px; + float: left; + text-align: left; + padding-top: 2px; +} +.pre-footer dl.f-twitter dt i { + color: #57c8eb; + font-size: 20px; +} +.pre-footer dl.f-twitter dd { + color: #b0b0b0; + margin-left: 30px; +} +.pre-footer dl.f-twitter dd span { + color: #6b9cab; + font-size: 12px; + margin: 0 5px; +} +.pre-footer address { + line-height: 1.7; +} +.pre-footer-col { + padding-bottom: 22px; +} +.pre-footer .top-line { + border-top: solid 1px #535353; + padding-top: 24px; + padding-bottom: 17px; +} +.pre-footer .social-icons { + padding-top: 5px; +} +.pre-footer .social-icons li a, +.pre-footer a.social-icon { + transition: all 0.1s ease-in-out !important; + -o-transition: all 0.1s ease-in-out !important; + -ms-transition: all 0.1s ease-in-out !important; + -moz-transition: all 0.1s ease-in-out !important; + -webkit-transition: all 0.1s ease-in-out !important; +} +.pre-footer .social-icons li a:hover { + opacity: 1; +} + +.pre-footer hr { + margin-top: 0; + border-color: #404040; +} +.pre-footer .form-control, +.pre-footer .form-control:focus { + border: none; +} + +/* subscribe */ +.pre-footer .pre-footer-subscribe-box { + padding-bottom: 14px; +} +.ecommerce .pre-footer-subscribe-box form { + float: left; + width: 330px; +} +.pre-footer .pre-footer-subscribe-box p { + clear: both; +} +.pre-footer-subscribe-box .input-group { + border: solid 1px #545454; + padding: 1px 1px 0 0; +} +.pre-footer-light .pre-footer-subscribe-box .input-group { + border: solid 1px #DBDBDB; +} +.ecommerce .pre-footer-subscribe-box h2, +.corporate .pre-footer-subscribe-box h2 { + float: left; + margin-right: 20px; + padding-top: 7px; +} +.pre-footer-subscribe-box input { + border-radius: 0; + background: #313030; + border: solid 1px #313030; + color: #909090; + font: 13px Arial, sans-serif; +} +.pre-footer-subscribe-box input:focus { + box-shadow: none; + border: solid 1px #313030; +} +.pre-footer-subscribe-box .btn-primary { + margin-left: 0 !important; + border-bottom: none; + margin-bottom: 1px; +} + +/* pre-footer photostream */ +.pre-footer .photo-stream li { + margin: 4px 5px 4px 0; + display: inline-block; +} +.pre-footer .photo-stream img { + width: 54px; + height: 54px; + border: solid 2px #9ca5ae; +} +.pre-footer .photo-stream img:hover { + border-color: #E84D1C; + transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -webkit-transition: all 0.3s ease-in-out; +} + +/* light pre-footer */ +.pre-footer-light { + background: #F9F9F9; + color: #3E4D5C; + margin-top: 20px; +} +.pre-footer-light .container { + background: #fff; + padding-top: 25px; +} +.pre-footer-light h2, +.ecommerce .pre-footer-light h2 { + color: #3E4D5C; +} +.pre-footer-light a { + color: #3E4D5C; +} +.pre-footer-light dl.f-twitter dd { + color: #3E4D5C; +} +.pre-footer-light dl.f-twitter dd span { + color: #99a5b1; +} +.pre-footer-light dl.f-twitter dd a { + color: #e84d1c; +} + +.pre-footer-light address a { + color: #e84d1c; +} + +.pre-footer-light hr { + border-color: #e6e6e6; +} + +.pre-footer-light .social-icons li a { + opacity: 1; +} +.pre-footer-light .social-icons li a:hover { + opacity: 0.7; +} + +.pre-footer-light .input-group { + border: none; + padding: 1px 1px 0 0; +} +.pre-footer-light .pre-footer-subscribe-box input { + background: #fff; + border: none; + color: #909090; +} +.pre-footer-light .pre-footer-subscribe-box button:hover { + color: #fff; +} + +/* light pre-footer */ +.pre-footer-gray { + background: #62707F; + color: #fff; +} +.pre-footer-gray h2, +.ecommerce .pre-footer-gray h2 { + color: #fff; +} +.pre-footer-gray dl.f-twitter dd { + color: #fff; +} +.pre-footer-gray dl.f-twitter dd span { + color: #fff; + opacity: 0.5; +} + +.pre-footer-gray hr { + border-color: #94a5b6; +} + +.pre-footer-gray .social-icons li a { + opacity: 1; +} +.pre-footer-gray .social-icons li a:hover { + opacity: 0.7; +} + +.pre-footer-gray .pre-footer-subscribe-box fomr { + color: #fff; +} +.pre-footer-gray .pre-footer-subscribe-box .input-group { + border: 1px solid #94a5b6; +} +.pre-footer-gray .pre-footer-subscribe-box input { + background: #62707F; + border: solid 1px #62707F; + color: #fff; +} +.pre-footer-gray .pre-footer-subscribe-box input:focus { + border: solid 1px #62707F; +} +.pre-footer-gray ::-webkit-input-placeholder { /* WebKit browsers */ + color: #fff; +} +.pre-footer-gray :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #fff; +} +.pre-footer-gray ::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #fff; +} +.pre-footer-gray :-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #fff; +} + +/* Powered */ +.footer .powered { + color: #81848f; + margin: 5px 0 0; +} +.footer .powered > a { + color: #e6400c; + text-decoration: none; +} +.footer .powered > a:hover { + color: #e94d1c; +} + +/* footer */ +.footer { + background: #272626; + color: #fff; + font-size: 12px; + padding: 15px 0; +} +.footer-light { + background: #F9F9F9; + color: #3e4d5c; +} +.footer-gray { + background: #4A5866; +} +.footer a { + color: #fff; + text-decoration: underline; +} +.footer a:hover { + text-decoration: none; +} +.footer-light a { + color: inherit; +} +.footer .padding-top-10 { + opacity: 0.5; +} +.footer .list-inline > li:last-child { + padding-right: 0; +} +.footer ul { + margin: 0; + padding: 0; +} +.footer ul.social-footer { + font-size: 18px; + padding-top: 5px; +} +.footer ul.social-footer a { + opacity: 0.5; +} +.footer ul.social-footer a:hover { + opacity: 1; +} + + +/*** +Custom icon buttons +***/ +.icon-btn { + height: 60px; + min-width: 80px; + margin: 0 5px 5px 0; + border: 1px solid #ddd; + padding: 12px 0px 0px 0px; + background-color: #fafafa !important; + background-image: none !important; + filter:none !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; + display:inline-block !important; + color: #646464 !important; + text-shadow: none !important; + text-align: center; + cursor: pointer; + position: relative; + -webkit-transition: all 0.3s ease !important; + -moz-transition: all 0.3s ease !important; + -ms-transition: all 0.3s ease !important; + -o-transition: all 0.3s ease !important; + transition: all 0.3s ease !important; +} + +.icon-btn i { + font-size: 18px; +} + +.ie8 .icon-btn:hover { + filter: none !important; +} + +.icon-btn:hover { + text-decoration: none !important; + border-color: #999 !important; + color: #444 !important; + text-shadow: 0 1px 0px rgba(255, 255, 255, 1) !important; + -webkit-transition: all 0.3s ease !important; + -moz-transition: all 0.3s ease !important; + -ms-transition: all 0.3s ease !important; + -o-transition: all 0.3s ease !important; + transition: all 0.3s ease !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.icon-btn:hover .badge { + -webkit-transition: all 0.3s ease !important; + -moz-transition: all 0.3s ease !important; + -ms-transition: all 0.3s ease !important; + -o-transition: all 0.3s ease !important; + transition: all 0.3s ease !important; + -webkit-box-shadow: none !important; + -moz-box-shadow: none !important; + box-shadow: none !important; +} + +.icon-btn div { + font-family: 'Open Sans', sans-serif; + margin-top: 5px; + margin-bottom: 10px; + color: #000; + font-size: 12px; + font-weight: 300; +} + +.icon-btn .badge { + position: absolute; + font-family: 'Open Sans', sans-serif; + font-size: 11px !important; + font-weight: 300; + top: -5px; + right: -5px; + padding: 3px 6px 3px 6px; + color: white !important; + text-shadow: none; + border-width: 0; + border-style: solid; + -webkit-border-radius: 12px !important; + -moz-border-radius: 12px !important; + border-radius: 12px !important; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +/*** +Notes +***/ + +/* Common styles for all types */ +.note { + margin: 0 0 20px 0; + padding: 15px 30px 15px 15px; + border-left: 5px solid #eee; +} + +.note h1, +.note h2, +.note h3, +.note h4 { + margin-top: 0; +} + +.note p:last-child { + margin-bottom: 0; +} +.note code, +.note .highlight { + background-color: #fff; +} + +/* Variations */ +.note-danger { + background-color: #FAEAE6; + border-color: #ed4e2a; +} + +.note-warning { + background-color: #FCF3E1; + border-color: #fcb322; +} + +.note-info { + background-color: #E8F6FC; + border-color: #57b5e3; +} + +.note-success { + background-color: #EBFCEE; + border-color: #3cc051; +} + +/* panel styles */ +.panel-default > .panel-heading { + color: inherit; +} +.panel .panel-title { + padding-top: 0; + margin-bottom: 0; +} + +/*** +Font awesome icons styles +***/ +.fontawesome-icon-list [class^="fa-"], +.fontawesome-icon-list [class*=" fa-"], +li [class^="fa-"], +li [class*=" fa-"] { + display: inline-block; + width: 1.25em; + text-align: center; +} +.fontawesome-icon-list [class^="fa-"].icon-large, +.fontawesome-icon-list [class*=" fa-"].icon-large, +li [class^="fa-"].icon-large, +li [class*=" fa-"].icon-large { + width: 1.5625em; +} +.fontawesome-icon-list .col-md-3 { + height: 32px; + line-height: 32px; +} + + +/*** +Demo Utils +***/ +.scrollspy-example { + position: relative; + height: 200px; + margin-top: 10px; + overflow: auto; +} + +.util-btn-margin-bottom-5 .btn { + margin-bottom: 5px !important; +} + +.util-btn-group-margin-bottom-5 .btn-group { + margin-bottom: 5px !important; +} + +.fontawesome-demo i { + font-size: 18px; +} + +.fontawesome-demo li { + padding-top: 5px; + padding-bottom: 5px; +} + +.glyphicons-demo ul { + padding-left: 0; + padding-bottom: 1px; + margin-bottom: 20px; + list-style: none; + overflow: hidden; +} + +.bs-glyphicons { + padding-left: 0; + padding-bottom: 1px; + margin-bottom: 20px; + list-style: none; + overflow: hidden; +} +.glyphicons-demo ul li { + float: left; + width: 25%; + height: 115px; + padding: 10px; + margin: 0 -1px -1px 0; + font-size: 12px; + line-height: 1.4; + text-align: center; + border: 1px solid #ddd; +} + +.glyphicons-demo .glyphicon { + display: block; + margin: 5px auto 10px; + font-size: 24px; +} +.glyphicons-demo ul li { + width: 12.5%; +} +.glyphicons-demo ul li [class^="glyphicon-"], .glyphicons-demo ul li [class*=" glyphicon-"] { + display: block; + text-align: center !important; + width: auto; + line-height: 1.2; +} +.glyphicons-demo ul li:hover { + background-color: rgba(86,61,124,.1); +} + +.buttons-page .btn { + margin-bottom: 5px !important; +} +.buttons-page .clearfix { + margin-bottom: 20px; +} +#topcontrol { + z-index: 99999; +} + +/* faq page */ +.faq-page .panel-heading { + padding: 0; +} +.faq-page .panel-heading h4 { + font-size: 17px; +} +.faq-page .panel-heading a { + display: block; + padding: 10px 15px 9px; +} +.faq-page .panel-heading a:hover { + color: #333; + text-decoration: underline; +} + +/* Services Box */ +.service-box p { + color: #656565; + font-size: 13px; +} +.service-box .service-box-heading { + padding: 12px 0; +} +.service-box .service-box-heading i { + padding: 0; + -webkit-border-radius: 34px; + -moz-border-radius: 34px; + border-radius: 34px; + font-size:18px; + height:32px; + width:32px; + line-height: 32px; + text-align:center; + vertical-align: baseline; +} +.service-box .service-box-heading i.blue { + color: #0da3e2; + border:1px solid #0da3e2; +} +.service-box .service-box-heading i.red { + color: #db3a1b; + border:1px solid #db3a1b; +} +.service-box .service-box-heading i.green { + color: #35aa47; + border:1px solid #35aa47; +} +.service-box .service-box-heading span { + color: #444; + font-size: 21px; + line-height: 25px; + font-weight: 400; + margin-bottom: 10px; + margin-left: 10px; + display: inline-block; +} +.service-box .service-box-heading [class^="icon-"], +.service-box [class*=" icon-"] { + display: inline-block; + text-align: center; +} +.service-box .service-box-heading [class^="icon-"].icon-large, +.service-box .service-box-heading [class*=" icon-"].icon-large { + /* increased font size for icon-large */ + width: 1.5625em; +} + +/* Blockquote Box */ +.quote-v1 { + background: #7C858E; + padding: 10px 0; + margin-left: 0; + margin-right: 0; +} +.quote-v1 a { + margin: 5px; + display: inline-block; +} +.quote-v1 span { + color: #fff; + font-size: 22px; + font-weight: 300; + margin: 13px 5px 8px; + line-height: 26px; + display: inline-block; +} +.quote-v1 a.btn-transparent { + color: #fff; + font-size: 16px; + padding: 8px 18px; + white-space: nowrap; + text-decoration: none; + border: solid 1px #fff; + background: none; +} +.quote-v1 a.btn-transparent:hover { + background: #E02222; + color: #fff; + transition: all 0.5s ease; + -o-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -webkit-transition: all 0.5s ease; +} +.quote-v1 a.btn-transparent i { + margin-right: 10px; +} + +/* Recent Works */ +.recent-work { + position: relative; +} +.recent-work a:hover { + text-decoration: none; +} +.recent-work h2, +.ecommerce .recent-work h2 { + margin: 3px 0 5px; +} +.recent-work h2 a { + color: #3e4d5c; +} +.recent-work h2 a:hover { + color: #E02222; +} +.recent-work-item { + padding-left: 10px; +} +.recent-work .owl-buttons { + left: -74px; + right: auto; + top: 0; +} +.recent-work .recent-work-item a.recent-work-description { + padding: 10px; + display: block; + background: #fff; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #E6400C; + transition: all 0.9s ease; + -o-transition: all 0.9s ease; + -moz-transition: all 0.9s ease; + -webkit-transition: all 0.9s ease; +} +.recent-work .recent-work-item strong { + color: #000; + display: block; + font-size: 16px; + font-weight: 300; +} +.recent-work .recent-work-item b { + color: #656565; + font-weight: 300; +} +.recent-work .recent-work-item:hover b, +.recent-work .recent-work-item:hover strong { + color: #fff; +} +.recent-work .recent-work-item em { + display: block; + overflow: hidden; + position: relative; +} +.recent-work .recent-work-item .fa { + color: #fff; + padding: 16px 30px 16px 18px; + font-size: 16px; + position: absolute; + top: 50%; + width: 47px; + height: 47px; + margin-top: -23.5px; + border-radius: 47px; + background: rgba(0,0,0,0.5); + transition: all 0.6s ease; + -o-transition: all 0.6s ease; + -moz-transition: all 0.6s ease; + -webkit-transition: all 0.6s ease; +} +.recent-work .recent-work-item .fa:hover { + color: #E02222; +} +.recent-work .recent-work-item .fa-link { + left: -100px; +} +.recent-work .recent-work-item .fa-search { + right: -100px; +} +.recent-work .recent-work-item:hover .fa-link { + left: 30%; +} +.recent-work .recent-work-item:hover .fa-search { + right: 30%; +} + +/* Mixed Block */ +/* Testimonials */ +.testimonials-v1 blockquote { + padding: 15px; + border: none; + color: #666; + display: block; + font-size: 14px; + line-height: 20px; + background: #F8F8F8; + position: relative; +} +.testimonials-v1 blockquote:before { + content: " "; + display: block; + position: absolute; + bottom: -20px; + left: 70px; + width: 0; + height: 0; + border-left: 0 inset rgba(0, 0, 0, 0); + border-right: 22px inset rgba(0, 0, 0, 0); + border-top: 22px solid #F8F8F8; +} +.testimonials-v1 blockquote:after { + width: 13px; + height: 13px; + z-index: 23; + content: " "; + display: block !important; + position: absolute; + right: 0; + bottom: 0; + background: #E6400C url(../img/blockquote-corner.png) no-repeat; +} + +.testimonials-v1 .carousel-info img { + width: 75px; + height: 75px; + padding: 3px; + border-radius: 150px !important; + border: solid 1px #f5f5f5; +} +.testimonials-v1 .carousel-info { + overflow: hidden; +} +.testimonials-v1 .carousel-info img { + margin-right: 15px; +} +.testimonials-v1 .carousel-info span { + display: block; +} +.testimonials-v1 span.testimonials-name { + color: #E6400C; + font-size: 16px; + font-weight: 300; + margin: 23px 0 7px; +} +.testimonials-v1 span.testimonials-post { + color: #656565; + font-size: 12px; +} +.testimonials-v1 .left-btn, +.testimonials-v1 .right-btn { + right: 0; + width: 26px; + height: 26px; + bottom: 30px; + border-radius: 26px !important; + position: absolute; + display: inline-block; +} +.testimonials-v1 .left-btn { + right: 30px; + background: url(../../pages/img/fa-angles.png) no-repeat 8px 8px; +} +.testimonials-v1 .right-btn { + background: url(../../pages/img/fa-angles.png) no-repeat -33px 8px; +} +.testimonials-v1 .left-btn:hover { + background: #e84d1c url(../../pages/img/fa-angles.png) no-repeat 8px -31px; +} +.testimonials-v1 .right-btn:hover { + background: #e84d1c url(../../pages/img/fa-angles.png) no-repeat -33px -31px; +} + +/* our clients */ +.our-clients { + position: relative; +} +.our-clients h2, +.ecommerce .our-clients h2 { + margin: 3px 0 5px; +} +.our-clients h2 a { + color: #3e4d5c; +} +.our-clients h2 a:hover { + color: #E02222; +} +.our-clients .client-item { + background: #f8f8f8; + margin-left: 2px; + position: relative; +} +.our-clients .owl-buttons { + left: -74px; + right: auto; + top: 0; +} +.our-clients .client-item img { + margin-left: auto; + margin-right: auto; +} +.our-clients .client-item .color-img { + display: none; +} +.our-clients .client-item:hover img { + display: none; +} +.our-clients .client-item:hover .color-img { + display: block; +} + +/* Front Carousel */ +.front-carousel .carousel-control { + margin: 0; + border: none; + height: 35px; + font-size: 24px; + font-weight: normal; + top: 40%; + width: 35px; + background: #222; + opacity: 0.5; +} +.front-carousel .carousel-control:hover { + opacity: 0.6; +} +.front-carousel .carousel-control i { + font-size: 27px; +} +.front-carousel .carousel-control.right i { + position: relative; + left: 1px; +} +.front-carousel .carousel-caption { + padding: 10px 15px 0; + background: rgba(0,0,0,0.5); + left: 0; + right: 0; + bottom: 0; + text-align: left; +} +.front-carousel .carousel-control.left { + left: 0; +} +.front-carousel .carousel-control.right { + right: 0; +} + +/* Skils */ +.front-skills span { + color: #555; + display: block; + font-size: 15px; + margin-bottom: 7px; +} +.front-skills .progress { + background: #f2f2f2; +} +.front-skills .progress-bar { + background: #EF4D2E; +} +.front-skills .progress, +.front-skills .progress-bar { + box-shadow: none; +} + +/* Team Blocks */ +.front-team .thumbnail { + border: none; +} +.front-team h3, +.ecommerce .front-team h3 { + margin:10px 0 12px; + line-height:40px; +} +.front-team h3 strong { + color: #E02222; + font-size: 20px; + font-weight: 400; +} +.front-team h3 small { + display: block; + font-size: 13px; +} +.front-team ul { + padding: 4px 0 0; +} +.front-team .social-icons { + overflow: hidden; +} + +/* Service Box v1 */ +.service-box-v1 { + text-align: center; + padding: 15px; +} +.service-box-v1 i { + padding: 15px; + font-size: 35px; +} +.service-box-v1:hover { + background: #d73d04; + transition: all 0.4s ease-in-out; + -o-transition: all 0.4s ease-in-out; + -moz-transition: all 0.4s ease-in-out; + -webkit-transition: all 0.4s ease-in-out; +} +.service-box-v1:hover i, +.service-box-v1:hover p, +.service-box-v1:hover h2 { + color: #fff; +} + +/* corp. search result */ +.content-search-view2 { + background: #EDEFF1; + padding: 20px; + margin: 0 0 20px; +} +.search-result-item { + margin: 0 -10px 20px; + padding: 0 10px 15px; + border-bottom: 1px solid #ECEBEB; +} +.search-result-item h4, +.ecommerce .search-result-item h4 { + margin-bottom: 5px; + padding: 0; +} +.search-result-item h4 a { + color: #E6400C; +} +.search-result-item p { + margin-bottom: 10px; +} +.search-link { + color: #999; + font-size: 12px; +} + +/* FAQ */ +.faq-tabbable { + padding: 0; + margin: 0; + list-style: none; + border-left: solid 2px #e44f00; +} +.faq-tabbable li { + position: relative; + margin-bottom: 1px; +} +.faq-tabbable li a { + font-size: 14px; + color: #7C858E; + display: block; + background: #F4F4F4; + padding: 12px 10px 11px 8px; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #e44f00; + text-decoration: none; + color: #fff; +} +.faq-tabbable li.active:after { + content: ''; + display: inline-block; + border-bottom: 6px solid transparent; + border-top: 6px solid transparent; + border-left: 6px solid #e44f00; + position: absolute; + top: 16px; + right: -5px; +} + +/* Lists */ +.front-lists-v1 li { + font-size: 14px; + margin-bottom: 5px; +} +.content-page .front-lists-v2 li { + color: #555; + font-size: 16px; + margin-bottom: 14px; + text-transform: uppercase; +} +.front-lists-v2 li i { + margin-right: 5px; + font-size: 17px; +} + +/* Blog Page */ +.blog-posts h2, +.ecommerce .blog-posts h2 { + padding-top: 0; +} +.blog-posts p { + text-align: justify; +} +.blog-posts .carousel { + margin-bottom: 0; +} +.blog-posts hr.blog-post-sep { + margin: 40px 0; +} +.blog-info { + list-style: none; + margin: 15px 0 12px 0; + padding-left:0; +} +.blog-info li { + padding: 0; + color: #555; + font-size: 13px; + margin-right: 10px; + display: inline-block; +} +.blog-info li i { + color: #E84D1C; +} + +.blog-posts .pagination li { + margin-left: -12px; + margin-right: 17px; +} + +.blog-posts .more, +.blog-sidebar .more { + color: #E84D1C; +} + +/* Blog Sidebar */ +.recent-news { + overflow: hidden; +} +.recent-news h3, +.ecommerce .recent-news h3 { + font-size: 16px; + line-height: 20px; + margin: 0; + padding: 0; +} +.recent-news h3 a { + color: #E84D1C; +} +.recent-news-inner{ + padding: 0; +} +.blog-talks .tab-style-1 ul.nav-tabs li > a { + min-width: 50px; +} +.blog-photo-stream li { + overflow: hidden; + margin: 0 5px 8px 0; + display: inline-block; +} +.blog-photo-stream li img { + width: 54px; + height: 54px; + padding: 2px; + border: solid 1px #eee; +} +.blog-photo-stream li img:hover { + border-color: #E84D1C; + box-shadow: 0 0 1px #fff; + transition: all 0.4s ease-in-out; + -o-transition: all 0.4s ease-in-out; + -ms-transition: all 0.4s ease-in-out; + -moz-transition: all 0.4s ease-in-out; + -webkit-transition: all 0.4s ease-in-out; +} +.blog-tags ul { + list-style: none; + margin: 0; + padding: 0; +} +.blog-tags li { + position: relative; + margin: 0 16px 7px 0; + display: inline-block; +} +.blog-tags li a { + color: #555; + background: #f5f5f5; + display: inline-block; + padding: 3px 5px 3px 3px; +} +.blog-tags li a:hover { + color: #fff; + background: #E84D1C; + text-decoration: none; +} +.blog-tags li a:hover i { + color: #fff; +} +.blog-tags li i { + color: #E84D1C; + margin-right: 5px; + display: inline-block; +} +.blog-tags li a:after { + top: 50%; + width: 0; + left: 100%; + height: 0; + z-index: 2; + content: " "; + display: block; + margin-top: -12px; + position: absolute; + border-left: 12px solid #f5f5f5; + border-top: 12px solid transparent; + border-bottom: 12px solid transparent; +} +.blog-tags li a:hover:after { + border-left-color: #E84D1C; +} + +.blog-talks .tab-content { + background: #FAFAFA; + padding: 20px 15px; +} +.blog-talks .nav-tabs { + margin-bottom: 0; +} +.blog-talks .nav-tabs > li { + margin-top: 1px; +} + +/* Blog Sidebar categories BEGIN */ +.sidebar-categories li a { + padding: 10px 0; + border-bottom: 1px solid #ECEBEB; + color: #333; +} +.sidebar-categories li a:hover { + background: none; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #E84D1C; +} +.sidebar-categories li a:before { + content: "ï”"; + font-family: FontAwesome !important; + font-size: 8px; + padding-right: 10px; + position: relative; + top: -1px; +} +/* Blog Sidebar categories END */ + +/* Blog Item */ +.blog-item .blog-item-img { + margin: 6px 0 25px; +} +.blog-item .blog-item-img .carousel { + margin-bottom: 0; +} +.blog-item blockquote { + margin: 20px 40px 18px; + border-color: #E84D1C; +} +.blog-item .blog-info { + margin: 20px 0; + padding: 8px 0; + border-top: solid 1px #ECEBEB; + border-bottom: solid 1px #ECEBEB; +} +.blog-item .blog-info li { + padding-left: 13px; + border-left: solid 1px #ECEBEB; +} +.blog-item .blog-info li:first-child { + padding-left: 0; + border-left: none; +} +.blog-item .blog-item-img .carousel-control { + top: 45%; +} + +.blog-item .media { + border-bottom: solid 1px #ECEBEB; + margin-bottom: -1px; +} +.blog-item .comments { + border-top: solid 1px #ECEBEB; + padding-top: 15px; +} +.blog-item img.media-object { + top: 2px; + width: 60px; + height: 60px; + position: relative; +} +.blog-item h4.media-heading { + position: relative; + padding-top: 0; +} +.blog-item h4.media-heading span { + right: 0; + top: 3px; + color: #777; + font-size: 12px; + font-weight: 400; + position: absolute; +} +.blog-item h4.media-heading span a { + color: #E84D1C; +} + +.mix-block .tab-content .col-md-3 { + padding-right: 0; +} +.mix-block .nav-tabs > li { + margin-top: 1px; +} + +/* front steps */ +.front-steps-wrapper h2, +.ecommerce .front-steps-wrapper h2 { + color: #f0f0f0; + font-size: 22px; + line-height: 1.2; + padding-top: 10px; + margin-bottom: 5px; +} +.front-steps-wrapper .front-step1 h2, +.ecommerce .front-steps-wrapper .front-step1 h2 { + color: #fefefe; +} +.front-steps-wrapper p { + color: #fff; + font-size: 12px; + line-height: 18px; + margin-bottom: 0; +} + +.front-steps-wrapper .front-step-col { + padding-left: 0; + padding-right: 0; +} +.front-steps-wrapper .front-step-col:first-child { + padding-left: 15px; +} +.front-steps-wrapper .front-step-col:last-child { + padding-right: 15px; +} + +.front-steps-wrapper .front-step { + position: relative; + padding: 15px 20px 33px; +} +.front-steps-wrapper .front-step1 { + background: #E84D1C; +} +.front-steps-wrapper .front-step2 { + background: #7c858e; +} +.front-steps-wrapper .front-step3 { + background: #68727c; +} +.front-steps-wrapper .front-step4 { + background: #636a72; +} +.front-steps-wrapper .front-step5 { + background: #5e6369; +} +.front-steps-wrapper .front-step6 { + background: #55585d; +} + +.front-steps-wrapper .front-step:before { + color: #fff; + font: 300 125px 'Open Sans', sans-serif; + font-weight: bold; + display: block; + position: absolute; + right: -20px; + bottom: -40px; + opacity: 0.1; +} +.ie8 .front-steps-wrapper .front-step:before { + display: none !important; +} +.front-steps-wrapper .front-step1:before { + content: "1"; + opacity: 0.2; +} +.front-steps-wrapper .front-step2:before { + content: "2"; + right: -15px; +} +.front-steps-wrapper .front-step3:before { + content: "3"; +} +.front-steps-wrapper .front-step4:before { + content: "4"; +} +.front-steps-wrapper .front-step5:before { + content: "5"; +} +.front-steps-wrapper .front-step6:before { + content: "6"; +} + +.front-steps-wrapper .front-step:after { + top: 50%; + width: 0; + height: 0; + left: 100%; + z-index: 2; + content: " "; + display: block; + margin-top: -1em; + position: absolute; + border-left: 15px solid #EC7049; + border-top: 15px solid transparent; + border-bottom: 15px solid transparent; +} +.ie8 .front-steps-wrapper .front-step:after { + display: none !important; +} +.front-steps-wrapper .front-step-col:last-child .front-step:after { + display: none; +} +.front-steps-wrapper .front-step2:after { + border-left-color: #899199; +} +.front-steps-wrapper .front-step3:after { + border-left-color: #778089; +} +.front-steps-wrapper .front-step4:after { + border-left-color: #727980; +} +.front-steps-wrapper .front-step5:after { + border-left-color: #6E7278; + top: auto; + bottom: 10%; +} + +/* pricing */ +.pricing { + position: relative; + margin-bottom: 15px; + border: 3px solid #eee; +} +.pricing-active { + border: 3px solid #E84D1C; + margin-top: -10px; + box-shadow: 7px 7px rgba(232, 77, 22, 0.2); +} +.pricing:hover { + border: 3px solid #E84D1C; +} +.pricing:hover h4 { + color: #E84D1C; +} +.pricing-head { + text-align: center; +} +.pricing-head h3, +.pricing-head h4 { + margin: 0; + line-height: normal; +} +.pricing-head h3 span, +.pricing-head h4 span { + display: block; + margin-top: 5px; + font-size: 14px; + font-style: italic; +} +.pricing-head h3 { + font-weight: 300; + color: #fafafa; + padding: 12px 0; + font-size: 27px; + background: #E84D1C; + border-bottom: none; +} +.pricing-head h4 { + color: #bac39f; + padding: 5px 0; + font-size: 54px; + font-weight: 300; + background: #fbfef2; + border-bottom: solid 1px #f5f9e7; +} +.pricing-head-active h4 { + color: #E84D1C; +} +.pricing-head h4 i { + top: -8px; + font-size: 28px; + font-style: normal; + position: relative; +} +.pricing-head h4 span { + top: -10px; + font-size: 14px; + font-style: normal; + position: relative; +} + +/* Pricing Content */ +.pricing-content li { + color: #888; + font-size: 12px; + padding: 7px 15px; + border-bottom: solid 1px #f5f9e7; +} +.pricing-content li i { + top: 2px; + color: #E84D1C; + font-size: 16px; + margin-right: 5px; + position: relative; +} + +/* Pricing Footer */ +.pricing-footer { + color: #777; + font-size: 11px; + line-height: 17px; + text-align: center; + padding: 0 20px 19px; +} + +.pricing-footer .btn { + color: #fff; +} + +.pricing-footer .btn:hover { + color: #fafafa; +} + +/* Priceing Active */ +.price-active, +.pricing:hover { + z-index: 9; +} +.price-active h4 { + color: #36d7ac; +} + +.no-space-pricing .pricing:hover { + transition:box-shadow 0.2s ease-in-out; +} +.no-space-pricing .price-active .pricing-head h4, +.no-space-pricing .pricing:hover .pricing-head h4 { + color: #36d7ac; + padding: 15px 0; + font-size: 80px; + transition:color 0.5s ease-in-out; +} + + +/*** +Styler Panel +***/ +.color-panel { + z-index: 9999; + position: fixed; + top: 120px; + right: 0; +} +.color-panel .color-mode-icons { + top: 0; + right: 0; + padding: 20px; + cursor: pointer; + position: absolute; + margin: 0; +} +.color-panel .icon-color { + background: #c9c9c9 url(../../pages/img/icon-color.png) center no-repeat; +} +.color-panel .icon-color:hover { + background-color: #3d3d3d; +} +.color-panel .icon-color-close { + display: none; + background: #3d3d3d url(../../pages/img/icon-color-close.png) center no-repeat; +} +.color-panel .icon-color-close:hover { + background-color: #222; +} +.color-mode { + top: 0; + right: 40px; + width: 200px; + display: none; + padding: 20px 10px 10px; + position: absolute; + background: #3d3d3d; +} +.color-mode p { + color: #cfcfcf; + padding: 0 15px; + font-size: 15px; +} +.color-mode ul { + list-style: none; + padding: 4px 11px 5px; + display: block; + margin-bottom: 1px !important; +} +.color-mode li { + width: 28px; + height: 28px; + margin: 4px; + cursor: pointer; + list-style: none; + border: solid 1px #707070; + display: inline-block; + padding: 0 5px; +} +.color-mode li:hover, +.color-mode li.current { + border: solid 1px #ebebeb; +} +.color-mode li.current { + border: solid 2px #ebebeb; +} + +.color-mode li.color-blue { + background: #64aed9; +} +.color-mode li.color-red { + background: #e84d1c; +} +.color-mode li.color-green { + background: #67bd3c; +} +.color-mode li.color-orange { + background: #e18604; +} +.color-gray { + background: #798b97; +} +.color-turquoise { + background: #44b1c1; +} +.color-mode label { + color: #cfcfcf; + border-top: 1px solid #585858; + padding: 10px 10px 0; + margin: 0 5px; + display: block; +} +.color-mode label span { + text-transform: uppercase; +} +.color-mode label > span { + display: inline-block; + width: 85px; +} +.color-mode label > select { + margin-top: 5px; + text-transform: lowercase; +} +.color-mode label span.color-mode-label { + top: 2px; + position: relative; +} + +.fancybox-overlay { + z-index: 100000 ; +} + +.fancybox-opened { + z-index: 100001; +} \ No newline at end of file diff --git a/static/assets/corporate/css/themes/blue.css b/static/assets/corporate/css/themes/blue.css new file mode 100644 index 0000000..da4db49 --- /dev/null +++ b/static/assets/corporate/css/themes/blue.css @@ -0,0 +1,382 @@ +a { + color: #64aed9; +} +a:hover { + color: #64aed9; +} +.pre-header a:hover { + color: #64aed9; +} +.shop-currencies a.current { + color: #64aed9; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #64aed9; +} +.header-navigation li.menu-search i:hover { + color: #64aed9; +} +.sidebar a:hover { + color: #64aed9; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #64aed9; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + color: #64aed9; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #64aed9; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #64aed9; +} +.page-404 .number, +.page-500 .number { + color: #64aed9; +} +.content-form-page a:hover { + color: #64aed9; +} +.quote-v1 a.btn-transparent:hover { + background: #64aed9; +} +.recent-work h2 a:hover { + color: #64aed9; +} +.recent-work .recent-work-item .fa:hover { + color: #64aed9; +} +.our-clients h2 a:hover { + color: #64aed9; +} +.front-team h3 strong { + color: #64aed9; +} +.ecommerce .header-navigation ul > li.active > a, +.ecommerce .header-navigation ul > li > a:hover, +.ecommerce .header-navigation ul > li > a:focus, +.ecommerce .header-navigation ul > li.open > a, +.ecommerce .header-navigation ul > li.open > a:hover, +.ecommerce .header-navigation ul > li.open > a:focus { + color: #64aed9; +} +.product-item h3 a:hover { + color: #64aed9; +} +.checkout-page a:hover { + color: #64aed9; +} + + +.langs-block-others:after { + border-bottom: 8px solid #64aed9; +} +.header-navigation > ul > li.dropdown:hover > a:after { + border-bottom: 8px solid #64aed9; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #64aed9; + color: #fff; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #64aed9; +} +.header-navigation .search-box:after { + border-bottom: 8px solid #64aed9; +} +.header-navigation .search-box { + border-top: solid 2px #64aed9; +} +.title-wrapper h1 span { + color: #64aed9; +} +.breadcrumb > .active { + color: #64aed9; +} +.form-info h2 em { + color: #64aed9; +} +.nav-tabs { + border-color: #64aed9; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #64aed9; +} +.content-search h1 em { + color: #64aed9; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #64aed9; +} +.testimonials-v1 blockquote:after { + background-color: #64aed9; +} +.testimonials-v1 span.testimonials-name { + color: #64aed9; +} +.search-result-item h4 a { + color: #64aed9; +} +.top-cart-content:after { + border-bottom: 8px solid #64aed9; +} +.goods-data a, +.checkout-page .checkout-description a { + color: #64aed9; +} +.product-page .review a { + color: #64aed9; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #64aed9; + color: #fff; +} +.list-view-sorting a { + background: #fff; + color: #64aed9; +} + + + +::-moz-selection { + color: #fff; + background: #64aed9; +} +::selection { + color: #fff; + background: #64aed9; +} +.steps-block ::-moz-selection { + color: #64aed9; + background: #fff; +} +.steps-block ::selection { + color: #64aed9; + background: #fff; +} + + + +.owl-buttons .owl-prev:hover { + background-color: #64aed9; +} +.owl-buttons .owl-next:hover { + background-color: #64aed9; +} +.steps-block-red { + background: #64aed9; +} +.pre-footer .photo-stream img:hover { + border-color: #64aed9; +} +.pre-footer-light dl.f-twitter dd a { + color: #64aed9; +} +.pre-footer-light address a { + color: #64aed9; +} +.testimonials-v1 .left-btn:hover { + background-color: #64aed9; +} +.testimonials-v1 .right-btn:hover { + background-color: #64aed9; +} +.blog-tags li i, +.blog-info li i { + color: #64aed9; +} +.blog-posts .more, +.blog-sidebar .more { + color: #64aed9; +} +.recent-news h3 a { + color: #64aed9; +} +.blog-photo-stream li img:hover { + border-color: #64aed9; +} +.blog-tags li a:hover { + color: #fff; + background: #64aed9; +} +.blog-tags li a:hover:after { + border-left-color: #64aed9; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #64aed9; +} +.blog-item blockquote { + border-color: #64aed9; +} +.blog-item h4.media-heading span a { + color: #64aed9; +} +.front-steps-wrapper .front-step1 { + background: #64aed9; +} +.pricing-active { + border: 3px solid #64aed9; + box-shadow: 7px 7px rgba(100, 174, 217, 0.2); +} +.pricing:hover { + border: 3px solid #64aed9; +} +.pricing:hover h4 { + color: #64aed9; +} +.pricing-head h3 { + background: #64aed9; +} +.pricing-head-active h4 { + color: #64aed9; +} +.pricing-content li i { + color: #64aed9; +} +.top-cart-block .fa-shopping-cart { + background: #64aed9; +} +.product-item .btn:hover { + background: #64aed9; +} +.pi-price { + color: #64aed9; +} +.product-item .add2cart:hover { + color: #fff !important; + background: #64aed9 !important; + border-color: #64aed9; +} +.goods-page-price strong, +.goods-page-total strong, +.checkout-price strong, +.checkout-total strong { + color: #64aed9; +} +.shopping-total strong, +.checkout-total-block strong { + color: #64aed9; +} +.compare-item strong { + color: #64aed9; +} +.sidebar-products .price { + color: #64aed9; +} +.price-availability-block .price strong { + color: #64aed9; +} + +.require { + color: #64aed9; +} +.content-form-page .form-control:focus { + border: solid 1px #64aed9; +} +.content-search input:focus { + border: solid 1px #64aed9; +} + +.btn-primary { + background: #64aed9; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + background: #64aed9; +} + +.header-navigation .dropdown-menu > li:first-child { + border-top: 2px solid #64aed9; +} +.front-steps-wrapper .front-step1:after { + border-left: 15px solid #83BEE0; +} + +.del-goods:hover, +.add-goods:hover { + background-color: #83BEE0; +} + +.sidebar a:hover > .fa-angle-down { + background-position: -22px 0; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -22px -37px; +} + +.top-cart-content { + border-top: solid 2px #83BEE0; +} + +.front-skills .progress-bar { + background: #83BEE0; +} + +.service-box-v1:hover { + background: #83BEE0; +} + +.header .mobi-toggler:hover { + background-color: #83BEE0; + border-color: #83BEE0; +} + +@media (max-width: 1024px) { + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + color: #83BEE0 !important; + } +} + +.faq-tabbable { + border-left: solid 2px #83BEE0; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #83BEE0; +} +.faq-tabbable li.active:after { + border-left: 6px solid #83BEE0; +} + +.mix-filter li:hover, .mix-filter li.active { + background: #83BEE0; + color: #fff; +} +.mix-grid .mix .mix-details { + background: #83BEE0; +} +.mix-grid .mix a.mix-link, +.mix-grid .mix a.mix-preview { + background: #1ab8db; +} +.langs-block-others { + border-top: solid 2px #83BEE0; +} + +.brands .owl-buttons .owl-prev:hover { + background-position: 18px -325px; +} +.brands .owl-buttons .owl-next:hover { + background-position: -249px -325px; +} +.header-navigation ul > li.active > a/*, +.ecommerce .header-navigation ul > li.active > a*/ { + border-bottom: 2px solid #83BEE0; +} \ No newline at end of file diff --git a/static/assets/corporate/css/themes/gray.css b/static/assets/corporate/css/themes/gray.css new file mode 100644 index 0000000..5bf8309 --- /dev/null +++ b/static/assets/corporate/css/themes/gray.css @@ -0,0 +1,382 @@ +a { + color: #798b97; +} +a:hover { + color: #798b97; +} +.pre-header a:hover { + color: #798b97; +} +.shop-currencies a.current { + color: #798b97; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #798b97; +} +.header-navigation li.menu-search i:hover { + color: #798b97; +} +.sidebar a:hover { + color: #798b97; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #798b97; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + color: #798b97; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #798b97; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #798b97; +} +.page-404 .number, +.page-500 .number { + color: #798b97; +} +.content-form-page a:hover { + color: #798b97; +} +.quote-v1 a.btn-transparent:hover { + background: #798b97; +} +.recent-work h2 a:hover { + color: #798b97; +} +.recent-work .recent-work-item .fa:hover { + color: #798b97; +} +.our-clients h2 a:hover { + color: #798b97; +} +.front-team h3 strong { + color: #798b97; +} +.ecommerce .header-navigation ul > li.active > a, +.ecommerce .header-navigation ul > li > a:hover, +.ecommerce .header-navigation ul > li > a:focus, +.ecommerce .header-navigation ul > li.open > a, +.ecommerce .header-navigation ul > li.open > a:hover, +.ecommerce .header-navigation ul > li.open > a:focus { + color: #798b97; +} +.product-item h3 a:hover { + color: #798b97; +} +.checkout-page a:hover { + color: #798b97; +} + + +.langs-block-others:after { + border-bottom: 8px solid #798b97; +} +.header-navigation > ul > li.dropdown:hover > a:after { + border-bottom: 8px solid #798b97; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #798b97; + color: #fff; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #798b97; +} +.header-navigation .search-box:after { + border-bottom: 8px solid #798b97; +} +.header-navigation .search-box { + border-top: solid 2px #798b97; +} +.title-wrapper h1 span { + color: #798b97; +} +.breadcrumb > .active { + color: #798b97; +} +.form-info h2 em { + color: #798b97; +} +.nav-tabs { + border-color: #798b97; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #798b97; +} +.content-search h1 em { + color: #798b97; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #798b97; +} +.testimonials-v1 blockquote:after { + background-color: #798b97; +} +.testimonials-v1 span.testimonials-name { + color: #798b97; +} +.search-result-item h4 a { + color: #798b97; +} +.top-cart-content:after { + border-bottom: 8px solid #798b97; +} +.goods-data a, +.checkout-page .checkout-description a { + color: #798b97; +} +.product-page .review a { + color: #798b97; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #798b97; + color: #fff; +} +.list-view-sorting a { + background: #fff; + color: #798b97; +} + + + +::-moz-selection { + color: #fff; + background: #798b97; +} +::selection { + color: #fff; + background: #798b97; +} +.steps-block ::-moz-selection { + color: #798b97; + background: #fff; +} +.steps-block ::selection { + color: #798b97; + background: #fff; +} + + + +.owl-buttons .owl-prev:hover { + background-color: #798b97; +} +.owl-buttons .owl-next:hover { + background-color: #798b97; +} +.steps-block-red { + background: #798b97; +} +.pre-footer .photo-stream img:hover { + border-color: #798b97; +} +.pre-footer-light dl.f-twitter dd a { + color: #798b97; +} +.pre-footer-light address a { + color: #798b97; +} +.testimonials-v1 .left-btn:hover { + background-color: #798b97; +} +.testimonials-v1 .right-btn:hover { + background-color: #798b97; +} +.blog-tags li i, +.blog-info li i { + color: #798b97; +} +.blog-posts .more, +.blog-sidebar .more { + color: #798b97; +} +.recent-news h3 a { + color: #798b97; +} +.blog-photo-stream li img:hover { + border-color: #798b97; +} +.blog-tags li a:hover { + color: #fff; + background: #798b97; +} +.blog-tags li a:hover:after { + border-left-color: #798b97; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #798b97; +} +.blog-item blockquote { + border-color: #798b97; +} +.blog-item h4.media-heading span a { + color: #798b97; +} +.front-steps-wrapper .front-step1 { + background: #798b97; +} +.pricing-active { + border: 3px solid #798b97; + box-shadow: 7px 7px rgba(121, 139, 151, 0.2); +} +.pricing:hover { + border: 3px solid #798b97; +} +.pricing:hover h4 { + color: #798b97; +} +.pricing-head h3 { + background: #798b97; +} +.pricing-head-active h4 { + color: #798b97; +} +.pricing-content li i { + color: #798b97; +} +.top-cart-block .fa-shopping-cart { + background: #798b97; +} +.product-item .btn:hover { + background: #798b97; +} +.pi-price { + color: #798b97; +} +.product-item .add2cart:hover { + color: #fff !important; + background: #798b97 !important; + border-color: #798b97; +} +.goods-page-price strong, +.goods-page-total strong, +.checkout-price strong, +.checkout-total strong { + color: #798b97; +} +.shopping-total strong, +.checkout-total-block strong { + color: #798b97; +} +.compare-item strong { + color: #798b97; +} +.sidebar-products .price { + color: #798b97; +} +.price-availability-block .price strong { + color: #798b97; +} + +.require { + color: #798b97; +} +.content-form-page .form-control:focus { + border: solid 1px #798b97; +} +.content-search input:focus { + border: solid 1px #798b97; +} + +.btn-primary { + background: #798b97; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + background: #798b97; +} + +.header-navigation .dropdown-menu > li:first-child { + border-top: 2px solid #798b97; +} +.front-steps-wrapper .front-step1:after { + border-left: 15px solid #93A2AB; +} + +.del-goods:hover, +.add-goods:hover { + background-color: #93A2AB; +} + +.sidebar a:hover > .fa-angle-down { + background-position: -66px 0; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -66px -37px; +} + +.top-cart-content { + border-top: solid 2px #93A2AB; +} + +.front-skills .progress-bar { + background: #93A2AB; +} + +.service-box-v1:hover { + background: #93A2AB; +} + +.header .mobi-toggler:hover { + background-color: #93A2AB; + border-color: #93A2AB; +} + +@media (max-width: 1024px) { + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + color: #93A2AB !important; + } +} + +.faq-tabbable { + border-left: solid 2px #93A2AB; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #93A2AB; +} +.faq-tabbable li.active:after { + border-left: 6px solid #93A2AB; +} + +.mix-filter li:hover, .mix-filter li.active { + background: #93A2AB; + color: #fff; +} +.mix-grid .mix .mix-details { + background: #93A2AB; +} +.mix-grid .mix a.mix-link, +.mix-grid .mix a.mix-preview { + background: #959798; +} +.langs-block-others { + border-top: solid 2px #93A2AB; +} + +.brands .owl-buttons .owl-prev:hover { + background-position: 18px -753px; +} +.brands .owl-buttons .owl-next:hover { + background-position: -249px -753px; +} +.header-navigation ul > li.active > a/*, +.ecommerce .header-navigation ul > li.active > a*/ { + border-bottom: 2px solid #93A2AB; +} \ No newline at end of file diff --git a/static/assets/corporate/css/themes/green.css b/static/assets/corporate/css/themes/green.css new file mode 100644 index 0000000..d0adc86 --- /dev/null +++ b/static/assets/corporate/css/themes/green.css @@ -0,0 +1,382 @@ +a { + color: #67bd3c; +} +a:hover { + color: #67bd3c; +} +.pre-header a:hover { + color: #67bd3c; +} +.shop-currencies a.current { + color: #67bd3c; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #67bd3c; +} +.header-navigation li.menu-search i:hover { + color: #67bd3c; +} +.sidebar a:hover { + color: #67bd3c; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #67bd3c; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + color: #67bd3c; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #67bd3c; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #67bd3c; +} +.page-404 .number, +.page-500 .number { + color: #67bd3c; +} +.content-form-page a:hover { + color: #67bd3c; +} +.quote-v1 a.btn-transparent:hover { + background: #67bd3c; +} +.recent-work h2 a:hover { + color: #67bd3c; +} +.recent-work .recent-work-item .fa:hover { + color: #67bd3c; +} +.our-clients h2 a:hover { + color: #67bd3c; +} +.front-team h3 strong { + color: #67bd3c; +} +.ecommerce .header-navigation ul > li.active > a, +.ecommerce .header-navigation ul > li > a:hover, +.ecommerce .header-navigation ul > li > a:focus, +.ecommerce .header-navigation ul > li.open > a, +.ecommerce .header-navigation ul > li.open > a:hover, +.ecommerce .header-navigation ul > li.open > a:focus { + color: #67bd3c; +} +.product-item h3 a:hover { + color: #67bd3c; +} +.checkout-page a:hover { + color: #67bd3c; +} + + +.langs-block-others:after { + border-bottom: 8px solid #67bd3c; +} +.header-navigation > ul > li.dropdown:hover > a:after { + border-bottom: 8px solid #67bd3c; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #67bd3c; + color: #fff; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #67bd3c; +} +.header-navigation .search-box:after { + border-bottom: 8px solid #67bd3c; +} +.header-navigation .search-box { + border-top: solid 2px #67bd3c; +} +.title-wrapper h1 span { + color: #67bd3c; +} +.breadcrumb > .active { + color: #67bd3c; +} +.form-info h2 em { + color: #67bd3c; +} +.nav-tabs { + border-color: #67bd3c; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #67bd3c; +} +.content-search h1 em { + color: #67bd3c; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #67bd3c; +} +.testimonials-v1 blockquote:after { + background-color: #67bd3c; +} +.testimonials-v1 span.testimonials-name { + color: #67bd3c; +} +.search-result-item h4 a { + color: #67bd3c; +} +.top-cart-content:after { + border-bottom: 8px solid #67bd3c; +} +.goods-data a, +.checkout-page .checkout-description a { + color: #67bd3c; +} +.product-page .review a { + color: #67bd3c; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #67bd3c; + color: #fff; +} +.list-view-sorting a { + background: #fff; + color: #67bd3c; +} + + + +::-moz-selection { + color: #fff; + background: #67bd3c; +} +::selection { + color: #fff; + background: #67bd3c; +} +.steps-block ::-moz-selection { + color: #67bd3c; + background: #fff; +} +.steps-block ::selection { + color: #67bd3c; + background: #fff; +} + + + +.owl-buttons .owl-prev:hover { + background-color: #67bd3c; +} +.owl-buttons .owl-next:hover { + background-color: #67bd3c; +} +.steps-block-red { + background: #67bd3c; +} +.pre-footer .photo-stream img:hover { + border-color: #67bd3c; +} +.pre-footer-light dl.f-twitter dd a { + color: #67bd3c; +} +.pre-footer-light address a { + color: #67bd3c; +} +.testimonials-v1 .left-btn:hover { + background-color: #67bd3c; +} +.testimonials-v1 .right-btn:hover { + background-color: #67bd3c; +} +.blog-tags li i, +.blog-info li i { + color: #67bd3c; +} +.blog-posts .more, +.blog-sidebar .more { + color: #67bd3c; +} +.recent-news h3 a { + color: #67bd3c; +} +.blog-photo-stream li img:hover { + border-color: #67bd3c; +} +.blog-tags li a:hover { + color: #fff; + background: #67bd3c; +} +.blog-tags li a:hover:after { + border-left-color: #67bd3c; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #67bd3c; +} +.blog-item blockquote { + border-color: #67bd3c; +} +.blog-item h4.media-heading span a { + color: #67bd3c; +} +.front-steps-wrapper .front-step1 { + background: #67bd3c; +} +.pricing-active { + border: 3px solid #67bd3c; + box-shadow: 7px 7px rgba(103, 189, 60, 0.2); +} +.pricing:hover { + border: 3px solid #67bd3c; +} +.pricing:hover h4 { + color: #67bd3c; +} +.pricing-head h3 { + background: #67bd3c; +} +.pricing-head-active h4 { + color: #67bd3c; +} +.pricing-content li i { + color: #67bd3c; +} +.top-cart-block .fa-shopping-cart { + background: #67bd3c; +} +.product-item .btn:hover { + background: #67bd3c; +} +.pi-price { + color: #67bd3c; +} +.product-item .add2cart:hover { + color: #fff !important; + background: #67bd3c !important; + border-color: #67bd3c; +} +.goods-page-price strong, +.goods-page-total strong, +.checkout-price strong, +.checkout-total strong { + color: #67bd3c; +} +.shopping-total strong, +.checkout-total-block strong { + color: #67bd3c; +} +.compare-item strong { + color: #67bd3c; +} +.sidebar-products .price { + color: #67bd3c; +} +.price-availability-block .price strong { + color: #67bd3c; +} + +.require { + color: #67bd3c; +} +.content-form-page .form-control:focus { + border: solid 1px #67bd3c; +} +.content-search input:focus { + border: solid 1px #67bd3c; +} + +.btn-primary { + background: #67bd3c; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + background: #67bd3c; +} + +.header-navigation .dropdown-menu > li:first-child { + border-top: 2px solid #67bd3c; +} +.front-steps-wrapper .front-step1:after { + border-left: 15px solid #85CA63; +} + +.del-goods:hover, +.add-goods:hover { + background-color: #85CA63; +} + +.sidebar a:hover > .fa-angle-down { + background-position: -33px 0; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -33px -37px; +} + +.top-cart-content { + border-top: solid 2px #85CA63; +} + +.front-skills .progress-bar { + background: #85CA63; +} + +.service-box-v1:hover { + background: #85CA63; +} + +.header .mobi-toggler:hover { + background-color: #85CA63; + border-color: #85CA63; +} + +@media (max-width: 1024px) { + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + color: #85CA63 !important; + } +} + +.faq-tabbable { + border-left: solid 2px #85CA63; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #85CA63; +} +.faq-tabbable li.active:after { + border-left: 6px solid #85CA63; +} + +.mix-filter li:hover, .mix-filter li.active { + background: #85CA63; + color: #fff; +} +.mix-grid .mix .mix-details { + background: #85CA63; +} +.mix-grid .mix a.mix-link, +.mix-grid .mix a.mix-preview { + background: #7edb1a; +} +.langs-block-others { + border-top: solid 2px #85CA63; +} + +.brands .owl-buttons .owl-prev:hover { + background-position: 18px -432px; +} +.brands .owl-buttons .owl-next:hover { + background-position: -249px -432px; +} +.header-navigation ul > li.active > a/*, +.ecommerce .header-navigation ul > li.active > a*/ { + border-bottom: 2px solid #85CA63; +} \ No newline at end of file diff --git a/static/assets/corporate/css/themes/orange.css b/static/assets/corporate/css/themes/orange.css new file mode 100644 index 0000000..0484748 --- /dev/null +++ b/static/assets/corporate/css/themes/orange.css @@ -0,0 +1,382 @@ +a { + color: #e18604; +} +a:hover { + color: #e18604; +} +.pre-header a:hover { + color: #e18604; +} +.shop-currencies a.current { + color: #e18604; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #e18604; +} +.header-navigation li.menu-search i:hover { + color: #e18604; +} +.sidebar a:hover { + color: #e18604; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #e18604; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + color: #e18604; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #e18604; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #e18604; +} +.page-404 .number, +.page-500 .number { + color: #e18604; +} +.content-form-page a:hover { + color: #e18604; +} +.quote-v1 a.btn-transparent:hover { + background: #e18604; +} +.recent-work h2 a:hover { + color: #e18604; +} +.recent-work .recent-work-item .fa:hover { + color: #e18604; +} +.our-clients h2 a:hover { + color: #e18604; +} +.front-team h3 strong { + color: #e18604; +} +.ecommerce .header-navigation ul > li.active > a, +.ecommerce .header-navigation ul > li > a:hover, +.ecommerce .header-navigation ul > li > a:focus, +.ecommerce .header-navigation ul > li.open > a, +.ecommerce .header-navigation ul > li.open > a:hover, +.ecommerce .header-navigation ul > li.open > a:focus { + color: #e18604; +} +.product-item h3 a:hover { + color: #e18604; +} +.checkout-page a:hover { + color: #e18604; +} + + +.langs-block-others:after { + border-bottom: 8px solid #e18604; +} +.header-navigation > ul > li.dropdown:hover > a:after { + border-bottom: 8px solid #e18604; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #e18604; + color: #fff; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #e18604; +} +.header-navigation .search-box:after { + border-bottom: 8px solid #e18604; +} +.header-navigation .search-box { + border-top: solid 2px #e18604; +} +.title-wrapper h1 span { + color: #e18604; +} +.breadcrumb > .active { + color: #e18604; +} +.form-info h2 em { + color: #e18604; +} +.nav-tabs { + border-color: #e18604; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #e18604; +} +.content-search h1 em { + color: #e18604; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #e18604; +} +.testimonials-v1 blockquote:after { + background-color: #e18604; +} +.testimonials-v1 span.testimonials-name { + color: #e18604; +} +.search-result-item h4 a { + color: #e18604; +} +.top-cart-content:after { + border-bottom: 8px solid #e18604; +} +.goods-data a, +.checkout-page .checkout-description a { + color: #e18604; +} +.product-page .review a { + color: #e18604; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #e18604; + color: #fff; +} +.list-view-sorting a { + background: #fff; + color: #e18604; +} + + + +::-moz-selection { + color: #fff; + background: #e18604; +} +::selection { + color: #fff; + background: #e18604; +} +.steps-block ::-moz-selection { + color: #e18604; + background: #fff; +} +.steps-block ::selection { + color: #e18604; + background: #fff; +} + + + +.owl-buttons .owl-prev:hover { + background-color: #e18604; +} +.owl-buttons .owl-next:hover { + background-color: #e18604; +} +.steps-block-red { + background: #e18604; +} +.pre-footer .photo-stream img:hover { + border-color: #e18604; +} +.pre-footer-light dl.f-twitter dd a { + color: #e18604; +} +.pre-footer-light address a { + color: #e18604; +} +.testimonials-v1 .left-btn:hover { + background-color: #e18604; +} +.testimonials-v1 .right-btn:hover { + background-color: #e18604; +} +.blog-tags li i, +.blog-info li i { + color: #e18604; +} +.blog-posts .more, +.blog-sidebar .more { + color: #e18604; +} +.recent-news h3 a { + color: #e18604; +} +.blog-photo-stream li img:hover { + border-color: #e18604; +} +.blog-tags li a:hover { + color: #fff; + background: #e18604; +} +.blog-tags li a:hover:after { + border-left-color: #e18604; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #e18604; +} +.blog-item blockquote { + border-color: #e18604; +} +.blog-item h4.media-heading span a { + color: #e18604; +} +.front-steps-wrapper .front-step1 { + background: #e18604; +} +.pricing-active { + border: 3px solid #e18604; + box-shadow: 7px 7px rgba(225, 134, 4, 0.2); +} +.pricing:hover { + border: 3px solid #e18604; +} +.pricing:hover h4 { + color: #e18604; +} +.pricing-head h3 { + background: #e18604; +} +.pricing-head-active h4 { + color: #e18604; +} +.pricing-content li i { + color: #e18604; +} +.top-cart-block .fa-shopping-cart { + background: #e18604; +} +.product-item .btn:hover { + background: #e18604; +} +.pi-price { + color: #e18604; +} +.product-item .add2cart:hover { + color: #fff !important; + background: #e18604 !important; + border-color: #e18604; +} +.goods-page-price strong, +.goods-page-total strong, +.checkout-price strong, +.checkout-total strong { + color: #e18604; +} +.shopping-total strong, +.checkout-total-block strong { + color: #e18604; +} +.compare-item strong { + color: #e18604; +} +.sidebar-products .price { + color: #e18604; +} +.price-availability-block .price strong { + color: #e18604; +} + +.require { + color: #e18604; +} +.content-form-page .form-control:focus { + border: solid 1px #e18604; +} +.content-search input:focus { + border: solid 1px #e18604; +} + +.btn-primary { + background: #e18604; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + background: #e18604; +} + +.header-navigation .dropdown-menu > li:first-child { + border-top: 2px solid #e18604; +} +.front-steps-wrapper .front-step1:after { + border-left: 15px solid #E79E36; +} + +.del-goods:hover, +.add-goods:hover { + background-color: #E79E36; +} + +.sidebar a:hover > .fa-angle-down { + background-position: -44px 0; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -44px -37px; +} + +.top-cart-content { + border-top: solid 2px #E79E36; +} + +.front-skills .progress-bar { + background: #E79E36; +} + +.service-box-v1:hover { + background: #E79E36; +} + +.header .mobi-toggler:hover { + background-color: #E79E36; + border-color: #E79E36; +} + +@media (max-width: 1024px) { + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + color: #E79E36 !important; + } +} + +.faq-tabbable { + border-left: solid 2px #E79E36; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #E79E36; +} +.faq-tabbable li.active:after { + border-left: 6px solid #E79E36; +} + +.mix-filter li:hover, .mix-filter li.active { + background: #E79E36; + color: #fff; +} +.mix-grid .mix .mix-details { + background: #E79E36; +} +.mix-grid .mix a.mix-link, +.mix-grid .mix a.mix-preview { + background: #db681a; +} +.langs-block-others { + border-top: solid 2px #E79E36; +} + +.brands .owl-buttons .owl-prev:hover { + background-position: 18px -539px; +} +.brands .owl-buttons .owl-next:hover { + background-position: -249px -539px; +} +.header-navigation ul > li.active > a/*, +.ecommerce .header-navigation ul > li.active > a*/ { + border-bottom: 2px solid #E79E36; +} \ No newline at end of file diff --git a/static/assets/corporate/css/themes/red.css b/static/assets/corporate/css/themes/red.css new file mode 100644 index 0000000..7ace6ef --- /dev/null +++ b/static/assets/corporate/css/themes/red.css @@ -0,0 +1,377 @@ +a { + color: #E02222; +} +a:hover { + color: #E02222; +} +.pre-header a:hover { + color: #E02222; +} +.shop-currencies a.current { + color: #E02222; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #e02222; +} +.header-navigation li.menu-search i:hover { + color: #e02222; +} +.sidebar a:hover { + color: #E02222; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #E02222; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + color: #E02222; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #E02222; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #E02222; +} +.page-404 .number, +.page-500 .number { + color: #E02222; +} +.content-form-page a:hover { + color: #E02222; +} +.quote-v1 a.btn-transparent:hover { + background: #E02222; +} +.recent-work h2 a:hover { + color: #E02222; +} +.recent-work .recent-work-item .fa:hover { + color: #E02222; +} +.our-clients h2 a:hover { + color: #E02222; +} +.front-team h3 strong { + color: #E02222; +} +.ecommerce .header-navigation ul > li.active > a, +.ecommerce .header-navigation ul > li > a:hover, +.ecommerce .header-navigation ul > li > a:focus, +.ecommerce .header-navigation ul > li.open > a, +.ecommerce .header-navigation ul > li.open > a:hover, +.ecommerce .header-navigation ul > li.open > a:focus { + color: #e02222; +} +.product-item h3 a:hover { + color: #E02222; +} +.checkout-page a:hover { + color: #E02222; +} + + +.langs-block-others:after { + border-bottom: 8px solid #e6400c; +} +.header-navigation > ul > li.dropdown:hover > a:after { + border-bottom: 8px solid #e6400c; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #e6400c; + color: #fff; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #e6400c; +} +.header-navigation .search-box:after { + border-bottom: 8px solid #e6400c; +} +.header-navigation .search-box { + border-top: solid 2px #ea4c1d; +} +.title-wrapper h1 span { + color: #e6400c; +} +.breadcrumb > .active { + color: #e6400c; +} +.form-info h2 em { + color: #e6400c; +} +.nav-tabs { + border-color: #e6400c; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #e6400c; +} +.content-search h1 em { + color: #e6400c; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #E6400C; +} +.testimonials-v1 blockquote:after { + background-color: #E6400C; +} +.testimonials-v1 span.testimonials-name { + color: #E6400C; +} +.search-result-item h4 a { + color: #E6400C; +} +.top-cart-content:after { + border-bottom: 8px solid #e6400c; +} +.goods-data a, +.checkout-page .checkout-description a { + color: #e6400c; +} +.product-page .review a { + color: #e6400c; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #E6400C; + color: #fff; +} +.list-view-sorting a { + background: #fff; + color: #E6400C; +} + +::-moz-selection { + color: #fff; + background: #e45000; +} +::selection { + color: #fff; + background: #e45000; +} +.steps-block ::-moz-selection { + color: #e45000; + background: #fff; +} +.steps-block ::selection { + color: #e45000; + background: #fff; +} + +.owl-buttons .owl-prev:hover { + background-color: #e84d1c; +} +.owl-buttons .owl-next:hover { + background-color: #e84d1c; +} +.steps-block-red { + background: #e84d1c; +} +.pre-footer .photo-stream img:hover { + border-color: #E84D1C; +} +.pre-footer-light dl.f-twitter dd a { + color: #e84d1c; +} +.pre-footer-light address a { + color: #e84d1c; +} +.testimonials-v1 .left-btn:hover { + background-color: #e84d1c; +} +.testimonials-v1 .right-btn:hover { + background-color: #e84d1c; +} +.blog-tags li i, +.blog-info li i { + color: #E84D1C; +} +.blog-posts .more, +.blog-sidebar .more { + color: #E84D1C; +} +.recent-news h3 a { + color: #E84D1C; +} +.blog-photo-stream li img:hover { + border-color: #E84D1C; +} +.blog-tags li a:hover { + color: #fff; + background: #E84D1C; +} +.blog-tags li a:hover:after { + border-left-color: #E84D1C; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #E84D1C; +} +.blog-item blockquote { + border-color: #E84D1C; +} +.blog-item h4.media-heading span a { + color: #E84D1C; +} +.front-steps-wrapper .front-step1 { + background: #E84D1C; +} +.pricing-active { + border: 3px solid #E84D1C; + box-shadow: 7px 7px rgba(232, 77, 22, 0.2); +} +.pricing:hover { + border: 3px solid #E84D1C; +} +.pricing:hover h4 { + color: #E84D1C; +} +.pricing-head h3 { + background: #E84D1C; +} +.pricing-head-active h4 { + color: #E84D1C; +} +.pricing-content li i { + color: #E84D1C; +} +.top-cart-block .fa-shopping-cart { + background: #e84d1c; +} +.product-item .btn:hover { + background: #e84d1c; +} +.pi-price { + color: #e84d1c; +} +.product-item .add2cart:hover { + color: #fff !important; + background: #E84D1C !important; + border-color: #E84D1C; +} +.goods-page-price strong, +.goods-page-total strong, +.checkout-price strong, +.checkout-total strong { + color: #e84d1c; +} +.shopping-total strong, +.checkout-total-block strong { + color: #e84d1c; +} +.compare-item strong { + color: #E84D1C; +} +.sidebar-products .price { + color: #E84D1C; +} +.price-availability-block .price strong { + color: #e84d1c; +} + + +.require { + color: #e94d1c; +} +.content-form-page .form-control:focus { + border: solid 1px #e94d1c; +} +.content-search input:focus { + border: solid 1px #e94d1c; +} + +.btn-primary { + background: #e94d1c; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + background: #cc3304; +} + +.header-navigation .dropdown-menu > li:first-child { + border-top: 2px solid #EA4C1D; +} +.front-steps-wrapper .front-step1:after { + border-left: 15px solid #EC7049; +} + +.del-goods:hover, +.add-goods:hover { + background-color: #E94D1C; +} + +.sidebar a:hover > .fa-angle-down { + background-position: -11px 0; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -11px -37px; +} +.top-cart-content { + border-top: solid 2px #ea4c1d; +} + +.front-skills .progress-bar { + background: #EF4D2E; +} + +.service-box-v1:hover { + background: #d73d04; +} + +.header .mobi-toggler:hover { + background-color: #e34f00; + border-color: #e34f00; +} + +@media (max-width: 1024px) { + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + color: #dd4632 !important; + } +} + +.faq-tabbable { + border-left: solid 2px #e44f00; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #e44f00; +} +.faq-tabbable li.active:after { + border-left: 6px solid #e44f00; +} + +.mix-filter li:hover, .mix-filter li.active { + background: #e44f00; + color: #fff; +} +.mix-grid .mix .mix-details { + background: #e44f00; +} +.mix-grid .mix a.mix-link, +.mix-grid .mix a.mix-preview { + background: #DB3A1B; +} +.langs-block-others { + border-top: solid 2px #ea4c1d; +} +.brands .owl-buttons .owl-prev:hover { + background-position: 18px -217px; +} +.brands .owl-buttons .owl-next:hover { + background-position: -249px -217px; +} +.header-navigation ul > li.active > a/*, +.ecommerce .header-navigation ul > li.active > a*/ { + border-bottom: 2px solid #e64f00; +} \ No newline at end of file diff --git a/static/assets/corporate/css/themes/turquoise.css b/static/assets/corporate/css/themes/turquoise.css new file mode 100644 index 0000000..855fd47 --- /dev/null +++ b/static/assets/corporate/css/themes/turquoise.css @@ -0,0 +1,383 @@ +a { + color: #44b1c1; +} +a:hover { + color: #44b1c1; +} +.pre-header a:hover { + color: #44b1c1; +} +.shop-currencies a.current { + color: #44b1c1; +} +.header-navigation ul > li.active > a, +.header-navigation ul > li > a:hover, +.header-navigation ul > li > a:focus, +.header-navigation ul > li.open > a, +.header-navigation ul > li.open > a:hover, +.header-navigation ul > li.open > a:focus { + color: #44b1c1; +} +.header-navigation li.menu-search i:hover { + color: #44b1c1; +} +.sidebar a:hover { + color: #44b1c1; +} +.sidebar .dropdown.open .dropdown-toggle:hover { + color: #44b1c1; +} +.sidebar-menu .dropdown-menu li > a:hover, .sidebar-menu .dropdown-menu li > a:focus, .sidebar-menu li.active > a, .sidebar-menu li.active > a:hover { + color: #44b1c1; +} +.content-page a:hover, +.sidebar2 a:hover { + color: #44b1c1; +} +.content-page .link, .content-page .link:hover, .content-page .link:active { + color: #44b1c1; +} +.page-404 .number, +.page-500 .number { + color: #44b1c1; +} +.content-form-page a:hover { + color: #44b1c1; +} +.quote-v1 a.btn-transparent:hover { + background: #44b1c1; +} +.recent-work h2 a:hover { + color: #44b1c1; +} +.recent-work .recent-work-item .fa:hover { + color: #44b1c1; +} +.our-clients h2 a:hover { + color: #44b1c1; +} +.front-team h3 strong { + color: #44b1c1; +} +.ecommerce .header-navigation ul > li.active > a, +.ecommerce .header-navigation ul > li > a:hover, +.ecommerce .header-navigation ul > li > a:focus, +.ecommerce .header-navigation ul > li.open > a, +.ecommerce .header-navigation ul > li.open > a:hover, +.ecommerce .header-navigation ul > li.open > a:focus { + color: #44b1c1; +} +.product-item h3 a:hover { + color: #44b1c1; +} +.checkout-page a:hover { + color: #44b1c1; +} + + +.langs-block-others:after { + border-bottom: 8px solid #44b1c1; +} +.header-navigation > ul > li.dropdown:hover > a:after { + border-bottom: 8px solid #44b1c1; +} +.header-navigation .dropdown-menu > li > a:hover, +.header-navigation .dropdown-menu > li.active > a, +.header-navigation .header-navigation-content .header-navigation-col li > a:hover, +.header-navigation .header-navigation-content .header-navigation-col li.active > a { + background: #44b1c1; + color: #fff; +} +.header-navigation .dropdown-menu .header-navigation-content-ext li > a:hover, +.header-navigation .dropdown-menu .header-navigation-content-ext li.active > a { + background: #fff; + color: #44b1c1; +} +.header-navigation .search-box:after { + border-bottom: 8px solid #44b1c1; +} +.header-navigation .search-box { + border-top: solid 2px #44b1c1; +} +.title-wrapper h1 span { + color: #44b1c1; +} +.breadcrumb > .active { + color: #44b1c1; +} +.form-info h2 em { + color: #44b1c1; +} +.nav-tabs { + border-color: #44b1c1; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #44b1c1; +} +.content-search h1 em { + color: #44b1c1; +} +.recent-work .recent-work-item:hover a.recent-work-description { + background: #44b1c1; +} +.testimonials-v1 blockquote:after { + background-color: #44b1c1; +} +.testimonials-v1 span.testimonials-name { + color: #44b1c1; +} +.search-result-item h4 a { + color: #44b1c1; +} +.top-cart-content:after { + border-bottom: 8px solid #44b1c1; +} +.goods-data a, +.checkout-page .checkout-description a { + color: #44b1c1; +} +.product-page .review a { + color: #44b1c1; +} +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background: #44b1c1; + color: #fff; +} +.list-view-sorting a { + background: #fff; + color: #44b1c1; +} + + + +::-moz-selection { + color: #fff; + background: #44b1c1; +} +::selection { + color: #fff; + background: #44b1c1; +} +.steps-block ::-moz-selection { + color: #44b1c1; + background: #fff; +} +.steps-block ::selection { + color: #44b1c1; + background: #fff; +} + + + +.owl-buttons .owl-prev:hover { + background-color: #44b1c1; +} +.owl-buttons .owl-next:hover { + background-color: #44b1c1; +} +.steps-block-red { + background: #44b1c1; +} +.pre-footer .photo-stream img:hover { + border-color: #44b1c1; +} +.pre-footer-light dl.f-twitter dd a { + color: #44b1c1; +} +.pre-footer-light address a { + color: #44b1c1; +} +.testimonials-v1 .left-btn:hover { + background-color: #44b1c1; +} +.testimonials-v1 .right-btn:hover { + background-color: #44b1c1; +} +.blog-tags li i, +.blog-info li i { + color: #44b1c1; +} +.blog-posts .more, +.blog-sidebar .more { + color: #44b1c1; +} +.recent-news h3 a { + color: #44b1c1; +} +.blog-photo-stream li img:hover { + border-color: #44b1c1; +} +.blog-tags li a:hover { + color: #fff; + background: #44b1c1; +} +.blog-tags li a:hover:after { + border-left-color: #44b1c1; +} +.sidebar-categories li > a:hover, +.sidebar-categories li.active > a, +.sidebar-categories li.active:hover > a { + color: #44b1c1; +} +.blog-item blockquote { + border-color: #44b1c1; +} +.blog-item h4.media-heading span a { + color: #44b1c1; +} +.front-steps-wrapper .front-step1 { + background: #44b1c1; +} +.pricing-active { + border: 3px solid #44b1c1; + box-shadow: 7px 7px rgba(68, 177, 193, 0.2); +} +.pricing:hover { + border: 3px solid #44b1c1; +} +.pricing:hover h4 { + color: #44b1c1; +} +.pricing-head h3 { + background: #44b1c1; +} +.pricing-head-active h4 { + color: #44b1c1; +} +.pricing-content li i { + color: #44b1c1; +} +.top-cart-block .fa-shopping-cart { + background: #44b1c1; +} +.product-item .btn:hover { + background: #44b1c1; +} +.pi-price { + color: #44b1c1; +} +.product-item .add2cart:hover { + color: #fff !important; + background: #44b1c1 !important; + border-color: #44b1c1; +} +.goods-page-price strong, +.goods-page-total strong, +.checkout-price strong, +.checkout-total strong { + color: #44b1c1; +} +.shopping-total strong, +.checkout-total-block strong { + color: #44b1c1; +} +.compare-item strong { + color: #44b1c1; +} +.sidebar-products .price { + color: #44b1c1; +} +.price-availability-block .price strong { + color: #44b1c1; +} + +.require { + color: #44b1c1; +} +.content-form-page .form-control:focus { + border: solid 1px #44b1c1; +} +.content-search input:focus { + border: solid 1px #44b1c1; +} + +.btn-primary { + background: #44b1c1; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active { + background: #44b1c1; +} + +.header-navigation .dropdown-menu > li:first-child { + border-top: 2px solid #44b1c1; +} +.front-steps-wrapper .front-step1:after { + border-left: 15px solid #69C0CD; +} + +.del-goods:hover, +.add-goods:hover { + background-color: #69C0CD; +} + +.sidebar a:hover > .fa-angle-down { + background-position: -55px 0; +} +.sidebar .collapsed:hover > .fa-angle-down { + background-position: -55px -37px; +} + +.top-cart-content { + border-top: solid 2px #69C0CD; +} + +.front-skills .progress-bar { + background: #69C0CD; +} + +.service-box-v1:hover { + background: #69C0CD; +} + +.header .mobi-toggler:hover { + background-color: #69C0CD; + border-color: #69C0CD; +} + +@media (max-width: 1024px) { + .header .header-navigation li > a:hover, + .header .header-navigation li.active > a, + .header .header-navigation li.open > a:hover { + color: #69C0CD !important; + } +} + + +.faq-tabbable { + border-left: solid 2px #69C0CD; +} +.faq-tabbable li:hover a, +.faq-tabbable li.active a{ + background: #69C0CD; +} +.faq-tabbable li.active:after { + border-left: 6px solid #69C0CD; +} + +.mix-filter li:hover, .mix-filter li.active { + background: #69C0CD; + color: #fff; +} +.mix-grid .mix .mix-details { + background: #69C0CD; +} +.mix-grid .mix a.mix-link, +.mix-grid .mix a.mix-preview { + background: #1adbd2; +} +.langs-block-others { + border-top: solid 2px #69C0CD; +} + +.brands .owl-buttons .owl-prev:hover { + background-position: 18px -646px; +} +.brands .owl-buttons .owl-next:hover { + background-position: -249px -646px; +} +.header-navigation ul > li.active > a/*, +.ecommerce .header-navigation ul > li.active > a*/ { + border-bottom: 2px solid #69C0CD; +} \ No newline at end of file diff --git a/static/assets/corporate/img/Thumbs.db b/static/assets/corporate/img/Thumbs.db new file mode 100644 index 0000000..75a193c Binary files /dev/null and b/static/assets/corporate/img/Thumbs.db differ diff --git a/static/assets/corporate/img/blockquote-corner-another-color.png b/static/assets/corporate/img/blockquote-corner-another-color.png new file mode 100644 index 0000000..ffa7937 Binary files /dev/null and b/static/assets/corporate/img/blockquote-corner-another-color.png differ diff --git a/static/assets/corporate/img/blockquote-corner.png b/static/assets/corporate/img/blockquote-corner.png new file mode 100644 index 0000000..b1f1b12 Binary files /dev/null and b/static/assets/corporate/img/blockquote-corner.png differ diff --git a/static/assets/corporate/img/fa-angle-brands.png b/static/assets/corporate/img/fa-angle-brands.png new file mode 100644 index 0000000..d41fbfa Binary files /dev/null and b/static/assets/corporate/img/fa-angle-brands.png differ diff --git a/static/assets/corporate/img/fa-angle-down-langs.png b/static/assets/corporate/img/fa-angle-down-langs.png new file mode 100644 index 0000000..b8cb895 Binary files /dev/null and b/static/assets/corporate/img/fa-angle-down-langs.png differ diff --git a/static/assets/corporate/img/fa-angles.png b/static/assets/corporate/img/fa-angles.png new file mode 100644 index 0000000..f5715b8 Binary files /dev/null and b/static/assets/corporate/img/fa-angles.png differ diff --git a/static/assets/corporate/img/icon-color-close.png b/static/assets/corporate/img/icon-color-close.png new file mode 100644 index 0000000..9b7dfac Binary files /dev/null and b/static/assets/corporate/img/icon-color-close.png differ diff --git a/static/assets/corporate/img/icon-color.png b/static/assets/corporate/img/icon-color.png new file mode 100644 index 0000000..b9666ee Binary files /dev/null and b/static/assets/corporate/img/icon-color.png differ diff --git a/static/assets/corporate/img/icons/Thumbs.db b/static/assets/corporate/img/icons/Thumbs.db new file mode 100644 index 0000000..f707b3e Binary files /dev/null and b/static/assets/corporate/img/icons/Thumbs.db differ diff --git a/static/assets/corporate/img/icons/add-goods.png b/static/assets/corporate/img/icons/add-goods.png new file mode 100644 index 0000000..19fc270 Binary files /dev/null and b/static/assets/corporate/img/icons/add-goods.png differ diff --git a/static/assets/corporate/img/icons/del-goods.png b/static/assets/corporate/img/icons/del-goods.png new file mode 100644 index 0000000..d29b8bd Binary files /dev/null and b/static/assets/corporate/img/icons/del-goods.png differ diff --git a/static/assets/corporate/img/icons/search-icon.png b/static/assets/corporate/img/icons/search-icon.png new file mode 100644 index 0000000..cb07d45 Binary files /dev/null and b/static/assets/corporate/img/icons/search-icon.png differ diff --git a/static/assets/corporate/img/icons/shop-cart-icon.png b/static/assets/corporate/img/icons/shop-cart-icon.png new file mode 100644 index 0000000..0e35f2b Binary files /dev/null and b/static/assets/corporate/img/icons/shop-cart-icon.png differ diff --git a/static/assets/corporate/img/icons/sidebar-toggle-icons.png b/static/assets/corporate/img/icons/sidebar-toggle-icons.png new file mode 100644 index 0000000..3fa86c5 Binary files /dev/null and b/static/assets/corporate/img/icons/sidebar-toggle-icons.png differ diff --git a/static/assets/corporate/img/icons/toggler.png b/static/assets/corporate/img/icons/toggler.png new file mode 100644 index 0000000..365e08e Binary files /dev/null and b/static/assets/corporate/img/icons/toggler.png differ diff --git a/static/assets/corporate/img/icons/top-search-icon.png b/static/assets/corporate/img/icons/top-search-icon.png new file mode 100644 index 0000000..78609d3 Binary files /dev/null and b/static/assets/corporate/img/icons/top-search-icon.png differ diff --git a/static/assets/corporate/img/layerslider-arrows.png b/static/assets/corporate/img/layerslider-arrows.png new file mode 100644 index 0000000..fa21c03 Binary files /dev/null and b/static/assets/corporate/img/layerslider-arrows.png differ diff --git a/static/assets/corporate/img/logos/0logo-blue-small.png b/static/assets/corporate/img/logos/0logo-blue-small.png new file mode 100644 index 0000000..3cd84a2 Binary files /dev/null and b/static/assets/corporate/img/logos/0logo-blue-small.png differ diff --git a/static/assets/corporate/img/logos/0logo-blue.png b/static/assets/corporate/img/logos/0logo-blue.png new file mode 100644 index 0000000..1793fab Binary files /dev/null and b/static/assets/corporate/img/logos/0logo-blue.png differ diff --git a/static/assets/corporate/img/logos/0logo-green.png b/static/assets/corporate/img/logos/0logo-green.png new file mode 100644 index 0000000..13b5291 Binary files /dev/null and b/static/assets/corporate/img/logos/0logo-green.png differ diff --git a/static/assets/corporate/img/logos/0logo-orange.png b/static/assets/corporate/img/logos/0logo-orange.png new file mode 100644 index 0000000..ed19cd4 Binary files /dev/null and b/static/assets/corporate/img/logos/0logo-orange.png differ diff --git a/static/assets/corporate/img/logos/Thumbs.db b/static/assets/corporate/img/logos/Thumbs.db new file mode 100644 index 0000000..35d17be Binary files /dev/null and b/static/assets/corporate/img/logos/Thumbs.db differ diff --git a/static/assets/corporate/img/logos/logo-corp-blue.png b/static/assets/corporate/img/logos/logo-corp-blue.png new file mode 100644 index 0000000..fe6c40f Binary files /dev/null and b/static/assets/corporate/img/logos/logo-corp-blue.png differ diff --git a/static/assets/corporate/img/logos/logo-corp-gray.png b/static/assets/corporate/img/logos/logo-corp-gray.png new file mode 100644 index 0000000..7745f0b Binary files /dev/null and b/static/assets/corporate/img/logos/logo-corp-gray.png differ diff --git a/static/assets/corporate/img/logos/logo-corp-green.png b/static/assets/corporate/img/logos/logo-corp-green.png new file mode 100644 index 0000000..f37abba Binary files /dev/null and b/static/assets/corporate/img/logos/logo-corp-green.png differ diff --git a/static/assets/corporate/img/logos/logo-corp-orange.png b/static/assets/corporate/img/logos/logo-corp-orange.png new file mode 100644 index 0000000..16544c6 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-corp-orange.png differ diff --git a/static/assets/corporate/img/logos/logo-corp-red.png b/static/assets/corporate/img/logos/logo-corp-red.png new file mode 100644 index 0000000..ac45f77 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-corp-red.png differ diff --git a/static/assets/corporate/img/logos/logo-corp-turquoise.png b/static/assets/corporate/img/logos/logo-corp-turquoise.png new file mode 100644 index 0000000..52682b2 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-corp-turquoise.png differ diff --git a/static/assets/corporate/img/logos/logo-red.png b/static/assets/corporate/img/logos/logo-red.png new file mode 100644 index 0000000..cdcfe17 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-red.png differ diff --git a/static/assets/corporate/img/logos/logo-shop-blue.png b/static/assets/corporate/img/logos/logo-shop-blue.png new file mode 100644 index 0000000..93d2d34 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-shop-blue.png differ diff --git a/static/assets/corporate/img/logos/logo-shop-gray.png b/static/assets/corporate/img/logos/logo-shop-gray.png new file mode 100644 index 0000000..092a278 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-shop-gray.png differ diff --git a/static/assets/corporate/img/logos/logo-shop-green.png b/static/assets/corporate/img/logos/logo-shop-green.png new file mode 100644 index 0000000..c9784f4 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-shop-green.png differ diff --git a/static/assets/corporate/img/logos/logo-shop-orange.png b/static/assets/corporate/img/logos/logo-shop-orange.png new file mode 100644 index 0000000..51f905c Binary files /dev/null and b/static/assets/corporate/img/logos/logo-shop-orange.png differ diff --git a/static/assets/corporate/img/logos/logo-shop-red.png b/static/assets/corporate/img/logos/logo-shop-red.png new file mode 100644 index 0000000..eea2011 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-shop-red.png differ diff --git a/static/assets/corporate/img/logos/logo-shop-turquoise.png b/static/assets/corporate/img/logos/logo-shop-turquoise.png new file mode 100644 index 0000000..0619793 Binary files /dev/null and b/static/assets/corporate/img/logos/logo-shop-turquoise.png differ diff --git a/static/assets/corporate/img/logos/shop-logo-red.png b/static/assets/corporate/img/logos/shop-logo-red.png new file mode 100644 index 0000000..0818b6a Binary files /dev/null and b/static/assets/corporate/img/logos/shop-logo-red.png differ diff --git a/static/assets/corporate/img/new.png b/static/assets/corporate/img/new.png new file mode 100644 index 0000000..52e5428 Binary files /dev/null and b/static/assets/corporate/img/new.png differ diff --git a/static/assets/corporate/img/payments/MasterCard.jpg b/static/assets/corporate/img/payments/MasterCard.jpg new file mode 100644 index 0000000..a20a4b9 Binary files /dev/null and b/static/assets/corporate/img/payments/MasterCard.jpg differ diff --git a/static/assets/corporate/img/payments/PayPal.jpg b/static/assets/corporate/img/payments/PayPal.jpg new file mode 100644 index 0000000..291c2c5 Binary files /dev/null and b/static/assets/corporate/img/payments/PayPal.jpg differ diff --git a/static/assets/corporate/img/payments/Thumbs.db b/static/assets/corporate/img/payments/Thumbs.db new file mode 100644 index 0000000..fc8b556 Binary files /dev/null and b/static/assets/corporate/img/payments/Thumbs.db differ diff --git a/static/assets/corporate/img/payments/american-express.jpg b/static/assets/corporate/img/payments/american-express.jpg new file mode 100644 index 0000000..ca94e6f Binary files /dev/null and b/static/assets/corporate/img/payments/american-express.jpg differ diff --git a/static/assets/corporate/img/payments/fa-angle-right-info.png b/static/assets/corporate/img/payments/fa-angle-right-info.png new file mode 100644 index 0000000..60cb53a Binary files /dev/null and b/static/assets/corporate/img/payments/fa-angle-right-info.png differ diff --git a/static/assets/corporate/img/payments/visa.jpg b/static/assets/corporate/img/payments/visa.jpg new file mode 100644 index 0000000..e8f9976 Binary files /dev/null and b/static/assets/corporate/img/payments/visa.jpg differ diff --git a/static/assets/corporate/img/payments/western-union.jpg b/static/assets/corporate/img/payments/western-union.jpg new file mode 100644 index 0000000..acb7678 Binary files /dev/null and b/static/assets/corporate/img/payments/western-union.jpg differ diff --git a/static/assets/corporate/img/sale.png b/static/assets/corporate/img/sale.png new file mode 100644 index 0000000..0ad5016 Binary files /dev/null and b/static/assets/corporate/img/sale.png differ diff --git a/static/assets/corporate/img/step3-angle-right.png b/static/assets/corporate/img/step3-angle-right.png new file mode 100644 index 0000000..65f4965 Binary files /dev/null and b/static/assets/corporate/img/step3-angle-right.png differ diff --git a/static/assets/corporate/img/syncfusion-icons-white.png b/static/assets/corporate/img/syncfusion-icons-white.png new file mode 100644 index 0000000..625dcc0 Binary files /dev/null and b/static/assets/corporate/img/syncfusion-icons-white.png differ diff --git a/static/assets/corporate/img/syncfusion-icons.png b/static/assets/corporate/img/syncfusion-icons.png new file mode 100644 index 0000000..7ee6873 Binary files /dev/null and b/static/assets/corporate/img/syncfusion-icons.png differ diff --git a/static/assets/corporate/img/up.png b/static/assets/corporate/img/up.png new file mode 100644 index 0000000..74bb274 Binary files /dev/null and b/static/assets/corporate/img/up.png differ diff --git a/static/assets/corporate/scripts/back-to-top.js b/static/assets/corporate/scripts/back-to-top.js new file mode 100644 index 0000000..709b378 --- /dev/null +++ b/static/assets/corporate/scripts/back-to-top.js @@ -0,0 +1,76 @@ +//** jQuery Scroll to Top Control script- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com. +//** Available/ usage terms at http://www.dynamicdrive.com (March 30th, 09') +//** v1.1 (April 7th, 09'): +//** 1) Adds ability to scroll to an absolute position (from top of page) or specific element on the page instead. +//** 2) Fixes scroll animation not working in Opera. + + +var scrolltotop={ + //startline: Integer. Number of pixels from top of doc scrollbar is scrolled before showing control + //scrollto: Keyword (Integer, or "Scroll_to_Element_ID"). How far to scroll document up when control is clicked on (0=top). + setting: {startline:100, scrollto: 0, scrollduration:1000, fadeduration:[500, 100]}, + controlHTML: '', //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol" + controlattrs: {offsetx:10, offsety:10}, //offset of control relative to right/ bottom of window corner + anchorkeyword: '#top', //Enter href value of HTML anchors on the page that should also act as "Scroll Up" links + + state: {isvisible:false, shouldvisible:false}, + + scrollup:function(){ + if (!this.cssfixedsupport) //if control is positioned using JavaScript + this.$control.css({opacity:0}) //hide control immediately after clicking it + var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto) + if (typeof dest=="string" && jQuery('#'+dest).length==1) //check element set by string exists + dest=jQuery('#'+dest).offset().top + else + dest=0 + this.$body.animate({scrollTop: dest}, this.setting.scrollduration); + }, + + keepfixed:function(){ + var $window=jQuery(window) + var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx + var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety + this.$control.css({left:controlx+'px', top:controly+'px'}) + }, + + togglecontrol:function(){ + var scrolltop=jQuery(window).scrollTop() + if (!this.cssfixedsupport) + this.keepfixed() + this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false + if (this.state.shouldvisible && !this.state.isvisible){ + this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0]) + this.state.isvisible=true + } + else if (this.state.shouldvisible==false && this.state.isvisible){ + this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1]) + this.state.isvisible=false + } + }, + + init:function(){ + jQuery(document).ready(function($){ + var mainobj=scrolltotop + var iebrws=document.all + mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards mode + mainobj.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body') + mainobj.$control=$('