├── .gitattributes ├── .vscode └── settings.json ├── Commands.txt ├── db.sqlite3 ├── manage.py ├── mlproject ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-37.pyc │ ├── settings.cpython-37.pyc │ ├── urls.cpython-37.pyc │ └── wsgi.cpython-37.pyc ├── settings.py ├── urls.py └── wsgi.py ├── myapp ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-37.pyc │ └── views.cpython-37.pyc ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py └── views.py ├── readme.md ├── static ├── css │ ├── animate.min.css │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ ├── bootstrap.min.css.map │ ├── custom.css │ ├── font-awesome.min.css │ ├── loaders.css │ ├── nivo-lightbox.css │ ├── nivo_themes │ │ ├── .DS_Store │ │ └── default │ │ │ ├── close.png │ │ │ ├── close@2x.png │ │ │ ├── default.css │ │ │ ├── loading.gif │ │ │ ├── loading@2x.gif │ │ │ ├── next.png │ │ │ ├── next@2x.png │ │ │ ├── prev.png │ │ │ └── prev@2x.png │ ├── scroll.css │ └── swiper.min.css ├── dataset │ ├── Decision_Tree_Friday-WorkingHours-Morning.pcap_ISCX.model │ ├── file.txt │ └── readme.md ├── image │ ├── background │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ └── 9.jpg │ ├── bar │ │ ├── ACK Flag Count.jpg │ │ ├── Fwd Packet Length Mean.jpg │ │ ├── Fwd Packet Length Std.jpg │ │ ├── PSH Flag Count.jpg │ │ ├── Packet Length Variance.jpg │ │ └── URG Flag Count.jpg │ ├── gallery │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.jpg │ │ ├── 4.png │ │ ├── 5.png │ │ └── 6.png │ ├── heatmap │ │ ├── 1.jpg │ │ ├── 10.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 14.jpg │ │ ├── 15.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ ├── 8.jpg │ │ └── 9.jpg │ ├── logo │ │ └── 1.png │ ├── navigation │ │ └── 1.jpg │ ├── side │ │ ├── 1.jpg │ │ └── 2.jpg │ ├── slide │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ └── 3.jpg │ ├── tip │ │ ├── 1.png │ │ ├── 2.jpg │ │ └── 3.jpg │ └── video │ │ └── IDS and IPS.mp4 └── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── core.js │ ├── isotope.min.js │ ├── jquery.min.js │ ├── nivo-lightbox.min.js │ ├── particles.js │ ├── scroll.js │ ├── scrollPosStyler.js │ ├── sketch.js │ ├── swiper.min.js │ └── wow.min.js └── template ├── DataSet └── index.html ├── Prediction └── index.html ├── Visualization └── index.html └── index.html /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pkl filter=lfs diff=lfs merge=lfs -text 2 | *.csv filter=lfs diff=lfs merge=lfs -text 3 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.pythonPath": "E:\\Program Files\\Anaconda\\envs\\ml\\python.exe" 3 | } -------------------------------------------------------------------------------- /Commands.txt: -------------------------------------------------------------------------------- 1 | 1. activate conda environment using 'activate ml' 2 | 3 | 2. go to that folder where you want to create project 4 | 5 | 3. create new project using this command 'django-admin startproject mlproject' 6 | 7 | 4. to run server use command 'python manage.py runserver' 8 | 9 | 5. run command to create an app using command 'python manage.py startapp myapp' 10 | 11 | 6. structure of an app 12 | a. __init__.py : tells python that your events app is package 13 | b. admin.py : is where you register your apps models with sjango admin application 14 | c. apps.py : is a configuration file common to all django apps 15 | d. models.py : is where the models for your app are located 16 | e. tests.py : contains test procedures that will be run when testing your app 17 | f. views.py : views for your app are located 18 | 19 | 7. in mlproject folder add urls in urls.py as 20 | 'from myapp.views import hello 21 | from myapp.views import login 22 | urlpatterns = [ 23 | path('admin/', admin.site.urls), 24 | url(r'^hello/$',hello), 25 | url(r'^login/$',login), 26 | ]' 27 | 28 | 8. in myapp folder add function in app(views.py) and that function can be called in project(urls.py) 29 | 30 | 9. create new directory named template and static 31 | 32 | 10. now add these lines in project(setting.py) 33 | 'a. TEMPLATE_DIR = os.path.join(BASE_DIR,"template") 34 | b. STATIC_DIR = os.path.join(BASE_DIR,"static")' 35 | after BASE_DIR in project(setting.py) 36 | 37 | 11. replace this in project(setting.py) in template section ''DIRS': [TEMPLATE_DIR,],' 38 | where firsty was ''DIRS': [],' 39 | 40 | 12. replace this in project(setting.py) in static section 'STATIC_URL = '/static/' 41 | STATICFILES_DIRS=[ 42 | STATIC_DIR, 43 | ]' 44 | where firstly was 'STATIC_URL = '/static/'' 45 | 13. create 'index.html' file in template folder 46 | 47 | 14. add this code in template(index.html) 48 | ' 49 | 50 | 51 | 52 | First App 53 | 54 | 55 |

Hello this is index.html

56 | {{insert_me}} 57 | 58 | ' 59 | 60 | 15. add this code in app(views.py) 61 | 'from django.shortcuts import render 62 | from django.http import HttpResponse 63 | 64 | def index(request): 65 | my_dict={'insert_me':"Hello i am from views.py"} 66 | return render(request,'index.html',context=my_dict)' 67 | 68 | 16. add new url in project(urls.py) as 'url(r'^index/$',index),' 69 | 70 | 17. to link css files and images we have to use this syntax '"{%static '_source_' %}"' 71 | 72 | 18. to link one page to another we have to use this syntax '"{% url '_function_name_' %}"' 73 | 74 | 19. to run the project, you have to run command 'python manage.py runsever' in command prompt 75 | -------------------------------------------------------------------------------- /db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/db.sqlite3 -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mlproject.settings') 9 | try: 10 | from django.core.management import execute_from_command_line 11 | except ImportError as exc: 12 | raise ImportError( 13 | "Couldn't import Django. Are you sure it's installed and " 14 | "available on your PYTHONPATH environment variable? Did you " 15 | "forget to activate a virtual environment?" 16 | ) from exc 17 | execute_from_command_line(sys.argv) 18 | 19 | 20 | if __name__ == '__main__': 21 | main() 22 | -------------------------------------------------------------------------------- /mlproject/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/mlproject/__init__.py -------------------------------------------------------------------------------- /mlproject/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/mlproject/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /mlproject/__pycache__/settings.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/mlproject/__pycache__/settings.cpython-37.pyc -------------------------------------------------------------------------------- /mlproject/__pycache__/urls.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/mlproject/__pycache__/urls.cpython-37.pyc -------------------------------------------------------------------------------- /mlproject/__pycache__/wsgi.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/mlproject/__pycache__/wsgi.cpython-37.pyc -------------------------------------------------------------------------------- /mlproject/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for mlproject project. 3 | 4 | Generated by 'django-admin startproject' using Django 2.2.3. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/2.2/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/2.2/ref/settings/ 11 | """ 12 | 13 | import os 14 | 15 | # Build paths inside the project like this: os.path.join(BASE_DIR, ...) 16 | BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 17 | TEMPLATE_DIR = os.path.join(BASE_DIR,"template") 18 | STATIC_DIR = os.path.join(BASE_DIR,"static") 19 | 20 | 21 | # Quick-start development settings - unsuitable for production 22 | # See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/ 23 | 24 | # SECURITY WARNING: keep the secret key used in production secret! 25 | SECRET_KEY = '#1d%+ke3j6#q0kj!u-ja@l3j+=q7i181hy5k@5!fds&t)c%+m7' 26 | 27 | # SECURITY WARNING: don't run with debug turned on in production! 28 | DEBUG = True 29 | 30 | ALLOWED_HOSTS = [] 31 | 32 | 33 | # Application definition 34 | 35 | INSTALLED_APPS = [ 36 | 'django.contrib.admin', 37 | 'django.contrib.auth', 38 | 'django.contrib.contenttypes', 39 | 'django.contrib.sessions', 40 | 'django.contrib.messages', 41 | 'django.contrib.staticfiles', 42 | ] 43 | 44 | MIDDLEWARE = [ 45 | 'django.middleware.security.SecurityMiddleware', 46 | 'django.contrib.sessions.middleware.SessionMiddleware', 47 | 'django.middleware.common.CommonMiddleware', 48 | 'django.middleware.csrf.CsrfViewMiddleware', 49 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 50 | 'django.contrib.messages.middleware.MessageMiddleware', 51 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 52 | ] 53 | 54 | ROOT_URLCONF = 'mlproject.urls' 55 | 56 | TEMPLATES = [ 57 | { 58 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 59 | 'DIRS': [TEMPLATE_DIR,], 60 | 'APP_DIRS': True, 61 | 'OPTIONS': { 62 | 'context_processors': [ 63 | 'django.template.context_processors.debug', 64 | 'django.template.context_processors.request', 65 | 'django.contrib.auth.context_processors.auth', 66 | 'django.contrib.messages.context_processors.messages', 67 | ], 68 | }, 69 | }, 70 | ] 71 | 72 | WSGI_APPLICATION = 'mlproject.wsgi.application' 73 | 74 | 75 | # Database 76 | # https://docs.djangoproject.com/en/2.2/ref/settings/#databases 77 | 78 | DATABASES = { 79 | 'default': { 80 | 'ENGINE': 'django.db.backends.sqlite3', 81 | 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 82 | } 83 | } 84 | 85 | 86 | # Password validation 87 | # https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators 88 | 89 | AUTH_PASSWORD_VALIDATORS = [ 90 | { 91 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 92 | }, 93 | { 94 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 95 | }, 96 | { 97 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 98 | }, 99 | { 100 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 101 | }, 102 | ] 103 | 104 | 105 | # Internationalization 106 | # https://docs.djangoproject.com/en/2.2/topics/i18n/ 107 | 108 | LANGUAGE_CODE = 'en-us' 109 | 110 | TIME_ZONE = 'UTC' 111 | 112 | USE_I18N = True 113 | 114 | USE_L10N = True 115 | 116 | USE_TZ = True 117 | 118 | EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 119 | EMAIL_HOST = 'smtp.gmail.com' 120 | EMAIL_USE_TLS=True 121 | EMAIL_PORT = 587 122 | EMAIL_HOST_USER='your_mail' 123 | EMAIL_HOST_PASSWORD='your_password' 124 | 125 | # Static files (CSS, JavaScript, Images) 126 | # https://docs.djangoproject.com/en/2.2/howto/static-files/ 127 | 128 | STATIC_URL = '/static/' 129 | STATICFILES_DIRS=[ 130 | STATIC_DIR, 131 | ] 132 | -------------------------------------------------------------------------------- /mlproject/urls.py: -------------------------------------------------------------------------------- 1 | """mlproject URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/2.2/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.urls import include, path 14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 15 | """ 16 | from django.contrib import admin 17 | from django.urls import path 18 | from django.conf.urls import url 19 | from myapp import views 20 | 21 | from myapp.views import index 22 | from myapp.views import dataset 23 | from myapp.views import visualization 24 | from myapp.views import prediction 25 | from myapp.views import gallery 26 | from myapp.views import contact 27 | from myapp.views import form 28 | 29 | urlpatterns = [ 30 | path('admin/', admin.site.urls), 31 | url(r'^index/$',index,name='index'), 32 | url(r'^dataset/$',dataset,name='dataset'), 33 | url(r'^visualization/$',visualization,name='visualization'), 34 | url(r'^prediction/$',prediction,name='prediction'), 35 | url(r'^gallery/$',gallery,name='gallery'), 36 | url(r'^contact/$',contact,name='contact'), 37 | url(r'^form/$',form), 38 | url(r'^new/$',views.new,name='new'), 39 | url(r'^new1/$',views.new1,name='new1'), 40 | ] -------------------------------------------------------------------------------- /mlproject/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for mlproject project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mlproject.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /myapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/myapp/__init__.py -------------------------------------------------------------------------------- /myapp/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/myapp/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /myapp/__pycache__/views.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/myapp/__pycache__/views.cpython-37.pyc -------------------------------------------------------------------------------- /myapp/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /myapp/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class MyappConfig(AppConfig): 5 | name = 'myapp' 6 | -------------------------------------------------------------------------------- /myapp/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/myapp/migrations/__init__.py -------------------------------------------------------------------------------- /myapp/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /myapp/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /myapp/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | import pandas as pd 4 | import matplotlib.pyplot as plt 5 | import io 6 | from PIL import Image, ImageDraw 7 | import PIL, PIL.Image 8 | from io import BytesIO 9 | import base64 10 | import random 11 | import pickle 12 | from bs4 import BeautifulSoup as bsu 13 | from sklearn.ensemble import RandomForestRegressor 14 | import numpy as np 15 | from django.core.mail import send_mail 16 | from django.conf import settings 17 | 18 | 19 | # Importing Dataset 20 | 21 | global data,col_names, group_by,ran_state_values, model, encoded_data 22 | data = pd.read_pickle('./static/dataset/Friday-WorkingHours-Morning.pcap_ISCX.pkl') 23 | data.columns = data.columns.str.lstrip() 24 | col_names = list(data.columns) 25 | group_by = data.groupby('Label') 26 | with open('./static/dataset/Decision_Tree_Friday-WorkingHours-Morning.pcap_ISCX.model','rb') as f: 27 | model = pickle.load(f) 28 | with open('./static/dataset/Friday-WorkingHours-Morning.pcap_ISCX_encoded.pkl','rb') as f: 29 | encoded_data = pickle.load(f) 30 | with open('./static/dataset/file.txt','rb') as f: 31 | ran_state_values = pickle.load(f) 32 | ran_state_values = list(ran_state_values) 33 | 34 | 35 | # Create your views here. 36 | 37 | def index(request): 38 | if request.method =="GET": 39 | return render(request,'index.html') 40 | elif request.method =="POST": 41 | name = request.POST.get("name") 42 | phone = request.POST.get("phone") 43 | email =[request.POST.get("email")] 44 | print(name,phone,email) 45 | feedback = request.POST.get("feedback") 46 | subject = 'Thanks to Contact Us' 47 | message = f' Greetings : {name} ,\n It is pleasure to hear from you. Our technical team would reach you soon. Happy Security.' 48 | email_from = settings.EMAIL_HOST_USER 49 | send_mail(subject,message,email_from,email) 50 | our_email = ['your_mail'] 51 | send_mail('Someone Contacted',f'Contacted Person ,\n Name : {name}\n Phone : {phone}\n Message is : {feedback}',email_from,our_email) 52 | return render(request,'index.html') 53 | 54 | def dataset(request): 55 | return render(request,'./DataSet/index.html') 56 | 57 | def visualization(request): 58 | global data,col_names,group_by 59 | if request.method =="GET": 60 | col_name = col_names[-1] 61 | data.columns = data.columns.str.lstrip() 62 | table=group_by[col_name].describe() 63 | col_name=(list(col_name.split('/')))[0] 64 | data1 = table.copy() 65 | 66 | data1.drop('count',axis=1,inplace=True) 67 | if data[col_name].dtype !='object': 68 | data1.drop('max',axis=1,inplace=True) 69 | data1.drop('75%',axis=1,inplace=True) 70 | bar=data1.plot.bar() 71 | plt.ylabel('Values') 72 | plt.xlabel(col_name) 73 | locs, labels = plt.yticks() 74 | plt.setp(labels,rotation=45) 75 | locs, labels = plt.xticks() 76 | plt.setp(labels,rotation=45) 77 | plt.legend(bbox_to_anchor=(0, 1.05), loc='center left', ncol=7) 78 | figure=bar.get_figure() 79 | figure.set_size_inches((8,8)) 80 | 81 | table = pd.DataFrame(table) 82 | table = table.to_html(table_id='vt1') 83 | 84 | buf = io.BytesIO() 85 | plt.savefig(buf,format='png') 86 | figure.savefig(f'{col_name}.png') 87 | plt.close(figure) 88 | image = Image.open(f'{col_name}.png') 89 | draw = ImageDraw.Draw(image) 90 | image.save(buf,'PNG') 91 | content_type = 'image/png' 92 | buffercontent = buf.getvalue() 93 | graphic = base64.b64encode(buffercontent) 94 | image_ = graphic.decode('utf-8') 95 | values_to_return = {'tab':table,'cols':col_names,'img':image_} 96 | return render(request,'./Visualization/index.html',context=values_to_return) 97 | if request.method =="POST": 98 | col_name = request.POST.get("col_name") 99 | data.columns = data.columns.str.lstrip() 100 | table=group_by[col_name].describe() 101 | col_name=(list(col_name.split('/')))[0] 102 | data1 = table.copy() 103 | 104 | data1.drop('count',axis=1,inplace=True) 105 | if data[col_name].dtype !='object': 106 | data1.drop('max',axis=1,inplace=True) 107 | data1.drop('75%',axis=1,inplace=True) 108 | bar=data1.plot.bar() 109 | plt.ylabel('Values') 110 | plt.xlabel(col_name) 111 | locs, labels = plt.yticks() 112 | plt.setp(labels,rotation=45) 113 | locs, labels = plt.xticks() 114 | plt.setp(labels,rotation=45) 115 | plt.legend(bbox_to_anchor=(0, 1.05), loc='center left', ncol=7) 116 | figure=bar.get_figure() 117 | figure.set_size_inches((8,8)) 118 | 119 | table = pd.DataFrame(table) 120 | table = table.to_html(table_id='vt1') 121 | 122 | buf = io.BytesIO() 123 | plt.savefig(buf,format='png') 124 | figure.savefig(f'{col_name}.png') 125 | plt.close(figure) 126 | image = Image.open(f'{col_name}.png') 127 | draw = ImageDraw.Draw(image) 128 | image.save(buf,'PNG') 129 | content_type = 'image/png' 130 | buffercontent = buf.getvalue() 131 | graphic = base64.b64encode(buffercontent) 132 | image_ = graphic.decode('utf-8') 133 | values_to_return = {'tab':table,'cols':col_names,'img':image_} 134 | return render(request,'./Visualization/index.html',context=values_to_return) 135 | 136 | def prediction(request): 137 | if request.method == "GET": 138 | 139 | quote1='The' 140 | quote2='will be' 141 | j=0 # this variable is used for indexing 142 | ran_state = random.choice(ran_state_values) # this helps for one bot case to come 143 | to_predict = data.sample(n=5,random_state=ran_state) # choosing any five rows randomly 144 | list_of_index = list(to_predict.index) # index values will later help to find the same row 145 | to_predict = to_predict.to_html(table_id='pt') # converting to html code 146 | to_predict = to_predict.replace('class="dataframe"','class="table table-striped table-responsive"') # replacing with bootstrap class 147 | to_predict_html = bsu(to_predict,'html.parser') # using beautifulSoup 148 | val = list_of_index[0] # initially providing the first index value to check box as value 149 | 150 | for i in (to_predict_html.findAll('th')): # finding all the index colums whose values are related to those in list_of_index 151 | try: 152 | if (i.string) == str(val): 153 | check_box_tag=f' ' 154 | i.replaceWith(bsu(check_box_tag,'html.parser')) # replacing index number with text box with same value 155 | j+=1 # updating the index value of the list 156 | val = list_of_index[j] 157 | 158 | except Exception as e: 159 | pass 160 | 161 | to_predict = to_predict_html.prettify() # finally converting to html using beautifulSoup 162 | values_to_return = {'tab':to_predict,'quote1':quote1,'quote2':quote2} 163 | return render(request,'./Prediction/index.html',context=values_to_return) # returning the dict containing the html code 164 | if request.method =="POST": 165 | 166 | quote1='This' 167 | quote2='has been' 168 | j=0 # this variable is used for indexing 169 | ran_state = random.choice(ran_state_values) # this helps for one bot case to come 170 | to_predict = data.sample(n=5,random_state=ran_state) # choosing any five rows randomly 171 | list_of_index = list(to_predict.index) # index values will later help to find the same row 172 | to_predict = to_predict.to_html(table_id='pt') # converting to html code 173 | to_predict = to_predict.replace('class="dataframe"','class="table table-striped table-responsive"') # replacing with bootstrap class 174 | to_predict_html = bsu(to_predict,'html.parser') # using beautifulSoup 175 | val = list_of_index[0] # initially providing the first index value to check box as value 176 | 177 | for i in (to_predict_html.findAll('th')): # finding all the index colums whose values are related to those in list_of_index 178 | try: 179 | if (i.string) == str(val): 180 | check_box_tag=f' ' 181 | i.replaceWith(bsu(check_box_tag,'html.parser')) # replacing index number with text box with same value 182 | j+=1 # updating the index value of the list 183 | val = list_of_index[j] 184 | 185 | except Exception as e: 186 | pass 187 | 188 | to_predict = to_predict_html.prettify() 189 | 190 | 191 | 192 | col_num = request.POST.get("checkbox") # getting the index value of the row 193 | col_num = int(col_num) 194 | col_to_pred = encoded_data.iloc[col_num] # encoded data is used for the prediction (encoded with label encoder) 195 | col_to_display = data.iloc[col_num] # and the column to display is taken form the simple data 196 | right_value = col_to_pred.pop(' Label') # last column is poped from the values to predict 197 | if right_value.astype(int) == 0: 198 | right_values = 'Right value was: BENIGN' # the output is manupulated accordingly 199 | elif right_value.astype(int) == 1: 200 | right_values = 'Right value was: BOT' 201 | 202 | y_pred = model.predict([col_to_pred]) 203 | y_pred = list(y_pred.astype(int)) 204 | y_pred = int(y_pred[0]) 205 | print(type(y_pred)) 206 | if y_pred == 0: 207 | y_pred = 'Predicted value is: BENIGN' 208 | elif y_pred ==1: 209 | y_pred = 'Predicted value is: BOT' 210 | 211 | col_to_display = pd.DataFrame(col_to_display) 212 | col_to_display = col_to_display.transpose() # the horizontal dataframe is converted into vertical for better display 213 | col_to_display = col_to_display.to_html(table_id='pt') 214 | col_to_display = col_to_display.replace('class="dataframe"','class="table table-striped table-responsive"') # adding bootstrap class 215 | values_to_return = {'y_pred':y_pred,'right_value':right_values,'tab1':col_to_display,'tab':to_predict,'quote1':quote1,'quote2':quote2} # returning a dict 216 | return render(request,'./Prediction/index.html',context=values_to_return) 217 | 218 | def gallery(request): 219 | return render(request,'index.html') 220 | 221 | def contact(request): 222 | return render(request,'index.html') 223 | 224 | def form(request): 225 | return render(request,'form.html') 226 | 227 | def new(request): 228 | k=request.POST.get("drop1") 229 | return HttpResponse(k) 230 | 231 | def new1(request): 232 | k=request.POST.get("exampleName") 233 | return HttpResponse(k) -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Web Attack Detection Using Machine Learning :- 2 | This is a Web Attack Detection Website made using HTML, CSS, Django and Machine Learning Algorithm. 3 | 4 | # Note: 5 | Download Dataset in "/static/dataset/" Folder, Instructions given in that Directory. 6 | 7 | # How to Create Project in Django :- 8 | 1. activate conda environment using 'activate ml' 9 | 10 | 2. go to that folder where you want to create project 11 | 12 | 3. create new project using this command 'django-admin startproject mlproject' 13 | 14 | 4. to run server use command 'python manage.py runserver' 15 | 16 | 5. run command to create an app using command 'python manage.py startapp myapp' 17 | 18 | 6. structure of an app 19 | a. __init__.py : tells python that your events app is package 20 | b. admin.py : is where you register your apps models with sjango admin application 21 | c. apps.py : is a configuration file common to all django apps 22 | d. models.py : is where the models for your app are located 23 | e. tests.py : contains test procedures that will be run when testing your app 24 | f. views.py : views for your app are located 25 | 26 | 7. in mlproject folder add urls in urls.py as 27 | 'from myapp.views import hello 28 | from myapp.views import login 29 | urlpatterns = [ 30 | path('admin/', admin.site.urls), 31 | url(r'^hello/$',hello), 32 | url(r'^login/$',login), 33 | ]' 34 | 35 | 8. in myapp folder add function in app(views.py) and that function can be called in project(urls.py) 36 | 37 | 9. create new directory named template and static 38 | 39 | 10. now add these lines in project(setting.py) 40 | 'a. TEMPLATE_DIR = os.path.join(BASE_DIR,"template") 41 | b. STATIC_DIR = os.path.join(BASE_DIR,"static")' 42 | after BASE_DIR in project(setting.py) 43 | 44 | 11. replace this in project(setting.py) in template section ''DIRS': [TEMPLATE_DIR,],' 45 | where firsty was ''DIRS': [],' 46 | 47 | 12. replace this in project(setting.py) in static section 'STATIC_URL = '/static/' 48 | STATICFILES_DIRS=[ 49 | STATIC_DIR, 50 | ]' 51 | where firstly was 'STATIC_URL = '/static/'' 52 | 13. create 'index.html' file in template folder 53 | 54 | 14. add this code in template(index.html) 55 | ' 56 | 57 | 58 | 59 | First App 60 | 61 | 62 |

Hello this is index.html

63 | {{insert_me}} 64 | 65 | ' 66 | 67 | 15. add this code in app(views.py) 68 | 'from django.shortcuts import render 69 | from django.http import HttpResponse 70 | 71 | def index(request): 72 | my_dict={'insert_me':"Hello i am from views.py"} 73 | return render(request,'index.html',context=my_dict)' 74 | 75 | 16. add new url in project(urls.py) as 'url(r'^index/$',index),' 76 | 77 | 17. to link css files and images we have to use this syntax '"{%static '_source_' %}"' 78 | 79 | 18. to link one page to another we have to use this syntax '"{% url '_function_name_' %}"' 80 | 81 | 19. to run the project, you have to run command 'python manage.py runsever' in command prompt 82 | -------------------------------------------------------------------------------- /static/css/custom.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Montserrat:400,700'); 2 | @import url('https://fonts.googleapis.com/css?family=Lato:300,400,700'); 3 | /* GLOBAL STYLES 4 | -------------------------------------------------- */ 5 | /* Padding below the footer and lighter body text */ 6 | 7 | body { 8 | color: #5a5a5a; 9 | font-family: 'Lato', sans-serif; 10 | } 11 | h1, h2, h3, h4, h5 { 12 | font-family: 'Montserrat', sans-serif; 13 | } 14 | .parallax-section { 15 | background-attachment: fixed!important; 16 | } 17 | .btn-capsul { 18 | border-radius: 30px; 19 | } 20 | .btn-aqua { 21 | background: rgb(235, 54, 54); 22 | color: #fff; 23 | } 24 | .btn-aqua:hover { 25 | background: #10629b; 26 | color: #fff; 27 | } 28 | .btn-dark-blue { 29 | background: #0C242E; 30 | color: #fff; 31 | } 32 | .btn-dark-blue:hover { 33 | background: #063d28; 34 | color: #fff; 35 | } 36 | .btn-transparent-white { 37 | border: 2px solid #fff; 38 | color: #fff; 39 | } 40 | .btn-transparent-white:hover, .btn-transparent-white:focus { 41 | background: #fff; 42 | color: rgb(235, 54, 54) 43 | } 44 | .relative-box { 45 | position: relative 46 | } 47 | section { 48 | float: left; 49 | width: 100%; 50 | padding: 80px 0; 51 | } 52 | /* Loader 53 | -------------------------------------------------- */ 54 | 55 | .loaders { 56 | width: 100%; 57 | box-sizing: border-box; 58 | display: flex; 59 | flex: 0 1 auto; 60 | flex-direction: row; 61 | flex-wrap: wrap; 62 | } 63 | .loaders .loader { 64 | box-sizing: border-box; 65 | display: flex; 66 | flex: 0 1 auto; 67 | flex-direction: column; 68 | flex-grow: 1; 69 | flex-shrink: 0; 70 | flex-basis: 25%; 71 | max-width: 25%; 72 | height: 200px; 73 | align-items: center; 74 | justify-content: center; 75 | } 76 | .loader { 77 | display: table; 78 | height: 100%; 79 | position: fixed; 80 | width: 100%; 81 | z-index: 1200; 82 | } 83 | .loader-bg { 84 | background: rgb(235, 54, 54); 85 | } 86 | .loader-inner { 87 | display: table-cell; 88 | text-align: center; 89 | vertical-align: middle; 90 | } 91 | 92 | .loader .ball-clip-rotate-pulse { 93 | left: 50%; 94 | position: absolute; 95 | top: 50%; 96 | } 97 | 98 | 99 | /* TOP HEADER 100 | -------------------------------------------------- */ 101 | 102 | 103 | .navbar.top-bar { 104 | border-radius: 0; 105 | padding: 16px 0; 106 | z-index: 16; 107 | } 108 | .navbar-toggler { 109 | border: 1px solid rgb(255, 0, 0); 110 | color: rgb(255, 0, 0); 111 | position: absolute; 112 | right: 21px; 113 | } 114 | .sps { 115 | padding: 1em .5em; 116 | position: fixed; 117 | top: 0; 118 | left: 0; 119 | transition: all 0.25s ease; 120 | width: 100%; 121 | } 122 | .sps--abv { 123 | background-color: black; 124 | color: #000; 125 | } 126 | .sps--blw { 127 | background-color: rgb(255, 255, 255); 128 | color: rgb(255, 255, 255); 129 | } 130 | .top-bar a.navbar-brand { 131 | color: #fff; 132 | font-size: 26px; 133 | font-weight: 800; 134 | padding: 5px 0 0 10px; 135 | text-transform: uppercase; 136 | } 137 | .sps--blw.top-bar a.navbar-brand { 138 | color: #000; 139 | } 140 | .top-bar a.navbar-brand span { 141 | color: red; 142 | } 143 | .top-bar .nav-link { 144 | color: #fff; 145 | font-size: 16px; 146 | font-weight: 500; 147 | padding: 12px 18px; 148 | margin-left: 20px; 149 | } 150 | .sps--blw.top-bar .nav-link { 151 | color: #000 152 | } 153 | .top-bar .navbar-nav .nav-item { 154 | margin: 0 155 | } 156 | 157 | .top-bar .navbar-collapse.show .navbar-nav .nav-item { 158 | background: rgb(12,36,46); 159 | } 160 | .top-bar .nav-link:hover, .top-bar .nav-item.active a { 161 | color: rgb(255, 0, 0); 162 | border-bottom: 2px solid rgb(255, 0, 0); 163 | border-radius: 0; 164 | } 165 | .sps--blw.top-bar .nav-link:hover, .sps--blw.top-bar .nav-item.active a { 166 | color: rgb(235, 54, 54); 167 | border-bottom: 2px solid rgb(255, 0, 0); 168 | border-radius: 0; 169 | } 170 | /* CUSTOMIZE THE CAROUSEL 171 | -------------------------------------------------- */ 172 | 173 | /*Swiper*/ 174 | .swiper-container { 175 | width: 100%; 176 | height: 100vh; 177 | max-width:100%; 178 | max-height:100%; 179 | } 180 | .swiper-slide { 181 | text-align: center; 182 | font-size: 18px; 183 | background: #fff; 184 | /* Center slide text vertically */ 185 | display: -webkit-box; 186 | display: -ms-flexbox; 187 | display: -webkit-flex; 188 | display: flex; 189 | -webkit-box-pack: center; 190 | -ms-flex-pack: center; 191 | -webkit-justify-content: center; 192 | justify-content: center; 193 | -webkit-box-align: center; 194 | -ms-flex-align: center; 195 | -webkit-align-items: center; 196 | align-items: center; 197 | } 198 | .main-slider .slider-bg-position { 199 | background-size: cover!important; 200 | background-position: center center!important; 201 | } 202 | .main-slider .swiper-button-prev, .main-slider .swiper-button-next { 203 | background-image: none!important; 204 | color: #fff; 205 | width: 50px; 206 | height: 50px; 207 | border: 1px solid #fff; 208 | text-align: center; 209 | line-height: 50px; 210 | font-size: 20px; 211 | } 212 | .main-slider h2 { 213 | color: #fff; 214 | font-size: 54px; 215 | line-height: 59px; 216 | padding: 0 19%; 217 | text-transform: uppercase; 218 | } 219 | .main-slider .swiper-pagination-bullet { 220 | width: 20px; 221 | height: 20px; 222 | background: rgba(255,255,255,0.9) 223 | } 224 | .main-slider .swiper-pagination-bullet-active { 225 | background: rgb(235, 54, 54) 226 | } 227 | /* SERVICE SECTION 228 | -------------------------------------------------- */ 229 | 230 | .service-sec .heading { 231 | float: left; 232 | width: 100%; 233 | margin-bottom: 70px; 234 | } 235 | .service-sec h2 { 236 | display: block; 237 | text-transform: capitalize; 238 | font-weight: 600; 239 | color: rgb(235, 54, 54); 240 | font-size: 32px; 241 | } 242 | .service-sec h2 small { 243 | color: #222; 244 | display: block; 245 | font-size: 22px; 246 | margin-bottom: 18px; 247 | } 248 | .service-sec i { 249 | border: 1px solid rgb(235, 54, 54); 250 | border-radius: 2px; 251 | font-size: 25px; 252 | padding: 12px 0; 253 | width: 52px; 254 | color: rgb(235, 54, 54); 255 | margin-bottom: 20px 256 | } 257 | .service-sec h3 { 258 | font-size: 23px; 259 | font-weight: 600; 260 | } 261 | .service-sec p { 262 | line-height: 22px; 263 | margin-top: 13px; 264 | padding: 0 21px; 265 | } 266 | .service-sec .service-block { 267 | margin-top: 30px; 268 | text-align: center; 269 | } 270 | /* ABOUT SECTION 271 | -------------------------------------------------- */ 272 | .about-sec { 273 | background: url('../image/background/1.jpg') no-repeat center center; 274 | background-size: cover; 275 | color: #fff; 276 | position: relative; 277 | } 278 | .about-sec:before { 279 | content: ' '; 280 | position: absolute; 281 | width: 100%; 282 | height: 100%; 283 | background: rgba(192, 72, 72, 0.8); 284 | top: 0; 285 | left: 0 286 | } 287 | .about-sec h2 { 288 | font-size: 55px; 289 | font-weight: 800; 290 | margin-top: 25%; 291 | } 292 | .about-sec h2 small { 293 | display: block; 294 | font-size: 24px; 295 | margin-bottom: 15px; 296 | padding-left: 10px; 297 | } 298 | .about-sec p { 299 | font-size: 16px; 300 | } 301 | /* BLOG SECTION 302 | -------------------------------------------------- */ 303 | .blog-sec .blog-box { 304 | text-align: center; 305 | } 306 | .blog-sec .heading { 307 | float: left; 308 | width: 100%; 309 | margin-bottom: 70px; 310 | } 311 | .blog-sec h2 { 312 | display: block; 313 | text-transform: capitalize; 314 | font-weight: 600; 315 | color: rgb(235, 54, 54); 316 | font-size: 32px; 317 | } 318 | .blog-sec h2 small { 319 | color: #222; 320 | display: block; 321 | font-size: 22px; 322 | margin-bottom: 18px; 323 | } 324 | .blog-sec h3 small { 325 | display: block; 326 | color: rgb(235, 54, 54); 327 | margin-bottom: 15px; 328 | } 329 | .blog-sec h3 a { 330 | color: #333; 331 | font-size: 22px; 332 | } 333 | .blog-sec h3 a:hover { 334 | color: rgb(235, 54, 54); 335 | text-decoration: none; 336 | } 337 | .blog-sec .blog-image-block { 338 | margin-bottom: 40px; 339 | } 340 | .blog-sec .blog-image-block img { 341 | border-radius: 5px; 342 | } 343 | /*-------------- Video section --------------*/ 344 | .video-sec { 345 | background: url('../image/background/2.jpg') 50% 0 repeat-y fixed; 346 | -webkit-background-size: cover; 347 | background-size: cover; 348 | background-position: center center; 349 | text-align: center; 350 | position: relative; 351 | color: #fff; 352 | } 353 | .video-sec .overlay { 354 | background: rgba(03,03,03,0.6); 355 | width: 100%; 356 | height: 100%; 357 | position: absolute; 358 | top: 0; 359 | } 360 | .video-sec h2 { 361 | color: #ffffff; 362 | padding-top: 20px; 363 | padding-bottom: 16px; 364 | } 365 | .video-sec small { 366 | color: #fff; 367 | display: block; 368 | margin-top: 10px; 369 | font-family: 'Lato', sans-serif; 370 | font-size: 18px; 371 | } 372 | .video-sec .fa { 373 | position: relative; 374 | border: 2px solid #ffffff; 375 | border-radius: 100px; 376 | color: #ffffff; 377 | font-size: 28px; 378 | width: 80px; 379 | height: 80px; 380 | line-height: 80px; 381 | text-align: center; 382 | vertical-align: middle; 383 | margin-top: 22px; 384 | } 385 | /*-------------- Gallery section --------------*/ 386 | 387 | .gallery-sec .heading { 388 | float: left; 389 | width: 100%; 390 | margin-bottom: 40px; 391 | } 392 | .gallery-sec h2 { 393 | display: block; 394 | text-transform: capitalize; 395 | font-weight: 600; 396 | color: rgb(235, 54, 54); 397 | font-size: 32px; 398 | } 399 | .gallery-sec h2 small { 400 | color: #222; 401 | display: block; 402 | font-size: 22px; 403 | margin-bottom: 18px; 404 | } 405 | .gallery-sec .gallery-thumb { 406 | position: relative; 407 | overflow: hidden; 408 | margin: 0; 409 | } 410 | .gallery-sec .gallery-thumb .gallery-overlay { 411 | background: rgb(107, 101, 101); /* fallback for old browsers */ 412 | position: absolute; 413 | top: 0; 414 | right: 0; 415 | bottom: 0; 416 | left: 0; 417 | width: 100%; 418 | height: 100%; 419 | opacity: 0; 420 | -webkit-transition: all 0.4s ease-in-out; 421 | transition: all 0.4s ease-in-out; 422 | } 423 | .gallery-sec .gallery-thumb:hover .gallery-overlay { 424 | opacity:0.7; 425 | } 426 | .gallery-sec .gallery-thumb .gallery-overlay .gallery-item { 427 | text-align: center; 428 | position: absolute; 429 | top: 50%; 430 | left: 50%; 431 | -webkit-transform: translate(-50%, -50%); 432 | -ms-transform: translate(-50%, -50%); 433 | transform: translate(-50%, -50%); 434 | } 435 | .gallery-sec .gallery-thumb .fa { 436 | background: #ffffff; 437 | border-radius: 100%; 438 | font-size: 24px; 439 | color: #222; 440 | width: 60px; 441 | height: 60px; 442 | line-height: 60px; 443 | text-align: center; 444 | vertical-align: middle; 445 | } 446 | /*--------------filter css--------------*/ 447 | .filter-wrapper { 448 | width: 100%; 449 | margin-bottom: 42px; 450 | overflow: hidden; 451 | } 452 | .filter-wrapper li { 453 | display: inline-block; 454 | margin: 4px; 455 | } 456 | .filter-wrapper li a { 457 | color: #222; 458 | font-size: 18px; 459 | font-weight: 600; 460 | padding: 8px 17px; 461 | margin-right: 2px; 462 | margin-left: 2px; 463 | display: block; 464 | text-decoration: none; 465 | -webkit-transition: all 0.5s ease-in-out; 466 | transition: all 0.5s ease-in-out; 467 | border-bottom: 2px solid #fff; 468 | } 469 | .filter-wrapper li a:hover, .filter-wrapper li a:focus { 470 | color: rgb(235, 54, 54); 471 | border-bottom: 2px solid rgb(235, 54, 54); 472 | } 473 | /*--------------isotope box css--------------*/ 474 | .iso-box-section { 475 | width: 100%; 476 | } 477 | .iso-box-wrapper { 478 | width: 100%; 479 | padding: 0; 480 | clear: both; 481 | position: relative; 482 | } 483 | .iso-box { 484 | position: relative; 485 | min-height: 50px; 486 | float: left; 487 | overflow: hidden; 488 | margin-bottom: 30px; 489 | } 490 | .iso-box > a { 491 | display: block; 492 | width: 100%; 493 | height: 100%; 494 | overflow: hidden; 495 | } 496 | .fluid-img { 497 | width: 100%; 498 | display: block; 499 | } 500 | /* CALL TO ACTION 501 | -------------------------------------------------- */ 502 | .cta-block { 503 | background: url("../img/cta-bg.jpg") repeat; 504 | padding: 30px 0; 505 | color: #fff; 506 | text-transform: capitalize 507 | } 508 | .cta-block h4 { 509 | margin-bottom: 10px; 510 | font-weight: 700; 511 | font-size: 28px; 512 | } 513 | .cta-block p { 514 | margin-bottom: 0; 515 | font-size: 18px; 516 | } 517 | /* ABOUT SECTION 518 | -------------------------------------------------- */ 519 | 520 | .about-home-block h2 { 521 | color: #4c4c4c; 522 | font-size: 38px; 523 | margin: 35px 0 10px; 524 | text-transform: capitalize; 525 | } 526 | .about-home-block h2 small { 527 | color: #01BF86; 528 | display: block; 529 | text-transform: uppercase; 530 | font-size: 28px; 531 | } 532 | .about-home-block .lead { 533 | font-size: 18px; 534 | line-height: 28px; 535 | } 536 | /* PRICE SECTION 537 | -------------------------------------------------- */ 538 | 539 | .price-sec h2 { 540 | color: #4c4c4c; 541 | font-weight: 600; 542 | text-transform: capitalize; 543 | text-align: center; 544 | } 545 | .price-sec h2 small { 546 | color: #01BF86; 547 | display: block; 548 | line-height: 27px; 549 | margin-top: 10px; 550 | } 551 | .price-sec .plan-block { 552 | border: 2px solid #01BF86; 553 | color: #01BF86; 554 | float: left; 555 | padding: 60px 0; 556 | text-align: center; 557 | width: 100%; 558 | margin-top: 90px; 559 | border-radius: 10px; 560 | } 561 | .price-sec .plan-block.middle { 562 | margin-top: 70px; 563 | padding: 80px 0 564 | } 565 | .price-sec .plan-block .heading, .price-sec .plan-block .heading > span, .price-sec .plan-block .detail-sec { 566 | float: left; 567 | width: 100%; 568 | } 569 | .price-sec .plan-block .detail-sec ul { 570 | padding: 0; 571 | list-style: none; 572 | } 573 | .price-sec .heading .price { 574 | font-size: 36px; 575 | font-weight: 700; 576 | background: #01bf86 none repeat scroll 0 0; 577 | color: #fff; 578 | } 579 | .price-sec .heading .price b { 580 | font-weight: 400; 581 | } 582 | .price-sec .heading .plan-type { 583 | font-size: 24px; 584 | font-weight: 600; 585 | text-transform: uppercase; 586 | } 587 | .price-sec .heading .duration { 588 | margin: 5px 0 20px; 589 | } 590 | .price-sec .plan-block .detail-sec ul { 591 | list-style: outside none none; 592 | margin: 0 auto 50px; 593 | padding: 0; 594 | text-align: left; 595 | width: 50%; 596 | } 597 | .price-sec .plan-block .detail-sec li { 598 | font-size: 18px; 599 | margin: 20px 0; 600 | text-align: center 601 | } 602 | .price-sec .plan-block .detail-sec i { 603 | margin-right: 10px; 604 | margin-top: 3px; 605 | } 606 | .price-sec .btn { 607 | padding-left: 50px; 608 | padding-right: 50px; 609 | } 610 | /* QA SECTION 611 | -------------------------------------------------- */ 612 | .qa-section { 613 | background: url(../img/section-bg-white.jpg) no-repeat 0 bottom #f5f5f5; 614 | background-size: cover; 615 | } 616 | .qa-section h2 { 617 | color: #4c4c4c; 618 | font-weight: 600; 619 | text-transform: capitalize; 620 | text-align: center; 621 | margin-bottom: 50px; 622 | } 623 | .qa-section h2 small { 624 | color: #01BF86; 625 | display: block; 626 | line-height: 27px; 627 | margin-top: 10px; 628 | } 629 | .qa-section .card-header h5 a.collapsed { 630 | color: #01BF86; 631 | } 632 | .qa-section .card-header h5 a { 633 | color: #01BF86; 634 | ; 635 | font-weight: 500; 636 | font-size: 25px; 637 | } 638 | .qa-section .card-header h5 a:hover, .qa-section .card-header h5 a:focus { 639 | text-decoration: none; 640 | } 641 | .qa-section .card-header { 642 | background: #0C242E 643 | } 644 | /* TESTIMONIAL SECTION 645 | -------------------------------------------------- */ 646 | 647 | .testimonial-sec { 648 | background: #01BF86; 649 | } 650 | .testimonial-sec h2 { 651 | display: block; 652 | text-transform: capitalize; 653 | font-weight: 600; 654 | color: #fff; 655 | margin-bottom: 50px; 656 | } 657 | .testimonial-sec h2 small { 658 | display: block; 659 | font-size: 24px; 660 | margin-top: 10px; 661 | } 662 | .testimonial-sec .card { 663 | background: #fff; 664 | border: none; 665 | padding-top: 30px; 666 | border-radius: 16px; 667 | box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2); 668 | } 669 | .testimonial-sec .card img { 670 | border-radius: 50%; 671 | width: 150px; 672 | border: 7px solid #01BF86 673 | } 674 | .testimonial-sec .card h3 { 675 | color: #01BF86 676 | } 677 | .testimonial-sec .card h3 small { 678 | display: block; 679 | font-family: 'Source Sans Pro', sans-serif; 680 | text-transform: uppercase; 681 | color: #4c4c4c; 682 | font-size: 17px; 683 | margin-top: 5px; 684 | } 685 | .testimonial-sec .card .card-text { 686 | font-style: italic; 687 | padding: 0 20px 688 | } 689 | /* CONTACT SECTION 690 | -------------------------------------------------- */ 691 | .contact-sec { 692 | background: url(../image/background/4.jpg) no-repeat 0 bottom; 693 | background-size: cover; 694 | } 695 | .contact-sec h2 { 696 | color: rgb(0, 0, 0); 697 | font-weight: 600; 698 | text-transform: capitalize; 699 | text-align: center; 700 | margin-bottom: 50px; 701 | } 702 | .contact-sec h2 small { 703 | color: rgb(0, 0, 0); 704 | display: block; 705 | line-height: 27px; 706 | margin-top: 10px; 707 | font-weight:bolder; 708 | } 709 | .contact-sec label { 710 | color: rgb(0, 0, 0); 711 | font-weight:bolder; 712 | } 713 | .contact-sec input[type="text"], .contact-sec input[type="email"] { 714 | border-radius: 0px; 715 | } 716 | .contact-sec textarea { 717 | border-radius: 0; 718 | height: 50px; 719 | } 720 | .contact-sec .action-block { 721 | margin-top: 40px; 722 | } 723 | .contact-sec .action-block a.btn { 724 | padding-left: 35px; 725 | padding-right: 35px; 726 | text-transform: uppercase; 727 | font-weight: 600; 728 | } 729 | .contact-sec .form-control { 730 | background: transparent; 731 | border-bottom: 1px solid rgb(0, 0, 0); 732 | border-top: none; 733 | border-left: none; 734 | border-right: none; 735 | color: rgb(0, 0, 0); 736 | padding-left: 0; 737 | } 738 | footer { 739 | float: left; 740 | background:rgb(255, 0, 0); 741 | width: 100%; 742 | color: #fff; 743 | padding: 20px 0; 744 | opacity:.6; 745 | } 746 | footer ul { 747 | list-style: none; 748 | padding-left: 0 749 | } 750 | footer h2 { 751 | font-size: 20px; 752 | font-weight: 600; 753 | } 754 | footer li a { 755 | color: rgb(255, 255, 255); 756 | float: left; 757 | padding-bottom: 15px; 758 | width: 100%; 759 | } 760 | footer .copy-footer { 761 | border-top: 1px solid #fff; 762 | padding-top: 20px; 763 | margin-top: 10px; 764 | } 765 | 766 | 767 | /* RESPONSIVE CSS 768 | -------------------------------------------------- */ 769 | 770 | @media (min-width: 40em) { 771 | /* Bump up size of carousel content */ 772 | .carousel-caption p { 773 | margin-bottom: 1.25rem; 774 | line-height: 1.4; 775 | } 776 | .featurette-heading { 777 | font-size: 50px; 778 | } 779 | } 780 | @media (min-width: 62em) { 781 | .featurette-heading { 782 | margin-top: 7rem; 783 | } 784 | } 785 | @media (max-width: 767px) { 786 | .carousel-caption { 787 | top: 25% 788 | } 789 | .carousel { 790 | height: 100vh 791 | } 792 | .carousel-caption h1 { 793 | font-size: 29px; 794 | } 795 | .top-bar .navbar-nav { 796 | width: 100%; 797 | background: #0C242E; 798 | margin-top: 20px; 799 | } 800 | .collapsing { 801 | transition-duration: 0s; 802 | overflow: none; 803 | } 804 | .carousel-caption { 805 | top: 20% 806 | } 807 | .carousel { 808 | height: 100vh 809 | } 810 | } 811 | @media (max-width: 543px) { 812 | .carousel-caption { 813 | left: 2%; 814 | top: 25%; 815 | width: 96%; 816 | } 817 | .main-slider h2 { 818 | color: #fff; 819 | font-size: 25px; 820 | line-height: 39px;} 821 | } 822 | 823 | /* DATASET CSS 824 | -------------------------------------------------- */ 825 | 826 | #data1{ 827 | background:url('../image/background/7.jpg') 50% 0 repeat-y fixed; 828 | } 829 | 830 | #tb1{ 831 | color:black; 832 | font-weight:bolder; 833 | opacity:1; 834 | } 835 | #vis1{ 836 | background:url('../image/background/8.jpg') 50% 0 repeat-y fixed; 837 | } 838 | #pred1{ 839 | background:url('../image/background/9.jpg') 50% 0 repeat-y fixed; 840 | } -------------------------------------------------------------------------------- /static/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} 5 | -------------------------------------------------------------------------------- /static/css/nivo-lightbox.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Nivo Lightbox v1.1 3 | * http://dev7studios.com/nivo-lightbox 4 | * 5 | * Copyright 2013, Dev7studios 6 | * Free to use and abuse under the MIT license. 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | 10 | .nivo-lightbox-overlay { 11 | position: fixed; 12 | top: 0; 13 | left: 0; 14 | z-index: 99998; 15 | width: 100%; 16 | height: 100%; 17 | overflow: hidden; 18 | visibility: hidden; 19 | opacity: 0; 20 | -webkit-box-sizing: border-box; 21 | -moz-box-sizing: border-box; 22 | box-sizing: border-box; 23 | } 24 | .nivo-lightbox-overlay.nivo-lightbox-open { 25 | visibility: visible; 26 | opacity: 1; 27 | } 28 | .nivo-lightbox-wrap { 29 | position: absolute; 30 | top: 10%; 31 | bottom: 10%; 32 | left: 10%; 33 | right: 10%; 34 | } 35 | .nivo-lightbox-content { 36 | width: 100%; 37 | height: 100%; 38 | } 39 | .nivo-lightbox-title-wrap { 40 | position: absolute; 41 | bottom: 0; 42 | left: 0; 43 | width: 100%; 44 | z-index: 99999; 45 | text-align: center; 46 | } 47 | .nivo-lightbox-nav { display: none; } 48 | .nivo-lightbox-prev { 49 | position: absolute; 50 | top: 50%; 51 | left: 0; 52 | } 53 | .nivo-lightbox-next { 54 | position: absolute; 55 | top: 50%; 56 | right: 0; 57 | } 58 | .nivo-lightbox-close { 59 | position: absolute; 60 | top: 2%; 61 | right: 2%; 62 | } 63 | 64 | .nivo-lightbox-image { text-align: center; } 65 | .nivo-lightbox-image img { 66 | max-width: 100%; 67 | max-height: 100%; 68 | width: auto; 69 | height: auto; 70 | vertical-align: middle; 71 | } 72 | .nivo-lightbox-content iframe { 73 | width: 100%; 74 | height: 100%; 75 | } 76 | .nivo-lightbox-inline, 77 | .nivo-lightbox-ajax { 78 | max-height: 100%; 79 | overflow: auto; 80 | -webkit-box-sizing: border-box; 81 | -moz-box-sizing: border-box; 82 | box-sizing: border-box; 83 | /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */ 84 | } 85 | .nivo-lightbox-error { 86 | display: table; 87 | text-align: center; 88 | width: 100%; 89 | height: 100%; 90 | color: #fff; 91 | text-shadow: 0 1px 1px #000; 92 | } 93 | .nivo-lightbox-error p { 94 | display: table-cell; 95 | vertical-align: middle; 96 | } 97 | 98 | /* Effects 99 | **********************************************/ 100 | .nivo-lightbox-notouch .nivo-lightbox-effect-fade, 101 | .nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale, 102 | .nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft, 103 | .nivo-lightbox-notouch .nivo-lightbox-effect-slideRight, 104 | .nivo-lightbox-notouch .nivo-lightbox-effect-slideUp, 105 | .nivo-lightbox-notouch .nivo-lightbox-effect-slideDown, 106 | .nivo-lightbox-notouch .nivo-lightbox-effect-fall { 107 | -webkit-transition: all 0.2s ease-in-out; 108 | -moz-transition: all 0.2s ease-in-out; 109 | -ms-transition: all 0.2s ease-in-out; 110 | -o-transition: all 0.2s ease-in-out; 111 | transition: all 0.2s ease-in-out; 112 | } 113 | 114 | /* fadeScale */ 115 | .nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap { 116 | -webkit-transition: all 0.3s; 117 | -moz-transition: all 0.3s; 118 | -ms-transition: all 0.3s; 119 | -o-transition: all 0.3s; 120 | transition: all 0.3s; 121 | -webkit-transform: scale(0.7); 122 | -moz-transform: scale(0.7); 123 | -ms-transform: scale(0.7); 124 | transform: scale(0.7); 125 | } 126 | .nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap { 127 | -webkit-transform: scale(1); 128 | -moz-transform: scale(1); 129 | -ms-transform: scale(1); 130 | transform: scale(1); 131 | } 132 | 133 | /* slideLeft / slideRight / slideUp / slideDown */ 134 | .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap, 135 | .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap, 136 | .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap, 137 | .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { 138 | -webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); 139 | -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); 140 | -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); 141 | -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); 142 | transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); 143 | } 144 | .nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap { 145 | -webkit-transform: translateX(-10%); 146 | -moz-transform: translateX(-10%); 147 | -ms-transform: translateX(-10%); 148 | transform: translateX(-10%); 149 | } 150 | .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap { 151 | -webkit-transform: translateX(10%); 152 | -moz-transform: translateX(10%); 153 | -ms-transform: translateX(10%); 154 | transform: translateX(10%); 155 | } 156 | .nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap, 157 | .nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap { 158 | -webkit-transform: translateX(0); 159 | -moz-transform: translateX(0); 160 | -ms-transform: translateX(0); 161 | transform: translateX(0); 162 | } 163 | .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap { 164 | -webkit-transform: translateY(-10%); 165 | -moz-transform: translateY(-10%); 166 | -ms-transform: translateY(-10%); 167 | transform: translateY(-10%); 168 | } 169 | .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap { 170 | -webkit-transform: translateY(10%); 171 | -moz-transform: translateY(10%); 172 | -ms-transform: translateY(10%); 173 | transform: translateY(10%); 174 | } 175 | .nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap, 176 | .nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap { 177 | -webkit-transform: translateY(0); 178 | -moz-transform: translateY(0); 179 | -ms-transform: translateY(0); 180 | transform: translateY(0); 181 | } 182 | 183 | /* fall */ 184 | .nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall { 185 | -webkit-perspective: 1000px; 186 | -moz-perspective: 1000px; 187 | perspective: 1000px; 188 | } 189 | .nivo-lightbox-effect-fall .nivo-lightbox-wrap { 190 | -webkit-transition: all 0.3s ease-out; 191 | -moz-transition: all 0.3s ease-out; 192 | -ms-transition: all 0.3s ease-out; 193 | -o-transition: all 0.3s ease-out; 194 | transition: all 0.3s ease-out; 195 | -webkit-transform: translateZ(300px); 196 | -moz-transform: translateZ(300px); 197 | -ms-transform: translateZ(300px); 198 | transform: translateZ(300px); 199 | } 200 | .nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap { 201 | -webkit-transform: translateZ(0); 202 | -moz-transform: translateZ(0); 203 | -ms-transform: translateZ(0); 204 | transform: translateZ(0); 205 | } -------------------------------------------------------------------------------- /static/css/nivo_themes/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/.DS_Store -------------------------------------------------------------------------------- /static/css/nivo_themes/default/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/close.png -------------------------------------------------------------------------------- /static/css/nivo_themes/default/close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/close@2x.png -------------------------------------------------------------------------------- /static/css/nivo_themes/default/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Nivo Lightbox Default Theme v1.0 3 | * http://dev7studios.com/nivo-lightbox 4 | * 5 | * Copyright 2013, Dev7studios 6 | * Free to use and abuse under the MIT license. 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | 10 | .nivo-lightbox-theme-default.nivo-lightbox-overlay { 11 | background: #666; 12 | background: rgba(0,0,0,0.6); 13 | } 14 | .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { background: url(loading.gif) no-repeat 50% 50%; } 15 | 16 | .nivo-lightbox-theme-default .nivo-lightbox-nav { 17 | top: 10%; 18 | width: 8%; 19 | height: 80%; 20 | text-indent: -9999px; 21 | background-repeat: no-repeat; 22 | background-position: 50% 50%; 23 | } 24 | 25 | .nivo-lightbox-theme-default .nivo-lightbox-prev { 26 | background-image: url(prev.png); 27 | border-radius: 0 3px 3px 0; 28 | } 29 | .nivo-lightbox-theme-default .nivo-lightbox-next { 30 | background-image: url(next.png); 31 | border-radius: 3px 0 0 3px; 32 | } 33 | 34 | .nivo-lightbox-theme-default .nivo-lightbox-close { 35 | display: block; 36 | background: url(close.png) no-repeat; 37 | width: 48px; 38 | height: 48px; 39 | text-indent: -9999px; 40 | padding: 5px; 41 | opacity: 0.5; 42 | } 43 | .nivo-lightbox-theme-default .nivo-lightbox-close:hover { opacity: 1; } 44 | 45 | .nivo-lightbox-theme-default .nivo-lightbox-title-wrap { bottom: -7%; } 46 | .nivo-lightbox-theme-default .nivo-lightbox-title { 47 | font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif; 48 | font-style: normal; 49 | font-weight: normal; 50 | background: #000; 51 | color: #fff; 52 | padding: 7px 15px; 53 | border-radius: 30px; 54 | } 55 | 56 | .nivo-lightbox-theme-default .nivo-lightbox-image img { 57 | background: #fff; 58 | -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); 59 | box-shadow: 0px 1px 1px rgba(0,0,0,0.4); 60 | } 61 | .nivo-lightbox-theme-default .nivo-lightbox-ajax, 62 | .nivo-lightbox-theme-default .nivo-lightbox-inline { 63 | background: #fff; 64 | padding: 40px; 65 | -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4); 66 | box-shadow: 0px 1px 1px rgba(0,0,0,0.4); 67 | } 68 | 69 | @media (-webkit-min-device-pixel-ratio: 1.3), 70 | (-o-min-device-pixel-ratio: 2.6/2), 71 | (min--moz-device-pixel-ratio: 1.3), 72 | (min-device-pixel-ratio: 1.3), 73 | (min-resolution: 1.3dppx) { 74 | 75 | .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading { 76 | background-image: url(loading@2x.gif); 77 | -webkit-background-size: 32px 32px; 78 | background-size: 32px 32px; 79 | } 80 | .nivo-lightbox-theme-default .nivo-lightbox-prev { 81 | background-image: url(prev@2x.png); 82 | -webkit-background-size: 48px 48px; 83 | background-size: 48px 48px; 84 | } 85 | .nivo-lightbox-theme-default .nivo-lightbox-next { 86 | background-image: url(next@2x.png); 87 | -webkit-background-size: 48px 48px; 88 | background-size: 48px 48px; 89 | } 90 | .nivo-lightbox-theme-default .nivo-lightbox-close { 91 | background-image: url(close@2x.png); 92 | -webkit-background-size: 16px 16px; 93 | background-size: 16px 16px; 94 | } 95 | 96 | } -------------------------------------------------------------------------------- /static/css/nivo_themes/default/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/loading.gif -------------------------------------------------------------------------------- /static/css/nivo_themes/default/loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/loading@2x.gif -------------------------------------------------------------------------------- /static/css/nivo_themes/default/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/next.png -------------------------------------------------------------------------------- /static/css/nivo_themes/default/next@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/next@2x.png -------------------------------------------------------------------------------- /static/css/nivo_themes/default/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/prev.png -------------------------------------------------------------------------------- /static/css/nivo_themes/default/prev@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/css/nivo_themes/default/prev@2x.png -------------------------------------------------------------------------------- /static/css/scroll.css: -------------------------------------------------------------------------------- 1 | #back2Top { 2 | width: 40px; 3 | line-height: 40px; 4 | overflow: hidden; 5 | z-index: 999; 6 | display: none; 7 | cursor: pointer; 8 | -moz-transform: rotate(270deg); 9 | -webkit-transform: rotate(270deg); 10 | -o-transform: rotate(270deg); 11 | -ms-transform: rotate(270deg); 12 | transform: rotate(270deg); 13 | position: fixed; 14 | bottom: 50px; 15 | right: 0; 16 | background-color: #DDD; 17 | color: #555; 18 | text-align: center; 19 | font-size: 30px; 20 | text-decoration: none; 21 | } 22 | #back2Top:hover { 23 | background-color: #DDF; 24 | color: #000; 25 | } -------------------------------------------------------------------------------- /static/css/swiper.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Swiper 3.4.0 3 | * Most modern mobile touch slider and framework with hardware accelerated transitions 4 | * 5 | * http://www.idangero.us/swiper/ 6 | * 7 | * Copyright 2016, Vladimir Kharlampidi 8 | * The iDangero.us 9 | * http://www.idangero.us/ 10 | * 11 | * Licensed under MIT 12 | * 13 | * Released on: October 16, 2016 14 | */ 15 | .swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-moz-transform-origin:right top;-ms-transform-origin:right top;-o-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}} -------------------------------------------------------------------------------- /static/dataset/Decision_Tree_Friday-WorkingHours-Morning.pcap_ISCX.model: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/dataset/Decision_Tree_Friday-WorkingHours-Morning.pcap_ISCX.model -------------------------------------------------------------------------------- /static/dataset/file.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/dataset/file.txt -------------------------------------------------------------------------------- /static/dataset/readme.md: -------------------------------------------------------------------------------- 1 |

Download Dataset From:

2 | http://bit.ly/webattackdetection 3 | -------------------------------------------------------------------------------- /static/image/background/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/1.jpg -------------------------------------------------------------------------------- /static/image/background/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/2.jpg -------------------------------------------------------------------------------- /static/image/background/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/3.jpg -------------------------------------------------------------------------------- /static/image/background/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/4.jpg -------------------------------------------------------------------------------- /static/image/background/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/5.jpg -------------------------------------------------------------------------------- /static/image/background/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/6.jpg -------------------------------------------------------------------------------- /static/image/background/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/7.jpg -------------------------------------------------------------------------------- /static/image/background/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/8.jpg -------------------------------------------------------------------------------- /static/image/background/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/background/9.jpg -------------------------------------------------------------------------------- /static/image/bar/ACK Flag Count.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/bar/ACK Flag Count.jpg -------------------------------------------------------------------------------- /static/image/bar/Fwd Packet Length Mean.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/bar/Fwd Packet Length Mean.jpg -------------------------------------------------------------------------------- /static/image/bar/Fwd Packet Length Std.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/bar/Fwd Packet Length Std.jpg -------------------------------------------------------------------------------- /static/image/bar/PSH Flag Count.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/bar/PSH Flag Count.jpg -------------------------------------------------------------------------------- /static/image/bar/Packet Length Variance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/bar/Packet Length Variance.jpg -------------------------------------------------------------------------------- /static/image/bar/URG Flag Count.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/bar/URG Flag Count.jpg -------------------------------------------------------------------------------- /static/image/gallery/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/gallery/1.png -------------------------------------------------------------------------------- /static/image/gallery/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/gallery/2.png -------------------------------------------------------------------------------- /static/image/gallery/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/gallery/3.jpg -------------------------------------------------------------------------------- /static/image/gallery/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/gallery/4.png -------------------------------------------------------------------------------- /static/image/gallery/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/gallery/5.png -------------------------------------------------------------------------------- /static/image/gallery/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/gallery/6.png -------------------------------------------------------------------------------- /static/image/heatmap/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/1.jpg -------------------------------------------------------------------------------- /static/image/heatmap/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/10.jpg -------------------------------------------------------------------------------- /static/image/heatmap/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/11.jpg -------------------------------------------------------------------------------- /static/image/heatmap/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/12.jpg -------------------------------------------------------------------------------- /static/image/heatmap/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/13.jpg -------------------------------------------------------------------------------- /static/image/heatmap/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/14.jpg -------------------------------------------------------------------------------- /static/image/heatmap/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/15.jpg -------------------------------------------------------------------------------- /static/image/heatmap/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/2.jpg -------------------------------------------------------------------------------- /static/image/heatmap/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/3.jpg -------------------------------------------------------------------------------- /static/image/heatmap/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/4.jpg -------------------------------------------------------------------------------- /static/image/heatmap/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/5.jpg -------------------------------------------------------------------------------- /static/image/heatmap/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/6.jpg -------------------------------------------------------------------------------- /static/image/heatmap/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/7.jpg -------------------------------------------------------------------------------- /static/image/heatmap/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/8.jpg -------------------------------------------------------------------------------- /static/image/heatmap/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/heatmap/9.jpg -------------------------------------------------------------------------------- /static/image/logo/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/logo/1.png -------------------------------------------------------------------------------- /static/image/navigation/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/navigation/1.jpg -------------------------------------------------------------------------------- /static/image/side/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/side/1.jpg -------------------------------------------------------------------------------- /static/image/side/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/side/2.jpg -------------------------------------------------------------------------------- /static/image/slide/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/slide/1.jpg -------------------------------------------------------------------------------- /static/image/slide/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/slide/2.jpg -------------------------------------------------------------------------------- /static/image/slide/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/slide/3.jpg -------------------------------------------------------------------------------- /static/image/tip/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/tip/1.png -------------------------------------------------------------------------------- /static/image/tip/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/tip/2.jpg -------------------------------------------------------------------------------- /static/image/tip/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/tip/3.jpg -------------------------------------------------------------------------------- /static/image/video/IDS and IPS.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namishkhanna/web_attack_detection_using_machine_learning/4054309dcb3206120452558c75e08eaccc90c7fa/static/image/video/IDS and IPS.mp4 -------------------------------------------------------------------------------- /static/js/core.js: -------------------------------------------------------------------------------- 1 | /*------- Page Loader -------*/ 2 | 3 | if ((".loader").length) { 4 | // show Preloader until the website ist loaded 5 | $(window).on('load', function () { 6 | $(".loader").fadeOut("slow"); 7 | }); 8 | } 9 | 10 | /*------- Smooth Scroll -------*/ 11 | 12 | $('a[href^="#"]').on('click', function(event) { 13 | 14 | var target = $( $(this).attr('href') ); 15 | 16 | if( target.length ) { 17 | event.preventDefault(); 18 | $('html, body').animate({ 19 | scrollTop: target.offset().top 20 | }, 1000); 21 | } 22 | 23 | }); 24 | 25 | /*------- Swiper Slider -------*/ 26 | var swiper = new Swiper('.swiper-container', { 27 | pagination: '.swiper-pagination', 28 | nextButton: '.swiper-button-next', 29 | prevButton: '.swiper-button-prev', 30 | paginationClickable: true, 31 | centeredSlides: true, 32 | autoplay: 3500, 33 | speed: 1500, 34 | loop: true, 35 | autoplayDisableOnInteraction: false 36 | }); 37 | 38 | 39 | 40 | /* Nivo lightbox 41 | -----------------------------------------------*/ 42 | $('.gallery-sec .col-md-4 a').nivoLightbox({ 43 | effect: 'fadeScale', 44 | }); 45 | 46 | 47 | /* Istope Portfolio 48 | -----------------------------------------------*/ 49 | jQuery(document).ready(function($){ 50 | 51 | if ( $('.iso-box-wrapper').length > 0 ) { 52 | 53 | var $container = $('.iso-box-wrapper'), 54 | $imgs = $('.iso-box img'); 55 | 56 | $container.imagesLoaded(function () { 57 | 58 | $container.isotope({ 59 | layoutMode: 'fitRows', 60 | itemSelector: '.iso-box' 61 | }); 62 | 63 | $imgs.load(function(){ 64 | $container.isotope('reLayout'); 65 | }) 66 | 67 | }); 68 | 69 | //filter items on button click 70 | 71 | $('.filter-wrapper li a').click(function(){ 72 | 73 | var $this = $(this), filterValue = $this.attr('data-filter'); 74 | 75 | $container.isotope({ 76 | filter: filterValue, 77 | animationOptions: { 78 | duration: 750, 79 | easing: 'linear', 80 | queue: false, 81 | } 82 | }); 83 | 84 | // don't proceed if already selected 85 | 86 | if ( $this.hasClass('selected') ) { 87 | return false; 88 | } 89 | 90 | var filter_wrapper = $this.closest('.filter-wrapper'); 91 | filter_wrapper.find('.selected').removeClass('selected'); 92 | $this.addClass('selected'); 93 | 94 | return false; 95 | }); 96 | 97 | } 98 | 99 | }); 100 | 101 | -------------------------------------------------------------------------------- /static/js/isotope.min.js: -------------------------------------------------------------------------------- 1 | !function(){for(var t,i=function(){},s=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],e=s.length,n=window.console=window.console||{};e--;)t=s[e],n[t]||(n[t]=i)}(),function(t,i){"use strict";var s,e=t.document,n=t.Modernizr,o=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},r="Moz Webkit O Ms".split(" "),a=function(t){var i,s=e.documentElement.style;if("string"==typeof s[t])return t;t=o(t);for(var n=0,a=r.length;a>n;n++)if(i=r[n]+t,"string"==typeof s[i])return i},h=a("transform"),l=a("transitionProperty"),u={csstransforms:function(){return!!h},csstransforms3d:function(){var t=!!a("perspective");if(t){var s=" -o- -moz- -ms- -webkit- -khtml- ".split(" "),e="@media ("+s.join("transform-3d),(")+"modernizr)",n=i("").appendTo("head"),o=i('
').appendTo("html");t=3===o.height(),o.remove(),n.remove()}return t},csstransitions:function(){return!!l}};if(n)for(s in u)n.hasOwnProperty(s)||n.addTest(s,u[s]);else{n=t.Modernizr={_version:"1.6ish: miniModernizr for Isotope"};var c,d=" ";for(s in u)c=u[s](),n[s]=c,d+=" "+(c?"":"no-")+s;i("html").addClass(d)}if(n.csstransforms){var f=n.csstransforms3d?{translate:function(t){return"translate3d("+t[0]+"px, "+t[1]+"px, 0) "},scale:function(t){return"scale3d("+t+", "+t+", 1) "}}:{translate:function(t){return"translate("+t[0]+"px, "+t[1]+"px) "},scale:function(t){return"scale("+t+") "}},m=function(t,s,e){var n,o,r=i.data(t,"isoTransform")||{},a={},l={};a[s]=e,i.extend(r,a);for(n in r)o=r[n],l[n]=f[n](o);var u=l.translate||"",c=l.scale||"",d=u+c;i.data(t,"isoTransform",r),t.style[h]=d};i.cssNumber.scale=!0,i.cssHooks.scale={set:function(t,i){m(t,"scale",i)},get:function(t){var s=i.data(t,"isoTransform");return s&&s.scale?s.scale:1}},i.fx.step.scale=function(t){i.cssHooks.scale.set(t.elem,t.now+t.unit)},i.cssNumber.translate=!0,i.cssHooks.translate={set:function(t,i){m(t,"translate",i)},get:function(t){var s=i.data(t,"isoTransform");return s&&s.translate?s.translate:[0,0]}}}var p,y;n.csstransitions&&(p={WebkitTransitionProperty:"webkitTransitionEnd",MozTransitionProperty:"transitionend",OTransitionProperty:"oTransitionEnd otransitionend",transitionProperty:"transitionend"}[l],y=a("transitionDuration"));var g,v=i.event,_=i.event.handle?"handle":"dispatch";v.special.smartresize={setup:function(){i(this).bind("resize",v.special.smartresize.handler)},teardown:function(){i(this).unbind("resize",v.special.smartresize.handler)},handler:function(t,i){var s=this,e=arguments;t.type="smartresize",g&&clearTimeout(g),g=setTimeout(function(){v[_].apply(s,e)},"execAsap"===i?0:100)}},i.fn.smartresize=function(t){return t?this.bind("smartresize",t):this.trigger("smartresize",["execAsap"])},i.Isotope=function(t,s,e){this.element=i(s),this._create(t),this._init(e)};var w=["width","height"],A=i(t);i.Isotope.settings={resizable:!0,layoutMode:"masonry",containerClass:"isotope",itemClass:"isotope-item",hiddenClass:"isotope-hidden",hiddenStyle:{opacity:0,scale:.001},visibleStyle:{opacity:1,scale:1},containerStyle:{position:"relative",overflow:"hidden"},animationEngine:"best-available",animationOptions:{queue:!1,duration:800},sortBy:"original-order",sortAscending:!0,resizesContainer:!0,transformsEnabled:!0,itemPositionDataEnabled:!1},i.Isotope.prototype={_create:function(t){this.options=i.extend({},i.Isotope.settings,t),this.styleQueue=[],this.elemCount=0;var s=this.element[0].style;this.originalStyle={};var e=w.slice(0);for(var n in this.options.containerStyle)e.push(n);for(var o=0,r=e.length;r>o;o++)n=e[o],this.originalStyle[n]=s[n]||"";this.element.css(this.options.containerStyle),this._updateAnimationEngine(),this._updateUsingTransforms();var a={"original-order":function(t,i){return i.elemCount++,i.elemCount},random:function(){return Math.random()}};this.options.getSortData=i.extend(this.options.getSortData,a),this.reloadItems(),this.offset={left:parseInt(this.element.css("padding-left")||0,10),top:parseInt(this.element.css("padding-top")||0,10)};var h=this;setTimeout(function(){h.element.addClass(h.options.containerClass)},0),this.options.resizable&&A.bind("smartresize.isotope",function(){h.resize()}),this.element.delegate("."+this.options.hiddenClass,"click",function(){return!1})},_getAtoms:function(t){var i=this.options.itemSelector,s=i?t.filter(i).add(t.find(i)):t,e={position:"absolute"};return s=s.filter(function(t,i){return 1===i.nodeType}),this.usingTransforms&&(e.left=0,e.top=0),s.css(e).addClass(this.options.itemClass),this.updateSortData(s,!0),s},_init:function(t){this.$filteredAtoms=this._filter(this.$allAtoms),this._sort(),this.reLayout(t)},option:function(t){if(i.isPlainObject(t)){this.options=i.extend(!0,this.options,t);var s;for(var e in t)s="_update"+o(e),this[s]&&this[s]()}},_updateAnimationEngine:function(){var t,i=this.options.animationEngine.toLowerCase().replace(/[ _\-]/g,"");switch(i){case"css":case"none":t=!1;break;case"jquery":t=!0;break;default:t=!n.csstransitions}this.isUsingJQueryAnimation=t,this._updateUsingTransforms()},_updateTransformsEnabled:function(){this._updateUsingTransforms()},_updateUsingTransforms:function(){var t=this.usingTransforms=this.options.transformsEnabled&&n.csstransforms&&n.csstransitions&&!this.isUsingJQueryAnimation;t||(delete this.options.hiddenStyle.scale,delete this.options.visibleStyle.scale),this.getPositionStyles=t?this._translate:this._positionAbs},_filter:function(t){var i=""===this.options.filter?"*":this.options.filter;if(!i)return t;var s=this.options.hiddenClass,e="."+s,n=t.filter(e),o=n;if("*"!==i){o=n.filter(i);var r=t.not(e).not(i).addClass(s);this.styleQueue.push({$el:r,style:this.options.hiddenStyle})}return this.styleQueue.push({$el:o,style:this.options.visibleStyle}),o.removeClass(s),t.filter(i)},updateSortData:function(t,s){var e,n,o=this,r=this.options.getSortData;t.each(function(){e=i(this),n={};for(var t in r)n[t]=s||"original-order"!==t?r[t](e,o):i.data(this,"isotope-sort-data")[t];i.data(this,"isotope-sort-data",n)})},_sort:function(){var t=this.options.sortBy,i=this._getSorter,s=this.options.sortAscending?1:-1,e=function(e,n){var o=i(e,t),r=i(n,t);return o===r&&"original-order"!==t&&(o=i(e,"original-order"),r=i(n,"original-order")),(o>r?1:r>o?-1:0)*s};this.$filteredAtoms.sort(e)},_getSorter:function(t,s){return i.data(t,"isotope-sort-data")[s]},_translate:function(t,i){return{translate:[t,i]}},_positionAbs:function(t,i){return{left:t,top:i}},_pushPosition:function(t,i,s){i=Math.round(i+this.offset.left),s=Math.round(s+this.offset.top);var e=this.getPositionStyles(i,s);this.styleQueue.push({$el:t,style:e}),this.options.itemPositionDataEnabled&&t.data("isotope-item-position",{x:i,y:s})},layout:function(t,i){var s=this.options.layoutMode;if(this["_"+s+"Layout"](t),this.options.resizesContainer){var e=this["_"+s+"GetContainerSize"]();this.styleQueue.push({$el:this.element,style:e})}this._processStyleQueue(t,i),this.isLaidOut=!0},_processStyleQueue:function(t,s){var e,o,r,a,h=this.isLaidOut?this.isUsingJQueryAnimation?"animate":"css":"css",l=this.options.animationOptions,u=this.options.onLayout;if(o=function(t,i){i.$el[h](i.style,l)},this._isInserting&&this.isUsingJQueryAnimation)o=function(t,i){e=i.$el.hasClass("no-transition")?"css":h,i.$el[e](i.style,l)};else if(s||u||l.complete){var c=!1,d=[s,u,l.complete],f=this;if(r=!0,a=function(){if(!c){for(var i,s=0,e=d.length;e>s;s++)i=d[s],"function"==typeof i&&i.call(f.element,t,f);c=!0}},this.isUsingJQueryAnimation&&"animate"===h)l.complete=a,r=!1;else if(n.csstransitions){for(var m,g=0,v=this.styleQueue[0],_=v&&v.$el;!_||!_.length;){if(m=this.styleQueue[g++],!m)return;_=m.$el}var w=parseFloat(getComputedStyle(_[0])[y]);w>0&&(o=function(t,i){i.$el[h](i.style,l).one(p,a)},r=!1)}}i.each(this.styleQueue,o),r&&a(),this.styleQueue=[]},resize:function(){this["_"+this.options.layoutMode+"ResizeChanged"]()&&this.reLayout()},reLayout:function(t){this["_"+this.options.layoutMode+"Reset"](),this.layout(this.$filteredAtoms,t)},addItems:function(t,i){var s=this._getAtoms(t);this.$allAtoms=this.$allAtoms.add(s),i&&i(s)},insert:function(t,i){this.element.append(t);var s=this;this.addItems(t,function(t){var e=s._filter(t);s._addHideAppended(e),s._sort(),s.reLayout(),s._revealAppended(e,i)})},appended:function(t,i){var s=this;this.addItems(t,function(t){s._addHideAppended(t),s.layout(t),s._revealAppended(t,i)})},_addHideAppended:function(t){this.$filteredAtoms=this.$filteredAtoms.add(t),t.addClass("no-transition"),this._isInserting=!0,this.styleQueue.push({$el:t,style:this.options.hiddenStyle})},_revealAppended:function(t,i){var s=this;setTimeout(function(){t.removeClass("no-transition"),s.styleQueue.push({$el:t,style:s.options.visibleStyle}),s._isInserting=!1,s._processStyleQueue(t,i)},10)},reloadItems:function(){this.$allAtoms=this._getAtoms(this.element.children())},remove:function(t,i){this.$allAtoms=this.$allAtoms.not(t),this.$filteredAtoms=this.$filteredAtoms.not(t);var s=this,e=function(){t.remove(),i&&i.call(s.element)};t.filter(":not(."+this.options.hiddenClass+")").length?(this.styleQueue.push({$el:t,style:this.options.hiddenStyle}),this._sort(),this.reLayout(e)):e()},shuffle:function(t){this.updateSortData(this.$allAtoms),this.options.sortBy="random",this._sort(),this.reLayout(t)},destroy:function(){var t=this.usingTransforms,i=this.options;this.$allAtoms.removeClass(i.hiddenClass+" "+i.itemClass).each(function(){var i=this.style;i.position="",i.top="",i.left="",i.opacity="",t&&(i[h]="")});var s=this.element[0].style;for(var e in this.originalStyle)s[e]=this.originalStyle[e];this.element.unbind(".isotope").undelegate("."+i.hiddenClass,"click").removeClass(i.containerClass).removeData("isotope"),A.unbind(".isotope")},_getSegments:function(t){var i,s=this.options.layoutMode,e=t?"rowHeight":"columnWidth",n=t?"height":"width",r=t?"rows":"cols",a=this.element[n](),h=this.options[s]&&this.options[s][e]||this.$filteredAtoms["outer"+o(n)](!0)||a;i=Math.floor(a/h),i=Math.max(i,1),this[s][r]=i,this[s][e]=h},_checkIfSegmentsChanged:function(t){var i=this.options.layoutMode,s=t?"rows":"cols",e=this[i][s];return this._getSegments(t),this[i][s]!==e},_masonryReset:function(){this.masonry={},this._getSegments();var t=this.masonry.cols;for(this.masonry.colYs=[];t--;)this.masonry.colYs.push(0)},_masonryLayout:function(t){var s=this,e=s.masonry;t.each(function(){var t=i(this),n=Math.ceil(t.outerWidth(!0)/e.columnWidth);if(n=Math.min(n,e.cols),1===n)s._masonryPlaceBrick(t,e.colYs);else{var o,r,a=e.cols+1-n,h=[];for(r=0;a>r;r++)o=e.colYs.slice(r,r+n),h[r]=Math.max.apply(Math,o);s._masonryPlaceBrick(t,h)}})},_masonryPlaceBrick:function(t,i){for(var s=Math.min.apply(Math,i),e=0,n=0,o=i.length;o>n;n++)if(i[n]===s){e=n;break}var r=this.masonry.columnWidth*e,a=s;this._pushPosition(t,r,a);var h=s+t.outerHeight(!0),l=this.masonry.cols+1-o;for(n=0;l>n;n++)this.masonry.colYs[e+n]=h},_masonryGetContainerSize:function(){var t=Math.max.apply(Math,this.masonry.colYs);return{height:t}},_masonryResizeChanged:function(){return this._checkIfSegmentsChanged()},_fitRowsReset:function(){this.fitRows={x:0,y:0,height:0}},_fitRowsLayout:function(t){var s=this,e=this.element.width(),n=this.fitRows;t.each(function(){var t=i(this),o=t.outerWidth(!0),r=t.outerHeight(!0);0!==n.x&&o+n.x>e&&(n.x=0,n.y=n.height),s._pushPosition(t,n.x,n.y),n.height=Math.max(n.y+r,n.height),n.x+=o})},_fitRowsGetContainerSize:function(){return{height:this.fitRows.height}},_fitRowsResizeChanged:function(){return!0},_cellsByRowReset:function(){this.cellsByRow={index:0},this._getSegments(),this._getSegments(!0)},_cellsByRowLayout:function(t){var s=this,e=this.cellsByRow;t.each(function(){var t=i(this),n=e.index%e.cols,o=Math.floor(e.index/e.cols),r=(n+.5)*e.columnWidth-t.outerWidth(!0)/2,a=(o+.5)*e.rowHeight-t.outerHeight(!0)/2;s._pushPosition(t,r,a),e.index++})},_cellsByRowGetContainerSize:function(){return{height:Math.ceil(this.$filteredAtoms.length/this.cellsByRow.cols)*this.cellsByRow.rowHeight+this.offset.top}},_cellsByRowResizeChanged:function(){return this._checkIfSegmentsChanged()},_straightDownReset:function(){this.straightDown={y:0}},_straightDownLayout:function(t){var s=this;t.each(function(){var t=i(this);s._pushPosition(t,0,s.straightDown.y),s.straightDown.y+=t.outerHeight(!0)})},_straightDownGetContainerSize:function(){return{height:this.straightDown.y}},_straightDownResizeChanged:function(){return!0},_masonryHorizontalReset:function(){this.masonryHorizontal={},this._getSegments(!0);var t=this.masonryHorizontal.rows;for(this.masonryHorizontal.rowXs=[];t--;)this.masonryHorizontal.rowXs.push(0)},_masonryHorizontalLayout:function(t){var s=this,e=s.masonryHorizontal;t.each(function(){var t=i(this),n=Math.ceil(t.outerHeight(!0)/e.rowHeight);if(n=Math.min(n,e.rows),1===n)s._masonryHorizontalPlaceBrick(t,e.rowXs);else{var o,r,a=e.rows+1-n,h=[];for(r=0;a>r;r++)o=e.rowXs.slice(r,r+n),h[r]=Math.max.apply(Math,o);s._masonryHorizontalPlaceBrick(t,h)}})},_masonryHorizontalPlaceBrick:function(t,i){for(var s=Math.min.apply(Math,i),e=0,n=0,o=i.length;o>n;n++)if(i[n]===s){e=n;break}var r=s,a=this.masonryHorizontal.rowHeight*e;this._pushPosition(t,r,a);var h=s+t.outerWidth(!0),l=this.masonryHorizontal.rows+1-o;for(n=0;l>n;n++)this.masonryHorizontal.rowXs[e+n]=h},_masonryHorizontalGetContainerSize:function(){var t=Math.max.apply(Math,this.masonryHorizontal.rowXs);return{width:t}},_masonryHorizontalResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_fitColumnsReset:function(){this.fitColumns={x:0,y:0,width:0}},_fitColumnsLayout:function(t){var s=this,e=this.element.height(),n=this.fitColumns;t.each(function(){var t=i(this),o=t.outerWidth(!0),r=t.outerHeight(!0);0!==n.y&&r+n.y>e&&(n.x=n.width,n.y=0),s._pushPosition(t,n.x,n.y),n.width=Math.max(n.x+o,n.width),n.y+=r})},_fitColumnsGetContainerSize:function(){return{width:this.fitColumns.width}},_fitColumnsResizeChanged:function(){return!0},_cellsByColumnReset:function(){this.cellsByColumn={index:0},this._getSegments(),this._getSegments(!0)},_cellsByColumnLayout:function(t){var s=this,e=this.cellsByColumn;t.each(function(){var t=i(this),n=Math.floor(e.index/e.rows),o=e.index%e.rows,r=(n+.5)*e.columnWidth-t.outerWidth(!0)/2,a=(o+.5)*e.rowHeight-t.outerHeight(!0)/2;s._pushPosition(t,r,a),e.index++})},_cellsByColumnGetContainerSize:function(){return{width:Math.ceil(this.$filteredAtoms.length/this.cellsByColumn.rows)*this.cellsByColumn.columnWidth}},_cellsByColumnResizeChanged:function(){return this._checkIfSegmentsChanged(!0)},_straightAcrossReset:function(){this.straightAcross={x:0}},_straightAcrossLayout:function(t){var s=this;t.each(function(){var t=i(this);s._pushPosition(t,s.straightAcross.x,0),s.straightAcross.x+=t.outerWidth(!0)})},_straightAcrossGetContainerSize:function(){return{width:this.straightAcross.x}},_straightAcrossResizeChanged:function(){return!0}},i.fn.imagesLoaded=function(t){function s(){t.call(n,o)}function e(t){var n=t.target;n.src!==a&&-1===i.inArray(n,h)&&(h.push(n),--r<=0&&(setTimeout(s),o.unbind(".imagesLoaded",e)))}var n=this,o=n.find("img").add(n.filter("img")),r=o.length,a="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",h=[];return r||s(),o.bind("load.imagesLoaded error.imagesLoaded",e).each(function(){var t=this.src;this.src=a,this.src=t}),n};var C=function(i){t.console&&t.console.error(i)};i.fn.isotope=function(t,s){if("string"==typeof t){var e=Array.prototype.slice.call(arguments,1);this.each(function(){var s=i.data(this,"isotope");return s?i.isFunction(s[t])&&"_"!==t.charAt(0)?(s[t].apply(s,e),void 0):(C("no such method '"+t+"' for isotope instance"),void 0):(C("cannot call methods on isotope prior to initialization; attempted to call method '"+t+"'"),void 0)})}else this.each(function(){var e=i.data(this,"isotope");e?(e.option(t),e._init(s)):i.data(this,"isotope",new i.Isotope(t,this,s))});return this}}(window,jQuery); -------------------------------------------------------------------------------- /static/js/nivo-lightbox.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Nivo Lightbox v1.0 3 | * http://dev7studios.com/nivo-lightbox 4 | * 5 | * Copyright 2013, Dev7studios 6 | * Free to use and abuse under the MIT license. 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | 10 | (function(e,t,n,r){function o(t,n){this.el=t;this.$el=e(this.el);this.options=e.extend({},s,n);this._defaults=s;this._name=i;this.init()}var i="nivoLightbox",s={effect:"fade",theme:"default",keyboardNav:true,onInit:function(){},beforeShowLightbox:function(){},afterShowLightbox:function(e){},beforeHideLightbox:function(){},afterHideLightbox:function(){},onPrev:function(e){},onNext:function(e){},errorMessage:"The requested content cannot be loaded. Please try again later."};o.prototype={init:function(){var t=this;this.$el.on("click",function(e){e.preventDefault();t.showLightbox()});if(this.options.keyboardNav){e("body").off("keyup").on("keyup",function(n){var r=n.keyCode?n.keyCode:n.which;if(r==27)t.destructLightbox();if(r==37)e(".nivo-lightbox-prev").trigger("click");if(r==39)e(".nivo-lightbox-next").trigger("click")})}this.options.onInit.call(this)},showLightbox:function(){var t=this;this.options.beforeShowLightbox.call(this);var n=this.constructLightbox();if(!n)return;var r=n.find(".nivo-lightbox-content");if(!r)return;var i=this.$el;e("body").addClass("nivo-lightbox-body-effect-"+this.options.effect);this.processContent(r,i);if(this.$el.attr("data-lightbox-gallery")){var t=this,s=e('[data-lightbox-gallery="'+this.$el.attr("data-lightbox-gallery")+'"]');e(".nivo-lightbox-nav").show();e(".nivo-lightbox-prev").off("click").on("click",function(n){n.preventDefault();var o=s.index(i);i=s.eq(o-1);if(!e(i).length)i=s.last();t.processContent(r,i);t.options.onPrev.call(this,[i])});e(".nivo-lightbox-next").off("click").on("click",function(n){n.preventDefault();var o=s.index(i);i=s.eq(o+1);if(!e(i).length)i=s.first();t.processContent(r,i);t.options.onNext.call(this,[i])})}setTimeout(function(){n.addClass("nivo-lightbox-open");t.options.afterShowLightbox.call(this,[n])},1)},processContent:function(n,r){var i=this;var s=r.attr("href");n.html("").addClass("nivo-lightbox-loading");if(this.isHidpi()&&r.attr("data-lightbox-hidpi")){s=r.attr("data-lightbox-hidpi")}if(s.match(/\.(jpeg|jpg|gif|png)$/)!=null){var o=e("",{src:s});o.one("load",function(){var r=e('
');r.append(o);n.html(r).removeClass("nivo-lightbox-loading");r.css({"line-height":e(".nivo-lightbox-content").height()+"px",height:e(".nivo-lightbox-content").height()+"px"});e(t).resize(function(){r.css({"line-height":e(".nivo-lightbox-content").height()+"px",height:e(".nivo-lightbox-content").height()+"px"})})}).each(function(){if(this.complete)e(this).load()});o.error(function(){var t=e('

'+i.options.errorMessage+"

");n.html(t).removeClass("nivo-lightbox-loading")})}else if(video=s.match(/(youtube|youtu|vimeo)\.(com|be)\/(watch\?v=(\w+)|(\w+))/)){var u="",a="nivo-lightbox-video";if(video[1]=="youtube"){u="http://www.youtube.com/v/"+video[4];a="nivo-lightbox-youtube"}if(video[1]=="youtu"){u="http://www.youtube.com/v/"+video[3];a="nivo-lightbox-youtube"}if(video[1]=="vimeo"){u="http://player.vimeo.com/video/"+video[3];a="nivo-lightbox-vimeo"}if(u){var f=e("