Spaces:
Build error
Build error
Upload 40 files
Browse files- .gitattributes +7 -0
- 1.jpg +3 -0
- 2.jpg +3 -0
- 3.jpg +3 -0
- 5.jpg +3 -0
- Procfile +1 -0
- RandomForest.pkl +3 -0
- Runtime.txt +1 -0
- app.py +265 -0
- bootstrap.css +0 -0
- cities.js +61 -0
- config.py +1 -0
- core.jpg +0 -0
- crop-result.html +19 -0
- crop.html +137 -0
- crop_background.jpg +3 -0
- disease-result.html +14 -0
- disease.html +54 -0
- disease.py +484 -0
- farm_background.jpg +3 -0
- farm_background_1.jpg +3 -0
- favicon.ico +0 -0
- fertilizer-result.html +17 -0
- fertilizer.html +133 -0
- fertilizer.py +92 -0
- font-awesome.min.css +4 -0
- index.html +110 -0
- layout.html +229 -0
- logo.jpg +0 -0
- logo.png +0 -0
- model.py +40 -0
- move-top.png +0 -0
- plant-disease-classification-resnet-99-2.ipynb +0 -0
- plant_disease_model.pth +3 -0
- requirements.txt +9 -0
- s2.jpg +0 -0
- s3.jpg +0 -0
- s4.jpg +0 -0
- style.css +1626 -0
- test_components.html +14 -0
- try_again.html +26 -0
.gitattributes
CHANGED
@@ -33,3 +33,10 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
1.jpg filter=lfs diff=lfs merge=lfs -text
|
37 |
+
2.jpg filter=lfs diff=lfs merge=lfs -text
|
38 |
+
3.jpg filter=lfs diff=lfs merge=lfs -text
|
39 |
+
5.jpg filter=lfs diff=lfs merge=lfs -text
|
40 |
+
crop_background.jpg filter=lfs diff=lfs merge=lfs -text
|
41 |
+
farm_background_1.jpg filter=lfs diff=lfs merge=lfs -text
|
42 |
+
farm_background.jpg filter=lfs diff=lfs merge=lfs -text
|
1.jpg
ADDED
![]() |
Git LFS Details
|
2.jpg
ADDED
![]() |
Git LFS Details
|
3.jpg
ADDED
![]() |
Git LFS Details
|
5.jpg
ADDED
![]() |
Git LFS Details
|
Procfile
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
web: gunicorn app:app --log-level debug
|
RandomForest.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d19ade05e4f69bd07a948df68cd3a62d296878acf78138682911f0d948e75801
|
3 |
+
size 714832
|
Runtime.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
python-3.6.12
|
app.py
ADDED
@@ -0,0 +1,265 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Importing essential libraries and modules
|
2 |
+
|
3 |
+
from flask import Flask, render_template, request, Markup
|
4 |
+
import numpy as np
|
5 |
+
import pandas as pd
|
6 |
+
from utils.disease import disease_dic
|
7 |
+
from utils.fertilizer import fertilizer_dic
|
8 |
+
import requests
|
9 |
+
import config
|
10 |
+
import pickle
|
11 |
+
import io
|
12 |
+
import torch
|
13 |
+
from torchvision import transforms
|
14 |
+
from PIL import Image
|
15 |
+
from utils.model import ResNet9
|
16 |
+
# ==============================================================================================
|
17 |
+
|
18 |
+
# -------------------------LOADING THE TRAINED MODELS -----------------------------------------------
|
19 |
+
|
20 |
+
# Loading plant disease classification model
|
21 |
+
|
22 |
+
disease_classes = ['Apple___Apple_scab',
|
23 |
+
'Apple___Black_rot',
|
24 |
+
'Apple___Cedar_apple_rust',
|
25 |
+
'Apple___healthy',
|
26 |
+
'Blueberry___healthy',
|
27 |
+
'Cherry_(including_sour)___Powdery_mildew',
|
28 |
+
'Cherry_(including_sour)___healthy',
|
29 |
+
'Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot',
|
30 |
+
'Corn_(maize)___Common_rust_',
|
31 |
+
'Corn_(maize)___Northern_Leaf_Blight',
|
32 |
+
'Corn_(maize)___healthy',
|
33 |
+
'Grape___Black_rot',
|
34 |
+
'Grape___Esca_(Black_Measles)',
|
35 |
+
'Grape___Leaf_blight_(Isariopsis_Leaf_Spot)',
|
36 |
+
'Grape___healthy',
|
37 |
+
'Orange___Haunglongbing_(Citrus_greening)',
|
38 |
+
'Peach___Bacterial_spot',
|
39 |
+
'Peach___healthy',
|
40 |
+
'Pepper,_bell___Bacterial_spot',
|
41 |
+
'Pepper,_bell___healthy',
|
42 |
+
'Potato___Early_blight',
|
43 |
+
'Potato___Late_blight',
|
44 |
+
'Potato___healthy',
|
45 |
+
'Raspberry___healthy',
|
46 |
+
'Soybean___healthy',
|
47 |
+
'Squash___Powdery_mildew',
|
48 |
+
'Strawberry___Leaf_scorch',
|
49 |
+
'Strawberry___healthy',
|
50 |
+
'Tomato___Bacterial_spot',
|
51 |
+
'Tomato___Early_blight',
|
52 |
+
'Tomato___Late_blight',
|
53 |
+
'Tomato___Leaf_Mold',
|
54 |
+
'Tomato___Septoria_leaf_spot',
|
55 |
+
'Tomato___Spider_mites Two-spotted_spider_mite',
|
56 |
+
'Tomato___Target_Spot',
|
57 |
+
'Tomato___Tomato_Yellow_Leaf_Curl_Virus',
|
58 |
+
'Tomato___Tomato_mosaic_virus',
|
59 |
+
'Tomato___healthy']
|
60 |
+
|
61 |
+
disease_model_path = '/plant_disease_model.pth'
|
62 |
+
disease_model = ResNet9(3, len(disease_classes))
|
63 |
+
disease_model.load_state_dict(torch.load(
|
64 |
+
disease_model_path, map_location=torch.device('cpu')))
|
65 |
+
disease_model.eval()
|
66 |
+
|
67 |
+
|
68 |
+
# Loading crop recommendation model
|
69 |
+
|
70 |
+
crop_recommendation_model_path = 'models/RandomForest.pkl'
|
71 |
+
crop_recommendation_model = pickle.load(
|
72 |
+
open(crop_recommendation_model_path, 'rb'))
|
73 |
+
|
74 |
+
|
75 |
+
# =========================================================================================
|
76 |
+
|
77 |
+
# Custom functions for calculations
|
78 |
+
|
79 |
+
|
80 |
+
def weather_fetch(city_name):
|
81 |
+
"""
|
82 |
+
Fetch and returns the temperature and humidity of a city
|
83 |
+
:params: city_name
|
84 |
+
:return: temperature, humidity
|
85 |
+
"""
|
86 |
+
api_key = config.weather_api_key
|
87 |
+
base_url = "http://api.openweathermap.org/data/2.5/weather?"
|
88 |
+
|
89 |
+
complete_url = base_url + "appid=" + api_key + "&q=" + city_name
|
90 |
+
response = requests.get(complete_url)
|
91 |
+
x = response.json()
|
92 |
+
|
93 |
+
if x["cod"] != "404":
|
94 |
+
y = x["main"]
|
95 |
+
|
96 |
+
temperature = round((y["temp"] - 273.15), 2)
|
97 |
+
humidity = y["humidity"]
|
98 |
+
return temperature, humidity
|
99 |
+
else:
|
100 |
+
return None
|
101 |
+
|
102 |
+
|
103 |
+
def predict_image(img, model=disease_model):
|
104 |
+
"""
|
105 |
+
Transforms image to tensor and predicts disease label
|
106 |
+
:params: image
|
107 |
+
:return: prediction (string)
|
108 |
+
"""
|
109 |
+
transform = transforms.Compose([
|
110 |
+
transforms.Resize(256),
|
111 |
+
transforms.ToTensor(),
|
112 |
+
])
|
113 |
+
image = Image.open(io.BytesIO(img))
|
114 |
+
img_t = transform(image)
|
115 |
+
img_u = torch.unsqueeze(img_t, 0)
|
116 |
+
|
117 |
+
# Get predictions from model
|
118 |
+
yb = model(img_u)
|
119 |
+
# Pick index with highest probability
|
120 |
+
_, preds = torch.max(yb, dim=1)
|
121 |
+
prediction = disease_classes[preds[0].item()]
|
122 |
+
# Retrieve the class label
|
123 |
+
return prediction
|
124 |
+
|
125 |
+
# ===============================================================================================
|
126 |
+
# ------------------------------------ FLASK APP -------------------------------------------------
|
127 |
+
|
128 |
+
|
129 |
+
app = Flask(__name__)
|
130 |
+
|
131 |
+
# render home page
|
132 |
+
|
133 |
+
|
134 |
+
@ app.route('/')
|
135 |
+
def home():
|
136 |
+
title = 'Harvestify - Home'
|
137 |
+
return render_template('index.html', title=title)
|
138 |
+
|
139 |
+
# render crop recommendation form page
|
140 |
+
|
141 |
+
|
142 |
+
@ app.route('/crop-recommend')
|
143 |
+
def crop_recommend():
|
144 |
+
title = 'Harvestify - Crop Recommendation'
|
145 |
+
return render_template('crop.html', title=title)
|
146 |
+
|
147 |
+
# render fertilizer recommendation form page
|
148 |
+
|
149 |
+
|
150 |
+
@ app.route('/fertilizer')
|
151 |
+
def fertilizer_recommendation():
|
152 |
+
title = 'Harvestify - Fertilizer Suggestion'
|
153 |
+
|
154 |
+
return render_template('fertilizer.html', title=title)
|
155 |
+
|
156 |
+
# render disease prediction input page
|
157 |
+
|
158 |
+
|
159 |
+
|
160 |
+
|
161 |
+
# ===============================================================================================
|
162 |
+
|
163 |
+
# RENDER PREDICTION PAGES
|
164 |
+
|
165 |
+
# render crop recommendation result page
|
166 |
+
|
167 |
+
|
168 |
+
@ app.route('/crop-predict', methods=['POST'])
|
169 |
+
def crop_prediction():
|
170 |
+
title = 'Harvestify - Crop Recommendation'
|
171 |
+
|
172 |
+
if request.method == 'POST':
|
173 |
+
N = int(request.form['nitrogen'])
|
174 |
+
P = int(request.form['phosphorous'])
|
175 |
+
K = int(request.form['pottasium'])
|
176 |
+
ph = float(request.form['ph'])
|
177 |
+
rainfall = float(request.form['rainfall'])
|
178 |
+
|
179 |
+
# state = request.form.get("stt")
|
180 |
+
city = request.form.get("city")
|
181 |
+
|
182 |
+
if weather_fetch(city) != None:
|
183 |
+
temperature, humidity = weather_fetch(city)
|
184 |
+
data = np.array([[N, P, K, temperature, humidity, ph, rainfall]])
|
185 |
+
my_prediction = crop_recommendation_model.predict(data)
|
186 |
+
final_prediction = my_prediction[0]
|
187 |
+
|
188 |
+
return render_template('crop-result.html', prediction=final_prediction, title=title)
|
189 |
+
|
190 |
+
else:
|
191 |
+
|
192 |
+
return render_template('try_again.html', title=title)
|
193 |
+
|
194 |
+
# render fertilizer recommendation result page
|
195 |
+
|
196 |
+
|
197 |
+
@ app.route('/fertilizer-predict', methods=['POST'])
|
198 |
+
def fert_recommend():
|
199 |
+
title = 'Harvestify - Fertilizer Suggestion'
|
200 |
+
|
201 |
+
crop_name = str(request.form['cropname'])
|
202 |
+
N = int(request.form['nitrogen'])
|
203 |
+
P = int(request.form['phosphorous'])
|
204 |
+
K = int(request.form['pottasium'])
|
205 |
+
# ph = float(request.form['ph'])
|
206 |
+
|
207 |
+
df = pd.read_csv('Data/fertilizer.csv')
|
208 |
+
|
209 |
+
nr = df[df['Crop'] == crop_name]['N'].iloc[0]
|
210 |
+
pr = df[df['Crop'] == crop_name]['P'].iloc[0]
|
211 |
+
kr = df[df['Crop'] == crop_name]['K'].iloc[0]
|
212 |
+
|
213 |
+
n = nr - N
|
214 |
+
p = pr - P
|
215 |
+
k = kr - K
|
216 |
+
temp = {abs(n): "N", abs(p): "P", abs(k): "K"}
|
217 |
+
max_value = temp[max(temp.keys())]
|
218 |
+
if max_value == "N":
|
219 |
+
if n < 0:
|
220 |
+
key = 'NHigh'
|
221 |
+
else:
|
222 |
+
key = "Nlow"
|
223 |
+
elif max_value == "P":
|
224 |
+
if p < 0:
|
225 |
+
key = 'PHigh'
|
226 |
+
else:
|
227 |
+
key = "Plow"
|
228 |
+
else:
|
229 |
+
if k < 0:
|
230 |
+
key = 'KHigh'
|
231 |
+
else:
|
232 |
+
key = "Klow"
|
233 |
+
|
234 |
+
response = Markup(str(fertilizer_dic[key]))
|
235 |
+
|
236 |
+
return render_template('fertilizer-result.html', recommendation=response, title=title)
|
237 |
+
|
238 |
+
# render disease prediction result page
|
239 |
+
|
240 |
+
|
241 |
+
@app.route('/disease-predict', methods=['GET', 'POST'])
|
242 |
+
def disease_prediction():
|
243 |
+
title = 'Harvestify - Disease Detection'
|
244 |
+
|
245 |
+
if request.method == 'POST':
|
246 |
+
if 'file' not in request.files:
|
247 |
+
return redirect(request.url)
|
248 |
+
file = request.files.get('file')
|
249 |
+
if not file:
|
250 |
+
return render_template('disease.html', title=title)
|
251 |
+
try:
|
252 |
+
img = file.read()
|
253 |
+
|
254 |
+
prediction = predict_image(img)
|
255 |
+
|
256 |
+
prediction = Markup(str(disease_dic[prediction]))
|
257 |
+
return render_template('disease-result.html', prediction=prediction, title=title)
|
258 |
+
except:
|
259 |
+
pass
|
260 |
+
return render_template('disease.html', title=title)
|
261 |
+
|
262 |
+
|
263 |
+
# ===============================================================================================
|
264 |
+
if __name__ == '__main__':
|
265 |
+
app.run(debug=False)
|
bootstrap.css
ADDED
The diff for this file is too large to render.
See raw diff
|
|
cities.js
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var state_arr = new Array("Andaman & Nicobar", "Andhra Pradesh", "Arunachal Pradesh", "Assam", "Bihar", "Chandigarh", "Chhattisgarh", "Dadra & Nagar Haveli", "Daman & Diu", "Delhi", "Goa", "Gujarat", "Haryana", "Himachal Pradesh", "Jammu & Kashmir", "Jharkhand", "Karnataka", "Kerala", "Lakshadweep", "Madhya Pradesh", "Maharashtra", "Manipur", "Meghalaya", "Mizoram", "Nagaland", "Orissa", "Pondicherry", "Punjab", "Rajasthan", "Sikkim", "Tamil Nadu", "Tripura", "Uttar Pradesh", "Uttaranchal", "West Bengal");
|
2 |
+
|
3 |
+
var s_a = new Array();
|
4 |
+
s_a[0]="";
|
5 |
+
s_a[1]=" Alipur | Andaman Island | Anderson Island | Arainj-Laka-Punga | Austinabad | Bamboo Flat | Barren Island | Beadonabad | Betapur | Bindraban | Bonington | Brookesabad | Cadell Point | Calicut | Chetamale | Cinque Islands | Defence Island | Digilpur | Dolyganj | Flat Island | Geinyale | Great Coco Island | Haddo | Havelock Island | Henry Lawrence Island | Herbertabad | Hobdaypur | Ilichar | Ingoie | Inteview Island | Jangli Ghat | Jhon Lawrence Island | Karen | Kartara | KYD Islannd | Landfall Island | Little Andmand | Little Coco Island | Long Island | Maimyo | Malappuram | Manglutan | Manpur | Mitha Khari | Neill Island | Nicobar Island | North Brother Island | North Passage Island | North Sentinel Island | Nothen Reef Island | Outram Island | Pahlagaon | Palalankwe | Passage Island | Phaiapong | Phoenix Island | Port Blair | Preparis Island | Protheroepur | Rangachang | Rongat | Rutland Island | Sabari | Saddle Peak | Shadipur | Smith Island | Sound Island | South Sentinel Island | Spike Island | Tarmugli Island | Taylerabad | Titaije | Toibalawe | Tusonabad | West Island | Wimberleyganj | Yadita";
|
6 |
+
s_a[2]=" Achampet | Adilabad | Adoni | Alampur | Allagadda | Alur | Amalapuram | Amangallu | Anakapalle | Anantapur | Andole | Araku | Armoor | Asifabad | Aswaraopet | Atmakur | B. Kothakota | Badvel | Banaganapalle | Bandar | Bangarupalem | Banswada | Bapatla | Bellampalli | Bhadrachalam | Bhainsa | Bheemunipatnam | Bhimadole | Bhimavaram | Bhongir | Bhooragamphad | Boath | Bobbili | Bodhan | Chandoor | Chavitidibbalu | Chejerla | Chepurupalli | Cherial | Chevella | Chinnor | Chintalapudi | Chintapalle | Chirala | Chittoor | Chodavaram | Cuddapah | Cumbum | Darsi | Devarakonda | Dharmavaram | Dichpalli | Divi | Donakonda | Dronachalam | East Godavari | Eluru | Eturnagaram | Gadwal | Gajapathinagaram | Gajwel | Garladinne | Giddalur | Godavari | Gooty | Gudivada | Gudur | Guntur | Hindupur | Hunsabad | Huzurabad | Huzurnagar | Hyderabad | Ibrahimpatnam | Jaggayyapet | Jagtial | Jammalamadugu | Jangaon | Jangareddygudem | Jannaram | Kadiri | Kaikaluru | Kakinada | Kalwakurthy | Kalyandurg | Kamalapuram | Kamareddy | Kambadur | Kanaganapalle | Kandukuru | Kanigiri | Karimnagar | Kavali | Khammam | Khanapur (AP) | Kodangal | Koduru | Koilkuntla | Kollapur | Kothagudem | Kovvur | Krishna | Krosuru | Kuppam | Kurnool | Lakkireddipalli | Madakasira | Madanapalli | Madhira | Madnur | Mahabubabad | Mahabubnagar | Mahadevapur | Makthal | Mancherial | Mandapeta | Mangalagiri | Manthani | Markapur | Marturu | Medachal | Medak | Medarmetla | Metpalli | Mriyalguda | Mulug | Mylavaram | Nagarkurnool | Nalgonda | Nallacheruvu | Nampalle | Nandigama | Nandikotkur | Nandyal | Narasampet | Narasaraopet | Narayanakhed | Narayanpet | Narsapur | Narsipatnam | Nazvidu | Nelloe | Nellore | Nidamanur | Nirmal | Nizamabad | Nuguru | Ongole | Outsarangapalle | Paderu | Pakala | Palakonda | Paland | Palmaneru | Pamuru | Pargi | Parkal | Parvathipuram | Pathapatnam | Pattikonda | Peapalle | Peddapalli | Peddapuram | Penukonda | Piduguralla | Piler | Pithapuram | Podili | Polavaram | Prakasam | Proddatur | Pulivendla | Punganur | Putturu | Rajahmundri | Rajampeta | Ramachandrapuram | Ramannapet | Rampachodavaram | Rangareddy | Rapur | Rayachoti | Rayadurg | Razole | Repalle | Saluru | Sangareddy | Sathupalli | Sattenapalle | Satyavedu | Shadnagar | Siddavattam | Siddipet | Sileru | Sircilla | Sirpur Kagaznagar | Sodam | Sompeta | Srikakulam | Srikalahasthi | Srisailam | Srungavarapukota | Sudhimalla | Sullarpet | Tadepalligudem | Tadipatri | Tanduru | Tanuku | Tekkali | Tenali | Thungaturthy | Tirivuru | Tirupathi | Tuni | Udaygiri | Ulvapadu | Uravakonda | Utnor | V.R. Puram | Vaimpalli | Vayalpad | Venkatgiri | Venkatgirikota | Vijayawada | Vikrabad | Vinjamuru | Vinukonda | Visakhapatnam | Vizayanagaram | Vizianagaram | Vuyyuru | Wanaparthy | Warangal | Wardhannapet | Yelamanchili | Yelavaram | Yeleswaram | Yellandu | Yellanuru | Yellareddy | Yerragondapalem | Zahirabad ";
|
7 |
+
s_a[3]=" Along | Anini | Anjaw | Bameng | Basar | Changlang | Chowkhem | Daporizo | Dibang Valley | Dirang | Hayuliang | Huri | Itanagar | Jairampur | Kalaktung | Kameng | Khonsa | Kolaring | Kurung Kumey | Lohit | Lower Dibang Valley | Lower Subansiri | Mariyang | Mechuka | Miao | Nefra | Pakkekesang | Pangin | Papum Pare | Passighat | Roing | Sagalee | Seppa | Siang | Tali | Taliha | Tawang | Tezu | Tirap | Tuting | Upper Siang | Upper Subansiri | Yiang Kiag ";
|
8 |
+
s_a[4]=" Abhayapuri | Baithalangshu | Barama | Barpeta Road | Bihupuria | Bijni | Bilasipara | Bokajan | Bokakhat | Boko | Bongaigaon | Cachar | Cachar Hills | Darrang | Dhakuakhana | Dhemaji | Dhubri | Dibrugarh | Digboi | Diphu | Goalpara | Gohpur | Golaghat | Guwahati | Hailakandi | Hajo | Halflong | Hojai | Howraghat | Jorhat | Kamrup | Karbi Anglong | Karimganj | Kokarajhar | Kokrajhar | Lakhimpur | Maibong | Majuli | Mangaldoi | Mariani | Marigaon | Moranhat | Morigaon | Nagaon | Nalbari | Rangapara | Sadiya | Sibsagar | Silchar | Sivasagar | Sonitpur | Tarabarihat | Tezpur | Tinsukia | Udalgiri | Udalguri | UdarbondhBarpeta";
|
9 |
+
s_a[5]=" Adhaura | Amarpur | Araria | Areraj | Arrah | Arwal | Aurangabad | Bagaha | Banka | Banmankhi | Barachakia | Barauni | Barh | Barosi | Begusarai | Benipatti | Benipur | Bettiah | Bhabhua | Bhagalpur | Bhojpur | Bidupur | Biharsharif | Bikram | Bikramganj | Birpur | Buxar | Chakai | Champaran | Chapara | Dalsinghsarai | Danapur | Darbhanga | Daudnagar | Dhaka | Dhamdaha | Dumraon | Ekma | Forbesganj | Gaya | Gogri | Gopalganj | H.Kharagpur | Hajipur | Hathua | Hilsa | Imamganj | Jahanabad | Jainagar | Jamshedpur | Jamui | Jehanabad | Jhajha | Jhanjharpur | Kahalgaon | Kaimur (Bhabua) | Katihar | Katoria | Khagaria | Kishanganj | Korha | Lakhisarai | Madhepura | Madhubani | Maharajganj | Mahua | Mairwa | Mallehpur | Masrakh | Mohania | Monghyr | Motihari | Motipur | Munger | Muzaffarpur | Nabinagar | Nalanda | Narkatiaganj | Naugachia | Nawada | Pakribarwan | Pakridayal | Patna | Phulparas | Piro | Pupri | Purena | Purnia | Rafiganj | Rajauli | Ramnagar | Raniganj | Raxaul | Rohtas | Rosera | S.Bakhtiarpur | Saharsa | Samastipur | Saran | Sasaram | Seikhpura | Sheikhpura | Sheohar | Sherghati | Sidhawalia | Singhwara | Sitamarhi | Siwan | Sonepur | Supaul | Thakurganj | Triveniganj | Udakishanganj | Vaishali | Wazirganj";
|
10 |
+
s_a[6]=" Chandigarh | Mani Marja";
|
11 |
+
s_a[7]=" Ambikapur | Antagarh | Arang | Bacheli | Bagbahera | Bagicha | Baikunthpur | Balod | Balodabazar | Balrampur | Barpalli | Basana | Bastanar | Bastar | Bderajpur | Bemetara | Berla | Bhairongarh | Bhanupratappur | Bharathpur | Bhatapara | Bhilai | Bhilaigarh | Bhopalpatnam | Bijapur | Bilaspur | Bodla | Bokaband | Chandipara | Chhinagarh | Chhuriakala | Chingmut | Chuikhadan | Dabhara | Dallirajhara | Dantewada | Deobhog | Dhamda | Dhamtari | Dharamjaigarh | Dongargarh | Durg | Durgakondal | Fingeshwar | Gariaband | Garpa | Gharghoda | Gogunda | Ilamidi | Jagdalpur | Janjgir | Janjgir-Champa | Jarwa | Jashpur | Jashpurnagar | Kabirdham-Kawardha | Kanker | Kasdol | Kathdol | Kathghora | Kawardha | Keskal | Khairgarh | Kondagaon | Konta | Korba | Korea | Kota | Koyelibeda | Kuakunda | Kunkuri | Kurud | Lohadigundah | Lormi | Luckwada | Mahasamund | Makodi | Manendragarh | Manpur | Marwahi | Mohla | Mungeli | Nagri | Narainpur | Narayanpur | Neora | Netanar | Odgi | Padamkot | Pakhanjur | Pali | Pandaria | Pandishankar | Parasgaon | Pasan | Patan | Pathalgaon | Pendra | Pratappur | Premnagar | Raigarh | Raipur | Rajnandgaon | Rajpur | Ramchandrapur | Saraipali | Saranggarh | Sarona | Semaria | Shakti | Sitapur | Sukma | Surajpur | Surguja | Tapkara | Toynar | Udaipur | Uproda | Wadrainagar";
|
12 |
+
s_a[8]=" Amal | Amli | Bedpa | Chikhli | Dadra & Nagar Haveli | Dahikhed | Dolara | Galonda | Kanadi | Karchond | Khadoli | Kharadpada | Kherabari | Kherdi | Kothar | Luari | Mashat | Rakholi | Rudana | Saili | Sili | Silvassa | Sindavni | Udva | Umbarkoi | Vansda | Vasona | Velugam ";
|
13 |
+
s_a[9]=" Brancavare | Dagasi | Daman | Diu | Magarvara | Nagwa | Pariali | Passo Covo ";
|
14 |
+
s_a[10]=" Central Delhi | East Delhi | New Delhi | North Delhi | North East Delhi | North West Delhi | South Delhi | South West Delhi | West Delhi ";
|
15 |
+
s_a[11]=" Canacona | Candolim | Chinchinim | Cortalim | Goa | Jua | Madgaon | Mahem | Mapuca | Marmagao | Panji | Ponda | Sanvordem | Terekhol ";
|
16 |
+
s_a[12]=" Ahmedabad | Ahwa | Amod | Amreli | Anand | Anjar | Ankaleshwar | Babra | Balasinor | Banaskantha | Bansada | Bardoli | Bareja | Baroda | Barwala | Bayad | Bhachav | Bhanvad | Bharuch | Bhavnagar | Bhiloda | Bhuj | Billimora | Borsad | Botad | Chanasma | Chhota Udaipur | Chotila | Dabhoi | Dahod | Damnagar | Dang | Danta | Dasada | Dediapada | Deesa | Dehgam | Deodar | Devgadhbaria | Dhandhuka | Dhanera | Dharampur | Dhari | Dholka | Dhoraji | Dhrangadhra | Dhrol | Dwarka | Fortsongadh | Gadhada | Gandhi Nagar | Gariadhar | Godhra | Gogodar | Gondal | Halol | Halvad | Harij | Himatnagar | Idar | Jambusar | Jamjodhpur | Jamkalyanpur | Jamnagar | Jasdan | Jetpur | Jhagadia | Jhalod | Jodia | Junagadh | Junagarh | Kalawad | Kalol | Kapad Wanj | Keshod | Khambat | Khambhalia | Khavda | Kheda | Khedbrahma | Kheralu | Kodinar | Kotdasanghani | Kunkawav | Kutch | Kutchmandvi | Kutiyana | Lakhpat | Lakhtar | Lalpur | Limbdi | Limkheda | Lunavada | M.M.Mangrol | Mahuva | Malia-Hatina | Maliya | Malpur | Manavadar | Mandvi | Mangrol | Mehmedabad | Mehsana | Miyagam | Modasa | Morvi | Muli | Mundra | Nadiad | Nakhatrana | Nalia | Narmada | Naswadi | Navasari | Nizar | Okha | Paddhari | Padra | Palanpur | Palitana | Panchmahals | Patan | Pavijetpur | Porbandar | Prantij | Radhanpur | Rahpar | Rajaula | Rajkot | Rajpipla | Ranavav | Sabarkantha | Sanand | Sankheda | Santalpur | Santrampur | Savarkundla | Savli | Sayan | Sayla | Shehra | Sidhpur | Sihor | Sojitra | Sumrasar | Surat | Surendranagar | Talaja | Thara | Tharad | Thasra | Una-Diu | Upleta | Vadgam | Vadodara | Valia | Vallabhipur | Valod | Valsad | Vanthali | Vapi | Vav | Veraval | Vijapur | Viramgam | Visavadar | Visnagar | Vyara | Waghodia | Wankaner ";
|
17 |
+
s_a[13]=" Adampur Mandi | Ambala | Assandh | Bahadurgarh | Barara | Barwala | Bawal | Bawanikhera | Bhiwani | Charkhidadri | Cheeka | Chhachrauli | Dabwali | Ellenabad | Faridabad | Fatehabad | Ferojpur Jhirka | Gharaunda | Gohana | Gurgaon | Hansi | Hisar | Jagadhari | Jatusana | Jhajjar | Jind | Julana | Kaithal | Kalanaur | Kalanwali | Kalka | Karnal | Kosli | Kurukshetra | Loharu | Mahendragarh | Meham | Mewat | Mohindergarh | Naraingarh | Narnaul | Narwana | Nilokheri | Nuh | Palwal | Panchkula | Panipat | Pehowa | Ratia | Rewari | Rohtak | Safidon | Sirsa | Siwani | Sonipat | Tohana | Tohsam | Yamunanagar ";
|
18 |
+
s_a[14]=" Amb | Arki | Banjar | Bharmour | Bilaspur | Chamba | Churah | Dalhousie | Dehra Gopipur | Hamirpur | Jogindernagar | Kalpa | Kangra | Kinnaur | Kullu | Lahaul | Mandi | Nahan | Nalagarh | Nirmand | Nurpur | Palampur | Pangi | Paonta | Pooh | Rajgarh | Rampur Bushahar | Rohru | Shimla | Sirmaur | Solan | Spiti | Sundernagar | Theog | Udaipur | Una";
|
19 |
+
s_a[15]=" Akhnoor | Anantnag | Badgam | Bandipur | Baramulla | Basholi | Bedarwah | Budgam | Doda | Gulmarg | Jammu | Kalakot | Kargil | Karnah | Kathua | Kishtwar | Kulgam | Kupwara | Leh | Mahore | Nagrota | Nobra | Nowshera | Nyoma | Padam | Pahalgam | Patnitop | Poonch | Pulwama | Rajouri | Ramban | Ramnagar | Reasi | Samba | Srinagar | Udhampur | Vaishno Devi ";
|
20 |
+
s_a[16]=" Bagodar | Baharagora | Balumath | Barhi | Barkagaon | Barwadih | Basia | Bermo | Bhandaria | Bhawanathpur | Bishrampur | Bokaro | Bolwa | Bundu | Chaibasa | Chainpur | Chakardharpur | Chandil | Chatra | Chavparan | Daltonganj | Deoghar | Dhanbad | Dumka | Dumri | Garhwa | Garu | Ghaghra | Ghatsila | Giridih | Godda | Gomia | Govindpur | Gumla | Hazaribagh | Hunterganj | Ichak | Itki | Jagarnathpur | Jamshedpur | Jamtara | Japla | Jharmundi | Jhinkpani | Jhumaritalaiya | Kathikund | Kharsawa | Khunti | Koderma | Kolebira | Latehar | Lohardaga | Madhupur | Mahagama | Maheshpur Raj | Mandar | Mandu | Manoharpur | Muri | Nagarutatri | Nala | Noamundi | Pakur | Palamu | Palkot | Patan | Rajdhanwar | Rajmahal | Ramgarh | Ranchi | Sahibganj | Saraikela | Simaria | Simdega | Singhbhum | Tisri | Torpa ";
|
21 |
+
s_a[17]=" Afzalpur | Ainapur | Aland | Alur | Anekal | Ankola | Arsikere | Athani | Aurad | Bableshwar | Badami | Bagalkot | Bagepalli | Bailhongal | Bangalore | Bangalore Rural | Bangarpet | Bantwal | Basavakalyan | Basavanabagewadi | Basavapatna | Belgaum | Bellary | Belthangady | Belur | Bhadravati | Bhalki | Bhatkal | Bidar | Bijapur | Biligi | Chadchan | Challakere | Chamrajnagar | Channagiri | Channapatna | Channarayapatna | Chickmagalur | Chikballapur | Chikkaballapur | Chikkanayakanahalli | Chikkodi | Chikmagalur | Chincholi | Chintamani | Chitradurga | Chittapur | Cowdahalli | Davanagere | Deodurga | Devangere | Devarahippargi | Dharwad | Doddaballapur | Gadag | Gangavathi | Gokak | Gowribdanpur | Gubbi | Gulbarga | Gundlupet | H.B.Halli | H.D. Kote | Haliyal | Hampi | Hangal | Harapanahalli | Hassan | Haveri | Hebri | Hirekerur | Hiriyur | Holalkere | Holenarsipur | Honnali | Honnavar | Hosadurga | Hosakote | Hosanagara | Hospet | Hubli | Hukkeri | Humnabad | Hungund | Hunsagi | Hunsur | Huvinahadagali | Indi | Jagalur | Jamkhandi | Jewargi | Joida | K.R. Nagar | Kadur | Kalghatagi | Kamalapur | Kanakapura | Kannada | Kargal | Karkala | Karwar | Khanapur | Kodagu | Kolar | Kollegal | Koppa | Koppal | Koratageri | Krishnarajapet | Kudligi | Kumta | Kundapur | Kundgol | Kunigal | Kurugodu | Kustagi | Lingsugur | Madikeri | Madugiri | Malavalli | Malur | Mandya | Mangalore | Manipal | Manvi | Mashal | Molkalmuru | Mudalgi | Muddebihal | Mudhol | Mudigere | Mulbagal | Mundagod | Mundargi | Murugod | Mysore | Nagamangala | Nanjangud | Nargund | Narsimrajapur | Navalgund | Nelamangala | Nimburga | Pandavapura | Pavagada | Puttur | Raibag | Raichur | Ramdurg | Ranebennur | Ron | Sagar | Sakleshpur | Salkani | Sandur | Saundatti | Savanur | Sedam | Shahapur | Shankarnarayana | Shikaripura | Shimoga | Shirahatti | Shorapur | Siddapur | Sidlaghatta | Sindagi | Sindhanur | Sira | Sirsi | Siruguppa | Somwarpet | Sorab | Sringeri | Sriniwaspur | Srirangapatna | Sullia | T. Narsipur | Tallak | Tarikere | Telgi | Thirthahalli | Tiptur | Tumkur | Turuvekere | Udupi | Virajpet | Wadi | Yadgiri | Yelburga | Yellapur ";
|
22 |
+
s_a[18]=" Adimaly | Adoor | Agathy | Alappuzha | Alathur | Alleppey | Alwaye | Amini | Androth | Attingal | Badagara | Bitra | Calicut | Cannanore | Chetlet | Ernakulam | Idukki | Irinjalakuda | Kadamath | Kalpeni | Kalpetta | Kanhangad | Kanjirapally | Kannur | Karungapally | Kasargode | Kavarathy | Kiltan | Kochi | Koduvayur | Kollam | Kottayam | Kovalam | Kozhikode | Kunnamkulam | Malappuram | Mananthodi | Manjeri | Mannarghat | Mavelikkara | Minicoy | Munnar | Muvattupuzha | Nedumandad | Nedumgandam | Nilambur | Palai | Palakkad | Palghat | Pathaanamthitta | Pathanamthitta | Payyanur | Peermedu | Perinthalmanna | Perumbavoor | Punalur | Quilon | Ranni | Shertallai | Shoranur | Taliparamba | Tellicherry | Thiruvananthapuram | Thodupuzha | Thrissur | Tirur | Tiruvalla | Trichur | Trivandrum | Uppala | Vadakkanchery | Vikom | Wayanad ";
|
23 |
+
s_a[19]=" Agatti Island | Bingaram Island | Bitra Island | Chetlat Island | Kadmat Island | Kalpeni Island | Kavaratti Island | Kiltan Island | Lakshadweep Sea | Minicoy Island | North Island | South Island ";
|
24 |
+
s_a[20]=" Agar | Ajaigarh | Alirajpur | Amarpatan | Amarwada | Ambah | Anuppur | Arone | Ashoknagar | Ashta | Atner | Babaichichli | Badamalhera | Badarwsas | Badnagar | Badnawar | Badwani | Bagli | Baihar | Balaghat | Baldeogarh | Baldi | Bamori | Banda | Bandhavgarh | Bareli | Baroda | Barwaha | Barwani | Batkakhapa | Begamganj | Beohari | Berasia | Berchha | Betul | Bhainsdehi | Bhander | Bhanpura | Bhikangaon | Bhimpur | Bhind | Bhitarwar | Bhopal | Biaora | Bijadandi | Bijawar | Bijaypur | Bina | Birsa | Birsinghpur | Budhni | Burhanpur | Buxwaha | Chachaura | Chanderi | Chaurai | Chhapara | Chhatarpur | Chhindwara | Chicholi | Chitrangi | Churhat | Dabra | Damoh | Datia | Deori | Deosar | Depalpur | Dewas | Dhar | Dharampuri | Dindori | Gadarwara | Gairatganj | Ganjbasoda | Garoth | Ghansour | Ghatia | Ghatigaon | Ghorandogri | Ghughari | Gogaon | Gohad | Goharganj | Gopalganj | Gotegaon | Gourihar | Guna | Gunnore | Gwalior | Gyraspur | Hanumana | Harda | Harrai | Harsud | Hatta | Hoshangabad | Ichhawar | Indore | Isagarh | Itarsi | Jabalpur | Jabera | Jagdalpur | Jaisinghnagar | Jaithari | Jaitpur | Jaitwara | Jamai | Jaora | Jatara | Jawad | Jhabua | Jobat | Jora | Kakaiya | Kannod | Kannodi | Karanjia | Kareli | Karera | Karhal | Karpa | Kasrawad | Katangi | Katni | Keolari | Khachrod | Khajuraho | Khakner | Khalwa | Khandwa | Khaniadhana | Khargone | Khategaon | Khetia | Khilchipur | Khirkiya | Khurai | Kolaras | Kotma | Kukshi | Kundam | Kurwai | Kusmi | Laher | Lakhnadon | Lamta | Lanji | Lateri | Laundi | Maheshwar | Mahidpurcity | Maihar | Majhagwan | Majholi | Malhargarh | Manasa | Manawar | Mandla | Mandsaur | Manpur | Mauganj | Mawai | Mehgaon | Mhow | Morena | Multai | Mungaoli | Nagod | Nainpur | Narsingarh | Narsinghpur | Narwar | Nasrullaganj | Nateran | Neemuch | Niwari | Niwas | Nowgaon | Pachmarhi | Pandhana | Pandhurna | Panna | Parasia | Patan | Patera | Patharia | Pawai | Petlawad | Pichhore | Piparia | Pohari | Prabhapattan | Punasa | Pushprajgarh | Raghogarh | Raghunathpur | Rahatgarh | Raisen | Rajgarh | Rajpur | Ratlam | Rehli | Rewa | Sabalgarh | Sagar | Sailana | Sanwer | Sarangpur | Sardarpur | Satna | Saunsar | Sehore | Sendhwa | Seondha | Seoni | Seonimalwa | Shahdol | Shahnagar | Shahpur | Shajapur | Sheopur | Sheopurkalan | Shivpuri | Shujalpur | Sidhi | Sihora | Silwani | Singrauli | Sirmour | Sironj | Sitamau | Sohagpur | Sondhwa | Sonkatch | Susner | Tamia | Tarana | Tendukheda | Teonthar | Thandla | Tikamgarh | Timarani | Udaipura | Ujjain | Umaria | Umariapan | Vidisha | Vijayraghogarh | Waraseoni | Zhirnia ";
|
25 |
+
s_a[21]=" Achalpur | Aheri | Ahmednagar | Ahmedpur | Ajara | Akkalkot | Akola | Akole | Akot | Alibagh | Amagaon | Amalner | Ambad | Ambejogai | Amravati | Arjuni Merogaon | Arvi | Ashti | Atpadi | Aurangabad | Ausa | Babhulgaon | Balapur | Baramati | Barshi Takli | Barsi | Basmatnagar | Bassein | Beed | Bhadrawati | Bhamregadh | Bhandara | Bhir | Bhiwandi | Bhiwapur | Bhokar | Bhokardan | Bhoom | Bhor | Bhudargad | Bhusawal | Billoli | Brahmapuri | Buldhana | Butibori | Chalisgaon | Chamorshi | Chandgad | Chandrapur | Chandur | Chanwad | Chhikaldara | Chikhali | Chinchwad | Chiplun | Chopda | Chumur | Dahanu | Dapoli | Darwaha | Daryapur | Daund | Degloor | Delhi Tanda | Deogad | Deolgaonraja | Deori | Desaiganj | Dhadgaon | Dhanora | Dharani | Dhiwadi | Dhule | Dhulia | Digras | Dindori | Edalabad | Erandul | Etapalli | Gadhchiroli | Gadhinglaj | Gaganbavada | Gangakhed | Gangapur | Gevrai | Ghatanji | Golegaon | Gondia | Gondpipri | Goregaon | Guhagar | Hadgaon | Hatkangale | Hinganghat | Hingoli | Hingua | Igatpuri | Indapur | Islampur | Jalgaon | Jalna | Jamkhed | Jamner | Jath | Jawahar | Jintdor | Junnar | Kagal | Kaij | Kalamb | Kalamnuri | Kallam | Kalmeshwar | Kalwan | Kalyan | Kamptee | Kandhar | Kankavali | Kannad | Karad | Karjat | Karmala | Katol | Kavathemankal | Kedgaon | Khadakwasala | Khamgaon | Khed | Khopoli | Khultabad | Kinwat | Kolhapur | Kopargaon | Koregaon | Kudal | Kuhi | Kurkheda | Kusumba | Lakhandur | Langa | Latur | Lonar | Lonavala | Madangad | Madha | Mahabaleshwar | Mahad | Mahagaon | Mahasala | Mahaswad | Malegaon | Malgaon | Malgund | Malkapur | Malsuras | Malwan | Mancher | Mangalwedha | Mangaon | Mangrulpur | Manjalegaon | Manmad | Maregaon | Mehda | Mekhar | Mohadi | Mohol | Mokhada | Morshi | Mouda | Mukhed | Mul | Mumbai | Murbad | Murtizapur | Murud | Nagbhir | Nagpur | Nahavara | Nanded | Nandgaon | Nandnva | Nandurbar | Narkhed | Nashik | Navapur | Ner | Newasa | Nilanga | Niphad | Omerga | Osmanabad | Pachora | Paithan | Palghar | Pali | Pandharkawada | Pandharpur | Panhala | Paranda | Parbhani | Parner | Parola | Parseoni | Partur | Patan | Pathardi | Pathari | Patoda | Pauni | Peint | Pen | Phaltan | Pimpalner | Pirangut | Poladpur | Pune | Pusad | Pusegaon | Radhanagar | Rahuri | Raigad | Rajapur | Rajgurunagar | Rajura | Ralegaon | Ramtek | Ratnagiri | Raver | Risod | Roha | Sakarwadi | Sakoli | Sakri | Salekasa | Samudrapur | Sangamner | Sanganeshwar | Sangli | Sangola | Sanguem | Saoner | Saswad | Satana | Satara | Sawantwadi | Seloo | Shahada | Shahapur | Shahuwadi | Shevgaon | Shirala | Shirol | Shirpur | Shirur | Shirwal | Sholapur | Shri Rampur | Shrigonda | Shrivardhan | Sillod | Sinderwahi | Sindhudurg | Sindkheda | Sindkhedaraja | Sinnar | Sironcha | Soyegaon | Surgena | Talasari | Talegaon S.Ji Pant | Taloda | Tasgaon | Thane | Tirora | Tiwasa | Trimbak | Tuljapur | Tumsar | Udgir | Umarkhed | Umrane | Umrer | Urlikanchan | Vaduj | Velhe | Vengurla | Vijapur | Vita | Wada | Wai | Walchandnagar | Wani | Wardha | Warlydwarud | Warora | Washim | Wathar | Yavatmal | Yawal | Yeola | Yeotmal ";
|
26 |
+
s_a[22]=" Bishnupur | Chakpikarong | Chandel | Chattrik | Churachandpur | Imphal | Jiribam | Kakching | Kalapahar | Mao | Mulam | Parbung | Sadarhills | Saibom | Sempang | Senapati | Sochumer | Taloulong | Tamenglong | Thinghat | Thoubal | Ukhrul ";
|
27 |
+
s_a[23]=" Amlaren | Baghmara | Cherrapunjee | Dadengiri | Garo Hills | Jaintia Hills | Jowai | Khasi Hills | Khliehriat | Mariang | Mawkyrwat | Nongpoh | Nongstoin | Resubelpara | Ri Bhoi | Shillong | Tura | Williamnagar";
|
28 |
+
s_a[24]=" Aizawl | Champhai | Demagiri | Kolasib | Lawngtlai | Lunglei | Mamit | Saiha | Serchhip";
|
29 |
+
s_a[25]=" Dimapur | Jalukie | Kiphire | Kohima | Mokokchung | Mon | Phek | Tuensang | Wokha | Zunheboto ";
|
30 |
+
s_a[26]=" Anandapur | Angul | Anugul | Aska | Athgarh | Athmallik | Attabira | Bagdihi | Balangir | Balasore | Baleswar | Baliguda | Balugaon | Banaigarh | Bangiriposi | Barbil | Bargarh | Baripada | Barkot | Basta | Berhampur | Betanati | Bhadrak | Bhanjanagar | Bhawanipatna | Bhubaneswar | Birmaharajpur | Bisam Cuttack | Boriguma | Boudh | Buguda | Chandbali | Chhatrapur | Chhendipada | Cuttack | Daringbadi | Daspalla | Deodgarh | Deogarh | Dhanmandal | Dharamgarh | Dhenkanal | Digapahandi | Dunguripali | G. Udayagiri | Gajapati | Ganjam | Ghatgaon | Gudari | Gunupur | Hemgiri | Hindol | Jagatsinghapur | Jajpur | Jamankira | Jashipur | Jayapatna | Jeypur | Jharigan | Jharsuguda | Jujumura | Kalahandi | Kalimela | Kamakhyanagar | Kandhamal | Kantabhanji | Kantamal | Karanjia | Kashipur | Kendrapara | Kendujhar | Keonjhar | Khalikote | Khordha | Khurda | Komana | Koraput | Kotagarh | Kuchinda | Lahunipara | Laxmipur | M. Rampur | Malkangiri | Mathili | Mayurbhanj | Mohana | Motu | Nabarangapur | Naktideul | Nandapur | Narlaroad | Narsinghpur | Nayagarh | Nimapara | Nowparatan | Nowrangapur | Nuapada | Padampur | Paikamal | Palla Hara | Papadhandi | Parajang | Pardip | Parlakhemundi | Patnagarh | Pattamundai | Phiringia | Phulbani | Puri | Puruna Katak | R. Udayigiri | Rairakhol | Rairangpur | Rajgangpur | Rajkhariar | Rayagada | Rourkela | Sambalpur | Sohela | Sonapur | Soro | Subarnapur | Sunabeda | Sundergarh | Surada | T. Rampur | Talcher | Telkoi | Titlagarh | Tumudibandha | Udala | Umerkote ";
|
31 |
+
s_a[27]=" Bahur | Karaikal | Mahe | Pondicherry | Purnankuppam | Valudavur | Villianur | Yanam ";
|
32 |
+
s_a[28]=" Abohar | Ajnala | Amritsar | Balachaur | Barnala | Batala | Bathinda | Chandigarh | Dasua | Dinanagar | Faridkot | Fatehgarh Sahib | Fazilka | Ferozepur | Garhashanker | Goindwal | Gurdaspur | Guruharsahai | Hoshiarpur | Jagraon | Jalandhar | Jugial | Kapurthala | Kharar | Kotkapura | Ludhiana | Malaut | Malerkotla | Mansa | Moga | Muktasar | Nabha | Nakodar | Nangal | Nawanshahar | Nawanshahr | Pathankot | Patiala | Patti | Phagwara | Phillaur | Phulmandi | Quadian | Rajpura | Raman | Rayya | Ropar | Rupnagar | Samana | Samrala | Sangrur | Sardulgarh | Sarhind | SAS Nagar | Sultanpur Lodhi | Sunam | Tanda Urmar | Tarn Taran | Zira ";
|
33 |
+
s_a[29]=" Abu Road | Ahore | Ajmer | Aklera | Alwar | Amber | Amet | Anupgarh | Asind | Aspur | Atru | Bagidora | Bali | Bamanwas | Banera | Bansur | Banswara | Baran | Bari | Barisadri | Barmer | Baseri | Bassi | Baswa | Bayana | Beawar | Begun | Behror | Bhadra | Bharatpur | Bhilwara | Bhim | Bhinmal | Bikaner | Bilara | Bundi | Chhabra | Chhipaborad | Chirawa | Chittorgarh | Chohtan | Churu | Dantaramgarh | Dausa | Deedwana | Deeg | Degana | Deogarh | Deoli | Desuri | Dhariawad | Dholpur | Digod | Dudu | Dungarpur | Dungla | Fatehpur | Gangapur | Gangdhar | Gerhi | Ghatol | Girwa | Gogunda | Hanumangarh | Hindaun | Hindoli | Hurda | Jahazpur | Jaipur | Jaisalmer | Jalore | Jhalawar | Jhunjhunu | Jodhpur | Kaman | Kapasan | Karauli | Kekri | Keshoraipatan | Khandar | Kherwara | Khetri | Kishanganj | Kishangarh | Kishangarhbas | Kolayat | Kota | Kotputli | Kotra | Kotri | Kumbalgarh | Kushalgarh | Ladnun | Ladpura | Lalsot | Laxmangarh | Lunkaransar | Mahuwa | Malpura | Malvi | Mandal | Mandalgarh | Mandawar | Mangrol | Marwar-Jn | Merta | Nadbai | Nagaur | Nainwa | Nasirabad | Nathdwara | Nawa | Neem Ka Thana | Newai | Nimbahera | Nohar | Nokha | Onli | Osian | Pachpadara | Pachpahar | Padampur | Pali | Parbatsar | Phagi | Phalodi | Pilani | Pindwara | Pipalda | Pirawa | Pokaran | Pratapgarh | Raipur | Raisinghnagar | Rajgarh | Rajsamand | Ramganj Mandi | Ramgarh | Rashmi | Ratangarh | Reodar | Rupbas | Sadulshahar | Sagwara | Sahabad | Salumber | Sanchore | Sangaria | Sangod | Sapotra | Sarada | Sardarshahar | Sarwar | Sawai Madhopur | Shahapura | Sheo | Sheoganj | Shergarh | Sikar | Sirohi | Siwana | Sojat | Sri Dungargarh | Sri Ganganagar | Sri Karanpur | Sri Madhopur | Sujangarh | Taranagar | Thanaghazi | Tibbi | Tijara | Todaraisingh | Tonk | Udaipur | Udaipurwati | Uniayara | Vallabhnagar | Viratnagar ";
|
34 |
+
s_a[30]=" Barmiak | Be | Bhurtuk | Chhubakha | Chidam | Chubha | Chumikteng | Dentam | Dikchu | Dzongri | Gangtok | Gauzing | Gyalshing | Hema | Kerung | Lachen | Lachung | Lema | Lingtam | Lungthu | Mangan | Namchi | Namthang | Nanga | Nantang | Naya Bazar | Padamachen | Pakhyong | Pemayangtse | Phensang | Rangli | Rinchingpong | Sakyong | Samdong | Singtam | Siniolchu | Sombari | Soreng | Sosing | Tekhug | Temi | Tsetang | Tsomgo | Tumlong | Yangang | Yumtang ";
|
35 |
+
s_a[31]=" Ambasamudram | Anamali | Arakandanallur | Arantangi | Aravakurichi | Ariyalur | Arkonam | Arni | Aruppukottai | Attur | Avanashi | Batlagundu | Bhavani | Chengalpattu | Chengam | Chennai | Chidambaram | Chingleput | Coimbatore | Courtallam | Cuddalore | Cumbum | Denkanikoitah | Devakottai | Dharampuram | Dharmapuri | Dindigul | Erode | Gingee | Gobichettipalayam | Gudalur | Gudiyatham | Harur | Hosur | Jayamkondan | Kallkurichi | Kanchipuram | Kangayam | Kanyakumari | Karaikal | Karaikudi | Karur | Keeranur | Kodaikanal | Kodumudi | Kotagiri | Kovilpatti | Krishnagiri | Kulithalai | Kumbakonam | Kuzhithurai | Madurai | Madurantgam | Manamadurai | Manaparai | Mannargudi | Mayiladuthurai | Mayiladutjurai | Mettupalayam | Metturdam | Mudukulathur | Mulanur | Musiri | Nagapattinam | Nagarcoil | Namakkal | Nanguneri | Natham | Neyveli | Nilgiris | Oddanchatram | Omalpur | Ootacamund | Ooty | Orathanad | Palacode | Palani | Palladum | Papanasam | Paramakudi | Pattukottai | Perambalur | Perundurai | Pollachi | Polur | Pondicherry | Ponnamaravathi | Ponneri | Pudukkottai | Rajapalayam | Ramanathapuram | Rameshwaram | Ranipet | Rasipuram | Salem | Sankagiri | Sankaran | Sathiyamangalam | Sivaganga | Sivakasi | Sriperumpudur | Srivaikundam | Tenkasi | Thanjavur | Theni | Thirumanglam | Thiruraipoondi | Thoothukudi | Thuraiyure | Tindivanam | Tiruchendur | Tiruchengode | Tiruchirappalli | Tirunelvelli | Tirupathur | Tirupur | Tiruttani | Tiruvallur | Tiruvannamalai | Tiruvarur | Tiruvellore | Tiruvettipuram | Trichy | Tuticorin | Udumalpet | Ulundurpet | Usiliampatti | Uthangarai | Valapady | Valliyoor | Vaniyambadi | Vedasandur | Vellore | Velur | Vilathikulam | Villupuram | Virudhachalam | Virudhunagar | Wandiwash | Yercaud ";
|
36 |
+
s_a[32]=" Agartala | Ambasa | Bampurbari | Belonia | Dhalai | Dharam Nagar | Kailashahar | Kamal Krishnabari | Khopaiyapara | Khowai | Phuldungsei | Radha Kishore Pur | Tripura ";
|
37 |
+
s_a[33]=" Achhnera | Agra | Akbarpur | Aliganj | Aligarh | Allahabad | Ambedkar Nagar | Amethi | Amiliya | Amroha | Anola | Atrauli | Auraiya | Azamgarh | Baberu | Badaun | Baghpat | Bagpat | Baheri | Bahraich | Ballia | Balrampur | Banda | Bansdeeh | Bansgaon | Bansi | Barabanki | Bareilly | Basti | Bhadohi | Bharthana | Bharwari | Bhogaon | Bhognipur | Bidhuna | Bijnore | Bikapur | Bilari | Bilgram | Bilhaur | Bindki | Bisalpur | Bisauli | Biswan | Budaun | Budhana | Bulandshahar | Bulandshahr | Capianganj | Chakia | Chandauli | Charkhari | Chhata | Chhibramau | Chirgaon | Chitrakoot | Chunur | Dadri | Dalmau | Dataganj | Debai | Deoband | Deoria | Derapur | Dhampur | Domariyaganj | Dudhi | Etah | Etawah | Faizabad | Farrukhabad | Fatehpur | Firozabad | Garauth | Garhmukteshwar | Gautam Buddha Nagar | Ghatampur | Ghaziabad | Ghazipur | Ghosi | Gonda | Gorakhpur | Gunnaur | Haidergarh | Hamirpur | Hapur | Hardoi | Harraiya | Hasanganj | Hasanpur | Hathras | Jalalabad | Jalaun | Jalesar | Jansath | Jarar | Jasrana | Jaunpur | Jhansi | Jyotiba Phule Nagar | Kadipur | Kaimganj | Kairana | Kaisarganj | Kalpi | Kannauj | Kanpur | Karchhana | Karhal | Karvi | Kasganj | Kaushambi | Kerakat | Khaga | Khair | Khalilabad | Kheri | Konch | Kumaon | Kunda | Kushinagar | Lalganj | Lalitpur | Lucknow | Machlishahar | Maharajganj | Mahoba | Mainpuri | Malihabad | Mariyahu | Math | Mathura | Mau | Maudaha | Maunathbhanjan | Mauranipur | Mawana | Meerut | Mehraun | Meja | Mirzapur | Misrikh | Modinagar | Mohamdabad | Mohamdi | Moradabad | Musafirkhana | Muzaffarnagar | Nagina | Najibabad | Nakur | Nanpara | Naraini | Naugarh | Nawabganj | Nighasan | Noida | Orai | Padrauna | Pahasu | Patti | Pharenda | Phoolpur | Phulpur | Pilibhit | Pitamberpur | Powayan | Pratapgarh | Puranpur | Purwa | Raibareli | Rampur | Ramsanehi Ghat | Rasara | Rath | Robertsganj | Sadabad | Safipur | Sagri | Saharanpur | Sahaswan | Sahjahanpur | Saidpur | Salempur | Salon | Sambhal | Sandila | Sant Kabir Nagar | Sant Ravidas Nagar | Sardhana | Shahabad | Shahganj | Shahjahanpur | Shikohabad | Shravasti | Siddharthnagar | Sidhauli | Sikandra Rao | Sikandrabad | Sitapur | Siyana | Sonbhadra | Soraon | Sultanpur | Tanda | Tarabganj | Tilhar | Unnao | Utraula | Varanasi | Zamania ";
|
38 |
+
s_a[34]=" Almora | Bageshwar | Bhatwari | Chakrata | Chamoli | Champawat | Dehradun | Deoprayag | Dharchula | Dunda | Haldwani | Haridwar | Joshimath | Karan Prayag | Kashipur | Khatima | Kichha | Lansdown | Munsiari | Mussoorie | Nainital | Pantnagar | Partapnagar | Pauri Garhwal | Pithoragarh | Purola | Rajgarh | Ranikhet | Roorkee | Rudraprayag | Tehri Garhwal | Udham Singh Nagar | Ukhimath | Uttarkashi ";
|
39 |
+
s_a[35]=" Adra | Alipurduar | Amlagora | Arambagh | Asansol | Balurghat | Bankura | Bardhaman | Basirhat | Berhampur | Bethuadahari | Birbhum | Birpara | Bishanpur | Bolpur | Bongoan | Bulbulchandi | Burdwan | Calcutta | Canning | Champadanga | Contai | Cooch Behar | Daimond Harbour | Dalkhola | Dantan | Darjeeling | Dhaniakhali | Dhuliyan | Dinajpur | Dinhata | Durgapur | Gangajalghati | Gangarampur | Ghatal | Guskara | Habra | Haldia | Harirampur | Harishchandrapur | Hooghly | Howrah | Islampur | Jagatballavpur | Jalpaiguri | Jhalda | Jhargram | Kakdwip | Kalchini | Kalimpong | Kalna | Kandi | Karimpur | Katwa | Kharagpur | Khatra | Krishnanagar | Mal Bazar | Malda | Manbazar | Mathabhanga | Medinipur | Mekhliganj | Mirzapur | Murshidabad | Nadia | Nagarakata | Nalhati | Nayagarh | Parganas | Purulia | Raiganj | Rampur Hat | Ranaghat | Seharabazar | Siliguri | Suri | Takipur | Tamluk";
|
40 |
+
|
41 |
+
function print_state(state_id){
|
42 |
+
// given the id of the <select> tag as function argument, it inserts <option> tags
|
43 |
+
var option_str = document.getElementById(state_id);
|
44 |
+
option_str.length=0;
|
45 |
+
option_str.options[0] = new Option('Select State','');
|
46 |
+
option_str.selectedIndex = 0;
|
47 |
+
for (var i=0; i<state_arr.length; i++) {
|
48 |
+
option_str.options[option_str.length] = new Option(state_arr[i],state_arr[i]);
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
function print_city(city_id, city_index){
|
53 |
+
var option_str = document.getElementById(city_id);
|
54 |
+
option_str.length=0; // Fixed by Julian Woods
|
55 |
+
option_str.options[0] = new Option('Select City','');
|
56 |
+
option_str.selectedIndex = 0;
|
57 |
+
var city_arr = s_a[city_index].split("|");
|
58 |
+
for (var i=0; i<city_arr.length; i++) {
|
59 |
+
option_str.options[option_str.length] = new Option(city_arr[i],city_arr[i]);
|
60 |
+
}
|
61 |
+
}
|
config.py
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
weather_api_key = "9d7cde1f6d07ec55650544be1631307e"
|
core.jpg
ADDED
![]() |
crop-result.html
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %} {% block body %}
|
2 |
+
|
3 |
+
<style>
|
4 |
+
.mt-0 {
|
5 |
+
margin-top: 50 !important;
|
6 |
+
}
|
7 |
+
</style>
|
8 |
+
|
9 |
+
|
10 |
+
<div class="container py-2 mx-auto my-50 h-10 " style="margin: 12rem;">
|
11 |
+
<div class="row">
|
12 |
+
<div class="col-sm py-2 py-md-3">
|
13 |
+
<div class="card card-body" style="justify-content: center;">
|
14 |
+
<h1 class="text-center"><b>You should grow <i>{{ prediction }} </i>in your farm</b></h1>
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
{% endblock %}
|
crop.html
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %} {% block body %}
|
2 |
+
|
3 |
+
<style>
|
4 |
+
|
5 |
+
html body {
|
6 |
+
background-color: rgb(206, 206, 228);
|
7 |
+
|
8 |
+
|
9 |
+
}
|
10 |
+
|
11 |
+
|
12 |
+
</style>
|
13 |
+
<!--Form Section-->
|
14 |
+
<br /><br />
|
15 |
+
<h2 style="text-align: center; margin: 0px; color: black">
|
16 |
+
<b>Find out the most suitable crop to grow in your farm</b>
|
17 |
+
</h2>
|
18 |
+
<br />
|
19 |
+
|
20 |
+
<div
|
21 |
+
style="
|
22 |
+
width: 350px;
|
23 |
+
height: 50rem;
|
24 |
+
margin: 0px auto;
|
25 |
+
color: black;
|
26 |
+
border-radius: 25px;
|
27 |
+
padding: 10px 10px;
|
28 |
+
"
|
29 |
+
>
|
30 |
+
<form method="POST" action="{{ url_for('crop_prediction') }}">
|
31 |
+
<div class="form-group">
|
32 |
+
<label for="Nitrogen" style="font-size: 17px"><b>Nitrogen</b></label>
|
33 |
+
<input
|
34 |
+
type="number"
|
35 |
+
class="form-control"
|
36 |
+
id="Nitrogen"
|
37 |
+
name="nitrogen"
|
38 |
+
placeholder="Enter the value (example:50)"
|
39 |
+
style="font-weight: bold"
|
40 |
+
required
|
41 |
+
/>
|
42 |
+
</div>
|
43 |
+
<div class="form-group">
|
44 |
+
<label for="Phosphorous" style="font-size: 17px"
|
45 |
+
><b>Phosphorous</b></label
|
46 |
+
>
|
47 |
+
<input
|
48 |
+
type="number"
|
49 |
+
class="form-control"
|
50 |
+
id="Phosphorous"
|
51 |
+
name="phosphorous"
|
52 |
+
placeholder="Enter the value (example:50)"
|
53 |
+
style="font-weight: bold"
|
54 |
+
required
|
55 |
+
/>
|
56 |
+
</div>
|
57 |
+
|
58 |
+
<div class="form-group">
|
59 |
+
<label for="Pottasium" style="font-size: 17px"><b>Pottasium</b></label>
|
60 |
+
<input
|
61 |
+
type="number"
|
62 |
+
class="form-control"
|
63 |
+
id="Pottasium"
|
64 |
+
name="pottasium"
|
65 |
+
placeholder="Enter the value (example:50)"
|
66 |
+
style="font-weight: bold"
|
67 |
+
required
|
68 |
+
/>
|
69 |
+
</div>
|
70 |
+
<div class="form-group">
|
71 |
+
<label for="ph" style="font-size: 17px"><b>ph level</b></label>
|
72 |
+
<input
|
73 |
+
type="number"
|
74 |
+
step="0.01"
|
75 |
+
class="form-control"
|
76 |
+
id="ph"
|
77 |
+
name="ph"
|
78 |
+
placeholder="Enter the value"
|
79 |
+
style="font-weight: bold"
|
80 |
+
required
|
81 |
+
/>
|
82 |
+
</div>
|
83 |
+
<div class="form-group">
|
84 |
+
<label for="Rainfall" style="font-size: 17px"><b>Rainfall (in mm)</b></label>
|
85 |
+
<input
|
86 |
+
type="number"
|
87 |
+
step="0.01"
|
88 |
+
class="form-control"
|
89 |
+
id="Rainfall"
|
90 |
+
name="rainfall"
|
91 |
+
placeholder="Enter the value"
|
92 |
+
style="font-weight: bold"
|
93 |
+
required
|
94 |
+
/>
|
95 |
+
</div>
|
96 |
+
<div class="form-group">
|
97 |
+
<label for="State" style="font-size: 17px "><b>State</b></label>
|
98 |
+
<select
|
99 |
+
onchange="print_city('state', this.selectedIndex);"
|
100 |
+
id="sts"
|
101 |
+
name="stt"
|
102 |
+
class="form-control"
|
103 |
+
style="font-weight: bold; color: black;"
|
104 |
+
|
105 |
+
required
|
106 |
+
></select>
|
107 |
+
<br />
|
108 |
+
<label for="City" style="font-size: 17px"><b>City</b></label>
|
109 |
+
<select
|
110 |
+
id="state"
|
111 |
+
class="form-control"
|
112 |
+
name="city"
|
113 |
+
style="font-weight: bold; color: black;"
|
114 |
+
required
|
115 |
+
></select>
|
116 |
+
<script language="javascript">
|
117 |
+
print_state("sts");
|
118 |
+
</script>
|
119 |
+
</div>
|
120 |
+
|
121 |
+
<div class="d-flex justify-content-center">
|
122 |
+
<button
|
123 |
+
type="submit"
|
124 |
+
class="btn btn-info"
|
125 |
+
style="color: black; font-weight: bold; width: 130px; height:50px; border-radius:12px; font-size: 21px;"
|
126 |
+
>
|
127 |
+
Predict
|
128 |
+
</button>
|
129 |
+
</div>
|
130 |
+
</form>
|
131 |
+
</div>
|
132 |
+
|
133 |
+
|
134 |
+
|
135 |
+
<!-- Form section -->
|
136 |
+
|
137 |
+
{% endblock %}
|
crop_background.jpg
ADDED
![]() |
Git LFS Details
|
disease-result.html
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
{% extends 'layout.html' %} {% block body %}
|
3 |
+
|
4 |
+
|
5 |
+
<div class="container py-2 mx-auto my-50 h-10 " style="margin: 9rem;">
|
6 |
+
<div class="row">
|
7 |
+
<div class="col-sm py-2 py-md-3">
|
8 |
+
<div class="card card-body" style="justify-content: center; background-color:blanchedalmond">
|
9 |
+
<p class="text-center" style="color: black; font-size: 22px;">{{ prediction }}</p>
|
10 |
+
</div>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
{% endblock %}
|
disease.html
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %} {% block body %}
|
2 |
+
|
3 |
+
|
4 |
+
<style>
|
5 |
+
html body {
|
6 |
+
background-color: rgb(206, 206, 228);
|
7 |
+
}
|
8 |
+
</style>
|
9 |
+
<br /><br />
|
10 |
+
<h2 style="text-align: center; margin: 0px; color: black">
|
11 |
+
<b>Find out which disease has been caught by your plant</b>
|
12 |
+
</h2>
|
13 |
+
<br />
|
14 |
+
<br>
|
15 |
+
|
16 |
+
<div style="
|
17 |
+
width: 350px;
|
18 |
+
height: 50rem;
|
19 |
+
margin: 0px auto;
|
20 |
+
color: black;
|
21 |
+
border-radius: 25px;
|
22 |
+
padding: 10px 10px;
|
23 |
+
font-weight: bold;
|
24 |
+
">
|
25 |
+
|
26 |
+
|
27 |
+
|
28 |
+
|
29 |
+
<form class="form-signin" method=post enctype=multipart/form-data>
|
30 |
+
|
31 |
+
<h2 class="h4 mb-3 font-weight-normal"><b>Please Upload The Image</b></h2>
|
32 |
+
<input type="file" name="file" class="form-control-file" id="inputfile" onchange="preview_image(event)" style="font-weight: bold;">
|
33 |
+
<br>
|
34 |
+
<br>
|
35 |
+
<img id="output-image" class="rounded mx-auto d-block" />
|
36 |
+
<button class="btn btn-lg btn-primary btn-block" type="submit" style="font-weight: bold;">Predict</button>
|
37 |
+
|
38 |
+
|
39 |
+
</form>
|
40 |
+
</div>
|
41 |
+
|
42 |
+
<script type="text/javascript">
|
43 |
+
function preview_image(event) {
|
44 |
+
var reader = new FileReader();
|
45 |
+
reader.onload = function () {
|
46 |
+
var output = document.getElementById('output-image')
|
47 |
+
output.src = reader.result;
|
48 |
+
}
|
49 |
+
reader.readAsDataURL(event.target.files[0]);
|
50 |
+
}
|
51 |
+
</script>
|
52 |
+
|
53 |
+
</div>
|
54 |
+
{% endblock %}
|
disease.py
ADDED
@@ -0,0 +1,484 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
disease_dic = {
|
2 |
+
'Apple___Apple_scab': """ <b>Crop</b>: Apple <br/>Disease: Apple Scab<br/>
|
3 |
+
<br/> Cause of disease:
|
4 |
+
|
5 |
+
<br/><br/> 1. Apple scab overwinters primarily in fallen leaves and in the soil. Disease development is favored by wet, cool weather that generally occurs in spring and early summer.
|
6 |
+
|
7 |
+
<br/> 2. Fungal spores are carried by wind, rain or splashing water from the ground to flowers, leaves or fruit. During damp or rainy periods, newly opening apple leaves are extremely susceptible to infection. The longer the leaves remain wet, the more severe the infection will be. Apple scab spreads rapidly between 55-75 degrees Fahrenheit.
|
8 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
9 |
+
<br/>1. Choose resistant varieties when possible.
|
10 |
+
|
11 |
+
<br/>2. Rake under trees and destroy infected leaves to reduce the number of fungal spores available to start the disease cycle over again next spring
|
12 |
+
|
13 |
+
<br/>3. Water in the evening or early morning hours (avoid overhead irrigation) to give the leaves time to dry out before infection can occur.
|
14 |
+
<br/>4. Spread a 3- to 6-inch layer of compost under trees, keeping it away from the trunk, to cover soil and prevent splash dispersal of the fungal spores.""",
|
15 |
+
|
16 |
+
'Apple___Black_rot': """ <b>Crop</b>: Apple <br/>Disease: Black Rot<br/>
|
17 |
+
<br/> Cause of disease:
|
18 |
+
|
19 |
+
<br/><br/>Black rot is caused by the fungus Diplodia seriata (syn Botryosphaeria obtusa).The fungus can infect dead tissue as well as living trunks, branches, leaves and fruits. In wet weather, spores are released from these infections and spread by wind or splashing water. The fungus infects leaves and fruit through natural openings or minor wounds.
|
20 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
21 |
+
<br/>1. Prune out dead or diseased branches.
|
22 |
+
|
23 |
+
<br/>2. Prune out dead or diseased branches.
|
24 |
+
|
25 |
+
<br/>3. Remove infected plant material from the area.
|
26 |
+
<br/>4. Remove infected plant material from the area.
|
27 |
+
<br/>5. Be sure to remove the stumps of any apple trees you cut down. Dead stumps can be a source of spores.""",
|
28 |
+
|
29 |
+
'Apple___Cedar_apple_rust': """ <b>Crop</b>: Apple <br/>Disease: Cedar Apple Rust<br/>
|
30 |
+
<br/> Cause of disease:
|
31 |
+
|
32 |
+
<br/><br/>Cedar apple rust (Gymnosporangium juniperi-virginianae) is a fungal disease that depends on two species to spread and develop. It spends a portion of its two-year life cycle on Eastern red cedar (Juniperus virginiana). The pathogen’s spores develop in late fall on the juniper as a reddish brown gall on young branches of the trees.
|
33 |
+
|
34 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
35 |
+
<br/>1. Since the juniper galls are the source of the spores that infect the apple trees, cutting them is a sound strategy if there aren’t too many of them.
|
36 |
+
|
37 |
+
<br/>2. While the spores can travel for miles, most of the ones that could infect your tree are within a few hundred feet.
|
38 |
+
|
39 |
+
<br/>3. The best way to do this is to prune the branches about 4-6 inches below the galls.""",
|
40 |
+
|
41 |
+
|
42 |
+
|
43 |
+
'Apple___healthy': """ <b>Crop</b>: Apple <br/>Disease: No disease<br/>
|
44 |
+
|
45 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
46 |
+
|
47 |
+
|
48 |
+
|
49 |
+
|
50 |
+
'Blueberry___healthy': """ <b>Crop</b>: Blueberry <br/>Disease: No disease<br/>
|
51 |
+
|
52 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
53 |
+
|
54 |
+
|
55 |
+
|
56 |
+
|
57 |
+
'Cherry_(including_sour)___Powdery_mildew': """ <b>Crop</b>: Cherry <br/>Disease: Powdery Mildew<br/>
|
58 |
+
<br/> Cause of disease:
|
59 |
+
|
60 |
+
<br/><br/>Podosphaera clandestina, a fungus that most commonly infects young, expanding leaves but can also be found on buds, fruit and fruit stems. It overwinters as small, round, black bodies (chasmothecia) on dead leaves, on the orchard floor, or in tree crotches. Colonies produce more (asexual) spores generally around shuck fall and continue the disease cycle.
|
61 |
+
|
62 |
+
|
63 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
64 |
+
<br/>1. Remove and destroy sucker shoots.
|
65 |
+
|
66 |
+
<br/>2. Keep irrigation water off developing fruit and leaves by using irrigation that does not wet the leaves. Also, keep irrigation sets as short as possible.
|
67 |
+
|
68 |
+
<br/>3. Follow cultural practices that promote good air circulation, such as pruning, and moderate shoot growth through judicious nitrogen management.""",
|
69 |
+
|
70 |
+
'Cherry_(including_sour)___healthy': """ <b>Crop</b>: Cherry <br/>Disease: No disease<br/>
|
71 |
+
|
72 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
73 |
+
|
74 |
+
|
75 |
+
'Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot': """ <b>Crop</b>: Corn <br/>Disease: Grey Leaf Spot<br/>
|
76 |
+
<br/> Cause of disease:
|
77 |
+
|
78 |
+
<br/><br/>Gray leaf spot lesions on corn leaves hinder photosynthetic activity, reducing carbohydrates allocated towards grain fill. The extent to which gray leaf spot damages crop yields can be estimated based on the extent to which leaves are infected relative to grainfill. Damage can be more severe when developing lesions progress past the ear leaf around pollination time. Because a decrease in functioning leaf area limits photosynthates dedicated towards grainfill, the plant might mobilize more carbohydrates from the stalk to fill kernels.
|
79 |
+
|
80 |
+
|
81 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
82 |
+
<br/>1. In order to best prevent and manage corn grey leaf spot, the overall approach is to reduce the rate of disease growth and expansion.
|
83 |
+
|
84 |
+
<br/>2. This is done by limiting the amount of secondary disease cycles and protecting leaf area from damage until after corn grain formation.
|
85 |
+
|
86 |
+
<br/>3. High risk factors for grey leaf spot in corn: <br/>
|
87 |
+
a. Susceptible hybrid
|
88 |
+
b. Continuous corn
|
89 |
+
c. Late planting date
|
90 |
+
d. Minimum tillage systems
|
91 |
+
e. Field history of severe disease
|
92 |
+
f. Early disease activity (before tasseling)
|
93 |
+
g. Irrigation
|
94 |
+
h. Favorable weather forecast for disease.""",
|
95 |
+
|
96 |
+
|
97 |
+
|
98 |
+
|
99 |
+
'Corn_(maize)___Common_rust_': """ <b>Crop</b>: Corn(maize) <br/>Disease: Common Rust<br/>
|
100 |
+
<br/> Cause of disease:
|
101 |
+
|
102 |
+
<br/><br/>Common corn rust, caused by the fungus Puccinia sorghi, is the most frequently occurring of the two primary rust diseases of corn in the U.S., but it rarely causes significant yield losses in Ohio field (dent) corn. Occasionally field corn, particularly in the southern half of the state, does become severely affected when weather conditions favor the development and spread of rust fungus
|
103 |
+
|
104 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
105 |
+
<br/>1. Although rust is frequently found on corn in Ohio, very rarely has there been a need for fungicide applications. This is due to the fact that there are highly resistant field corn hybrids available and most possess some degree of resistance.
|
106 |
+
|
107 |
+
<br/>2. However, popcorn and sweet corn can be quite susceptible. In seasons where considerable rust is present on the lower leaves prior to silking and the weather is unseasonably cool and wet, an early fungicide application may be necessary for effective disease control. Numerous fungicides are available for rust control. """,
|
108 |
+
|
109 |
+
|
110 |
+
'Corn_(maize)___Northern_Leaf_Blight': """ <b>Crop</b>: Corn(maize) <br/>Disease: Northern Leaf Blight
|
111 |
+
<br/>
|
112 |
+
<br/> Cause of disease:
|
113 |
+
|
114 |
+
<br/><br/>Northern corn leaf blight (NCLB) is a foliar disease of corn (maize) caused by Exserohilum turcicum, the anamorph of the ascomycete Setosphaeria turcica. With its characteristic cigar-shaped lesions, this disease can cause significant yield loss in susceptible corn hybrids.
|
115 |
+
|
116 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
117 |
+
<br/>1. Management of NCLB can be achieved primarily by using hybrids with resistance, but because resistance may not be complete or may fail, it is advantageous to utilize an integrated approach with different cropping practices and fungicides.
|
118 |
+
|
119 |
+
<br/>2. Scouting fields and monitoring local conditions is vital to control this disease.""",
|
120 |
+
|
121 |
+
|
122 |
+
'Grape___Black_rot': """ <b>Crop</b>: Grape <br/>Disease: Black Rot<br/>
|
123 |
+
<br/> Cause of disease:
|
124 |
+
|
125 |
+
<br/><br/> 1. The black rot fungus overwinters in canes, tendrils, and leaves on the grape vine and on the ground. Mummified berries on the ground or those that are still clinging to the vines become the major infection source the following spring.
|
126 |
+
|
127 |
+
<br/> 2. During rain, microscopic spores (ascospores) are shot out of numerous, black fruiting bodies (perithecia) and are carried by air currents to young, expanding leaves. In the presence of moisture, these spores germinate in 36 to 48 hours and eventually penetrate the leaves and fruit stems.
|
128 |
+
|
129 |
+
<br/> 3. The infection becomes visible after 8 to 25 days. When the weather is wet, spores can be released the entire spring and summer providing continuous infection.
|
130 |
+
|
131 |
+
|
132 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
133 |
+
<br/>1. Space vines properly and choose a planting site where the vines will be exposed to full sun and good air circulation. Keep the vines off the ground and insure they are properly tied, limiting the amount of time the vines remain wet thus reducing infection.
|
134 |
+
|
135 |
+
<br/>2. Keep the fruit planting and surrounding areas free of weeds and tall grass. This practice will promote lower relative humidity and rapid drying of vines and thereby limit fungal infection.
|
136 |
+
|
137 |
+
<br/>3. Use protective fungicide sprays. Pesticides registered to protect the developing new growth include copper, captan, ferbam, mancozeb, maneb, triadimefon, and ziram. Important spraying times are as new shoots are 2 to 4 inches long, and again when they are 10 to 15 inches long, just before bloom, just after bloom, and when the fruit has set.""",
|
138 |
+
|
139 |
+
'Corn_(maize)___healthy': """ <b>Crop</b>: Corn(maize) <br/>Disease: No disease<br/>
|
140 |
+
|
141 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
142 |
+
|
143 |
+
|
144 |
+
'Grape___Esca_(Black_Measles)': """ <b>Crop</b>: Grape <br/>Disease: Black Measles<br/>
|
145 |
+
<br/> Cause of disease:
|
146 |
+
|
147 |
+
<br/><br/> 1. Black Measles is caused by a complex of fungi that includes several species of Phaeoacremonium, primarily by P. aleophilum (currently known by the name of its sexual stage, Togninia minima), and by Phaeomoniella chlamydospora.
|
148 |
+
|
149 |
+
<br/> 2. The overwintering structures that produce spores (perithecia or pycnidia, depending on the pathogen) are embedded in diseased woody parts of vines. The overwintering structures that produce spores (perithecia or pycnidia, depending on the pathogen) are embedded in diseased woody parts of vines.
|
150 |
+
|
151 |
+
<br/> 3. During fall to spring rainfall, spores are released and wounds made by dormant pruning provide infection sites.
|
152 |
+
|
153 |
+
<br/> 4. Wounds may remain susceptible to infection for several weeks after pruning with susceptibility declining over time.
|
154 |
+
|
155 |
+
|
156 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
157 |
+
<br/>1. Post-infection practices (sanitation and vine surgery) for use in diseased, mature vineyards are not as effective and are far more costly than adopting preventative practices (delayed pruning, double pruning, and applications of pruning-wound protectants) in young vineyards.
|
158 |
+
|
159 |
+
|
160 |
+
<br/>2. Sanitation and vine surgery may help maintain yields. In spring, look for dead spurs or for stunted shoots. Later in summer, when there is a reduced chance of rainfall, practice good sanitation by cutting off these cankered portions of the vine beyond the canker, to where wood appears healthy. Then remove diseased, woody debris from the vineyard and destroy it.
|
161 |
+
|
162 |
+
<br/>3. The fungicides labeled as pruning-wound protectants, consider using alternative materials, such as a wound sealant with 5 percent boric acid in acrylic paint (Tech-Gro B-Lock), which is effective against Eutypa dieback and Esca, or an essential oil (Safecoat VitiSeal).""",
|
163 |
+
|
164 |
+
'Grape___Leaf_blight_(Isariopsis_Leaf_Spot)': """ <b>Crop</b>: Grape <br/>Disease: Leaf Blight<br/>
|
165 |
+
<br/> Cause of disease:
|
166 |
+
|
167 |
+
<br/><br/> 1. Apple scab overwinters primarily in fallen leaves and in the soil. Disease development is favored by wet, cool weather that generally occurs in spring and early summer.
|
168 |
+
|
169 |
+
<br/> 2. Fungal spores are carried by wind, rain or splashing water from the ground to flowers, leaves or fruit. During damp or rainy periods, newly opening apple leaves are extremely susceptible to infection. The longer the leaves remain wet, the more severe the infection will be. Apple scab spreads rapidly between 55-75 degrees Fahrenheit.
|
170 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
171 |
+
<br/>1. Choose resistant varieties when possible.
|
172 |
+
|
173 |
+
<br/>2. Rake under trees and destroy infected leaves to reduce the number of fungal spores available to start the disease cycle over again next spring
|
174 |
+
|
175 |
+
<br/>3. Water in the evening or early morning hours (avoid overhead irrigation) to give the leaves time to dry out before infection can occur.
|
176 |
+
<br/>4. Spread a 3- to 6-inch layer of compost under trees, keeping it away from the trunk, to cover soil and prevent splash dispersal of the fungal spores.""",
|
177 |
+
|
178 |
+
'Grape___healthy': """ <b>Crop</b>: Grape <br/>Disease: No disease<br/>
|
179 |
+
|
180 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
181 |
+
|
182 |
+
|
183 |
+
'Corn_(maize)___healthy': """ <b>Crop</b>: Corn(maize) <br/>Disease: No disease<br/>
|
184 |
+
|
185 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
186 |
+
|
187 |
+
|
188 |
+
'Grape___Leaf_blight_(Isariopsis_Leaf_Spot)': """<b> Crop</b> : Grape <br/> Disease: Leaf Spot""",
|
189 |
+
|
190 |
+
|
191 |
+
'Orange___Haunglongbing_(Citrus_greening)': """ <b>Crop</b>: Orange <br/>Disease: Citrus Greening<br/>
|
192 |
+
<br/> Cause of disease:
|
193 |
+
|
194 |
+
<br/><br/> Huanglongbing (HLB) or citrus greening is the most severe citrus disease, currently devastating the citrus industry worldwide. The presumed causal bacterial agent Candidatus Liberibacter spp. affects tree health as well as fruit development, ripening and quality of citrus fruits and juice.
|
195 |
+
|
196 |
+
|
197 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
198 |
+
<br/>1. In regions where disease incidence is low, the most common practices are avoiding the spread of infection by removal of symptomatic trees, protecting grove edges through intensive monitoring, use of pesticides, and biological control of the vector ACP.
|
199 |
+
|
200 |
+
<br/>2. According to Singerman and Useche (2016), CHMAs coordinate insecticide application to control the ACP spreading across area-wide neighboring commercial citrus groves as part of a plan to address the HLB disease.
|
201 |
+
|
202 |
+
<br/>3. In addition to foliar nutritional sprays, plant growth regulators were tested, unsuccessfully, to reduce HLB-associated fruit drop (Albrigo and Stover, 2015).""",
|
203 |
+
|
204 |
+
|
205 |
+
|
206 |
+
'Peach___Bacterial_spot': """ <b>Crop</b>: Peach <br/>Disease: Bacterial Spot<br/>
|
207 |
+
<br/> Cause of disease:
|
208 |
+
|
209 |
+
<br/><br/> 1. The disease is caused by four species of Xanthomonas (X. euvesicatoria, X. gardneri, X. perforans, and X. vesicatoria). In North Carolina, X. perforans is the predominant species associated with bacterial spot on tomato and X. euvesicatoria is the predominant species associated with the disease on pepper.
|
210 |
+
|
211 |
+
<br/> 2. All four bacteria are strictly aerobic, gram-negative rods with a long whip-like flagellum (tail) that allows them to move in water, which allows them to invade wet plant tissue and cause infection.
|
212 |
+
|
213 |
+
|
214 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
215 |
+
<br/>1. The most effective management strategy is the use of pathogen-free certified seeds and disease-free transplants to prevent the introduction of the pathogen into greenhouses and field production areas. Inspect plants very carefully and reject infected transplants- including your own!
|
216 |
+
|
217 |
+
<br/>2. In transplant production greenhouses, minimize overwatering and handling of seedlings when they are wet.
|
218 |
+
|
219 |
+
<br/>3. Trays, benches, tools, and greenhouse structures should be washed and sanitized between seedlings crops.
|
220 |
+
<br/>4. Do not spray, tie, harvest, or handle wet plants as that can spread the disease.""",
|
221 |
+
|
222 |
+
|
223 |
+
'Pepper,_bell___Bacterial_spot': """ <b>Crop</b>: Pepper <br/>Disease: Bacterial Spot<br/>
|
224 |
+
<br/> Cause of disease:
|
225 |
+
|
226 |
+
<br/><br/> 1. Bacterial spot is caused by several species of gram-negative bacteria in the genus Xanthomonas.
|
227 |
+
|
228 |
+
<br/> 2. In culture, these bacteria produce yellow, mucoid colonies. A "mass" of bacteria can be observed oozing from a lesion by making a cross-sectional cut through a leaf lesion, placing the tissue in a droplet of water, placing a cover-slip over the sample, and examining it with a microscope (~200X)..
|
229 |
+
|
230 |
+
|
231 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
232 |
+
<br/>1. The primary management strategy of bacterial spot begins with use of certified pathogen-free seed and disease-free transplants.
|
233 |
+
|
234 |
+
<br/>2. The bacteria do not survive well once host material has decayed, so crop rotation is recommended. Once the bacteria are introduced into a field or greenhouse, the disease is very difficult to control.
|
235 |
+
|
236 |
+
<br/>3. Pepper plants are routinely sprayed with copper-containing bactericides to maintain a "protective" cover on the foliage and fruit.""",
|
237 |
+
|
238 |
+
'Peach___healthy': """ <b>Crop</b>: Peach <br/>Disease: No disease<br/>
|
239 |
+
|
240 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
241 |
+
|
242 |
+
'Pepper,_bell___healthy': """ <b>Crop</b>: Pepper <br/>Disease: No disease<br/>
|
243 |
+
|
244 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
245 |
+
|
246 |
+
|
247 |
+
'Potato___healthy': """ <b>Crop</b>: Potato <br/>Disease: No disease<br/>
|
248 |
+
|
249 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
250 |
+
|
251 |
+
'Raspberry___healthy': """ <b>Crop</b>: Raspberry <br/>Disease: No disease<br/>
|
252 |
+
|
253 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
254 |
+
|
255 |
+
|
256 |
+
'Soybean___healthy': """ <b>Crop</b>: Soyabean <br/>Disease: No disease<br/>
|
257 |
+
|
258 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
259 |
+
|
260 |
+
'Strawberry___healthy': """ <b>Crop</b>: Strawberry <br/>Disease: No disease<br/>
|
261 |
+
|
262 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
263 |
+
|
264 |
+
'Tomato___healthy': """ <b>Crop</b>: Tomato <br/>Disease: No disease<br/>
|
265 |
+
|
266 |
+
<br/><br/> Don't worry. Your crop is healthy. Keep it up !!!""",
|
267 |
+
|
268 |
+
|
269 |
+
'Potato___Early_blight': """ <b>Crop</b>: Potato <br/>Disease: Early Blight<br/>
|
270 |
+
<br/> Cause of disease:
|
271 |
+
|
272 |
+
<br/><br/> 1. Early blight (EB) is a disease of potato caused by the fungus Alternaria solani. It is found wherever potatoes are grown.
|
273 |
+
|
274 |
+
<br/> 2. The disease primarily affects leaves and stems, but under favorable weather conditions, and if left uncontrolled, can result in considerable defoliation and enhance the chance for tuber infection. Premature defoliation may lead to considerable reduction in yield.
|
275 |
+
|
276 |
+
<br/> 3. Primary infection is difficult to predict since EB is less dependent upon specific weather conditions than late blight.
|
277 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
278 |
+
<br/>1. Plant only diseasefree, certified seed.
|
279 |
+
|
280 |
+
<br/>2. Follow a complete and regular foliar fungicide spray program.
|
281 |
+
|
282 |
+
<br/>3. Practice good killing techniques to lessen tuber infections.
|
283 |
+
<br/>4. Allow tubers to mature before digging, dig when vines are dry, not wet, and avoid excessive wounding of potatoes during harvesting and handling.""",
|
284 |
+
|
285 |
+
|
286 |
+
'Potato___Late_blight': """ <b>Crop</b>: Potato <br/>Disease: Late Blight<br/>
|
287 |
+
|
288 |
+
Late blight is a potentially devastating disease of potato, infecting leaves, stems and fruits of plants. The disease spreads quickly in fields and can result in total crop failure if untreated. Late blight of potato was responsible for the Irish potato famine of the late 1840s.
|
289 |
+
<br/> Cause of disease:
|
290 |
+
|
291 |
+
<br/><br/> 1. Late blight is caused by the oomycete Phytophthora infestans. Oomycetes are fungus-like organisms also called water molds, but they are not true fungi.
|
292 |
+
|
293 |
+
<br/> 2. There are many different strains of P. infestans. These are called clonal lineages and designated by a number code (i.e. US-23). Many clonal lineages affect both tomato and potato, but some lineages are specific to one host or the other.
|
294 |
+
<br/> 3. The host range is typically limited to potato and tomato, but hairy nightshade (Solanum physalifolium) is a closely related weed that can readily become infected and may contribute to disease spread. Under ideal conditions, such as a greenhouse, petunia also may become infected.
|
295 |
+
|
296 |
+
|
297 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
298 |
+
<br/>1. Seed infection is unlikely on commercially prepared tomato seed or on saved seed that has been thoroughly dried.
|
299 |
+
|
300 |
+
<br/>2. Inspect tomato transplants for late blight symptoms prior to purchase and/or planting, as tomato transplants shipped from southern regions may be infected
|
301 |
+
|
302 |
+
<br/>3. If infection is found in only a few plants within a field, infected plants should be removed, disced-under, killed with herbicide or flame-killed to avoid spreading through the entire field.""",
|
303 |
+
|
304 |
+
|
305 |
+
'Squash___Powdery_mildew': """ <b>Crop</b>: Squash <br/>Disease: Powdery mildew<br/>
|
306 |
+
<br/> Cause of disease:
|
307 |
+
|
308 |
+
<br/><br/> 1. Powdery mildew infections favor humid conditions with temperatures around 68-81° F
|
309 |
+
|
310 |
+
<br/> 2. In warm, dry conditions, new spores form and easily spread the disease.
|
311 |
+
<br/> 3. Symptoms of powdery mildew first appear mid to late summer in Minnesota. The older leaves are more susceptible and powdery mildew will infect them first.
|
312 |
+
<br/> 4. Wind blows spores produced in leaf spots to infect other leaves.
|
313 |
+
<br/> 5. Under favorable conditions, powdery mildew can spread very rapidly, often covering all of the leaves.
|
314 |
+
|
315 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
316 |
+
<br/>1. Apply fertilizer based on soil test results. Avoid over-applying nitrogen.
|
317 |
+
|
318 |
+
<br/>2. Provide good air movement around plants through proper spacing, staking of plants and weed control.
|
319 |
+
|
320 |
+
<br/>3. Once a week, examine five mature leaves for powdery mildew infection. In large plantings, repeat at 10 different locations in the field.
|
321 |
+
<br/>4. If susceptible varieties are growing in an area where powdery mildew has resulted in yield loss in the past, fungicide may be necessary.""",
|
322 |
+
|
323 |
+
|
324 |
+
'Strawberry___Leaf_scorch': """ <b>Crop</b>: Strawberry <br/>Disease: Leaf Scorch<br/>
|
325 |
+
<br/> Cause of disease:
|
326 |
+
|
327 |
+
<br/><br/> 1. Scorched strawberry leaves are caused by a fungal infection which affects the foliage of strawberry plantings. The fungus responsible is called Diplocarpon earliana.
|
328 |
+
|
329 |
+
<br/> 2. Strawberries with leaf scorch may first show signs of issue with the development of small purplish blemishes that occur on the topside of leaves.
|
330 |
+
|
331 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
332 |
+
<br/>1. Since this fungal pathogen over winters on the fallen leaves of infect plants, proper garden sanitation is key.
|
333 |
+
|
334 |
+
<br/>2. This includes the removal of infected garden debris from the strawberry patch, as well as the frequent establishment of new strawberry transplants.
|
335 |
+
|
336 |
+
<br/>3. The avoidance of waterlogged soil and frequent garden cleanup will help to reduce the likelihood of spread of this fungus.""",
|
337 |
+
|
338 |
+
|
339 |
+
|
340 |
+
'Tomato___Bacterial_spot': """ <b>Crop</b>: Tomato <br/>Disease: Bacterial Spot<br/>
|
341 |
+
<br/> Cause of disease:
|
342 |
+
|
343 |
+
<br/><br/> 1. The disease is caused by four species of Xanthomonas (X. euvesicatoria, X. gardneri, X. perforans, and X. vesicatoria). In North Carolina, X. perforans is the predominant species associated with bacterial spot on tomato and X. euvesicatoria is the predominant species associated with the disease on pepper.
|
344 |
+
|
345 |
+
<br/> 2. All four bacteria are strictly aerobic, gram-negative rods with a long whip-like flagellum (tail) that allows them to move in water, which allows them to invade wet plant tissue and cause infection.
|
346 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
347 |
+
<br/>1. The most effective management strategy is the use of pathogen-free certified seeds and disease-free transplants to prevent the introduction of the pathogen into greenhouses and field production areas. Inspect plants very carefully and reject infected transplants- including your own!
|
348 |
+
|
349 |
+
<br/>2. In transplant production greenhouses, minimize overwatering and handling of seedlings when they are wet.
|
350 |
+
|
351 |
+
<br/>3. Trays, benches, tools, and greenhouse structures should be washed and sanitized between seedlings crops.
|
352 |
+
<br/>4. Do not spray, tie, harvest, or handle wet plants as that can spread the disease""",
|
353 |
+
|
354 |
+
|
355 |
+
|
356 |
+
'Tomato___Early_blight': """ <b>Crop</b>: Tomato <br/>Disease: Early Blight<br/>
|
357 |
+
<br/> Cause of disease:
|
358 |
+
|
359 |
+
<br/><br/> 1. Early blight can be caused by two different closely related fungi, Alternaria tomatophila and Alternaria solani.
|
360 |
+
<br/> 2. Alternaria tomatophila is more virulent on tomato than A. solani, so in regions where A. tomatophila is found, it is the primary cause of early blight on tomato. However, if A.tomatophila is absent, A.solani will cause early blight on tomato.
|
361 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
362 |
+
<br/>1. Use pathogen-free seed, or collect seed only from disease-free plants..
|
363 |
+
|
364 |
+
<br/>2. Rotate out of tomatoes and related crops for at least two years.
|
365 |
+
|
366 |
+
<br/>3. Control susceptible weeds such as black nightshade and hairy nightshade, and volunteer tomato plants throughout the rotation.
|
367 |
+
<br/>4. Fertilize properly to maintain vigorous plant growth. Particularly, do not over-fertilize with potassium and maintain adequate levels of both nitrogen and phosphorus.
|
368 |
+
<br/>5. Avoid working in plants when they are wet from rain, irrigation, or dew.
|
369 |
+
<br/>6. Use drip irrigation instead of overhead irrigation to keep foliage dry.""",
|
370 |
+
|
371 |
+
|
372 |
+
|
373 |
+
'Tomato___Late_blight': """ <b>Crop</b>: Tomato <br/>Disease: Late Blight<br/>
|
374 |
+
|
375 |
+
Late blight is a potentially devastating disease of tomato, infecting leaves, stems and fruits of plants. The disease spreads quickly in fields and can result in total crop failure if untreated.
|
376 |
+
<br/> Cause of disease:
|
377 |
+
|
378 |
+
<br/><br/> 1. Late blight is caused by the oomycete Phytophthora infestans. Oomycetes are fungus-like organisms also called water molds, but they are not true fungi.
|
379 |
+
|
380 |
+
<br/> 2. There are many different strains of P. infestans. These are called clonal lineages and designated by a number code (i.e. US-23). Many clonal lineages affect both tomato and potato, but some lineages are specific to one host or the other.
|
381 |
+
<br/> 3. The host range is typically limited to potato and tomato, but hairy nightshade (Solanum physalifolium) is a closely related weed that can readily become infected and may contribute to disease spread. Under ideal conditions, such as a greenhouse, petunia also may become infected.""",
|
382 |
+
|
383 |
+
|
384 |
+
|
385 |
+
'Tomato___Leaf_Mold': """ <b>Crop</b>: Tomato <br/>Disease: Leaf Mold<br/>
|
386 |
+
<br/> Cause of disease:
|
387 |
+
|
388 |
+
<br/><br/> 1. Leaf mold is caused by the fungus Passalora fulva (previously called Fulvia fulva or Cladosporium fulvum). It is not known to be pathogenic on any plant other than tomato.
|
389 |
+
|
390 |
+
<br/> 2. Leaf spots grow together and turn brown. Leaves wither and die but often remain attached to the plant.
|
391 |
+
<br/> 3. Fruit infections start as a smooth black irregular area on the stem end of the fruit. As the disease progresses, the infected area becomes sunken, dry and leathery.
|
392 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
393 |
+
<br/>1. Use drip irrigation and avoid watering foliage.
|
394 |
+
|
395 |
+
<br/>2. Space plants to provide good air movement between rows and individual plants.
|
396 |
+
|
397 |
+
<br/>3. Stake, string or prune to increase airflow in and around the plant.
|
398 |
+
<br/>4. Sterilize stakes, ties, trellises etc. with 10 percent household bleach or commercial sanitizer.
|
399 |
+
<br/>5. Circulate air in greenhouses or tunnels with vents and fans and by rolling up high tunnel sides to reduce humidity around plants.
|
400 |
+
<br/>6. Keep night temperatures in greenhouses higher than outside temperatures to avoid dew formation on the foliage.
|
401 |
+
<br/>7. Remove crop residue at the end of the season. Burn it or bury it away from tomato production areas.""",
|
402 |
+
|
403 |
+
|
404 |
+
'Tomato___Septoria_leaf_spot': """ <b>Crop</b>: Tomato <br/>Disease: Leaf Spot<br/>
|
405 |
+
<br/> Cause of disease:
|
406 |
+
|
407 |
+
<br/><br/> Septoria leaf spot is caused by a fungus, Septoria lycopersici. It is one of the most destructive diseases of tomato foliage and is particularly severe in areas where wet, humid weather persists for extended periods.
|
408 |
+
|
409 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
410 |
+
<br/>1. Remove diseased leaves.
|
411 |
+
|
412 |
+
<br/>2. Improve air circulation around the plants.
|
413 |
+
|
414 |
+
<br/>3. Mulch around the base of the plants
|
415 |
+
<br/>4. Do not use overhead watering.
|
416 |
+
<br/>5. Use fungicidal sprayes.""",
|
417 |
+
|
418 |
+
|
419 |
+
|
420 |
+
'Tomato___Spider_mites Two-spotted_spider_mite': """ <b>Crop</b>: Tomato <br/>Disease: Two-spotted spider mite<br/>
|
421 |
+
<br/> Cause of disease:
|
422 |
+
|
423 |
+
<br/><br/> 1. The two-spotted spider mite is the most common mite species that attacks vegetable and fruit crops.
|
424 |
+
|
425 |
+
<br/> 2. They have up to 20 generations per year and are favored by excess nitrogen and dry and dusty conditions.
|
426 |
+
<br/> 3. Outbreaks are often caused by the use of broad-spectrum insecticides which interfere with the numerous natural enemies that help to manage mite populations.
|
427 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
428 |
+
<br/>1. Avoid early season, broad-spectrum insecticide applications for other pests.
|
429 |
+
|
430 |
+
<br/>2. Do not over-fertilize
|
431 |
+
|
432 |
+
<br/>3. Overhead irrigation or prolonged periods of rain can help reduce populations.""",
|
433 |
+
|
434 |
+
|
435 |
+
'Tomato___Target_Spo': """ <b>Crop</b>: Tomato <br/>Disease: Target Spot<br/>
|
436 |
+
<br/> Cause of disease:
|
437 |
+
|
438 |
+
<br/><br/> 1. The fungus causes plants to lose their leaves; it is a major disease. If infection occurs before the fruit has developed, yields are low.
|
439 |
+
|
440 |
+
<br/> 2. This is a common disease on tomato in Pacific island countries. The disease occurs in the screen house and in the field.
|
441 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
442 |
+
<br/>1. Remove a few branches from the lower part of the plants to allow better airflow at the base
|
443 |
+
|
444 |
+
<br/>2. Remove and burn the lower leaves as soon as the disease is seen, especially after the lower fruit trusses have been picked.
|
445 |
+
|
446 |
+
<br/>3. Keep plots free from weeds, as some may be hosts of the fungus.
|
447 |
+
<br/>4. Do not use overhead irrigation; otherwise, it will create conditions for spore production and infection.""",
|
448 |
+
|
449 |
+
|
450 |
+
'Tomato___Tomato_Yellow_Leaf_Curl_Virus': """ <b>Crop</b>: Tomato <br/>Disease: Yellow Leaf Curl Virus<br/>
|
451 |
+
<br/> Cause of disease:
|
452 |
+
|
453 |
+
<br/><br/> 1. TYLCV is transmitted by the insect vector Bemisia tabaci in a persistent-circulative nonpropagative manner. The virus can be efficiently transmitted during the adult stages.
|
454 |
+
|
455 |
+
<br/> 2. This virus transmission has a short acquisition access period of 15–20 minutes, and latent period of 8–24 hours.
|
456 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
457 |
+
<br/>1. Currently, the most effective treatments used to control the spread of TYLCV are insecticides and resistant crop varieties.
|
458 |
+
|
459 |
+
<br/>2. The effectiveness of insecticides is not optimal in tropical areas due to whitefly resistance against the insecticides; therefore, insecticides should be alternated or mixed to provide the most effective treatment against virus transmission.
|
460 |
+
|
461 |
+
<br/>3. Other methods to control the spread of TYLCV include planting resistant/tolerant lines, crop rotation, and breeding for resistance of TYLCV. As with many other plant viruses, one of the most promising methods to control TYLCV is the production of transgenic tomato plants resistant to TYLCV.""",
|
462 |
+
|
463 |
+
|
464 |
+
|
465 |
+
|
466 |
+
'Tomato___Tomato_mosaic_virus': """ <b>Crop</b>: Tomato <br/>Disease: Mosaic Virus<br/>
|
467 |
+
<br/> Cause of disease:
|
468 |
+
|
469 |
+
<br/><br/> 1. Tomato mosaic virus and tobacco mosaic virus can exist for two years in dry soil or leaf debris, but will only persist one month if soil is moist. The viruses can also survive in infected root debris in the soil for up to two years.
|
470 |
+
|
471 |
+
<br/> 2. Seed can be infected and pass the virus to the plant but the disease is usually introduced and spread primarily through human activity. The virus can easily spread between plants on workers' hands, tools, and clothes with normal activities such as plant tying, removing of suckers, and harvest
|
472 |
+
<br/> 3. The virus can even survive the tobacco curing process, and can spread from cigarettes and other tobacco products to plant material handled by workers after a cigarette
|
473 |
+
|
474 |
+
|
475 |
+
<br/><br/> How to prevent/cure the disease <br/>
|
476 |
+
|
477 |
+
|
478 |
+
<br/>1. Purchase transplants only from reputable sources. Ask about the sanitation procedures they use to prevent disease.
|
479 |
+
|
480 |
+
<br/>2. Inspect transplants prior to purchase. Choose only transplants showing no clear symptoms.
|
481 |
+
|
482 |
+
<br/>3. Avoid planting in fields where tomato root debris is present, as the virus can survive long-term in roots.
|
483 |
+
<br/>4. Wash hands with soap and water before and during the handling of plants to reduce potential spread between plants."""
|
484 |
+
}
|
farm_background.jpg
ADDED
![]() |
Git LFS Details
|
farm_background_1.jpg
ADDED
![]() |
Git LFS Details
|
favicon.ico
ADDED
|
fertilizer-result.html
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %} {% block body %}
|
2 |
+
|
3 |
+
|
4 |
+
|
5 |
+
|
6 |
+
|
7 |
+
|
8 |
+
<div class="container py-2 mx-auto my-50 h-10 " style="margin: 9rem;">
|
9 |
+
<div class="row">
|
10 |
+
<div class="col-sm py-2 py-md-3">
|
11 |
+
<div class="card card-body" style="justify-content: center; background-color:blanchedalmond">
|
12 |
+
<p class="text-center" style="color: black; font-size: 20px;">{{ recommendation }}</p>
|
13 |
+
</div>
|
14 |
+
</div>
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
{% endblock %}
|
fertilizer.html
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %} {% block body %}
|
2 |
+
|
3 |
+
<style>
|
4 |
+
html body {
|
5 |
+
background-color: rgb(206, 206, 228);
|
6 |
+
}
|
7 |
+
</style>
|
8 |
+
<!--Form Section-->
|
9 |
+
<br /><br />
|
10 |
+
<h2 style="text-align: center; margin: 0px; color: black">
|
11 |
+
<b>Get informed advice on fertilizer based on soil</b>
|
12 |
+
</h2>
|
13 |
+
<br />
|
14 |
+
|
15 |
+
<div
|
16 |
+
style="
|
17 |
+
width: 350px;
|
18 |
+
height: 40rem;
|
19 |
+
margin: 0px auto;
|
20 |
+
color: black;
|
21 |
+
border-radius: 25px;
|
22 |
+
padding: 10px 10px;
|
23 |
+
"
|
24 |
+
>
|
25 |
+
<form method="POST" action="{{ url_for('fert_recommend') }}">
|
26 |
+
<div class="form-group">
|
27 |
+
<label for="Nitrogen" style="font-size: 17px"><b>Nitrogen</b></label>
|
28 |
+
<input
|
29 |
+
type="number"
|
30 |
+
class="form-control"
|
31 |
+
id="Nitrogen"
|
32 |
+
name="nitrogen"
|
33 |
+
placeholder="Enter the value (example:50)"
|
34 |
+
style="font-weight: bold"
|
35 |
+
required
|
36 |
+
/>
|
37 |
+
</div>
|
38 |
+
<div class="form-group">
|
39 |
+
<label for="Phosphorous" style="font-size: 17px"
|
40 |
+
><b>Phosphorous</b></label
|
41 |
+
>
|
42 |
+
<input
|
43 |
+
type="number"
|
44 |
+
class="form-control"
|
45 |
+
id="Phosphorous"
|
46 |
+
name="phosphorous"
|
47 |
+
placeholder="Enter the value (example:50)"
|
48 |
+
style="font-weight: bold"
|
49 |
+
required
|
50 |
+
/>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div class="form-group">
|
54 |
+
<label for="Pottasium" style="font-size: 17px"><b>Pottasium</b></label>
|
55 |
+
<input
|
56 |
+
type="number"
|
57 |
+
class="form-control"
|
58 |
+
id="Pottasium"
|
59 |
+
name="pottasium"
|
60 |
+
placeholder="Enter the value (example:50)"
|
61 |
+
style="font-weight: bold"
|
62 |
+
required
|
63 |
+
/>
|
64 |
+
</div>
|
65 |
+
<!-- <div class="form-group">
|
66 |
+
<label for="ph" style="font-size: 17px"><b>ph level</b></label>
|
67 |
+
<input
|
68 |
+
type="text"
|
69 |
+
class="form-control"
|
70 |
+
id="ph"
|
71 |
+
name="ph"
|
72 |
+
placeholder="Enter the value"
|
73 |
+
style="font-weight: bold"
|
74 |
+
required
|
75 |
+
/>
|
76 |
+
</div> -->
|
77 |
+
<div class="form-group">
|
78 |
+
<label for="crop" style="font-size: 17px"
|
79 |
+
><b>Crop you want to grow</b></label
|
80 |
+
>
|
81 |
+
<select
|
82 |
+
name="cropname"
|
83 |
+
class="form-control"
|
84 |
+
id="crop"
|
85 |
+
placeholder="Select a crop"
|
86 |
+
style="font-weight: bold"
|
87 |
+
required
|
88 |
+
>
|
89 |
+
<option selected>Select crop</option>
|
90 |
+
<option>rice</option>
|
91 |
+
<option>maize</option>
|
92 |
+
<option>chickpea</option>
|
93 |
+
<option>kidneybeans</option>
|
94 |
+
<option>pigeonpeas</option>
|
95 |
+
<option>mothbeans</option>
|
96 |
+
<option>mungbean</option>
|
97 |
+
<option>blackgram</option>
|
98 |
+
<option>lentil</option>
|
99 |
+
<option>pomegranate</option>
|
100 |
+
<option>banana</option>
|
101 |
+
<option>mango</option>
|
102 |
+
<option>grapes</option>
|
103 |
+
<option>watermelon</option>
|
104 |
+
<option>muskmelon</option>
|
105 |
+
<option>apple</option>
|
106 |
+
<option>orange</option>
|
107 |
+
<option>papaya</option>
|
108 |
+
<option>coconut</option>
|
109 |
+
<option>cotton</option>
|
110 |
+
<option>jute</option>
|
111 |
+
<option>coffee</option>
|
112 |
+
</select>
|
113 |
+
</div>
|
114 |
+
|
115 |
+
<div class="d-flex justify-content-center">
|
116 |
+
<button
|
117 |
+
type="submit"
|
118 |
+
class="btn btn-info"
|
119 |
+
style="
|
120 |
+
color: black;
|
121 |
+
font-weight: bold;
|
122 |
+
width: 130px;
|
123 |
+
height: 50px;
|
124 |
+
border-radius: 12px;
|
125 |
+
font-size: 21px;
|
126 |
+
"
|
127 |
+
>
|
128 |
+
Predict
|
129 |
+
</button>
|
130 |
+
</div>
|
131 |
+
</form>
|
132 |
+
</div>
|
133 |
+
{% endblock %}
|
fertilizer.py
ADDED
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
fertilizer_dic = {
|
2 |
+
'NHigh': """The N value of soil is high and might give rise to weeds.
|
3 |
+
<br/> Please consider the following suggestions:
|
4 |
+
|
5 |
+
<br/><br/> 1. <i> Manure </i> – adding manure is one of the simplest ways to amend your soil with nitrogen. Be careful as there are various types of manures with varying degrees of nitrogen.
|
6 |
+
|
7 |
+
<br/> 2. <i>Coffee grinds </i> – use your morning addiction to feed your gardening habit! Coffee grinds are considered a green compost material which is rich in nitrogen. Once the grounds break down, your soil will be fed with delicious, delicious nitrogen. An added benefit to including coffee grounds to your soil is while it will compost, it will also help provide increased drainage to your soil.
|
8 |
+
|
9 |
+
<br/>3. <i>Plant nitrogen fixing plants</i> – planting vegetables that are in Fabaceae family like peas, beans and soybeans have the ability to increase nitrogen in your soil
|
10 |
+
|
11 |
+
<br/>4. Plant ‘green manure’ crops like cabbage, corn and brocolli
|
12 |
+
|
13 |
+
<br/>5. <i>Use mulch (wet grass) while growing crops</i> - Mulch can also include sawdust and scrap soft woods""",
|
14 |
+
|
15 |
+
'Nlow': """The N value of your soil is low.
|
16 |
+
<br/> Please consider the following suggestions:
|
17 |
+
<br/><br/> 1. <i>Add sawdust or fine woodchips to your soil</i> – the carbon in the sawdust/woodchips love nitrogen and will help absorb and soak up and excess nitrogen.
|
18 |
+
|
19 |
+
<br/>2. <i>Plant heavy nitrogen feeding plants</i> – tomatoes, corn, broccoli, cabbage and spinach are examples of plants that thrive off nitrogen and will suck the nitrogen dry.
|
20 |
+
|
21 |
+
<br/>3. <i>Water</i> – soaking your soil with water will help leach the nitrogen deeper into your soil, effectively leaving less for your plants to use.
|
22 |
+
|
23 |
+
<br/>4. <i>Sugar</i> – In limited studies, it was shown that adding sugar to your soil can help potentially reduce the amount of nitrogen is your soil. Sugar is partially composed of carbon, an element which attracts and soaks up the nitrogen in the soil. This is similar concept to adding sawdust/woodchips which are high in carbon content.
|
24 |
+
|
25 |
+
<br/>5. Add composted manure to the soil.
|
26 |
+
|
27 |
+
<br/>6. Plant Nitrogen fixing plants like peas or beans.
|
28 |
+
|
29 |
+
<br/>7. <i>Use NPK fertilizers with high N value.
|
30 |
+
|
31 |
+
<br/>8. <i>Do nothing</i> – It may seem counter-intuitive, but if you already have plants that are producing lots of foliage, it may be best to let them continue to absorb all the nitrogen to amend the soil for your next crops.""",
|
32 |
+
|
33 |
+
'PHigh': """The P value of your soil is high.
|
34 |
+
<br/> Please consider the following suggestions:
|
35 |
+
|
36 |
+
<br/><br/>1. <i>Avoid adding manure</i> – manure contains many key nutrients for your soil but typically including high levels of phosphorous. Limiting the addition of manure will help reduce phosphorus being added.
|
37 |
+
|
38 |
+
<br/>2. <i>Use only phosphorus-free fertilizer</i> – if you can limit the amount of phosphorous added to your soil, you can let the plants use the existing phosphorus while still providing other key nutrients such as Nitrogen and Potassium. Find a fertilizer with numbers such as 10-0-10, where the zero represents no phosphorous.
|
39 |
+
|
40 |
+
<br/>3. <i>Water your soil</i> – soaking your soil liberally will aid in driving phosphorous out of the soil. This is recommended as a last ditch effort.
|
41 |
+
|
42 |
+
<br/>4. Plant nitrogen fixing vegetables to increase nitrogen without increasing phosphorous (like beans and peas).
|
43 |
+
|
44 |
+
<br/>5. Use crop rotations to decrease high phosphorous levels""",
|
45 |
+
|
46 |
+
'Plow': """The P value of your soil is low.
|
47 |
+
<br/> Please consider the following suggestions:
|
48 |
+
|
49 |
+
<br/><br/>1. <i>Bone meal</i> – a fast acting source that is made from ground animal bones which is rich in phosphorous.
|
50 |
+
|
51 |
+
<br/>2. <i>Rock phosphate</i> – a slower acting source where the soil needs to convert the rock phosphate into phosphorous that the plants can use.
|
52 |
+
|
53 |
+
<br/>3. <i>Phosphorus Fertilizers</i> – applying a fertilizer with a high phosphorous content in the NPK ratio (example: 10-20-10, 20 being phosphorous percentage).
|
54 |
+
|
55 |
+
<br/>4. <i>Organic compost</i> – adding quality organic compost to your soil will help increase phosphorous content.
|
56 |
+
|
57 |
+
<br/>5. <i>Manure</i> – as with compost, manure can be an excellent source of phosphorous for your plants.
|
58 |
+
|
59 |
+
<br/>6. <i>Clay soil</i> – introducing clay particles into your soil can help retain & fix phosphorus deficiencies.
|
60 |
+
|
61 |
+
<br/>7. <i>Ensure proper soil pH</i> – having a pH in the 6.0 to 7.0 range has been scientifically proven to have the optimal phosphorus uptake in plants.
|
62 |
+
|
63 |
+
<br/>8. If soil pH is low, add lime or potassium carbonate to the soil as fertilizers. Pure calcium carbonate is very effective in increasing the pH value of the soil.
|
64 |
+
|
65 |
+
<br/>9. If pH is high, addition of appreciable amount of organic matter will help acidify the soil. Application of acidifying fertilizers, such as ammonium sulfate, can help lower soil pH""",
|
66 |
+
|
67 |
+
'KHigh': """The K value of your soil is high</b>.
|
68 |
+
<br/> Please consider the following suggestions:
|
69 |
+
|
70 |
+
<br/><br/>1. <i>Loosen the soil</i> deeply with a shovel, and water thoroughly to dissolve water-soluble potassium. Allow the soil to fully dry, and repeat digging and watering the soil two or three more times.
|
71 |
+
|
72 |
+
<br/>2. <i>Sift through the soil</i>, and remove as many rocks as possible, using a soil sifter. Minerals occurring in rocks such as mica and feldspar slowly release potassium into the soil slowly through weathering.
|
73 |
+
|
74 |
+
<br/>3. Stop applying potassium-rich commercial fertilizer. Apply only commercial fertilizer that has a '0' in the final number field. Commercial fertilizers use a three number system for measuring levels of nitrogen, phosphorous and potassium. The last number stands for potassium. Another option is to stop using commercial fertilizers all together and to begin using only organic matter to enrich the soil.
|
75 |
+
|
76 |
+
<br/>4. Mix crushed eggshells, crushed seashells, wood ash or soft rock phosphate to the soil to add calcium. Mix in up to 10 percent of organic compost to help amend and balance the soil.
|
77 |
+
|
78 |
+
<br/>5. Use NPK fertilizers with low K levels and organic fertilizers since they have low NPK values.
|
79 |
+
|
80 |
+
<br/>6. Grow a cover crop of legumes that will fix nitrogen in the soil. This practice will meet the soil’s needs for nitrogen without increasing phosphorus or potassium.
|
81 |
+
""",
|
82 |
+
|
83 |
+
'Klow': """The K value of your soil is low.
|
84 |
+
<br/>Please consider the following suggestions:
|
85 |
+
|
86 |
+
<br/><br/>1. Mix in muricate of potash or sulphate of potash
|
87 |
+
<br/>2. Try kelp meal or seaweed
|
88 |
+
<br/>3. Try Sul-Po-Mag
|
89 |
+
<br/>4. Bury banana peels an inch below the soils surface
|
90 |
+
<br/>5. Use Potash fertilizers since they contain high values potassium
|
91 |
+
"""
|
92 |
+
}
|
font-awesome.min.css
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
|
3 |
+
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
|
4 |
+
*/@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
|
index.html
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %}
|
2 |
+
|
3 |
+
{% block body %}
|
4 |
+
<!-- banner -->
|
5 |
+
<section class="banner_w3lspvt" id="home">
|
6 |
+
<div class="csslider infinity" id="slider1">
|
7 |
+
|
8 |
+
<div class="banner-top">
|
9 |
+
<div class="overlay">
|
10 |
+
<div class="container">
|
11 |
+
<div class="w3layouts-banner-info text-center">
|
12 |
+
<h3 class="text-wh">Harvestify</h3>
|
13 |
+
<h4 class="text-wh mx-auto my-4"><b>Get informed decisions about your farming strategy.</b></h4>
|
14 |
+
<br>
|
15 |
+
<h4 class="text-wh mx-auto my-4"><strong> Here are some questions we'll answer</strong></h4>
|
16 |
+
<p class="text-li mx-auto mt-2">
|
17 |
+
1. What crop to plant here? <br>
|
18 |
+
2. What fertilizer to use? <br>
|
19 |
+
3. Which disease do your crop have?<br>
|
20 |
+
4. How to cure the disease?</p>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
</section>
|
27 |
+
<!-- //banner -->
|
28 |
+
|
29 |
+
<!-- core values -->
|
30 |
+
<section class="core-value py-5">
|
31 |
+
<div class="container py-md-4">
|
32 |
+
<h3 class="heading mb-sm-5 mb-4 text-center"> About Us</h3>
|
33 |
+
<div class="row core-grids">
|
34 |
+
<div class="col-lg-6 core-left">
|
35 |
+
<img src="{{ url_for('static', filename='images/core.jpg') }}" class="img-fluid" alt="" />
|
36 |
+
</div>
|
37 |
+
<div class="col-lg-6 core-right">
|
38 |
+
<h3 class="mt-4">Improving Agriculture, Improving Lives, Cultivating Crops To Make Farmers Increase
|
39 |
+
Profit.</h3>
|
40 |
+
<p class="mt-3">We use state-of-the-art machine learning and deep learning technologies to help you
|
41 |
+
guide through
|
42 |
+
the entire farming process. Make informed decisions to understand the demographics of your area,
|
43 |
+
understand the
|
44 |
+
factors that affect your crop and keep them healthy for a super awesome successful yield.</p>
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
</section>
|
49 |
+
<!-- //core values -->
|
50 |
+
|
51 |
+
<!-- Products & Services -->
|
52 |
+
<section class="blog py-5">
|
53 |
+
<div class="container py-md-5">
|
54 |
+
<h3 class="heading mb-sm-5 mb-4 text-center"> Our Services</h3>
|
55 |
+
<div class="row blog-grids">
|
56 |
+
<div class="col-lg-4 col-md-6 blog-left mb-lg-0 mb-sm-5 pb-lg-0 pb-5">
|
57 |
+
<img src="{{ url_for('static', filename='images/s3.jpg') }}" class="img-fluid" alt="" />
|
58 |
+
<a href="{{ url_for('crop_recommend') }}">
|
59 |
+
<div class="blog-info">
|
60 |
+
|
61 |
+
<h4>Crop</h4>
|
62 |
+
|
63 |
+
<p class="mt-2"> Recommendation about the type of crops to be cultivated which is best suited
|
64 |
+
for the respective conditions</p>
|
65 |
+
</div>
|
66 |
+
</a>
|
67 |
+
</div>
|
68 |
+
<div class="col-lg-4 col-md-6 blog-middle mb-lg-0 mb-sm-5 pb-lg-0 pb-md-5">
|
69 |
+
<img src="{{ url_for('static', filename='images/s2.jpg') }}" class="img-fluid" alt="" />
|
70 |
+
<a href="{{ url_for('fertilizer_recommendation') }}">
|
71 |
+
<div class="blog-info">
|
72 |
+
<h4>Fertilizer</h4>
|
73 |
+
<p class="mt-2">Recommendation about the type of fertilizer best suited for the particular soil
|
74 |
+
and the recommended crop</p>
|
75 |
+
</div>
|
76 |
+
</a>
|
77 |
+
</div>
|
78 |
+
<div class="col-lg-4 col-md-6 blog-right mt-lg-0 mt-5 pt-lg-0 pt-md-5">
|
79 |
+
|
80 |
+
<img src="{{ url_for('static', filename='images/s4.jpg') }}" class="img-fluid" alt="">
|
81 |
+
|
82 |
+
<!-- <img src="images/s4.jpg" class="img-fliud" alt="" /> -->
|
83 |
+
<a href="{{ url_for('disease_prediction') }}">
|
84 |
+
<div class="blog-info">
|
85 |
+
<h4>Crop Disease</h4>
|
86 |
+
<p class="mt-2">Predicting the name and causes of crop disease and suggestions to cure it</p>
|
87 |
+
</div>
|
88 |
+
</a>
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
</section>
|
93 |
+
<!-- //Products & Services -->
|
94 |
+
|
95 |
+
|
96 |
+
<!-- Creating custom grid and hover effect
|
97 |
+
<section>
|
98 |
+
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
|
99 |
+
<div class="hovereffect">
|
100 |
+
<img class="img-responsive" src="images/s2.jpg" alt="">
|
101 |
+
<div class="overlay">
|
102 |
+
<h2>Hover effect 1</h2>
|
103 |
+
<a class="info" href="#">link here</a>
|
104 |
+
</div>
|
105 |
+
</div>
|
106 |
+
</div> -->
|
107 |
+
|
108 |
+
</html>
|
109 |
+
|
110 |
+
{% endblock %}
|
layout.html
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
|
4 |
+
<head>
|
5 |
+
<title>{{ title }}</title>
|
6 |
+
<link rel="shortcut icon" href="{{ url_for('static', filename='images/favicon.ico') }}"/>
|
7 |
+
|
8 |
+
<!-- for-mobile-apps -->
|
9 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
10 |
+
<meta charset="utf-8">
|
11 |
+
<meta name="keywords" content="Agro Harvest Responsive web template, Bootstrap Web Templates, Flat Web Templates, Android Compatible web template,
|
12 |
+
Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyEricsson, Motorola web design" />
|
13 |
+
|
14 |
+
<style>
|
15 |
+
html {
|
16 |
+
font-size: 1rem;
|
17 |
+
}
|
18 |
+
|
19 |
+
@media (min-width: 576px) {
|
20 |
+
html {
|
21 |
+
font-size: 1.25rem;
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
@media (min-width: 768px) {
|
26 |
+
html {
|
27 |
+
font-size: 1.5rem;
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
@media (min-width: 992px) {
|
32 |
+
html {
|
33 |
+
font-size: 1.75rem;
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
@media (min-width: 1200px) {
|
38 |
+
html {
|
39 |
+
font-size: 2rem;
|
40 |
+
}
|
41 |
+
|
42 |
+
html {
|
43 |
+
font-size: 1rem;
|
44 |
+
}
|
45 |
+
|
46 |
+
h1 {
|
47 |
+
font-size: 1.2rem;
|
48 |
+
}
|
49 |
+
|
50 |
+
h2 {
|
51 |
+
font-size: 1.1rem;
|
52 |
+
}
|
53 |
+
|
54 |
+
@media (min-width: 768px) {
|
55 |
+
html {
|
56 |
+
font-size: 1.1rem;
|
57 |
+
}
|
58 |
+
|
59 |
+
h1 {
|
60 |
+
font-size: 1.3rem;
|
61 |
+
}
|
62 |
+
|
63 |
+
h2 {
|
64 |
+
font-size: 1.2rem;
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
@media (min-width: 991px) {
|
69 |
+
html {
|
70 |
+
font-size: 1.2rem;
|
71 |
+
}
|
72 |
+
|
73 |
+
h1 {
|
74 |
+
font-size: 1.5rem;
|
75 |
+
}
|
76 |
+
|
77 |
+
h2 {
|
78 |
+
font-size: 1.4rem;
|
79 |
+
}
|
80 |
+
}
|
81 |
+
|
82 |
+
@media (min-width: 1200px) {
|
83 |
+
html {
|
84 |
+
font-size: 1.2rem;
|
85 |
+
}
|
86 |
+
|
87 |
+
h1 {
|
88 |
+
font-size: 1.7rem;
|
89 |
+
}
|
90 |
+
|
91 |
+
h2 {
|
92 |
+
font-size: 1.6rem;
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
}
|
97 |
+
</style>
|
98 |
+
<script>
|
99 |
+
addEventListener("load", function () {
|
100 |
+
setTimeout(hideURLbar, 0);
|
101 |
+
}, false);
|
102 |
+
|
103 |
+
function hideURLbar() {
|
104 |
+
window.scrollTo(0, 1);
|
105 |
+
}
|
106 |
+
|
107 |
+
</script>
|
108 |
+
|
109 |
+
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
|
110 |
+
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
|
111 |
+
crossorigin="anonymous"></script>
|
112 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
|
113 |
+
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
|
114 |
+
crossorigin="anonymous"></script>
|
115 |
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
|
116 |
+
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
|
117 |
+
crossorigin="anonymous"></script>
|
118 |
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
|
119 |
+
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
|
120 |
+
crossorigin="anonymous"></script>
|
121 |
+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
|
122 |
+
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
|
123 |
+
crossorigin="anonymous"></script>
|
124 |
+
</body>
|
125 |
+
<!-- css files -->
|
126 |
+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
|
127 |
+
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
128 |
+
<link href="{{ url_for('static', filename='css/bootstrap.css') }}" rel='stylesheet' type='text/css' />
|
129 |
+
<!-- bootstrap css -->
|
130 |
+
<link href="{{ url_for('static', filename='css/style.css') }}" rel='stylesheet' type='text/css' />
|
131 |
+
<!-- custom css -->
|
132 |
+
<link href="{{ url_for('static', filename='css/font-awesome.min.css') }}" rel="stylesheet"><!-- fontawesome css -->
|
133 |
+
<!-- //css files -->
|
134 |
+
<!-- <link rel="icon" type="image/png" href="{{ url_for('static', filename='images/favicon.png?') }}"> -->
|
135 |
+
|
136 |
+
|
137 |
+
<script type="text/JavaScript" src="{{ url_for('static', filename='scripts/cities.js') }}"></script>
|
138 |
+
|
139 |
+
|
140 |
+
<!-- google fonts -->
|
141 |
+
<link href="//fonts.googleapis.com/css?family=Thasadith:400,400i,700,700i&subset=latin-ext,thai,vietnamese"
|
142 |
+
rel="stylesheet">
|
143 |
+
<!-- //google fonts -->
|
144 |
+
|
145 |
+
<style>
|
146 |
+
header {
|
147 |
+
background-color: rgba(30, 30, 30, 1);
|
148 |
+
margin-top: 0rem;
|
149 |
+
display: block;
|
150 |
+
|
151 |
+
}
|
152 |
+
</style>
|
153 |
+
</head>
|
154 |
+
|
155 |
+
<body>
|
156 |
+
|
157 |
+
<!-- Navigation -->
|
158 |
+
<nav class="navbar navbar-expand-lg navbar-dark bg-dark static-top" style="background-color: #1C00ff00;">
|
159 |
+
<div class="container">
|
160 |
+
<a class="navbar-brand" href="{{ url_for('home') }}">
|
161 |
+
<img src="{{ url_for('static', filename='images/logo.jpg') }}" style="width: 90px; height: 55px" alt="">
|
162 |
+
</a>
|
163 |
+
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
|
164 |
+
aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
165 |
+
<span class="navbar-toggler-icon"></span>
|
166 |
+
</button>
|
167 |
+
<div class="collapse navbar-collapse" id="navbarResponsive">
|
168 |
+
<ul class="navbar-nav ml-auto">
|
169 |
+
<li class="nav-item active">
|
170 |
+
<a class="nav-link" href="{{ url_for('home') }}">Home
|
171 |
+
<span class="sr-only">(current)</span>
|
172 |
+
</a>
|
173 |
+
</li>
|
174 |
+
<li class="nav-item">
|
175 |
+
<a class="nav-link" href="{{ url_for('crop_recommend') }}">Crop</a>
|
176 |
+
</li>
|
177 |
+
<li class="nav-item">
|
178 |
+
<a class="nav-link" href="{{ url_for('fertilizer_recommendation') }}">Fertilizer</a>
|
179 |
+
</li>
|
180 |
+
<li class="nav-item">
|
181 |
+
<a class="nav-link" href="{{ url_for('disease_prediction') }}">Disease</a>
|
182 |
+
</li>
|
183 |
+
</ul>
|
184 |
+
</div>
|
185 |
+
</div>
|
186 |
+
</nav>
|
187 |
+
|
188 |
+
|
189 |
+
|
190 |
+
|
191 |
+
{% block body %} {% endblock %}
|
192 |
+
|
193 |
+
<!-- footer -->
|
194 |
+
<footer class="text-center py-5">
|
195 |
+
<div class="container py-md-3">
|
196 |
+
<!-- logo -->
|
197 |
+
<h2 class="logo2 text-center">
|
198 |
+
<a href="{{ url_for('home') }}">
|
199 |
+
Harvestify
|
200 |
+
</a>
|
201 |
+
</h2>
|
202 |
+
<!-- //logo -->
|
203 |
+
<!-- address -->
|
204 |
+
<div class="contact-left-footer mt-4">
|
205 |
+
|
206 |
+
|
207 |
+
|
208 |
+
|
209 |
+
|
210 |
+
<!-- <a href="community.html">Community</a> -->
|
211 |
+
</p>
|
212 |
+
</div>
|
213 |
+
<div class="w3l-copy text-center">
|
214 |
+
<p class="text-da">An Environmental Intelligence Startup<br> </p>
|
215 |
+
</div>
|
216 |
+
<p class="homelogo">
|
217 |
+
<p>Made with ❤️ by Atharva</p>
|
218 |
+
<p>© Copyright 2021 Atharva Ingle</p>
|
219 |
+
|
220 |
+
</div>
|
221 |
+
</footer>
|
222 |
+
<!-- //footer -->
|
223 |
+
|
224 |
+
<!-- move top icon -->
|
225 |
+
<a href="#home" class="move-top text-center"></a>
|
226 |
+
<!-- //move top icon -->
|
227 |
+
</body>
|
228 |
+
|
229 |
+
</html>
|
logo.jpg
ADDED
![]() |
logo.png
ADDED
![]() |
model.py
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import torch
|
2 |
+
import torch.nn as nn
|
3 |
+
import torch.nn.functional as F
|
4 |
+
|
5 |
+
|
6 |
+
def ConvBlock(in_channels, out_channels, pool=False):
|
7 |
+
layers = [nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1),
|
8 |
+
nn.BatchNorm2d(out_channels),
|
9 |
+
nn.ReLU(inplace=True)]
|
10 |
+
if pool:
|
11 |
+
layers.append(nn.MaxPool2d(4))
|
12 |
+
return nn.Sequential(*layers)
|
13 |
+
|
14 |
+
|
15 |
+
# Model Architecture
|
16 |
+
class ResNet9(nn.Module):
|
17 |
+
def __init__(self, in_channels, num_diseases):
|
18 |
+
super().__init__()
|
19 |
+
|
20 |
+
self.conv1 = ConvBlock(in_channels, 64)
|
21 |
+
self.conv2 = ConvBlock(64, 128, pool=True) # out_dim : 128 x 64 x 64
|
22 |
+
self.res1 = nn.Sequential(ConvBlock(128, 128), ConvBlock(128, 128))
|
23 |
+
|
24 |
+
self.conv3 = ConvBlock(128, 256, pool=True) # out_dim : 256 x 16 x 16
|
25 |
+
self.conv4 = ConvBlock(256, 512, pool=True) # out_dim : 512 x 4 x 44
|
26 |
+
self.res2 = nn.Sequential(ConvBlock(512, 512), ConvBlock(512, 512))
|
27 |
+
|
28 |
+
self.classifier = nn.Sequential(nn.MaxPool2d(4),
|
29 |
+
nn.Flatten(),
|
30 |
+
nn.Linear(512, num_diseases))
|
31 |
+
|
32 |
+
def forward(self, xb): # xb is the loaded batch
|
33 |
+
out = self.conv1(xb)
|
34 |
+
out = self.conv2(out)
|
35 |
+
out = self.res1(out) + out
|
36 |
+
out = self.conv3(out)
|
37 |
+
out = self.conv4(out)
|
38 |
+
out = self.res2(out) + out
|
39 |
+
out = self.classifier(out)
|
40 |
+
return out
|
move-top.png
ADDED
![]() |
plant-disease-classification-resnet-99-2.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|
plant_disease_model.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a05524817f98efba9775cc97bf815b84e28ea04f450bcc7b1593a30af0200a8e
|
3 |
+
size 26396922
|
requirements.txt
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
numpy
|
2 |
+
pandas
|
3 |
+
Flask
|
4 |
+
scikit-learn
|
5 |
+
https://download.pytorch.org/whl/cpu/torch-1.7.0%2Bcpu-cp36-cp36m-linux_x86_64.whl
|
6 |
+
https://download.pytorch.org/whl/cpu/torchvision-0.8.1%2Bcpu-cp36-cp36m-linux_x86_64.whl
|
7 |
+
requests
|
8 |
+
Pillow
|
9 |
+
gunicorn == 20.0.4
|
s2.jpg
ADDED
![]() |
s3.jpg
ADDED
![]() |
s4.jpg
ADDED
![]() |
style.css
ADDED
@@ -0,0 +1,1626 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
html,
|
2 |
+
body {
|
3 |
+
margin: 0;
|
4 |
+
font-size: 100%;
|
5 |
+
background: #fff;
|
6 |
+
font-family: 'Thasadith', sans-serif;
|
7 |
+
}
|
8 |
+
|
9 |
+
html {
|
10 |
+
scroll-behavior: smooth;
|
11 |
+
}
|
12 |
+
body a {
|
13 |
+
text-decoration: none;
|
14 |
+
transition: 0.5s all;
|
15 |
+
-webkit-transition: 0.5s all;
|
16 |
+
-moz-transition: 0.5s all;
|
17 |
+
-o-transition: 0.5s all;
|
18 |
+
-ms-transition: 0.5s all;
|
19 |
+
font-family: 'Thasadith', sans-serif;
|
20 |
+
}
|
21 |
+
|
22 |
+
body img {
|
23 |
+
max-width: 100%;
|
24 |
+
}
|
25 |
+
|
26 |
+
a:hover {
|
27 |
+
text-decoration: none;
|
28 |
+
}
|
29 |
+
|
30 |
+
input[type="button"],
|
31 |
+
input[type="submit"],
|
32 |
+
input[type="text"],
|
33 |
+
input[type="email"],
|
34 |
+
input[type="search"] {
|
35 |
+
transition: 0.5s all;
|
36 |
+
-webkit-transition: 0.5s all;
|
37 |
+
-moz-transition: 0.5s all;
|
38 |
+
-o-transition: 0.5s all;
|
39 |
+
-ms-transition: 0.5s all;
|
40 |
+
}
|
41 |
+
|
42 |
+
h1,
|
43 |
+
h2,
|
44 |
+
h3,
|
45 |
+
h4,
|
46 |
+
h5,
|
47 |
+
h6 {
|
48 |
+
margin: 0;
|
49 |
+
color: #323648;
|
50 |
+
}
|
51 |
+
li {
|
52 |
+
list-style-type: none;
|
53 |
+
}
|
54 |
+
|
55 |
+
p {
|
56 |
+
margin: 0;
|
57 |
+
font-size: 17px;
|
58 |
+
line-height: 2em;
|
59 |
+
letter-spacing: 2px;
|
60 |
+
color: #707579;
|
61 |
+
font-weight: 600;
|
62 |
+
}
|
63 |
+
|
64 |
+
ul {
|
65 |
+
margin: 0;
|
66 |
+
padding: 0;
|
67 |
+
}
|
68 |
+
|
69 |
+
|
70 |
+
/*-- header --*/
|
71 |
+
|
72 |
+
header {
|
73 |
+
position: absolute;
|
74 |
+
z-index: 9;
|
75 |
+
width: 100%;
|
76 |
+
}
|
77 |
+
|
78 |
+
.toggle,
|
79 |
+
[id^=drop] {
|
80 |
+
display: none;
|
81 |
+
}
|
82 |
+
|
83 |
+
/* Giving a background-color to the nav container. */
|
84 |
+
nav {
|
85 |
+
margin:0;
|
86 |
+
padding: 0;
|
87 |
+
/* position: relative; */
|
88 |
+
}
|
89 |
+
|
90 |
+
|
91 |
+
#logo a {
|
92 |
+
float: left;
|
93 |
+
font-size: .8em;
|
94 |
+
display: initial;
|
95 |
+
margin: 0;
|
96 |
+
letter-spacing: 1px;
|
97 |
+
color: #fff;
|
98 |
+
font-weight: 600;
|
99 |
+
padding: 3px 0;
|
100 |
+
border: none;
|
101 |
+
}
|
102 |
+
#logo a span.fa {
|
103 |
+
color: #e8cd30;
|
104 |
+
}
|
105 |
+
|
106 |
+
|
107 |
+
/* Since we'll have the "ul li" "float:left"
|
108 |
+
* we need to add a clear after the container. */
|
109 |
+
|
110 |
+
nav:after {
|
111 |
+
content:"";
|
112 |
+
display:table;
|
113 |
+
clear:both;
|
114 |
+
}
|
115 |
+
|
116 |
+
/* Removing padding, margin and "list-style" from the "ul",
|
117 |
+
* and adding "position:reltive" */
|
118 |
+
nav ul {
|
119 |
+
float: right;
|
120 |
+
padding:0;
|
121 |
+
margin:0;
|
122 |
+
list-style: none;
|
123 |
+
position: relative;
|
124 |
+
}
|
125 |
+
|
126 |
+
/* Positioning the navigation items inline */
|
127 |
+
nav ul li {
|
128 |
+
margin: 0px;
|
129 |
+
display:inline-block;
|
130 |
+
/* float: left; */
|
131 |
+
}
|
132 |
+
|
133 |
+
/* Styling the links */
|
134 |
+
nav a {
|
135 |
+
color: #ddd;
|
136 |
+
text-transform: capitalize;
|
137 |
+
letter-spacing: 1px;
|
138 |
+
padding-left: 0;
|
139 |
+
padding-right: 0;
|
140 |
+
padding: 10px 0;
|
141 |
+
font-weight: 700;
|
142 |
+
}
|
143 |
+
|
144 |
+
|
145 |
+
nav ul li ul li:hover { background: #f8f9fa; }
|
146 |
+
|
147 |
+
/* Background color change on Hover */
|
148 |
+
nav a:hover {
|
149 |
+
color: #ddd;
|
150 |
+
}
|
151 |
+
.menu li.active a{
|
152 |
+
color: #fff;
|
153 |
+
}
|
154 |
+
|
155 |
+
/* Hide Dropdowns by Default
|
156 |
+
* and giving it a position of absolute */
|
157 |
+
nav ul ul {
|
158 |
+
display: none;
|
159 |
+
position: absolute;
|
160 |
+
/* has to be the same number as the "line-height" of "nav a" */
|
161 |
+
top: 30px;
|
162 |
+
background: #fff;
|
163 |
+
padding: 10px;
|
164 |
+
}
|
165 |
+
|
166 |
+
/* Display Dropdowns on Hover */
|
167 |
+
nav ul li:hover > ul {
|
168 |
+
display:inherit;
|
169 |
+
}
|
170 |
+
|
171 |
+
/* Fisrt Tier Dropdown */
|
172 |
+
nav ul ul li {
|
173 |
+
width:170px;
|
174 |
+
float:none;
|
175 |
+
display:list-item;
|
176 |
+
position: relative;
|
177 |
+
}
|
178 |
+
nav ul ul li a {
|
179 |
+
color: #333;
|
180 |
+
padding: 5px 10px;
|
181 |
+
display: block;
|
182 |
+
}
|
183 |
+
nav ul li span {
|
184 |
+
color: #ddd;
|
185 |
+
text-transform: capitalize;
|
186 |
+
letter-spacing: 1px;
|
187 |
+
padding-left: 0;
|
188 |
+
padding-right: 0;
|
189 |
+
font-weight: 700;
|
190 |
+
}
|
191 |
+
ul.menu li span.fa {
|
192 |
+
color: #e8cd30;
|
193 |
+
}
|
194 |
+
/* Second, Third and more Tiers
|
195 |
+
* We move the 2nd and 3rd etc tier dropdowns to the left
|
196 |
+
* by the amount of the width of the first tier.
|
197 |
+
*/
|
198 |
+
nav ul ul ul li {
|
199 |
+
position: relative;
|
200 |
+
top:-60px;
|
201 |
+
/* has to be the same number as the "width" of "nav ul ul li" */
|
202 |
+
left:170px;
|
203 |
+
}
|
204 |
+
|
205 |
+
/* Change ' +' in order to change the Dropdown symbol */
|
206 |
+
li > a:only-child:after { content: ''; }
|
207 |
+
|
208 |
+
|
209 |
+
/* Media Queries
|
210 |
+
--------------------------------------------- */
|
211 |
+
|
212 |
+
@media all and (max-width : 991px) {
|
213 |
+
|
214 |
+
#logo {
|
215 |
+
display: block;
|
216 |
+
padding: 0;
|
217 |
+
width: 100%;
|
218 |
+
text-align: center;
|
219 |
+
float: none;
|
220 |
+
}
|
221 |
+
.menu li.active a {
|
222 |
+
color: #009f4d;
|
223 |
+
}
|
224 |
+
nav ul li span {
|
225 |
+
color: #333;
|
226 |
+
}
|
227 |
+
nav {
|
228 |
+
margin: 0;
|
229 |
+
}
|
230 |
+
nav a {
|
231 |
+
color: #333;
|
232 |
+
}
|
233 |
+
|
234 |
+
/* Hide the navigation menu by default */
|
235 |
+
/* Also hide the */
|
236 |
+
.toggle + a,
|
237 |
+
.menu {
|
238 |
+
display: none;
|
239 |
+
}
|
240 |
+
|
241 |
+
/* Stylinf the toggle lable */
|
242 |
+
.toggle {
|
243 |
+
display: block;
|
244 |
+
padding: 5px 15px;
|
245 |
+
font-size: 20px;
|
246 |
+
text-decoration: none;
|
247 |
+
border: none;
|
248 |
+
float: right;
|
249 |
+
background-color: #009f4d;
|
250 |
+
color: #fff;
|
251 |
+
}
|
252 |
+
.menu .toggle {
|
253 |
+
float: none;
|
254 |
+
text-align: center;
|
255 |
+
margin: auto;
|
256 |
+
width: 30%;
|
257 |
+
padding: 5px;
|
258 |
+
font-weight: normal;
|
259 |
+
font-size: 15px;
|
260 |
+
letter-spacing: 1px;
|
261 |
+
}
|
262 |
+
|
263 |
+
.toggle:hover {
|
264 |
+
color:#333;
|
265 |
+
background-color: #fff;
|
266 |
+
}
|
267 |
+
|
268 |
+
/* Display Dropdown when clicked on Parent Lable */
|
269 |
+
[id^=drop]:checked + ul {
|
270 |
+
display: block;
|
271 |
+
background: #fff;
|
272 |
+
padding: 15px 0;
|
273 |
+
width:100%;
|
274 |
+
text-align: center;
|
275 |
+
}
|
276 |
+
|
277 |
+
/* Change menu item's width to 100% */
|
278 |
+
nav ul li {
|
279 |
+
display: block;
|
280 |
+
width: 100%;
|
281 |
+
padding: 7px 0;
|
282 |
+
}
|
283 |
+
nav a{
|
284 |
+
padding: 5px 0;
|
285 |
+
}
|
286 |
+
nav a:hover {
|
287 |
+
color: #333;
|
288 |
+
}
|
289 |
+
.login-icon {
|
290 |
+
text-align: center;
|
291 |
+
}
|
292 |
+
nav ul ul .toggle,
|
293 |
+
nav ul ul a {
|
294 |
+
padding: 0 40px;
|
295 |
+
}
|
296 |
+
|
297 |
+
nav ul ul ul a {
|
298 |
+
padding: 0 80px;
|
299 |
+
}
|
300 |
+
|
301 |
+
nav a:hover,
|
302 |
+
nav ul ul ul a {
|
303 |
+
background-color: transparent;
|
304 |
+
}
|
305 |
+
|
306 |
+
nav ul li ul li .toggle,
|
307 |
+
nav ul ul a,
|
308 |
+
nav ul ul ul a{
|
309 |
+
padding:14px 20px;
|
310 |
+
color:#FFF;
|
311 |
+
font-size:17px;
|
312 |
+
}
|
313 |
+
|
314 |
+
|
315 |
+
nav ul li ul li .toggle,
|
316 |
+
nav ul ul a {
|
317 |
+
background-color: #fff;
|
318 |
+
}
|
319 |
+
nav ul ul li a {
|
320 |
+
font-size: 15px;
|
321 |
+
}
|
322 |
+
ul.inner-ul{
|
323 |
+
padding: 0!important;
|
324 |
+
}
|
325 |
+
/* Hide Dropdowns by Default */
|
326 |
+
nav ul ul {
|
327 |
+
float: none;
|
328 |
+
position:static;
|
329 |
+
color: #ffffff;
|
330 |
+
/* has to be the same number as the "line-height" of "nav a" */
|
331 |
+
}
|
332 |
+
|
333 |
+
/* Hide menus on hover */
|
334 |
+
nav ul ul li:hover > ul,
|
335 |
+
nav ul li:hover > ul {
|
336 |
+
display: none;
|
337 |
+
}
|
338 |
+
|
339 |
+
/* Fisrt Tier Dropdown */
|
340 |
+
nav ul ul li {
|
341 |
+
display: block;
|
342 |
+
width: 100%;
|
343 |
+
padding: 0;
|
344 |
+
}
|
345 |
+
|
346 |
+
nav ul ul ul li {
|
347 |
+
position: static;
|
348 |
+
/* has to be the same number as the "width" of "nav ul ul li" */
|
349 |
+
|
350 |
+
}
|
351 |
+
|
352 |
+
}
|
353 |
+
|
354 |
+
@media all and (max-width : 330px) {
|
355 |
+
|
356 |
+
nav ul li {
|
357 |
+
display:block;
|
358 |
+
width: 94%;
|
359 |
+
}
|
360 |
+
|
361 |
+
}
|
362 |
+
.user span.fa {
|
363 |
+
font-size: 25px;
|
364 |
+
color: #fff;
|
365 |
+
}
|
366 |
+
/*-- //header --*/
|
367 |
+
|
368 |
+
/* banner style */
|
369 |
+
.banner_w3lspvt {
|
370 |
+
position: relative;
|
371 |
+
z-index: 1;
|
372 |
+
}
|
373 |
+
|
374 |
+
.banner-top {
|
375 |
+
background: url(../images/3.jpg) no-repeat center;
|
376 |
+
background-size: cover;
|
377 |
+
-webkit-background-size: cover;
|
378 |
+
-moz-background-size: cover;
|
379 |
+
-o-background-size: cover;
|
380 |
+
-moz-background-size: cover;
|
381 |
+
}
|
382 |
+
|
383 |
+
.banner-top1 {
|
384 |
+
background: url(../images/1.jpg) no-repeat center;
|
385 |
+
background-size: cover;
|
386 |
+
-webkit-background-size: cover;
|
387 |
+
-moz-background-size: cover;
|
388 |
+
-o-background-size: cover;
|
389 |
+
-moz-background-size: cover;
|
390 |
+
}
|
391 |
+
|
392 |
+
.banner-top2 {
|
393 |
+
background: url(../images/5.jpg) no-repeat center;
|
394 |
+
background-size: cover;
|
395 |
+
-webkit-background-size: cover;
|
396 |
+
-moz-background-size: cover;
|
397 |
+
-o-background-size: cover;
|
398 |
+
-moz-background-size: cover;
|
399 |
+
}
|
400 |
+
|
401 |
+
.banner-top3 {
|
402 |
+
background: url(../images/2.jpg) no-repeat center;
|
403 |
+
background-size: cover;
|
404 |
+
-webkit-background-size: cover;
|
405 |
+
-moz-background-size: cover;
|
406 |
+
-o-background-size: cover;
|
407 |
+
-moz-background-size: cover;
|
408 |
+
}
|
409 |
+
|
410 |
+
.w3layouts-banner-info {
|
411 |
+
padding-top: 16em;
|
412 |
+
}
|
413 |
+
|
414 |
+
.w3layouts-banner-info h3 {
|
415 |
+
font-size: 4em;
|
416 |
+
text-shadow: 3px 4px 6px rgba(45, 45, 45, 0.15);
|
417 |
+
font-weight: 600;
|
418 |
+
color: #fff;
|
419 |
+
letter-spacing: 10px;
|
420 |
+
text-transform: uppercase;
|
421 |
+
}
|
422 |
+
.w3layouts-banner-info p {
|
423 |
+
max-width: 650px;
|
424 |
+
color: #fff;
|
425 |
+
}
|
426 |
+
.w3layouts-banner-info h4 {
|
427 |
+
color: #eee;
|
428 |
+
letter-spacing: 5px;
|
429 |
+
line-height: 35px;
|
430 |
+
text-transform: capitalize;
|
431 |
+
}
|
432 |
+
|
433 |
+
.w3layouts-banner-info i {
|
434 |
+
vertical-align: middle;
|
435 |
+
}
|
436 |
+
|
437 |
+
.banner-top,
|
438 |
+
.banner-top1,
|
439 |
+
.banner-top2,
|
440 |
+
.banner-top3 {
|
441 |
+
min-height: 770px;
|
442 |
+
}
|
443 |
+
.overlay {
|
444 |
+
min-height: 770px;
|
445 |
+
background: rgba(0, 0, 0, 0.4);
|
446 |
+
}
|
447 |
+
.overlay1 {
|
448 |
+
min-height: 770px;
|
449 |
+
background: rgba(0, 0, 0, 0.5);
|
450 |
+
}
|
451 |
+
|
452 |
+
.button-style {
|
453 |
+
padding: 15px 40px;
|
454 |
+
color: #fff;
|
455 |
+
font-size: 16px;
|
456 |
+
font-weight: 600;
|
457 |
+
text-transform: uppercase;
|
458 |
+
letter-spacing: 3px;
|
459 |
+
border: 2px solid #ccc;
|
460 |
+
background: none;
|
461 |
+
display: inline-block;
|
462 |
+
}
|
463 |
+
|
464 |
+
.button-style:hover {
|
465 |
+
color: #fff;
|
466 |
+
}
|
467 |
+
|
468 |
+
/*-- //banner style --*/
|
469 |
+
|
470 |
+
/*-- about --*/
|
471 |
+
h3.heading {
|
472 |
+
font-size: 40px;
|
473 |
+
letter-spacing: 2px;
|
474 |
+
font-weight: 600;
|
475 |
+
}
|
476 |
+
p.about-text {
|
477 |
+
width: 80%;
|
478 |
+
}
|
479 |
+
.feature-grids .f-icon {
|
480 |
+
vertical-align: middle;
|
481 |
+
background: #009f4d;
|
482 |
+
width: 70px;
|
483 |
+
height: 70px;
|
484 |
+
line-height: 70px;
|
485 |
+
margin: 0.5em auto 0;
|
486 |
+
border-radius: 50%;
|
487 |
+
}
|
488 |
+
.feature-grids span.fa {
|
489 |
+
color: #fff;
|
490 |
+
font-size: 20px;
|
491 |
+
line-height: 70px;
|
492 |
+
}
|
493 |
+
.feature-grids h3 {
|
494 |
+
font-size: 22px;
|
495 |
+
font-weight: 600;
|
496 |
+
letter-spacing: 3px;
|
497 |
+
line-height: 30px;
|
498 |
+
text-transform: uppercase;
|
499 |
+
}
|
500 |
+
.feature-grids p {
|
501 |
+
letter-spacing: 1px;
|
502 |
+
}
|
503 |
+
/*-- //about --*/
|
504 |
+
|
505 |
+
/*-- core grids --*/
|
506 |
+
.core-grids p {
|
507 |
+
letter-spacing: 1px;
|
508 |
+
}
|
509 |
+
.core-right h3 {
|
510 |
+
font-size: 24px;
|
511 |
+
line-height: 42px;
|
512 |
+
letter-spacing: 2px;
|
513 |
+
font-weight: 600;
|
514 |
+
text-transform: uppercase;
|
515 |
+
}
|
516 |
+
/*-- //core grids --*/
|
517 |
+
|
518 |
+
/*-- works --*/
|
519 |
+
.serives-agile {
|
520 |
+
background: #009f4d;
|
521 |
+
}
|
522 |
+
.serives-agile h3.heading{
|
523 |
+
color: #fff;
|
524 |
+
}
|
525 |
+
.welcome-grid {
|
526 |
+
width: 20%;
|
527 |
+
float: left;
|
528 |
+
}
|
529 |
+
|
530 |
+
.welcome-grid h4 {
|
531 |
+
font-size: 22px;
|
532 |
+
letter-spacing: 2px;
|
533 |
+
color: #fff;
|
534 |
+
font-weight: 600;
|
535 |
+
text-transform: uppercase;
|
536 |
+
}
|
537 |
+
.welcome-grid span.fa {
|
538 |
+
color: #5eca9f;
|
539 |
+
color: #e8cd30;
|
540 |
+
font-size: 50px;
|
541 |
+
margin-bottom: 10px;
|
542 |
+
}
|
543 |
+
|
544 |
+
.welcome-grid p {
|
545 |
+
color: #ccc;
|
546 |
+
line-height: 1.8em;
|
547 |
+
font-size: 16px;
|
548 |
+
}
|
549 |
+
/*-- //works --*/
|
550 |
+
|
551 |
+
/*-- bg --*/
|
552 |
+
.background-img {
|
553 |
+
background: url(../images/5.jpg) no-repeat center;
|
554 |
+
background-size: cover;
|
555 |
+
-webkit-background-size: cover;
|
556 |
+
-moz-background-size: cover;
|
557 |
+
-o-background-size: cover;
|
558 |
+
-moz-background-size: cover;
|
559 |
+
}
|
560 |
+
.overlay-clr {
|
561 |
+
background: rgba(0, 0, 0, 0.5);
|
562 |
+
}
|
563 |
+
.bg-middle p {
|
564 |
+
letter-spacing: 1px;
|
565 |
+
color: #ccc;
|
566 |
+
line-height: 28px;
|
567 |
+
}
|
568 |
+
.bg-right ul li {
|
569 |
+
letter-spacing: 1px;
|
570 |
+
color: #ddd;
|
571 |
+
line-height: 30px;
|
572 |
+
font-size: 17px;
|
573 |
+
font-weight: 600;
|
574 |
+
text-transform: capitalize;
|
575 |
+
}
|
576 |
+
.bg-left h4 {
|
577 |
+
font-size: 26px;
|
578 |
+
line-height: 42px;
|
579 |
+
letter-spacing: 2px;
|
580 |
+
font-weight: 600;
|
581 |
+
text-transform: uppercase;
|
582 |
+
color: #fff;
|
583 |
+
}
|
584 |
+
/*-- //bg --*/
|
585 |
+
|
586 |
+
/*-- blog info --*/
|
587 |
+
|
588 |
+
.blog-grids {
|
589 |
+
margin-bottom: 120px;
|
590 |
+
}
|
591 |
+
|
592 |
+
.blog-left,.blog-middle,.blog-right{
|
593 |
+
position: relative;
|
594 |
+
}
|
595 |
+
.blog-info {
|
596 |
+
background: #fff;
|
597 |
+
padding: 30px;
|
598 |
+
margin-top: -2em;
|
599 |
+
position: absolute;
|
600 |
+
left: 6%;
|
601 |
+
right: 6%;
|
602 |
+
top: 200px;
|
603 |
+
box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.08), 0 5px 8px 0 rgba(0, 0, 0, 0.12), 0 1px 14px 0 rgba(0, 0, 0, 0.06);
|
604 |
+
}
|
605 |
+
.blog-info p {
|
606 |
+
letter-spacing: 1px;
|
607 |
+
line-height: 28px;
|
608 |
+
}
|
609 |
+
.blog-info h4 {
|
610 |
+
font-size: 22px;
|
611 |
+
line-height: 42px;
|
612 |
+
letter-spacing: 2px;
|
613 |
+
font-weight: 600;
|
614 |
+
text-transform: uppercase;
|
615 |
+
}
|
616 |
+
.blog-info h4 span.fa {
|
617 |
+
color: #009f4d;
|
618 |
+
}
|
619 |
+
/*-- //blog info --*/
|
620 |
+
|
621 |
+
|
622 |
+
/*-- text --*/
|
623 |
+
.text {
|
624 |
+
background: url(../images/2.jpg) no-repeat center;
|
625 |
+
background-size: cover;
|
626 |
+
position: relative;
|
627 |
+
}
|
628 |
+
.text:before {
|
629 |
+
content: '';
|
630 |
+
position: absolute;
|
631 |
+
width: 100%;
|
632 |
+
height: 100%;
|
633 |
+
top: 0;
|
634 |
+
left: 0;
|
635 |
+
opacity: 0.6;
|
636 |
+
background: #000;
|
637 |
+
}
|
638 |
+
.text h3.heading{
|
639 |
+
color: #fff;
|
640 |
+
}
|
641 |
+
.text h3.heading span {
|
642 |
+
color: #e8cd30;
|
643 |
+
}
|
644 |
+
.text p {
|
645 |
+
color: #ccc;
|
646 |
+
width: 80%;
|
647 |
+
margin: auto;
|
648 |
+
letter-spacing: 1px;
|
649 |
+
}
|
650 |
+
.text a.btn {
|
651 |
+
font-size: 17px;
|
652 |
+
letter-spacing: 2px;
|
653 |
+
color: #333;
|
654 |
+
font-weight: 700;
|
655 |
+
padding: 12px 25px;
|
656 |
+
margin-top: 30px;
|
657 |
+
border-radius: 4px;
|
658 |
+
background: #e8cd30;
|
659 |
+
display: inline-block;
|
660 |
+
}
|
661 |
+
.text a.btn1 {
|
662 |
+
font-size: 17px;
|
663 |
+
letter-spacing: 2px;
|
664 |
+
color: #fff;
|
665 |
+
font-weight: 700;
|
666 |
+
padding: 12px 25px;
|
667 |
+
margin-top: 30px;
|
668 |
+
border-radius: 4px;
|
669 |
+
background: #009f4d;
|
670 |
+
display: inline-block;
|
671 |
+
}
|
672 |
+
/*-- //text --*/
|
673 |
+
|
674 |
+
/*-- footer --*/
|
675 |
+
|
676 |
+
p.footer-para {
|
677 |
+
max-width: 650px;
|
678 |
+
font-size: 15px;
|
679 |
+
}
|
680 |
+
|
681 |
+
/*-- footer logo --*/
|
682 |
+
.logo2 {
|
683 |
+
position: relative;
|
684 |
+
}
|
685 |
+
|
686 |
+
.logo2 a {
|
687 |
+
font-size: 36px;
|
688 |
+
font-weight: 600;
|
689 |
+
color: #fff;
|
690 |
+
letter-spacing: 1px;
|
691 |
+
}
|
692 |
+
|
693 |
+
.logo2 a span.fa {
|
694 |
+
color: #e8cd30;
|
695 |
+
}
|
696 |
+
|
697 |
+
/*-- //footer logo --*/
|
698 |
+
|
699 |
+
/*-- footer home dashboard about --*/
|
700 |
+
.homelogo {
|
701 |
+
position: relative;
|
702 |
+
}
|
703 |
+
|
704 |
+
.homelogo a {
|
705 |
+
font-size: 18px;
|
706 |
+
font-weight: 300;
|
707 |
+
color: #fff;
|
708 |
+
letter-spacing: 1px;
|
709 |
+
}
|
710 |
+
|
711 |
+
.homelogo a span.fa {
|
712 |
+
color: #e8cd30;
|
713 |
+
}
|
714 |
+
|
715 |
+
/*-- //footer logo --*/
|
716 |
+
|
717 |
+
|
718 |
+
/*-- social icons --*/
|
719 |
+
.footercopy-social ul li,
|
720 |
+
.contact-left-footer ul li {
|
721 |
+
display: inline-block;
|
722 |
+
}
|
723 |
+
footer{
|
724 |
+
background: #191818;
|
725 |
+
}
|
726 |
+
.footercopy-social ul li a {
|
727 |
+
color: #333;
|
728 |
+
text-align: center;
|
729 |
+
}
|
730 |
+
|
731 |
+
.footercopy-social ul li a span.fa {
|
732 |
+
width: 20px;
|
733 |
+
font-size: 20px;
|
734 |
+
color: #666;
|
735 |
+
transition: 0.5s all;
|
736 |
+
-webkit-transition: 0.5s all;
|
737 |
+
-moz-transition: 0.5s all;
|
738 |
+
-o-transition: 0.5s all;
|
739 |
+
-ms-transition: 0.5s all;
|
740 |
+
}
|
741 |
+
|
742 |
+
/*-- //social icons --*/
|
743 |
+
|
744 |
+
/*-- address --*/
|
745 |
+
.contact-left-footer ul li p span.fa {
|
746 |
+
color: #aaa;
|
747 |
+
}
|
748 |
+
|
749 |
+
.contact-left-footer ul li p a,
|
750 |
+
.contact-left-footer ul li p {
|
751 |
+
color: #707579;
|
752 |
+
font-size: 16px;
|
753 |
+
font-weight: 600;
|
754 |
+
}
|
755 |
+
|
756 |
+
/*-- //address --*/
|
757 |
+
|
758 |
+
/*-- copyright --*/
|
759 |
+
.w3l-copy p {
|
760 |
+
letter-spacing: 1px;
|
761 |
+
}
|
762 |
+
|
763 |
+
.w3l-copy p a {
|
764 |
+
color: #aaa;
|
765 |
+
}
|
766 |
+
/*-- //copyright --*/
|
767 |
+
/*-- //footer --*/
|
768 |
+
|
769 |
+
/*-- inner banner --*/
|
770 |
+
.inner-banner{
|
771 |
+
background: url(../images/2.jpg) no-repeat center;
|
772 |
+
background-size: cover;
|
773 |
+
min-height: 250px;
|
774 |
+
position: relative;
|
775 |
+
}
|
776 |
+
.inner-banner:before {
|
777 |
+
content: '';
|
778 |
+
position: absolute;
|
779 |
+
width: 100%;
|
780 |
+
height: 100%;
|
781 |
+
top: 0;
|
782 |
+
left: 0;
|
783 |
+
opacity: 0.6;
|
784 |
+
background: #000;
|
785 |
+
}
|
786 |
+
/*-- //inner banner --*/
|
787 |
+
|
788 |
+
/*-- about page --*/
|
789 |
+
.about-left h5 {
|
790 |
+
color: #009f4d;
|
791 |
+
font-weight: 600;
|
792 |
+
letter-spacing: 1px;
|
793 |
+
font-size: 24px;
|
794 |
+
}
|
795 |
+
.about-left h3 {
|
796 |
+
font-size: 32px;
|
797 |
+
line-height: 44px;
|
798 |
+
letter-spacing: 2px;
|
799 |
+
font-weight: 600;
|
800 |
+
text-transform: uppercase;
|
801 |
+
}
|
802 |
+
.about-left h4 {
|
803 |
+
line-height: 1.5;
|
804 |
+
font-size: 25px;
|
805 |
+
letter-spacing: 2px;
|
806 |
+
font-weight: 600;
|
807 |
+
text-transform: capitalize;
|
808 |
+
}
|
809 |
+
.about-right p{
|
810 |
+
letter-spacing: 1px;
|
811 |
+
}
|
812 |
+
|
813 |
+
.about span.fa-quote-left {
|
814 |
+
font-size: 20px;
|
815 |
+
vertical-align: top;
|
816 |
+
color: #009f4d;
|
817 |
+
}
|
818 |
+
|
819 |
+
.banner-bottom {
|
820 |
+
background: #f8f9fa;
|
821 |
+
}
|
822 |
+
|
823 |
+
.wthree_banner_bottom_grid_left span {
|
824 |
+
background: #ffc168;
|
825 |
+
color: #fff;
|
826 |
+
width: 80px;
|
827 |
+
height: 80px;
|
828 |
+
border-radius: 50%;
|
829 |
+
text-align: center;
|
830 |
+
font-size: 38px;
|
831 |
+
line-height: 2;
|
832 |
+
}
|
833 |
+
|
834 |
+
.wthree_banner_bottom_grid_left.icons-w3pvt2 span {
|
835 |
+
background: #ff4f81;
|
836 |
+
}
|
837 |
+
|
838 |
+
.wthree_banner_bottom_grid_left.icons-w3pvt3 span {
|
839 |
+
background: #2dde98
|
840 |
+
}
|
841 |
+
|
842 |
+
|
843 |
+
/* about bottom */
|
844 |
+
|
845 |
+
h4.abt-text {
|
846 |
+
font-size: 2.5em;
|
847 |
+
letter-spacing: 2px;
|
848 |
+
color: #fff;
|
849 |
+
line-height: 1.4em;
|
850 |
+
}
|
851 |
+
.abt_bottom{
|
852 |
+
background: #009f4d;
|
853 |
+
}
|
854 |
+
.abt_bottom a.serv_link {
|
855 |
+
font-size: 17px;
|
856 |
+
letter-spacing: 2px;
|
857 |
+
color: #333;
|
858 |
+
font-weight: 700;
|
859 |
+
padding: 12px 25px;
|
860 |
+
border-radius: 4px;
|
861 |
+
background: #e8cd30;
|
862 |
+
display: inline-block;
|
863 |
+
margin-top:10px;
|
864 |
+
}
|
865 |
+
/* //about bottom */
|
866 |
+
|
867 |
+
/* stats */
|
868 |
+
section.w3_stats {
|
869 |
+
background: url(../images/1.jpg) no-repeat center;
|
870 |
+
background-size: cover;
|
871 |
+
position: relative;
|
872 |
+
}
|
873 |
+
section.w3_stats h3.heading {
|
874 |
+
color: #fff;
|
875 |
+
}
|
876 |
+
.counter span.fa {
|
877 |
+
color: #fff;
|
878 |
+
font-size: 3em;
|
879 |
+
}
|
880 |
+
|
881 |
+
.timer {
|
882 |
+
font-size: 3em;
|
883 |
+
font-weight: 300;
|
884 |
+
color: #fff;
|
885 |
+
}
|
886 |
+
|
887 |
+
p.count-text {
|
888 |
+
letter-spacing: 2px;
|
889 |
+
font-weight: 600;
|
890 |
+
color: #fff;
|
891 |
+
}
|
892 |
+
|
893 |
+
/* //stats */
|
894 |
+
|
895 |
+
/* news */
|
896 |
+
.news{
|
897 |
+
background: #f8f9fa;
|
898 |
+
}
|
899 |
+
.feedback-info h4 {
|
900 |
+
font-size: 22px;
|
901 |
+
line-height: 34px;
|
902 |
+
letter-spacing: 1px;
|
903 |
+
font-weight: 600;
|
904 |
+
text-transform: uppercase;
|
905 |
+
}
|
906 |
+
.feedback-info p {
|
907 |
+
letter-spacing: 1px;
|
908 |
+
line-height: 1.8em;
|
909 |
+
}
|
910 |
+
|
911 |
+
.feedback-info h4 a {
|
912 |
+
letter-spacing: 1px;
|
913 |
+
line-height: 1.4;
|
914 |
+
}
|
915 |
+
|
916 |
+
|
917 |
+
.feedback-img {
|
918 |
+
float: left;
|
919 |
+
width: 25%;
|
920 |
+
}
|
921 |
+
|
922 |
+
.feedback-img-info {
|
923 |
+
float: right;
|
924 |
+
width: 68%;
|
925 |
+
margin: 1.5em 0 0 1em;
|
926 |
+
}
|
927 |
+
|
928 |
+
.feedback-img-info h5 {
|
929 |
+
color: #504e4e;
|
930 |
+
font-size: 17px;
|
931 |
+
letter-spacing: 1px;
|
932 |
+
font-weight: 600;
|
933 |
+
}
|
934 |
+
.feedback-info {
|
935 |
+
background: #fff;
|
936 |
+
}
|
937 |
+
/* //news */
|
938 |
+
|
939 |
+
/*-- team --*/
|
940 |
+
.team-text h4 {
|
941 |
+
font-size: 22px;
|
942 |
+
letter-spacing: 2px;
|
943 |
+
font-weight: 600;
|
944 |
+
text-transform: uppercase;
|
945 |
+
margin-top: 1em;
|
946 |
+
}
|
947 |
+
.caption ul li {
|
948 |
+
display: inline-block;
|
949 |
+
margin: 0 5px;
|
950 |
+
}
|
951 |
+
.caption ul li a {
|
952 |
+
color: #aaa;
|
953 |
+
font-size: 14px;
|
954 |
+
}
|
955 |
+
/*-- //team --*/
|
956 |
+
|
957 |
+
/*-- //about page --*/
|
958 |
+
|
959 |
+
|
960 |
+
/*-- services page --*/
|
961 |
+
/* home grid */
|
962 |
+
|
963 |
+
.home-grid {
|
964 |
+
padding: 1.5em;
|
965 |
+
border: 1px solid #555;
|
966 |
+
position: relative;
|
967 |
+
text-align: center;
|
968 |
+
}
|
969 |
+
|
970 |
+
.home-grid span {
|
971 |
+
color: #009f4d;
|
972 |
+
font-size: 1.5em;
|
973 |
+
font-weight: 700;
|
974 |
+
position: absolute;
|
975 |
+
top: 0;
|
976 |
+
left: 0px;
|
977 |
+
padding: 2px 7px;
|
978 |
+
}
|
979 |
+
|
980 |
+
|
981 |
+
.wthree-bnr-btn {
|
982 |
+
display: inline-block;
|
983 |
+
border-top: 1px solid #1dc6bc;
|
984 |
+
border-radius: 0;
|
985 |
+
margin-top: 1em;
|
986 |
+
padding: 10px 0;
|
987 |
+
color: #5341b4;
|
988 |
+
text-transform: capitalize;
|
989 |
+
font-size: 14px;
|
990 |
+
letter-spacing: 0.5px;
|
991 |
+
font-weight: 800;
|
992 |
+
}
|
993 |
+
|
994 |
+
h4.home-title {
|
995 |
+
font-size: 22px;
|
996 |
+
line-height: 42px;
|
997 |
+
letter-spacing: 2px;
|
998 |
+
font-weight: 600;
|
999 |
+
text-transform: uppercase;
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
.home-grid p {
|
1003 |
+
letter-spacing: 1px;
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
.title-w3ls {
|
1007 |
+
margin-bottom: 3em;
|
1008 |
+
}
|
1009 |
+
|
1010 |
+
/* //home grid */
|
1011 |
+
|
1012 |
+
/* newsletter */
|
1013 |
+
.newsletter_right_w3.py-5 {
|
1014 |
+
background: #f8f9fa;
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
p.sub-tittle {
|
1018 |
+
max-width: 700px;
|
1019 |
+
margin: 0 auto;
|
1020 |
+
font-size: 15px;
|
1021 |
+
letter-spacing: 1px;
|
1022 |
+
}
|
1023 |
+
|
1024 |
+
.n-right-w3ls {
|
1025 |
+
width: 65%;
|
1026 |
+
margin: auto;
|
1027 |
+
}
|
1028 |
+
form.newsletter {
|
1029 |
+
background: #fff;
|
1030 |
+
padding: 0.3em;
|
1031 |
+
border-radius: 4px;
|
1032 |
+
box-shadow: 0 12px 60px rgba(0, 0, 0, .2);
|
1033 |
+
-webkit-box-shadow: 0 12px 60px rgba(0, 0, 0, .2);
|
1034 |
+
-o-box-shadow: 0 12px 60px rgba(0, 0, 0, .2);
|
1035 |
+
-moz-box-shadow: 0 12px 60px rgba(0, 0, 0, .2);
|
1036 |
+
-ms-box-shadow: 0 12px 60px rgba(0, 0, 0, .2);
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
.newsletter .email {
|
1040 |
+
outline: none;
|
1041 |
+
padding: 12px 15px;
|
1042 |
+
color: #777;
|
1043 |
+
width: 68%;
|
1044 |
+
background: transparent;
|
1045 |
+
text-transform: capitalize;
|
1046 |
+
border: none;
|
1047 |
+
letter-spacing: 2px;
|
1048 |
+
font-weight: 600;
|
1049 |
+
}
|
1050 |
+
|
1051 |
+
.newsletter button.btn {
|
1052 |
+
color: #fff;
|
1053 |
+
border: none;
|
1054 |
+
padding: 12px 15px;
|
1055 |
+
text-transform: uppercase;
|
1056 |
+
text-decoration: none;
|
1057 |
+
background: #009f4d;
|
1058 |
+
-webkit-transition: 0.5s all;
|
1059 |
+
-moz-transition: 0.5s all;
|
1060 |
+
-o-transition: 0.5s all;
|
1061 |
+
-ms-transition: 0.5s all;
|
1062 |
+
transition: 0.5s all;
|
1063 |
+
float: right;
|
1064 |
+
cursor: pointer;
|
1065 |
+
width: 27%;
|
1066 |
+
border-radius: 4px;
|
1067 |
+
font-weight: 600;
|
1068 |
+
letter-spacing: 2px;
|
1069 |
+
}
|
1070 |
+
|
1071 |
+
/* //newsletter */
|
1072 |
+
/*-- //services page --*/
|
1073 |
+
|
1074 |
+
/*-- contact --*/
|
1075 |
+
.contact-left input[type="text"],.contact-left input[type="email"]{
|
1076 |
+
border: 1px solid #ccc;
|
1077 |
+
font-size: 1em;
|
1078 |
+
color: #828282;
|
1079 |
+
background: none;
|
1080 |
+
width: 100%;
|
1081 |
+
font-weight: 600;
|
1082 |
+
letter-spacing: 1px;
|
1083 |
+
padding: 15px 20px;
|
1084 |
+
outline: none;
|
1085 |
+
}
|
1086 |
+
.contact-right textarea{
|
1087 |
+
border:1px solid #ccc;
|
1088 |
+
font-size:1em;
|
1089 |
+
color:#828282;
|
1090 |
+
background:none;
|
1091 |
+
width:100%;
|
1092 |
+
font-weight: 600;
|
1093 |
+
letter-spacing: 1px;
|
1094 |
+
padding: 15px 20px;
|
1095 |
+
outline:none;
|
1096 |
+
min-height: 8.5em;
|
1097 |
+
resize:none;
|
1098 |
+
}
|
1099 |
+
.contact-left input[type="email"]{
|
1100 |
+
margin:1.5em 0;
|
1101 |
+
}
|
1102 |
+
.contact-right button.btn {
|
1103 |
+
padding: .8em 1em;
|
1104 |
+
color: #fff;
|
1105 |
+
font-weight: 600;
|
1106 |
+
letter-spacing: 1px;
|
1107 |
+
font-size: 1em;
|
1108 |
+
background: #009f4d;
|
1109 |
+
-webkit-transition: 0.5s all;
|
1110 |
+
-moz-transition: 0.5s all;
|
1111 |
+
-o-transition: 0.5s all;
|
1112 |
+
-ms-transition: 0.5s all;
|
1113 |
+
transition: 0.5s all;
|
1114 |
+
outline: none;
|
1115 |
+
margin: 1em 0 0;
|
1116 |
+
border-radius: 0px;
|
1117 |
+
width: 100%;
|
1118 |
+
border:1px solid #4caf50;
|
1119 |
+
letter-spacing: 2px;
|
1120 |
+
text-transform: uppercase;
|
1121 |
+
}
|
1122 |
+
.address-row {
|
1123 |
+
margin:0 0 2em;
|
1124 |
+
}
|
1125 |
+
.address-right {
|
1126 |
+
text-align: left;
|
1127 |
+
padding-left: 2em;
|
1128 |
+
}
|
1129 |
+
.contact-w3lsright h6 {
|
1130 |
+
font-size: 1.8em;
|
1131 |
+
color: #595c65;
|
1132 |
+
font-weight: 300;
|
1133 |
+
line-height: 1.8em;
|
1134 |
+
text-transform: uppercase;
|
1135 |
+
}
|
1136 |
+
.contact-w3lsright h6 span {
|
1137 |
+
color: #03A9F4;
|
1138 |
+
}
|
1139 |
+
.address-row .contact-icon {
|
1140 |
+
background: #009f4d;
|
1141 |
+
width:60px;
|
1142 |
+
height:60px;
|
1143 |
+
line-height: 60px;
|
1144 |
+
text-align: center;
|
1145 |
+
-webkit-transition:.5s all;
|
1146 |
+
-moz-transition:.5s all;
|
1147 |
+
transition:.5s all;
|
1148 |
+
border-radius: 50%;
|
1149 |
+
}
|
1150 |
+
.address-row span.fa {
|
1151 |
+
font-size: 1.2em;
|
1152 |
+
line-height: 60px;
|
1153 |
+
color: #fff;
|
1154 |
+
}
|
1155 |
+
.address-row h5 {
|
1156 |
+
font-size: 1.6em;
|
1157 |
+
margin-bottom: .3em;
|
1158 |
+
font-weight: 700;
|
1159 |
+
}
|
1160 |
+
.address-row p{
|
1161 |
+
letter-spacing: 1px;
|
1162 |
+
}
|
1163 |
+
.address-row p a {
|
1164 |
+
color: #707579;
|
1165 |
+
}
|
1166 |
+
.address h4 {
|
1167 |
+
font-size: 1.8em;
|
1168 |
+
color: #00BCD4;
|
1169 |
+
margin-bottom: 0.6em;
|
1170 |
+
text-transform: uppercase;
|
1171 |
+
}
|
1172 |
+
.map iframe {
|
1173 |
+
outline: none;
|
1174 |
+
border: none;
|
1175 |
+
width: 100%;
|
1176 |
+
height: 350px;
|
1177 |
+
}
|
1178 |
+
/*-- //contact --*/
|
1179 |
+
|
1180 |
+
/*-- coming sooon page --*/
|
1181 |
+
.comingsoon {
|
1182 |
+
background: url(../images/comingsoon.jpg) no-repeat center;
|
1183 |
+
background-size: cover;
|
1184 |
+
min-height: 250px;
|
1185 |
+
position: relative;
|
1186 |
+
}
|
1187 |
+
.comingsoon h4 {
|
1188 |
+
font-size: 40px;
|
1189 |
+
font-weight: 600;
|
1190 |
+
letter-spacing: 2px;
|
1191 |
+
}
|
1192 |
+
.comingsoon p {
|
1193 |
+
letter-spacing: 1px;
|
1194 |
+
}
|
1195 |
+
|
1196 |
+
/*-- //coming sooon page --*/
|
1197 |
+
|
1198 |
+
|
1199 |
+
/*-- move top --*/
|
1200 |
+
a.move-top {
|
1201 |
+
width: 34px;
|
1202 |
+
height: 34px;
|
1203 |
+
background: url(../images/move-top.png) no-repeat;
|
1204 |
+
display: inline-block;
|
1205 |
+
position: fixed;
|
1206 |
+
bottom: 4%;
|
1207 |
+
right: 2%;
|
1208 |
+
z-index: 0;
|
1209 |
+
}
|
1210 |
+
/*-- //move top --*/
|
1211 |
+
|
1212 |
+
|
1213 |
+
/*-- Responsive design --*/
|
1214 |
+
|
1215 |
+
@media(max-width:1366px) {
|
1216 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3,.overlay,.overlay1 {
|
1217 |
+
min-height: 750px;
|
1218 |
+
}
|
1219 |
+
}
|
1220 |
+
@media(max-width:1280px) {
|
1221 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3,.overlay,.overlay1 {
|
1222 |
+
min-height: 720px;
|
1223 |
+
}
|
1224 |
+
}
|
1225 |
+
@media(max-width:1080px) {
|
1226 |
+
.w3layouts-banner-info h3 {
|
1227 |
+
font-size: 3.5em;
|
1228 |
+
}
|
1229 |
+
.w3layouts-banner-info {
|
1230 |
+
padding-top: 14em;
|
1231 |
+
}
|
1232 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3,.overlay,.overlay1 {
|
1233 |
+
min-height: 650px;
|
1234 |
+
}
|
1235 |
+
p.about-text {
|
1236 |
+
width: 85%;
|
1237 |
+
}
|
1238 |
+
.core-right h4 {
|
1239 |
+
font-size: 23px;
|
1240 |
+
}
|
1241 |
+
.bg-left h4 {
|
1242 |
+
font-size: 21px;
|
1243 |
+
}
|
1244 |
+
.blog-grids {
|
1245 |
+
margin-bottom: 160px;
|
1246 |
+
}
|
1247 |
+
.feedback-info h4 {
|
1248 |
+
letter-spacing: 3px;
|
1249 |
+
}
|
1250 |
+
h4.abt-text {
|
1251 |
+
font-size: 2.2em;
|
1252 |
+
}
|
1253 |
+
.feedback-info h4 {
|
1254 |
+
letter-spacing: 2px;
|
1255 |
+
}
|
1256 |
+
.inner-banner {
|
1257 |
+
min-height: 200px;
|
1258 |
+
}
|
1259 |
+
}
|
1260 |
+
|
1261 |
+
@media(max-width:991px) {
|
1262 |
+
.w3layouts-banner-info {
|
1263 |
+
padding-top: 12em;
|
1264 |
+
}
|
1265 |
+
h3.heading {
|
1266 |
+
font-size: 36px;
|
1267 |
+
}
|
1268 |
+
.welcome-grid {
|
1269 |
+
width: 33.33%;
|
1270 |
+
float: left;
|
1271 |
+
}
|
1272 |
+
.blog-grids {
|
1273 |
+
margin-bottom: 100px;
|
1274 |
+
}
|
1275 |
+
.text p {
|
1276 |
+
width: 100%;
|
1277 |
+
}
|
1278 |
+
.w3layouts-banner-info h4 {
|
1279 |
+
font-size: 22px;
|
1280 |
+
letter-spacing: 3px;
|
1281 |
+
line-height: 25px;
|
1282 |
+
}
|
1283 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3,.overlay,.overlay1 {
|
1284 |
+
min-height: 600px;
|
1285 |
+
}
|
1286 |
+
.about-left h3 {
|
1287 |
+
font-size: 29px;
|
1288 |
+
letter-spacing: 1px;
|
1289 |
+
}
|
1290 |
+
.about-left h4 {
|
1291 |
+
font-size: 23px;
|
1292 |
+
letter-spacing: 1px;
|
1293 |
+
}
|
1294 |
+
h4.abt-text {
|
1295 |
+
font-size: 2em;
|
1296 |
+
letter-spacing: 1px;
|
1297 |
+
}
|
1298 |
+
.feedback-img {
|
1299 |
+
width: 10%;
|
1300 |
+
}
|
1301 |
+
.feedback-img-info {
|
1302 |
+
width: 86%;
|
1303 |
+
}
|
1304 |
+
.counter span.fa,.timer {
|
1305 |
+
font-size: 2.5em;
|
1306 |
+
}
|
1307 |
+
.n-right-w3ls {
|
1308 |
+
width: 80%;
|
1309 |
+
}
|
1310 |
+
}
|
1311 |
+
|
1312 |
+
@media(max-width:800px) {
|
1313 |
+
h3.heading {
|
1314 |
+
font-size: 33px;
|
1315 |
+
}
|
1316 |
+
.logo2 a {
|
1317 |
+
font-size: 30px;
|
1318 |
+
}
|
1319 |
+
.text a.btn1,.text a.btn {
|
1320 |
+
font-size: 15px;
|
1321 |
+
padding: 10px 25px;
|
1322 |
+
letter-spacing: 1px;
|
1323 |
+
}
|
1324 |
+
.w3layouts-banner-info h3 {
|
1325 |
+
font-size: 3em;
|
1326 |
+
}
|
1327 |
+
#logo a {
|
1328 |
+
font-size: .7em;
|
1329 |
+
}
|
1330 |
+
.address-row h5 {
|
1331 |
+
font-size: 1.4em;
|
1332 |
+
}
|
1333 |
+
.address-row .contact-icon {
|
1334 |
+
width: 55px;
|
1335 |
+
height: 55px;
|
1336 |
+
line-height: 55px;
|
1337 |
+
}
|
1338 |
+
.address-row span.fa {
|
1339 |
+
font-size: 1em;
|
1340 |
+
line-height: 55px;
|
1341 |
+
}
|
1342 |
+
.map iframe {
|
1343 |
+
height: 300px;
|
1344 |
+
}
|
1345 |
+
}
|
1346 |
+
@media(max-width:736px) {
|
1347 |
+
.w3layouts-banner-info h4 {
|
1348 |
+
font-size: 18px;
|
1349 |
+
letter-spacing: 2px;
|
1350 |
+
line-height: 25px;
|
1351 |
+
}
|
1352 |
+
p.about-text {
|
1353 |
+
width: 100%;
|
1354 |
+
letter-spacing: 1px;
|
1355 |
+
}
|
1356 |
+
.welcome-grid {
|
1357 |
+
width: 50%;
|
1358 |
+
}
|
1359 |
+
.blog img {
|
1360 |
+
width: 100%;
|
1361 |
+
}
|
1362 |
+
.blog-info {
|
1363 |
+
top: 280px;
|
1364 |
+
}
|
1365 |
+
.w3l-copy p {
|
1366 |
+
font-size: 16px;
|
1367 |
+
}
|
1368 |
+
.blog-info h4 {
|
1369 |
+
font-size: 20px;
|
1370 |
+
line-height: 35px;
|
1371 |
+
}
|
1372 |
+
.welcome-grid span.fa {
|
1373 |
+
font-size: 40px;
|
1374 |
+
}
|
1375 |
+
.inner-banner {
|
1376 |
+
min-height: 150px;
|
1377 |
+
}
|
1378 |
+
.about-left h3 {
|
1379 |
+
font-size: 24px;
|
1380 |
+
}
|
1381 |
+
.about-left h4 {
|
1382 |
+
font-size: 20px;
|
1383 |
+
letter-spacing: 1px;
|
1384 |
+
}
|
1385 |
+
.n-right-w3ls {
|
1386 |
+
width: 100%;
|
1387 |
+
}
|
1388 |
+
.comingsoon h4 {
|
1389 |
+
font-size: 35px;
|
1390 |
+
}
|
1391 |
+
}
|
1392 |
+
@media(max-width:600px) {
|
1393 |
+
.core-right h4 {
|
1394 |
+
font-size: 21px;
|
1395 |
+
line-height: 38px;
|
1396 |
+
}
|
1397 |
+
p {
|
1398 |
+
font-size: 16px;
|
1399 |
+
}
|
1400 |
+
.w3layouts-banner-info p {
|
1401 |
+
font-size: 15px;
|
1402 |
+
}
|
1403 |
+
.w3layouts-banner-info h3 {
|
1404 |
+
font-size: 2.7em;
|
1405 |
+
letter-spacing: 5px;
|
1406 |
+
}
|
1407 |
+
.button-style {
|
1408 |
+
padding: 13px 35px;
|
1409 |
+
font-size: 14px;
|
1410 |
+
}
|
1411 |
+
.w3layouts-banner-info {
|
1412 |
+
padding-top: 10em;
|
1413 |
+
}
|
1414 |
+
.feature-grids h3,.welcome-grid h4 {
|
1415 |
+
font-size: 20px;
|
1416 |
+
letter-spacing: 2px;
|
1417 |
+
}
|
1418 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3, .overlay, .overlay1 {
|
1419 |
+
min-height: 570px;
|
1420 |
+
}
|
1421 |
+
.team-text h4 {
|
1422 |
+
font-size: 18px;
|
1423 |
+
letter-spacing: 1px;
|
1424 |
+
}
|
1425 |
+
h4.abt-text {
|
1426 |
+
font-size: 1.8em;
|
1427 |
+
letter-spacing: 1px;
|
1428 |
+
}
|
1429 |
+
.feedback-img {
|
1430 |
+
width: 15%;
|
1431 |
+
}
|
1432 |
+
.feedback-img-info {
|
1433 |
+
width: 81%;
|
1434 |
+
}
|
1435 |
+
h4.home-title {
|
1436 |
+
font-size: 21px;
|
1437 |
+
line-height: 35px;
|
1438 |
+
}
|
1439 |
+
}
|
1440 |
+
@media(max-width:568px) {
|
1441 |
+
|
1442 |
+
.blog-left, .blog-middle {
|
1443 |
+
margin-bottom: 2em;
|
1444 |
+
}
|
1445 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3, .overlay, .overlay1 {
|
1446 |
+
min-height: 520px;
|
1447 |
+
}
|
1448 |
+
.blog-grids {
|
1449 |
+
margin-bottom: 70px;
|
1450 |
+
}
|
1451 |
+
.about-left h5 {
|
1452 |
+
font-size: 18px;
|
1453 |
+
}
|
1454 |
+
}
|
1455 |
+
@media(max-width:480px) {
|
1456 |
+
.logo2 a {
|
1457 |
+
font-size: 25px;
|
1458 |
+
}
|
1459 |
+
h3.heading {
|
1460 |
+
font-size: 28px;
|
1461 |
+
}
|
1462 |
+
.w3layouts-banner-info h3 {
|
1463 |
+
font-size: 2.2em;
|
1464 |
+
}
|
1465 |
+
.banner-top, .banner-top1, .banner-top2, .banner-top3, .overlay, .overlay1 {
|
1466 |
+
min-height: 500px;
|
1467 |
+
}
|
1468 |
+
.w3layouts-banner-info {
|
1469 |
+
padding-top: 8em;
|
1470 |
+
}
|
1471 |
+
.bg-left h4 {
|
1472 |
+
font-size: 20px;
|
1473 |
+
line-height: 36px;
|
1474 |
+
}
|
1475 |
+
.blog-info {
|
1476 |
+
top: 180px;
|
1477 |
+
}
|
1478 |
+
.about-left h3 {
|
1479 |
+
font-size: 22px;
|
1480 |
+
line-height: 34px;
|
1481 |
+
}
|
1482 |
+
.feedback-img {
|
1483 |
+
width: 18%;
|
1484 |
+
}
|
1485 |
+
.feedback-img-info {
|
1486 |
+
width: 76%;
|
1487 |
+
}
|
1488 |
+
.newsletter button.btn {
|
1489 |
+
width: 31%;
|
1490 |
+
}
|
1491 |
+
.comingsoon h4 {
|
1492 |
+
font-size: 30px;
|
1493 |
+
letter-spacing: 1px;
|
1494 |
+
}
|
1495 |
+
}
|
1496 |
+
@media(max-width:414px) {
|
1497 |
+
.csslider>.arrows label {
|
1498 |
+
padding: 8px !important;
|
1499 |
+
}
|
1500 |
+
#logo a {
|
1501 |
+
font-size: .65em;
|
1502 |
+
}
|
1503 |
+
.toggle {
|
1504 |
+
font-size: 17px;
|
1505 |
+
}
|
1506 |
+
.w3layouts-banner-info h3 {
|
1507 |
+
font-size: 2em;
|
1508 |
+
}
|
1509 |
+
.welcome-grid p {
|
1510 |
+
font-size: 15px;
|
1511 |
+
}
|
1512 |
+
.welcome-grid span.fa {
|
1513 |
+
font-size: 35px;
|
1514 |
+
margin-bottom: 0px;
|
1515 |
+
}
|
1516 |
+
.core-right h4 {
|
1517 |
+
font-size: 19px;
|
1518 |
+
letter-spacing: 1px;
|
1519 |
+
line-height: 36px;
|
1520 |
+
}
|
1521 |
+
.blog-left, .blog-middle {
|
1522 |
+
margin-bottom: 4em;
|
1523 |
+
}
|
1524 |
+
.blog-grids {
|
1525 |
+
margin-bottom: 85px;
|
1526 |
+
}
|
1527 |
+
.bg-left h4 {
|
1528 |
+
font-size: 19px;
|
1529 |
+
line-height: 36px;
|
1530 |
+
letter-spacing: 1px;
|
1531 |
+
}
|
1532 |
+
.contact-left-footer ul li p a, .contact-left-footer ul li p {
|
1533 |
+
font-size: 15px;
|
1534 |
+
}
|
1535 |
+
.blog-grids {
|
1536 |
+
margin-bottom: 90px;
|
1537 |
+
}
|
1538 |
+
h4.abt-text {
|
1539 |
+
font-size: 1.6em;
|
1540 |
+
}
|
1541 |
+
.abt_bottom a.serv_link {
|
1542 |
+
font-size: 15px;
|
1543 |
+
letter-spacing: 1px;
|
1544 |
+
padding: 10px 25px;
|
1545 |
+
}
|
1546 |
+
.counter span.fa, .timer {
|
1547 |
+
font-size: 2em;
|
1548 |
+
}
|
1549 |
+
p.count-text {
|
1550 |
+
letter-spacing: 2px;
|
1551 |
+
font-size: 13px;
|
1552 |
+
}
|
1553 |
+
.feedback-info h4 {
|
1554 |
+
letter-spacing: 2px;
|
1555 |
+
font-size: 18px;
|
1556 |
+
}
|
1557 |
+
h4.home-title {
|
1558 |
+
font-size: 19px;
|
1559 |
+
}
|
1560 |
+
.newsletter .email {
|
1561 |
+
width: 64%;
|
1562 |
+
font-size: 15px;
|
1563 |
+
}
|
1564 |
+
.newsletter button.btn {
|
1565 |
+
width: 35%;
|
1566 |
+
font-size: 15px;
|
1567 |
+
}
|
1568 |
+
.address-row h5 {
|
1569 |
+
font-size: 1.2em;
|
1570 |
+
}
|
1571 |
+
.address-right {
|
1572 |
+
padding-left: 1em;
|
1573 |
+
}
|
1574 |
+
}
|
1575 |
+
@media(max-width:384px) {
|
1576 |
+
.feature-grids h3, .welcome-grid h4 {
|
1577 |
+
font-size: 18px;
|
1578 |
+
letter-spacing: 2px;
|
1579 |
+
}
|
1580 |
+
.w3layouts-banner-info p {
|
1581 |
+
letter-spacing: 1px;
|
1582 |
+
}
|
1583 |
+
.blog-left, .blog-middle {
|
1584 |
+
margin-bottom: 6em;
|
1585 |
+
}
|
1586 |
+
.csslider>.arrows label {
|
1587 |
+
padding: 7px;
|
1588 |
+
}
|
1589 |
+
.blog-grids {
|
1590 |
+
margin-bottom: 100px;
|
1591 |
+
}
|
1592 |
+
.about-left h4 {
|
1593 |
+
font-size: 18px;
|
1594 |
+
}
|
1595 |
+
h4.abt-text {
|
1596 |
+
font-size: 1.4em;
|
1597 |
+
}
|
1598 |
+
.newsletter .email {
|
1599 |
+
width: 62%;
|
1600 |
+
font-size: 14px;
|
1601 |
+
}
|
1602 |
+
.newsletter button.btn {
|
1603 |
+
width: 38%;
|
1604 |
+
font-size: 14px;
|
1605 |
+
}
|
1606 |
+
.inner-banner {
|
1607 |
+
min-height: 130px;
|
1608 |
+
}
|
1609 |
+
.address-right {
|
1610 |
+
padding-left: 1.5em;
|
1611 |
+
}
|
1612 |
+
.contact-left input[type="text"], .contact-left input[type="email"],.contact-right textarea {
|
1613 |
+
padding: 12px 15px;
|
1614 |
+
}
|
1615 |
+
.contact-left input[type="email"] {
|
1616 |
+
margin: 1em 0;
|
1617 |
+
}
|
1618 |
+
}
|
1619 |
+
@media(max-width:375px) {
|
1620 |
+
|
1621 |
+
}
|
1622 |
+
@media(max-width:320px) {
|
1623 |
+
|
1624 |
+
}
|
1625 |
+
|
1626 |
+
/*-- //Responsive design --*/
|
test_components.html
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form class="md-form">
|
2 |
+
<div class="file-field">
|
3 |
+
<div class="z-depth-1-half mb-4">
|
4 |
+
<img src="https://mdbootstrap.com/img/Photos/Others/placeholder.jpg" class="img-fluid"
|
5 |
+
alt="example placeholder">
|
6 |
+
</div>
|
7 |
+
<div class="d-flex justify-content-center">
|
8 |
+
<div class="btn btn-mdb-color btn-rounded float-left">
|
9 |
+
<span>Choose file</span>
|
10 |
+
<input type="file">
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
</form>
|
try_again.html
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% extends 'layout.html' %} {% block body %}
|
2 |
+
|
3 |
+
|
4 |
+
|
5 |
+
|
6 |
+
<div class="container py-2 mx-auto my-50 h-10 text-center" style="margin: 9rem;">
|
7 |
+
<div class="row">
|
8 |
+
<div class="col-sm py-2 py-md-3">
|
9 |
+
<div class="card card-body" style="justify-content: center; background-color:blanchedalmond">
|
10 |
+
<h1 class="text-center" style="color: black; font-size: 20px;"><b>Sorry we couldn't process your request
|
11 |
+
currently. <br> Please try again</b></h1>
|
12 |
+
|
13 |
+
|
14 |
+
<a href="{{ url_for('home') }}">
|
15 |
+
<button type="submit" class="btn btn-info text-center" style="
|
16 |
+
color: black;
|
17 |
+
font-weight: bold;
|
18 |
+
margin: 1rem;">
|
19 |
+
Try again
|
20 |
+
</button>
|
21 |
+
</a>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
{% endblock %}
|