├── .github
└── workflows
│ ├── master_diseasedetection1.yml
│ ├── master_doctorplants.yml
│ ├── master_pep-doctor.yml
│ ├── master_pepcodingdoctor.yml
│ ├── master_plantdisease.yml
│ └── master_plantdisease2.yml
├── Disease Detection.ipynb
├── app.py
├── model.pkl
├── readme.md
├── requirements.txt
├── static
├── css
│ ├── b4.jpg
│ ├── front.jpg
│ ├── grid.css
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── material-design-iconic-font.min.css
│ ├── normalize.css
│ ├── style.css
│ └── styleSucc.css
└── images
│ ├── PotatoHealthy2.jpg
│ ├── TomatoEarlyBlight5.jpg
│ └── d4d1d6c9-e09c-4179-80c1-ca0924816772.jpg
├── templates
├── index.html
├── liveDetection.html
└── success.html
└── test
├── AppleCedarRust1.jpg
├── AppleCedarRust2.jpg
├── AppleCedarRust3.jpg
├── AppleCedarRust4.jpg
├── AppleScab1.jpg
├── AppleScab2.JPG
├── AppleScab3.jpg
├── CornCommonRust1.JPG
├── CornCommonRust2.JPG
├── CornCommonRust3.JPG
├── PotatoEarlyBlight1.JPG
├── PotatoEarlyBlight2.JPG
├── PotatoEarlyBlight3.JPG
├── PotatoEarlyBlight4.JPG
├── PotatoEarlyBlight5.JPG
├── PotatoHealthy1.JPG
├── PotatoHealthy2.JPG
├── TomatoEarlyBlight1.JPG
├── TomatoEarlyBlight2.JPG
├── TomatoEarlyBlight3.JPG
├── TomatoEarlyBlight4.JPG
├── TomatoEarlyBlight5.JPG
├── TomatoEarlyBlight6.JPG
├── TomatoHealthy1.jpg
├── TomatoHealthy2.JPG
├── TomatoHealthy3.JPG
├── TomatoHealthy4.JPG
├── TomatoYellowCurlVirus1.JPG
├── TomatoYellowCurlVirus2.JPG
├── TomatoYellowCurlVirus3.JPG
├── TomatoYellowCurlVirus4.JPG
├── TomatoYellowCurlVirus5.JPG
└── t.jpg
/.github/workflows/master_diseasedetection1.yml:
--------------------------------------------------------------------------------
1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2 | # More GitHub Actions for Azure: https://github.com/Azure/actions
3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4 |
5 | name: Build and deploy Python app to Azure Web App - diseaseDetection1
6 |
7 | on:
8 | push:
9 | branches:
10 | - master
11 | workflow_dispatch:
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 |
20 | - name: Set up Python version
21 | uses: actions/setup-python@v1
22 | with:
23 | python-version: '3.8'
24 |
25 | - name: Create and start virtual environment
26 | run: |
27 | python -m venv venv
28 | source venv/bin/activate
29 |
30 | - name: Install dependencies
31 | run: pip install -r requirements.txt
32 |
33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34 |
35 | - name: Upload artifact for deployment jobs
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: python-app
39 | path: |
40 | .
41 | !venv/
42 |
43 | deploy:
44 | runs-on: ubuntu-latest
45 | needs: build
46 | environment:
47 | name: 'Production'
48 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
49 |
50 | steps:
51 | - name: Download artifact from build job
52 | uses: actions/download-artifact@v2
53 | with:
54 | name: python-app
55 | path: .
56 |
57 | - name: 'Deploy to Azure Web App'
58 | uses: azure/webapps-deploy@v2
59 | id: deploy-to-webapp
60 | with:
61 | app-name: 'diseaseDetection1'
62 | slot-name: 'Production'
63 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_2794C19C61ED4CD4A38948E184F9F905 }}
64 |
--------------------------------------------------------------------------------
/.github/workflows/master_doctorplants.yml:
--------------------------------------------------------------------------------
1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2 | # More GitHub Actions for Azure: https://github.com/Azure/actions
3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4 |
5 | name: Build and deploy Python app to Azure Web App - doctorPlants
6 |
7 | on:
8 | push:
9 | branches:
10 | - master
11 | workflow_dispatch:
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 |
20 | - name: Set up Python version
21 | uses: actions/setup-python@v1
22 | with:
23 | python-version: '3.7'
24 |
25 | - name: Create and start virtual environment
26 | run: |
27 | python -m venv venv
28 | source venv/bin/activate
29 |
30 | - name: Install dependencies
31 | run: pip install -r requirements.txt
32 |
33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34 |
35 | - name: Upload artifact for deployment jobs
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: python-app
39 | path: |
40 | .
41 | !venv/
42 |
43 | deploy:
44 | runs-on: ubuntu-latest
45 | needs: build
46 | environment:
47 | name: 'Production'
48 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
49 |
50 | steps:
51 | - name: Download artifact from build job
52 | uses: actions/download-artifact@v2
53 | with:
54 | name: python-app
55 | path: .
56 |
57 | - name: 'Deploy to Azure Web App'
58 | uses: azure/webapps-deploy@v2
59 | id: deploy-to-webapp
60 | with:
61 | app-name: 'doctorPlants'
62 | slot-name: 'Production'
63 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_AB13A03474D84290818C2043F43A5858 }}
64 |
--------------------------------------------------------------------------------
/.github/workflows/master_pep-doctor.yml:
--------------------------------------------------------------------------------
1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2 | # More GitHub Actions for Azure: https://github.com/Azure/actions
3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4 |
5 | name: Build and deploy Python app to Azure Web App - Pep-Doctor
6 |
7 | on:
8 | push:
9 | branches:
10 | - master
11 | workflow_dispatch:
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 |
20 | - name: Set up Python version
21 | uses: actions/setup-python@v1
22 | with:
23 | python-version: '3.8'
24 |
25 | - name: Create and start virtual environment
26 | run: |
27 | python -m venv venv
28 | source venv/bin/activate
29 |
30 | - name: Install dependencies
31 | run: pip install -r requirements.txt
32 |
33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34 |
35 | - name: Upload artifact for deployment jobs
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: python-app
39 | path: |
40 | .
41 | !venv/
42 |
43 | deploy:
44 | runs-on: ubuntu-latest
45 | needs: build
46 | environment:
47 | name: 'Production'
48 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
49 |
50 | steps:
51 | - name: Download artifact from build job
52 | uses: actions/download-artifact@v2
53 | with:
54 | name: python-app
55 | path: .
56 |
57 | - name: 'Deploy to Azure Web App'
58 | uses: azure/webapps-deploy@v2
59 | id: deploy-to-webapp
60 | with:
61 | app-name: 'Pep-Doctor'
62 | slot-name: 'Production'
63 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_2913983CB8374FE1BFBB0195E7204D86 }}
64 |
--------------------------------------------------------------------------------
/.github/workflows/master_pepcodingdoctor.yml:
--------------------------------------------------------------------------------
1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2 | # More GitHub Actions for Azure: https://github.com/Azure/actions
3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4 |
5 | name: Build and deploy Python app to Azure Web App - Pepcodingdoctor
6 |
7 | on:
8 | push:
9 | branches:
10 | - master
11 | workflow_dispatch:
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 |
20 | - name: Set up Python version
21 | uses: actions/setup-python@v1
22 | with:
23 | python-version: '3.8'
24 |
25 | - name: Create and start virtual environment
26 | run: |
27 | python -m venv venv
28 | source venv/bin/activate
29 |
30 | - name: Install dependencies
31 | run: pip install -r requirements.txt
32 |
33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34 |
35 | - name: Upload artifact for deployment jobs
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: python-app
39 | path: |
40 | .
41 | !venv/
42 |
43 | deploy:
44 | runs-on: ubuntu-latest
45 | needs: build
46 | environment:
47 | name: 'Production'
48 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
49 |
50 | steps:
51 | - name: Download artifact from build job
52 | uses: actions/download-artifact@v2
53 | with:
54 | name: python-app
55 | path: .
56 |
57 | - name: 'Deploy to Azure Web App'
58 | uses: azure/webapps-deploy@v2
59 | id: deploy-to-webapp
60 | with:
61 | app-name: 'Pepcodingdoctor'
62 | slot-name: 'Production'
63 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_6C842D0BE98146708E403B6F34B49594 }}
64 |
--------------------------------------------------------------------------------
/.github/workflows/master_plantdisease.yml:
--------------------------------------------------------------------------------
1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2 | # More GitHub Actions for Azure: https://github.com/Azure/actions
3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4 |
5 | name: Build and deploy Python app to Azure Web App - PlantDisease
6 |
7 | on:
8 | push:
9 | branches:
10 | - master
11 | workflow_dispatch:
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 |
20 | - name: Set up Python version
21 | uses: actions/setup-python@v1
22 | with:
23 | python-version: '3.8'
24 |
25 | - name: Create and start virtual environment
26 | run: |
27 | python -m venv venv
28 | source venv/bin/activate
29 |
30 | - name: Install dependencies
31 | run: pip install -r requirements.txt
32 |
33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34 |
35 | - name: Upload artifact for deployment jobs
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: python-app
39 | path: |
40 | .
41 | !venv/
42 |
43 | deploy:
44 | runs-on: ubuntu-latest
45 | needs: build
46 | environment:
47 | name: 'Production'
48 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
49 |
50 | steps:
51 | - name: Download artifact from build job
52 | uses: actions/download-artifact@v2
53 | with:
54 | name: python-app
55 | path: .
56 |
57 | - name: 'Deploy to Azure Web App'
58 | uses: azure/webapps-deploy@v2
59 | id: deploy-to-webapp
60 | with:
61 | app-name: 'PlantDisease'
62 | slot-name: 'Production'
63 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_46ED3F25E8404E2D89707832EEDC54ED }}
64 |
--------------------------------------------------------------------------------
/.github/workflows/master_plantdisease2.yml:
--------------------------------------------------------------------------------
1 | # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2 | # More GitHub Actions for Azure: https://github.com/Azure/actions
3 | # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4 |
5 | name: Build and deploy Python app to Azure Web App - Plantdisease2
6 |
7 | on:
8 | push:
9 | branches:
10 | - master
11 | workflow_dispatch:
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 |
20 | - name: Set up Python version
21 | uses: actions/setup-python@v1
22 | with:
23 | python-version: '3.8'
24 |
25 | - name: Create and start virtual environment
26 | run: |
27 | python -m venv venv
28 | source venv/bin/activate
29 |
30 | - name: Install dependencies
31 | run: pip install -r requirements.txt
32 |
33 | # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34 |
35 | - name: Upload artifact for deployment jobs
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: python-app
39 | path: |
40 | .
41 | !venv/
42 |
43 | deploy:
44 | runs-on: ubuntu-latest
45 | needs: build
46 | environment:
47 | name: 'Production'
48 | url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
49 |
50 | steps:
51 | - name: Download artifact from build job
52 | uses: actions/download-artifact@v2
53 | with:
54 | name: python-app
55 | path: .
56 |
57 | - name: 'Deploy to Azure Web App'
58 | uses: azure/webapps-deploy@v2
59 | id: deploy-to-webapp
60 | with:
61 | app-name: 'Plantdisease2'
62 | slot-name: 'Production'
63 | publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_DD4BF5F49B6644D88BF9619578FC97EC }}
64 |
--------------------------------------------------------------------------------
/app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import uuid
3 | import flask
4 | import urllib
5 | from PIL import Image
6 | import numpy as np
7 | import joblib
8 | import cv2
9 | from flask import Flask , render_template , request , send_file,Response
10 | from tensorflow.keras.preprocessing import image
11 |
12 | app = Flask(__name__)
13 | BASE_DIR = os.path.dirname(os.path.abspath(__file__))
14 |
15 |
16 | ALLOWED_EXT = set(['jpg' , 'jpeg' , 'png' , 'jfif'])
17 | def allowed_file(filename):
18 | return '.' in filename and \
19 | filename.rsplit('.', 1)[1] in ALLOWED_EXT
20 |
21 | classes = np.array(['Apple___Apple_scab',
22 | 'Apple___Black_rot',
23 | 'Apple___Cedindexar_apple_rust',
24 | 'Apple___healthy',
25 | 'Blueberry___healthy',
26 | 'Cherry_(including_sour)___Powdery_mildew',
27 | 'Cherry_(including_sour)___healthy',
28 | 'Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot',
29 | 'Corn_(maize)___Common_rust_',
30 | 'Corn_(maize)___Northern_Leaf_Blight',
31 | 'Corn_(maize)___healthy',
32 | 'Grape___Black_rot',
33 | 'Grape___Esca_(Black_Measles)',
34 | 'Grape___Leaf_blight_(Isariopsis_Leaf_Spot)',
35 | 'Grape___healthy',
36 | 'Orange___Haunglongbing_(Citrus_greening)',
37 | 'Peach___Bacterial_spot',
38 | 'Peach___healthy',
39 | 'Pepper,_bell___Bacterial_spot',
40 | 'Pepper,_bell___healthy',
41 | 'Potato___Early_blight',
42 | 'Potato___Late_blight',
43 | 'Potato___healthy',
44 | 'Raspberry___healthy',
45 | 'Soybean___healthy',
46 | 'Squash___Powdery_mildew',
47 | 'Strawberry___Leaf_scorch',
48 | 'Strawberry___healthy',
49 | 'Tomato___Bacterial_spot',
50 | 'Tomato___Early_blight',
51 | 'Tomato___Late_blight',
52 | 'Tomato___Leaf_Mold',
53 | 'Tomato___Septoria_leaf_spot',
54 | 'Tomato___Spider_mites Two-spotted_spider_mite',
55 | 'Tomato___Target_Spot',
56 | 'Tomato___Tomato_Yellow_Leaf_Curl_Virus',
57 | 'Tomato___Tomato_mosaic_virus',
58 | 'Tomato___healthy'])
59 |
60 | image_frame = []
61 | @app.route('/')
62 | def home():
63 | image_frame.clear()
64 | # camera.release()
65 | return render_template("index.html")
66 | predictLive ="Not Detected"
67 | def gen_frames(camera): # generate frame by frame from camera
68 | while True:
69 | # Capture frame-by-frame
70 | success, frame = camera.read() # read the camera frame
71 | image_frame.clear()
72 | image_frame.append(frame)
73 | if not success:
74 | print("not going to take")
75 | break
76 | else:
77 |
78 | frame=cv2.flip(frame,1)
79 | ret, buffer = cv2.imencode('.jpg', frame)
80 | frame = buffer.tobytes()
81 | yield (b'--frame\r\n'
82 | b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n') # concat frame one by one and show result
83 |
84 | @app.route('/video_feed')
85 | def video_feed():
86 | camera=cv2.VideoCapture(0)
87 | return Response(gen_frames(camera), mimetype='multipart/x-mixed-replace; boundary=frame')
88 |
89 |
90 |
91 | @app.route('/live')
92 | def live() :
93 | return render_template("liveDetection.html")
94 |
95 | @app.route('/live', methods = ['GET' , 'POST'])
96 | def livePred() :
97 | print("here is the image : ",image_frame)
98 | if(image_frame[-1]!=""):
99 | img=cv2.resize(image_frame[-1],[72,72])
100 | image_frame.clear()
101 | img = image.img_to_array(img)
102 | img = np.expand_dims(img, axis = 0)
103 | clf = joblib.load("model.pkl")
104 | prediction = clf.predict(img)
105 | print(np.argmax(prediction))
106 | predict_class = classes[np.argmax(prediction)]
107 | return render_template("liveDetection.html",Output = predict_class)
108 | else :
109 | return render_template("liveDetection.html",Output = "Not Detected")
110 |
111 |
112 | @app.route('/success' , methods = ['GET' , 'POST'])
113 | def success():
114 | error = ''
115 | target_img = os.path.join(os.getcwd() , 'static/images')
116 | if request.method == 'POST':
117 | if(request.form):
118 | link = request.form.get('link')
119 | try :
120 | resource = urllib.request.urlopen(link)
121 | unique_filename = str(uuid.uuid4())
122 | filename = unique_filename+".jpg"
123 | img_path = os.path.join(target_img , filename)
124 | output = open(img_path , "wb")
125 | output.write(resource.read())
126 | output.close()
127 | img=image.load_img(img_path,target_size=(72,72))
128 | img = image.img_to_array(img)
129 | img = np.expand_dims(img, axis = 0)
130 | clf = joblib.load("model.pkl")
131 | prediction = clf.predict(img)
132 | print(np.argmax(prediction))
133 | predict_class = classes[np.argmax(prediction)]
134 | except Exception as e :
135 | print(str(e))
136 | error = 'This image from this site is not accesible or inappropriate input'
137 |
138 | if(len(error) == 0):
139 | return render_template('success.html' , img = filename , output = predict_class )
140 | else:
141 | return render_template('index.html' , error = error)
142 |
143 |
144 | elif (request.files):
145 | file = request.files['file']
146 | if file and allowed_file(file.filename):
147 | file.save(os.path.join(target_img , file.filename))
148 | img_path = os.path.join(target_img , file.filename)
149 | img = file.filename
150 | img = image.load_img(img_path,target_size=(72,72))
151 | img = image.img_to_array(img)
152 | img = np.expand_dims(img, axis = 0)
153 | clf = joblib.load("model.pkl")
154 | prediction = clf.predict(img)
155 | # print(np.argmax(prediction))
156 | predict_class = classes[np.argmax(prediction)]
157 | print(img_path)
158 | else:
159 | error = "Please upload images of jpg , jpeg and png extension only"
160 |
161 | if(len(error) == 0):
162 | return render_template('success.html' , img = file.filename, output = predict_class)
163 | else:
164 | return render_template('index.html' , error = error)
165 |
166 | else:
167 | return render_template('index.html')
168 |
169 | if __name__ == "__main__":
170 | app.run(debug = True, port=80)
171 |
172 |
173 |
--------------------------------------------------------------------------------
/model.pkl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/model.pkl
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Plant Disease Detection
2 |
3 |
4 | ## Running on Local Host :
5 | * Clone the repository on local host
6 | * Run command ```pip install -r requirements.txt ```
7 | * If get any error from above command use ```pip3 install -r requirements.txt ```
8 | * Run the application
9 | * Window users : ```python app.py```
10 | * Linux users : ```python3 app.py```
11 |
12 | ## Intro to Website :
13 | * Home Page :
14 | * Page Contatins file Upload:
15 | * Upload the picture of leaf and get the disease detected
16 | * Page also contatin link option for online pictures
17 |
18 | * Live Detection :
19 | * Page detect the live images
20 |
21 | ## Model Specs :
22 | * Trained on 17572 images
23 | * can predict 38 Disease
24 | * Xception net with imagenet used
25 | * 92 % model Accuracy on below categories
26 |
27 | ## Classes Model can Predict
28 | * Apple___Apple_scab
29 | * Apple___Black_rot
30 | * Apple___Cedar_apple_rust
31 | * Apple___healthy
32 | * Blueberry___healthy
33 | * Cherry_(including_sour)___healthy
34 | * Cherry_(including_sour)___Powdery_mildew
35 | * Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot
36 | * Corn_(maize)___Common_rust_
37 | * Corn_(maize)___healthy
38 | * Corn_(maize)___Northern_Leaf_Blight
39 | * Grape___Black_rot
40 | * Grape___Esca_(Black_Measles)
41 | * Grape___healthy
42 | * Grape___Leaf_blight_(Isariopsis_Leaf_Spot)
43 | * Orange___Haunglongbing_(Citrus_greening)
44 | * Peach___Bacterial_spot
45 | * Peach___healthy
46 | * Pepper,_bell___Bacterial_spot
47 | * Pepper,_bell___healthy
48 | * Potato___Early_blight
49 | * Potato___healthy
50 | * Potato___Late_blight
51 | * Raspberry___healthy
52 | * Soybean___healthy
53 | * Squash___Powdery_mildew
54 | * Strawberry___healthy
55 | * Strawberry___Leaf_scorch
56 | * Tomato___Bacterial_spot
57 | * Tomato___Early_blight
58 | * Tomato___healthy
59 | * Tomato___Late_blight
60 | * Tomato___Leaf_Mold
61 | * Tomato___Septoria_leaf_spot
62 | * Tomato___Spider_mites
63 | * Two-spotted_spider_mite
64 | * Tomato___Target_Spot
65 | * Tomato___Tomato_mosaic_virus
66 | * Tomato___Tomato_Yellow_Leaf_Curl_Virus
67 |
68 |
69 | # How to Use:
70 |
71 | Soon Website will be Deployed
72 |
73 | ## What will be in the website
74 | * Home Page Containing Picture Uploading option and test by Link.
75 | * Fast Prediction
76 | * Cure Suggestions
77 | * Information about Disease
78 |
79 | ## How it is going to help :
80 |
81 | As we know many farmers crops got destroyed due to disease in crops. I have my own story when there is a bacterial disease came in cotton plants. That turns every farmer of my village into hell of debt.
82 |
83 | ## So In many ways this project is going to help each and every farmer.
84 |
85 |
86 | # Future:
87 | In future we are going to :
88 | * Train model on every plant disease
89 | * Providing Cure on the website
90 | * Providing Every possible help
91 |
92 |
93 |
94 |
95 | # Drive Model Link
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | absl-py==1.1.0
2 | astunparse==1.6.3
3 | cachetools==5.2.0
4 | certifi==2022.5.18.1
5 | charset-normalizer==2.0.12
6 | click==8.1.3
7 | Flask==1.1.1
8 | flatbuffers==1.12
9 | gast==0.4.0
10 | google-auth==2.7.0
11 | google-auth-oauthlib==0.4.6
12 | google-pasta==0.2.0
13 | grpcio==1.46.3
14 | gunicorn==19.9.0
15 | h5py==3.7.0
16 | idna==3.3
17 | importlib-metadata==4.11.4
18 | itsdangerous==2.0.1
19 | Jinja2==2.11.2
20 | joblib==0.14.0
21 | keras==2.9.0
22 | Keras-Preprocessing==1.1.2
23 | libclang==14.0.1
24 | Markdown==3.3.7
25 | MarkupSafe==2.0.1
26 | numpy==1.22.4
27 | oauthlib==3.2.0
28 | opencv-python-headless==4.6.0.66
29 | opt-einsum==3.3.0
30 | packaging==21.3
31 | Pillow==8.3.2
32 | protobuf==3.19.4
33 | pyasn1==0.4.8
34 | pyasn1-modules==0.2.8
35 | pyparsing==3.0.9
36 | requests==2.27.1
37 | requests-oauthlib==1.3.1
38 | rsa==4.8
39 | six==1.16.0
40 | tensorboard==2.9.0
41 | tensorboard-data-server==0.6.1
42 | tensorboard-plugin-wit==1.8.1
43 | tensorflow==2.9.1
44 | tensorflow-estimator==2.9.0
45 | tensorflow-io-gcs-filesystem==0.26.0
46 | termcolor==1.1.0
47 | tflite==2.4.0
48 | typing-extensions==4.2.0
49 | urllib3==1.25.9
50 | Werkzeug==2.0.0
51 | wrapt==1.14.1
52 | zipp==3.8.0
53 |
--------------------------------------------------------------------------------
/static/css/b4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/css/b4.jpg
--------------------------------------------------------------------------------
/static/css/front.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/css/front.jpg
--------------------------------------------------------------------------------
/static/css/grid.css:
--------------------------------------------------------------------------------
1 |
2 | /* SECTIONS ============================================================================= */
3 |
4 | .section {
5 | clear: both;
6 | padding: 0px;
7 | margin: 0px;
8 | }
9 |
10 | /* GROUPING ============================================================================= */
11 |
12 | .row {
13 | zoom: 1; /* For IE 6/7 (trigger hasLayout) */
14 | }
15 |
16 | .row:before,
17 | .row:after {
18 | content:"";
19 | display:table;
20 | }
21 | .row:after {
22 | clear:both;
23 | }
24 |
25 | /* GRID COLUMN SETUP ==================================================================== */
26 |
27 | .col {
28 | display: block;
29 | float:left;
30 | margin: 1% 0 1% 1.6%;
31 | }
32 |
33 | .col:first-child { margin-left: 0; } /* all browsers except IE6 and lower */
34 |
35 |
36 | /* REMOVE MARGINS AS ALL GO FULL WIDTH AT 480 PIXELS */
37 |
38 | @media only screen and (max-width: 480px) {
39 | .col {
40 | /*margin: 1% 0 1% 0%;*/
41 | margin: 0;
42 | }
43 | }
44 |
45 |
46 | /* GRID OF TWO ============================================================================= */
47 |
48 |
49 | .span-2-of-2 {
50 | width: 100%;
51 | }
52 |
53 | .span-1-of-2 {
54 | width: 49.2%;
55 | }
56 |
57 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
58 |
59 | @media only screen and (max-width: 480px) {
60 | .span-2-of-2
61 | width: 100%;
62 | }
63 | .span-1-of-2 {
64 | width: 100%;
65 | }
66 | }
67 |
68 |
69 | /* GRID OF THREE ============================================================================= */
70 |
71 |
72 | .span-3-of-3 {
73 | width: 100%;
74 | }
75 |
76 | .span-2-of-3 {
77 | width: 66.13%;
78 | }
79 |
80 | .span-1-of-3 {
81 | width: 32.26%;
82 | }
83 |
84 |
85 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
86 |
87 | @media only screen and (max-width: 480px) {
88 | .span-3-of-3 {
89 | width: 100%;
90 | }
91 | .span-2-of-3 {
92 | width: 100%;
93 | }
94 | .span-1-of-3 {
95 | width: 100%;
96 | }
97 | }
98 |
99 | /* GRID OF FOUR ============================================================================= */
100 |
101 |
102 | .span-4-of-4 {
103 | width: 100%;
104 | }
105 |
106 | .span-3-of-4 {
107 | width: 74.6%;
108 | }
109 |
110 | .span-2-of-4 {
111 | width: 49.2%;
112 | }
113 |
114 | .span-1-of-4 {
115 | width: 23.8%;
116 | }
117 |
118 |
119 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
120 |
121 | @media only screen and (max-width: 480px) {
122 | .span-4-of-4 {
123 | width: 100%;
124 | }
125 | .span-3-of-4 {
126 | width: 100%;
127 | }
128 | .span-2-of-4 {
129 | width: 100%;
130 | }
131 | .span-1-of-4 {
132 | width: 100%;
133 | }
134 | }
135 |
136 |
137 | /* GRID OF FIVE ============================================================================= */
138 |
139 |
140 | .span-5-of-5 {
141 | width: 100%;
142 | }
143 |
144 | .span-4-of-5 {
145 | width: 79.68%;
146 | }
147 |
148 | .span-3-of-5 {
149 | width: 59.36%;
150 | }
151 |
152 | .span-2-of-5 {
153 | width: 39.04%;
154 | }
155 |
156 | .span-1-of-5 {
157 | width: 18.72%;
158 | }
159 |
160 |
161 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
162 |
163 | @media only screen and (max-width: 480px) {
164 | .span-5-of-5 {
165 | width: 100%;
166 | }
167 | .span-4-of-5 {
168 | width: 100%;
169 | }
170 | .span-3-of-5 {
171 | width: 100%;
172 | }
173 | .span-2-of-5 {
174 | width: 100%;
175 | }
176 | .span-1-of-5 {
177 | width: 100%;
178 | }
179 | }
180 |
181 |
182 | /* GRID OF SIX ============================================================================= */
183 |
184 |
185 | .span-6-of-6 {
186 | width: 100%;
187 | }
188 |
189 | .span-5-of-6 {
190 | width: 83.06%;
191 | }
192 |
193 | .span-4-of-6 {
194 | width: 66.13%;
195 | }
196 |
197 | .span-3-of-6 {
198 | width: 49.2%;
199 | }
200 |
201 | .span-2-of-6 {
202 | width: 32.26%;
203 | }
204 |
205 | .span-1-of-6 {
206 | width: 15.33%;
207 | }
208 |
209 |
210 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
211 |
212 | @media only screen and (max-width: 480px) {
213 | .span-6-of-6 {
214 | width: 100%;
215 | }
216 | .span-5-of-6 {
217 | width: 100%;
218 | }
219 | .span-4-of-6 {
220 | width: 100%;
221 | }
222 | .span-3-of-6 {
223 | width: 100%;
224 | }
225 | .span-2-of-6 {
226 | width: 100%;
227 | }
228 | .span-1-of-6 {
229 | width: 100%;
230 | }
231 | }
232 |
233 |
234 |
235 | /* GRID OF SEVEN ============================================================================= */
236 |
237 |
238 | .span-7-of-7 {
239 | width: 100%;
240 | }
241 |
242 | .span-6-of-7 {
243 | width: 85.48%;
244 | }
245 |
246 | .span-5-of-7 {
247 | width: 70.97%;
248 | }
249 |
250 | .span-4-of-7 {
251 | width: 56.45%;
252 | }
253 |
254 | .span-3-of-7 {
255 | width: 41.94%;
256 | }
257 |
258 | .span-2-of-7 {
259 | width: 27.42%;
260 | }
261 |
262 | .span-1-of-7 {
263 | width: 12.91%;
264 | }
265 |
266 |
267 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
268 |
269 | @media only screen and (max-width: 480px) {
270 | .span-7-of-7 {
271 | width: 100%;
272 | }
273 | .span-6-of-7 {
274 | width: 100%;
275 | }
276 | .span-5-of-7 {
277 | width: 100%;
278 | }
279 | .span-4-of-7 {
280 | width: 100%;
281 | }
282 | .span-3-of-7 {
283 | width: 100%;
284 | }
285 | .span-2-of-7 {
286 | width: 100%;
287 | }
288 | .span-1-of-7 {
289 | width: 100%;
290 | }
291 | }
292 |
293 |
294 | /* GRID OF EIGHT ============================================================================= */
295 |
296 |
297 | .span-8-of-8 {
298 | width: 100%;
299 | }
300 |
301 | .span-7-of-8 {
302 | width: 87.3%;
303 | }
304 |
305 | .span-6-of-8 {
306 | width: 74.6%;
307 | }
308 |
309 | .span-5-of-8 {
310 | width: 61.9%;
311 | }
312 |
313 | .span-4-of-8 {
314 | width: 49.2%;
315 | }
316 |
317 | .span-3-of-8 {
318 | width: 36.5%;
319 | }
320 |
321 | .span-2-of-8 {
322 | width: 23.8%;
323 | }
324 |
325 | .span-1-of-8 {
326 | width: 11.1%;
327 | }
328 |
329 |
330 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
331 |
332 | @media only screen and (max-width: 480px) {
333 | .span-8-of-8 {
334 | width: 100%;
335 | }
336 | .span-7-of-8 {
337 | width: 100%;
338 | }
339 | .span-6-of-8 {
340 | width: 100%;
341 | }
342 | .span-5-of-8 {
343 | width: 100%;
344 | }
345 | .span-4-of-8 {
346 | width: 100%;
347 | }
348 | .span-3-of-8 {
349 | width: 100%;
350 | }
351 | .span-2-of-8 {
352 | width: 100%;
353 | }
354 | .span-1-of-8 {
355 | width: 100%;
356 | }
357 | }
358 |
359 |
360 | /* GRID OF NINE ============================================================================= */
361 |
362 |
363 | .span-9-of-9 {
364 | width: 100%;
365 | }
366 |
367 | .span-8-of-9 {
368 | width: 88.71%;
369 | }
370 |
371 | .span-7-of-9 {
372 | width: 77.42%;
373 | }
374 |
375 | .span-6-of-9 {
376 | width: 66.13%;
377 | }
378 |
379 | .span-5-of-9 {
380 | width: 54.84%;
381 | }
382 |
383 | .span-4-of-9 {
384 | width: 43.55%;
385 | }
386 |
387 | .span-3-of-9 {
388 | width: 32.26%;
389 | }
390 |
391 | .span-2-of-9 {
392 | width: 20.97%;
393 | }
394 |
395 | .span-1-of-9 {
396 | width: 9.68%;
397 | }
398 |
399 |
400 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
401 |
402 | @media only screen and (max-width: 480px) {
403 | .span-9-of-9 {
404 | width: 100%;
405 | }
406 | .span-8-of-9 {
407 | width: 100%;
408 | }
409 | .span-7-of-9 {
410 | width: 100%;
411 | }
412 | .span-6-of-9 {
413 | width: 100%;
414 | }
415 | .span-5-of-9 {
416 | width: 100%;
417 | }
418 | .span-4-of-9 {
419 | width: 100%;
420 | }
421 | .span-3-of-9 {
422 | width: 100%;
423 | }
424 | .span-2-of-9 {
425 | width: 100%;
426 | }
427 | .span-1-of-9 {
428 | width: 100%;
429 | }
430 | }
431 |
432 |
433 | /* GRID OF TEN ============================================================================= */
434 |
435 |
436 | .span-10-of-10 {
437 | width: 100%;
438 | }
439 |
440 | .span-9-of-10 {
441 | width: 89.84%;
442 | }
443 |
444 | .span-8-of-10 {
445 | width: 79.68%;
446 | }
447 |
448 | .span-7-of-10 {
449 | width: 69.52%;
450 | }
451 |
452 | .span-6-of-10 {
453 | width: 59.36%;
454 | }
455 |
456 | .span-5-of-10 {
457 | width: 49.2%;
458 | }
459 |
460 | .span-4-of-10 {
461 | width: 39.04%;
462 | }
463 |
464 | .span-3-of-10 {
465 | width: 28.88%;
466 | }
467 |
468 | .span-2-of-10 {
469 | width: 18.72%;
470 | }
471 |
472 | .span-1-of-10 {
473 | width: 8.56%;
474 | }
475 |
476 |
477 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
478 |
479 | @media only screen and (max-width: 480px) {
480 | .span-10-of-10 {
481 | width: 100%;
482 | }
483 | .span-9-of-10 {
484 | width: 100%;
485 | }
486 | .span-8-of-10 {
487 | width: 100%;
488 | }
489 | .span-7-of-10 {
490 | width: 100%;
491 | }
492 | .span-6-of-10 {
493 | width: 100%;
494 | }
495 | .span-5-of-10 {
496 | width: 100%;
497 | }
498 | .span-4-of-10 {
499 | width: 100%;
500 | }
501 | .span-3-of-10 {
502 | width: 100%;
503 | }
504 | .span-2-of-10 {
505 | width: 100%;
506 | }
507 | .span-1-of-10 {
508 | width: 100%;
509 | }
510 | }
511 |
512 |
513 | /* GRID OF ELEVEN ============================================================================= */
514 |
515 | .span-11-of-11 {
516 | width: 100%;
517 | }
518 |
519 | .span-10-of-11 {
520 | width: 90.76%;
521 | }
522 |
523 | .span-9-of-11 {
524 | width: 81.52%;
525 | }
526 |
527 | .span-8-of-11 {
528 | width: 72.29%;
529 | }
530 |
531 | .span-7-of-11 {
532 | width: 63.05%;
533 | }
534 |
535 | .span-6-of-11 {
536 | width: 53.81%;
537 | }
538 |
539 | .span-5-of-11 {
540 | width: 44.58%;
541 | }
542 |
543 | .span-4-of-11 {
544 | width: 35.34%;
545 | }
546 |
547 | .span-3-of-11 {
548 | width: 26.1%;
549 | }
550 |
551 | .span-2-of-11 {
552 | width: 16.87%;
553 | }
554 |
555 | .span-1-of-11 {
556 | width: 7.63%;
557 | }
558 |
559 |
560 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
561 |
562 | @media only screen and (max-width: 480px) {
563 | .span-11-of-11 {
564 | width: 100%;
565 | }
566 | .span-10-of-11 {
567 | width: 100%;
568 | }
569 | .span-9-of-11 {
570 | width: 100%;
571 | }
572 | .span-8-of-11 {
573 | width: 100%;
574 | }
575 | .span-7-of-11 {
576 | width: 100%;
577 | }
578 | .span-6-of-11 {
579 | width: 100%;
580 | }
581 | .span-5-of-11 {
582 | width: 100%;
583 | }
584 | .span-4-of-11 {
585 | width: 100%;
586 | }
587 | .span-3-of-11 {
588 | width: 100%;
589 | }
590 | .span-2-of-11 {
591 | width: 100%;
592 | }
593 | .span-1-of-11 {
594 | width: 100%;
595 | }
596 | }
597 |
598 |
599 | /* GRID OF TWELVE ============================================================================= */
600 |
601 | .span-12-of-12 {
602 | width: 100%;
603 | }
604 |
605 | .span-11-of-12 {
606 | width: 91.53%;
607 | }
608 |
609 | .span-10-of-12 {
610 | width: 83.06%;
611 | }
612 |
613 | .span-9-of-12 {
614 | width: 74.6%;
615 | }
616 |
617 | .span-8-of-12 {
618 | width: 66.13%;
619 | }
620 |
621 | .span-7-of-12 {
622 | width: 57.66%;
623 | }
624 |
625 | .span-6-of-12 {
626 | width: 49.2%;
627 | }
628 |
629 | .span-5-of-12 {
630 | width: 40.73%;
631 | }
632 |
633 | .span-4-of-12 {
634 | width: 32.26%;
635 | }
636 |
637 | .span-3-of-12 {
638 | width: 23.8%;
639 | }
640 |
641 | .span-2-of-12 {
642 | width: 15.33%;
643 | }
644 |
645 | .span-1-of-12 {
646 | width: 6.86%;
647 | }
648 |
649 |
650 | /* GO FULL WIDTH AT LESS THAN 480 PIXELS */
651 |
652 | @media only screen and (max-width: 480px) {
653 | .span-12-of-12 {
654 | width: 100%;
655 | }
656 | .span-11-of-12 {
657 | width: 100%;
658 | }
659 | .span-10-of-12 {
660 | width: 100%;
661 | }
662 | .span-9-of-12 {
663 | width: 100%;
664 | }
665 | .span-8-of-12 {
666 | width: 100%;
667 | }
668 | .span-7-of-12 {
669 | width: 100%;
670 | }
671 | .span-6-of-12 {
672 | width: 100%;
673 | }
674 | .span-5-of-12 {
675 | width: 100%;
676 | }
677 | .span-4-of-12 {
678 | width: 100%;
679 | }
680 | .span-3-of-12 {
681 | width: 100%;
682 | }
683 | .span-2-of-12 {
684 | width: 100%;
685 | }
686 | .span-1-of-12 {
687 | width: 100%;
688 | }
689 | }
--------------------------------------------------------------------------------
/static/css/image1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/css/image1.jpg
--------------------------------------------------------------------------------
/static/css/image2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/css/image2.jpg
--------------------------------------------------------------------------------
/static/css/material-design-iconic-font.min.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:Material-Design-Iconic-Font;src:url(../fonts/Material-Design-Iconic-Font.woff2?v=2.2.0) format('woff2'),url(../fonts/Material-Design-Iconic-Font.woff?v=2.2.0) format('woff'),url(../fonts/Material-Design-Iconic-Font.ttf?v=2.2.0) format('truetype')}.zmdi{display:inline-block;font:normal normal normal 14px/1 'Material-Design-Iconic-Font';font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.zmdi-hc-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.zmdi-hc-2x{font-size:2em}.zmdi-hc-3x{font-size:3em}.zmdi-hc-4x{font-size:4em}.zmdi-hc-5x{font-size:5em}.zmdi-hc-fw{width:1.28571429em;text-align:center}.zmdi-hc-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.zmdi-hc-ul>li{position:relative}.zmdi-hc-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.zmdi-hc-li.zmdi-hc-lg{left:-1.85714286em}.zmdi-hc-border{padding:.1em .25em;border:solid .1em #9e9e9e;border-radius:2px}.zmdi-hc-border-circle{padding:.1em .25em;border:solid .1em #9e9e9e;border-radius:50%}.zmdi.pull-left{float:left;margin-right:.15em}.zmdi.pull-right{float:right;margin-left:.15em}.zmdi-hc-spin{-webkit-animation:zmdi-spin 1.5s infinite linear;animation:zmdi-spin 1.5s infinite linear}.zmdi-hc-spin-reverse{-webkit-animation:zmdi-spin-reverse 1.5s infinite linear;animation:zmdi-spin-reverse 1.5s infinite linear}@-webkit-keyframes zmdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes zmdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes zmdi-spin-reverse{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes zmdi-spin-reverse{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}.zmdi-hc-rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.zmdi-hc-rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.zmdi-hc-rotate-270{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.zmdi-hc-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.zmdi-hc-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}.zmdi-hc-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.zmdi-hc-stack-1x,.zmdi-hc-stack-2x{position:absolute;left:0;width:100%;text-align:center}.zmdi-hc-stack-1x{line-height:inherit}.zmdi-hc-stack-2x{font-size:2em}.zmdi-hc-inverse{color:#fff}.zmdi-3d-rotation:before{content:'\f101'}.zmdi-airplane-off:before{content:'\f102'}.zmdi-airplane:before{content:'\f103'}.zmdi-album:before{content:'\f104'}.zmdi-archive:before{content:'\f105'}.zmdi-assignment-account:before{content:'\f106'}.zmdi-assignment-alert:before{content:'\f107'}.zmdi-assignment-check:before{content:'\f108'}.zmdi-assignment-o:before{content:'\f109'}.zmdi-assignment-return:before{content:'\f10a'}.zmdi-assignment-returned:before{content:'\f10b'}.zmdi-assignment:before{content:'\f10c'}.zmdi-attachment-alt:before{content:'\f10d'}.zmdi-attachment:before{content:'\f10e'}.zmdi-audio:before{content:'\f10f'}.zmdi-badge-check:before{content:'\f110'}.zmdi-balance-wallet:before{content:'\f111'}.zmdi-balance:before{content:'\f112'}.zmdi-battery-alert:before{content:'\f113'}.zmdi-battery-flash:before{content:'\f114'}.zmdi-battery-unknown:before{content:'\f115'}.zmdi-battery:before{content:'\f116'}.zmdi-bike:before{content:'\f117'}.zmdi-block-alt:before{content:'\f118'}.zmdi-block:before{content:'\f119'}.zmdi-boat:before{content:'\f11a'}.zmdi-book-image:before{content:'\f11b'}.zmdi-book:before{content:'\f11c'}.zmdi-bookmark-outline:before{content:'\f11d'}.zmdi-bookmark:before{content:'\f11e'}.zmdi-brush:before{content:'\f11f'}.zmdi-bug:before{content:'\f120'}.zmdi-bus:before{content:'\f121'}.zmdi-cake:before{content:'\f122'}.zmdi-car-taxi:before{content:'\f123'}.zmdi-car-wash:before{content:'\f124'}.zmdi-car:before{content:'\f125'}.zmdi-card-giftcard:before{content:'\f126'}.zmdi-card-membership:before{content:'\f127'}.zmdi-card-travel:before{content:'\f128'}.zmdi-card:before{content:'\f129'}.zmdi-case-check:before{content:'\f12a'}.zmdi-case-download:before{content:'\f12b'}.zmdi-case-play:before{content:'\f12c'}.zmdi-case:before{content:'\f12d'}.zmdi-cast-connected:before{content:'\f12e'}.zmdi-cast:before{content:'\f12f'}.zmdi-chart-donut:before{content:'\f130'}.zmdi-chart:before{content:'\f131'}.zmdi-city-alt:before{content:'\f132'}.zmdi-city:before{content:'\f133'}.zmdi-close-circle-o:before{content:'\f134'}.zmdi-close-circle:before{content:'\f135'}.zmdi-close:before{content:'\f136'}.zmdi-cocktail:before{content:'\f137'}.zmdi-code-setting:before{content:'\f138'}.zmdi-code-smartphone:before{content:'\f139'}.zmdi-code:before{content:'\f13a'}.zmdi-coffee:before{content:'\f13b'}.zmdi-collection-bookmark:before{content:'\f13c'}.zmdi-collection-case-play:before{content:'\f13d'}.zmdi-collection-folder-image:before{content:'\f13e'}.zmdi-collection-image-o:before{content:'\f13f'}.zmdi-collection-image:before{content:'\f140'}.zmdi-collection-item-1:before{content:'\f141'}.zmdi-collection-item-2:before{content:'\f142'}.zmdi-collection-item-3:before{content:'\f143'}.zmdi-collection-item-4:before{content:'\f144'}.zmdi-collection-item-5:before{content:'\f145'}.zmdi-collection-item-6:before{content:'\f146'}.zmdi-collection-item-7:before{content:'\f147'}.zmdi-collection-item-8:before{content:'\f148'}.zmdi-collection-item-9-plus:before{content:'\f149'}.zmdi-collection-item-9:before{content:'\f14a'}.zmdi-collection-item:before{content:'\f14b'}.zmdi-collection-music:before{content:'\f14c'}.zmdi-collection-pdf:before{content:'\f14d'}.zmdi-collection-plus:before{content:'\f14e'}.zmdi-collection-speaker:before{content:'\f14f'}.zmdi-collection-text:before{content:'\f150'}.zmdi-collection-video:before{content:'\f151'}.zmdi-compass:before{content:'\f152'}.zmdi-cutlery:before{content:'\f153'}.zmdi-delete:before{content:'\f154'}.zmdi-dialpad:before{content:'\f155'}.zmdi-dns:before{content:'\f156'}.zmdi-drink:before{content:'\f157'}.zmdi-edit:before{content:'\f158'}.zmdi-email-open:before{content:'\f159'}.zmdi-email:before{content:'\f15a'}.zmdi-eye-off:before{content:'\f15b'}.zmdi-eye:before{content:'\f15c'}.zmdi-eyedropper:before{content:'\f15d'}.zmdi-favorite-outline:before{content:'\f15e'}.zmdi-favorite:before{content:'\f15f'}.zmdi-filter-list:before{content:'\f160'}.zmdi-fire:before{content:'\f161'}.zmdi-flag:before{content:'\f162'}.zmdi-flare:before{content:'\f163'}.zmdi-flash-auto:before{content:'\f164'}.zmdi-flash-off:before{content:'\f165'}.zmdi-flash:before{content:'\f166'}.zmdi-flip:before{content:'\f167'}.zmdi-flower-alt:before{content:'\f168'}.zmdi-flower:before{content:'\f169'}.zmdi-font:before{content:'\f16a'}.zmdi-fullscreen-alt:before{content:'\f16b'}.zmdi-fullscreen-exit:before{content:'\f16c'}.zmdi-fullscreen:before{content:'\f16d'}.zmdi-functions:before{content:'\f16e'}.zmdi-gas-station:before{content:'\f16f'}.zmdi-gesture:before{content:'\f170'}.zmdi-globe-alt:before{content:'\f171'}.zmdi-globe-lock:before{content:'\f172'}.zmdi-globe:before{content:'\f173'}.zmdi-graduation-cap:before{content:'\f174'}.zmdi-home:before{content:'\f175'}.zmdi-hospital-alt:before{content:'\f176'}.zmdi-hospital:before{content:'\f177'}.zmdi-hotel:before{content:'\f178'}.zmdi-hourglass-alt:before{content:'\f179'}.zmdi-hourglass-outline:before{content:'\f17a'}.zmdi-hourglass:before{content:'\f17b'}.zmdi-http:before{content:'\f17c'}.zmdi-image-alt:before{content:'\f17d'}.zmdi-image-o:before{content:'\f17e'}.zmdi-image:before{content:'\f17f'}.zmdi-inbox:before{content:'\f180'}.zmdi-invert-colors-off:before{content:'\f181'}.zmdi-invert-colors:before{content:'\f182'}.zmdi-key:before{content:'\f183'}.zmdi-label-alt-outline:before{content:'\f184'}.zmdi-label-alt:before{content:'\f185'}.zmdi-label-heart:before{content:'\f186'}.zmdi-label:before{content:'\f187'}.zmdi-labels:before{content:'\f188'}.zmdi-lamp:before{content:'\f189'}.zmdi-landscape:before{content:'\f18a'}.zmdi-layers-off:before{content:'\f18b'}.zmdi-layers:before{content:'\f18c'}.zmdi-library:before{content:'\f18d'}.zmdi-link:before{content:'\f18e'}.zmdi-lock-open:before{content:'\f18f'}.zmdi-lock-outline:before{content:'\f190'}.zmdi-lock:before{content:'\f191'}.zmdi-mail-reply-all:before{content:'\f192'}.zmdi-mail-reply:before{content:'\f193'}.zmdi-mail-send:before{content:'\f194'}.zmdi-mall:before{content:'\f195'}.zmdi-map:before{content:'\f196'}.zmdi-menu:before{content:'\f197'}.zmdi-money-box:before{content:'\f198'}.zmdi-money-off:before{content:'\f199'}.zmdi-money:before{content:'\f19a'}.zmdi-more-vert:before{content:'\f19b'}.zmdi-more:before{content:'\f19c'}.zmdi-movie-alt:before{content:'\f19d'}.zmdi-movie:before{content:'\f19e'}.zmdi-nature-people:before{content:'\f19f'}.zmdi-nature:before{content:'\f1a0'}.zmdi-navigation:before{content:'\f1a1'}.zmdi-open-in-browser:before{content:'\f1a2'}.zmdi-open-in-new:before{content:'\f1a3'}.zmdi-palette:before{content:'\f1a4'}.zmdi-parking:before{content:'\f1a5'}.zmdi-pin-account:before{content:'\f1a6'}.zmdi-pin-assistant:before{content:'\f1a7'}.zmdi-pin-drop:before{content:'\f1a8'}.zmdi-pin-help:before{content:'\f1a9'}.zmdi-pin-off:before{content:'\f1aa'}.zmdi-pin:before{content:'\f1ab'}.zmdi-pizza:before{content:'\f1ac'}.zmdi-plaster:before{content:'\f1ad'}.zmdi-power-setting:before{content:'\f1ae'}.zmdi-power:before{content:'\f1af'}.zmdi-print:before{content:'\f1b0'}.zmdi-puzzle-piece:before{content:'\f1b1'}.zmdi-quote:before{content:'\f1b2'}.zmdi-railway:before{content:'\f1b3'}.zmdi-receipt:before{content:'\f1b4'}.zmdi-refresh-alt:before{content:'\f1b5'}.zmdi-refresh-sync-alert:before{content:'\f1b6'}.zmdi-refresh-sync-off:before{content:'\f1b7'}.zmdi-refresh-sync:before{content:'\f1b8'}.zmdi-refresh:before{content:'\f1b9'}.zmdi-roller:before{content:'\f1ba'}.zmdi-ruler:before{content:'\f1bb'}.zmdi-scissors:before{content:'\f1bc'}.zmdi-screen-rotation-lock:before{content:'\f1bd'}.zmdi-screen-rotation:before{content:'\f1be'}.zmdi-search-for:before{content:'\f1bf'}.zmdi-search-in-file:before{content:'\f1c0'}.zmdi-search-in-page:before{content:'\f1c1'}.zmdi-search-replace:before{content:'\f1c2'}.zmdi-search:before{content:'\f1c3'}.zmdi-seat:before{content:'\f1c4'}.zmdi-settings-square:before{content:'\f1c5'}.zmdi-settings:before{content:'\f1c6'}.zmdi-shield-check:before{content:'\f1c7'}.zmdi-shield-security:before{content:'\f1c8'}.zmdi-shopping-basket:before{content:'\f1c9'}.zmdi-shopping-cart-plus:before{content:'\f1ca'}.zmdi-shopping-cart:before{content:'\f1cb'}.zmdi-sign-in:before{content:'\f1cc'}.zmdi-sort-amount-asc:before{content:'\f1cd'}.zmdi-sort-amount-desc:before{content:'\f1ce'}.zmdi-sort-asc:before{content:'\f1cf'}.zmdi-sort-desc:before{content:'\f1d0'}.zmdi-spellcheck:before{content:'\f1d1'}.zmdi-storage:before{content:'\f1d2'}.zmdi-store-24:before{content:'\f1d3'}.zmdi-store:before{content:'\f1d4'}.zmdi-subway:before{content:'\f1d5'}.zmdi-sun:before{content:'\f1d6'}.zmdi-tab-unselected:before{content:'\f1d7'}.zmdi-tab:before{content:'\f1d8'}.zmdi-tag-close:before{content:'\f1d9'}.zmdi-tag-more:before{content:'\f1da'}.zmdi-tag:before{content:'\f1db'}.zmdi-thumb-down:before{content:'\f1dc'}.zmdi-thumb-up-down:before{content:'\f1dd'}.zmdi-thumb-up:before{content:'\f1de'}.zmdi-ticket-star:before{content:'\f1df'}.zmdi-toll:before{content:'\f1e0'}.zmdi-toys:before{content:'\f1e1'}.zmdi-traffic:before{content:'\f1e2'}.zmdi-translate:before{content:'\f1e3'}.zmdi-triangle-down:before{content:'\f1e4'}.zmdi-triangle-up:before{content:'\f1e5'}.zmdi-truck:before{content:'\f1e6'}.zmdi-turning-sign:before{content:'\f1e7'}.zmdi-wallpaper:before{content:'\f1e8'}.zmdi-washing-machine:before{content:'\f1e9'}.zmdi-window-maximize:before{content:'\f1ea'}.zmdi-window-minimize:before{content:'\f1eb'}.zmdi-window-restore:before{content:'\f1ec'}.zmdi-wrench:before{content:'\f1ed'}.zmdi-zoom-in:before{content:'\f1ee'}.zmdi-zoom-out:before{content:'\f1ef'}.zmdi-alert-circle-o:before{content:'\f1f0'}.zmdi-alert-circle:before{content:'\f1f1'}.zmdi-alert-octagon:before{content:'\f1f2'}.zmdi-alert-polygon:before{content:'\f1f3'}.zmdi-alert-triangle:before{content:'\f1f4'}.zmdi-help-outline:before{content:'\f1f5'}.zmdi-help:before{content:'\f1f6'}.zmdi-info-outline:before{content:'\f1f7'}.zmdi-info:before{content:'\f1f8'}.zmdi-notifications-active:before{content:'\f1f9'}.zmdi-notifications-add:before{content:'\f1fa'}.zmdi-notifications-none:before{content:'\f1fb'}.zmdi-notifications-off:before{content:'\f1fc'}.zmdi-notifications-paused:before{content:'\f1fd'}.zmdi-notifications:before{content:'\f1fe'}.zmdi-account-add:before{content:'\f1ff'}.zmdi-account-box-mail:before{content:'\f200'}.zmdi-account-box-o:before{content:'\f201'}.zmdi-account-box-phone:before{content:'\f202'}.zmdi-account-box:before{content:'\f203'}.zmdi-account-calendar:before{content:'\f204'}.zmdi-account-circle:before{content:'\f205'}.zmdi-account-o:before{content:'\f206'}.zmdi-account:before{content:'\f207'}.zmdi-accounts-add:before{content:'\f208'}.zmdi-accounts-alt:before{content:'\f209'}.zmdi-accounts-list-alt:before{content:'\f20a'}.zmdi-accounts-list:before{content:'\f20b'}.zmdi-accounts-outline:before{content:'\f20c'}.zmdi-accounts:before{content:'\f20d'}.zmdi-face:before{content:'\f20e'}.zmdi-female:before{content:'\f20f'}.zmdi-male-alt:before{content:'\f210'}.zmdi-male-female:before{content:'\f211'}.zmdi-male:before{content:'\f212'}.zmdi-mood-bad:before{content:'\f213'}.zmdi-mood:before{content:'\f214'}.zmdi-run:before{content:'\f215'}.zmdi-walk:before{content:'\f216'}.zmdi-cloud-box:before{content:'\f217'}.zmdi-cloud-circle:before{content:'\f218'}.zmdi-cloud-done:before{content:'\f219'}.zmdi-cloud-download:before{content:'\f21a'}.zmdi-cloud-off:before{content:'\f21b'}.zmdi-cloud-outline-alt:before{content:'\f21c'}.zmdi-cloud-outline:before{content:'\f21d'}.zmdi-cloud-upload:before{content:'\f21e'}.zmdi-cloud:before{content:'\f21f'}.zmdi-download:before{content:'\f220'}.zmdi-file-plus:before{content:'\f221'}.zmdi-file-text:before{content:'\f222'}.zmdi-file:before{content:'\f223'}.zmdi-folder-outline:before{content:'\f224'}.zmdi-folder-person:before{content:'\f225'}.zmdi-folder-star-alt:before{content:'\f226'}.zmdi-folder-star:before{content:'\f227'}.zmdi-folder:before{content:'\f228'}.zmdi-gif:before{content:'\f229'}.zmdi-upload:before{content:'\f22a'}.zmdi-border-all:before{content:'\f22b'}.zmdi-border-bottom:before{content:'\f22c'}.zmdi-border-clear:before{content:'\f22d'}.zmdi-border-color:before{content:'\f22e'}.zmdi-border-horizontal:before{content:'\f22f'}.zmdi-border-inner:before{content:'\f230'}.zmdi-border-left:before{content:'\f231'}.zmdi-border-outer:before{content:'\f232'}.zmdi-border-right:before{content:'\f233'}.zmdi-border-style:before{content:'\f234'}.zmdi-border-top:before{content:'\f235'}.zmdi-border-vertical:before{content:'\f236'}.zmdi-copy:before{content:'\f237'}.zmdi-crop:before{content:'\f238'}.zmdi-format-align-center:before{content:'\f239'}.zmdi-format-align-justify:before{content:'\f23a'}.zmdi-format-align-left:before{content:'\f23b'}.zmdi-format-align-right:before{content:'\f23c'}.zmdi-format-bold:before{content:'\f23d'}.zmdi-format-clear-all:before{content:'\f23e'}.zmdi-format-clear:before{content:'\f23f'}.zmdi-format-color-fill:before{content:'\f240'}.zmdi-format-color-reset:before{content:'\f241'}.zmdi-format-color-text:before{content:'\f242'}.zmdi-format-indent-decrease:before{content:'\f243'}.zmdi-format-indent-increase:before{content:'\f244'}.zmdi-format-italic:before{content:'\f245'}.zmdi-format-line-spacing:before{content:'\f246'}.zmdi-format-list-bulleted:before{content:'\f247'}.zmdi-format-list-numbered:before{content:'\f248'}.zmdi-format-ltr:before{content:'\f249'}.zmdi-format-rtl:before{content:'\f24a'}.zmdi-format-size:before{content:'\f24b'}.zmdi-format-strikethrough-s:before{content:'\f24c'}.zmdi-format-strikethrough:before{content:'\f24d'}.zmdi-format-subject:before{content:'\f24e'}.zmdi-format-underlined:before{content:'\f24f'}.zmdi-format-valign-bottom:before{content:'\f250'}.zmdi-format-valign-center:before{content:'\f251'}.zmdi-format-valign-top:before{content:'\f252'}.zmdi-redo:before{content:'\f253'}.zmdi-select-all:before{content:'\f254'}.zmdi-space-bar:before{content:'\f255'}.zmdi-text-format:before{content:'\f256'}.zmdi-transform:before{content:'\f257'}.zmdi-undo:before{content:'\f258'}.zmdi-wrap-text:before{content:'\f259'}.zmdi-comment-alert:before{content:'\f25a'}.zmdi-comment-alt-text:before{content:'\f25b'}.zmdi-comment-alt:before{content:'\f25c'}.zmdi-comment-edit:before{content:'\f25d'}.zmdi-comment-image:before{content:'\f25e'}.zmdi-comment-list:before{content:'\f25f'}.zmdi-comment-more:before{content:'\f260'}.zmdi-comment-outline:before{content:'\f261'}.zmdi-comment-text-alt:before{content:'\f262'}.zmdi-comment-text:before{content:'\f263'}.zmdi-comment-video:before{content:'\f264'}.zmdi-comment:before{content:'\f265'}.zmdi-comments:before{content:'\f266'}.zmdi-check-all:before{content:'\f267'}.zmdi-check-circle-u:before{content:'\f268'}.zmdi-check-circle:before{content:'\f269'}.zmdi-check-square:before{content:'\f26a'}.zmdi-check:before{content:'\f26b'}.zmdi-circle-o:before{content:'\f26c'}.zmdi-circle:before{content:'\f26d'}.zmdi-dot-circle-alt:before{content:'\f26e'}.zmdi-dot-circle:before{content:'\f26f'}.zmdi-minus-circle-outline:before{content:'\f270'}.zmdi-minus-circle:before{content:'\f271'}.zmdi-minus-square:before{content:'\f272'}.zmdi-minus:before{content:'\f273'}.zmdi-plus-circle-o-duplicate:before{content:'\f274'}.zmdi-plus-circle-o:before{content:'\f275'}.zmdi-plus-circle:before{content:'\f276'}.zmdi-plus-square:before{content:'\f277'}.zmdi-plus:before{content:'\f278'}.zmdi-square-o:before{content:'\f279'}.zmdi-star-circle:before{content:'\f27a'}.zmdi-star-half:before{content:'\f27b'}.zmdi-star-outline:before{content:'\f27c'}.zmdi-star:before{content:'\f27d'}.zmdi-bluetooth-connected:before{content:'\f27e'}.zmdi-bluetooth-off:before{content:'\f27f'}.zmdi-bluetooth-search:before{content:'\f280'}.zmdi-bluetooth-setting:before{content:'\f281'}.zmdi-bluetooth:before{content:'\f282'}.zmdi-camera-add:before{content:'\f283'}.zmdi-camera-alt:before{content:'\f284'}.zmdi-camera-bw:before{content:'\f285'}.zmdi-camera-front:before{content:'\f286'}.zmdi-camera-mic:before{content:'\f287'}.zmdi-camera-party-mode:before{content:'\f288'}.zmdi-camera-rear:before{content:'\f289'}.zmdi-camera-roll:before{content:'\f28a'}.zmdi-camera-switch:before{content:'\f28b'}.zmdi-camera:before{content:'\f28c'}.zmdi-card-alert:before{content:'\f28d'}.zmdi-card-off:before{content:'\f28e'}.zmdi-card-sd:before{content:'\f28f'}.zmdi-card-sim:before{content:'\f290'}.zmdi-desktop-mac:before{content:'\f291'}.zmdi-desktop-windows:before{content:'\f292'}.zmdi-device-hub:before{content:'\f293'}.zmdi-devices-off:before{content:'\f294'}.zmdi-devices:before{content:'\f295'}.zmdi-dock:before{content:'\f296'}.zmdi-floppy:before{content:'\f297'}.zmdi-gamepad:before{content:'\f298'}.zmdi-gps-dot:before{content:'\f299'}.zmdi-gps-off:before{content:'\f29a'}.zmdi-gps:before{content:'\f29b'}.zmdi-headset-mic:before{content:'\f29c'}.zmdi-headset:before{content:'\f29d'}.zmdi-input-antenna:before{content:'\f29e'}.zmdi-input-composite:before{content:'\f29f'}.zmdi-input-hdmi:before{content:'\f2a0'}.zmdi-input-power:before{content:'\f2a1'}.zmdi-input-svideo:before{content:'\f2a2'}.zmdi-keyboard-hide:before{content:'\f2a3'}.zmdi-keyboard:before{content:'\f2a4'}.zmdi-laptop-chromebook:before{content:'\f2a5'}.zmdi-laptop-mac:before{content:'\f2a6'}.zmdi-laptop:before{content:'\f2a7'}.zmdi-mic-off:before{content:'\f2a8'}.zmdi-mic-outline:before{content:'\f2a9'}.zmdi-mic-setting:before{content:'\f2aa'}.zmdi-mic:before{content:'\f2ab'}.zmdi-mouse:before{content:'\f2ac'}.zmdi-network-alert:before{content:'\f2ad'}.zmdi-network-locked:before{content:'\f2ae'}.zmdi-network-off:before{content:'\f2af'}.zmdi-network-outline:before{content:'\f2b0'}.zmdi-network-setting:before{content:'\f2b1'}.zmdi-network:before{content:'\f2b2'}.zmdi-phone-bluetooth:before{content:'\f2b3'}.zmdi-phone-end:before{content:'\f2b4'}.zmdi-phone-forwarded:before{content:'\f2b5'}.zmdi-phone-in-talk:before{content:'\f2b6'}.zmdi-phone-locked:before{content:'\f2b7'}.zmdi-phone-missed:before{content:'\f2b8'}.zmdi-phone-msg:before{content:'\f2b9'}.zmdi-phone-paused:before{content:'\f2ba'}.zmdi-phone-ring:before{content:'\f2bb'}.zmdi-phone-setting:before{content:'\f2bc'}.zmdi-phone-sip:before{content:'\f2bd'}.zmdi-phone:before{content:'\f2be'}.zmdi-portable-wifi-changes:before{content:'\f2bf'}.zmdi-portable-wifi-off:before{content:'\f2c0'}.zmdi-portable-wifi:before{content:'\f2c1'}.zmdi-radio:before{content:'\f2c2'}.zmdi-reader:before{content:'\f2c3'}.zmdi-remote-control-alt:before{content:'\f2c4'}.zmdi-remote-control:before{content:'\f2c5'}.zmdi-router:before{content:'\f2c6'}.zmdi-scanner:before{content:'\f2c7'}.zmdi-smartphone-android:before{content:'\f2c8'}.zmdi-smartphone-download:before{content:'\f2c9'}.zmdi-smartphone-erase:before{content:'\f2ca'}.zmdi-smartphone-info:before{content:'\f2cb'}.zmdi-smartphone-iphone:before{content:'\f2cc'}.zmdi-smartphone-landscape-lock:before{content:'\f2cd'}.zmdi-smartphone-landscape:before{content:'\f2ce'}.zmdi-smartphone-lock:before{content:'\f2cf'}.zmdi-smartphone-portrait-lock:before{content:'\f2d0'}.zmdi-smartphone-ring:before{content:'\f2d1'}.zmdi-smartphone-setting:before{content:'\f2d2'}.zmdi-smartphone-setup:before{content:'\f2d3'}.zmdi-smartphone:before{content:'\f2d4'}.zmdi-speaker:before{content:'\f2d5'}.zmdi-tablet-android:before{content:'\f2d6'}.zmdi-tablet-mac:before{content:'\f2d7'}.zmdi-tablet:before{content:'\f2d8'}.zmdi-tv-alt-play:before{content:'\f2d9'}.zmdi-tv-list:before{content:'\f2da'}.zmdi-tv-play:before{content:'\f2db'}.zmdi-tv:before{content:'\f2dc'}.zmdi-usb:before{content:'\f2dd'}.zmdi-videocam-off:before{content:'\f2de'}.zmdi-videocam-switch:before{content:'\f2df'}.zmdi-videocam:before{content:'\f2e0'}.zmdi-watch:before{content:'\f2e1'}.zmdi-wifi-alt-2:before{content:'\f2e2'}.zmdi-wifi-alt:before{content:'\f2e3'}.zmdi-wifi-info:before{content:'\f2e4'}.zmdi-wifi-lock:before{content:'\f2e5'}.zmdi-wifi-off:before{content:'\f2e6'}.zmdi-wifi-outline:before{content:'\f2e7'}.zmdi-wifi:before{content:'\f2e8'}.zmdi-arrow-left-bottom:before{content:'\f2e9'}.zmdi-arrow-left:before{content:'\f2ea'}.zmdi-arrow-merge:before{content:'\f2eb'}.zmdi-arrow-missed:before{content:'\f2ec'}.zmdi-arrow-right-top:before{content:'\f2ed'}.zmdi-arrow-right:before{content:'\f2ee'}.zmdi-arrow-split:before{content:'\f2ef'}.zmdi-arrows:before{content:'\f2f0'}.zmdi-caret-down-circle:before{content:'\f2f1'}.zmdi-caret-down:before{content:'\f2f2'}.zmdi-caret-left-circle:before{content:'\f2f3'}.zmdi-caret-left:before{content:'\f2f4'}.zmdi-caret-right-circle:before{content:'\f2f5'}.zmdi-caret-right:before{content:'\f2f6'}.zmdi-caret-up-circle:before{content:'\f2f7'}.zmdi-caret-up:before{content:'\f2f8'}.zmdi-chevron-down:before{content:'\f2f9'}.zmdi-chevron-left:before{content:'\f2fa'}.zmdi-chevron-right:before{content:'\f2fb'}.zmdi-chevron-up:before{content:'\f2fc'}.zmdi-forward:before{content:'\f2fd'}.zmdi-long-arrow-down:before{content:'\f2fe'}.zmdi-long-arrow-left:before{content:'\f2ff'}.zmdi-long-arrow-return:before{content:'\f300'}.zmdi-long-arrow-right:before{content:'\f301'}.zmdi-long-arrow-tab:before{content:'\f302'}.zmdi-long-arrow-up:before{content:'\f303'}.zmdi-rotate-ccw:before{content:'\f304'}.zmdi-rotate-cw:before{content:'\f305'}.zmdi-rotate-left:before{content:'\f306'}.zmdi-rotate-right:before{content:'\f307'}.zmdi-square-down:before{content:'\f308'}.zmdi-square-right:before{content:'\f309'}.zmdi-swap-alt:before{content:'\f30a'}.zmdi-swap-vertical-circle:before{content:'\f30b'}.zmdi-swap-vertical:before{content:'\f30c'}.zmdi-swap:before{content:'\f30d'}.zmdi-trending-down:before{content:'\f30e'}.zmdi-trending-flat:before{content:'\f30f'}.zmdi-trending-up:before{content:'\f310'}.zmdi-unfold-less:before{content:'\f311'}.zmdi-unfold-more:before{content:'\f312'}.zmdi-apps:before{content:'\f313'}.zmdi-grid-off:before{content:'\f314'}.zmdi-grid:before{content:'\f315'}.zmdi-view-agenda:before{content:'\f316'}.zmdi-view-array:before{content:'\f317'}.zmdi-view-carousel:before{content:'\f318'}.zmdi-view-column:before{content:'\f319'}.zmdi-view-comfy:before{content:'\f31a'}.zmdi-view-compact:before{content:'\f31b'}.zmdi-view-dashboard:before{content:'\f31c'}.zmdi-view-day:before{content:'\f31d'}.zmdi-view-headline:before{content:'\f31e'}.zmdi-view-list-alt:before{content:'\f31f'}.zmdi-view-list:before{content:'\f320'}.zmdi-view-module:before{content:'\f321'}.zmdi-view-quilt:before{content:'\f322'}.zmdi-view-stream:before{content:'\f323'}.zmdi-view-subtitles:before{content:'\f324'}.zmdi-view-toc:before{content:'\f325'}.zmdi-view-web:before{content:'\f326'}.zmdi-view-week:before{content:'\f327'}.zmdi-widgets:before{content:'\f328'}.zmdi-alarm-check:before{content:'\f329'}.zmdi-alarm-off:before{content:'\f32a'}.zmdi-alarm-plus:before{content:'\f32b'}.zmdi-alarm-snooze:before{content:'\f32c'}.zmdi-alarm:before{content:'\f32d'}.zmdi-calendar-alt:before{content:'\f32e'}.zmdi-calendar-check:before{content:'\f32f'}.zmdi-calendar-close:before{content:'\f330'}.zmdi-calendar-note:before{content:'\f331'}.zmdi-calendar:before{content:'\f332'}.zmdi-time-countdown:before{content:'\f333'}.zmdi-time-interval:before{content:'\f334'}.zmdi-time-restore-setting:before{content:'\f335'}.zmdi-time-restore:before{content:'\f336'}.zmdi-time:before{content:'\f337'}.zmdi-timer-off:before{content:'\f338'}.zmdi-timer:before{content:'\f339'}.zmdi-android-alt:before{content:'\f33a'}.zmdi-android:before{content:'\f33b'}.zmdi-apple:before{content:'\f33c'}.zmdi-behance:before{content:'\f33d'}.zmdi-codepen:before{content:'\f33e'}.zmdi-dribbble:before{content:'\f33f'}.zmdi-dropbox:before{content:'\f340'}.zmdi-evernote:before{content:'\f341'}.zmdi-facebook-box:before{content:'\f342'}.zmdi-facebook:before{content:'\f343'}.zmdi-github-box:before{content:'\f344'}.zmdi-github:before{content:'\f345'}.zmdi-google-drive:before{content:'\f346'}.zmdi-google-earth:before{content:'\f347'}.zmdi-google-glass:before{content:'\f348'}.zmdi-google-maps:before{content:'\f349'}.zmdi-google-pages:before{content:'\f34a'}.zmdi-google-play:before{content:'\f34b'}.zmdi-google-plus-box:before{content:'\f34c'}.zmdi-google-plus:before{content:'\f34d'}.zmdi-google:before{content:'\f34e'}.zmdi-instagram:before{content:'\f34f'}.zmdi-language-css3:before{content:'\f350'}.zmdi-language-html5:before{content:'\f351'}.zmdi-language-javascript:before{content:'\f352'}.zmdi-language-python-alt:before{content:'\f353'}.zmdi-language-python:before{content:'\f354'}.zmdi-lastfm:before{content:'\f355'}.zmdi-linkedin-box:before{content:'\f356'}.zmdi-paypal:before{content:'\f357'}.zmdi-pinterest-box:before{content:'\f358'}.zmdi-pocket:before{content:'\f359'}.zmdi-polymer:before{content:'\f35a'}.zmdi-share:before{content:'\f35b'}.zmdi-stackoverflow:before{content:'\f35c'}.zmdi-steam-square:before{content:'\f35d'}.zmdi-steam:before{content:'\f35e'}.zmdi-twitter-box:before{content:'\f35f'}.zmdi-twitter:before{content:'\f360'}.zmdi-vk:before{content:'\f361'}.zmdi-wikipedia:before{content:'\f362'}.zmdi-windows:before{content:'\f363'}.zmdi-aspect-ratio-alt:before{content:'\f364'}.zmdi-aspect-ratio:before{content:'\f365'}.zmdi-blur-circular:before{content:'\f366'}.zmdi-blur-linear:before{content:'\f367'}.zmdi-blur-off:before{content:'\f368'}.zmdi-blur:before{content:'\f369'}.zmdi-brightness-2:before{content:'\f36a'}.zmdi-brightness-3:before{content:'\f36b'}.zmdi-brightness-4:before{content:'\f36c'}.zmdi-brightness-5:before{content:'\f36d'}.zmdi-brightness-6:before{content:'\f36e'}.zmdi-brightness-7:before{content:'\f36f'}.zmdi-brightness-auto:before{content:'\f370'}.zmdi-brightness-setting:before{content:'\f371'}.zmdi-broken-image:before{content:'\f372'}.zmdi-center-focus-strong:before{content:'\f373'}.zmdi-center-focus-weak:before{content:'\f374'}.zmdi-compare:before{content:'\f375'}.zmdi-crop-16-9:before{content:'\f376'}.zmdi-crop-3-2:before{content:'\f377'}.zmdi-crop-5-4:before{content:'\f378'}.zmdi-crop-7-5:before{content:'\f379'}.zmdi-crop-din:before{content:'\f37a'}.zmdi-crop-free:before{content:'\f37b'}.zmdi-crop-landscape:before{content:'\f37c'}.zmdi-crop-portrait:before{content:'\f37d'}.zmdi-crop-square:before{content:'\f37e'}.zmdi-exposure-alt:before{content:'\f37f'}.zmdi-exposure:before{content:'\f380'}.zmdi-filter-b-and-w:before{content:'\f381'}.zmdi-filter-center-focus:before{content:'\f382'}.zmdi-filter-frames:before{content:'\f383'}.zmdi-filter-tilt-shift:before{content:'\f384'}.zmdi-gradient:before{content:'\f385'}.zmdi-grain:before{content:'\f386'}.zmdi-graphic-eq:before{content:'\f387'}.zmdi-hdr-off:before{content:'\f388'}.zmdi-hdr-strong:before{content:'\f389'}.zmdi-hdr-weak:before{content:'\f38a'}.zmdi-hdr:before{content:'\f38b'}.zmdi-iridescent:before{content:'\f38c'}.zmdi-leak-off:before{content:'\f38d'}.zmdi-leak:before{content:'\f38e'}.zmdi-looks:before{content:'\f38f'}.zmdi-loupe:before{content:'\f390'}.zmdi-panorama-horizontal:before{content:'\f391'}.zmdi-panorama-vertical:before{content:'\f392'}.zmdi-panorama-wide-angle:before{content:'\f393'}.zmdi-photo-size-select-large:before{content:'\f394'}.zmdi-photo-size-select-small:before{content:'\f395'}.zmdi-picture-in-picture:before{content:'\f396'}.zmdi-slideshow:before{content:'\f397'}.zmdi-texture:before{content:'\f398'}.zmdi-tonality:before{content:'\f399'}.zmdi-vignette:before{content:'\f39a'}.zmdi-wb-auto:before{content:'\f39b'}.zmdi-eject-alt:before{content:'\f39c'}.zmdi-eject:before{content:'\f39d'}.zmdi-equalizer:before{content:'\f39e'}.zmdi-fast-forward:before{content:'\f39f'}.zmdi-fast-rewind:before{content:'\f3a0'}.zmdi-forward-10:before{content:'\f3a1'}.zmdi-forward-30:before{content:'\f3a2'}.zmdi-forward-5:before{content:'\f3a3'}.zmdi-hearing:before{content:'\f3a4'}.zmdi-pause-circle-outline:before{content:'\f3a5'}.zmdi-pause-circle:before{content:'\f3a6'}.zmdi-pause:before{content:'\f3a7'}.zmdi-play-circle-outline:before{content:'\f3a8'}.zmdi-play-circle:before{content:'\f3a9'}.zmdi-play:before{content:'\f3aa'}.zmdi-playlist-audio:before{content:'\f3ab'}.zmdi-playlist-plus:before{content:'\f3ac'}.zmdi-repeat-one:before{content:'\f3ad'}.zmdi-repeat:before{content:'\f3ae'}.zmdi-replay-10:before{content:'\f3af'}.zmdi-replay-30:before{content:'\f3b0'}.zmdi-replay-5:before{content:'\f3b1'}.zmdi-replay:before{content:'\f3b2'}.zmdi-shuffle:before{content:'\f3b3'}.zmdi-skip-next:before{content:'\f3b4'}.zmdi-skip-previous:before{content:'\f3b5'}.zmdi-stop:before{content:'\f3b6'}.zmdi-surround-sound:before{content:'\f3b7'}.zmdi-tune:before{content:'\f3b8'}.zmdi-volume-down:before{content:'\f3b9'}.zmdi-volume-mute:before{content:'\f3ba'}.zmdi-volume-off:before{content:'\f3bb'}.zmdi-volume-up:before{content:'\f3bc'}.zmdi-n-1-square:before{content:'\f3bd'}.zmdi-n-2-square:before{content:'\f3be'}.zmdi-n-3-square:before{content:'\f3bf'}.zmdi-n-4-square:before{content:'\f3c0'}.zmdi-n-5-square:before{content:'\f3c1'}.zmdi-n-6-square:before{content:'\f3c2'}.zmdi-neg-1:before{content:'\f3c3'}.zmdi-neg-2:before{content:'\f3c4'}.zmdi-plus-1:before{content:'\f3c5'}.zmdi-plus-2:before{content:'\f3c6'}.zmdi-sec-10:before{content:'\f3c7'}.zmdi-sec-3:before{content:'\f3c8'}.zmdi-zero:before{content:'\f3c9'}.zmdi-airline-seat-flat-angled:before{content:'\f3ca'}.zmdi-airline-seat-flat:before{content:'\f3cb'}.zmdi-airline-seat-individual-suite:before{content:'\f3cc'}.zmdi-airline-seat-legroom-extra:before{content:'\f3cd'}.zmdi-airline-seat-legroom-normal:before{content:'\f3ce'}.zmdi-airline-seat-legroom-reduced:before{content:'\f3cf'}.zmdi-airline-seat-recline-extra:before{content:'\f3d0'}.zmdi-airline-seat-recline-normal:before{content:'\f3d1'}.zmdi-airplay:before{content:'\f3d2'}.zmdi-closed-caption:before{content:'\f3d3'}.zmdi-confirmation-number:before{content:'\f3d4'}.zmdi-developer-board:before{content:'\f3d5'}.zmdi-disc-full:before{content:'\f3d6'}.zmdi-explicit:before{content:'\f3d7'}.zmdi-flight-land:before{content:'\f3d8'}.zmdi-flight-takeoff:before{content:'\f3d9'}.zmdi-flip-to-back:before{content:'\f3da'}.zmdi-flip-to-front:before{content:'\f3db'}.zmdi-group-work:before{content:'\f3dc'}.zmdi-hd:before{content:'\f3dd'}.zmdi-hq:before{content:'\f3de'}.zmdi-markunread-mailbox:before{content:'\f3df'}.zmdi-memory:before{content:'\f3e0'}.zmdi-nfc:before{content:'\f3e1'}.zmdi-play-for-work:before{content:'\f3e2'}.zmdi-power-input:before{content:'\f3e3'}.zmdi-present-to-all:before{content:'\f3e4'}.zmdi-satellite:before{content:'\f3e5'}.zmdi-tap-and-play:before{content:'\f3e6'}.zmdi-vibration:before{content:'\f3e7'}.zmdi-voicemail:before{content:'\f3e8'}.zmdi-group:before{content:'\f3e9'}.zmdi-rss:before{content:'\f3ea'}.zmdi-shape:before{content:'\f3eb'}.zmdi-spinner:before{content:'\f3ec'}.zmdi-ungroup:before{content:'\f3ed'}.zmdi-500px:before{content:'\f3ee'}.zmdi-8tracks:before{content:'\f3ef'}.zmdi-amazon:before{content:'\f3f0'}.zmdi-blogger:before{content:'\f3f1'}.zmdi-delicious:before{content:'\f3f2'}.zmdi-disqus:before{content:'\f3f3'}.zmdi-flattr:before{content:'\f3f4'}.zmdi-flickr:before{content:'\f3f5'}.zmdi-github-alt:before{content:'\f3f6'}.zmdi-google-old:before{content:'\f3f7'}.zmdi-linkedin:before{content:'\f3f8'}.zmdi-odnoklassniki:before{content:'\f3f9'}.zmdi-outlook:before{content:'\f3fa'}.zmdi-paypal-alt:before{content:'\f3fb'}.zmdi-pinterest:before{content:'\f3fc'}.zmdi-playstation:before{content:'\f3fd'}.zmdi-reddit:before{content:'\f3fe'}.zmdi-skype:before{content:'\f3ff'}.zmdi-slideshare:before{content:'\f400'}.zmdi-soundcloud:before{content:'\f401'}.zmdi-tumblr:before{content:'\f402'}.zmdi-twitch:before{content:'\f403'}.zmdi-vimeo:before{content:'\f404'}.zmdi-whatsapp:before{content:'\f405'}.zmdi-xbox:before{content:'\f406'}.zmdi-yahoo:before{content:'\f407'}.zmdi-youtube-play:before{content:'\f408'}.zmdi-youtube:before{content:'\f409'}.zmdi-3d-rotation:before{content:'\f101'}.zmdi-airplane-off:before{content:'\f102'}.zmdi-airplane:before{content:'\f103'}.zmdi-album:before{content:'\f104'}.zmdi-archive:before{content:'\f105'}.zmdi-assignment-account:before{content:'\f106'}.zmdi-assignment-alert:before{content:'\f107'}.zmdi-assignment-check:before{content:'\f108'}.zmdi-assignment-o:before{content:'\f109'}.zmdi-assignment-return:before{content:'\f10a'}.zmdi-assignment-returned:before{content:'\f10b'}.zmdi-assignment:before{content:'\f10c'}.zmdi-attachment-alt:before{content:'\f10d'}.zmdi-attachment:before{content:'\f10e'}.zmdi-audio:before{content:'\f10f'}.zmdi-badge-check:before{content:'\f110'}.zmdi-balance-wallet:before{content:'\f111'}.zmdi-balance:before{content:'\f112'}.zmdi-battery-alert:before{content:'\f113'}.zmdi-battery-flash:before{content:'\f114'}.zmdi-battery-unknown:before{content:'\f115'}.zmdi-battery:before{content:'\f116'}.zmdi-bike:before{content:'\f117'}.zmdi-block-alt:before{content:'\f118'}.zmdi-block:before{content:'\f119'}.zmdi-boat:before{content:'\f11a'}.zmdi-book-image:before{content:'\f11b'}.zmdi-book:before{content:'\f11c'}.zmdi-bookmark-outline:before{content:'\f11d'}.zmdi-bookmark:before{content:'\f11e'}.zmdi-brush:before{content:'\f11f'}.zmdi-bug:before{content:'\f120'}.zmdi-bus:before{content:'\f121'}.zmdi-cake:before{content:'\f122'}.zmdi-car-taxi:before{content:'\f123'}.zmdi-car-wash:before{content:'\f124'}.zmdi-car:before{content:'\f125'}.zmdi-card-giftcard:before{content:'\f126'}.zmdi-card-membership:before{content:'\f127'}.zmdi-card-travel:before{content:'\f128'}.zmdi-card:before{content:'\f129'}.zmdi-case-check:before{content:'\f12a'}.zmdi-case-download:before{content:'\f12b'}.zmdi-case-play:before{content:'\f12c'}.zmdi-case:before{content:'\f12d'}.zmdi-cast-connected:before{content:'\f12e'}.zmdi-cast:before{content:'\f12f'}.zmdi-chart-donut:before{content:'\f130'}.zmdi-chart:before{content:'\f131'}.zmdi-city-alt:before{content:'\f132'}.zmdi-city:before{content:'\f133'}.zmdi-close-circle-o:before{content:'\f134'}.zmdi-close-circle:before{content:'\f135'}.zmdi-close:before{content:'\f136'}.zmdi-cocktail:before{content:'\f137'}.zmdi-code-setting:before{content:'\f138'}.zmdi-code-smartphone:before{content:'\f139'}.zmdi-code:before{content:'\f13a'}.zmdi-coffee:before{content:'\f13b'}.zmdi-collection-bookmark:before{content:'\f13c'}.zmdi-collection-case-play:before{content:'\f13d'}.zmdi-collection-folder-image:before{content:'\f13e'}.zmdi-collection-image-o:before{content:'\f13f'}.zmdi-collection-image:before{content:'\f140'}.zmdi-collection-item-1:before{content:'\f141'}.zmdi-collection-item-2:before{content:'\f142'}.zmdi-collection-item-3:before{content:'\f143'}.zmdi-collection-item-4:before{content:'\f144'}.zmdi-collection-item-5:before{content:'\f145'}.zmdi-collection-item-6:before{content:'\f146'}.zmdi-collection-item-7:before{content:'\f147'}.zmdi-collection-item-8:before{content:'\f148'}.zmdi-collection-item-9-plus:before{content:'\f149'}.zmdi-collection-item-9:before{content:'\f14a'}.zmdi-collection-item:before{content:'\f14b'}.zmdi-collection-music:before{content:'\f14c'}.zmdi-collection-pdf:before{content:'\f14d'}.zmdi-collection-plus:before{content:'\f14e'}.zmdi-collection-speaker:before{content:'\f14f'}.zmdi-collection-text:before{content:'\f150'}.zmdi-collection-video:before{content:'\f151'}.zmdi-compass:before{content:'\f152'}.zmdi-cutlery:before{content:'\f153'}.zmdi-delete:before{content:'\f154'}.zmdi-dialpad:before{content:'\f155'}.zmdi-dns:before{content:'\f156'}.zmdi-drink:before{content:'\f157'}.zmdi-edit:before{content:'\f158'}.zmdi-email-open:before{content:'\f159'}.zmdi-email:before{content:'\f15a'}.zmdi-eye-off:before{content:'\f15b'}.zmdi-eye:before{content:'\f15c'}.zmdi-eyedropper:before{content:'\f15d'}.zmdi-favorite-outline:before{content:'\f15e'}.zmdi-favorite:before{content:'\f15f'}.zmdi-filter-list:before{content:'\f160'}.zmdi-fire:before{content:'\f161'}.zmdi-flag:before{content:'\f162'}.zmdi-flare:before{content:'\f163'}.zmdi-flash-auto:before{content:'\f164'}.zmdi-flash-off:before{content:'\f165'}.zmdi-flash:before{content:'\f166'}.zmdi-flip:before{content:'\f167'}.zmdi-flower-alt:before{content:'\f168'}.zmdi-flower:before{content:'\f169'}.zmdi-font:before{content:'\f16a'}.zmdi-fullscreen-alt:before{content:'\f16b'}.zmdi-fullscreen-exit:before{content:'\f16c'}.zmdi-fullscreen:before{content:'\f16d'}.zmdi-functions:before{content:'\f16e'}.zmdi-gas-station:before{content:'\f16f'}.zmdi-gesture:before{content:'\f170'}.zmdi-globe-alt:before{content:'\f171'}.zmdi-globe-lock:before{content:'\f172'}.zmdi-globe:before{content:'\f173'}.zmdi-graduation-cap:before{content:'\f174'}.zmdi-home:before{content:'\f175'}.zmdi-hospital-alt:before{content:'\f176'}.zmdi-hospital:before{content:'\f177'}.zmdi-hotel:before{content:'\f178'}.zmdi-hourglass-alt:before{content:'\f179'}.zmdi-hourglass-outline:before{content:'\f17a'}.zmdi-hourglass:before{content:'\f17b'}.zmdi-http:before{content:'\f17c'}.zmdi-image-alt:before{content:'\f17d'}.zmdi-image-o:before{content:'\f17e'}.zmdi-image:before{content:'\f17f'}.zmdi-inbox:before{content:'\f180'}.zmdi-invert-colors-off:before{content:'\f181'}.zmdi-invert-colors:before{content:'\f182'}.zmdi-key:before{content:'\f183'}.zmdi-label-alt-outline:before{content:'\f184'}.zmdi-label-alt:before{content:'\f185'}.zmdi-label-heart:before{content:'\f186'}.zmdi-label:before{content:'\f187'}.zmdi-labels:before{content:'\f188'}.zmdi-lamp:before{content:'\f189'}.zmdi-landscape:before{content:'\f18a'}.zmdi-layers-off:before{content:'\f18b'}.zmdi-layers:before{content:'\f18c'}.zmdi-library:before{content:'\f18d'}.zmdi-link:before{content:'\f18e'}.zmdi-lock-open:before{content:'\f18f'}.zmdi-lock-outline:before{content:'\f190'}.zmdi-lock:before{content:'\f191'}.zmdi-mail-reply-all:before{content:'\f192'}.zmdi-mail-reply:before{content:'\f193'}.zmdi-mail-send:before{content:'\f194'}.zmdi-mall:before{content:'\f195'}.zmdi-map:before{content:'\f196'}.zmdi-menu:before{content:'\f197'}.zmdi-money-box:before{content:'\f198'}.zmdi-money-off:before{content:'\f199'}.zmdi-money:before{content:'\f19a'}.zmdi-more-vert:before{content:'\f19b'}.zmdi-more:before{content:'\f19c'}.zmdi-movie-alt:before{content:'\f19d'}.zmdi-movie:before{content:'\f19e'}.zmdi-nature-people:before{content:'\f19f'}.zmdi-nature:before{content:'\f1a0'}.zmdi-navigation:before{content:'\f1a1'}.zmdi-open-in-browser:before{content:'\f1a2'}.zmdi-open-in-new:before{content:'\f1a3'}.zmdi-palette:before{content:'\f1a4'}.zmdi-parking:before{content:'\f1a5'}.zmdi-pin-account:before{content:'\f1a6'}.zmdi-pin-assistant:before{content:'\f1a7'}.zmdi-pin-drop:before{content:'\f1a8'}.zmdi-pin-help:before{content:'\f1a9'}.zmdi-pin-off:before{content:'\f1aa'}.zmdi-pin:before{content:'\f1ab'}.zmdi-pizza:before{content:'\f1ac'}.zmdi-plaster:before{content:'\f1ad'}.zmdi-power-setting:before{content:'\f1ae'}.zmdi-power:before{content:'\f1af'}.zmdi-print:before{content:'\f1b0'}.zmdi-puzzle-piece:before{content:'\f1b1'}.zmdi-quote:before{content:'\f1b2'}.zmdi-railway:before{content:'\f1b3'}.zmdi-receipt:before{content:'\f1b4'}.zmdi-refresh-alt:before{content:'\f1b5'}.zmdi-refresh-sync-alert:before{content:'\f1b6'}.zmdi-refresh-sync-off:before{content:'\f1b7'}.zmdi-refresh-sync:before{content:'\f1b8'}.zmdi-refresh:before{content:'\f1b9'}.zmdi-roller:before{content:'\f1ba'}.zmdi-ruler:before{content:'\f1bb'}.zmdi-scissors:before{content:'\f1bc'}.zmdi-screen-rotation-lock:before{content:'\f1bd'}.zmdi-screen-rotation:before{content:'\f1be'}.zmdi-search-for:before{content:'\f1bf'}.zmdi-search-in-file:before{content:'\f1c0'}.zmdi-search-in-page:before{content:'\f1c1'}.zmdi-search-replace:before{content:'\f1c2'}.zmdi-search:before{content:'\f1c3'}.zmdi-seat:before{content:'\f1c4'}.zmdi-settings-square:before{content:'\f1c5'}.zmdi-settings:before{content:'\f1c6'}.zmdi-shield-check:before{content:'\f1c7'}.zmdi-shield-security:before{content:'\f1c8'}.zmdi-shopping-basket:before{content:'\f1c9'}.zmdi-shopping-cart-plus:before{content:'\f1ca'}.zmdi-shopping-cart:before{content:'\f1cb'}.zmdi-sign-in:before{content:'\f1cc'}.zmdi-sort-amount-asc:before{content:'\f1cd'}.zmdi-sort-amount-desc:before{content:'\f1ce'}.zmdi-sort-asc:before{content:'\f1cf'}.zmdi-sort-desc:before{content:'\f1d0'}.zmdi-spellcheck:before{content:'\f1d1'}.zmdi-storage:before{content:'\f1d2'}.zmdi-store-24:before{content:'\f1d3'}.zmdi-store:before{content:'\f1d4'}.zmdi-subway:before{content:'\f1d5'}.zmdi-sun:before{content:'\f1d6'}.zmdi-tab-unselected:before{content:'\f1d7'}.zmdi-tab:before{content:'\f1d8'}.zmdi-tag-close:before{content:'\f1d9'}.zmdi-tag-more:before{content:'\f1da'}.zmdi-tag:before{content:'\f1db'}.zmdi-thumb-down:before{content:'\f1dc'}.zmdi-thumb-up-down:before{content:'\f1dd'}.zmdi-thumb-up:before{content:'\f1de'}.zmdi-ticket-star:before{content:'\f1df'}.zmdi-toll:before{content:'\f1e0'}.zmdi-toys:before{content:'\f1e1'}.zmdi-traffic:before{content:'\f1e2'}.zmdi-translate:before{content:'\f1e3'}.zmdi-triangle-down:before{content:'\f1e4'}.zmdi-triangle-up:before{content:'\f1e5'}.zmdi-truck:before{content:'\f1e6'}.zmdi-turning-sign:before{content:'\f1e7'}.zmdi-wallpaper:before{content:'\f1e8'}.zmdi-washing-machine:before{content:'\f1e9'}.zmdi-window-maximize:before{content:'\f1ea'}.zmdi-window-minimize:before{content:'\f1eb'}.zmdi-window-restore:before{content:'\f1ec'}.zmdi-wrench:before{content:'\f1ed'}.zmdi-zoom-in:before{content:'\f1ee'}.zmdi-zoom-out:before{content:'\f1ef'}.zmdi-alert-circle-o:before{content:'\f1f0'}.zmdi-alert-circle:before{content:'\f1f1'}.zmdi-alert-octagon:before{content:'\f1f2'}.zmdi-alert-polygon:before{content:'\f1f3'}.zmdi-alert-triangle:before{content:'\f1f4'}.zmdi-help-outline:before{content:'\f1f5'}.zmdi-help:before{content:'\f1f6'}.zmdi-info-outline:before{content:'\f1f7'}.zmdi-info:before{content:'\f1f8'}.zmdi-notifications-active:before{content:'\f1f9'}.zmdi-notifications-add:before{content:'\f1fa'}.zmdi-notifications-none:before{content:'\f1fb'}.zmdi-notifications-off:before{content:'\f1fc'}.zmdi-notifications-paused:before{content:'\f1fd'}.zmdi-notifications:before{content:'\f1fe'}.zmdi-account-add:before{content:'\f1ff'}.zmdi-account-box-mail:before{content:'\f200'}.zmdi-account-box-o:before{content:'\f201'}.zmdi-account-box-phone:before{content:'\f202'}.zmdi-account-box:before{content:'\f203'}.zmdi-account-calendar:before{content:'\f204'}.zmdi-account-circle:before{content:'\f205'}.zmdi-account-o:before{content:'\f206'}.zmdi-account:before{content:'\f207'}.zmdi-accounts-add:before{content:'\f208'}.zmdi-accounts-alt:before{content:'\f209'}.zmdi-accounts-list-alt:before{content:'\f20a'}.zmdi-accounts-list:before{content:'\f20b'}.zmdi-accounts-outline:before{content:'\f20c'}.zmdi-accounts:before{content:'\f20d'}.zmdi-face:before{content:'\f20e'}.zmdi-female:before{content:'\f20f'}.zmdi-male-alt:before{content:'\f210'}.zmdi-male-female:before{content:'\f211'}.zmdi-male:before{content:'\f212'}.zmdi-mood-bad:before{content:'\f213'}.zmdi-mood:before{content:'\f214'}.zmdi-run:before{content:'\f215'}.zmdi-walk:before{content:'\f216'}.zmdi-cloud-box:before{content:'\f217'}.zmdi-cloud-circle:before{content:'\f218'}.zmdi-cloud-done:before{content:'\f219'}.zmdi-cloud-download:before{content:'\f21a'}.zmdi-cloud-off:before{content:'\f21b'}.zmdi-cloud-outline-alt:before{content:'\f21c'}.zmdi-cloud-outline:before{content:'\f21d'}.zmdi-cloud-upload:before{content:'\f21e'}.zmdi-cloud:before{content:'\f21f'}.zmdi-download:before{content:'\f220'}.zmdi-file-plus:before{content:'\f221'}.zmdi-file-text:before{content:'\f222'}.zmdi-file:before{content:'\f223'}.zmdi-folder-outline:before{content:'\f224'}.zmdi-folder-person:before{content:'\f225'}.zmdi-folder-star-alt:before{content:'\f226'}.zmdi-folder-star:before{content:'\f227'}.zmdi-folder:before{content:'\f228'}.zmdi-gif:before{content:'\f229'}.zmdi-upload:before{content:'\f22a'}.zmdi-border-all:before{content:'\f22b'}.zmdi-border-bottom:before{content:'\f22c'}.zmdi-border-clear:before{content:'\f22d'}.zmdi-border-color:before{content:'\f22e'}.zmdi-border-horizontal:before{content:'\f22f'}.zmdi-border-inner:before{content:'\f230'}.zmdi-border-left:before{content:'\f231'}.zmdi-border-outer:before{content:'\f232'}.zmdi-border-right:before{content:'\f233'}.zmdi-border-style:before{content:'\f234'}.zmdi-border-top:before{content:'\f235'}.zmdi-border-vertical:before{content:'\f236'}.zmdi-copy:before{content:'\f237'}.zmdi-crop:before{content:'\f238'}.zmdi-format-align-center:before{content:'\f239'}.zmdi-format-align-justify:before{content:'\f23a'}.zmdi-format-align-left:before{content:'\f23b'}.zmdi-format-align-right:before{content:'\f23c'}.zmdi-format-bold:before{content:'\f23d'}.zmdi-format-clear-all:before{content:'\f23e'}.zmdi-format-clear:before{content:'\f23f'}.zmdi-format-color-fill:before{content:'\f240'}.zmdi-format-color-reset:before{content:'\f241'}.zmdi-format-color-text:before{content:'\f242'}.zmdi-format-indent-decrease:before{content:'\f243'}.zmdi-format-indent-increase:before{content:'\f244'}.zmdi-format-italic:before{content:'\f245'}.zmdi-format-line-spacing:before{content:'\f246'}.zmdi-format-list-bulleted:before{content:'\f247'}.zmdi-format-list-numbered:before{content:'\f248'}.zmdi-format-ltr:before{content:'\f249'}.zmdi-format-rtl:before{content:'\f24a'}.zmdi-format-size:before{content:'\f24b'}.zmdi-format-strikethrough-s:before{content:'\f24c'}.zmdi-format-strikethrough:before{content:'\f24d'}.zmdi-format-subject:before{content:'\f24e'}.zmdi-format-underlined:before{content:'\f24f'}.zmdi-format-valign-bottom:before{content:'\f250'}.zmdi-format-valign-center:before{content:'\f251'}.zmdi-format-valign-top:before{content:'\f252'}.zmdi-redo:before{content:'\f253'}.zmdi-select-all:before{content:'\f254'}.zmdi-space-bar:before{content:'\f255'}.zmdi-text-format:before{content:'\f256'}.zmdi-transform:before{content:'\f257'}.zmdi-undo:before{content:'\f258'}.zmdi-wrap-text:before{content:'\f259'}.zmdi-comment-alert:before{content:'\f25a'}.zmdi-comment-alt-text:before{content:'\f25b'}.zmdi-comment-alt:before{content:'\f25c'}.zmdi-comment-edit:before{content:'\f25d'}.zmdi-comment-image:before{content:'\f25e'}.zmdi-comment-list:before{content:'\f25f'}.zmdi-comment-more:before{content:'\f260'}.zmdi-comment-outline:before{content:'\f261'}.zmdi-comment-text-alt:before{content:'\f262'}.zmdi-comment-text:before{content:'\f263'}.zmdi-comment-video:before{content:'\f264'}.zmdi-comment:before{content:'\f265'}.zmdi-comments:before{content:'\f266'}.zmdi-check-all:before{content:'\f267'}.zmdi-check-circle-u:before{content:'\f268'}.zmdi-check-circle:before{content:'\f269'}.zmdi-check-square:before{content:'\f26a'}.zmdi-check:before{content:'\f26b'}.zmdi-circle-o:before{content:'\f26c'}.zmdi-circle:before{content:'\f26d'}.zmdi-dot-circle-alt:before{content:'\f26e'}.zmdi-dot-circle:before{content:'\f26f'}.zmdi-minus-circle-outline:before{content:'\f270'}.zmdi-minus-circle:before{content:'\f271'}.zmdi-minus-square:before{content:'\f272'}.zmdi-minus:before{content:'\f273'}.zmdi-plus-circle-o-duplicate:before{content:'\f274'}.zmdi-plus-circle-o:before{content:'\f275'}.zmdi-plus-circle:before{content:'\f276'}.zmdi-plus-square:before{content:'\f277'}.zmdi-plus:before{content:'\f278'}.zmdi-square-o:before{content:'\f279'}.zmdi-star-circle:before{content:'\f27a'}.zmdi-star-half:before{content:'\f27b'}.zmdi-star-outline:before{content:'\f27c'}.zmdi-star:before{content:'\f27d'}.zmdi-bluetooth-connected:before{content:'\f27e'}.zmdi-bluetooth-off:before{content:'\f27f'}.zmdi-bluetooth-search:before{content:'\f280'}.zmdi-bluetooth-setting:before{content:'\f281'}.zmdi-bluetooth:before{content:'\f282'}.zmdi-camera-add:before{content:'\f283'}.zmdi-camera-alt:before{content:'\f284'}.zmdi-camera-bw:before{content:'\f285'}.zmdi-camera-front:before{content:'\f286'}.zmdi-camera-mic:before{content:'\f287'}.zmdi-camera-party-mode:before{content:'\f288'}.zmdi-camera-rear:before{content:'\f289'}.zmdi-camera-roll:before{content:'\f28a'}.zmdi-camera-switch:before{content:'\f28b'}.zmdi-camera:before{content:'\f28c'}.zmdi-card-alert:before{content:'\f28d'}.zmdi-card-off:before{content:'\f28e'}.zmdi-card-sd:before{content:'\f28f'}.zmdi-card-sim:before{content:'\f290'}.zmdi-desktop-mac:before{content:'\f291'}.zmdi-desktop-windows:before{content:'\f292'}.zmdi-device-hub:before{content:'\f293'}.zmdi-devices-off:before{content:'\f294'}.zmdi-devices:before{content:'\f295'}.zmdi-dock:before{content:'\f296'}.zmdi-floppy:before{content:'\f297'}.zmdi-gamepad:before{content:'\f298'}.zmdi-gps-dot:before{content:'\f299'}.zmdi-gps-off:before{content:'\f29a'}.zmdi-gps:before{content:'\f29b'}.zmdi-headset-mic:before{content:'\f29c'}.zmdi-headset:before{content:'\f29d'}.zmdi-input-antenna:before{content:'\f29e'}.zmdi-input-composite:before{content:'\f29f'}.zmdi-input-hdmi:before{content:'\f2a0'}.zmdi-input-power:before{content:'\f2a1'}.zmdi-input-svideo:before{content:'\f2a2'}.zmdi-keyboard-hide:before{content:'\f2a3'}.zmdi-keyboard:before{content:'\f2a4'}.zmdi-laptop-chromebook:before{content:'\f2a5'}.zmdi-laptop-mac:before{content:'\f2a6'}.zmdi-laptop:before{content:'\f2a7'}.zmdi-mic-off:before{content:'\f2a8'}.zmdi-mic-outline:before{content:'\f2a9'}.zmdi-mic-setting:before{content:'\f2aa'}.zmdi-mic:before{content:'\f2ab'}.zmdi-mouse:before{content:'\f2ac'}.zmdi-network-alert:before{content:'\f2ad'}.zmdi-network-locked:before{content:'\f2ae'}.zmdi-network-off:before{content:'\f2af'}.zmdi-network-outline:before{content:'\f2b0'}.zmdi-network-setting:before{content:'\f2b1'}.zmdi-network:before{content:'\f2b2'}.zmdi-phone-bluetooth:before{content:'\f2b3'}.zmdi-phone-end:before{content:'\f2b4'}.zmdi-phone-forwarded:before{content:'\f2b5'}.zmdi-phone-in-talk:before{content:'\f2b6'}.zmdi-phone-locked:before{content:'\f2b7'}.zmdi-phone-missed:before{content:'\f2b8'}.zmdi-phone-msg:before{content:'\f2b9'}.zmdi-phone-paused:before{content:'\f2ba'}.zmdi-phone-ring:before{content:'\f2bb'}.zmdi-phone-setting:before{content:'\f2bc'}.zmdi-phone-sip:before{content:'\f2bd'}.zmdi-phone:before{content:'\f2be'}.zmdi-portable-wifi-changes:before{content:'\f2bf'}.zmdi-portable-wifi-off:before{content:'\f2c0'}.zmdi-portable-wifi:before{content:'\f2c1'}.zmdi-radio:before{content:'\f2c2'}.zmdi-reader:before{content:'\f2c3'}.zmdi-remote-control-alt:before{content:'\f2c4'}.zmdi-remote-control:before{content:'\f2c5'}.zmdi-router:before{content:'\f2c6'}.zmdi-scanner:before{content:'\f2c7'}.zmdi-smartphone-android:before{content:'\f2c8'}.zmdi-smartphone-download:before{content:'\f2c9'}.zmdi-smartphone-erase:before{content:'\f2ca'}.zmdi-smartphone-info:before{content:'\f2cb'}.zmdi-smartphone-iphone:before{content:'\f2cc'}.zmdi-smartphone-landscape-lock:before{content:'\f2cd'}.zmdi-smartphone-landscape:before{content:'\f2ce'}.zmdi-smartphone-lock:before{content:'\f2cf'}.zmdi-smartphone-portrait-lock:before{content:'\f2d0'}.zmdi-smartphone-ring:before{content:'\f2d1'}.zmdi-smartphone-setting:before{content:'\f2d2'}.zmdi-smartphone-setup:before{content:'\f2d3'}.zmdi-smartphone:before{content:'\f2d4'}.zmdi-speaker:before{content:'\f2d5'}.zmdi-tablet-android:before{content:'\f2d6'}.zmdi-tablet-mac:before{content:'\f2d7'}.zmdi-tablet:before{content:'\f2d8'}.zmdi-tv-alt-play:before{content:'\f2d9'}.zmdi-tv-list:before{content:'\f2da'}.zmdi-tv-play:before{content:'\f2db'}.zmdi-tv:before{content:'\f2dc'}.zmdi-usb:before{content:'\f2dd'}.zmdi-videocam-off:before{content:'\f2de'}.zmdi-videocam-switch:before{content:'\f2df'}.zmdi-videocam:before{content:'\f2e0'}.zmdi-watch:before{content:'\f2e1'}.zmdi-wifi-alt-2:before{content:'\f2e2'}.zmdi-wifi-alt:before{content:'\f2e3'}.zmdi-wifi-info:before{content:'\f2e4'}.zmdi-wifi-lock:before{content:'\f2e5'}.zmdi-wifi-off:before{content:'\f2e6'}.zmdi-wifi-outline:before{content:'\f2e7'}.zmdi-wifi:before{content:'\f2e8'}.zmdi-arrow-left-bottom:before{content:'\f2e9'}.zmdi-arrow-left:before{content:'\f2ea'}.zmdi-arrow-merge:before{content:'\f2eb'}.zmdi-arrow-missed:before{content:'\f2ec'}.zmdi-arrow-right-top:before{content:'\f2ed'}.zmdi-arrow-right:before{content:'\f2ee'}.zmdi-arrow-split:before{content:'\f2ef'}.zmdi-arrows:before{content:'\f2f0'}.zmdi-caret-down-circle:before{content:'\f2f1'}.zmdi-caret-down:before{content:'\f2f2'}.zmdi-caret-left-circle:before{content:'\f2f3'}.zmdi-caret-left:before{content:'\f2f4'}.zmdi-caret-right-circle:before{content:'\f2f5'}.zmdi-caret-right:before{content:'\f2f6'}.zmdi-caret-up-circle:before{content:'\f2f7'}.zmdi-caret-up:before{content:'\f2f8'}.zmdi-chevron-down:before{content:'\f2f9'}.zmdi-chevron-left:before{content:'\f2fa'}.zmdi-chevron-right:before{content:'\f2fb'}.zmdi-chevron-up:before{content:'\f2fc'}.zmdi-forward:before{content:'\f2fd'}.zmdi-long-arrow-down:before{content:'\f2fe'}.zmdi-long-arrow-left:before{content:'\f2ff'}.zmdi-long-arrow-return:before{content:'\f300'}.zmdi-long-arrow-right:before{content:'\f301'}.zmdi-long-arrow-tab:before{content:'\f302'}.zmdi-long-arrow-up:before{content:'\f303'}.zmdi-rotate-ccw:before{content:'\f304'}.zmdi-rotate-cw:before{content:'\f305'}.zmdi-rotate-left:before{content:'\f306'}.zmdi-rotate-right:before{content:'\f307'}.zmdi-square-down:before{content:'\f308'}.zmdi-square-right:before{content:'\f309'}.zmdi-swap-alt:before{content:'\f30a'}.zmdi-swap-vertical-circle:before{content:'\f30b'}.zmdi-swap-vertical:before{content:'\f30c'}.zmdi-swap:before{content:'\f30d'}.zmdi-trending-down:before{content:'\f30e'}.zmdi-trending-flat:before{content:'\f30f'}.zmdi-trending-up:before{content:'\f310'}.zmdi-unfold-less:before{content:'\f311'}.zmdi-unfold-more:before{content:'\f312'}.zmdi-apps:before{content:'\f313'}.zmdi-grid-off:before{content:'\f314'}.zmdi-grid:before{content:'\f315'}.zmdi-view-agenda:before{content:'\f316'}.zmdi-view-array:before{content:'\f317'}.zmdi-view-carousel:before{content:'\f318'}.zmdi-view-column:before{content:'\f319'}.zmdi-view-comfy:before{content:'\f31a'}.zmdi-view-compact:before{content:'\f31b'}.zmdi-view-dashboard:before{content:'\f31c'}.zmdi-view-day:before{content:'\f31d'}.zmdi-view-headline:before{content:'\f31e'}.zmdi-view-list-alt:before{content:'\f31f'}.zmdi-view-list:before{content:'\f320'}.zmdi-view-module:before{content:'\f321'}.zmdi-view-quilt:before{content:'\f322'}.zmdi-view-stream:before{content:'\f323'}.zmdi-view-subtitles:before{content:'\f324'}.zmdi-view-toc:before{content:'\f325'}.zmdi-view-web:before{content:'\f326'}.zmdi-view-week:before{content:'\f327'}.zmdi-widgets:before{content:'\f328'}.zmdi-alarm-check:before{content:'\f329'}.zmdi-alarm-off:before{content:'\f32a'}.zmdi-alarm-plus:before{content:'\f32b'}.zmdi-alarm-snooze:before{content:'\f32c'}.zmdi-alarm:before{content:'\f32d'}.zmdi-calendar-alt:before{content:'\f32e'}.zmdi-calendar-check:before{content:'\f32f'}.zmdi-calendar-close:before{content:'\f330'}.zmdi-calendar-note:before{content:'\f331'}.zmdi-calendar:before{content:'\f332'}.zmdi-time-countdown:before{content:'\f333'}.zmdi-time-interval:before{content:'\f334'}.zmdi-time-restore-setting:before{content:'\f335'}.zmdi-time-restore:before{content:'\f336'}.zmdi-time:before{content:'\f337'}.zmdi-timer-off:before{content:'\f338'}.zmdi-timer:before{content:'\f339'}.zmdi-android-alt:before{content:'\f33a'}.zmdi-android:before{content:'\f33b'}.zmdi-apple:before{content:'\f33c'}.zmdi-behance:before{content:'\f33d'}.zmdi-codepen:before{content:'\f33e'}.zmdi-dribbble:before{content:'\f33f'}.zmdi-dropbox:before{content:'\f340'}.zmdi-evernote:before{content:'\f341'}.zmdi-facebook-box:before{content:'\f342'}.zmdi-facebook:before{content:'\f343'}.zmdi-github-box:before{content:'\f344'}.zmdi-github:before{content:'\f345'}.zmdi-google-drive:before{content:'\f346'}.zmdi-google-earth:before{content:'\f347'}.zmdi-google-glass:before{content:'\f348'}.zmdi-google-maps:before{content:'\f349'}.zmdi-google-pages:before{content:'\f34a'}.zmdi-google-play:before{content:'\f34b'}.zmdi-google-plus-box:before{content:'\f34c'}.zmdi-google-plus:before{content:'\f34d'}.zmdi-google:before{content:'\f34e'}.zmdi-instagram:before{content:'\f34f'}.zmdi-language-css3:before{content:'\f350'}.zmdi-language-html5:before{content:'\f351'}.zmdi-language-javascript:before{content:'\f352'}.zmdi-language-python-alt:before{content:'\f353'}.zmdi-language-python:before{content:'\f354'}.zmdi-lastfm:before{content:'\f355'}.zmdi-linkedin-box:before{content:'\f356'}.zmdi-paypal:before{content:'\f357'}.zmdi-pinterest-box:before{content:'\f358'}.zmdi-pocket:before{content:'\f359'}.zmdi-polymer:before{content:'\f35a'}.zmdi-share:before{content:'\f35b'}.zmdi-stackoverflow:before{content:'\f35c'}.zmdi-steam-square:before{content:'\f35d'}.zmdi-steam:before{content:'\f35e'}.zmdi-twitter-box:before{content:'\f35f'}.zmdi-twitter:before{content:'\f360'}.zmdi-vk:before{content:'\f361'}.zmdi-wikipedia:before{content:'\f362'}.zmdi-windows:before{content:'\f363'}.zmdi-aspect-ratio-alt:before{content:'\f364'}.zmdi-aspect-ratio:before{content:'\f365'}.zmdi-blur-circular:before{content:'\f366'}.zmdi-blur-linear:before{content:'\f367'}.zmdi-blur-off:before{content:'\f368'}.zmdi-blur:before{content:'\f369'}.zmdi-brightness-2:before{content:'\f36a'}.zmdi-brightness-3:before{content:'\f36b'}.zmdi-brightness-4:before{content:'\f36c'}.zmdi-brightness-5:before{content:'\f36d'}.zmdi-brightness-6:before{content:'\f36e'}.zmdi-brightness-7:before{content:'\f36f'}.zmdi-brightness-auto:before{content:'\f370'}.zmdi-brightness-setting:before{content:'\f371'}.zmdi-broken-image:before{content:'\f372'}.zmdi-center-focus-strong:before{content:'\f373'}.zmdi-center-focus-weak:before{content:'\f374'}.zmdi-compare:before{content:'\f375'}.zmdi-crop-16-9:before{content:'\f376'}.zmdi-crop-3-2:before{content:'\f377'}.zmdi-crop-5-4:before{content:'\f378'}.zmdi-crop-7-5:before{content:'\f379'}.zmdi-crop-din:before{content:'\f37a'}.zmdi-crop-free:before{content:'\f37b'}.zmdi-crop-landscape:before{content:'\f37c'}.zmdi-crop-portrait:before{content:'\f37d'}.zmdi-crop-square:before{content:'\f37e'}.zmdi-exposure-alt:before{content:'\f37f'}.zmdi-exposure:before{content:'\f380'}.zmdi-filter-b-and-w:before{content:'\f381'}.zmdi-filter-center-focus:before{content:'\f382'}.zmdi-filter-frames:before{content:'\f383'}.zmdi-filter-tilt-shift:before{content:'\f384'}.zmdi-gradient:before{content:'\f385'}.zmdi-grain:before{content:'\f386'}.zmdi-graphic-eq:before{content:'\f387'}.zmdi-hdr-off:before{content:'\f388'}.zmdi-hdr-strong:before{content:'\f389'}.zmdi-hdr-weak:before{content:'\f38a'}.zmdi-hdr:before{content:'\f38b'}.zmdi-iridescent:before{content:'\f38c'}.zmdi-leak-off:before{content:'\f38d'}.zmdi-leak:before{content:'\f38e'}.zmdi-looks:before{content:'\f38f'}.zmdi-loupe:before{content:'\f390'}.zmdi-panorama-horizontal:before{content:'\f391'}.zmdi-panorama-vertical:before{content:'\f392'}.zmdi-panorama-wide-angle:before{content:'\f393'}.zmdi-photo-size-select-large:before{content:'\f394'}.zmdi-photo-size-select-small:before{content:'\f395'}.zmdi-picture-in-picture:before{content:'\f396'}.zmdi-slideshow:before{content:'\f397'}.zmdi-texture:before{content:'\f398'}.zmdi-tonality:before{content:'\f399'}.zmdi-vignette:before{content:'\f39a'}.zmdi-wb-auto:before{content:'\f39b'}.zmdi-eject-alt:before{content:'\f39c'}.zmdi-eject:before{content:'\f39d'}.zmdi-equalizer:before{content:'\f39e'}.zmdi-fast-forward:before{content:'\f39f'}.zmdi-fast-rewind:before{content:'\f3a0'}.zmdi-forward-10:before{content:'\f3a1'}.zmdi-forward-30:before{content:'\f3a2'}.zmdi-forward-5:before{content:'\f3a3'}.zmdi-hearing:before{content:'\f3a4'}.zmdi-pause-circle-outline:before{content:'\f3a5'}.zmdi-pause-circle:before{content:'\f3a6'}.zmdi-pause:before{content:'\f3a7'}.zmdi-play-circle-outline:before{content:'\f3a8'}.zmdi-play-circle:before{content:'\f3a9'}.zmdi-play:before{content:'\f3aa'}.zmdi-playlist-audio:before{content:'\f3ab'}.zmdi-playlist-plus:before{content:'\f3ac'}.zmdi-repeat-one:before{content:'\f3ad'}.zmdi-repeat:before{content:'\f3ae'}.zmdi-replay-10:before{content:'\f3af'}.zmdi-replay-30:before{content:'\f3b0'}.zmdi-replay-5:before{content:'\f3b1'}.zmdi-replay:before{content:'\f3b2'}.zmdi-shuffle:before{content:'\f3b3'}.zmdi-skip-next:before{content:'\f3b4'}.zmdi-skip-previous:before{content:'\f3b5'}.zmdi-stop:before{content:'\f3b6'}.zmdi-surround-sound:before{content:'\f3b7'}.zmdi-tune:before{content:'\f3b8'}.zmdi-volume-down:before{content:'\f3b9'}.zmdi-volume-mute:before{content:'\f3ba'}.zmdi-volume-off:before{content:'\f3bb'}.zmdi-volume-up:before{content:'\f3bc'}.zmdi-n-1-square:before{content:'\f3bd'}.zmdi-n-2-square:before{content:'\f3be'}.zmdi-n-3-square:before{content:'\f3bf'}.zmdi-n-4-square:before{content:'\f3c0'}.zmdi-n-5-square:before{content:'\f3c1'}.zmdi-n-6-square:before{content:'\f3c2'}.zmdi-neg-1:before{content:'\f3c3'}.zmdi-neg-2:before{content:'\f3c4'}.zmdi-plus-1:before{content:'\f3c5'}.zmdi-plus-2:before{content:'\f3c6'}.zmdi-sec-10:before{content:'\f3c7'}.zmdi-sec-3:before{content:'\f3c8'}.zmdi-zero:before{content:'\f3c9'}.zmdi-airline-seat-flat-angled:before{content:'\f3ca'}.zmdi-airline-seat-flat:before{content:'\f3cb'}.zmdi-airline-seat-individual-suite:before{content:'\f3cc'}.zmdi-airline-seat-legroom-extra:before{content:'\f3cd'}.zmdi-airline-seat-legroom-normal:before{content:'\f3ce'}.zmdi-airline-seat-legroom-reduced:before{content:'\f3cf'}.zmdi-airline-seat-recline-extra:before{content:'\f3d0'}.zmdi-airline-seat-recline-normal:before{content:'\f3d1'}.zmdi-airplay:before{content:'\f3d2'}.zmdi-closed-caption:before{content:'\f3d3'}.zmdi-confirmation-number:before{content:'\f3d4'}.zmdi-developer-board:before{content:'\f3d5'}.zmdi-disc-full:before{content:'\f3d6'}.zmdi-explicit:before{content:'\f3d7'}.zmdi-flight-land:before{content:'\f3d8'}.zmdi-flight-takeoff:before{content:'\f3d9'}.zmdi-flip-to-back:before{content:'\f3da'}.zmdi-flip-to-front:before{content:'\f3db'}.zmdi-group-work:before{content:'\f3dc'}.zmdi-hd:before{content:'\f3dd'}.zmdi-hq:before{content:'\f3de'}.zmdi-markunread-mailbox:before{content:'\f3df'}.zmdi-memory:before{content:'\f3e0'}.zmdi-nfc:before{content:'\f3e1'}.zmdi-play-for-work:before{content:'\f3e2'}.zmdi-power-input:before{content:'\f3e3'}.zmdi-present-to-all:before{content:'\f3e4'}.zmdi-satellite:before{content:'\f3e5'}.zmdi-tap-and-play:before{content:'\f3e6'}.zmdi-vibration:before{content:'\f3e7'}.zmdi-voicemail:before{content:'\f3e8'}.zmdi-group:before{content:'\f3e9'}.zmdi-rss:before{content:'\f3ea'}.zmdi-shape:before{content:'\f3eb'}.zmdi-spinner:before{content:'\f3ec'}.zmdi-ungroup:before{content:'\f3ed'}.zmdi-500px:before{content:'\f3ee'}.zmdi-8tracks:before{content:'\f3ef'}.zmdi-amazon:before{content:'\f3f0'}.zmdi-blogger:before{content:'\f3f1'}.zmdi-delicious:before{content:'\f3f2'}.zmdi-disqus:before{content:'\f3f3'}.zmdi-flattr:before{content:'\f3f4'}.zmdi-flickr:before{content:'\f3f5'}.zmdi-github-alt:before{content:'\f3f6'}.zmdi-google-old:before{content:'\f3f7'}.zmdi-linkedin:before{content:'\f3f8'}.zmdi-odnoklassniki:before{content:'\f3f9'}.zmdi-outlook:before{content:'\f3fa'}.zmdi-paypal-alt:before{content:'\f3fb'}.zmdi-pinterest:before{content:'\f3fc'}.zmdi-playstation:before{content:'\f3fd'}.zmdi-reddit:before{content:'\f3fe'}.zmdi-skype:before{content:'\f3ff'}.zmdi-slideshare:before{content:'\f400'}.zmdi-soundcloud:before{content:'\f401'}.zmdi-tumblr:before{content:'\f402'}.zmdi-twitch:before{content:'\f403'}.zmdi-vimeo:before{content:'\f404'}.zmdi-whatsapp:before{content:'\f405'}.zmdi-xbox:before{content:'\f406'}.zmdi-yahoo:before{content:'\f407'}.zmdi-youtube-play:before{content:'\f408'}.zmdi-youtube:before{content:'\f409'}.zmdi-import-export:before{content:'\f30c'}.zmdi-swap-vertical-:before{content:'\f30c'}.zmdi-airplanemode-inactive:before{content:'\f102'}.zmdi-airplanemode-active:before{content:'\f103'}.zmdi-rate-review:before{content:'\f103'}.zmdi-comment-sign:before{content:'\f25a'}.zmdi-network-warning:before{content:'\f2ad'}.zmdi-shopping-cart-add:before{content:'\f1ca'}.zmdi-file-add:before{content:'\f221'}.zmdi-network-wifi-scan:before{content:'\f2e4'}.zmdi-collection-add:before{content:'\f14e'}.zmdi-format-playlist-add:before{content:'\f3ac'}.zmdi-format-queue-music:before{content:'\f3ab'}.zmdi-plus-box:before{content:'\f277'}.zmdi-tag-backspace:before{content:'\f1d9'}.zmdi-alarm-add:before{content:'\f32b'}.zmdi-battery-charging:before{content:'\f114'}.zmdi-daydream-setting:before{content:'\f217'}.zmdi-more-horiz:before{content:'\f19c'}.zmdi-book-photo:before{content:'\f11b'}.zmdi-incandescent:before{content:'\f189'}.zmdi-wb-iridescent:before{content:'\f38c'}.zmdi-calendar-remove:before{content:'\f330'}.zmdi-refresh-sync-disabled:before{content:'\f1b7'}.zmdi-refresh-sync-problem:before{content:'\f1b6'}.zmdi-crop-original:before{content:'\f17e'}.zmdi-power-off:before{content:'\f1af'}.zmdi-power-off-setting:before{content:'\f1ae'}.zmdi-leak-remove:before{content:'\f38d'}.zmdi-star-border:before{content:'\f27c'}.zmdi-brightness-low:before{content:'\f36d'}.zmdi-brightness-medium:before{content:'\f36e'}.zmdi-brightness-high:before{content:'\f36f'}.zmdi-smartphone-portrait:before{content:'\f2d4'}.zmdi-live-tv:before{content:'\f2d9'}.zmdi-format-textdirection-l-to-r:before{content:'\f249'}.zmdi-format-textdirection-r-to-l:before{content:'\f24a'}.zmdi-arrow-back:before{content:'\f2ea'}.zmdi-arrow-forward:before{content:'\f2ee'}.zmdi-arrow-in:before{content:'\f2e9'}.zmdi-arrow-out:before{content:'\f2ed'}.zmdi-rotate-90-degrees-ccw:before{content:'\f304'}.zmdi-adb:before{content:'\f33a'}.zmdi-network-wifi:before{content:'\f2e8'}.zmdi-network-wifi-alt:before{content:'\f2e3'}.zmdi-network-wifi-lock:before{content:'\f2e5'}.zmdi-network-wifi-off:before{content:'\f2e6'}.zmdi-network-wifi-outline:before{content:'\f2e7'}.zmdi-network-wifi-info:before{content:'\f2e4'}.zmdi-layers-clear:before{content:'\f18b'}.zmdi-colorize:before{content:'\f15d'}.zmdi-format-paint:before{content:'\f1ba'}.zmdi-format-quote:before{content:'\f1b2'}.zmdi-camera-monochrome-photos:before{content:'\f285'}.zmdi-sort-by-alpha:before{content:'\f1cf'}.zmdi-folder-shared:before{content:'\f225'}.zmdi-folder-special:before{content:'\f226'}.zmdi-comment-dots:before{content:'\f260'}.zmdi-reorder:before{content:'\f31e'}.zmdi-dehaze:before{content:'\f197'}.zmdi-sort:before{content:'\f1ce'}.zmdi-pages:before{content:'\f34a'}.zmdi-stack-overflow:before{content:'\f35c'}.zmdi-calendar-account:before{content:'\f204'}.zmdi-paste:before{content:'\f109'}.zmdi-cut:before{content:'\f1bc'}.zmdi-save:before{content:'\f297'}.zmdi-smartphone-code:before{content:'\f139'}.zmdi-directions-bike:before{content:'\f117'}.zmdi-directions-boat:before{content:'\f11a'}.zmdi-directions-bus:before{content:'\f121'}.zmdi-directions-car:before{content:'\f125'}.zmdi-directions-railway:before{content:'\f1b3'}.zmdi-directions-run:before{content:'\f215'}.zmdi-directions-subway:before{content:'\f1d5'}.zmdi-directions-walk:before{content:'\f216'}.zmdi-local-hotel:before{content:'\f178'}.zmdi-local-activity:before{content:'\f1df'}.zmdi-local-play:before{content:'\f1df'}.zmdi-local-airport:before{content:'\f103'}.zmdi-local-atm:before{content:'\f198'}.zmdi-local-bar:before{content:'\f137'}.zmdi-local-cafe:before{content:'\f13b'}.zmdi-local-car-wash:before{content:'\f124'}.zmdi-local-convenience-store:before{content:'\f1d3'}.zmdi-local-dining:before{content:'\f153'}.zmdi-local-drink:before{content:'\f157'}.zmdi-local-florist:before{content:'\f168'}.zmdi-local-gas-station:before{content:'\f16f'}.zmdi-local-grocery-store:before{content:'\f1cb'}.zmdi-local-hospital:before{content:'\f177'}.zmdi-local-laundry-service:before{content:'\f1e9'}.zmdi-local-library:before{content:'\f18d'}.zmdi-local-mall:before{content:'\f195'}.zmdi-local-movies:before{content:'\f19d'}.zmdi-local-offer:before{content:'\f187'}.zmdi-local-parking:before{content:'\f1a5'}.zmdi-local-parking:before{content:'\f1a5'}.zmdi-local-pharmacy:before{content:'\f176'}.zmdi-local-phone:before{content:'\f2be'}.zmdi-local-pizza:before{content:'\f1ac'}.zmdi-local-post-office:before{content:'\f15a'}.zmdi-local-printshop:before{content:'\f1b0'}.zmdi-local-see:before{content:'\f28c'}.zmdi-local-shipping:before{content:'\f1e6'}.zmdi-local-store:before{content:'\f1d4'}.zmdi-local-taxi:before{content:'\f123'}.zmdi-local-wc:before{content:'\f211'}.zmdi-my-location:before{content:'\f299'}.zmdi-directions:before{content:'\f1e7'}
--------------------------------------------------------------------------------
/static/css/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 | article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}
11 |
12 | html {
13 | line-height: 1.15; /* 1 */
14 | -webkit-text-size-adjust: 100%; /* 2 */
15 | }
16 |
17 | /* Sections
18 | ========================================================================== */
19 |
20 | /**
21 | * Remove the margin in all browsers.
22 | */
23 |
24 | body {
25 | margin: 0;
26 | }
27 |
28 | /**
29 | * Render the `main` element consistently in IE.
30 | */
31 |
32 | main {
33 | display: block;
34 | }
35 |
36 | /**
37 | * Correct the font size and margin on `h1` elements within `section` and
38 | * `article` contexts in Chrome, Firefox, and Safari.
39 | */
40 |
41 | h1 {
42 | font-size: 2em;
43 | margin: 0.67em 0;
44 | }
45 |
46 | /* Grouping content
47 | ========================================================================== */
48 |
49 | /**
50 | * 1. Add the correct box sizing in Firefox.
51 | * 2. Show the overflow in Edge and IE.
52 | */
53 |
54 | hr {
55 | box-sizing: content-box; /* 1 */
56 | height: 0; /* 1 */
57 | overflow: visible; /* 2 */
58 | }
59 |
60 | /**
61 | * 1. Correct the inheritance and scaling of font size in all browsers.
62 | * 2. Correct the odd `em` font sizing in all browsers.
63 | */
64 |
65 | pre {
66 | font-family: monospace, monospace; /* 1 */
67 | font-size: 1em; /* 2 */
68 | }
69 |
70 | /* Text-level semantics
71 | ========================================================================== */
72 |
73 | /**
74 | * Remove the gray background on active links in IE 10.
75 | */
76 |
77 | a {
78 | background-color: transparent;
79 | }
80 |
81 | /**
82 | * 1. Remove the bottom border in Chrome 57-
83 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
84 | */
85 |
86 | abbr[title] {
87 | border-bottom: none; /* 1 */
88 | text-decoration: underline; /* 2 */
89 | text-decoration: underline dotted; /* 2 */
90 | }
91 |
92 | /**
93 | * Add the correct font weight in Chrome, Edge, and Safari.
94 | */
95 |
96 | b,
97 | strong {
98 | font-weight: bolder;
99 | }
100 |
101 | /**
102 | * 1. Correct the inheritance and scaling of font size in all browsers.
103 | * 2. Correct the odd `em` font sizing in all browsers.
104 | */
105 |
106 | code,
107 | kbd,
108 | samp {
109 | font-family: monospace, monospace; /* 1 */
110 | font-size: 1em; /* 2 */
111 | }
112 |
113 | /**
114 | * Add the correct font size in all browsers.
115 | */
116 |
117 | small {
118 | font-size: 80%;
119 | }
120 |
121 | /**
122 | * Prevent `sub` and `sup` elements from affecting the line height in
123 | * all browsers.
124 | */
125 |
126 | sub,
127 | sup {
128 | font-size: 75%;
129 | line-height: 0;
130 | position: relative;
131 | vertical-align: baseline;
132 | }
133 |
134 | sub {
135 | bottom: -0.25em;
136 | }
137 |
138 | sup {
139 | top: -0.5em;
140 | }
141 |
142 | /* Embedded content
143 | ========================================================================== */
144 |
145 | /**
146 | * Remove the border on images inside links in IE 10.
147 | */
148 |
149 | img {
150 | border-style: none;
151 | }
152 |
153 | /* Forms
154 | ========================================================================== */
155 |
156 | /**
157 | * 1. Change the font styles in all browsers.
158 | * 2. Remove the margin in Firefox and Safari.
159 | */
160 |
161 | button,
162 | input,
163 | optgroup,
164 | select,
165 | textarea {
166 | font-family: inherit; /* 1 */
167 | font-size: 100%; /* 1 */
168 | line-height: 1.15; /* 1 */
169 | margin: 0; /* 2 */
170 | }
171 |
172 | /**
173 | * Show the overflow in IE.
174 | * 1. Show the overflow in Edge.
175 | */
176 |
177 | button,
178 | input { /* 1 */
179 | overflow: visible;
180 | }
181 |
182 | /**
183 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
184 | * 1. Remove the inheritance of text transform in Firefox.
185 | */
186 |
187 | button,
188 | select { /* 1 */
189 | text-transform: none;
190 | }
191 |
192 | /**
193 | * Correct the inability to style clickable types in iOS and Safari.
194 | */
195 |
196 | button,
197 | [type="button"],
198 | [type="reset"],
199 | [type="submit"] {
200 | -webkit-appearance: button;
201 | }
202 |
203 | /**
204 | * Remove the inner border and padding in Firefox.
205 | */
206 |
207 | button::-moz-focus-inner,
208 | [type="button"]::-moz-focus-inner,
209 | [type="reset"]::-moz-focus-inner,
210 | [type="submit"]::-moz-focus-inner {
211 | border-style: none;
212 | padding: 0;
213 | }
214 |
215 | /**
216 | * Restore the focus styles unset by the previous rule.
217 | */
218 |
219 | button:-moz-focusring,
220 | [type="button"]:-moz-focusring,
221 | [type="reset"]:-moz-focusring,
222 | [type="submit"]:-moz-focusring {
223 | outline: 1px dotted ButtonText;
224 | }
225 |
226 | /**
227 | * Correct the padding in Firefox.
228 | */
229 |
230 | fieldset {
231 | padding: 0.35em 0.75em 0.625em;
232 | }
233 |
234 | /**
235 | * 1. Correct the text wrapping in Edge and IE.
236 | * 2. Correct the color inheritance from `fieldset` elements in IE.
237 | * 3. Remove the padding so developers are not caught out when they zero out
238 | * `fieldset` elements in all browsers.
239 | */
240 |
241 | legend {
242 | box-sizing: border-box; /* 1 */
243 | color: inherit; /* 2 */
244 | display: table; /* 1 */
245 | max-width: 100%; /* 1 */
246 | padding: 0; /* 3 */
247 | white-space: normal; /* 1 */
248 | }
249 |
250 | /**
251 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
252 | */
253 |
254 | progress {
255 | vertical-align: baseline;
256 | }
257 |
258 | /**
259 | * Remove the default vertical scrollbar in IE 10+.
260 | */
261 |
262 | textarea {
263 | overflow: auto;
264 | }
265 |
266 | /**
267 | * 1. Add the correct box sizing in IE 10.
268 | * 2. Remove the padding in IE 10.
269 | */
270 |
271 | [type="checkbox"],
272 | [type="radio"] {
273 | box-sizing: border-box; /* 1 */
274 | padding: 0; /* 2 */
275 | }
276 |
277 | /**
278 | * Correct the cursor style of increment and decrement buttons in Chrome.
279 | */
280 |
281 | [type="number"]::-webkit-inner-spin-button,
282 | [type="number"]::-webkit-outer-spin-button {
283 | height: auto;
284 | }
285 |
286 | /**
287 | * 1. Correct the odd appearance in Chrome and Safari.
288 | * 2. Correct the outline style in Safari.
289 | */
290 |
291 | [type="search"] {
292 | -webkit-appearance: textfield; /* 1 */
293 | outline-offset: -2px; /* 2 */
294 | }
295 |
296 | /**
297 | * Remove the inner padding in Chrome and Safari on macOS.
298 | */
299 |
300 | [type="search"]::-webkit-search-decoration {
301 | -webkit-appearance: none;
302 | }
303 |
304 | /**
305 | * 1. Correct the inability to style clickable types in iOS and Safari.
306 | * 2. Change font properties to `inherit` in Safari.
307 | */
308 |
309 | ::-webkit-file-upload-button {
310 | -webkit-appearance: button; /* 1 */
311 | font: inherit; /* 2 */
312 | }
313 |
314 | /* Interactive
315 | ========================================================================== */
316 |
317 | /*
318 | * Add the correct display in Edge, IE 10+, and Firefox.
319 | */
320 |
321 | details {
322 | display: block;
323 | }
324 |
325 | /*
326 | * Add the correct display in all browsers.
327 | */
328 |
329 | summary {
330 | display: list-item;
331 | }
332 |
333 | /* Misc
334 | ========================================================================== */
335 |
336 | /**
337 | * Add the correct display in IE 10+.
338 | */
339 |
340 | template {
341 | display: none;
342 | }
343 |
344 | /**
345 | * Add the correct display in IE 10.
346 | */
347 |
348 | [hidden] {
349 | display: none;
350 | }
351 |
--------------------------------------------------------------------------------
/static/css/style.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 |
8 | html {
9 | font-family: 'lato' ,'Arial' , sans-serif;
10 | text-rendering: optimizeLegibility;
11 | }
12 |
13 | .index-main
14 | {
15 | width: 100%;
16 | height: 100%;
17 | background-image:linear-gradient(rgba(0, 0, 0, 0.71),rgba(0, 0, 0, 0.7)),url('front.jpg');
18 | background-size: cover;
19 | background-position: center;
20 | }
21 |
22 | .header-content
23 | {
24 | width: 100%;
25 | display: flex;
26 | align-content: center;
27 | align-self: center;
28 | justify-content: center;
29 | }
30 |
31 | .header-content-text
32 | {
33 | font-size: 3vw;
34 | font-weight: 500;
35 | color: #f4f7c5;
36 | letter-spacing: 0.5px;
37 | }
38 |
39 | .header-content-sub
40 | {
41 | width: 100%;
42 | display: flex;
43 | align-content: center;
44 | align-self: center;
45 | justify-content: center;
46 | }
47 |
48 | .header-content-info
49 | {
50 | font-size: 18px;
51 | color: #f4f7c5;
52 | }
53 |
54 |
55 | .upload-section
56 | {
57 | width: 100%;
58 | margin-top: 5%!important;
59 | }
60 |
61 | .upload-file
62 | {
63 | width: 100%;
64 | margin-top: 1%;
65 | margin-bottom: 1%;
66 | }
67 |
68 | .file-form
69 | {
70 | padding-left: 4%;
71 | padding-right: 4%;
72 | width: 100%;
73 | display: flex;
74 | justify-content: space-between;
75 | }
76 |
77 | .file-form-input
78 | {
79 | max-width: 50%;
80 | border-radius: 200px;
81 | border: 1px solid #41b3a3;
82 | color: white;
83 | display: inline-block;
84 | padding: 8px 20px 8px 20px;
85 | font-weight: 300;
86 | text-decoration: none;
87 | font-size: 20px;
88 | transition: background-color 0.2s , border 0.2s , color 0.2s;
89 | }
90 |
91 | .file-form-input:focus
92 | {
93 | outline: none;
94 | }
95 |
96 | .btn
97 | {
98 | width: 10%;
99 | font-size: 20px!important;
100 | height: 15%;
101 | max-width: 30%;
102 | }
103 |
104 |
105 | .uploadOR
106 | {
107 | display: flex;
108 | text-align: center;
109 | margin-left: 25%;
110 | align-items: center;
111 | margin-top: 15px;
112 | margin-bottom: 15px;
113 | }
114 |
115 | .uploadOR > span
116 | {
117 | font-size: 15px;
118 | font-weight: 400;
119 | color: #f4f7c5;
120 | padding-top: 1%;
121 | padding-bottom: 1%;
122 | }
123 |
124 |
125 | .upload-link
126 | {
127 | width: 100%;
128 | margin-top: 1%;
129 | margin-bottom: 1%;
130 | }
131 |
132 |
133 | .link-form
134 | {
135 | padding-bottom: 4%;
136 | padding-left: 4%;
137 | padding-right: 4%;
138 | width: 100%;
139 | display: flex;
140 | justify-content: space-between;
141 | }
142 |
143 | .link-form-input
144 | {
145 | width: 60%;
146 | border: 1px solid #41b3a3;
147 | display: inline-block;
148 | padding: 4px 15px 4px 15px;
149 | font-weight: 300;
150 | text-decoration: none;
151 | font-size: 20px;
152 | transition: background-color 0.2s , border 0.2s , color 0.2s;
153 | }
154 |
155 | .footer
156 | {
157 | padding-left: 2%;
158 | padding-right: 2%;
159 | }
160 |
161 | @media screen and (max-width: 415px)
162 | {
163 | .index-main
164 | {
165 |
166 | background-position: inherit;
167 | }
168 | .header-content
169 | {
170 | margin-top: 15%;
171 | }
172 |
173 | .header-content-text
174 | {
175 | font-size: 22px;
176 | }
177 |
178 | .header-content-info
179 | {
180 | font-size: 11px;
181 | }
182 |
183 |
184 | .file-form-input
185 | {
186 | /*height: 30px;*/
187 | border-radius: 200px;
188 | padding: 4px 10px 4px 10px;
189 | font-size: 10px;
190 |
191 | }
192 |
193 | .btn
194 | {
195 | padding-top: 6px!important;
196 | padding-bottom: 6px!important;
197 | width: 25%;
198 | font-size: 11px!important;
199 | line-height: 1
200 | }
201 |
202 | .link-form-input
203 | {
204 | width: 68%;
205 | padding-right: 1%!important;
206 | padding-left: 1%!important;
207 | font-size: 10px;
208 | padding: 1px 15px 1px 15px;
209 | }
210 |
211 | .upload-section
212 | {
213 | margin-top: 20%!important;
214 | }
215 |
216 | .footer
217 | {
218 | margin-top: 15%;
219 | }
220 |
221 | .upload-file
222 | {
223 | margin-top: 3%;
224 | margin-bottom: 3%;
225 | }
226 |
227 |
228 | .upload-link
229 | {
230 | margin-top: 3%;
231 | margin-bottom: 3%;
232 | }
233 |
234 | }
235 |
236 | @media screen and (min-width: 416px) and (max-width: 615px)
237 | {
238 | .index-main
239 | {
240 | background-position: inherit;
241 | }
242 | .header-content
243 | {
244 | margin-top: 15%;
245 | }
246 |
247 | .header-content-text
248 | {
249 | font-size: 22px;
250 | }
251 |
252 |
253 | .header-content-info
254 | {
255 | font-size: 14px;
256 | }
257 |
258 | .file-form-input
259 | {
260 | height: 33px;
261 | border-radius: 200px;
262 | padding: 4px 10px 4px 10px;
263 | font-size: 12px;
264 |
265 | }
266 |
267 | .btn
268 | {
269 | padding-top: 6px!important;
270 | padding-bottom: 6px!important;
271 | width: 20%;
272 | font-size: 12px!important;
273 | line-height: 1
274 | }
275 |
276 | .link-form-input
277 | {
278 | font-size: 11px;
279 | padding: 1px 15px 1px 15px;
280 | }
281 |
282 | .upload-section
283 | {
284 | margin-top: 20%!important;
285 | }
286 |
287 | .upload-file
288 | {
289 | margin-top: 3%;
290 | margin-bottom: 3%;
291 | }
292 |
293 |
294 | .upload-link
295 | {
296 | margin-top: 3%;
297 | margin-bottom: 3%;
298 | }
299 |
300 | .footer
301 | {
302 | margin-top: 5%;
303 | }
304 |
305 | }
306 |
307 | @media screen and (min-width: 615px) and (max-width: 970px)
308 | {
309 |
310 | .header-content
311 | {
312 | margin-top: 10%;
313 | }
314 |
315 | .header-content-text
316 | {
317 | font-size: 25px;
318 | }
319 |
320 |
321 | .header-content-info
322 | {
323 | font-size: 15px;
324 | }
325 |
326 | .file-form-input
327 | {
328 | height: 33px;
329 | border-radius: 200px;
330 | padding: 4px 10px 4px 10px;
331 | font-size: 12px;
332 |
333 | }
334 |
335 | .btn
336 | {
337 | padding-top: 6px!important;
338 | padding-bottom: 6px!important;
339 | width: 15%;
340 | font-size: 12px!important;
341 | line-height: 1
342 | }
343 |
344 | .link-form-input
345 | {
346 | font-size: 12px;
347 | padding: 1px 15px 1px 15px;
348 | }
349 |
350 | .upload-file
351 | {
352 | margin-top: 3%;
353 | margin-bottom: 3%;
354 | }
355 |
356 |
357 | .upload-link
358 | {
359 | margin-top: 3%;
360 | margin-bottom: 3%;
361 | }
362 |
363 | .upload-section
364 | {
365 | margin-top: 10%!important;
366 | }
367 |
368 |
369 | }
370 | .owl-nav button {
371 | position: absolute;
372 | top: 50%;
373 | background-color: #000;
374 | color: #fff;
375 | margin: 0;
376 | transition: all 0.3s ease-in-out;
377 | }
378 | .owl-nav button.owl-prev {
379 | left: 0;
380 | }
381 | .owl-nav button.owl-next {
382 | right: 0;
383 | }
384 |
385 | .owl-dots {
386 | text-align: center;
387 | padding-top: 15px;
388 | }
389 | .owl-dots button.owl-dot {
390 | width: 15px;
391 | height: 15px;
392 | border-radius: 50%;
393 | display: inline-block;
394 | background: #ccc;
395 | margin: 0 3px;
396 | }
397 | .owl-dots button.owl-dot.active {
398 | background-color: #000;
399 | }
400 | .owl-dots button.owl-dot:focus {
401 | outline: none;
402 | }
403 | .owl-nav button {
404 | position: absolute;
405 | top: 50%;
406 | transform: translateY(-50%);
407 | background: rgba(255, 255, 255, 0.38) !important;
408 | }
409 | span {
410 | font-size: 70px;
411 | position: relative;
412 | top: -5px;
413 | }
414 | .owl-nav button:focus {
415 | outline: none;
416 | }
417 | .item{
418 | width:250px;
419 | margin-left: auto;
420 | margin-right:auto;
421 | }
422 | .item img{
423 | border-radius: 125px;
424 | height: 250px;
425 | }
426 | .item p{
427 | text-align: center;
428 | color: white;
429 | font-size: 20px;
430 |
431 | }
432 | .owl-slider{
433 | width: 100%;
434 | margin-left: auto;
435 | margin-right: auto;
436 | }
437 | .header-content{
438 | display: flex;
439 | flex-direction: column;
440 | }
441 | .header-content-text{
442 | margin-left: auto;
443 | margin-right: auto;
444 | margin-bottom: 10px;
445 | font-size: 25px;
446 | }
447 | .newCOnt{
448 | margin-top: 10%;
449 | width: 70%;
450 | height: 50%;
451 | margin-left: auto;
452 | margin-right: auto;
453 | margin-bottom: 5%;
454 | }
455 | .newCOnt img{
456 | width: 100%;
457 | margin-left: auto;
458 | margin-right: auto;
459 | border-radius: 60%;
460 | }
461 | .result{
462 | color: white;
463 | margin-left: 10%;
464 | height: 100px;
465 | }
--------------------------------------------------------------------------------
/static/css/styleSucc.css:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {
5 | margin: 0;
6 | padding: 0;
7 | box-sizing: border-box;
8 | }
9 |
10 |
11 | html {
12 | color:#535151;
13 | font-family: 'lato' ,'Arial' , sans-serif;
14 | font-size: 20px;
15 | font-weight: 300;
16 | text-rendering: optimizeLegibility;
17 | }
18 |
19 | .second-main{
20 | background-image:linear-gradient(rgba(0, 0, 0, 0.71),rgba(0, 0, 0, 0.7)),url('b4.jpg');
21 | background-size: cover;
22 | background-position: center;
23 | height: 100vh;
24 | }
25 |
26 |
27 | h1{
28 | margin-top: 0;
29 | margin-bottom: 20px;
30 | font-size: 240%;
31 | font-weight: 400;
32 | letter-spacing: 1px;
33 | word-spacing: 3px;
34 | color: #f0e3e3;
35 | }
36 |
37 | h3
38 | {
39 | color:#f9d89c!important;
40 | }
41 |
42 | .result-img
43 | {
44 | width: 500px;
45 | height: 250px;
46 | border : 2px solid #3b6978;
47 | }
48 |
49 | th
50 | {
51 | color: #cceabb;
52 | }
53 |
54 | .header
55 | {
56 | width: 100%;
57 | padding-top: 5px;
58 | }
59 | .info
60 | {
61 | padding-top: 5px;
62 | width: 100%;
63 | margin-top: 1%;
64 |
65 | }
66 |
67 | .header-text
68 | {
69 | letter-spacing: 1px;
70 | }
71 |
72 | .table-custom
73 | {
74 | width: 60%;
75 | }
76 |
77 | @media screen and (max-width: 615px)
78 | {
79 |
80 | th
81 | {
82 | font-size: 17px!important;
83 | }
84 |
85 | td
86 | {
87 | font-size: 16px!important;
88 | }
89 | .header-text
90 | {
91 | letter-spacing: 1px;
92 | font-size: 22px!important;
93 | }
94 |
95 | .result-img
96 | {
97 | width: 200px;
98 | height: 200px;
99 | border : 2px solid #3b6978;
100 | }
101 | .header
102 | {
103 | margin-top: 5%!important;
104 | }
105 | .info
106 | {
107 | margin-top: 10%!important;
108 | }
109 |
110 | .table-custom
111 | {
112 | width: 80%;
113 | }
114 | }
115 |
116 | @media screen and (min-width: 615px) and (max-width: 915px)
117 | {
118 | .result-img
119 | {
120 | width: 250px;
121 | height: 250px;
122 | border : 2px solid #3b6978;
123 | }
124 | }
125 |
126 | .main-nav {
127 |
128 | list-style: none;
129 | float: right;
130 | margin-left: 10px
131 |
132 | }
133 |
134 | .main-nav li {
135 | display: inline-block;
136 |
137 | margin-left: 70px;
138 | margin-top: 40px;
139 | }
140 |
141 | .main-nav li a:link,
142 | .main-nav li a:visited {
143 | letter-spacing: 2px;
144 | padding: 8px 0 8px 0;
145 | color: white;
146 | text-decoration: none;
147 | text-transform: uppercase;
148 | font-size: 90%;
149 | border-bottom: 2px solid transparent;
150 | transition: border-bottom 0.2s;
151 | }
152 |
153 |
154 | .main-nav li a:hover,
155 | .main-nav li a:active {
156 | border-bottom: 2px solid #f9d89c;
157 |
158 | }
159 |
160 |
161 | .myFile {
162 | position: relative;
163 | overflow: hidden;
164 | float: left;
165 | clear: left;
166 | }
167 | .myFile input[type="file"] {
168 | display: block;
169 | position: absolute;
170 | top: 0;
171 | right: 0;
172 | opacity: 0;
173 | font-size: 100px;
174 | filter: alpha(opacity=0);
175 | cursor: pointer;
176 | }
177 |
178 |
179 |
180 |
181 |
--------------------------------------------------------------------------------
/static/images/PotatoHealthy2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/images/PotatoHealthy2.jpg
--------------------------------------------------------------------------------
/static/images/TomatoEarlyBlight5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/images/TomatoEarlyBlight5.jpg
--------------------------------------------------------------------------------
/static/images/d4d1d6c9-e09c-4179-80c1-ca0924816772.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/static/images/d4d1d6c9-e09c-4179-80c1-ca0924816772.jpg
--------------------------------------------------------------------------------
/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
19 | Pep Doctor
20 |
21 |
22 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
103 |
104 |
105 |
106 |
111 |
112 |
113 |
114 |
115 |
116 |
120 |
121 |
122 |
123 | OR
124 |
125 |
126 |
127 |
132 |
133 |
137 |
138 |
139 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
208 |
209 |
--------------------------------------------------------------------------------
/templates/liveDetection.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
19 | Pep Doctor
20 |
21 |
22 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
106 |
107 |
108 |
109 |
114 |
115 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
--------------------------------------------------------------------------------
/templates/success.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Pep Doctor
13 |
14 |
25 |
26 |
27 |
28 |
34 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/test/AppleCedarRust1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleCedarRust1.jpg
--------------------------------------------------------------------------------
/test/AppleCedarRust2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleCedarRust2.jpg
--------------------------------------------------------------------------------
/test/AppleCedarRust3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleCedarRust3.jpg
--------------------------------------------------------------------------------
/test/AppleCedarRust4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleCedarRust4.jpg
--------------------------------------------------------------------------------
/test/AppleScab1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleScab1.jpg
--------------------------------------------------------------------------------
/test/AppleScab2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleScab2.JPG
--------------------------------------------------------------------------------
/test/AppleScab3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/AppleScab3.jpg
--------------------------------------------------------------------------------
/test/CornCommonRust1.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/CornCommonRust1.JPG
--------------------------------------------------------------------------------
/test/CornCommonRust2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/CornCommonRust2.JPG
--------------------------------------------------------------------------------
/test/CornCommonRust3.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/CornCommonRust3.JPG
--------------------------------------------------------------------------------
/test/PotatoEarlyBlight1.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoEarlyBlight1.JPG
--------------------------------------------------------------------------------
/test/PotatoEarlyBlight2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoEarlyBlight2.JPG
--------------------------------------------------------------------------------
/test/PotatoEarlyBlight3.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoEarlyBlight3.JPG
--------------------------------------------------------------------------------
/test/PotatoEarlyBlight4.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoEarlyBlight4.JPG
--------------------------------------------------------------------------------
/test/PotatoEarlyBlight5.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoEarlyBlight5.JPG
--------------------------------------------------------------------------------
/test/PotatoHealthy1.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoHealthy1.JPG
--------------------------------------------------------------------------------
/test/PotatoHealthy2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/PotatoHealthy2.JPG
--------------------------------------------------------------------------------
/test/TomatoEarlyBlight1.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoEarlyBlight1.JPG
--------------------------------------------------------------------------------
/test/TomatoEarlyBlight2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoEarlyBlight2.JPG
--------------------------------------------------------------------------------
/test/TomatoEarlyBlight3.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoEarlyBlight3.JPG
--------------------------------------------------------------------------------
/test/TomatoEarlyBlight4.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoEarlyBlight4.JPG
--------------------------------------------------------------------------------
/test/TomatoEarlyBlight5.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoEarlyBlight5.JPG
--------------------------------------------------------------------------------
/test/TomatoEarlyBlight6.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoEarlyBlight6.JPG
--------------------------------------------------------------------------------
/test/TomatoHealthy1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoHealthy1.jpg
--------------------------------------------------------------------------------
/test/TomatoHealthy2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoHealthy2.JPG
--------------------------------------------------------------------------------
/test/TomatoHealthy3.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoHealthy3.JPG
--------------------------------------------------------------------------------
/test/TomatoHealthy4.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoHealthy4.JPG
--------------------------------------------------------------------------------
/test/TomatoYellowCurlVirus1.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoYellowCurlVirus1.JPG
--------------------------------------------------------------------------------
/test/TomatoYellowCurlVirus2.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoYellowCurlVirus2.JPG
--------------------------------------------------------------------------------
/test/TomatoYellowCurlVirus3.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoYellowCurlVirus3.JPG
--------------------------------------------------------------------------------
/test/TomatoYellowCurlVirus4.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoYellowCurlVirus4.JPG
--------------------------------------------------------------------------------
/test/TomatoYellowCurlVirus5.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/TomatoYellowCurlVirus5.JPG
--------------------------------------------------------------------------------
/test/t.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hashcode-Ankit/Plant-Disease-Detection/7fef0fac5bf2112afa23029967ef70c361ec3a8e/test/t.jpg
--------------------------------------------------------------------------------