Scezui commited on
Commit
0d6ddfa
1 Parent(s): 4e36aa0

added files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. Dockerfile +14 -0
  2. __pycache__/app.cpython-310.pyc +0 -0
  3. __pycache__/app.cpython-311.pyc +0 -0
  4. __pycache__/app.cpython-38.pyc +0 -0
  5. app.py +223 -0
  6. experiment.ipynb +1337 -0
  7. fonts/fontawesome-webfont.eot +0 -0
  8. fonts/fontawesome-webfont.svg +0 -0
  9. fonts/fontawesome-webfont.ttf +0 -0
  10. fonts/fontawesome-webfont.woff +0 -0
  11. fonts/fontawesome-webfont.woff2 +0 -0
  12. inferenced/output.csv +9 -0
  13. inferenced/temp_inference.jpg +0 -0
  14. log/error_output.log +55 -0
  15. model/config.json +118 -0
  16. model/export/export.pkl +3 -0
  17. model/model.safetensors +3 -0
  18. requirements.txt +14 -0
  19. static/css/animate.css +3272 -0
  20. static/css/color.css +373 -0
  21. static/css/font-awesome.min.css +4 -0
  22. static/css/style.css +3062 -0
  23. static/images/arrow.gif +0 -0
  24. static/images/banner-images/banner-image-1.jpg +0 -0
  25. static/images/company-images/company-logo1.png +0 -0
  26. static/images/company-images/company-logo2.png +0 -0
  27. static/images/company-images/company-logo3.png +0 -0
  28. static/images/company-images/company-logo4.png +0 -0
  29. static/images/company-images/company-logo5.png +0 -0
  30. static/images/company-images/company-logo6.png +0 -0
  31. static/images/company-images/company-logo7.png +0 -0
  32. static/images/company-images/company-logo8.png +0 -0
  33. static/images/company-images/company-logo9.png +0 -0
  34. static/images/dancer.jpg +0 -0
  35. static/images/favicon.ico +6 -0
  36. static/images/gallery-images/gallery-image-1.jpg +0 -0
  37. static/images/gallery-images/gallery-image-2.jpg +0 -0
  38. static/images/gallery-images/gallery-image-3.jpg +0 -0
  39. static/images/gallery-images/gallery-image-4.jpg +0 -0
  40. static/images/gallery-images/gallery-image-5.jpg +0 -0
  41. static/images/gallery-images/gallery-image-6.jpg +0 -0
  42. static/images/logo-2.png +0 -0
  43. static/images/logo.png +0 -0
  44. static/images/logox.png +0 -0
  45. static/images/logoxx.png +0 -0
  46. static/images/receipt.jpg +0 -0
  47. static/images/receiptcon.png +0 -0
  48. static/images/uplogo.gif +0 -0
  49. static/images/uplogo1.gif +0 -0
  50. static/images/uplogo2.gif +0 -0
Dockerfile ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ FROM python:3.11.4
5
+
6
+ WORKDIR /code
7
+
8
+ COPY ./requirements.txt /code/requirements.txt
9
+
10
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
11
+
12
+ COPY . .
13
+
14
+ CMD ["gunicorn", "-b" , "0.0.0.0:7860" "app:app"]
__pycache__/app.cpython-310.pyc ADDED
Binary file (4.49 kB). View file
 
__pycache__/app.cpython-311.pyc ADDED
Binary file (12.4 kB). View file
 
__pycache__/app.cpython-38.pyc ADDED
Binary file (1.58 kB). View file
 
app.py ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pytesseract
2
+ from flask import Flask, request, render_template, jsonify, send_file, redirect, url_for, flash, send_from_directory
3
+ from PIL import Image, ImageDraw
4
+ import torch
5
+ from transformers import LayoutLMv2ForTokenClassification, LayoutLMv3Tokenizer
6
+ import csv
7
+ import json
8
+ import subprocess
9
+ import os
10
+ import torch
11
+ import warnings
12
+ from PIL import Image
13
+ import sys
14
+ from fastai import *
15
+ from fastai.vision import *
16
+ from fastai.metrics import error_rate
17
+ from werkzeug.utils import secure_filename
18
+ import pandas as pd
19
+ from itertools import zip_longest
20
+ import inspect
21
+ from threading import Lock
22
+
23
+ import warnings
24
+
25
+ # Ignore SourceChangeWarning
26
+ warnings.filterwarnings("ignore", category=DeprecationWarning)
27
+ # warnings.filterwarnings("ignore", category=SourceChangeWarning)
28
+
29
+
30
+ UPLOAD_FOLDER = 'static/uploads'
31
+ if not os.path.exists(UPLOAD_FOLDER):
32
+ os.makedirs(UPLOAD_FOLDER)
33
+
34
+ ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
35
+
36
+ app = Flask(__name__)
37
+ app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
38
+ app.config['SECRET_KEY'] = 'supersecretkey'
39
+
40
+
41
+ @app.route('/', methods=['GET', 'POST'])
42
+ def index():
43
+ return render_template('index.html')
44
+
45
+
46
+ def allowed_file(filename):
47
+ return '.' in filename and \
48
+ filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
49
+
50
+
51
+ @app.route('/upload', methods=['GET', 'POST'])
52
+ def upload_file():
53
+ if request.method == 'POST':
54
+ if 'file' not in request.files:
55
+ resp = jsonify({'message' : 'No file part in the request'})
56
+ resp.status_code = 400
57
+ return resp
58
+ file = request.files['file']
59
+ if file.filename == '':
60
+ flash('No selected file')
61
+ return redirect(request.url)
62
+ if file and allowed_file(file.filename):
63
+ filename = secure_filename(file.filename)
64
+ file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
65
+ return redirect(url_for('rename_file', old_name=filename))
66
+ return render_template('index.html')
67
+
68
+
69
+ def make_prediction(image_path):
70
+ try:
71
+ temp = pathlib.PosixPath # Save the original state
72
+ pathlib.PosixPath = pathlib.WindowsPath # Change to WindowsPath temporarily
73
+
74
+ model_path = Path(r'model\export')
75
+
76
+ learner = load_learner(model_path)
77
+
78
+ # Open the image using fastai's open_image function
79
+ image = open_image(image_path)
80
+
81
+ # Make a prediction
82
+ prediction_class, prediction_idx, probabilities = learner.predict(image)
83
+
84
+ # If you want the predicted class as a string
85
+ predicted_class_str = str(prediction_class)
86
+
87
+ return predicted_class_str
88
+
89
+ except Exception as e:
90
+ return {"error": str(e)}
91
+ finally:
92
+ pathlib.PosixPath = temp
93
+
94
+
95
+ @app.route('/rename/<old_name>', methods=['GET', 'POST'])
96
+ def rename_file(old_name):
97
+ new_name = 'temp.jpg'
98
+ file_path = os.path.join(app.config['UPLOAD_FOLDER'], old_name)
99
+ new_file_path = os.path.join(app.config['UPLOAD_FOLDER'], new_name)
100
+
101
+ if os.path.exists(file_path):
102
+ shutil.move(file_path, new_file_path)
103
+
104
+ # Call make_prediction automatically
105
+ prediction_result = make_prediction(new_file_path)
106
+
107
+ return render_template('extractor.html', uploaded_file=new_name, old_name=old_name, prediction_result=prediction_result)
108
+ else:
109
+ return 'File not found'
110
+
111
+
112
+ @app.route('/get_inference_image')
113
+ def get_inference_image():
114
+ # Assuming the new image is stored in the 'inferenced' folder with the name 'temp_inference.jpg'
115
+ inferenced_image = 'inferenced/temp_inference.jpg'
116
+ return jsonify(updatedImagePath=inferenced_image), 200 # Return the image path with a 200 status code
117
+
118
+ # Define a lock object
119
+ inference_lock = Lock()
120
+
121
+ @app.route('/run_inference', methods=['GET'])
122
+ def run_inference():
123
+ # print(f"run_inference was called from {inspect.stack()[1].filename} at line {inspect.stack()[1].lineno}")
124
+ if inference_lock.locked():
125
+ return '', 204 # Return an empty response with a 204 status code
126
+
127
+ # Acquire the lock before starting the inference process
128
+ with inference_lock:
129
+ try:
130
+
131
+ model_path = r"model" # path to Layoutlmv3 model
132
+ images_path = r"static/uploads" # images folder
133
+ # Your inference process code here
134
+ subprocess.check_call([sys.executable, "static/inference/run_inference.py", "--model_path", model_path, "--images_path", images_path])
135
+ return redirect(url_for('create_csv'))
136
+ except Exception as e:
137
+ return jsonify({"error": str(e)})
138
+
139
+
140
+ # Define a function to replace all symbols with periods
141
+ def replace_symbols_with_period(value):
142
+ return re.sub(r'\W+', '.', str(value))
143
+ @app.route('/create_csv', methods=['GET'])
144
+ def create_csv():
145
+ try:
146
+ # Load JSON data from file
147
+ json_file_path = r"temp/LayoutlMV3InferenceOutput.json" # path to JSON file
148
+ output_file_path = r"inferenced/output.csv" # path to output CSV file
149
+
150
+ with open(json_file_path, 'r') as file:
151
+ data = json.load(file)
152
+
153
+ # Creating a dictionary to store labels and corresponding texts
154
+ label_texts = {}
155
+ for item in data:
156
+ for output_item in item['output']:
157
+ label = output_item['label']
158
+ text = output_item['text']
159
+
160
+ if label not in label_texts:
161
+ label_texts[label] = []
162
+ label_texts[label].append(text)
163
+
164
+ # Order of columns as requested
165
+ column_order = [
166
+ 'RECEIPTNUMBER', 'MERCHANTNAME', 'MERCHANTADDRESS',
167
+ 'TRANSACTIONDATE', 'TRANSACTIONTIME', 'ITEMS',
168
+ 'PRICE', 'TOTAL', 'VATTAX'
169
+ ]
170
+
171
+ # Writing data to CSV file with ordered columns
172
+ with open(output_file_path, 'w', newline='') as csvfile:
173
+ csv_writer = csv.DictWriter(csvfile, fieldnames=column_order, delimiter="|")
174
+ csv_writer.writeheader()
175
+
176
+ # Iterating over each item and price, creating a new row for each pair
177
+ items = label_texts.get('ITEMS', [])
178
+ prices = label_texts.get('PRICE', [])
179
+
180
+ for i in range(max(len(items), len(prices))):
181
+ item_words = items[i].split() if i < len(items) else ['']
182
+ price_words = prices[i].split() if i < len(prices) else ['']
183
+
184
+ for j, (item, price) in enumerate(zip_longest(item_words, price_words, fillvalue='')):
185
+ row_data = {
186
+ 'ITEMS': item,
187
+ 'PRICE': replace_symbols_with_period(price) if 'PRICE' in label_texts else price # Replace symbols with period
188
+ }
189
+ if j == 0:
190
+ row_data.update({
191
+ label: replace_symbols_with_period(label_texts[label][0]) if label in ['TOTAL', 'VATTAX'] and label in label_texts and 0 < len(label_texts[label]) else label_texts[label][0] if label in label_texts and 0 < len(label_texts[label]) else ''
192
+ for label in column_order if label not in ['ITEMS', 'PRICE']
193
+ })
194
+
195
+ csv_writer.writerow(row_data)
196
+
197
+ return '', 204 # Return an empty response with a 204 status code
198
+ except Exception as e:
199
+ return jsonify({"error": str(e)})
200
+
201
+
202
+ @app.route('/get_data')
203
+ def get_data():
204
+ return send_from_directory('inferenced','output.csv', as_attachment=False)
205
+
206
+ from flask import jsonify
207
+
208
+ @app.route('/download_csv', methods=['GET'])
209
+ def download_csv():
210
+ try:
211
+ output_file_path = r"inferenced\output.csv" # path to output CSV file
212
+
213
+ # Check if the file exists
214
+ if os.path.exists(output_file_path):
215
+ return send_file(output_file_path, as_attachment=True, download_name='output.csv')
216
+ else:
217
+ return jsonify({"error": "CSV file not found"})
218
+ except Exception as e:
219
+ return jsonify({"error": f"Download failed: {str(e)}"})
220
+
221
+
222
+ if __name__ == '__main__':
223
+ app.run(debug=True)
experiment.ipynb ADDED
@@ -0,0 +1,1337 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 17,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "# defining inference parameters\n",
10
+ "model_path = r\"C:\\Users\\Ayoo\\Desktop\\webapp\\model\" # path to Layoutlmv3 model\n",
11
+ "imag_path = r\"C:\\Users\\Ayoo\\Desktop\\webapp\\predictions\\imgs\" # images folder"
12
+ ]
13
+ },
14
+ {
15
+ "cell_type": "code",
16
+ "execution_count": 33,
17
+ "metadata": {},
18
+ "outputs": [
19
+ {
20
+ "name": "stdout",
21
+ "output_type": "stream",
22
+ "text": [
23
+ "^C\n"
24
+ ]
25
+ },
26
+ {
27
+ "name": "stderr",
28
+ "output_type": "stream",
29
+ "text": [
30
+ "2023-12-16 02:35:50.587274: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n",
31
+ "WARNING:tensorflow:From C:\\Users\\Ayoo\\AppData\\Roaming\\Python\\Python311\\site-packages\\keras\\src\\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.\n",
32
+ "\n",
33
+ "c:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\transformers\\modeling_utils.py:881: FutureWarning: The `device` argument is deprecated and will be removed in v5 of Transformers.\n",
34
+ " warnings.warn(\n"
35
+ ]
36
+ },
37
+ {
38
+ "name": "stdout",
39
+ "output_type": "stream",
40
+ "text": [
41
+ "Preparing for Inference\n",
42
+ "Starting\n",
43
+ "Preprocessing\n",
44
+ "Preprocessing done. Running OCR\n",
45
+ "JSON file saved\n",
46
+ "OCR done\n",
47
+ "Run Done\n",
48
+ "Cleaned Tesseract output done\n",
49
+ "Word list done\n",
50
+ "Box list done\n",
51
+ "Prepared for Inference Batch\n",
52
+ "Running Flattened Output\n",
53
+ "Ready for Annotation\n",
54
+ "Annotating Images\n"
55
+ ]
56
+ }
57
+ ],
58
+ "source": [
59
+ "! python predictions\\inference\\run_inference.py --model_path {model_path} --images_path {imag_path}"
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "code",
64
+ "execution_count": 20,
65
+ "metadata": {},
66
+ "outputs": [
67
+ {
68
+ "name": "stdout",
69
+ "output_type": "stream",
70
+ "text": [
71
+ "Looking for C:\\Users\\Ayoo\\.keras-ocr\\craft_mlt_25k.h5\n"
72
+ ]
73
+ },
74
+ {
75
+ "ename": "KeyboardInterrupt",
76
+ "evalue": "",
77
+ "output_type": "error",
78
+ "traceback": [
79
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
80
+ "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
81
+ "Cell \u001b[1;32mIn[20], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mkeras_ocr\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m pipeline\u001b[38;5;241m=\u001b[39m\u001b[43mkeras_ocr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpipeline\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPipeline\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
82
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\pipeline.py:20\u001b[0m, in \u001b[0;36mPipeline.__init__\u001b[1;34m(self, detector, recognizer, scale, max_size)\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, detector\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, recognizer\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, scale\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m, max_size\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2048\u001b[39m):\n\u001b[0;32m 19\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m detector \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m---> 20\u001b[0m detector \u001b[38;5;241m=\u001b[39m \u001b[43mdetection\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mDetector\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m recognizer \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 22\u001b[0m recognizer \u001b[38;5;241m=\u001b[39m recognition\u001b[38;5;241m.\u001b[39mRecognizer()\n",
83
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\detection.py:686\u001b[0m, in \u001b[0;36mDetector.__init__\u001b[1;34m(self, weights, load_from_torch, optimizer, backbone_name)\u001b[0m\n\u001b[0;32m 682\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m (\n\u001b[0;32m 683\u001b[0m pretrained_key \u001b[38;5;129;01min\u001b[39;00m PRETRAINED_WEIGHTS\n\u001b[0;32m 684\u001b[0m ), \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSelected weights configuration not found.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 685\u001b[0m weights_config \u001b[38;5;241m=\u001b[39m PRETRAINED_WEIGHTS[pretrained_key]\n\u001b[1;32m--> 686\u001b[0m weights_path \u001b[38;5;241m=\u001b[39m \u001b[43mtools\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdownload_and_verify\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 687\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mweights_config\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43murl\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 688\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilename\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mweights_config\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfilename\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 689\u001b[0m \u001b[43m \u001b[49m\u001b[43msha256\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mweights_config\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43msha256\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 690\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 691\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 692\u001b[0m weights_path \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
84
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\tools.py:527\u001b[0m, in \u001b[0;36mdownload_and_verify\u001b[1;34m(url, sha256, cache_dir, verbose, filename)\u001b[0m\n\u001b[0;32m 525\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDownloading \u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m filepath)\n\u001b[0;32m 526\u001b[0m urllib\u001b[38;5;241m.\u001b[39mrequest\u001b[38;5;241m.\u001b[39murlretrieve(url, filepath)\n\u001b[1;32m--> 527\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m sha256 \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m sha256 \u001b[38;5;241m==\u001b[39m \u001b[43msha256sum\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 528\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilepath\u001b[49m\n\u001b[0;32m 529\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mError occurred verifying sha256.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 530\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m filepath\n",
85
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\tools.py:491\u001b[0m, in \u001b[0;36msha256sum\u001b[1;34m(filename)\u001b[0m\n\u001b[0;32m 489\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(filename, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m, buffering\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[0;32m 490\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m n \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28miter\u001b[39m(\u001b[38;5;28;01mlambda\u001b[39;00m: f\u001b[38;5;241m.\u001b[39mreadinto(mv), \u001b[38;5;241m0\u001b[39m): \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[1;32m--> 491\u001b[0m h\u001b[38;5;241m.\u001b[39mupdate(mv[:n])\n\u001b[0;32m 492\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m h\u001b[38;5;241m.\u001b[39mhexdigest()\n",
86
+ "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
87
+ ]
88
+ }
89
+ ],
90
+ "source": [
91
+ "import keras_ocr\n",
92
+ "pipeline=keras_ocr.pipeline.Pipeline()"
93
+ ]
94
+ },
95
+ {
96
+ "cell_type": "code",
97
+ "execution_count": 4,
98
+ "metadata": {},
99
+ "outputs": [
100
+ {
101
+ "name": "stdout",
102
+ "output_type": "stream",
103
+ "text": [
104
+ "1/1 [==============================] - 34s 34s/step\n",
105
+ "7/7 [==============================] - 94s 13s/step\n"
106
+ ]
107
+ },
108
+ {
109
+ "data": {
110
+ "text/plain": [
111
+ "[[('feleven',\n",
112
+ " array([[212.58102 , 34.90136 ],\n",
113
+ " [577.45886 , 34.901367],\n",
114
+ " [577.45886 , 114.22263 ],\n",
115
+ " [212.58102 , 114.22263 ]], dtype=float32)),\n",
116
+ " ('es',\n",
117
+ " array([[574.28613, 82.49414],\n",
118
+ " [593.32324, 82.49414],\n",
119
+ " [593.32324, 107.87695],\n",
120
+ " [574.28613, 107.87695]], dtype=float32)),\n",
121
+ " ('store',\n",
122
+ " array([[453.71777, 203.0625 ],\n",
123
+ " [567.9404 , 203.0625 ],\n",
124
+ " [567.9404 , 253.82812],\n",
125
+ " [453.71777, 253.82812]], dtype=float32)),\n",
126
+ " ('nahj',\n",
127
+ " array([[120.56836, 209.4082 ],\n",
128
+ " [187.19824, 209.4082 ],\n",
129
+ " [187.19824, 253.82812],\n",
130
+ " [120.56836, 253.82812]], dtype=float32)),\n",
131
+ " ('conveni',\n",
132
+ " array([[203.0625 , 209.4082 ],\n",
133
+ " [352.18652, 209.4082 ],\n",
134
+ " [352.18652, 253.82812],\n",
135
+ " [203.0625 , 253.82812]], dtype=float32)),\n",
136
+ " ('enco',\n",
137
+ " array([[352.18652, 209.4082 ],\n",
138
+ " [441.02637, 209.4082 ],\n",
139
+ " [441.02637, 253.82812],\n",
140
+ " [352.18652, 253.82812]], dtype=float32)),\n",
141
+ " ('qwned',\n",
142
+ " array([[ 34.901367, 260.17383 ],\n",
143
+ " [149.12402 , 260.17383 ],\n",
144
+ " [149.12402 , 304.59375 ],\n",
145
+ " [ 34.901367, 304.59375 ]], dtype=float32)),\n",
146
+ " ('operated',\n",
147
+ " array([[203.0625 , 260.17383],\n",
148
+ " [377.56934, 260.17383],\n",
149
+ " [377.56934, 307.7666 ],\n",
150
+ " [203.0625 , 307.7666 ]], dtype=float32)),\n",
151
+ " ('nancy',\n",
152
+ " array([[475.92773, 260.17383],\n",
153
+ " [586.97754, 260.17383],\n",
154
+ " [586.97754, 304.59375],\n",
155
+ " [475.92773, 304.59375]], dtype=float32)),\n",
156
+ " ('byl',\n",
157
+ " array([[393.4336 , 263.34668],\n",
158
+ " [456.89062, 263.34668],\n",
159
+ " [456.89062, 307.7666 ],\n",
160
+ " [393.4336 , 307.7666 ]], dtype=float32)),\n",
161
+ " ('a',\n",
162
+ " array([[602.8418 , 263.34668],\n",
163
+ " [634.5703 , 263.34668],\n",
164
+ " [634.5703 , 301.4209 ],\n",
165
+ " [602.8418 , 301.4209 ]], dtype=float32)),\n",
166
+ " ('cl',\n",
167
+ " array([[244.30957, 314.1123 ],\n",
168
+ " [288.7295 , 314.1123 ],\n",
169
+ " [288.7295 , 355.35938],\n",
170
+ " [244.30957, 355.35938]], dtype=float32)),\n",
171
+ " ('inacosa',\n",
172
+ " array([[291.90234, 314.1123 ],\n",
173
+ " [437.85352, 314.1123 ],\n",
174
+ " [437.85352, 355.35938],\n",
175
+ " [291.90234, 355.35938]], dtype=float32)),\n",
176
+ " ('tregtin',\n",
177
+ " array([[123.74121, 358.53223],\n",
178
+ " [276.0381 , 358.53223],\n",
179
+ " [276.0381 , 406.125 ],\n",
180
+ " [123.74121, 406.125 ]], dtype=float32)),\n",
181
+ " ('va',\n",
182
+ " array([[ 76.14844, 361.70508],\n",
183
+ " [123.74121, 361.70508],\n",
184
+ " [123.74121, 406.125 ],\n",
185
+ " [ 76.14844, 406.125 ]], dtype=float32)),\n",
186
+ " ('hssysigm',\n",
187
+ " array([[285.55664, 361.70508],\n",
188
+ " [485.4463 , 361.70508],\n",
189
+ " [485.4463 , 406.125 ],\n",
190
+ " [285.55664, 406.125 ]], dtype=float32)),\n",
191
+ " ('gbsr0o2',\n",
192
+ " array([[475.92773, 361.70508],\n",
193
+ " [631.39746, 361.70508],\n",
194
+ " [631.39746, 406.125 ],\n",
195
+ " [475.92773, 406.125 ]], dtype=float32)),\n",
196
+ " ('pobli',\n",
197
+ " array([[ 98.3584 , 412.4707 ],\n",
198
+ " [187.19824, 412.4707 ],\n",
199
+ " [187.19824, 460.06348],\n",
200
+ " [ 98.3584 , 460.06348]], dtype=float32)),\n",
201
+ " ('acii',\n",
202
+ " array([[180.85254, 415.64355],\n",
203
+ " [250.65527, 415.64355],\n",
204
+ " [250.65527, 460.06348],\n",
205
+ " [180.85254, 460.06348]], dtype=float32)),\n",
206
+ " ('leons',\n",
207
+ " array([[326.8037 , 415.64355],\n",
208
+ " [434.68066, 415.64355],\n",
209
+ " [434.68066, 460.06348],\n",
210
+ " [326.8037 , 460.06348]], dtype=float32)),\n",
211
+ " ('ilulos',\n",
212
+ " array([[456.89062, 415.64355],\n",
213
+ " [602.8418 , 415.64355],\n",
214
+ " [602.8418 , 460.06348],\n",
215
+ " [456.89062, 460.06348]], dtype=float32)),\n",
216
+ " ('ors',\n",
217
+ " array([[241.13672, 418.8164 ],\n",
218
+ " [304.59375, 418.8164 ],\n",
219
+ " [304.59375, 456.89062],\n",
220
+ " [241.13672, 456.89062]], dtype=float32)),\n",
221
+ " ('fit',\n",
222
+ " array([[225.27246, 466.40918],\n",
223
+ " [291.90234, 466.40918],\n",
224
+ " [291.90234, 510.8291 ],\n",
225
+ " [225.27246, 510.8291 ]], dtype=float32)),\n",
226
+ " ('ipp',\n",
227
+ " array([[314.1123 , 469.58203],\n",
228
+ " [380.7422 , 469.58203],\n",
229
+ " [380.7422 , 514.00195],\n",
230
+ " [314.1123 , 514.00195]], dtype=float32)),\n",
231
+ " ('ines',\n",
232
+ " array([[374.39648, 469.58203],\n",
233
+ " [463.23633, 469.58203],\n",
234
+ " [463.23633, 510.8291 ],\n",
235
+ " [374.39648, 510.8291 ]], dtype=float32)),\n",
236
+ " ('tel',\n",
237
+ " array([[225.27246, 517.1748 ],\n",
238
+ " [288.7295 , 517.1748 ],\n",
239
+ " [288.7295 , 561.5947 ],\n",
240
+ " [225.27246, 561.5947 ]], dtype=float32)),\n",
241
+ " ('null',\n",
242
+ " array([[371.22363, 517.1748 ],\n",
243
+ " [466.40918, 517.1748 ],\n",
244
+ " [466.40918, 561.5947 ],\n",
245
+ " [371.22363, 561.5947 ]], dtype=float32)),\n",
246
+ " ('h',\n",
247
+ " array([[307.7666 , 520.34766],\n",
248
+ " [339.49512, 520.34766],\n",
249
+ " [339.49512, 558.4219 ],\n",
250
+ " [307.7666 , 558.4219 ]], dtype=float32)),\n",
251
+ " ('osd1',\n",
252
+ " array([[ 98.3584 , 618.70605],\n",
253
+ " [206.23535, 618.70605],\n",
254
+ " [206.23535, 663.126 ],\n",
255
+ " [ 98.3584 , 663.126 ]], dtype=float32)),\n",
256
+ " ('fzozx',\n",
257
+ " array([[203.0625 , 618.70605],\n",
258
+ " [314.1123 , 618.70605],\n",
259
+ " [314.1123 , 663.126 ],\n",
260
+ " [203.0625 , 663.126 ]], dtype=float32)),\n",
261
+ " ('leoost',\n",
262
+ " array([[434.68066, 618.70605],\n",
263
+ " [609.1875 , 618.70605],\n",
264
+ " [609.1875 , 663.126 ],\n",
265
+ " [434.68066, 663.126 ]], dtype=float32)),\n",
266
+ " ('smony',\n",
267
+ " array([[314.1123 , 621.8789 ],\n",
268
+ " [415.64355, 621.8789 ],\n",
269
+ " [415.64355, 663.126 ],\n",
270
+ " [314.1123 , 663.126 ]], dtype=float32)),\n",
271
+ " ('rcpt',\n",
272
+ " array([[ 12.691406, 723.41016 ],\n",
273
+ " [101.53125 , 723.41016 ],\n",
274
+ " [101.53125 , 767.8301 ],\n",
275
+ " [ 12.691406, 767.8301 ]], dtype=float32)),\n",
276
+ " ('h2a81',\n",
277
+ " array([[117.39551, 723.41016],\n",
278
+ " [228.44531, 723.41016],\n",
279
+ " [228.44531, 767.8301 ],\n",
280
+ " [117.39551, 767.8301 ]], dtype=float32)),\n",
281
+ " ('3a7',\n",
282
+ " array([[218.92676, 723.41016],\n",
283
+ " [291.90234, 723.41016],\n",
284
+ " [291.90234, 767.8301 ],\n",
285
+ " [218.92676, 767.8301 ]], dtype=float32)),\n",
286
+ " ('rcft',\n",
287
+ " array([[475.92773, 723.41016],\n",
288
+ " [567.9404 , 723.41016],\n",
289
+ " [567.9404 , 767.8301 ],\n",
290
+ " [475.92773, 767.8301 ]], dtype=float32)),\n",
291
+ " ('cnt',\n",
292
+ " array([[580.63184, 723.41016],\n",
293
+ " [647.2617 , 723.41016],\n",
294
+ " [647.2617 , 764.6572 ],\n",
295
+ " [580.63184, 764.6572 ]], dtype=float32)),\n",
296
+ " ('ho',\n",
297
+ " array([[637.74316, 723.41016],\n",
298
+ " [694.8545 , 723.41016],\n",
299
+ " [694.8545 , 767.8301 ],\n",
300
+ " [637.74316, 767.8301 ]], dtype=float32)),\n",
301
+ " ('storehsise',\n",
302
+ " array([[ 12.691406, 774.1758 ],\n",
303
+ " [231.61816 , 774.1758 ],\n",
304
+ " [231.61816 , 818.5957 ],\n",
305
+ " [ 12.691406, 818.5957 ]], dtype=float32)),\n",
306
+ " ('snit',\n",
307
+ " array([[434.68066, 774.1758 ],\n",
308
+ " [504.4834 , 774.1758 ],\n",
309
+ " [504.4834 , 818.5957 ],\n",
310
+ " [434.68066, 818.5957 ]], dtype=float32)),\n",
311
+ " ('xtiakt',\n",
312
+ " array([[520.34766, 774.1758 ],\n",
313
+ " [650.4346 , 774.1758 ],\n",
314
+ " [650.4346 , 818.5957 ],\n",
315
+ " [520.34766, 818.5957 ]], dtype=float32)),\n",
316
+ " ('70',\n",
317
+ " array([[647.2617, 774.1758],\n",
318
+ " [694.8545, 774.1758],\n",
319
+ " [694.8545, 818.5957],\n",
320
+ " [647.2617, 818.5957]], dtype=float32)),\n",
321
+ " ('091',\n",
322
+ " array([[326.8037 , 821.76855],\n",
323
+ " [396.60645, 821.76855],\n",
324
+ " [396.60645, 869.3613 ],\n",
325
+ " [326.8037 , 869.3613 ]], dtype=float32)),\n",
326
+ " ('min',\n",
327
+ " array([[ 15.864258, 824.9414 ],\n",
328
+ " [ 85.66699 , 824.9414 ],\n",
329
+ " [ 85.66699 , 869.3613 ],\n",
330
+ " [ 15.864258, 869.3613 ]], dtype=float32)),\n",
331
+ " ('1811201',\n",
332
+ " array([[161.81543, 824.9414 ],\n",
333
+ " [310.93945, 824.9414 ],\n",
334
+ " [310.93945, 869.3613 ],\n",
335
+ " [161.81543, 869.3613 ]], dtype=float32)),\n",
336
+ " ('105s1',\n",
337
+ " array([[437.85352, 824.9414 ],\n",
338
+ " [520.34766, 824.9414 ],\n",
339
+ " [520.34766, 869.3613 ],\n",
340
+ " [437.85352, 869.3613 ]], dtype=float32)),\n",
341
+ " ('ha',\n",
342
+ " array([[ 98.3584 , 828.11426],\n",
343
+ " [139.60547, 828.11426],\n",
344
+ " [139.60547, 869.3613 ],\n",
345
+ " [ 98.3584 , 869.3613 ]], dtype=float32)),\n",
346
+ " ('41',\n",
347
+ " array([[393.4336 , 828.11426],\n",
348
+ " [441.02637, 828.11426],\n",
349
+ " [441.02637, 869.3613 ],\n",
350
+ " [393.4336 , 869.3613 ]], dtype=float32)),\n",
351
+ " ('staff',\n",
352
+ " array([[ 12.691406, 878.8799 ],\n",
353
+ " [126.91406 , 878.8799 ],\n",
354
+ " [126.91406 , 923.2998 ],\n",
355
+ " [ 12.691406, 923.2998 ]], dtype=float32)),\n",
356
+ " ('angel',\n",
357
+ " array([[142.77832, 878.8799 ],\n",
358
+ " [247.48242, 878.8799 ],\n",
359
+ " [247.48242, 923.2998 ],\n",
360
+ " [142.77832, 923.2998 ]], dtype=float32)),\n",
361
+ " ('duantle',\n",
362
+ " array([[329.97656, 878.8799 ],\n",
363
+ " [463.23633, 878.8799 ],\n",
364
+ " [463.23633, 923.2998 ],\n",
365
+ " [329.97656, 923.2998 ]], dtype=float32)),\n",
366
+ " ('i',\n",
367
+ " array([[250.65527, 885.2256 ],\n",
368
+ " [266.51953, 885.2256 ],\n",
369
+ " [266.51953, 916.9541 ],\n",
370
+ " [250.65527, 916.9541 ]], dtype=float32)),\n",
371
+ " ('ca',\n",
372
+ " array([[263.34668, 885.2256 ],\n",
373
+ " [314.1123 , 885.2256 ],\n",
374
+ " [314.1123 , 923.2998 ],\n",
375
+ " [263.34668, 923.2998 ]], dtype=float32)),\n",
376
+ " ('fkoreanbun',\n",
377
+ " array([[ 15.864258, 980.41113 ],\n",
378
+ " [ 250.65527 , 980.41113 ],\n",
379
+ " [ 250.65527 , 1024.831 ],\n",
380
+ " [ 15.864258, 1024.831 ]], dtype=float32)),\n",
381
+ " ('s5',\n",
382
+ " array([[ 561.5947 , 980.41113],\n",
383
+ " [ 612.36035, 980.41113],\n",
384
+ " [ 612.36035, 1021.6582 ],\n",
385
+ " [ 561.5947 , 1021.6582 ]], dtype=float32)),\n",
386
+ " ('oflj',\n",
387
+ " array([[ 621.8789 , 980.41113],\n",
388
+ " [ 694.8545 , 980.41113],\n",
389
+ " [ 694.8545 , 1021.6582 ],\n",
390
+ " [ 621.8789 , 1021.6582 ]], dtype=float32)),\n",
391
+ " ('nis',\n",
392
+ " array([[ 15.864258, 1031.1768 ],\n",
393
+ " [ 60.28418 , 1031.1768 ],\n",
394
+ " [ 60.28418 , 1075.5967 ],\n",
395
+ " [ 15.864258, 1075.5967 ]], dtype=float32)),\n",
396
+ " ('inyasabeetig',\n",
397
+ " array([[ 104.7041 , 1031.1768 ],\n",
398
+ " [ 377.56934, 1031.1768 ],\n",
399
+ " [ 377.56934, 1078.7695 ],\n",
400
+ " [ 104.7041 , 1078.7695 ]], dtype=float32)),\n",
401
+ " ('40',\n",
402
+ " array([[ 561.5947, 1031.1768],\n",
403
+ " [ 615.5332, 1031.1768],\n",
404
+ " [ 615.5332, 1072.4238],\n",
405
+ " [ 561.5947, 1072.4238]], dtype=float32)),\n",
406
+ " ('oov',\n",
407
+ " array([[ 621.8789, 1031.1768],\n",
408
+ " [ 694.8545, 1031.1768],\n",
409
+ " [ 694.8545, 1072.4238],\n",
410
+ " [ 621.8789, 1072.4238]], dtype=float32)),\n",
411
+ " ('ss',\n",
412
+ " array([[ 53.938477, 1034.3496 ],\n",
413
+ " [ 104.7041 , 1034.3496 ],\n",
414
+ " [ 104.7041 , 1075.5967 ],\n",
415
+ " [ 53.938477, 1075.5967 ]], dtype=float32)),\n",
416
+ " ('behotogcremychees',\n",
417
+ " array([[ 12.691406, 1081.9424 ],\n",
418
+ " [ 399.7793 , 1081.9424 ],\n",
419
+ " [ 399.7793 , 1129.5352 ],\n",
420
+ " [ 12.691406, 1129.5352 ]], dtype=float32)),\n",
421
+ " ('19',\n",
422
+ " array([[ 139.60547, 1132.708 ],\n",
423
+ " [ 190.3711 , 1132.708 ],\n",
424
+ " [ 190.3711 , 1177.1279 ],\n",
425
+ " [ 139.60547, 1177.1279 ]], dtype=float32)),\n",
426
+ " ('do',\n",
427
+ " array([[ 203.0625 , 1135.8809 ],\n",
428
+ " [ 250.65527, 1135.8809 ],\n",
429
+ " [ 250.65527, 1177.1279 ],\n",
430
+ " [ 203.0625 , 1177.1279 ]], dtype=float32)),\n",
431
+ " ('a',\n",
432
+ " array([[ 266.51953, 1139.0537 ],\n",
433
+ " [ 288.7295 , 1139.0537 ],\n",
434
+ " [ 288.7295 , 1173.9551 ],\n",
435
+ " [ 266.51953, 1173.9551 ]], dtype=float32)),\n",
436
+ " ('b',\n",
437
+ " array([[ 368.05078, 1135.8809 ],\n",
438
+ " [ 396.60645, 1135.8809 ],\n",
439
+ " [ 396.60645, 1173.9551 ],\n",
440
+ " [ 368.05078, 1173.9551 ]], dtype=float32)),\n",
441
+ " ('1544',\n",
442
+ " array([[ 539.38477, 1135.8809 ],\n",
443
+ " [ 615.5332 , 1135.8809 ],\n",
444
+ " [ 615.5332 , 1177.1279 ],\n",
445
+ " [ 539.38477, 1177.1279 ]], dtype=float32)),\n",
446
+ " ('oou',\n",
447
+ " array([[ 621.8789, 1135.8809],\n",
448
+ " [ 694.8545, 1135.8809],\n",
449
+ " [ 694.8545, 1177.1279],\n",
450
+ " [ 621.8789, 1177.1279]], dtype=float32)),\n",
451
+ " ('choeog',\n",
452
+ " array([[ 266.51953, 1183.4736 ],\n",
453
+ " [ 399.7793 , 1183.4736 ],\n",
454
+ " [ 399.7793 , 1231.0664 ],\n",
455
+ " [ 266.51953, 1231.0664 ]], dtype=float32)),\n",
456
+ " ('chocvronz',\n",
457
+ " array([[ 12.691406, 1186.6465 ],\n",
458
+ " [ 209.4082 , 1186.6465 ],\n",
459
+ " [ 209.4082 , 1231.0664 ],\n",
460
+ " [ 12.691406, 1231.0664 ]], dtype=float32)),\n",
461
+ " ('in1',\n",
462
+ " array([[ 206.23535, 1186.6465 ],\n",
463
+ " [ 269.69238, 1186.6465 ],\n",
464
+ " [ 269.69238, 1227.8936 ],\n",
465
+ " [ 206.23535, 1227.8936 ]], dtype=float32)),\n",
466
+ " ('1s',\n",
467
+ " array([[ 142.77832, 1237.4121 ],\n",
468
+ " [ 206.23535, 1237.4121 ],\n",
469
+ " [ 206.23535, 1281.832 ],\n",
470
+ " [ 142.77832, 1281.832 ]], dtype=float32)),\n",
471
+ " ('0',\n",
472
+ " array([[ 203.0625 , 1237.4121 ],\n",
473
+ " [ 250.65527, 1237.4121 ],\n",
474
+ " [ 250.65527, 1281.832 ],\n",
475
+ " [ 203.0625 , 1281.832 ]], dtype=float32)),\n",
476
+ " ('x',\n",
477
+ " array([[ 263.34668, 1237.4121 ],\n",
478
+ " [ 291.90234, 1237.4121 ],\n",
479
+ " [ 291.90234, 1275.4863 ],\n",
480
+ " [ 263.34668, 1275.4863 ]], dtype=float32)),\n",
481
+ " ('l',\n",
482
+ " array([[ 371.22363, 1237.4121 ],\n",
483
+ " [ 396.60645, 1237.4121 ],\n",
484
+ " [ 396.60645, 1275.4863 ],\n",
485
+ " [ 371.22363, 1275.4863 ]], dtype=float32)),\n",
486
+ " ('50',\n",
487
+ " array([[ 561.5947, 1237.4121],\n",
488
+ " [ 615.5332, 1237.4121],\n",
489
+ " [ 615.5332, 1278.6592],\n",
490
+ " [ 561.5947, 1278.6592]], dtype=float32)),\n",
491
+ " ('doq',\n",
492
+ " array([[ 621.8789, 1237.4121],\n",
493
+ " [ 694.8545, 1237.4121],\n",
494
+ " [ 694.8545, 1278.6592],\n",
495
+ " [ 621.8789, 1278.6592]], dtype=float32)),\n",
496
+ " ('total',\n",
497
+ " array([[ 15.864258, 1338.9434 ],\n",
498
+ " [ 120.56836 , 1338.9434 ],\n",
499
+ " [ 120.56836 , 1386.5361 ],\n",
500
+ " [ 15.864258, 1386.5361 ]], dtype=float32)),\n",
501
+ " ('10',\n",
502
+ " array([[ 145.95117, 1338.9434 ],\n",
503
+ " [ 225.27246, 1338.9434 ],\n",
504
+ " [ 225.27246, 1383.3633 ],\n",
505
+ " [ 145.95117, 1383.3633 ]], dtype=float32)),\n",
506
+ " ('3599',\n",
507
+ " array([[ 558.4219 , 1338.9434 ],\n",
508
+ " [ 637.74316, 1338.9434 ],\n",
509
+ " [ 637.74316, 1383.3633 ],\n",
510
+ " [ 558.4219 , 1383.3633 ]], dtype=float32)),\n",
511
+ " ('oq',\n",
512
+ " array([[ 640.916 , 1342.1162],\n",
513
+ " [ 694.8545, 1342.1162],\n",
514
+ " [ 694.8545, 1383.3633],\n",
515
+ " [ 640.916 , 1383.3633]], dtype=float32)),\n",
516
+ " ('cash',\n",
517
+ " array([[ 53.938477, 1389.709 ],\n",
518
+ " [ 149.12402 , 1389.709 ],\n",
519
+ " [ 149.12402 , 1434.1289 ],\n",
520
+ " [ 53.938477, 1434.1289 ]], dtype=float32)),\n",
521
+ " ('dool',\n",
522
+ " array([[ 558.4219, 1389.709 ],\n",
523
+ " [ 647.2617, 1389.709 ],\n",
524
+ " [ 647.2617, 1434.1289],\n",
525
+ " [ 558.4219, 1434.1289]], dtype=float32)),\n",
526
+ " ('o0',\n",
527
+ " array([[ 640.916 , 1389.709 ],\n",
528
+ " [ 691.68164, 1389.709 ],\n",
529
+ " [ 691.68164, 1434.1289 ],\n",
530
+ " [ 640.916 , 1434.1289 ]], dtype=float32)),\n",
531
+ " ('change',\n",
532
+ " array([[ 53.938477, 1440.4746 ],\n",
533
+ " [ 187.19824 , 1440.4746 ],\n",
534
+ " [ 187.19824 , 1484.8945 ],\n",
535
+ " [ 53.938477, 1484.8945 ]], dtype=float32)),\n",
536
+ " ('841',\n",
537
+ " array([[ 558.4219, 1440.4746],\n",
538
+ " [ 628.2246, 1440.4746],\n",
539
+ " [ 628.2246, 1484.8945],\n",
540
+ " [ 558.4219, 1484.8945]], dtype=float32)),\n",
541
+ " ('sdo',\n",
542
+ " array([[ 625.05176, 1440.4746 ],\n",
543
+ " [ 694.8545 , 1440.4746 ],\n",
544
+ " [ 694.8545 , 1484.8945 ],\n",
545
+ " [ 625.05176, 1484.8945 ]], dtype=float32)),\n",
546
+ " ('vatable',\n",
547
+ " array([[ 53.938477, 1545.1787 ],\n",
548
+ " [ 209.4082 , 1545.1787 ],\n",
549
+ " [ 209.4082 , 1589.5986 ],\n",
550
+ " [ 53.938477, 1589.5986 ]], dtype=float32)),\n",
551
+ " ('szos',\n",
552
+ " array([[ 558.4219 , 1545.1787 ],\n",
553
+ " [ 644.08887, 1545.1787 ],\n",
554
+ " [ 644.08887, 1589.5986 ],\n",
555
+ " [ 558.4219 , 1589.5986 ]], dtype=float32)),\n",
556
+ " ('54',\n",
557
+ " array([[ 640.916 , 1545.1787 ],\n",
558
+ " [ 691.68164, 1545.1787 ],\n",
559
+ " [ 691.68164, 1589.5986 ],\n",
560
+ " [ 640.916 , 1589.5986 ]], dtype=float32)),\n",
561
+ " ('vat',\n",
562
+ " array([[ 53.938477, 1595.9443 ],\n",
563
+ " [ 145.95117 , 1595.9443 ],\n",
564
+ " [ 145.95117 , 1646.71 ],\n",
565
+ " [ 53.938477, 1646.71 ]], dtype=float32)),\n",
566
+ " ('8b',\n",
567
+ " array([[ 580.63184, 1595.9443 ],\n",
568
+ " [ 644.08887, 1595.9443 ],\n",
569
+ " [ 644.08887, 1640.3643 ],\n",
570
+ " [ 580.63184, 1640.3643 ]], dtype=float32)),\n",
571
+ " ('tax',\n",
572
+ " array([[ 139.60547, 1599.1172 ],\n",
573
+ " [ 209.4082 , 1599.1172 ],\n",
574
+ " [ 209.4082 , 1640.3643 ],\n",
575
+ " [ 139.60547, 1640.3643 ]], dtype=float32)),\n",
576
+ " ('4g',\n",
577
+ " array([[ 644.08887, 1599.1172 ],\n",
578
+ " [ 691.68164, 1599.1172 ],\n",
579
+ " [ 691.68164, 1640.3643 ],\n",
580
+ " [ 644.08887, 1640.3643 ]], dtype=float32)),\n",
581
+ " ('zerd',\n",
582
+ " array([[ 53.938477, 1646.71 ],\n",
583
+ " [ 149.12402 , 1646.71 ],\n",
584
+ " [ 149.12402 , 1694.3027 ],\n",
585
+ " [ 53.938477, 1694.3027 ]], dtype=float32)),\n",
586
+ " ('ra',\n",
587
+ " array([[ 158.64258, 1649.8828 ],\n",
588
+ " [ 209.4082 , 1649.8828 ],\n",
589
+ " [ 209.4082 , 1694.3027 ],\n",
590
+ " [ 158.64258, 1694.3027 ]], dtype=float32)),\n",
591
+ " ('ted',\n",
592
+ " array([[ 203.0625 , 1649.8828 ],\n",
593
+ " [ 272.86523, 1649.8828 ],\n",
594
+ " [ 272.86523, 1691.1299 ],\n",
595
+ " [ 203.0625 , 1691.1299 ]], dtype=float32)),\n",
596
+ " ('0',\n",
597
+ " array([[ 599.66895, 1649.8828 ],\n",
598
+ " [ 628.2246 , 1649.8828 ],\n",
599
+ " [ 628.2246 , 1687.957 ],\n",
600
+ " [ 599.66895, 1687.957 ]], dtype=float32)),\n",
601
+ " ('00',\n",
602
+ " array([[ 640.916 , 1649.8828],\n",
603
+ " [ 694.8545, 1649.8828],\n",
604
+ " [ 694.8545, 1691.1299],\n",
605
+ " [ 640.916 , 1691.1299]], dtype=float32)),\n",
606
+ " ('vat',\n",
607
+ " array([[ 53.938477, 1700.6484 ],\n",
608
+ " [ 123.74121 , 1700.6484 ],\n",
609
+ " [ 123.74121 , 1745.0684 ],\n",
610
+ " [ 53.938477, 1745.0684 ]], dtype=float32)),\n",
611
+ " ('mexept',\n",
612
+ " array([[ 117.39551, 1700.6484 ],\n",
613
+ " [ 257.00098, 1700.6484 ],\n",
614
+ " [ 257.00098, 1748.2412 ],\n",
615
+ " [ 117.39551, 1748.2412 ]], dtype=float32)),\n",
616
+ " ('ted',\n",
617
+ " array([[ 247.48242, 1700.6484 ],\n",
618
+ " [ 314.1123 , 1700.6484 ],\n",
619
+ " [ 314.1123 , 1745.0684 ],\n",
620
+ " [ 247.48242, 1745.0684 ]], dtype=float32)),\n",
621
+ " ('0',\n",
622
+ " array([[ 602.8418, 1703.8213],\n",
623
+ " [ 628.2246, 1703.8213],\n",
624
+ " [ 628.2246, 1738.7227],\n",
625
+ " [ 602.8418, 1738.7227]], dtype=float32)),\n",
626
+ " ('od',\n",
627
+ " array([[ 640.916 , 1703.8213 ],\n",
628
+ " [ 691.68164, 1703.8213 ],\n",
629
+ " [ 691.68164, 1741.8955 ],\n",
630
+ " [ 640.916 , 1741.8955 ]], dtype=float32)),\n",
631
+ " ('7616664',\n",
632
+ " array([[ 329.97656, 1799.0068 ],\n",
633
+ " [ 482.27344, 1799.0068 ],\n",
634
+ " [ 482.27344, 1846.5996 ],\n",
635
+ " [ 329.97656, 1846.5996 ]], dtype=float32)),\n",
636
+ " ('sol',\n",
637
+ " array([[ 12.691406, 1802.1797 ],\n",
638
+ " [ 79.32129 , 1802.1797 ],\n",
639
+ " [ 79.32129 , 1846.5996 ],\n",
640
+ " [ 12.691406, 1846.5996 ]], dtype=float32)),\n",
641
+ " ('d',\n",
642
+ " array([[ 79.32129, 1805.3525 ],\n",
643
+ " [ 101.53125, 1805.3525 ],\n",
644
+ " [ 101.53125, 1843.4268 ],\n",
645
+ " [ 79.32129, 1843.4268 ]], dtype=float32)),\n",
646
+ " ('tos',\n",
647
+ " array([[ 120.56836, 1802.1797 ],\n",
648
+ " [ 184.02539, 1802.1797 ],\n",
649
+ " [ 184.02539, 1846.5996 ],\n",
650
+ " [ 120.56836, 1846.5996 ]], dtype=float32)),\n",
651
+ " ('hobos',\n",
652
+ " array([[ 203.0625, 1802.1797],\n",
653
+ " [ 333.1494, 1802.1797],\n",
654
+ " [ 333.1494, 1846.5996],\n",
655
+ " [ 203.0625, 1846.5996]], dtype=float32)),\n",
656
+ " ('name',\n",
657
+ " array([[ 12.691406, 1852.9453 ],\n",
658
+ " [ 104.7041 , 1852.9453 ],\n",
659
+ " [ 104.7041 , 1897.3652 ],\n",
660
+ " [ 12.691406, 1897.3652 ]], dtype=float32)),\n",
661
+ " ('eeten',\n",
662
+ " array([[ 126.91406, 1887.8467 ],\n",
663
+ " [ 199.88965, 1887.8467 ],\n",
664
+ " [ 199.88965, 1897.3652 ],\n",
665
+ " [ 126.91406, 1897.3652 ]], dtype=float32)),\n",
666
+ " ('addr',\n",
667
+ " array([[ 12.691406, 1906.8838 ],\n",
668
+ " [ 104.7041 , 1906.8838 ],\n",
669
+ " [ 104.7041 , 1948.1309 ],\n",
670
+ " [ 12.691406, 1948.1309 ]], dtype=float32)),\n",
671
+ " ('ess',\n",
672
+ " array([[ 98.3584 , 1910.0566 ],\n",
673
+ " [ 168.16113, 1910.0566 ],\n",
674
+ " [ 168.16113, 1951.3037 ],\n",
675
+ " [ 98.3584 , 1951.3037 ]], dtype=float32)),\n",
676
+ " ('tins',\n",
677
+ " array([[ 12.691406, 1954.4766 ],\n",
678
+ " [ 98.3584 , 1954.4766 ],\n",
679
+ " [ 98.3584 , 1998.8965 ],\n",
680
+ " [ 12.691406, 1998.8965 ]], dtype=float32)),\n",
681
+ " ('fpti',\n",
682
+ " array([[ 13.045723, 2057.3926 ],\n",
683
+ " [ 81.36672 , 2062.2727 ],\n",
684
+ " [ 78.322716, 2104.889 ],\n",
685
+ " [ 10.001719, 2100.0088 ]], dtype=float32)),\n",
686
+ " ('ippl',\n",
687
+ " array([[ 101.53125, 2059.1807 ],\n",
688
+ " [ 171.33398, 2059.1807 ],\n",
689
+ " [ 171.33398, 2106.7734 ],\n",
690
+ " [ 101.53125, 2106.7734 ]], dtype=float32)),\n",
691
+ " ('seven',\n",
692
+ " array([[ 241.13672, 2059.1807 ],\n",
693
+ " [ 355.35938, 2059.1807 ],\n",
694
+ " [ 355.35938, 2103.6006 ],\n",
695
+ " [ 241.13672, 2103.6006 ]], dtype=float32)),\n",
696
+ " ('corpor',\n",
697
+ " array([[ 371.50757, 2057.8103 ],\n",
698
+ " [ 499.50806, 2065.8103 ],\n",
699
+ " [ 496.71796, 2110.4524 ],\n",
700
+ " [ 368.7175 , 2102.4526 ]], dtype=float32)),\n",
701
+ " ('s',\n",
702
+ " array([[ 164.98828, 2065.5264 ],\n",
703
+ " [ 180.85254, 2065.5264 ],\n",
704
+ " [ 180.85254, 2100.4277 ],\n",
705
+ " [ 164.98828, 2100.4277 ]], dtype=float32)),\n",
706
+ " ('ne',\n",
707
+ " array([[ 177.67969, 2062.3535 ],\n",
708
+ " [ 228.44531, 2062.3535 ],\n",
709
+ " [ 228.44531, 2103.6006 ],\n",
710
+ " [ 177.67969, 2103.6006 ]], dtype=float32)),\n",
711
+ " ('at',\n",
712
+ " array([[ 494.96484, 2062.3535 ],\n",
713
+ " [ 542.5576 , 2062.3535 ],\n",
714
+ " [ 542.5576 , 2103.6006 ],\n",
715
+ " [ 494.96484, 2103.6006 ]], dtype=float32)),\n",
716
+ " ('on',\n",
717
+ " array([[ 558.4219, 2065.5264],\n",
718
+ " [ 609.1875, 2065.5264],\n",
719
+ " [ 609.1875, 2103.6006],\n",
720
+ " [ 558.4219, 2103.6006]], dtype=float32)),\n",
721
+ " ('jth',\n",
722
+ " array([[ 12.691406, 2109.9463 ],\n",
723
+ " [ 82.49414 , 2109.9463 ],\n",
724
+ " [ 82.49414 , 2154.3662 ],\n",
725
+ " [ 12.691406, 2154.3662 ]], dtype=float32)),\n",
726
+ " ('the',\n",
727
+ " array([[ 225.27246, 2109.9463 ],\n",
728
+ " [ 291.90234, 2109.9463 ],\n",
729
+ " [ 291.90234, 2154.3662 ],\n",
730
+ " [ 225.27246, 2154.3662 ]], dtype=float32)),\n",
731
+ " ('co',\n",
732
+ " array([[ 304.59375, 2109.9463 ],\n",
733
+ " [ 355.35938, 2109.9463 ],\n",
734
+ " [ 355.35938, 2154.3662 ],\n",
735
+ " [ 304.59375, 2154.3662 ]], dtype=float32)),\n",
736
+ " ('tower',\n",
737
+ " array([[ 498.1377 , 2109.9463 ],\n",
738
+ " [ 606.01465, 2109.9463 ],\n",
739
+ " [ 606.01465, 2154.3662 ],\n",
740
+ " [ 498.1377 , 2154.3662 ]], dtype=float32)),\n",
741
+ " ('f',\n",
742
+ " array([[ 95.18555, 2113.1191 ],\n",
743
+ " [ 120.56836, 2113.1191 ],\n",
744
+ " [ 120.56836, 2151.1934 ],\n",
745
+ " [ 95.18555, 2151.1934 ]], dtype=float32)),\n",
746
+ " ('t',\n",
747
+ " array([[ 352.18652, 2116.292 ],\n",
748
+ " [ 368.05078, 2116.292 ],\n",
749
+ " [ 368.05078, 2151.1934 ],\n",
750
+ " [ 352.18652, 2151.1934 ]], dtype=float32)),\n",
751
+ " ('iqor',\n",
752
+ " array([[ 120.56836, 2116.292 ],\n",
753
+ " [ 206.23535, 2116.292 ],\n",
754
+ " [ 206.23535, 2154.3662 ],\n",
755
+ " [ 120.56836, 2154.3662 ]], dtype=float32)),\n",
756
+ " ('umb',\n",
757
+ " array([[ 368.05078, 2116.292 ],\n",
758
+ " [ 441.02637, 2116.292 ],\n",
759
+ " [ 441.02637, 2154.3662 ],\n",
760
+ " [ 368.05078, 2154.3662 ]], dtype=float32)),\n",
761
+ " ('id',\n",
762
+ " array([[ 434.68066, 2116.292 ],\n",
763
+ " [ 479.1006 , 2116.292 ],\n",
764
+ " [ 479.1006 , 2154.3662 ],\n",
765
+ " [ 434.68066, 2154.3662 ]], dtype=float32)),\n",
766
+ " ('avenues',\n",
767
+ " array([[ 203.0625 , 2160.712 ],\n",
768
+ " [ 349.01367, 2160.712 ],\n",
769
+ " [ 349.01367, 2208.3047 ],\n",
770
+ " [ 203.0625 , 2208.3047 ]], dtype=float32)),\n",
771
+ " ('ort',\n",
772
+ " array([[ 31.728516, 2163.8848 ],\n",
773
+ " [ 101.53125 , 2163.8848 ],\n",
774
+ " [ 101.53125 , 2205.1318 ],\n",
775
+ " [ 31.728516, 2205.1318 ]], dtype=float32)),\n",
776
+ " ('i',\n",
777
+ " array([[ 101.53125, 2167.0576 ],\n",
778
+ " [ 114.22266, 2167.0576 ],\n",
779
+ " [ 114.22266, 2198.7861 ],\n",
780
+ " [ 101.53125, 2198.7861 ]], dtype=float32)),\n",
781
+ " ('manda',\n",
782
+ " array([[ 368.05078, 2163.8848 ],\n",
783
+ " [ 479.1006 , 2163.8848 ],\n",
784
+ " [ 479.1006 , 2205.1318 ],\n",
785
+ " [ 368.05078, 2205.1318 ]], dtype=float32)),\n",
786
+ " ('gas',\n",
787
+ " array([[ 117.39551, 2167.0576 ],\n",
788
+ " [ 187.19824, 2167.0576 ],\n",
789
+ " [ 187.19824, 2211.4775 ],\n",
790
+ " [ 117.39551, 2211.4775 ]], dtype=float32)),\n",
791
+ " ('l',\n",
792
+ " array([[ 479.1006 , 2170.2305 ],\n",
793
+ " [ 488.61914, 2170.2305 ],\n",
794
+ " [ 488.61914, 2195.6133 ],\n",
795
+ " [ 479.1006 , 2195.6133 ]], dtype=float32)),\n",
796
+ " ('lyonig',\n",
797
+ " array([[ 494.96484, 2170.2305 ],\n",
798
+ " [ 606.01465, 2170.2305 ],\n",
799
+ " [ 606.01465, 2211.4775 ],\n",
800
+ " [ 494.96484, 2211.4775 ]], dtype=float32)),\n",
801
+ " ('ci',\n",
802
+ " array([[ 31.728516, 2214.6504 ],\n",
803
+ " [ 79.32129 , 2214.6504 ],\n",
804
+ " [ 79.32129 , 2259.0703 ],\n",
805
+ " [ 31.728516, 2259.0703 ]], dtype=float32)),\n",
806
+ " ('ty',\n",
807
+ " array([[ 76.14844, 2217.8232 ],\n",
808
+ " [ 123.74121, 2217.8232 ],\n",
809
+ " [ 123.74121, 2259.0703 ],\n",
810
+ " [ 76.14844, 2259.0703 ]], dtype=float32)),\n",
811
+ " ('sgrooo',\n",
812
+ " array([[ 304.59375, 2262.2432 ],\n",
813
+ " [ 441.02637, 2262.2432 ],\n",
814
+ " [ 441.02637, 2309.836 ],\n",
815
+ " [ 304.59375, 2309.836 ]], dtype=float32)),\n",
816
+ " ('tins',\n",
817
+ " array([[ 15.864258, 2265.416 ],\n",
818
+ " [ 98.3584 , 2265.416 ],\n",
819
+ " [ 98.3584 , 2309.836 ],\n",
820
+ " [ 15.864258, 2309.836 ]], dtype=float32)),\n",
821
+ " ('doo',\n",
822
+ " array([[ 117.39551, 2265.416 ],\n",
823
+ " [ 203.0625 , 2265.416 ],\n",
824
+ " [ 203.0625 , 2309.836 ],\n",
825
+ " [ 117.39551, 2309.836 ]], dtype=float32)),\n",
826
+ " ('sioul',\n",
827
+ " array([[ 199.88965, 2265.416 ],\n",
828
+ " [ 310.93945, 2265.416 ],\n",
829
+ " [ 310.93945, 2309.836 ],\n",
830
+ " [ 199.88965, 2309.836 ]], dtype=float32)),\n",
831
+ " ('bir',\n",
832
+ " array([[ 12.691406, 2316.1816 ],\n",
833
+ " [ 82.49414 , 2316.1816 ],\n",
834
+ " [ 82.49414 , 2360.6016 ],\n",
835
+ " [ 12.691406, 2360.6016 ]], dtype=float32)),\n",
836
+ " ('accr',\n",
837
+ " array([[ 95.18555, 2319.3545 ],\n",
838
+ " [ 187.19824, 2319.3545 ],\n",
839
+ " [ 187.19824, 2363.7744 ],\n",
840
+ " [ 95.18555, 2363.7744 ]], dtype=float32)),\n",
841
+ " ('h',\n",
842
+ " array([[ 203.0625 , 2322.5273 ],\n",
843
+ " [ 225.27246, 2322.5273 ],\n",
844
+ " [ 225.27246, 2357.4287 ],\n",
845
+ " [ 203.0625 , 2357.4287 ]], dtype=float32)),\n",
846
+ " ('smooojso1',\n",
847
+ " array([[ 72.975586, 2366.9473 ],\n",
848
+ " [ 263.34668 , 2366.9473 ],\n",
849
+ " [ 263.34668 , 2411.3672 ],\n",
850
+ " [ 72.975586, 2411.3672 ]], dtype=float32)),\n",
851
+ " ('sjuousa',\n",
852
+ " array([[ 263.34668, 2366.9473 ],\n",
853
+ " [ 479.1006 , 2366.9473 ],\n",
854
+ " [ 479.1006 , 2411.3672 ],\n",
855
+ " [ 263.34668, 2411.3672 ]], dtype=float32)),\n",
856
+ " ('96oz',\n",
857
+ " array([[ 494.96484, 2366.9473 ],\n",
858
+ " [ 586.97754, 2366.9473 ],\n",
859
+ " [ 586.97754, 2411.3672 ],\n",
860
+ " [ 494.96484, 2411.3672 ]], dtype=float32)),\n",
861
+ " ('11',\n",
862
+ " array([[ 34.901367, 2370.12 ],\n",
863
+ " [ 79.32129 , 2370.12 ],\n",
864
+ " [ 79.32129 , 2411.3672 ],\n",
865
+ " [ 34.901367, 2411.3672 ]], dtype=float32)),\n",
866
+ " ('accrdater',\n",
867
+ " array([[ 12.691406, 2417.713 ],\n",
868
+ " [ 203.0625 , 2417.713 ],\n",
869
+ " [ 203.0625 , 2465.3057 ],\n",
870
+ " [ 12.691406, 2465.3057 ]], dtype=float32)),\n",
871
+ " ('d8i01',\n",
872
+ " array([[ 222.09961, 2417.713 ],\n",
873
+ " [ 329.97656, 2417.713 ],\n",
874
+ " [ 329.97656, 2462.1328 ],\n",
875
+ " [ 222.09961, 2462.1328 ]], dtype=float32)),\n",
876
+ " ('220',\n",
877
+ " array([[ 329.97656, 2417.713 ],\n",
878
+ " [ 441.02637, 2417.713 ],\n",
879
+ " [ 441.02637, 2462.1328 ],\n",
880
+ " [ 329.97656, 2462.1328 ]], dtype=float32)),\n",
881
+ " ('17',\n",
882
+ " array([[ 31.728516, 2471.6514 ],\n",
883
+ " [ 85.66699 , 2471.6514 ],\n",
884
+ " [ 85.66699 , 2512.8984 ],\n",
885
+ " [ 31.728516, 2512.8984 ]], dtype=float32)),\n",
886
+ " ('151',\n",
887
+ " array([[ 76.14844, 2471.6514 ],\n",
888
+ " [ 139.60547, 2471.6514 ],\n",
889
+ " [ 139.60547, 2516.0713 ],\n",
890
+ " [ 76.14844, 2516.0713 ]], dtype=float32)),\n",
891
+ " ('izoz5',\n",
892
+ " array([[ 139.60547, 2471.6514 ],\n",
893
+ " [ 250.65527, 2471.6514 ],\n",
894
+ " [ 250.65527, 2516.0713 ],\n",
895
+ " [ 139.60547, 2516.0713 ]], dtype=float32)),\n",
896
+ " ('fermi',\n",
897
+ " array([[ 12.691406, 2519.2441 ],\n",
898
+ " [ 120.56836 , 2519.2441 ],\n",
899
+ " [ 120.56836 , 2566.837 ],\n",
900
+ " [ 12.691406, 2566.837 ]], dtype=float32)),\n",
901
+ " ('t',\n",
902
+ " array([[ 117.39551, 2525.5898 ],\n",
903
+ " [ 142.77832, 2525.5898 ],\n",
904
+ " [ 142.77832, 2563.664 ],\n",
905
+ " [ 117.39551, 2563.664 ]], dtype=float32)),\n",
906
+ " ('hs',\n",
907
+ " array([[ 158.64258, 2525.5898 ],\n",
908
+ " [ 199.88965, 2525.5898 ],\n",
909
+ " [ 199.88965, 2563.664 ],\n",
910
+ " [ 158.64258, 2563.664 ]], dtype=float32)),\n",
911
+ " ('fpzoirtias',\n",
912
+ " array([[ 31.728516, 2570.0098 ],\n",
913
+ " [ 479.1006 , 2570.0098 ],\n",
914
+ " [ 479.1006 , 2617.6025 ],\n",
915
+ " [ 31.728516, 2617.6025 ]], dtype=float32)),\n",
916
+ " ('dooniz',\n",
917
+ " array([[ 469.58203, 2573.1826 ],\n",
918
+ " [ 586.97754, 2573.1826 ],\n",
919
+ " [ 586.97754, 2617.6025 ],\n",
920
+ " [ 469.58203, 2617.6025 ]], dtype=float32)),\n",
921
+ " ('get',\n",
922
+ " array([[ 31.728516, 2674.7139 ],\n",
923
+ " [ 101.53125 , 2674.7139 ],\n",
924
+ " [ 101.53125 , 2719.1338 ],\n",
925
+ " [ 31.728516, 2719.1338 ]], dtype=float32)),\n",
926
+ " ('for',\n",
927
+ " array([[ 602.8418, 2674.7139],\n",
928
+ " [ 669.4717, 2674.7139],\n",
929
+ " [ 669.4717, 2719.1338],\n",
930
+ " [ 602.8418, 2719.1338]], dtype=float32)),\n",
931
+ " ('chance',\n",
932
+ " array([[ 158.87543, 2676.548 ],\n",
933
+ " [ 292.87747, 2680.6086 ],\n",
934
+ " [ 291.59088, 2723.0664 ],\n",
935
+ " [ 157.58882, 2719.0059 ]], dtype=float32)),\n",
936
+ " ('to',\n",
937
+ " array([[ 304.59375, 2677.8867 ],\n",
938
+ " [ 355.35938, 2677.8867 ],\n",
939
+ " [ 355.35938, 2719.1338 ],\n",
940
+ " [ 304.59375, 2719.1338 ]], dtype=float32)),\n",
941
+ " ('win',\n",
942
+ " array([[ 368.05078, 2677.8867 ],\n",
943
+ " [ 441.02637, 2677.8867 ],\n",
944
+ " [ 441.02637, 2722.3066 ],\n",
945
+ " [ 368.05078, 2722.3066 ]], dtype=float32)),\n",
946
+ " ('trip',\n",
947
+ " array([[ 494.96484, 2677.8867 ],\n",
948
+ " [ 586.97754, 2677.8867 ],\n",
949
+ " [ 586.97754, 2722.3066 ],\n",
950
+ " [ 494.96484, 2722.3066 ]], dtype=float32)),\n",
951
+ " ('t',\n",
952
+ " array([[ 114.22266, 2681.0596 ],\n",
953
+ " [ 139.60547, 2681.0596 ],\n",
954
+ " [ 139.60547, 2715.961 ],\n",
955
+ " [ 114.22266, 2715.961 ]], dtype=float32)),\n",
956
+ " ('a',\n",
957
+ " array([[ 453.71777, 2687.4053 ],\n",
958
+ " [ 475.92773, 2687.4053 ],\n",
959
+ " [ 475.92773, 2719.1338 ],\n",
960
+ " [ 453.71777, 2719.1338 ]], dtype=float32)),\n",
961
+ " ('f',\n",
962
+ " array([[ 57.11133, 2731.8252 ],\n",
963
+ " [ 79.32129, 2731.8252 ],\n",
964
+ " [ 79.32129, 2769.8994 ],\n",
965
+ " [ 57.11133, 2769.8994 ]], dtype=float32)),\n",
966
+ " ('to',\n",
967
+ " array([[ 95.18555, 2728.6523 ],\n",
968
+ " [ 142.77832, 2728.6523 ],\n",
969
+ " [ 142.77832, 2773.0723 ],\n",
970
+ " [ 95.18555, 2773.0723 ]], dtype=float32)),\n",
971
+ " ('kored',\n",
972
+ " array([[ 158.64258, 2728.6523 ],\n",
973
+ " [ 269.69238, 2728.6523 ],\n",
974
+ " [ 269.69238, 2773.0723 ],\n",
975
+ " [ 158.64258, 2773.0723 ]], dtype=float32)),\n",
976
+ " ('pis0',\n",
977
+ " array([[ 558.4219, 2728.6523],\n",
978
+ " [ 650.4346, 2728.6523],\n",
979
+ " [ 650.4346, 2773.0723],\n",
980
+ " [ 558.4219, 2773.0723]], dtype=float32)),\n",
981
+ " ('when',\n",
982
+ " array([[ 285.55664, 2731.8252 ],\n",
983
+ " [ 377.56934, 2731.8252 ],\n",
984
+ " [ 377.56934, 2773.0723 ],\n",
985
+ " [ 285.55664, 2773.0723 ]], dtype=float32)),\n",
986
+ " ('buy',\n",
987
+ " array([[ 472.75488, 2731.8252 ],\n",
988
+ " [ 542.5576 , 2731.8252 ],\n",
989
+ " [ 542.5576 , 2773.0723 ],\n",
990
+ " [ 472.75488, 2773.0723 ]], dtype=float32)),\n",
991
+ " ('you',\n",
992
+ " array([[ 390.26074, 2734.998 ],\n",
993
+ " [ 460.06348, 2734.998 ],\n",
994
+ " [ 460.06348, 2776.245 ],\n",
995
+ " [ 390.26074, 2776.245 ]], dtype=float32)),\n",
996
+ " ('of',\n",
997
+ " array([[ 158.64258, 2779.418 ],\n",
998
+ " [ 206.23535, 2779.418 ],\n",
999
+ " [ 206.23535, 2823.838 ],\n",
1000
+ " [ 158.64258, 2823.838 ]], dtype=float32)),\n",
1001
+ " ('jel',\n",
1002
+ " array([[ 225.27246, 2779.418 ],\n",
1003
+ " [ 307.7666 , 2779.418 ],\n",
1004
+ " [ 307.7666 , 2823.838 ],\n",
1005
+ " [ 225.27246, 2823.838 ]], dtype=float32)),\n",
1006
+ " ('worth',\n",
1007
+ " array([[ 31.728516, 2782.5908 ],\n",
1008
+ " [ 145.95117 , 2782.5908 ],\n",
1009
+ " [ 145.95117 , 2830.1836 ],\n",
1010
+ " [ 31.728516, 2830.1836 ]], dtype=float32)),\n",
1011
+ " ('tens',\n",
1012
+ " array([[ 434.68066, 2782.5908 ],\n",
1013
+ " [ 533.03906, 2782.5908 ],\n",
1014
+ " [ 533.03906, 2820.665 ],\n",
1015
+ " [ 434.68066, 2820.665 ]], dtype=float32)),\n",
1016
+ " ('ean',\n",
1017
+ " array([[ 558.4219, 2782.5908],\n",
1018
+ " [ 650.4346, 2782.5908],\n",
1019
+ " [ 650.4346, 2823.838 ],\n",
1020
+ " [ 558.4219, 2823.838 ]], dtype=float32)),\n",
1021
+ " ('even',\n",
1022
+ " array([[ 304.59375, 2785.7637 ],\n",
1023
+ " [ 396.60645, 2785.7637 ],\n",
1024
+ " [ 396.60645, 2823.838 ],\n",
1025
+ " [ 304.59375, 2823.838 ]], dtype=float32)),\n",
1026
+ " ('s',\n",
1027
+ " array([[ 31.728516, 2830.1836 ],\n",
1028
+ " [ 57.11133 , 2830.1836 ],\n",
1029
+ " [ 57.11133 , 2871.4307 ],\n",
1030
+ " [ 31.728516, 2871.4307 ]], dtype=float32)),\n",
1031
+ " ('era',\n",
1032
+ " array([[ 72.975586, 2830.1836 ],\n",
1033
+ " [ 142.77832 , 2830.1836 ],\n",
1034
+ " [ 142.77832 , 2877.7764 ],\n",
1035
+ " [ 72.975586, 2877.7764 ]], dtype=float32)),\n",
1036
+ " ('ffle',\n",
1037
+ " array([[ 139.60547, 2830.1836 ],\n",
1038
+ " [ 228.44531, 2830.1836 ],\n",
1039
+ " [ 228.44531, 2877.7764 ],\n",
1040
+ " [ 139.60547, 2877.7764 ]], dtype=float32)),\n",
1041
+ " ('entr',\n",
1042
+ " array([[ 241.13672, 2833.3564 ],\n",
1043
+ " [ 336.32227, 2833.3564 ],\n",
1044
+ " [ 336.32227, 2874.6035 ],\n",
1045
+ " [ 241.13672, 2874.6035 ]], dtype=float32)),\n",
1046
+ " ('ies',\n",
1047
+ " array([[ 329.97656, 2836.5293 ],\n",
1048
+ " [ 393.4336 , 2836.5293 ],\n",
1049
+ " [ 393.4336 , 2871.4307 ],\n",
1050
+ " [ 329.97656, 2871.4307 ]], dtype=float32)),\n",
1051
+ " ('aphen',\n",
1052
+ " array([[ 412.4707 , 2836.5293 ],\n",
1053
+ " [ 501.31055, 2836.5293 ],\n",
1054
+ " [ 501.31055, 2877.7764 ],\n",
1055
+ " [ 412.4707 , 2877.7764 ]], dtype=float32)),\n",
1056
+ " ('duy',\n",
1057
+ " array([[ 596.4961, 2836.5293],\n",
1058
+ " [ 669.4717, 2836.5293],\n",
1059
+ " [ 669.4717, 2877.7764],\n",
1060
+ " [ 596.4961, 2877.7764]], dtype=float32)),\n",
1061
+ " ('you',\n",
1062
+ " array([[ 517.1748 , 2839.7021 ],\n",
1063
+ " [ 586.97754, 2839.7021 ],\n",
1064
+ " [ 586.97754, 2877.7764 ],\n",
1065
+ " [ 517.1748 , 2877.7764 ]], dtype=float32)),\n",
1066
+ " ('dis',\n",
1067
+ " array([[ 31.728516, 2884.122 ],\n",
1068
+ " [ 79.32129 , 2884.122 ],\n",
1069
+ " [ 79.32129 , 2925.3691 ],\n",
1070
+ " [ 31.728516, 2925.3691 ]], dtype=float32)),\n",
1071
+ " ('scdunted',\n",
1072
+ " array([[ 76.14844, 2884.122 ],\n",
1073
+ " [ 250.65527, 2884.122 ],\n",
1074
+ " [ 250.65527, 2928.542 ],\n",
1075
+ " [ 76.14844, 2928.542 ]], dtype=float32)),\n",
1076
+ " ('booster',\n",
1077
+ " array([[ 263.34668, 2884.122 ],\n",
1078
+ " [ 415.64355, 2884.122 ],\n",
1079
+ " [ 415.64355, 2928.542 ],\n",
1080
+ " [ 263.34668, 2928.542 ]], dtype=float32)),\n",
1081
+ " ('tenss',\n",
1082
+ " array([[ 453.71777, 2884.122 ],\n",
1083
+ " [ 548.9033 , 2884.122 ],\n",
1084
+ " [ 548.9033 , 2928.542 ],\n",
1085
+ " [ 453.71777, 2928.542 ]], dtype=float32)),\n",
1086
+ " ('fper',\n",
1087
+ " array([[ 577.459 , 2884.122 ],\n",
1088
+ " [ 647.2617, 2884.122 ],\n",
1089
+ " [ 647.2617, 2928.542 ],\n",
1090
+ " [ 577.459 , 2928.542 ]], dtype=float32)),\n",
1091
+ " ('dii',\n",
1092
+ " array([[ 31.728516, 2934.8877 ],\n",
1093
+ " [ 101.53125 , 2934.8877 ],\n",
1094
+ " [ 101.53125 , 2979.3076 ],\n",
1095
+ " [ 31.728516, 2979.3076 ]], dtype=float32)),\n",
1096
+ " ('fair',\n",
1097
+ " array([[ 117.39551, 2934.8877 ],\n",
1098
+ " [ 209.4082 , 2934.8877 ],\n",
1099
+ " [ 209.4082 , 2979.3076 ],\n",
1100
+ " [ 117.39551, 2979.3076 ]], dtype=float32)),\n",
1101
+ " ('trade',\n",
1102
+ " array([[ 222.09961, 2934.8877 ],\n",
1103
+ " [ 333.1494 , 2934.8877 ],\n",
1104
+ " [ 333.1494 , 2979.3076 ],\n",
1105
+ " [ 222.09961, 2979.3076 ]], dtype=float32)),\n",
1106
+ " ('permt',\n",
1107
+ " array([[ 346.57706, 2933.5906 ],\n",
1108
+ " [ 458.4858 , 2939.4805 ],\n",
1109
+ " [ 456.2683 , 2981.6128 ],\n",
1110
+ " [ 344.35956, 2975.7231 ]], dtype=float32)),\n",
1111
+ " ('nunbers',\n",
1112
+ " array([[ 494.96484, 2934.8877 ],\n",
1113
+ " [ 644.08887, 2934.8877 ],\n",
1114
+ " [ 644.08887, 2979.3076 ],\n",
1115
+ " [ 494.96484, 2979.3076 ]], dtype=float32)),\n",
1116
+ " ('t',\n",
1117
+ " array([[ 453.71777, 2941.2334 ],\n",
1118
+ " [ 475.92773, 2941.2334 ],\n",
1119
+ " [ 475.92773, 2976.1348 ],\n",
1120
+ " [ 453.71777, 2976.1348 ]], dtype=float32)),\n",
1121
+ " ('18015',\n",
1122
+ " array([[ 117.39551, 2985.6533 ],\n",
1123
+ " [ 247.48242, 2985.6533 ],\n",
1124
+ " [ 247.48242, 3030.0732 ],\n",
1125
+ " [ 117.39551, 3030.0732 ]], dtype=float32)),\n",
1126
+ " ('series',\n",
1127
+ " array([[ 263.34668, 2985.6533 ],\n",
1128
+ " [ 396.60645, 2985.6533 ],\n",
1129
+ " [ 396.60645, 3030.0732 ],\n",
1130
+ " [ 263.34668, 3030.0732 ]], dtype=float32)),\n",
1131
+ " ('of',\n",
1132
+ " array([[ 409.29785, 2985.6533 ],\n",
1133
+ " [ 456.89062, 2985.6533 ],\n",
1134
+ " [ 456.89062, 3030.0732 ],\n",
1135
+ " [ 409.29785, 3030.0732 ]], dtype=float32)),\n",
1136
+ " ('edz5',\n",
1137
+ " array([[ 472.75488, 2985.6533 ],\n",
1138
+ " [ 571.1133 , 2985.6533 ],\n",
1139
+ " [ 571.1133 , 3026.9004 ],\n",
1140
+ " [ 472.75488, 3026.9004 ]], dtype=float32)),\n",
1141
+ " ('facebooks',\n",
1142
+ " array([[ 53.938477, 3036.419 ],\n",
1143
+ " [ 234.79102 , 3036.419 ],\n",
1144
+ " [ 234.79102 , 3080.8389 ],\n",
1145
+ " [ 53.938477, 3080.8389 ]], dtype=float32)),\n",
1146
+ " ('71',\n",
1147
+ " array([[ 329.97656, 3036.419 ],\n",
1148
+ " [ 371.22363, 3036.419 ],\n",
1149
+ " [ 371.22363, 3077.666 ],\n",
1150
+ " [ 329.97656, 3077.666 ]], dtype=float32)),\n",
1151
+ " ('iphi',\n",
1152
+ " array([[ 371.22363, 3036.419 ],\n",
1153
+ " [ 456.89062, 3036.419 ],\n",
1154
+ " [ 456.89062, 3080.8389 ],\n",
1155
+ " [ 371.22363, 3080.8389 ]], dtype=float32)),\n",
1156
+ " ('comf',\n",
1157
+ " array([[ 241.13672, 3039.5918 ],\n",
1158
+ " [ 333.1494 , 3039.5918 ],\n",
1159
+ " [ 333.1494 , 3080.8389 ],\n",
1160
+ " [ 241.13672, 3080.8389 ]], dtype=float32)),\n",
1161
+ " ('l',\n",
1162
+ " array([[ 456.89062, 3042.7646 ],\n",
1163
+ " [ 469.58203, 3042.7646 ],\n",
1164
+ " [ 469.58203, 3071.3203 ],\n",
1165
+ " [ 456.89062, 3071.3203 ]], dtype=float32)),\n",
1166
+ " ('pp',\n",
1167
+ " array([[ 491.792 , 3039.5918],\n",
1168
+ " [ 542.5576, 3039.5918],\n",
1169
+ " [ 542.5576, 3080.8389],\n",
1170
+ " [ 491.792 , 3080.8389]], dtype=float32)),\n",
1171
+ " ('fes',\n",
1172
+ " array([[ 552.0762 , 3039.5918 ],\n",
1173
+ " [ 631.39746, 3039.5918 ],\n",
1174
+ " [ 631.39746, 3077.666 ],\n",
1175
+ " [ 552.0762 , 3077.666 ]], dtype=float32)),\n",
1176
+ " ('this',\n",
1177
+ " array([[ 53.938477, 3137.9502 ],\n",
1178
+ " [ 142.77832 , 3137.9502 ],\n",
1179
+ " [ 142.77832 , 3185.543 ],\n",
1180
+ " [ 53.938477, 3185.543 ]], dtype=float32)),\n",
1181
+ " ('is',\n",
1182
+ " array([[ 158.64258, 3137.9502 ],\n",
1183
+ " [ 206.23535, 3137.9502 ],\n",
1184
+ " [ 206.23535, 3185.543 ],\n",
1185
+ " [ 158.64258, 3185.543 ]], dtype=float32)),\n",
1186
+ " ('official',\n",
1187
+ " array([[ 282.3838 , 3137.9502 ],\n",
1188
+ " [ 456.89062, 3137.9502 ],\n",
1189
+ " [ 456.89062, 3185.543 ],\n",
1190
+ " [ 282.3838 , 3185.543 ]], dtype=float32)),\n",
1191
+ " ('receift',\n",
1192
+ " array([[ 472.75488, 3137.9502 ],\n",
1193
+ " [ 628.2246 , 3137.9502 ],\n",
1194
+ " [ 628.2246 , 3185.543 ],\n",
1195
+ " [ 472.75488, 3185.543 ]], dtype=float32)),\n",
1196
+ " ('in',\n",
1197
+ " array([[ 222.09961, 3141.123 ],\n",
1198
+ " [ 269.69238, 3141.123 ],\n",
1199
+ " [ 269.69238, 3182.37 ],\n",
1200
+ " [ 222.09961, 3182.37 ]], dtype=float32))]]"
1201
+ ]
1202
+ },
1203
+ "execution_count": 4,
1204
+ "metadata": {},
1205
+ "output_type": "execute_result"
1206
+ }
1207
+ ],
1208
+ "source": [
1209
+ "pipeline.recognize([r\"temp\\20230508_122035_preprocessed.png\"])"
1210
+ ]
1211
+ },
1212
+ {
1213
+ "cell_type": "code",
1214
+ "execution_count": 5,
1215
+ "metadata": {},
1216
+ "outputs": [
1217
+ {
1218
+ "name": "stdout",
1219
+ "output_type": "stream",
1220
+ "text": [
1221
+ "Requirement already satisfied: requests in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (2.31.0)\n",
1222
+ "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (3.2.0)\n",
1223
+ "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (3.4)\n",
1224
+ "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (1.26.16)\n",
1225
+ "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (2023.7.22)\n"
1226
+ ]
1227
+ }
1228
+ ],
1229
+ "source": [
1230
+ "!pip install requests"
1231
+ ]
1232
+ },
1233
+ {
1234
+ "cell_type": "code",
1235
+ "execution_count": 16,
1236
+ "metadata": {},
1237
+ "outputs": [
1238
+ {
1239
+ "name": "stdout",
1240
+ "output_type": "stream",
1241
+ "text": [
1242
+ "{'ParsedResults': [{'TextOverlay': {'Lines': [{'LineText': '7-ELEVEN.', 'Words': [{'WordText': '7', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}, {'WordText': '-', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}, {'WordText': 'ELEVEN', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}, {'WordText': '.', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}], 'MaxHeight': 84.0, 'MinTop': 38.0}, {'LineText': 'NHJ Convenience Store', 'Words': [{'WordText': 'NHJ', 'Left': 117.0, 'Top': 215.0, 'Height': 36.0, 'Width': 76.0}, {'WordText': 'Convenience', 'Left': 198.0, 'Top': 215.0, 'Height': 36.0, 'Width': 247.0}, {'WordText': 'Store', 'Left': 450.0, 'Top': 215.0, 'Height': 36.0, 'Width': 114.0}], 'MaxHeight': 36.0, 'MinTop': 215.0}, {'LineText': 'Owned & Operated by: Nancy A.', 'Words': [{'WordText': 'Owned', 'Left': 33.0, 'Top': 260.0, 'Height': 52.0, 'Width': 117.0}, {'WordText': '&', 'Left': 156.0, 'Top': 261.0, 'Height': 52.0, 'Width': 32.0}, {'WordText': 'Operated', 'Left': 195.0, 'Top': 261.0, 'Height': 52.0, 'Width': 182.0}, {'WordText': 'by', 'Left': 384.0, 'Top': 261.0, 'Height': 52.0, 'Width': 71.0}, {'WordText': ':', 'Left': 384.0, 'Top': 261.0, 'Height': 52.0, 'Width': 71.0}, {'WordText': 'Nancy', 'Left': 462.0, 'Top': 261.0, 'Height': 52.0, 'Width': 130.0}, {'WordText': 'A', 'Left': 598.0, 'Top': 260.0, 'Height': 52.0, 'Width': 47.0}, {'WordText': '.', 'Left': 598.0, 'Top': 260.0, 'Height': 52.0, 'Width': 47.0}], 'MaxHeight': 52.0, 'MinTop': 260.0}, {'LineText': 'Climacosa', 'Words': [{'WordText': 'Climacosa', 'Left': 244.0, 'Top': 315.0, 'Height': 38.0, 'Width': 193.0}], 'MaxHeight': 38.0, 'MinTop': 315.0}, {'LineText': 'VATREGTIN #933-598-685-002', 'Words': [{'WordText': 'VATREGTIN', 'Left': 75.0, 'Top': 361.0, 'Height': 43.0, 'Width': 204.0}, {'WordText': '#', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '933', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '-', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '598', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '-', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '685', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '-', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '002', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}], 'MaxHeight': 43.0, 'MinTop': 361.0}, {'LineText': 'Poblacion, Leon, Iloilo,', 'Words': [{'WordText': 'Poblacion', 'Left': 94.0, 'Top': 417.0, 'Height': 49.0, 'Width': 220.0}, {'WordText': ',', 'Left': 94.0, 'Top': 417.0, 'Height': 49.0, 'Width': 220.0}, {'WordText': 'Leon', 'Left': 321.0, 'Top': 417.0, 'Height': 49.0, 'Width': 122.0}, {'WordText': ',', 'Left': 321.0, 'Top': 417.0, 'Height': 49.0, 'Width': 122.0}, {'WordText': 'Iloilo', 'Left': 449.0, 'Top': 417.0, 'Height': 49.0, 'Width': 154.0}, {'WordText': ',', 'Left': 449.0, 'Top': 417.0, 'Height': 49.0, 'Width': 154.0}], 'MaxHeight': 49.0, 'MinTop': 417.0}, {'LineText': 'Philippines', 'Words': [{'WordText': 'Philippines', 'Left': 225.0, 'Top': 468.0, 'Height': 44.0, 'Width': 238.0}], 'MaxHeight': 44.0, 'MinTop': 468.0}, {'LineText': 'lel #: NULL', 'Words': [{'WordText': 'lel', 'Left': 221.0, 'Top': 524.0, 'Height': 40.0, 'Width': 78.0}, {'WordText': '#:', 'Left': 304.0, 'Top': 524.0, 'Height': 39.0, 'Width': 59.0}, {'WordText': 'NULL', 'Left': 368.0, 'Top': 523.0, 'Height': 40.0, 'Width': 89.0}], 'MaxHeight': 41.0, 'MinTop': 523.0}, {'LineText': '05/01/2023 (Mon) 23:00:57', 'Words': [{'WordText': '05', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 216.0}, {'WordText': '/', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 215.0}, {'WordText': '01', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 216.0}, {'WordText': '/', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 215.0}, {'WordText': '2023', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 216.0}, {'WordText': '(', 'Left': 319.0, 'Top': 622.0, 'Height': 42.0, 'Width': 105.0}, {'WordText': 'Mon', 'Left': 319.0, 'Top': 622.0, 'Height': 42.0, 'Width': 105.0}, {'WordText': ')', 'Left': 319.0, 'Top': 622.0, 'Height': 42.0, 'Width': 105.0}, {'WordText': '23', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': ':', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': '00', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': ':', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': '57', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}], 'MaxHeight': 42.0, 'MinTop': 622.0}, {'LineText': 'RCPT #2481347', 'Words': [{'WordText': 'RCPT', 'Left': 13.0, 'Top': 723.0, 'Height': 42.0, 'Width': 94.0}, {'WordText': '#', 'Left': 113.0, 'Top': 723.0, 'Height': 42.0, 'Width': 184.0}, {'WordText': '2481347', 'Left': 113.0, 'Top': 723.0, 'Height': 42.0, 'Width': 184.0}], 'MaxHeight': 42.0, 'MinTop': 723.0}, {'LineText': 'ROPT CNTHO', 'Words': [{'WordText': 'ROPT', 'Left': 472.0, 'Top': 723.0, 'Height': 49.0, 'Width': 96.0}, {'WordText': 'CNTHO', 'Left': 574.0, 'Top': 722.0, 'Height': 49.0, 'Width': 120.0}], 'MaxHeight': 50.0, 'MinTop': 722.0}, {'LineText': 'STORE#3058', 'Words': [{'WordText': 'STORE', 'Left': 13.0, 'Top': 771.0, 'Height': 47.0, 'Width': 219.0}, {'WordText': '#', 'Left': 13.0, 'Top': 771.0, 'Height': 47.0, 'Width': 219.0}, {'WordText': '3058', 'Left': 13.0, 'Top': 771.0, 'Height': 47.0, 'Width': 219.0}], 'MaxHeight': 47.0, 'MinTop': 771.0}, {'LineText': 'SN# :XTI43170', 'Words': [{'WordText': 'SN', 'Left': 433.0, 'Top': 771.0, 'Height': 49.0, 'Width': 66.0}, {'WordText': '#', 'Left': 433.0, 'Top': 771.0, 'Height': 49.0, 'Width': 66.0}, {'WordText': ':', 'Left': 505.0, 'Top': 771.0, 'Height': 50.0, 'Width': 189.0}, {'WordText': 'XTI43170', 'Left': 505.0, 'Top': 771.0, 'Height': 50.0, 'Width': 189.0}], 'MaxHeight': 50.0, 'MinTop': 771.0}, {'LineText': 'MIN #: 18112011091411051', 'Words': [{'WordText': 'MIN', 'Left': 13.0, 'Top': 830.0, 'Height': 39.0, 'Width': 73.0}, {'WordText': '#:', 'Left': 91.0, 'Top': 830.0, 'Height': 39.0, 'Width': 58.0}, {'WordText': '18112011091411051', 'Left': 154.0, 'Top': 830.0, 'Height': 39.0, 'Width': 360.0}], 'MaxHeight': 39.0, 'MinTop': 830.0}, {'LineText': 'STAFF: Angelica Duante', 'Words': [{'WordText': 'STAFF', 'Left': 13.0, 'Top': 879.0, 'Height': 43.0, 'Width': 124.0}, {'WordText': ':', 'Left': 13.0, 'Top': 879.0, 'Height': 43.0, 'Width': 124.0}, {'WordText': 'Angelica', 'Left': 142.0, 'Top': 879.0, 'Height': 43.0, 'Width': 177.0}, {'WordText': 'Duante', 'Left': 325.0, 'Top': 879.0, 'Height': 43.0, 'Width': 138.0}], 'MaxHeight': 43.0, 'MinTop': 879.0}, {'LineText': '7FKoreanßun', 'Words': [{'WordText': '7FKoreanßun', 'Left': 16.0, 'Top': 979.0, 'Height': 45.0, 'Width': 235.0}], 'MaxHeight': 45.0, 'MinTop': 979.0}, {'LineText': 'NissinYaSaBeet77g', 'Words': [{'WordText': 'NissinYaSaBeet77g', 'Left': 13.0, 'Top': 1032.0, 'Height': 42.0, 'Width': 365.0}], 'MaxHeight': 42.0, 'MinTop': 1032.0}, {'LineText': 'BBHOTDOGCREMYCHEES', 'Words': [{'WordText': 'BBHOTDOGCREMYCHEES', 'Left': 13.0, 'Top': 1084.0, 'Height': 39.0, 'Width': 384.0}], 'MaxHeight': 39.0, 'MinTop': 1084.0}, {'LineText': '39.00 Х 6', 'Words': [{'WordText': '39.00', 'Left': 140.0, 'Top': 1136.0, 'Height': 43.0, 'Width': 116.0}, {'WordText': 'Х', 'Left': 261.0, 'Top': 1136.0, 'Height': 43.0, 'Width': 100.0}, {'WordText': '6', 'Left': 366.0, 'Top': 1135.0, 'Height': 42.0, 'Width': 29.0}], 'MaxHeight': 44.0, 'MinTop': 1135.0}, {'LineText': 'chocvron? in1Ch020g', 'Words': [{'WordText': 'chocvron', 'Left': 13.0, 'Top': 1185.0, 'Height': 43.0, 'Width': 193.0}, {'WordText': '?', 'Left': 13.0, 'Top': 1185.0, 'Height': 43.0, 'Width': 193.0}, {'WordText': 'in1Ch020g', 'Left': 212.0, 'Top': 1185.0, 'Height': 43.0, 'Width': 186.0}], 'MaxHeight': 43.0, 'MinTop': 1185.0}, {'LineText': '15.00 X', 'Words': [{'WordText': '15.00', 'Left': 140.0, 'Top': 1240.0, 'Height': 43.0, 'Width': 116.0}, {'WordText': 'X', 'Left': 261.0, 'Top': 1240.0, 'Height': 42.0, 'Width': 42.0}], 'MaxHeight': 43.0, 'MinTop': 1240.0}, {'LineText': '2', 'Words': [{'WordText': '2', 'Left': 355.0, 'Top': 1240.0, 'Height': 39.0, 'Width': 39.0}], 'MaxHeight': 39.0, 'MinTop': 1240.0}, {'LineText': '55.004', 'Words': [{'WordText': '55.004', 'Left': 557.0, 'Top': 979.0, 'Height': 47.0, 'Width': 137.0}], 'MaxHeight': 47.0, 'MinTop': 979.0}, {'LineText': '40.000', 'Words': [{'WordText': '40.000', 'Left': 560.0, 'Top': 1031.0, 'Height': 48.0, 'Width': 134.0}], 'MaxHeight': 48.0, 'MinTop': 1031.0}, {'LineText': '234.000', 'Words': [{'WordText': '234.000', 'Left': 534.0, 'Top': 1135.0, 'Height': 47.0, 'Width': 160.0}], 'MaxHeight': 47.0, 'MinTop': 1135.0}, {'LineText': '30.000', 'Words': [{'WordText': '30.000', 'Left': 557.0, 'Top': 1237.0, 'Height': 46.0, 'Width': 137.0}], 'MaxHeight': 46.0, 'MinTop': 1237.0}, {'LineText': 'Total (10)', 'Words': [{'WordText': 'Total', 'Left': 13.0, 'Top': 1340.0, 'Height': 44.0, 'Width': 121.0}, {'WordText': '(', 'Left': 139.0, 'Top': 1342.0, 'Height': 44.0, 'Width': 86.0}, {'WordText': '10', 'Left': 139.0, 'Top': 1342.0, 'Height': 44.0, 'Width': 86.0}, {'WordText': ')', 'Left': 139.0, 'Top': 1342.0, 'Height': 44.0, 'Width': 86.0}], 'MaxHeight': 46.0, 'MinTop': 1340.0}, {'LineText': 'CASH', 'Words': [{'WordText': 'CASH', 'Left': 55.0, 'Top': 1390.0, 'Height': 43.0, 'Width': 91.0}], 'MaxHeight': 43.0, 'MinTop': 1390.0}, {'LineText': 'CHANGE', 'Words': [{'WordText': 'CHANGE', 'Left': 52.0, 'Top': 1442.0, 'Height': 43.0, 'Width': 137.0}], 'MaxHeight': 43.0, 'MinTop': 1442.0}, {'LineText': '359.00', 'Words': [{'WordText': '359.00', 'Left': 557.0, 'Top': 1341.0, 'Height': 47.0, 'Width': 137.0}], 'MaxHeight': 47.0, 'MinTop': 1341.0}, {'LineText': '1000.00', 'Words': [{'WordText': '1000.00', 'Left': 537.0, 'Top': 1389.0, 'Height': 48.0, 'Width': 154.0}], 'MaxHeight': 48.0, 'MinTop': 1389.0}, {'LineText': '641.00', 'Words': [{'WordText': '641.00', 'Left': 557.0, 'Top': 1442.0, 'Height': 46.0, 'Width': 134.0}], 'MaxHeight': 46.0, 'MinTop': 1442.0}, {'LineText': 'VATable', 'Words': [{'WordText': 'VATable', 'Left': 52.0, 'Top': 1546.0, 'Height': 40.0, 'Width': 157.0}], 'MaxHeight': 40.0, 'MinTop': 1546.0}, {'LineText': 'VAT_Tax', 'Words': [{'WordText': 'VAT_Tax', 'Left': 52.0, 'Top': 1598.0, 'Height': 50.0, 'Width': 157.0}], 'MaxHeight': 50.0, 'MinTop': 1598.0}, {'LineText': 'Zero_Rated', 'Words': [{'WordText': 'Zero_Rated', 'Left': 52.0, 'Top': 1649.0, 'Height': 48.0, 'Width': 219.0}], 'MaxHeight': 48.0, 'MinTop': 1649.0}, {'LineText': 'VAT_Exempted', 'Words': [{'WordText': 'VAT_Exempted', 'Left': 52.0, 'Top': 1699.0, 'Height': 50.0, 'Width': 264.0}], 'MaxHeight': 50.0, 'MinTop': 1699.0}, {'LineText': '320.54', 'Words': [{'WordText': '320.54', 'Left': 557.0, 'Top': 1546.0, 'Height': 46.0, 'Width': 134.0}], 'MaxHeight': 46.0, 'MinTop': 1546.0}, {'LineText': '38.46', 'Words': [{'WordText': '38.46', 'Left': 577.0, 'Top': 1598.0, 'Height': 43.0, 'Width': 114.0}], 'MaxHeight': 43.0, 'MinTop': 1598.0}, {'LineText': '0.00', 'Words': [{'WordText': '0.00', 'Left': 600.0, 'Top': 1651.0, 'Height': 42.0, 'Width': 91.0}], 'MaxHeight': 42.0, 'MinTop': 1651.0}, {'LineText': '0.00', 'Words': [{'WordText': '0.00', 'Left': 599.0, 'Top': 1702.0, 'Height': 43.0, 'Width': 95.0}], 'MaxHeight': 43.0, 'MinTop': 1702.0}, {'LineText': 'Sold To: 9906087698684', 'Words': [{'WordText': 'Sold', 'Left': 13.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 94.0}, {'WordText': 'To', 'Left': 113.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 79.0}, {'WordText': ':', 'Left': 113.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 79.0}, {'WordText': '9906087698684', 'Left': 197.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 285.0}], 'MaxHeight': 42.0, 'MinTop': 1803.0}, {'LineText': 'Name:', 'Words': [{'WordText': 'Name', 'Left': 10.0, 'Top': 1856.0, 'Height': 39.0, 'Width': 111.0}, {'WordText': ':', 'Left': 10.0, 'Top': 1856.0, 'Height': 39.0, 'Width': 111.0}], 'MaxHeight': 39.0, 'MinTop': 1856.0}, {'LineText': 'Address:', 'Words': [{'WordText': 'Address', 'Left': 13.0, 'Top': 1907.0, 'Height': 40.0, 'Width': 170.0}, {'WordText': ':', 'Left': 13.0, 'Top': 1907.0, 'Height': 40.0, 'Width': 170.0}], 'MaxHeight': 40.0, 'MinTop': 1907.0}, {'LineText': 'TIN:', 'Words': [{'WordText': 'TIN', 'Left': 13.0, 'Top': 1957.0, 'Height': 39.0, 'Width': 85.0}, {'WordText': ':', 'Left': 13.0, 'Top': 1957.0, 'Height': 39.0, 'Width': 85.0}], 'MaxHeight': 39.0, 'MinTop': 1957.0}, {'LineText': 'Philippine Seven Corporation', 'Words': [{'WordText': 'Philippine', 'Left': 10.0, 'Top': 2060.0, 'Height': 43.0, 'Width': 226.0}, {'WordText': 'Seven', 'Left': 241.0, 'Top': 2060.0, 'Height': 43.0, 'Width': 118.0}, {'WordText': 'Corporation', 'Left': 365.0, 'Top': 2060.0, 'Height': 43.0, 'Width': 241.0}], 'MaxHeight': 43.0, 'MinTop': 2060.0}, {'LineText': '7th Floor The Columbia Tower', 'Words': [{'WordText': '7th', 'Left': 13.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 72.0}, {'WordText': 'Floor', 'Left': 90.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 126.0}, {'WordText': 'The', 'Left': 220.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 76.0}, {'WordText': 'Columbia', 'Left': 301.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 189.0}, {'WordText': 'Tower', 'Left': 495.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 108.0}], 'MaxHeight': 36.0, 'MinTop': 2116.0}, {'LineText': 'Ortigas Avenue, Mandaluyong', 'Words': [{'WordText': 'Ortigas', 'Left': 33.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 154.0}, {'WordText': 'Avenue', 'Left': 192.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 159.0}, {'WordText': ',', 'Left': 192.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 159.0}, {'WordText': 'Mandaluyong', 'Left': 358.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 248.0}], 'MaxHeight': 49.0, 'MinTop': 2161.0}, {'LineText': 'City', 'Words': [{'WordText': 'City', 'Left': 29.0, 'Top': 2214.0, 'Height': 42.0, 'Width': 94.0}], 'MaxHeight': 42.0, 'MinTop': 2214.0}, {'LineText': 'TIN: 000-390-189-000', 'Words': [{'WordText': 'TIN', 'Left': 13.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 90.0}, {'WordText': ':', 'Left': 13.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 90.0}, {'WordText': '000', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '-', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '390', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '-', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '189', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '-', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '000', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}], 'MaxHeight': 46.0, 'MinTop': 2266.0}, {'LineText': 'BIR ACCI #', 'Words': [{'WordText': 'BIR', 'Left': 10.0, 'Top': 2318.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'ACCI', 'Left': 93.0, 'Top': 2318.0, 'Height': 39.0, 'Width': 98.0}, {'WordText': '#', 'Left': 195.0, 'Top': 2318.0, 'Height': 39.0, 'Width': 30.0}], 'MaxHeight': 40.0, 'MinTop': 2318.0}, {'LineText': '116-000390189-000346 19602', 'Words': [{'WordText': '116', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '000390189', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '000346', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '19602', 'Left': 468.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 118.0}], 'MaxHeight': 43.0, 'MinTop': 2366.0}, {'LineText': 'AcciDate: 08/01/2020', 'Words': [{'WordText': 'AcciDate', 'Left': 13.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 194.0}, {'WordText': ':', 'Left': 13.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 194.0}, {'WordText': '08', 'Left': 212.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '/', 'Left': 213.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '01', 'Left': 212.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '/', 'Left': 213.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '2020', 'Left': 212.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}], 'MaxHeight': 42.0, 'MinTop': 2419.0}, {'LineText': '07/31/2025', 'Words': [{'WordText': '07', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '/', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '31', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '/', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '2025', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}], 'MaxHeight': 44.0, 'MinTop': 2470.0}, {'LineText': 'Permit #:', 'Words': [{'WordText': 'Permit', 'Left': 10.0, 'Top': 2526.0, 'Height': 40.0, 'Width': 142.0}, {'WordText': '#:', 'Left': 156.0, 'Top': 2527.0, 'Height': 39.0, 'Width': 46.0}], 'MaxHeight': 40.0, 'MinTop': 2526.0}, {'LineText': 'FP112018-074-0194656-00002', 'Words': [{'WordText': 'FP112018', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '074', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '0194656', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '00002', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}], 'MaxHeight': 39.0, 'MinTop': 2572.0}, {'LineText': 'Get a chance to win a trip for', 'Words': [{'WordText': 'Get', 'Left': 29.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'a', 'Left': 112.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'chance', 'Left': 151.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 146.0}, {'WordText': 'to', 'Left': 302.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 54.0}, {'WordText': 'win', 'Left': 361.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 83.0}, {'WordText': 'a', 'Left': 448.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'trip', 'Left': 487.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 107.0}, {'WordText': 'for', 'Left': 599.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 69.0}], 'MaxHeight': 39.0, 'MinTop': 2679.0}, {'LineText': '2 to Korea when you buy PISO', 'Words': [{'WordText': '2', 'Left': 52.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'to', 'Left': 91.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 58.0}, {'WordText': 'Korea', 'Left': 154.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 122.0}, {'WordText': 'when', 'Left': 281.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 102.0}, {'WordText': 'you', 'Left': 388.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'buy', 'Left': 471.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'PISO', 'Left': 554.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 91.0}], 'MaxHeight': 39.0, 'MinTop': 2731.0}, {'LineText': 'worth of 7-Eleven items. Earn', 'Words': [{'WordText': 'worth', 'Left': 29.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 116.0}, {'WordText': 'of', 'Left': 152.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 61.0}, {'WordText': '7', 'Left': 219.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 184.0}, {'WordText': '-', 'Left': 219.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 184.0}, {'WordText': 'Eleven', 'Left': 219.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 184.0}, {'WordText': 'items', 'Left': 409.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 135.0}, {'WordText': '.', 'Left': 409.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 135.0}, {'WordText': 'Earn', 'Left': 550.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 99.0}], 'MaxHeight': 49.0, 'MinTop': 2783.0}, {'LineText': '3 eRaffle entries when you buy', 'Words': [{'WordText': '3', 'Left': 29.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'eRaffle', 'Left': 68.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 166.0}, {'WordText': 'entries', 'Left': 239.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 161.0}, {'WordText': 'when', 'Left': 404.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 102.0}, {'WordText': 'you', 'Left': 512.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'buy', 'Left': 594.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 70.0}], 'MaxHeight': 39.0, 'MinTop': 2832.0}, {'LineText': 'discounted booster Items. Per', 'Words': [{'WordText': 'discounted', 'Left': 33.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 221.0}, {'WordText': 'booster', 'Left': 259.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 168.0}, {'WordText': 'Items', 'Left': 432.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 137.0}, {'WordText': '.', 'Left': 432.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 137.0}, {'WordText': 'Per', 'Left': 574.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 68.0}], 'MaxHeight': 42.0, 'MinTop': 2888.0}, {'LineText': 'DTI FAIR TRADE Permit Number:', 'Words': [{'WordText': 'DTI', 'Left': 29.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 78.0}, {'WordText': 'FAIR', 'Left': 113.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 100.0}, {'WordText': 'TRADE', 'Left': 218.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 121.0}, {'WordText': 'Permit', 'Left': 344.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 142.0}, {'WordText': 'Number', 'Left': 491.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 151.0}, {'WordText': ':', 'Left': 491.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 151.0}], 'MaxHeight': 42.0, 'MinTop': 2933.0}, {'LineText': '163019 Series of 2023..', 'Words': [{'WordText': '163019', 'Left': 117.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 135.0}, {'WordText': 'Series', 'Left': 257.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 145.0}, {'WordText': 'of', 'Left': 407.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 55.0}, {'WordText': '2023', 'Left': 467.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 165.0}, {'WordText': '..', 'Left': 467.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 165.0}], 'MaxHeight': 40.0, 'MinTop': 2988.0}, {'LineText': 'facebook.com/711philippines.', 'Words': [{'WordText': 'facebook.com', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}, {'WordText': '/', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}, {'WordText': '711philippines', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}, {'WordText': '.', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}], 'MaxHeight': 42.0, 'MinTop': 3037.0}, {'LineText': '- THIS IS AN OFFICIAL RECEIPT -', 'Words': [{'WordText': '-', 'Left': 0.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 46.0}, {'WordText': 'THIS', 'Left': 52.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 98.0}, {'WordText': 'IS', 'Left': 155.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 57.0}, {'WordText': 'AN', 'Left': 219.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 52.0}, {'WordText': 'OFFICIAL', 'Left': 276.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 184.0}, {'WordText': 'RECEIPT', 'Left': 466.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 167.0}, {'WordText': '-', 'Left': 638.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 30.0}], 'MaxHeight': 46.0, 'MinTop': 3138.0}], 'HasOverlay': True}, 'TextOrientation': '0', 'FileParseExitCode': 1, 'ParsedText': '7-ELEVEN.\\nNHJ Convenience Store\\nOwned & Operated by: Nancy A.\\nClimacosa\\nVATREGTIN #933-598-685-002\\nPoblacion, Leon, Iloilo,\\nPhilippines\\nlel #: NULL\\n05/01/2023 (Mon) 23:00:57\\nRCPT #2481347\\nROPT CNTHO\\nSTORE#3058\\nSN# :XTI43170\\nMIN #: 18112011091411051\\nSTAFF: Angelica Duante\\n7FKoreanßun\\nNissinYaSaBeet77g\\nBBHOTDOGCREMYCHEES\\n39.00 Х 6\\nchocvron? in1Ch020g\\n15.00 X\\n2\\n55.004\\n40.000\\n234.000\\n30.000\\nTotal (10)\\nCASH\\nCHANGE\\n359.00\\n1000.00\\n641.00\\nVATable\\nVAT_Tax\\nZero_Rated\\nVAT_Exempted\\n320.54\\n38.46\\n0.00\\n0.00\\nSold To: 9906087698684\\nName:\\nAddress:\\nTIN:\\nPhilippine Seven Corporation\\n7th Floor The Columbia Tower\\nOrtigas Avenue, Mandaluyong\\nCity\\nTIN: 000-390-189-000\\nBIR ACCI #\\n116-000390189-000346 19602\\nAcciDate: 08/01/2020\\n07/31/2025\\nPermit #:\\nFP112018-074-0194656-00002\\nGet a chance to win a trip for\\n2 to Korea when you buy PISO\\nworth of 7-Eleven items. Earn\\n3 eRaffle entries when you buy\\ndiscounted booster Items. Per\\nDTI FAIR TRADE Permit Number:\\n163019 Series of 2023..\\nfacebook.com/711philippines.\\n- THIS IS AN OFFICIAL RECEIPT -', 'ErrorMessage': '', 'ErrorDetails': ''}], 'OCRExitCode': 1, 'IsErroredOnProcessing': False, 'ProcessingTimeInMilliseconds': '2593', 'SearchablePDFURL': 'Searchable PDF not generated as it was not requested.'}\n"
1243
+ ]
1244
+ }
1245
+ ],
1246
+ "source": [
1247
+ "# Import requests library\n",
1248
+ "import requests\n",
1249
+ "\n",
1250
+ "# Define the OCR API endpoint\n",
1251
+ "url = \"https://api.ocr.space/parse/image\"\n",
1252
+ "\n",
1253
+ "# Define the API key and the language\n",
1254
+ "api_key = \"K88232854988957\"\n",
1255
+ "language = \"eng\"\n",
1256
+ "\n",
1257
+ "# Define the image file path\n",
1258
+ "image_file = r\"C:\\Users\\Ayoo\\Desktop\\webapp\\predictions\\imgs\\20230508_122035.jpg\"\n",
1259
+ "\n",
1260
+ "# Open the image file as binary\n",
1261
+ "with open(image_file, \"rb\") as f:\n",
1262
+ " # Define the payload for the API request\n",
1263
+ " payload = {\n",
1264
+ " \"apikey\": api_key,\n",
1265
+ " \"language\": language,\n",
1266
+ " \"isOverlayRequired\": True, # Optional, set to True if you want the coordinates of the words\n",
1267
+ " \"OCREngine\": 2 # OCR Engine 2 for Layoutlmv3\n",
1268
+ " }\n",
1269
+ " # Define the file parameter for the API request\n",
1270
+ " file = {\n",
1271
+ " \"file\": f\n",
1272
+ " }\n",
1273
+ " # Send the POST request to the OCR API\n",
1274
+ " response = requests.post(url, data=payload, files=file)\n",
1275
+ "\n",
1276
+ "# Check the status code of the response\n",
1277
+ "if response.status_code == 200:\n",
1278
+ " # Parse the JSON response\n",
1279
+ " result = response.json()\n",
1280
+ " # Print the parsed text\n",
1281
+ " print(result)\n",
1282
+ "else:\n",
1283
+ " # Print the error message\n",
1284
+ " print(\"Error: \" + response.text)\n"
1285
+ ]
1286
+ },
1287
+ {
1288
+ "cell_type": "code",
1289
+ "execution_count": 13,
1290
+ "metadata": {},
1291
+ "outputs": [
1292
+ {
1293
+ "ename": "TypeError",
1294
+ "evalue": "Object of type Response is not JSON serializable",
1295
+ "output_type": "error",
1296
+ "traceback": [
1297
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
1298
+ "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
1299
+ "Cell \u001b[1;32mIn[13], line 4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjson\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;66;03m# Assuming 'response' is the JSON response from the OCR API\u001b[39;00m\n\u001b[1;32m----> 4\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdumps\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mindent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m)\u001b[49m)\n",
1300
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\__init__.py:238\u001b[0m, in \u001b[0;36mdumps\u001b[1;34m(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)\u001b[0m\n\u001b[0;32m 232\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 233\u001b[0m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;241m=\u001b[39m JSONEncoder\n\u001b[0;32m 234\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[0;32m 235\u001b[0m \u001b[43m \u001b[49m\u001b[43mskipkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskipkeys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mensure_ascii\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mensure_ascii\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 236\u001b[0m \u001b[43m \u001b[49m\u001b[43mcheck_circular\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcheck_circular\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mallow_nan\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mallow_nan\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mindent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindent\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 237\u001b[0m \u001b[43m \u001b[49m\u001b[43mseparators\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mseparators\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdefault\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdefault\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msort_keys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort_keys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m--> 238\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mencode\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n",
1301
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\encoder.py:202\u001b[0m, in \u001b[0;36mJSONEncoder.encode\u001b[1;34m(self, o)\u001b[0m\n\u001b[0;32m 200\u001b[0m chunks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miterencode(o, _one_shot\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m 201\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(chunks, (\u001b[38;5;28mlist\u001b[39m, \u001b[38;5;28mtuple\u001b[39m)):\n\u001b[1;32m--> 202\u001b[0m chunks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(chunks)\n\u001b[0;32m 203\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(chunks)\n",
1302
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\encoder.py:439\u001b[0m, in \u001b[0;36m_make_iterencode.<locals>._iterencode\u001b[1;34m(o, _current_indent_level)\u001b[0m\n\u001b[0;32m 437\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCircular reference detected\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 438\u001b[0m markers[markerid] \u001b[38;5;241m=\u001b[39m o\n\u001b[1;32m--> 439\u001b[0m o \u001b[38;5;241m=\u001b[39m \u001b[43m_default\u001b[49m\u001b[43m(\u001b[49m\u001b[43mo\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 440\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m _iterencode(o, _current_indent_level)\n\u001b[0;32m 441\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m markers \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
1303
+ "File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\encoder.py:180\u001b[0m, in \u001b[0;36mJSONEncoder.default\u001b[1;34m(self, o)\u001b[0m\n\u001b[0;32m 161\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdefault\u001b[39m(\u001b[38;5;28mself\u001b[39m, o):\n\u001b[0;32m 162\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Implement this method in a subclass such that it returns\u001b[39;00m\n\u001b[0;32m 163\u001b[0m \u001b[38;5;124;03m a serializable object for ``o``, or calls the base implementation\u001b[39;00m\n\u001b[0;32m 164\u001b[0m \u001b[38;5;124;03m (to raise a ``TypeError``).\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 178\u001b[0m \n\u001b[0;32m 179\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 180\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mObject of type \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mo\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m 181\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mis not JSON serializable\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
1304
+ "\u001b[1;31mTypeError\u001b[0m: Object of type Response is not JSON serializable"
1305
+ ]
1306
+ }
1307
+ ],
1308
+ "source": [
1309
+ "import json\n",
1310
+ "\n",
1311
+ "# Assuming 'response' is the JSON response from the OCR API\n",
1312
+ "print(json.dumps(response, indent=4))\n"
1313
+ ]
1314
+ }
1315
+ ],
1316
+ "metadata": {
1317
+ "kernelspec": {
1318
+ "display_name": "mlenv",
1319
+ "language": "python",
1320
+ "name": "python3"
1321
+ },
1322
+ "language_info": {
1323
+ "codemirror_mode": {
1324
+ "name": "ipython",
1325
+ "version": 3
1326
+ },
1327
+ "file_extension": ".py",
1328
+ "mimetype": "text/x-python",
1329
+ "name": "python",
1330
+ "nbconvert_exporter": "python",
1331
+ "pygments_lexer": "ipython3",
1332
+ "version": "3.11.5"
1333
+ }
1334
+ },
1335
+ "nbformat": 4,
1336
+ "nbformat_minor": 2
1337
+ }
fonts/fontawesome-webfont.eot ADDED
Binary file (166 kB). View file
 
fonts/fontawesome-webfont.svg ADDED
fonts/fontawesome-webfont.ttf ADDED
Binary file (166 kB). View file
 
fonts/fontawesome-webfont.woff ADDED
Binary file (98 kB). View file
 
fonts/fontawesome-webfont.woff2 ADDED
Binary file (77.2 kB). View file
 
inferenced/output.csv ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ RECEIPTNUMBER|MERCHANTNAME|MERCHANTADDRESS|TRANSACTIONDATE|TRANSACTIONTIME|ITEMS|PRICE|TOTAL|VATTAX
2
+ 000019273|W / SU Nulti Purpose Cooperative|Luna Street Lapaz Iloilo City|09 - 11 - 2023|PM|NOVA||25.00|24.00
3
+ |||||CHEDDAR|||
4
+ |||||40G|||
5
+ |||||CREAM|||
6
+ |||||-|||
7
+ |||||O|||
8
+ |||||VANILLA|||
9
+ |||||30G|||
inferenced/temp_inference.jpg ADDED
log/error_output.log ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2023-12-15 22:08:28,556 ERROR __main__ The `bbox` coordinate values should be within 0-1000 range.
2
+ 2023-12-15 22:25:13,644 ERROR __main__ [WinError 3] The system cannot find the path specified: '{imag_path}'
3
+ 2023-12-15 22:27:05,205 ERROR __main__ name 'keras_ocr' is not defined
4
+ 2023-12-15 22:35:49,620 ERROR __main__ 'bboxes'
5
+ 2023-12-15 22:39:15,225 ERROR __main__ 'bboxes'
6
+ 2023-12-16 01:01:21,726 ERROR __main__ name 'requests' is not defined
7
+ 2023-12-16 01:03:33,968 ERROR __main__ name 'requests' is not defined
8
+ 2023-12-16 01:08:14,487 ERROR __main__ name 'requests' is not defined
9
+ 2023-12-16 01:09:30,329 ERROR __main__ name 'requests' is not defined
10
+ 2023-12-16 01:10:18,781 ERROR __main__ name 'requests' is not defined
11
+ 2023-12-16 01:12:35,305 ERROR __main__ name 'tsv_output_path' is not defined
12
+ 2023-12-16 01:13:41,929 ERROR __main__ name 'tsv_output_path' is not defined
13
+ 2023-12-16 01:29:13,998 ERROR __main__ The `bbox` coordinate values should be within 0-1000 range.
14
+ 2023-12-16 20:52:33,964 ERROR __main__ [WinError 3] The system cannot find the path specified: 'uploads'
15
+ 2023-12-17 18:38:42,915 ERROR __main__ 'NoneType' object is not iterable
16
+ 2023-12-17 18:40:35,893 ERROR __main__ 'NoneType' object is not iterable
17
+ 2023-12-18 20:18:55,934 ERROR __main__ 'NoneType' object is not iterable
18
+ 2023-12-18 20:18:56,942 ERROR __main__ 'NoneType' object is not iterable
19
+ 2023-12-18 22:30:50,612 ERROR __main__ 'NoneType' object is not iterable
20
+ 2023-12-18 22:31:04,074 ERROR __main__ 'NoneType' object is not iterable
21
+ 2023-12-18 23:12:27,319 ERROR __main__ 'NoneType' object is not iterable
22
+ 2023-12-18 23:12:44,712 ERROR __main__ 'NoneType' object is not iterable
23
+ 2023-12-19 01:18:35,983 ERROR __main__ 'NoneType' object is not iterable
24
+ 2023-12-19 01:18:44,462 ERROR __main__ 'NoneType' object is not iterable
25
+ 2023-12-19 10:04:44,885 ERROR __main__ 'NoneType' object is not iterable
26
+ 2023-12-19 11:47:51,529 ERROR __main__ 'NoneType' object is not iterable
27
+ 2023-12-19 11:48:20,112 ERROR __main__ 'NoneType' object is not iterable
28
+ 2023-12-19 17:19:14,949 ERROR __main__ 'NoneType' object is not iterable
29
+ 2023-12-19 17:19:25,155 ERROR __main__ 'NoneType' object is not iterable
30
+ 2023-12-19 17:22:34,256 ERROR __main__ 'NoneType' object is not iterable
31
+ 2023-12-19 17:22:41,194 ERROR __main__ 'NoneType' object is not iterable
32
+ 2023-12-19 22:57:31,887 ERROR __main__ 'NoneType' object is not iterable
33
+ 2023-12-19 22:57:54,460 ERROR __main__ 'NoneType' object is not iterable
34
+ 2023-12-19 22:59:23,386 ERROR __main__ 'NoneType' object is not iterable
35
+ 2023-12-19 22:59:37,214 ERROR __main__ 'NoneType' object is not iterable
36
+ 2023-12-19 23:03:47,802 ERROR __main__ 'NoneType' object is not iterable
37
+ 2023-12-19 23:03:59,489 ERROR __main__ 'NoneType' object is not iterable
38
+ 2023-12-20 00:55:44,721 ERROR __main__ 'NoneType' object is not iterable
39
+ 2023-12-20 00:58:50,122 ERROR __main__ 'NoneType' object is not iterable
40
+ 2024-01-03 23:14:33,798 ERROR __main__ clean_extracted_output() missing 1 required positional argument: 'image_path'
41
+ 2024-01-03 23:14:47,884 ERROR __main__ clean_extracted_output() missing 1 required positional argument: 'image_path'
42
+ 2024-01-03 23:19:38,657 ERROR __main__ clean_extracted_output() missing 1 required positional argument: 'image_path'
43
+ 2024-01-03 23:19:46,901 ERROR __main__ clean_extracted_output() missing 1 required positional argument: 'image_path'
44
+ 2024-01-03 23:22:34,992 ERROR __main__ clean_extracted_output() missing 1 required positional argument: 'image_path'
45
+ 2024-01-03 23:22:48,001 ERROR __main__ clean_extracted_output() missing 1 required positional argument: 'image_path'
46
+ 2024-01-05 12:15:46,837 ERROR __main__ 'NoneType' object is not iterable
47
+ 2024-01-05 12:17:43,363 ERROR __main__ 'NoneType' object is not iterable
48
+ 2024-01-05 12:24:05,514 ERROR __main__ 'NoneType' object is not iterable
49
+ 2024-01-05 12:27:29,989 ERROR __main__ 'NoneType' object is not iterable
50
+ 2024-01-05 12:28:41,450 ERROR __main__ 'NoneType' object is not iterable
51
+ 2024-01-05 12:32:52,595 ERROR __main__ 'NoneType' object is not iterable
52
+ 2024-01-05 13:53:02,018 ERROR __main__ 'NoneType' object is not iterable
53
+ 2024-01-05 14:05:21,728 ERROR __main__ 'NoneType' object is not iterable
54
+ 2024-01-05 20:38:28,390 ERROR __main__ 'NoneType' object is not iterable
55
+ 2024-01-05 20:38:46,926 ERROR __main__ 'NoneType' object is not iterable
model/config.json ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "microsoft/layoutlmv3-base",
3
+ "architectures": [
4
+ "LayoutLMv3ForTokenClassification"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "bos_token_id": 0,
8
+ "classifier_dropout": null,
9
+ "coordinate_size": 128,
10
+ "eos_token_id": 2,
11
+ "has_relative_attention_bias": true,
12
+ "has_spatial_attention_bias": true,
13
+ "hidden_act": "gelu",
14
+ "hidden_dropout_prob": 0.1,
15
+ "hidden_size": 768,
16
+ "id2label": {
17
+ "0": "S-ITEMS",
18
+ "1": "B-MERCHANTADDRESS",
19
+ "2": "B-ITEMS",
20
+ "3": "I-MERCHANTNAME",
21
+ "4": "E-VATTAX",
22
+ "5": "O",
23
+ "6": "B-VATTAX",
24
+ "7": "B-PRICE",
25
+ "8": "S-RECEIPTNUMBER",
26
+ "9": "S-PRICE",
27
+ "10": "E-TRANSACTIONDATE",
28
+ "11": "E-RECEIPTNUMBER",
29
+ "12": "B-MERCHANTNAME",
30
+ "13": "E-MERCHANTADDRESS",
31
+ "14": "B-TOTAL",
32
+ "15": "S-TOTAL",
33
+ "16": "I-MERCHANT NAME",
34
+ "17": "S-MERCHANTNAME",
35
+ "18": "S-VATTAX",
36
+ "19": "S-TRANSACTIONDATE",
37
+ "20": "E-TRANSACTIONTIME",
38
+ "21": "I-MERCHANTADDRESS",
39
+ "22": "I-ITEMS",
40
+ "23": "E-MERCHANTNAME",
41
+ "24": "E-ITEMS",
42
+ "25": "B-RECEIPTNUMBER",
43
+ "26": "E-TOTAL",
44
+ "27": "E-MERCHANT NAME",
45
+ "28": "I-RECEIPTNUMBER",
46
+ "29": "B-TRANSACTIONDATE",
47
+ "30": "B-TRANSACTIONTIME",
48
+ "31": "E-PRICE",
49
+ "32": "I-TRANSACTIONTIME",
50
+ "33": "S-TRANSACTIONTIME",
51
+ "34": "S-MERCHANTADDRESS",
52
+ "35": "I-TRANSACTIONDATE",
53
+ "36": "B-MERCHANT NAME"
54
+ },
55
+ "initializer_range": 0.02,
56
+ "input_size": 224,
57
+ "intermediate_size": 3072,
58
+ "label2id": {
59
+ "B-ITEMS": 2,
60
+ "B-MERCHANT NAME": 36,
61
+ "B-MERCHANTADDRESS": 1,
62
+ "B-MERCHANTNAME": 12,
63
+ "B-PRICE": 7,
64
+ "B-RECEIPTNUMBER": 25,
65
+ "B-TOTAL": 14,
66
+ "B-TRANSACTIONDATE": 29,
67
+ "B-TRANSACTIONTIME": 30,
68
+ "B-VATTAX": 6,
69
+ "E-ITEMS": 24,
70
+ "E-MERCHANT NAME": 27,
71
+ "E-MERCHANTADDRESS": 13,
72
+ "E-MERCHANTNAME": 23,
73
+ "E-PRICE": 31,
74
+ "E-RECEIPTNUMBER": 11,
75
+ "E-TOTAL": 26,
76
+ "E-TRANSACTIONDATE": 10,
77
+ "E-TRANSACTIONTIME": 20,
78
+ "E-VATTAX": 4,
79
+ "I-ITEMS": 22,
80
+ "I-MERCHANT NAME": 16,
81
+ "I-MERCHANTADDRESS": 21,
82
+ "I-MERCHANTNAME": 3,
83
+ "I-RECEIPTNUMBER": 28,
84
+ "I-TRANSACTIONDATE": 35,
85
+ "I-TRANSACTIONTIME": 32,
86
+ "O": 5,
87
+ "S-ITEMS": 0,
88
+ "S-MERCHANTADDRESS": 34,
89
+ "S-MERCHANTNAME": 17,
90
+ "S-PRICE": 9,
91
+ "S-RECEIPTNUMBER": 8,
92
+ "S-TOTAL": 15,
93
+ "S-TRANSACTIONDATE": 19,
94
+ "S-TRANSACTIONTIME": 33,
95
+ "S-VATTAX": 18
96
+ },
97
+ "layer_norm_eps": 1e-05,
98
+ "max_2d_position_embeddings": 1024,
99
+ "max_position_embeddings": 514,
100
+ "max_rel_2d_pos": 256,
101
+ "max_rel_pos": 128,
102
+ "model_type": "layoutlmv3",
103
+ "num_attention_heads": 12,
104
+ "num_channels": 3,
105
+ "num_hidden_layers": 12,
106
+ "pad_token_id": 1,
107
+ "patch_size": 16,
108
+ "rel_2d_pos_bins": 64,
109
+ "rel_pos_bins": 32,
110
+ "second_input_size": 112,
111
+ "shape_size": 128,
112
+ "text_embed": true,
113
+ "torch_dtype": "float32",
114
+ "transformers_version": "4.36.0.dev0",
115
+ "type_vocab_size": 1,
116
+ "visual_embed": true,
117
+ "vocab_size": 50265
118
+ }
model/export/export.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:86f7a51d8964d884608d82a8e74f2dc79b80a55cc61d1cd455b307cc56d99395
3
+ size 46944572
model/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f4e071d3c6f3acdc48fb4ca10460cb863510b9ae06c4d8af30302df3bab12b99
3
+ size 503810412
requirements.txt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ git+https://github.com/huggingface/transformers.git
2
+ git+https://github.com/huggingface/datasets.git
3
+ dill<0.3.5
4
+ seqeval
5
+ accelerate
6
+ flask
7
+ fastai==1.0.61
8
+ pytesseract
9
+ pandas
10
+ numpy
11
+ pillow
12
+ tqdm
13
+ gunicorn
14
+ opencv-python
static/css/animate.css ADDED
@@ -0,0 +1,3272 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /*!
4
+ Animate.css - http://daneden.me/animate
5
+ Licensed under the MIT license - http://opensource.org/licenses/MIT
6
+
7
+ Copyright (c) 2015 Daniel Eden
8
+ */
9
+
10
+ .animated {
11
+ -webkit-animation-duration: 1s;
12
+ animation-duration: 1s;
13
+ -webkit-animation-fill-mode: both;
14
+ animation-fill-mode: both;
15
+ }
16
+
17
+ .animated.infinite {
18
+ -webkit-animation-iteration-count: infinite;
19
+ animation-iteration-count: infinite;
20
+ }
21
+
22
+ .animated.hinge {
23
+ -webkit-animation-duration: 2s;
24
+ animation-duration: 2s;
25
+ }
26
+
27
+ .animated.bounceIn,
28
+ .animated.bounceOut {
29
+ -webkit-animation-duration: .75s;
30
+ animation-duration: .75s;
31
+ }
32
+
33
+ .animated.flipOutX,
34
+ .animated.flipOutY {
35
+ -webkit-animation-duration: .75s;
36
+ animation-duration: .75s;
37
+ }
38
+
39
+ @-webkit-keyframes bounce {
40
+ from, 20%, 53%, 80%, 100% {
41
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
42
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
43
+ -webkit-transform: translate3d(0,0,0);
44
+ transform: translate3d(0,0,0);
45
+ }
46
+
47
+ 40%, 43% {
48
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
49
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
50
+ -webkit-transform: translate3d(0, -30px, 0);
51
+ transform: translate3d(0, -30px, 0);
52
+ }
53
+
54
+ 70% {
55
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
56
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
57
+ -webkit-transform: translate3d(0, -15px, 0);
58
+ transform: translate3d(0, -15px, 0);
59
+ }
60
+
61
+ 90% {
62
+ -webkit-transform: translate3d(0,-4px,0);
63
+ transform: translate3d(0,-4px,0);
64
+ }
65
+ }
66
+
67
+ @keyframes bounce {
68
+ from, 20%, 53%, 80%, 100% {
69
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
70
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
71
+ -webkit-transform: translate3d(0,0,0);
72
+ transform: translate3d(0,0,0);
73
+ }
74
+
75
+ 40%, 43% {
76
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
77
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
78
+ -webkit-transform: translate3d(0, -30px, 0);
79
+ transform: translate3d(0, -30px, 0);
80
+ }
81
+
82
+ 70% {
83
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
84
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
85
+ -webkit-transform: translate3d(0, -15px, 0);
86
+ transform: translate3d(0, -15px, 0);
87
+ }
88
+
89
+ 90% {
90
+ -webkit-transform: translate3d(0,-4px,0);
91
+ transform: translate3d(0,-4px,0);
92
+ }
93
+ }
94
+
95
+ .bounce {
96
+ -webkit-animation-name: bounce;
97
+ animation-name: bounce;
98
+ -webkit-transform-origin: center bottom;
99
+ transform-origin: center bottom;
100
+ }
101
+
102
+ @-webkit-keyframes flash {
103
+ from, 50%, 100% {
104
+ opacity: 1;
105
+ }
106
+
107
+ 25%, 75% {
108
+ opacity: 0;
109
+ }
110
+ }
111
+
112
+ @keyframes flash {
113
+ from, 50%, 100% {
114
+ opacity: 1;
115
+ }
116
+
117
+ 25%, 75% {
118
+ opacity: 0;
119
+ }
120
+ }
121
+
122
+ .flash {
123
+ -webkit-animation-name: flash;
124
+ animation-name: flash;
125
+ }
126
+
127
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
128
+
129
+ @-webkit-keyframes pulse {
130
+ from {
131
+ -webkit-transform: scale3d(1, 1, 1);
132
+ transform: scale3d(1, 1, 1);
133
+ }
134
+
135
+ 50% {
136
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
137
+ transform: scale3d(1.05, 1.05, 1.05);
138
+ }
139
+
140
+ 100% {
141
+ -webkit-transform: scale3d(1, 1, 1);
142
+ transform: scale3d(1, 1, 1);
143
+ }
144
+ }
145
+
146
+ @keyframes pulse {
147
+ from {
148
+ -webkit-transform: scale3d(1, 1, 1);
149
+ transform: scale3d(1, 1, 1);
150
+ }
151
+
152
+ 50% {
153
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
154
+ transform: scale3d(1.05, 1.05, 1.05);
155
+ }
156
+
157
+ 100% {
158
+ -webkit-transform: scale3d(1, 1, 1);
159
+ transform: scale3d(1, 1, 1);
160
+ }
161
+ }
162
+
163
+ .pulse {
164
+ -webkit-animation-name: pulse;
165
+ animation-name: pulse;
166
+ }
167
+
168
+ @-webkit-keyframes rubberBand {
169
+ from {
170
+ -webkit-transform: scale3d(1, 1, 1);
171
+ transform: scale3d(1, 1, 1);
172
+ }
173
+
174
+ 30% {
175
+ -webkit-transform: scale3d(1.25, 0.75, 1);
176
+ transform: scale3d(1.25, 0.75, 1);
177
+ }
178
+
179
+ 40% {
180
+ -webkit-transform: scale3d(0.75, 1.25, 1);
181
+ transform: scale3d(0.75, 1.25, 1);
182
+ }
183
+
184
+ 50% {
185
+ -webkit-transform: scale3d(1.15, 0.85, 1);
186
+ transform: scale3d(1.15, 0.85, 1);
187
+ }
188
+
189
+ 65% {
190
+ -webkit-transform: scale3d(.95, 1.05, 1);
191
+ transform: scale3d(.95, 1.05, 1);
192
+ }
193
+
194
+ 75% {
195
+ -webkit-transform: scale3d(1.05, .95, 1);
196
+ transform: scale3d(1.05, .95, 1);
197
+ }
198
+
199
+ 100% {
200
+ -webkit-transform: scale3d(1, 1, 1);
201
+ transform: scale3d(1, 1, 1);
202
+ }
203
+ }
204
+
205
+ @keyframes rubberBand {
206
+ from {
207
+ -webkit-transform: scale3d(1, 1, 1);
208
+ transform: scale3d(1, 1, 1);
209
+ }
210
+
211
+ 30% {
212
+ -webkit-transform: scale3d(1.25, 0.75, 1);
213
+ transform: scale3d(1.25, 0.75, 1);
214
+ }
215
+
216
+ 40% {
217
+ -webkit-transform: scale3d(0.75, 1.25, 1);
218
+ transform: scale3d(0.75, 1.25, 1);
219
+ }
220
+
221
+ 50% {
222
+ -webkit-transform: scale3d(1.15, 0.85, 1);
223
+ transform: scale3d(1.15, 0.85, 1);
224
+ }
225
+
226
+ 65% {
227
+ -webkit-transform: scale3d(.95, 1.05, 1);
228
+ transform: scale3d(.95, 1.05, 1);
229
+ }
230
+
231
+ 75% {
232
+ -webkit-transform: scale3d(1.05, .95, 1);
233
+ transform: scale3d(1.05, .95, 1);
234
+ }
235
+
236
+ 100% {
237
+ -webkit-transform: scale3d(1, 1, 1);
238
+ transform: scale3d(1, 1, 1);
239
+ }
240
+ }
241
+
242
+ .rubberBand {
243
+ -webkit-animation-name: rubberBand;
244
+ animation-name: rubberBand;
245
+ }
246
+
247
+ @-webkit-keyframes shake {
248
+ from, 100% {
249
+ -webkit-transform: translate3d(0, 0, 0);
250
+ transform: translate3d(0, 0, 0);
251
+ }
252
+
253
+ 10%, 30%, 50%, 70%, 90% {
254
+ -webkit-transform: translate3d(-10px, 0, 0);
255
+ transform: translate3d(-10px, 0, 0);
256
+ }
257
+
258
+ 20%, 40%, 60%, 80% {
259
+ -webkit-transform: translate3d(10px, 0, 0);
260
+ transform: translate3d(10px, 0, 0);
261
+ }
262
+ }
263
+
264
+ @keyframes shake {
265
+ from, 100% {
266
+ -webkit-transform: translate3d(0, 0, 0);
267
+ transform: translate3d(0, 0, 0);
268
+ }
269
+
270
+ 10%, 30%, 50%, 70%, 90% {
271
+ -webkit-transform: translate3d(-10px, 0, 0);
272
+ transform: translate3d(-10px, 0, 0);
273
+ }
274
+
275
+ 20%, 40%, 60%, 80% {
276
+ -webkit-transform: translate3d(10px, 0, 0);
277
+ transform: translate3d(10px, 0, 0);
278
+ }
279
+ }
280
+
281
+ .shake {
282
+ -webkit-animation-name: shake;
283
+ animation-name: shake;
284
+ }
285
+
286
+ @-webkit-keyframes swing {
287
+ 20% {
288
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
289
+ transform: rotate3d(0, 0, 1, 15deg);
290
+ }
291
+
292
+ 40% {
293
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
294
+ transform: rotate3d(0, 0, 1, -10deg);
295
+ }
296
+
297
+ 60% {
298
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
299
+ transform: rotate3d(0, 0, 1, 5deg);
300
+ }
301
+
302
+ 80% {
303
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
304
+ transform: rotate3d(0, 0, 1, -5deg);
305
+ }
306
+
307
+ 100% {
308
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
309
+ transform: rotate3d(0, 0, 1, 0deg);
310
+ }
311
+ }
312
+
313
+ @keyframes swing {
314
+ 20% {
315
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
316
+ transform: rotate3d(0, 0, 1, 15deg);
317
+ }
318
+
319
+ 40% {
320
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
321
+ transform: rotate3d(0, 0, 1, -10deg);
322
+ }
323
+
324
+ 60% {
325
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
326
+ transform: rotate3d(0, 0, 1, 5deg);
327
+ }
328
+
329
+ 80% {
330
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
331
+ transform: rotate3d(0, 0, 1, -5deg);
332
+ }
333
+
334
+ 100% {
335
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
336
+ transform: rotate3d(0, 0, 1, 0deg);
337
+ }
338
+ }
339
+
340
+ .swing {
341
+ -webkit-transform-origin: top center;
342
+ transform-origin: top center;
343
+ -webkit-animation-name: swing;
344
+ animation-name: swing;
345
+ }
346
+
347
+ @-webkit-keyframes tada {
348
+ from {
349
+ -webkit-transform: scale3d(1, 1, 1);
350
+ transform: scale3d(1, 1, 1);
351
+ }
352
+
353
+ 10%, 20% {
354
+ -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
355
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
356
+ }
357
+
358
+ 30%, 50%, 70%, 90% {
359
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
360
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
361
+ }
362
+
363
+ 40%, 60%, 80% {
364
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
365
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
366
+ }
367
+
368
+ 100% {
369
+ -webkit-transform: scale3d(1, 1, 1);
370
+ transform: scale3d(1, 1, 1);
371
+ }
372
+ }
373
+
374
+ @keyframes tada {
375
+ from {
376
+ -webkit-transform: scale3d(1, 1, 1);
377
+ transform: scale3d(1, 1, 1);
378
+ }
379
+
380
+ 10%, 20% {
381
+ -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
382
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
383
+ }
384
+
385
+ 30%, 50%, 70%, 90% {
386
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
387
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
388
+ }
389
+
390
+ 40%, 60%, 80% {
391
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
392
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
393
+ }
394
+
395
+ 100% {
396
+ -webkit-transform: scale3d(1, 1, 1);
397
+ transform: scale3d(1, 1, 1);
398
+ }
399
+ }
400
+
401
+ .tada {
402
+ -webkit-animation-name: tada;
403
+ animation-name: tada;
404
+ }
405
+
406
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
407
+
408
+ @-webkit-keyframes wobble {
409
+ from {
410
+ -webkit-transform: none;
411
+ transform: none;
412
+ }
413
+
414
+ 15% {
415
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
416
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
417
+ }
418
+
419
+ 30% {
420
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
421
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
422
+ }
423
+
424
+ 45% {
425
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
426
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
427
+ }
428
+
429
+ 60% {
430
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
431
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
432
+ }
433
+
434
+ 75% {
435
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
436
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
437
+ }
438
+
439
+ 100% {
440
+ -webkit-transform: none;
441
+ transform: none;
442
+ }
443
+ }
444
+
445
+ @keyframes wobble {
446
+ from {
447
+ -webkit-transform: none;
448
+ transform: none;
449
+ }
450
+
451
+ 15% {
452
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
453
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
454
+ }
455
+
456
+ 30% {
457
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
458
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
459
+ }
460
+
461
+ 45% {
462
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
463
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
464
+ }
465
+
466
+ 60% {
467
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
468
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
469
+ }
470
+
471
+ 75% {
472
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
473
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
474
+ }
475
+
476
+ 100% {
477
+ -webkit-transform: none;
478
+ transform: none;
479
+ }
480
+ }
481
+
482
+ .wobble {
483
+ -webkit-animation-name: wobble;
484
+ animation-name: wobble;
485
+ }
486
+
487
+ @-webkit-keyframes jello {
488
+ from, 11.1%, 100% {
489
+ -webkit-transform: none;
490
+ transform: none;
491
+ }
492
+
493
+ 22.2% {
494
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
495
+ transform: skewX(-12.5deg) skewY(-12.5deg);
496
+ }
497
+
498
+ 33.3% {
499
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
500
+ transform: skewX(6.25deg) skewY(6.25deg);
501
+ }
502
+
503
+ 44.4% {
504
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
505
+ transform: skewX(-3.125deg) skewY(-3.125deg);
506
+ }
507
+
508
+ 55.5% {
509
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
510
+ transform: skewX(1.5625deg) skewY(1.5625deg);
511
+ }
512
+
513
+ 66.6% {
514
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
515
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
516
+ }
517
+
518
+ 77.7% {
519
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
520
+ transform: skewX(0.390625deg) skewY(0.390625deg);
521
+ }
522
+
523
+ 88.8% {
524
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
525
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
526
+ }
527
+ }
528
+
529
+ @keyframes jello {
530
+ from, 11.1%, 100% {
531
+ -webkit-transform: none;
532
+ transform: none;
533
+ }
534
+
535
+ 22.2% {
536
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
537
+ transform: skewX(-12.5deg) skewY(-12.5deg);
538
+ }
539
+
540
+ 33.3% {
541
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
542
+ transform: skewX(6.25deg) skewY(6.25deg);
543
+ }
544
+
545
+ 44.4% {
546
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
547
+ transform: skewX(-3.125deg) skewY(-3.125deg);
548
+ }
549
+
550
+ 55.5% {
551
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
552
+ transform: skewX(1.5625deg) skewY(1.5625deg);
553
+ }
554
+
555
+ 66.6% {
556
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
557
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
558
+ }
559
+
560
+ 77.7% {
561
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
562
+ transform: skewX(0.390625deg) skewY(0.390625deg);
563
+ }
564
+
565
+ 88.8% {
566
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
567
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
568
+ }
569
+ }
570
+
571
+ .jello {
572
+ -webkit-animation-name: jello;
573
+ animation-name: jello;
574
+ -webkit-transform-origin: center;
575
+ transform-origin: center;
576
+ }
577
+
578
+ @-webkit-keyframes bounceIn {
579
+ from, 20%, 40%, 60%, 80%, 100% {
580
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
581
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
582
+ }
583
+
584
+ 0% {
585
+ opacity: 0;
586
+ -webkit-transform: scale3d(.3, .3, .3);
587
+ transform: scale3d(.3, .3, .3);
588
+ }
589
+
590
+ 20% {
591
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
592
+ transform: scale3d(1.1, 1.1, 1.1);
593
+ }
594
+
595
+ 40% {
596
+ -webkit-transform: scale3d(.9, .9, .9);
597
+ transform: scale3d(.9, .9, .9);
598
+ }
599
+
600
+ 60% {
601
+ opacity: 1;
602
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
603
+ transform: scale3d(1.03, 1.03, 1.03);
604
+ }
605
+
606
+ 80% {
607
+ -webkit-transform: scale3d(.97, .97, .97);
608
+ transform: scale3d(.97, .97, .97);
609
+ }
610
+
611
+ 100% {
612
+ opacity: 1;
613
+ -webkit-transform: scale3d(1, 1, 1);
614
+ transform: scale3d(1, 1, 1);
615
+ }
616
+ }
617
+
618
+ @keyframes bounceIn {
619
+ from, 20%, 40%, 60%, 80%, 100% {
620
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
621
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
622
+ }
623
+
624
+ 0% {
625
+ opacity: 0;
626
+ -webkit-transform: scale3d(.3, .3, .3);
627
+ transform: scale3d(.3, .3, .3);
628
+ }
629
+
630
+ 20% {
631
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
632
+ transform: scale3d(1.1, 1.1, 1.1);
633
+ }
634
+
635
+ 40% {
636
+ -webkit-transform: scale3d(.9, .9, .9);
637
+ transform: scale3d(.9, .9, .9);
638
+ }
639
+
640
+ 60% {
641
+ opacity: 1;
642
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
643
+ transform: scale3d(1.03, 1.03, 1.03);
644
+ }
645
+
646
+ 80% {
647
+ -webkit-transform: scale3d(.97, .97, .97);
648
+ transform: scale3d(.97, .97, .97);
649
+ }
650
+
651
+ 100% {
652
+ opacity: 1;
653
+ -webkit-transform: scale3d(1, 1, 1);
654
+ transform: scale3d(1, 1, 1);
655
+ }
656
+ }
657
+
658
+ .bounceIn {
659
+ -webkit-animation-name: bounceIn;
660
+ animation-name: bounceIn;
661
+ }
662
+
663
+ @-webkit-keyframes bounceInDown {
664
+ from, 60%, 75%, 90%, 100% {
665
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
666
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
667
+ }
668
+
669
+ 0% {
670
+ opacity: 0;
671
+ -webkit-transform: translate3d(0, -3000px, 0);
672
+ transform: translate3d(0, -3000px, 0);
673
+ }
674
+
675
+ 60% {
676
+ opacity: 1;
677
+ -webkit-transform: translate3d(0, 25px, 0);
678
+ transform: translate3d(0, 25px, 0);
679
+ }
680
+
681
+ 75% {
682
+ -webkit-transform: translate3d(0, -10px, 0);
683
+ transform: translate3d(0, -10px, 0);
684
+ }
685
+
686
+ 90% {
687
+ -webkit-transform: translate3d(0, 5px, 0);
688
+ transform: translate3d(0, 5px, 0);
689
+ }
690
+
691
+ 100% {
692
+ -webkit-transform: none;
693
+ transform: none;
694
+ }
695
+ }
696
+
697
+ @keyframes bounceInDown {
698
+ from, 60%, 75%, 90%, 100% {
699
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
700
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
701
+ }
702
+
703
+ 0% {
704
+ opacity: 0;
705
+ -webkit-transform: translate3d(0, -3000px, 0);
706
+ transform: translate3d(0, -3000px, 0);
707
+ }
708
+
709
+ 60% {
710
+ opacity: 1;
711
+ -webkit-transform: translate3d(0, 25px, 0);
712
+ transform: translate3d(0, 25px, 0);
713
+ }
714
+
715
+ 75% {
716
+ -webkit-transform: translate3d(0, -10px, 0);
717
+ transform: translate3d(0, -10px, 0);
718
+ }
719
+
720
+ 90% {
721
+ -webkit-transform: translate3d(0, 5px, 0);
722
+ transform: translate3d(0, 5px, 0);
723
+ }
724
+
725
+ 100% {
726
+ -webkit-transform: none;
727
+ transform: none;
728
+ }
729
+ }
730
+
731
+ .bounceInDown {
732
+ -webkit-animation-name: bounceInDown;
733
+ animation-name: bounceInDown;
734
+ }
735
+
736
+ @-webkit-keyframes bounceInLeft {
737
+ from, 60%, 75%, 90%, 100% {
738
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
739
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
740
+ }
741
+
742
+ 0% {
743
+ opacity: 0;
744
+ -webkit-transform: translate3d(-3000px, 0, 0);
745
+ transform: translate3d(-3000px, 0, 0);
746
+ }
747
+
748
+ 60% {
749
+ opacity: 1;
750
+ -webkit-transform: translate3d(25px, 0, 0);
751
+ transform: translate3d(25px, 0, 0);
752
+ }
753
+
754
+ 75% {
755
+ -webkit-transform: translate3d(-10px, 0, 0);
756
+ transform: translate3d(-10px, 0, 0);
757
+ }
758
+
759
+ 90% {
760
+ -webkit-transform: translate3d(5px, 0, 0);
761
+ transform: translate3d(5px, 0, 0);
762
+ }
763
+
764
+ 100% {
765
+ -webkit-transform: none;
766
+ transform: none;
767
+ }
768
+ }
769
+
770
+ @keyframes bounceInLeft {
771
+ from, 60%, 75%, 90%, 100% {
772
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
773
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
774
+ }
775
+
776
+ 0% {
777
+ opacity: 0;
778
+ -webkit-transform: translate3d(-3000px, 0, 0);
779
+ transform: translate3d(-3000px, 0, 0);
780
+ }
781
+
782
+ 60% {
783
+ opacity: 1;
784
+ -webkit-transform: translate3d(25px, 0, 0);
785
+ transform: translate3d(25px, 0, 0);
786
+ }
787
+
788
+ 75% {
789
+ -webkit-transform: translate3d(-10px, 0, 0);
790
+ transform: translate3d(-10px, 0, 0);
791
+ }
792
+
793
+ 90% {
794
+ -webkit-transform: translate3d(5px, 0, 0);
795
+ transform: translate3d(5px, 0, 0);
796
+ }
797
+
798
+ 100% {
799
+ -webkit-transform: none;
800
+ transform: none;
801
+ }
802
+ }
803
+
804
+ .bounceInLeft {
805
+ -webkit-animation-name: bounceInLeft;
806
+ animation-name: bounceInLeft;
807
+ }
808
+
809
+ @-webkit-keyframes bounceInRight {
810
+ from, 60%, 75%, 90%, 100% {
811
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
812
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
813
+ }
814
+
815
+ from {
816
+ opacity: 0;
817
+ -webkit-transform: translate3d(3000px, 0, 0);
818
+ transform: translate3d(3000px, 0, 0);
819
+ }
820
+
821
+ 60% {
822
+ opacity: 1;
823
+ -webkit-transform: translate3d(-25px, 0, 0);
824
+ transform: translate3d(-25px, 0, 0);
825
+ }
826
+
827
+ 75% {
828
+ -webkit-transform: translate3d(10px, 0, 0);
829
+ transform: translate3d(10px, 0, 0);
830
+ }
831
+
832
+ 90% {
833
+ -webkit-transform: translate3d(-5px, 0, 0);
834
+ transform: translate3d(-5px, 0, 0);
835
+ }
836
+
837
+ 100% {
838
+ -webkit-transform: none;
839
+ transform: none;
840
+ }
841
+ }
842
+
843
+ @keyframes bounceInRight {
844
+ from, 60%, 75%, 90%, 100% {
845
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
846
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
847
+ }
848
+
849
+ from {
850
+ opacity: 0;
851
+ -webkit-transform: translate3d(3000px, 0, 0);
852
+ transform: translate3d(3000px, 0, 0);
853
+ }
854
+
855
+ 60% {
856
+ opacity: 1;
857
+ -webkit-transform: translate3d(-25px, 0, 0);
858
+ transform: translate3d(-25px, 0, 0);
859
+ }
860
+
861
+ 75% {
862
+ -webkit-transform: translate3d(10px, 0, 0);
863
+ transform: translate3d(10px, 0, 0);
864
+ }
865
+
866
+ 90% {
867
+ -webkit-transform: translate3d(-5px, 0, 0);
868
+ transform: translate3d(-5px, 0, 0);
869
+ }
870
+
871
+ 100% {
872
+ -webkit-transform: none;
873
+ transform: none;
874
+ }
875
+ }
876
+
877
+ .bounceInRight {
878
+ -webkit-animation-name: bounceInRight;
879
+ animation-name: bounceInRight;
880
+ }
881
+
882
+ @-webkit-keyframes bounceInUp {
883
+ from, 60%, 75%, 90%, 100% {
884
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
885
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
886
+ }
887
+
888
+ from {
889
+ opacity: 0;
890
+ -webkit-transform: translate3d(0, 3000px, 0);
891
+ transform: translate3d(0, 3000px, 0);
892
+ }
893
+
894
+ 60% {
895
+ opacity: 1;
896
+ -webkit-transform: translate3d(0, -20px, 0);
897
+ transform: translate3d(0, -20px, 0);
898
+ }
899
+
900
+ 75% {
901
+ -webkit-transform: translate3d(0, 10px, 0);
902
+ transform: translate3d(0, 10px, 0);
903
+ }
904
+
905
+ 90% {
906
+ -webkit-transform: translate3d(0, -5px, 0);
907
+ transform: translate3d(0, -5px, 0);
908
+ }
909
+
910
+ 100% {
911
+ -webkit-transform: translate3d(0, 0, 0);
912
+ transform: translate3d(0, 0, 0);
913
+ }
914
+ }
915
+
916
+ @keyframes bounceInUp {
917
+ from, 60%, 75%, 90%, 100% {
918
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
919
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
920
+ }
921
+
922
+ from {
923
+ opacity: 0;
924
+ -webkit-transform: translate3d(0, 3000px, 0);
925
+ transform: translate3d(0, 3000px, 0);
926
+ }
927
+
928
+ 60% {
929
+ opacity: 1;
930
+ -webkit-transform: translate3d(0, -20px, 0);
931
+ transform: translate3d(0, -20px, 0);
932
+ }
933
+
934
+ 75% {
935
+ -webkit-transform: translate3d(0, 10px, 0);
936
+ transform: translate3d(0, 10px, 0);
937
+ }
938
+
939
+ 90% {
940
+ -webkit-transform: translate3d(0, -5px, 0);
941
+ transform: translate3d(0, -5px, 0);
942
+ }
943
+
944
+ 100% {
945
+ -webkit-transform: translate3d(0, 0, 0);
946
+ transform: translate3d(0, 0, 0);
947
+ }
948
+ }
949
+
950
+ .bounceInUp {
951
+ -webkit-animation-name: bounceInUp;
952
+ animation-name: bounceInUp;
953
+ }
954
+
955
+ @-webkit-keyframes bounceOut {
956
+ 20% {
957
+ -webkit-transform: scale3d(.9, .9, .9);
958
+ transform: scale3d(.9, .9, .9);
959
+ }
960
+
961
+ 50%, 55% {
962
+ opacity: 1;
963
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
964
+ transform: scale3d(1.1, 1.1, 1.1);
965
+ }
966
+
967
+ 100% {
968
+ opacity: 0;
969
+ -webkit-transform: scale3d(.3, .3, .3);
970
+ transform: scale3d(.3, .3, .3);
971
+ }
972
+ }
973
+
974
+ @keyframes bounceOut {
975
+ 20% {
976
+ -webkit-transform: scale3d(.9, .9, .9);
977
+ transform: scale3d(.9, .9, .9);
978
+ }
979
+
980
+ 50%, 55% {
981
+ opacity: 1;
982
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
983
+ transform: scale3d(1.1, 1.1, 1.1);
984
+ }
985
+
986
+ 100% {
987
+ opacity: 0;
988
+ -webkit-transform: scale3d(.3, .3, .3);
989
+ transform: scale3d(.3, .3, .3);
990
+ }
991
+ }
992
+
993
+ .bounceOut {
994
+ -webkit-animation-name: bounceOut;
995
+ animation-name: bounceOut;
996
+ }
997
+
998
+ @-webkit-keyframes bounceOutDown {
999
+ 20% {
1000
+ -webkit-transform: translate3d(0, 10px, 0);
1001
+ transform: translate3d(0, 10px, 0);
1002
+ }
1003
+
1004
+ 40%, 45% {
1005
+ opacity: 1;
1006
+ -webkit-transform: translate3d(0, -20px, 0);
1007
+ transform: translate3d(0, -20px, 0);
1008
+ }
1009
+
1010
+ 100% {
1011
+ opacity: 0;
1012
+ -webkit-transform: translate3d(0, 2000px, 0);
1013
+ transform: translate3d(0, 2000px, 0);
1014
+ }
1015
+ }
1016
+
1017
+ @keyframes bounceOutDown {
1018
+ 20% {
1019
+ -webkit-transform: translate3d(0, 10px, 0);
1020
+ transform: translate3d(0, 10px, 0);
1021
+ }
1022
+
1023
+ 40%, 45% {
1024
+ opacity: 1;
1025
+ -webkit-transform: translate3d(0, -20px, 0);
1026
+ transform: translate3d(0, -20px, 0);
1027
+ }
1028
+
1029
+ 100% {
1030
+ opacity: 0;
1031
+ -webkit-transform: translate3d(0, 2000px, 0);
1032
+ transform: translate3d(0, 2000px, 0);
1033
+ }
1034
+ }
1035
+
1036
+ .bounceOutDown {
1037
+ -webkit-animation-name: bounceOutDown;
1038
+ animation-name: bounceOutDown;
1039
+ }
1040
+
1041
+ @-webkit-keyframes bounceOutLeft {
1042
+ 20% {
1043
+ opacity: 1;
1044
+ -webkit-transform: translate3d(20px, 0, 0);
1045
+ transform: translate3d(20px, 0, 0);
1046
+ }
1047
+
1048
+ 100% {
1049
+ opacity: 0;
1050
+ -webkit-transform: translate3d(-2000px, 0, 0);
1051
+ transform: translate3d(-2000px, 0, 0);
1052
+ }
1053
+ }
1054
+
1055
+ @keyframes bounceOutLeft {
1056
+ 20% {
1057
+ opacity: 1;
1058
+ -webkit-transform: translate3d(20px, 0, 0);
1059
+ transform: translate3d(20px, 0, 0);
1060
+ }
1061
+
1062
+ 100% {
1063
+ opacity: 0;
1064
+ -webkit-transform: translate3d(-2000px, 0, 0);
1065
+ transform: translate3d(-2000px, 0, 0);
1066
+ }
1067
+ }
1068
+
1069
+ .bounceOutLeft {
1070
+ -webkit-animation-name: bounceOutLeft;
1071
+ animation-name: bounceOutLeft;
1072
+ }
1073
+
1074
+ @-webkit-keyframes bounceOutRight {
1075
+ 20% {
1076
+ opacity: 1;
1077
+ -webkit-transform: translate3d(-20px, 0, 0);
1078
+ transform: translate3d(-20px, 0, 0);
1079
+ }
1080
+
1081
+ 100% {
1082
+ opacity: 0;
1083
+ -webkit-transform: translate3d(2000px, 0, 0);
1084
+ transform: translate3d(2000px, 0, 0);
1085
+ }
1086
+ }
1087
+
1088
+ @keyframes bounceOutRight {
1089
+ 20% {
1090
+ opacity: 1;
1091
+ -webkit-transform: translate3d(-20px, 0, 0);
1092
+ transform: translate3d(-20px, 0, 0);
1093
+ }
1094
+
1095
+ 100% {
1096
+ opacity: 0;
1097
+ -webkit-transform: translate3d(2000px, 0, 0);
1098
+ transform: translate3d(2000px, 0, 0);
1099
+ }
1100
+ }
1101
+
1102
+ .bounceOutRight {
1103
+ -webkit-animation-name: bounceOutRight;
1104
+ animation-name: bounceOutRight;
1105
+ }
1106
+
1107
+ @-webkit-keyframes bounceOutUp {
1108
+ 20% {
1109
+ -webkit-transform: translate3d(0, -10px, 0);
1110
+ transform: translate3d(0, -10px, 0);
1111
+ }
1112
+
1113
+ 40%, 45% {
1114
+ opacity: 1;
1115
+ -webkit-transform: translate3d(0, 20px, 0);
1116
+ transform: translate3d(0, 20px, 0);
1117
+ }
1118
+
1119
+ 100% {
1120
+ opacity: 0;
1121
+ -webkit-transform: translate3d(0, -2000px, 0);
1122
+ transform: translate3d(0, -2000px, 0);
1123
+ }
1124
+ }
1125
+
1126
+ @keyframes bounceOutUp {
1127
+ 20% {
1128
+ -webkit-transform: translate3d(0, -10px, 0);
1129
+ transform: translate3d(0, -10px, 0);
1130
+ }
1131
+
1132
+ 40%, 45% {
1133
+ opacity: 1;
1134
+ -webkit-transform: translate3d(0, 20px, 0);
1135
+ transform: translate3d(0, 20px, 0);
1136
+ }
1137
+
1138
+ 100% {
1139
+ opacity: 0;
1140
+ -webkit-transform: translate3d(0, -2000px, 0);
1141
+ transform: translate3d(0, -2000px, 0);
1142
+ }
1143
+ }
1144
+
1145
+ .bounceOutUp {
1146
+ -webkit-animation-name: bounceOutUp;
1147
+ animation-name: bounceOutUp;
1148
+ }
1149
+
1150
+ @-webkit-keyframes fadeIn {
1151
+ from {
1152
+ opacity: 0;
1153
+ }
1154
+
1155
+ 100% {
1156
+ opacity: 1;
1157
+ }
1158
+ }
1159
+
1160
+ @keyframes fadeIn {
1161
+ from {
1162
+ opacity: 0;
1163
+ }
1164
+
1165
+ 100% {
1166
+ opacity: 1;
1167
+ }
1168
+ }
1169
+
1170
+ .fadeIn {
1171
+ -webkit-animation-name: fadeIn;
1172
+ animation-name: fadeIn;
1173
+ }
1174
+
1175
+ @-webkit-keyframes fadeInDown {
1176
+ from {
1177
+ opacity: 0;
1178
+ -webkit-transform: translate3d(0, -100%, 0);
1179
+ transform: translate3d(0, -100%, 0);
1180
+ }
1181
+
1182
+ 100% {
1183
+ opacity: 1;
1184
+ -webkit-transform: none;
1185
+ transform: none;
1186
+ }
1187
+ }
1188
+
1189
+ @keyframes fadeInDown {
1190
+ from {
1191
+ opacity: 0;
1192
+ -webkit-transform: translate3d(0, -100%, 0);
1193
+ transform: translate3d(0, -100%, 0);
1194
+ }
1195
+
1196
+ 100% {
1197
+ opacity: 1;
1198
+ -webkit-transform: none;
1199
+ transform: none;
1200
+ }
1201
+ }
1202
+
1203
+ .fadeInDown {
1204
+ -webkit-animation-name: fadeInDown;
1205
+ animation-name: fadeInDown;
1206
+ }
1207
+
1208
+ @-webkit-keyframes fadeInDownBig {
1209
+ from {
1210
+ opacity: 0;
1211
+ -webkit-transform: translate3d(0, -2000px, 0);
1212
+ transform: translate3d(0, -2000px, 0);
1213
+ }
1214
+
1215
+ 100% {
1216
+ opacity: 1;
1217
+ -webkit-transform: none;
1218
+ transform: none;
1219
+ }
1220
+ }
1221
+
1222
+ @keyframes fadeInDownBig {
1223
+ from {
1224
+ opacity: 0;
1225
+ -webkit-transform: translate3d(0, -2000px, 0);
1226
+ transform: translate3d(0, -2000px, 0);
1227
+ }
1228
+
1229
+ 100% {
1230
+ opacity: 1;
1231
+ -webkit-transform: none;
1232
+ transform: none;
1233
+ }
1234
+ }
1235
+
1236
+ .fadeInDownBig {
1237
+ -webkit-animation-name: fadeInDownBig;
1238
+ animation-name: fadeInDownBig;
1239
+ }
1240
+
1241
+ @-webkit-keyframes fadeInLeft {
1242
+ from {
1243
+ opacity: 0;
1244
+ -webkit-transform: translate3d(-100%, 0, 0);
1245
+ transform: translate3d(-100%, 0, 0);
1246
+ }
1247
+
1248
+ 100% {
1249
+ opacity: 1;
1250
+ -webkit-transform: none;
1251
+ transform: none;
1252
+ }
1253
+ }
1254
+
1255
+ @keyframes fadeInLeft {
1256
+ from {
1257
+ opacity: 0;
1258
+ -webkit-transform: translate3d(-100%, 0, 0);
1259
+ transform: translate3d(-100%, 0, 0);
1260
+ }
1261
+
1262
+ 100% {
1263
+ opacity: 1;
1264
+ -webkit-transform: none;
1265
+ transform: none;
1266
+ }
1267
+ }
1268
+
1269
+ .fadeInLeft {
1270
+ -webkit-animation-name: fadeInLeft;
1271
+ animation-name: fadeInLeft;
1272
+ }
1273
+
1274
+ @-webkit-keyframes fadeInLeftBig {
1275
+ from {
1276
+ opacity: 0;
1277
+ -webkit-transform: translate3d(-2000px, 0, 0);
1278
+ transform: translate3d(-2000px, 0, 0);
1279
+ }
1280
+
1281
+ 100% {
1282
+ opacity: 1;
1283
+ -webkit-transform: none;
1284
+ transform: none;
1285
+ }
1286
+ }
1287
+
1288
+ @keyframes fadeInLeftBig {
1289
+ from {
1290
+ opacity: 0;
1291
+ -webkit-transform: translate3d(-2000px, 0, 0);
1292
+ transform: translate3d(-2000px, 0, 0);
1293
+ }
1294
+
1295
+ 100% {
1296
+ opacity: 1;
1297
+ -webkit-transform: none;
1298
+ transform: none;
1299
+ }
1300
+ }
1301
+
1302
+ .fadeInLeftBig {
1303
+ -webkit-animation-name: fadeInLeftBig;
1304
+ animation-name: fadeInLeftBig;
1305
+ }
1306
+
1307
+ @-webkit-keyframes fadeInRight {
1308
+ from {
1309
+ opacity: 0;
1310
+ -webkit-transform: translate3d(100%, 0, 0);
1311
+ transform: translate3d(100%, 0, 0);
1312
+ }
1313
+
1314
+ 100% {
1315
+ opacity: 1;
1316
+ -webkit-transform: none;
1317
+ transform: none;
1318
+ }
1319
+ }
1320
+
1321
+ @keyframes fadeInRight {
1322
+ from {
1323
+ opacity: 0;
1324
+ -webkit-transform: translate3d(100%, 0, 0);
1325
+ transform: translate3d(100%, 0, 0);
1326
+ }
1327
+
1328
+ 100% {
1329
+ opacity: 1;
1330
+ -webkit-transform: none;
1331
+ transform: none;
1332
+ }
1333
+ }
1334
+
1335
+ .fadeInRight {
1336
+ -webkit-animation-name: fadeInRight;
1337
+ animation-name: fadeInRight;
1338
+ }
1339
+
1340
+ @-webkit-keyframes fadeInRightBig {
1341
+ from {
1342
+ opacity: 0;
1343
+ -webkit-transform: translate3d(2000px, 0, 0);
1344
+ transform: translate3d(2000px, 0, 0);
1345
+ }
1346
+
1347
+ 100% {
1348
+ opacity: 1;
1349
+ -webkit-transform: none;
1350
+ transform: none;
1351
+ }
1352
+ }
1353
+
1354
+ @keyframes fadeInRightBig {
1355
+ from {
1356
+ opacity: 0;
1357
+ -webkit-transform: translate3d(2000px, 0, 0);
1358
+ transform: translate3d(2000px, 0, 0);
1359
+ }
1360
+
1361
+ 100% {
1362
+ opacity: 1;
1363
+ -webkit-transform: none;
1364
+ transform: none;
1365
+ }
1366
+ }
1367
+
1368
+ .fadeInRightBig {
1369
+ -webkit-animation-name: fadeInRightBig;
1370
+ animation-name: fadeInRightBig;
1371
+ }
1372
+
1373
+ @-webkit-keyframes fadeInUp {
1374
+ from {
1375
+ opacity: 0;
1376
+ -webkit-transform: translate3d(0, 100%, 0);
1377
+ transform: translate3d(0, 100%, 0);
1378
+ }
1379
+
1380
+ 100% {
1381
+ opacity: 1;
1382
+ -webkit-transform: none;
1383
+ transform: none;
1384
+ }
1385
+ }
1386
+
1387
+ @keyframes fadeInUp {
1388
+ from {
1389
+ opacity: 0;
1390
+ -webkit-transform: translate3d(0, 100%, 0);
1391
+ transform: translate3d(0, 100%, 0);
1392
+ }
1393
+
1394
+ 100% {
1395
+ opacity: 1;
1396
+ -webkit-transform: none;
1397
+ transform: none;
1398
+ }
1399
+ }
1400
+
1401
+ .fadeInUp {
1402
+ -webkit-animation-name: fadeInUp;
1403
+ animation-name: fadeInUp;
1404
+ }
1405
+
1406
+ @-webkit-keyframes fadeInUpBig {
1407
+ from {
1408
+ opacity: 0;
1409
+ -webkit-transform: translate3d(0, 2000px, 0);
1410
+ transform: translate3d(0, 2000px, 0);
1411
+ }
1412
+
1413
+ 100% {
1414
+ opacity: 1;
1415
+ -webkit-transform: none;
1416
+ transform: none;
1417
+ }
1418
+ }
1419
+
1420
+ @keyframes fadeInUpBig {
1421
+ from {
1422
+ opacity: 0;
1423
+ -webkit-transform: translate3d(0, 2000px, 0);
1424
+ transform: translate3d(0, 2000px, 0);
1425
+ }
1426
+
1427
+ 100% {
1428
+ opacity: 1;
1429
+ -webkit-transform: none;
1430
+ transform: none;
1431
+ }
1432
+ }
1433
+
1434
+ .fadeInUpBig {
1435
+ -webkit-animation-name: fadeInUpBig;
1436
+ animation-name: fadeInUpBig;
1437
+ }
1438
+
1439
+ @-webkit-keyframes fadeOut {
1440
+ from {
1441
+ opacity: 1;
1442
+ }
1443
+
1444
+ 100% {
1445
+ opacity: 0;
1446
+ }
1447
+ }
1448
+
1449
+ @keyframes fadeOut {
1450
+ from {
1451
+ opacity: 1;
1452
+ }
1453
+
1454
+ 100% {
1455
+ opacity: 0;
1456
+ }
1457
+ }
1458
+
1459
+ .fadeOut {
1460
+ -webkit-animation-name: fadeOut;
1461
+ animation-name: fadeOut;
1462
+ }
1463
+
1464
+ @-webkit-keyframes fadeOutDown {
1465
+ from {
1466
+ opacity: 1;
1467
+ }
1468
+
1469
+ 100% {
1470
+ opacity: 0;
1471
+ -webkit-transform: translate3d(0, 100%, 0);
1472
+ transform: translate3d(0, 100%, 0);
1473
+ }
1474
+ }
1475
+
1476
+ @keyframes fadeOutDown {
1477
+ from {
1478
+ opacity: 1;
1479
+ }
1480
+
1481
+ 100% {
1482
+ opacity: 0;
1483
+ -webkit-transform: translate3d(0, 100%, 0);
1484
+ transform: translate3d(0, 100%, 0);
1485
+ }
1486
+ }
1487
+
1488
+ .fadeOutDown {
1489
+ -webkit-animation-name: fadeOutDown;
1490
+ animation-name: fadeOutDown;
1491
+ }
1492
+
1493
+ @-webkit-keyframes fadeOutDownBig {
1494
+ from {
1495
+ opacity: 1;
1496
+ }
1497
+
1498
+ 100% {
1499
+ opacity: 0;
1500
+ -webkit-transform: translate3d(0, 2000px, 0);
1501
+ transform: translate3d(0, 2000px, 0);
1502
+ }
1503
+ }
1504
+
1505
+ @keyframes fadeOutDownBig {
1506
+ from {
1507
+ opacity: 1;
1508
+ }
1509
+
1510
+ 100% {
1511
+ opacity: 0;
1512
+ -webkit-transform: translate3d(0, 2000px, 0);
1513
+ transform: translate3d(0, 2000px, 0);
1514
+ }
1515
+ }
1516
+
1517
+ .fadeOutDownBig {
1518
+ -webkit-animation-name: fadeOutDownBig;
1519
+ animation-name: fadeOutDownBig;
1520
+ }
1521
+
1522
+ @-webkit-keyframes fadeOutLeft {
1523
+ from {
1524
+ opacity: 1;
1525
+ }
1526
+
1527
+ 100% {
1528
+ opacity: 0;
1529
+ -webkit-transform: translate3d(-100%, 0, 0);
1530
+ transform: translate3d(-100%, 0, 0);
1531
+ }
1532
+ }
1533
+
1534
+ @keyframes fadeOutLeft {
1535
+ from {
1536
+ opacity: 1;
1537
+ }
1538
+
1539
+ 100% {
1540
+ opacity: 0;
1541
+ -webkit-transform: translate3d(-100%, 0, 0);
1542
+ transform: translate3d(-100%, 0, 0);
1543
+ }
1544
+ }
1545
+
1546
+ .fadeOutLeft {
1547
+ -webkit-animation-name: fadeOutLeft;
1548
+ animation-name: fadeOutLeft;
1549
+ }
1550
+
1551
+ @-webkit-keyframes fadeOutLeftBig {
1552
+ from {
1553
+ opacity: 1;
1554
+ }
1555
+
1556
+ 100% {
1557
+ opacity: 0;
1558
+ -webkit-transform: translate3d(-2000px, 0, 0);
1559
+ transform: translate3d(-2000px, 0, 0);
1560
+ }
1561
+ }
1562
+
1563
+ @keyframes fadeOutLeftBig {
1564
+ from {
1565
+ opacity: 1;
1566
+ }
1567
+
1568
+ 100% {
1569
+ opacity: 0;
1570
+ -webkit-transform: translate3d(-2000px, 0, 0);
1571
+ transform: translate3d(-2000px, 0, 0);
1572
+ }
1573
+ }
1574
+
1575
+ .fadeOutLeftBig {
1576
+ -webkit-animation-name: fadeOutLeftBig;
1577
+ animation-name: fadeOutLeftBig;
1578
+ }
1579
+
1580
+ @-webkit-keyframes fadeOutRight {
1581
+ from {
1582
+ opacity: 1;
1583
+ }
1584
+
1585
+ 100% {
1586
+ opacity: 0;
1587
+ -webkit-transform: translate3d(100%, 0, 0);
1588
+ transform: translate3d(100%, 0, 0);
1589
+ }
1590
+ }
1591
+
1592
+ @keyframes fadeOutRight {
1593
+ from {
1594
+ opacity: 1;
1595
+ }
1596
+
1597
+ 100% {
1598
+ opacity: 0;
1599
+ -webkit-transform: translate3d(100%, 0, 0);
1600
+ transform: translate3d(100%, 0, 0);
1601
+ }
1602
+ }
1603
+
1604
+ .fadeOutRight {
1605
+ -webkit-animation-name: fadeOutRight;
1606
+ animation-name: fadeOutRight;
1607
+ }
1608
+
1609
+ @-webkit-keyframes fadeOutRightBig {
1610
+ from {
1611
+ opacity: 1;
1612
+ }
1613
+
1614
+ 100% {
1615
+ opacity: 0;
1616
+ -webkit-transform: translate3d(2000px, 0, 0);
1617
+ transform: translate3d(2000px, 0, 0);
1618
+ }
1619
+ }
1620
+
1621
+ @keyframes fadeOutRightBig {
1622
+ from {
1623
+ opacity: 1;
1624
+ }
1625
+
1626
+ 100% {
1627
+ opacity: 0;
1628
+ -webkit-transform: translate3d(2000px, 0, 0);
1629
+ transform: translate3d(2000px, 0, 0);
1630
+ }
1631
+ }
1632
+
1633
+ .fadeOutRightBig {
1634
+ -webkit-animation-name: fadeOutRightBig;
1635
+ animation-name: fadeOutRightBig;
1636
+ }
1637
+
1638
+ @-webkit-keyframes fadeOutUp {
1639
+ from {
1640
+ opacity: 1;
1641
+ }
1642
+
1643
+ 100% {
1644
+ opacity: 0;
1645
+ -webkit-transform: translate3d(0, -100%, 0);
1646
+ transform: translate3d(0, -100%, 0);
1647
+ }
1648
+ }
1649
+
1650
+ @keyframes fadeOutUp {
1651
+ from {
1652
+ opacity: 1;
1653
+ }
1654
+
1655
+ 100% {
1656
+ opacity: 0;
1657
+ -webkit-transform: translate3d(0, -100%, 0);
1658
+ transform: translate3d(0, -100%, 0);
1659
+ }
1660
+ }
1661
+
1662
+ .fadeOutUp {
1663
+ -webkit-animation-name: fadeOutUp;
1664
+ animation-name: fadeOutUp;
1665
+ }
1666
+
1667
+ @-webkit-keyframes fadeOutUpBig {
1668
+ from {
1669
+ opacity: 1;
1670
+ }
1671
+
1672
+ 100% {
1673
+ opacity: 0;
1674
+ -webkit-transform: translate3d(0, -2000px, 0);
1675
+ transform: translate3d(0, -2000px, 0);
1676
+ }
1677
+ }
1678
+
1679
+ @keyframes fadeOutUpBig {
1680
+ from {
1681
+ opacity: 1;
1682
+ }
1683
+
1684
+ 100% {
1685
+ opacity: 0;
1686
+ -webkit-transform: translate3d(0, -2000px, 0);
1687
+ transform: translate3d(0, -2000px, 0);
1688
+ }
1689
+ }
1690
+
1691
+ .fadeOutUpBig {
1692
+ -webkit-animation-name: fadeOutUpBig;
1693
+ animation-name: fadeOutUpBig;
1694
+ }
1695
+
1696
+ @-webkit-keyframes flip {
1697
+ from {
1698
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1699
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1700
+ -webkit-animation-timing-function: ease-out;
1701
+ animation-timing-function: ease-out;
1702
+ }
1703
+
1704
+ 40% {
1705
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1706
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1707
+ -webkit-animation-timing-function: ease-out;
1708
+ animation-timing-function: ease-out;
1709
+ }
1710
+
1711
+ 50% {
1712
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1713
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1714
+ -webkit-animation-timing-function: ease-in;
1715
+ animation-timing-function: ease-in;
1716
+ }
1717
+
1718
+ 80% {
1719
+ -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
1720
+ transform: perspective(400px) scale3d(.95, .95, .95);
1721
+ -webkit-animation-timing-function: ease-in;
1722
+ animation-timing-function: ease-in;
1723
+ }
1724
+
1725
+ 100% {
1726
+ -webkit-transform: perspective(400px);
1727
+ transform: perspective(400px);
1728
+ -webkit-animation-timing-function: ease-in;
1729
+ animation-timing-function: ease-in;
1730
+ }
1731
+ }
1732
+
1733
+ @keyframes flip {
1734
+ from {
1735
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1736
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1737
+ -webkit-animation-timing-function: ease-out;
1738
+ animation-timing-function: ease-out;
1739
+ }
1740
+
1741
+ 40% {
1742
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1743
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1744
+ -webkit-animation-timing-function: ease-out;
1745
+ animation-timing-function: ease-out;
1746
+ }
1747
+
1748
+ 50% {
1749
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1750
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1751
+ -webkit-animation-timing-function: ease-in;
1752
+ animation-timing-function: ease-in;
1753
+ }
1754
+
1755
+ 80% {
1756
+ -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
1757
+ transform: perspective(400px) scale3d(.95, .95, .95);
1758
+ -webkit-animation-timing-function: ease-in;
1759
+ animation-timing-function: ease-in;
1760
+ }
1761
+
1762
+ 100% {
1763
+ -webkit-transform: perspective(400px);
1764
+ transform: perspective(400px);
1765
+ -webkit-animation-timing-function: ease-in;
1766
+ animation-timing-function: ease-in;
1767
+ }
1768
+ }
1769
+
1770
+ .animated.flip {
1771
+ -webkit-backface-visibility: visible;
1772
+ backface-visibility: visible;
1773
+ -webkit-animation-name: flip;
1774
+ animation-name: flip;
1775
+ }
1776
+
1777
+ @-webkit-keyframes flipInX {
1778
+ from {
1779
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1780
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1781
+ -webkit-animation-timing-function: ease-in;
1782
+ animation-timing-function: ease-in;
1783
+ opacity: 0;
1784
+ }
1785
+
1786
+ 40% {
1787
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1788
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1789
+ -webkit-animation-timing-function: ease-in;
1790
+ animation-timing-function: ease-in;
1791
+ }
1792
+
1793
+ 60% {
1794
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1795
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1796
+ opacity: 1;
1797
+ }
1798
+
1799
+ 80% {
1800
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1801
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1802
+ }
1803
+
1804
+ 100% {
1805
+ -webkit-transform: perspective(400px);
1806
+ transform: perspective(400px);
1807
+ }
1808
+ }
1809
+
1810
+ @keyframes flipInX {
1811
+ from {
1812
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1813
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1814
+ -webkit-animation-timing-function: ease-in;
1815
+ animation-timing-function: ease-in;
1816
+ opacity: 0;
1817
+ }
1818
+
1819
+ 40% {
1820
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1821
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1822
+ -webkit-animation-timing-function: ease-in;
1823
+ animation-timing-function: ease-in;
1824
+ }
1825
+
1826
+ 60% {
1827
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1828
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1829
+ opacity: 1;
1830
+ }
1831
+
1832
+ 80% {
1833
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1834
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1835
+ }
1836
+
1837
+ 100% {
1838
+ -webkit-transform: perspective(400px);
1839
+ transform: perspective(400px);
1840
+ }
1841
+ }
1842
+
1843
+ .flipInX {
1844
+ -webkit-backface-visibility: visible !important;
1845
+ backface-visibility: visible !important;
1846
+ -webkit-animation-name: flipInX;
1847
+ animation-name: flipInX;
1848
+ }
1849
+
1850
+ @-webkit-keyframes flipInY {
1851
+ from {
1852
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1853
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1854
+ -webkit-animation-timing-function: ease-in;
1855
+ animation-timing-function: ease-in;
1856
+ opacity: 0;
1857
+ }
1858
+
1859
+ 40% {
1860
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1861
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1862
+ -webkit-animation-timing-function: ease-in;
1863
+ animation-timing-function: ease-in;
1864
+ }
1865
+
1866
+ 60% {
1867
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1868
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1869
+ opacity: 1;
1870
+ }
1871
+
1872
+ 80% {
1873
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1874
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1875
+ }
1876
+
1877
+ 100% {
1878
+ -webkit-transform: perspective(400px);
1879
+ transform: perspective(400px);
1880
+ }
1881
+ }
1882
+
1883
+ @keyframes flipInY {
1884
+ from {
1885
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1886
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1887
+ -webkit-animation-timing-function: ease-in;
1888
+ animation-timing-function: ease-in;
1889
+ opacity: 0;
1890
+ }
1891
+
1892
+ 40% {
1893
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1894
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1895
+ -webkit-animation-timing-function: ease-in;
1896
+ animation-timing-function: ease-in;
1897
+ }
1898
+
1899
+ 60% {
1900
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1901
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1902
+ opacity: 1;
1903
+ }
1904
+
1905
+ 80% {
1906
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1907
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1908
+ }
1909
+
1910
+ 100% {
1911
+ -webkit-transform: perspective(400px);
1912
+ transform: perspective(400px);
1913
+ }
1914
+ }
1915
+
1916
+ .flipInY {
1917
+ -webkit-backface-visibility: visible !important;
1918
+ backface-visibility: visible !important;
1919
+ -webkit-animation-name: flipInY;
1920
+ animation-name: flipInY;
1921
+ }
1922
+
1923
+ @-webkit-keyframes flipOutX {
1924
+ from {
1925
+ -webkit-transform: perspective(400px);
1926
+ transform: perspective(400px);
1927
+ }
1928
+
1929
+ 30% {
1930
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1931
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1932
+ opacity: 1;
1933
+ }
1934
+
1935
+ 100% {
1936
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1937
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1938
+ opacity: 0;
1939
+ }
1940
+ }
1941
+
1942
+ @keyframes flipOutX {
1943
+ from {
1944
+ -webkit-transform: perspective(400px);
1945
+ transform: perspective(400px);
1946
+ }
1947
+
1948
+ 30% {
1949
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1950
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1951
+ opacity: 1;
1952
+ }
1953
+
1954
+ 100% {
1955
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1956
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1957
+ opacity: 0;
1958
+ }
1959
+ }
1960
+
1961
+ .flipOutX {
1962
+ -webkit-animation-name: flipOutX;
1963
+ animation-name: flipOutX;
1964
+ -webkit-backface-visibility: visible !important;
1965
+ backface-visibility: visible !important;
1966
+ }
1967
+
1968
+ @-webkit-keyframes flipOutY {
1969
+ from {
1970
+ -webkit-transform: perspective(400px);
1971
+ transform: perspective(400px);
1972
+ }
1973
+
1974
+ 30% {
1975
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
1976
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
1977
+ opacity: 1;
1978
+ }
1979
+
1980
+ 100% {
1981
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1982
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1983
+ opacity: 0;
1984
+ }
1985
+ }
1986
+
1987
+ @keyframes flipOutY {
1988
+ from {
1989
+ -webkit-transform: perspective(400px);
1990
+ transform: perspective(400px);
1991
+ }
1992
+
1993
+ 30% {
1994
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
1995
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
1996
+ opacity: 1;
1997
+ }
1998
+
1999
+ 100% {
2000
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2001
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2002
+ opacity: 0;
2003
+ }
2004
+ }
2005
+
2006
+ .flipOutY {
2007
+ -webkit-backface-visibility: visible !important;
2008
+ backface-visibility: visible !important;
2009
+ -webkit-animation-name: flipOutY;
2010
+ animation-name: flipOutY;
2011
+ }
2012
+
2013
+ @-webkit-keyframes lightSpeedIn {
2014
+ from {
2015
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2016
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
2017
+ opacity: 0;
2018
+ }
2019
+
2020
+ 60% {
2021
+ -webkit-transform: skewX(20deg);
2022
+ transform: skewX(20deg);
2023
+ opacity: 1;
2024
+ }
2025
+
2026
+ 80% {
2027
+ -webkit-transform: skewX(-5deg);
2028
+ transform: skewX(-5deg);
2029
+ opacity: 1;
2030
+ }
2031
+
2032
+ 100% {
2033
+ -webkit-transform: none;
2034
+ transform: none;
2035
+ opacity: 1;
2036
+ }
2037
+ }
2038
+
2039
+ @keyframes lightSpeedIn {
2040
+ from {
2041
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2042
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
2043
+ opacity: 0;
2044
+ }
2045
+
2046
+ 60% {
2047
+ -webkit-transform: skewX(20deg);
2048
+ transform: skewX(20deg);
2049
+ opacity: 1;
2050
+ }
2051
+
2052
+ 80% {
2053
+ -webkit-transform: skewX(-5deg);
2054
+ transform: skewX(-5deg);
2055
+ opacity: 1;
2056
+ }
2057
+
2058
+ 100% {
2059
+ -webkit-transform: none;
2060
+ transform: none;
2061
+ opacity: 1;
2062
+ }
2063
+ }
2064
+
2065
+ .lightSpeedIn {
2066
+ -webkit-animation-name: lightSpeedIn;
2067
+ animation-name: lightSpeedIn;
2068
+ -webkit-animation-timing-function: ease-out;
2069
+ animation-timing-function: ease-out;
2070
+ }
2071
+
2072
+ @-webkit-keyframes lightSpeedOut {
2073
+ from {
2074
+ opacity: 1;
2075
+ }
2076
+
2077
+ 100% {
2078
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2079
+ transform: translate3d(100%, 0, 0) skewX(30deg);
2080
+ opacity: 0;
2081
+ }
2082
+ }
2083
+
2084
+ @keyframes lightSpeedOut {
2085
+ from {
2086
+ opacity: 1;
2087
+ }
2088
+
2089
+ 100% {
2090
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2091
+ transform: translate3d(100%, 0, 0) skewX(30deg);
2092
+ opacity: 0;
2093
+ }
2094
+ }
2095
+
2096
+ .lightSpeedOut {
2097
+ -webkit-animation-name: lightSpeedOut;
2098
+ animation-name: lightSpeedOut;
2099
+ -webkit-animation-timing-function: ease-in;
2100
+ animation-timing-function: ease-in;
2101
+ }
2102
+
2103
+ @-webkit-keyframes rotateIn {
2104
+ from {
2105
+ -webkit-transform-origin: center;
2106
+ transform-origin: center;
2107
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
2108
+ transform: rotate3d(0, 0, 1, -200deg);
2109
+ opacity: 0;
2110
+ }
2111
+
2112
+ 100% {
2113
+ -webkit-transform-origin: center;
2114
+ transform-origin: center;
2115
+ -webkit-transform: none;
2116
+ transform: none;
2117
+ opacity: 1;
2118
+ }
2119
+ }
2120
+
2121
+ @keyframes rotateIn {
2122
+ from {
2123
+ -webkit-transform-origin: center;
2124
+ transform-origin: center;
2125
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
2126
+ transform: rotate3d(0, 0, 1, -200deg);
2127
+ opacity: 0;
2128
+ }
2129
+
2130
+ 100% {
2131
+ -webkit-transform-origin: center;
2132
+ transform-origin: center;
2133
+ -webkit-transform: none;
2134
+ transform: none;
2135
+ opacity: 1;
2136
+ }
2137
+ }
2138
+
2139
+ .rotateIn {
2140
+ -webkit-animation-name: rotateIn;
2141
+ animation-name: rotateIn;
2142
+ }
2143
+
2144
+ @-webkit-keyframes rotateInDownLeft {
2145
+ from {
2146
+ -webkit-transform-origin: left bottom;
2147
+ transform-origin: left bottom;
2148
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2149
+ transform: rotate3d(0, 0, 1, -45deg);
2150
+ opacity: 0;
2151
+ }
2152
+
2153
+ 100% {
2154
+ -webkit-transform-origin: left bottom;
2155
+ transform-origin: left bottom;
2156
+ -webkit-transform: none;
2157
+ transform: none;
2158
+ opacity: 1;
2159
+ }
2160
+ }
2161
+
2162
+ @keyframes rotateInDownLeft {
2163
+ from {
2164
+ -webkit-transform-origin: left bottom;
2165
+ transform-origin: left bottom;
2166
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2167
+ transform: rotate3d(0, 0, 1, -45deg);
2168
+ opacity: 0;
2169
+ }
2170
+
2171
+ 100% {
2172
+ -webkit-transform-origin: left bottom;
2173
+ transform-origin: left bottom;
2174
+ -webkit-transform: none;
2175
+ transform: none;
2176
+ opacity: 1;
2177
+ }
2178
+ }
2179
+
2180
+ .rotateInDownLeft {
2181
+ -webkit-animation-name: rotateInDownLeft;
2182
+ animation-name: rotateInDownLeft;
2183
+ }
2184
+
2185
+ @-webkit-keyframes rotateInDownRight {
2186
+ from {
2187
+ -webkit-transform-origin: right bottom;
2188
+ transform-origin: right bottom;
2189
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2190
+ transform: rotate3d(0, 0, 1, 45deg);
2191
+ opacity: 0;
2192
+ }
2193
+
2194
+ 100% {
2195
+ -webkit-transform-origin: right bottom;
2196
+ transform-origin: right bottom;
2197
+ -webkit-transform: none;
2198
+ transform: none;
2199
+ opacity: 1;
2200
+ }
2201
+ }
2202
+
2203
+ @keyframes rotateInDownRight {
2204
+ from {
2205
+ -webkit-transform-origin: right bottom;
2206
+ transform-origin: right bottom;
2207
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2208
+ transform: rotate3d(0, 0, 1, 45deg);
2209
+ opacity: 0;
2210
+ }
2211
+
2212
+ 100% {
2213
+ -webkit-transform-origin: right bottom;
2214
+ transform-origin: right bottom;
2215
+ -webkit-transform: none;
2216
+ transform: none;
2217
+ opacity: 1;
2218
+ }
2219
+ }
2220
+
2221
+ .rotateInDownRight {
2222
+ -webkit-animation-name: rotateInDownRight;
2223
+ animation-name: rotateInDownRight;
2224
+ }
2225
+
2226
+ @-webkit-keyframes rotateInUpLeft {
2227
+ from {
2228
+ -webkit-transform-origin: left bottom;
2229
+ transform-origin: left bottom;
2230
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2231
+ transform: rotate3d(0, 0, 1, 45deg);
2232
+ opacity: 0;
2233
+ }
2234
+
2235
+ 100% {
2236
+ -webkit-transform-origin: left bottom;
2237
+ transform-origin: left bottom;
2238
+ -webkit-transform: none;
2239
+ transform: none;
2240
+ opacity: 1;
2241
+ }
2242
+ }
2243
+
2244
+ @keyframes rotateInUpLeft {
2245
+ from {
2246
+ -webkit-transform-origin: left bottom;
2247
+ transform-origin: left bottom;
2248
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2249
+ transform: rotate3d(0, 0, 1, 45deg);
2250
+ opacity: 0;
2251
+ }
2252
+
2253
+ 100% {
2254
+ -webkit-transform-origin: left bottom;
2255
+ transform-origin: left bottom;
2256
+ -webkit-transform: none;
2257
+ transform: none;
2258
+ opacity: 1;
2259
+ }
2260
+ }
2261
+
2262
+ .rotateInUpLeft {
2263
+ -webkit-animation-name: rotateInUpLeft;
2264
+ animation-name: rotateInUpLeft;
2265
+ }
2266
+
2267
+ @-webkit-keyframes rotateInUpRight {
2268
+ from {
2269
+ -webkit-transform-origin: right bottom;
2270
+ transform-origin: right bottom;
2271
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
2272
+ transform: rotate3d(0, 0, 1, -90deg);
2273
+ opacity: 0;
2274
+ }
2275
+
2276
+ 100% {
2277
+ -webkit-transform-origin: right bottom;
2278
+ transform-origin: right bottom;
2279
+ -webkit-transform: none;
2280
+ transform: none;
2281
+ opacity: 1;
2282
+ }
2283
+ }
2284
+
2285
+ @keyframes rotateInUpRight {
2286
+ from {
2287
+ -webkit-transform-origin: right bottom;
2288
+ transform-origin: right bottom;
2289
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
2290
+ transform: rotate3d(0, 0, 1, -90deg);
2291
+ opacity: 0;
2292
+ }
2293
+
2294
+ 100% {
2295
+ -webkit-transform-origin: right bottom;
2296
+ transform-origin: right bottom;
2297
+ -webkit-transform: none;
2298
+ transform: none;
2299
+ opacity: 1;
2300
+ }
2301
+ }
2302
+
2303
+ .rotateInUpRight {
2304
+ -webkit-animation-name: rotateInUpRight;
2305
+ animation-name: rotateInUpRight;
2306
+ }
2307
+
2308
+ @-webkit-keyframes rotateOut {
2309
+ from {
2310
+ -webkit-transform-origin: center;
2311
+ transform-origin: center;
2312
+ opacity: 1;
2313
+ }
2314
+
2315
+ 100% {
2316
+ -webkit-transform-origin: center;
2317
+ transform-origin: center;
2318
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
2319
+ transform: rotate3d(0, 0, 1, 200deg);
2320
+ opacity: 0;
2321
+ }
2322
+ }
2323
+
2324
+ @keyframes rotateOut {
2325
+ from {
2326
+ -webkit-transform-origin: center;
2327
+ transform-origin: center;
2328
+ opacity: 1;
2329
+ }
2330
+
2331
+ 100% {
2332
+ -webkit-transform-origin: center;
2333
+ transform-origin: center;
2334
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
2335
+ transform: rotate3d(0, 0, 1, 200deg);
2336
+ opacity: 0;
2337
+ }
2338
+ }
2339
+
2340
+ .rotateOut {
2341
+ -webkit-animation-name: rotateOut;
2342
+ animation-name: rotateOut;
2343
+ }
2344
+
2345
+ @-webkit-keyframes rotateOutDownLeft {
2346
+ from {
2347
+ -webkit-transform-origin: left bottom;
2348
+ transform-origin: left bottom;
2349
+ opacity: 1;
2350
+ }
2351
+
2352
+ 100% {
2353
+ -webkit-transform-origin: left bottom;
2354
+ transform-origin: left bottom;
2355
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2356
+ transform: rotate3d(0, 0, 1, 45deg);
2357
+ opacity: 0;
2358
+ }
2359
+ }
2360
+
2361
+ @keyframes rotateOutDownLeft {
2362
+ from {
2363
+ -webkit-transform-origin: left bottom;
2364
+ transform-origin: left bottom;
2365
+ opacity: 1;
2366
+ }
2367
+
2368
+ 100% {
2369
+ -webkit-transform-origin: left bottom;
2370
+ transform-origin: left bottom;
2371
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2372
+ transform: rotate3d(0, 0, 1, 45deg);
2373
+ opacity: 0;
2374
+ }
2375
+ }
2376
+
2377
+ .rotateOutDownLeft {
2378
+ -webkit-animation-name: rotateOutDownLeft;
2379
+ animation-name: rotateOutDownLeft;
2380
+ }
2381
+
2382
+ @-webkit-keyframes rotateOutDownRight {
2383
+ from {
2384
+ -webkit-transform-origin: right bottom;
2385
+ transform-origin: right bottom;
2386
+ opacity: 1;
2387
+ }
2388
+
2389
+ 100% {
2390
+ -webkit-transform-origin: right bottom;
2391
+ transform-origin: right bottom;
2392
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2393
+ transform: rotate3d(0, 0, 1, -45deg);
2394
+ opacity: 0;
2395
+ }
2396
+ }
2397
+
2398
+ @keyframes rotateOutDownRight {
2399
+ from {
2400
+ -webkit-transform-origin: right bottom;
2401
+ transform-origin: right bottom;
2402
+ opacity: 1;
2403
+ }
2404
+
2405
+ 100% {
2406
+ -webkit-transform-origin: right bottom;
2407
+ transform-origin: right bottom;
2408
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2409
+ transform: rotate3d(0, 0, 1, -45deg);
2410
+ opacity: 0;
2411
+ }
2412
+ }
2413
+
2414
+ .rotateOutDownRight {
2415
+ -webkit-animation-name: rotateOutDownRight;
2416
+ animation-name: rotateOutDownRight;
2417
+ }
2418
+
2419
+ @-webkit-keyframes rotateOutUpLeft {
2420
+ from {
2421
+ -webkit-transform-origin: left bottom;
2422
+ transform-origin: left bottom;
2423
+ opacity: 1;
2424
+ }
2425
+
2426
+ 100% {
2427
+ -webkit-transform-origin: left bottom;
2428
+ transform-origin: left bottom;
2429
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2430
+ transform: rotate3d(0, 0, 1, -45deg);
2431
+ opacity: 0;
2432
+ }
2433
+ }
2434
+
2435
+ @keyframes rotateOutUpLeft {
2436
+ from {
2437
+ -webkit-transform-origin: left bottom;
2438
+ transform-origin: left bottom;
2439
+ opacity: 1;
2440
+ }
2441
+
2442
+ 100% {
2443
+ -webkit-transform-origin: left bottom;
2444
+ transform-origin: left bottom;
2445
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2446
+ transform: rotate3d(0, 0, 1, -45deg);
2447
+ opacity: 0;
2448
+ }
2449
+ }
2450
+
2451
+ .rotateOutUpLeft {
2452
+ -webkit-animation-name: rotateOutUpLeft;
2453
+ animation-name: rotateOutUpLeft;
2454
+ }
2455
+
2456
+ @-webkit-keyframes rotateOutUpRight {
2457
+ from {
2458
+ -webkit-transform-origin: right bottom;
2459
+ transform-origin: right bottom;
2460
+ opacity: 1;
2461
+ }
2462
+
2463
+ 100% {
2464
+ -webkit-transform-origin: right bottom;
2465
+ transform-origin: right bottom;
2466
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
2467
+ transform: rotate3d(0, 0, 1, 90deg);
2468
+ opacity: 0;
2469
+ }
2470
+ }
2471
+
2472
+ @keyframes rotateOutUpRight {
2473
+ from {
2474
+ -webkit-transform-origin: right bottom;
2475
+ transform-origin: right bottom;
2476
+ opacity: 1;
2477
+ }
2478
+
2479
+ 100% {
2480
+ -webkit-transform-origin: right bottom;
2481
+ transform-origin: right bottom;
2482
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
2483
+ transform: rotate3d(0, 0, 1, 90deg);
2484
+ opacity: 0;
2485
+ }
2486
+ }
2487
+
2488
+ .rotateOutUpRight {
2489
+ -webkit-animation-name: rotateOutUpRight;
2490
+ animation-name: rotateOutUpRight;
2491
+ }
2492
+
2493
+ @-webkit-keyframes hinge {
2494
+ 0% {
2495
+ -webkit-transform-origin: top left;
2496
+ transform-origin: top left;
2497
+ -webkit-animation-timing-function: ease-in-out;
2498
+ animation-timing-function: ease-in-out;
2499
+ }
2500
+
2501
+ 20%, 60% {
2502
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
2503
+ transform: rotate3d(0, 0, 1, 80deg);
2504
+ -webkit-transform-origin: top left;
2505
+ transform-origin: top left;
2506
+ -webkit-animation-timing-function: ease-in-out;
2507
+ animation-timing-function: ease-in-out;
2508
+ }
2509
+
2510
+ 40%, 80% {
2511
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
2512
+ transform: rotate3d(0, 0, 1, 60deg);
2513
+ -webkit-transform-origin: top left;
2514
+ transform-origin: top left;
2515
+ -webkit-animation-timing-function: ease-in-out;
2516
+ animation-timing-function: ease-in-out;
2517
+ opacity: 1;
2518
+ }
2519
+
2520
+ 100% {
2521
+ -webkit-transform: translate3d(0, 700px, 0);
2522
+ transform: translate3d(0, 700px, 0);
2523
+ opacity: 0;
2524
+ }
2525
+ }
2526
+
2527
+ @keyframes hinge {
2528
+ 0% {
2529
+ -webkit-transform-origin: top left;
2530
+ transform-origin: top left;
2531
+ -webkit-animation-timing-function: ease-in-out;
2532
+ animation-timing-function: ease-in-out;
2533
+ }
2534
+
2535
+ 20%, 60% {
2536
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
2537
+ transform: rotate3d(0, 0, 1, 80deg);
2538
+ -webkit-transform-origin: top left;
2539
+ transform-origin: top left;
2540
+ -webkit-animation-timing-function: ease-in-out;
2541
+ animation-timing-function: ease-in-out;
2542
+ }
2543
+
2544
+ 40%, 80% {
2545
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
2546
+ transform: rotate3d(0, 0, 1, 60deg);
2547
+ -webkit-transform-origin: top left;
2548
+ transform-origin: top left;
2549
+ -webkit-animation-timing-function: ease-in-out;
2550
+ animation-timing-function: ease-in-out;
2551
+ opacity: 1;
2552
+ }
2553
+
2554
+ 100% {
2555
+ -webkit-transform: translate3d(0, 700px, 0);
2556
+ transform: translate3d(0, 700px, 0);
2557
+ opacity: 0;
2558
+ }
2559
+ }
2560
+
2561
+ .hinge {
2562
+ -webkit-animation-name: hinge;
2563
+ animation-name: hinge;
2564
+ }
2565
+
2566
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2567
+
2568
+ @-webkit-keyframes rollIn {
2569
+ from {
2570
+ opacity: 0;
2571
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2572
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2573
+ }
2574
+
2575
+ 100% {
2576
+ opacity: 1;
2577
+ -webkit-transform: none;
2578
+ transform: none;
2579
+ }
2580
+ }
2581
+
2582
+ @keyframes rollIn {
2583
+ from {
2584
+ opacity: 0;
2585
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2586
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2587
+ }
2588
+
2589
+ 100% {
2590
+ opacity: 1;
2591
+ -webkit-transform: none;
2592
+ transform: none;
2593
+ }
2594
+ }
2595
+
2596
+ .rollIn {
2597
+ -webkit-animation-name: rollIn;
2598
+ animation-name: rollIn;
2599
+ }
2600
+
2601
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2602
+
2603
+ @-webkit-keyframes rollOut {
2604
+ from {
2605
+ opacity: 1;
2606
+ }
2607
+
2608
+ 100% {
2609
+ opacity: 0;
2610
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2611
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2612
+ }
2613
+ }
2614
+
2615
+ @keyframes rollOut {
2616
+ from {
2617
+ opacity: 1;
2618
+ }
2619
+
2620
+ 100% {
2621
+ opacity: 0;
2622
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2623
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2624
+ }
2625
+ }
2626
+
2627
+ .rollOut {
2628
+ -webkit-animation-name: rollOut;
2629
+ animation-name: rollOut;
2630
+ }
2631
+
2632
+ @-webkit-keyframes zoomIn {
2633
+ from {
2634
+ opacity: 0;
2635
+ -webkit-transform: scale3d(.3, .3, .3);
2636
+ transform: scale3d(.3, .3, .3);
2637
+ }
2638
+
2639
+ 50% {
2640
+ opacity: 1;
2641
+ }
2642
+ }
2643
+
2644
+ @keyframes zoomIn {
2645
+ from {
2646
+ opacity: 0;
2647
+ -webkit-transform: scale3d(.3, .3, .3);
2648
+ transform: scale3d(.3, .3, .3);
2649
+ }
2650
+
2651
+ 50% {
2652
+ opacity: 1;
2653
+ }
2654
+ }
2655
+
2656
+ .zoomIn {
2657
+ -webkit-animation-name: zoomIn;
2658
+ animation-name: zoomIn;
2659
+ }
2660
+
2661
+ @-webkit-keyframes zoomInDown {
2662
+ from {
2663
+ opacity: 0;
2664
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2665
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2666
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2667
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2668
+ }
2669
+
2670
+ 60% {
2671
+ opacity: 1;
2672
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2673
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2674
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2675
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2676
+ }
2677
+ }
2678
+
2679
+ @keyframes zoomInDown {
2680
+ from {
2681
+ opacity: 0;
2682
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2683
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2684
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2685
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2686
+ }
2687
+
2688
+ 60% {
2689
+ opacity: 1;
2690
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2691
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2692
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2693
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2694
+ }
2695
+ }
2696
+
2697
+ .zoomInDown {
2698
+ -webkit-animation-name: zoomInDown;
2699
+ animation-name: zoomInDown;
2700
+ }
2701
+
2702
+ @-webkit-keyframes zoomInLeft {
2703
+ from {
2704
+ opacity: 0;
2705
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2706
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2707
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2708
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2709
+ }
2710
+
2711
+ 60% {
2712
+ opacity: 1;
2713
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2714
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2715
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2716
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2717
+ }
2718
+ }
2719
+
2720
+ @keyframes zoomInLeft {
2721
+ from {
2722
+ opacity: 0;
2723
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2724
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2725
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2726
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2727
+ }
2728
+
2729
+ 60% {
2730
+ opacity: 1;
2731
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2732
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2733
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2734
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2735
+ }
2736
+ }
2737
+
2738
+ .zoomInLeft {
2739
+ -webkit-animation-name: zoomInLeft;
2740
+ animation-name: zoomInLeft;
2741
+ }
2742
+
2743
+ @-webkit-keyframes zoomInRight {
2744
+ from {
2745
+ opacity: 0;
2746
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2747
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2748
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2749
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2750
+ }
2751
+
2752
+ 60% {
2753
+ opacity: 1;
2754
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2755
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2756
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2757
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2758
+ }
2759
+ }
2760
+
2761
+ @keyframes zoomInRight {
2762
+ from {
2763
+ opacity: 0;
2764
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2765
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2766
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2767
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2768
+ }
2769
+
2770
+ 60% {
2771
+ opacity: 1;
2772
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2773
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2774
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2775
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2776
+ }
2777
+ }
2778
+
2779
+ .zoomInRight {
2780
+ -webkit-animation-name: zoomInRight;
2781
+ animation-name: zoomInRight;
2782
+ }
2783
+
2784
+ @-webkit-keyframes zoomInUp {
2785
+ from {
2786
+ opacity: 0;
2787
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2788
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2789
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2790
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2791
+ }
2792
+
2793
+ 60% {
2794
+ opacity: 1;
2795
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2796
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2797
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2798
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2799
+ }
2800
+ }
2801
+
2802
+ @keyframes zoomInUp {
2803
+ from {
2804
+ opacity: 0;
2805
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2806
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2807
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2808
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2809
+ }
2810
+
2811
+ 60% {
2812
+ opacity: 1;
2813
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2814
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2815
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2816
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2817
+ }
2818
+ }
2819
+
2820
+ .zoomInUp {
2821
+ -webkit-animation-name: zoomInUp;
2822
+ animation-name: zoomInUp;
2823
+ }
2824
+
2825
+ @-webkit-keyframes zoomOut {
2826
+ from {
2827
+ opacity: 1;
2828
+ }
2829
+
2830
+ 50% {
2831
+ opacity: 0;
2832
+ -webkit-transform: scale3d(.3, .3, .3);
2833
+ transform: scale3d(.3, .3, .3);
2834
+ }
2835
+
2836
+ 100% {
2837
+ opacity: 0;
2838
+ }
2839
+ }
2840
+
2841
+ @keyframes zoomOut {
2842
+ from {
2843
+ opacity: 1;
2844
+ }
2845
+
2846
+ 50% {
2847
+ opacity: 0;
2848
+ -webkit-transform: scale3d(.3, .3, .3);
2849
+ transform: scale3d(.3, .3, .3);
2850
+ }
2851
+
2852
+ 100% {
2853
+ opacity: 0;
2854
+ }
2855
+ }
2856
+
2857
+ .zoomOut {
2858
+ -webkit-animation-name: zoomOut;
2859
+ animation-name: zoomOut;
2860
+ }
2861
+
2862
+ @-webkit-keyframes zoomOutDown {
2863
+ 40% {
2864
+ opacity: 1;
2865
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2866
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2867
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2868
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2869
+ }
2870
+
2871
+ 100% {
2872
+ opacity: 0;
2873
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2874
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2875
+ -webkit-transform-origin: center bottom;
2876
+ transform-origin: center bottom;
2877
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2878
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2879
+ }
2880
+ }
2881
+
2882
+ @keyframes zoomOutDown {
2883
+ 40% {
2884
+ opacity: 1;
2885
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2886
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2887
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2888
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2889
+ }
2890
+
2891
+ 100% {
2892
+ opacity: 0;
2893
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2894
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2895
+ -webkit-transform-origin: center bottom;
2896
+ transform-origin: center bottom;
2897
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2898
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2899
+ }
2900
+ }
2901
+
2902
+ .zoomOutDown {
2903
+ -webkit-animation-name: zoomOutDown;
2904
+ animation-name: zoomOutDown;
2905
+ }
2906
+
2907
+ @-webkit-keyframes zoomOutLeft {
2908
+ 40% {
2909
+ opacity: 1;
2910
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2911
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2912
+ }
2913
+
2914
+ 100% {
2915
+ opacity: 0;
2916
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
2917
+ transform: scale(.1) translate3d(-2000px, 0, 0);
2918
+ -webkit-transform-origin: left center;
2919
+ transform-origin: left center;
2920
+ }
2921
+ }
2922
+
2923
+ @keyframes zoomOutLeft {
2924
+ 40% {
2925
+ opacity: 1;
2926
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2927
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2928
+ }
2929
+
2930
+ 100% {
2931
+ opacity: 0;
2932
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
2933
+ transform: scale(.1) translate3d(-2000px, 0, 0);
2934
+ -webkit-transform-origin: left center;
2935
+ transform-origin: left center;
2936
+ }
2937
+ }
2938
+
2939
+ .zoomOutLeft {
2940
+ -webkit-animation-name: zoomOutLeft;
2941
+ animation-name: zoomOutLeft;
2942
+ }
2943
+
2944
+ @-webkit-keyframes zoomOutRight {
2945
+ 40% {
2946
+ opacity: 1;
2947
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
2948
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
2949
+ }
2950
+
2951
+ 100% {
2952
+ opacity: 0;
2953
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
2954
+ transform: scale(.1) translate3d(2000px, 0, 0);
2955
+ -webkit-transform-origin: right center;
2956
+ transform-origin: right center;
2957
+ }
2958
+ }
2959
+
2960
+ @keyframes zoomOutRight {
2961
+ 40% {
2962
+ opacity: 1;
2963
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
2964
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
2965
+ }
2966
+
2967
+ 100% {
2968
+ opacity: 0;
2969
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
2970
+ transform: scale(.1) translate3d(2000px, 0, 0);
2971
+ -webkit-transform-origin: right center;
2972
+ transform-origin: right center;
2973
+ }
2974
+ }
2975
+
2976
+ .zoomOutRight {
2977
+ -webkit-animation-name: zoomOutRight;
2978
+ animation-name: zoomOutRight;
2979
+ }
2980
+
2981
+ @-webkit-keyframes zoomOutUp {
2982
+ 40% {
2983
+ opacity: 1;
2984
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2985
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2986
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2987
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2988
+ }
2989
+
2990
+ 100% {
2991
+ opacity: 0;
2992
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
2993
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
2994
+ -webkit-transform-origin: center bottom;
2995
+ transform-origin: center bottom;
2996
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2997
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2998
+ }
2999
+ }
3000
+
3001
+ @keyframes zoomOutUp {
3002
+ 40% {
3003
+ opacity: 1;
3004
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3005
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3006
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3007
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3008
+ }
3009
+
3010
+ 100% {
3011
+ opacity: 0;
3012
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3013
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3014
+ -webkit-transform-origin: center bottom;
3015
+ transform-origin: center bottom;
3016
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3017
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3018
+ }
3019
+ }
3020
+
3021
+ .zoomOutUp {
3022
+ -webkit-animation-name: zoomOutUp;
3023
+ animation-name: zoomOutUp;
3024
+ }
3025
+
3026
+ @-webkit-keyframes slideInDown {
3027
+ from {
3028
+ -webkit-transform: translate3d(0, -100%, 0);
3029
+ transform: translate3d(0, -100%, 0);
3030
+ visibility: visible;
3031
+ }
3032
+
3033
+ 100% {
3034
+ -webkit-transform: translate3d(0, 0, 0);
3035
+ transform: translate3d(0, 0, 0);
3036
+ }
3037
+ }
3038
+
3039
+ @keyframes slideInDown {
3040
+ from {
3041
+ -webkit-transform: translate3d(0, -100%, 0);
3042
+ transform: translate3d(0, -100%, 0);
3043
+ visibility: visible;
3044
+ }
3045
+
3046
+ 100% {
3047
+ -webkit-transform: translate3d(0, 0, 0);
3048
+ transform: translate3d(0, 0, 0);
3049
+ }
3050
+ }
3051
+
3052
+ .slideInDown {
3053
+ -webkit-animation-name: slideInDown;
3054
+ animation-name: slideInDown;
3055
+ }
3056
+
3057
+ @-webkit-keyframes slideInLeft {
3058
+ from {
3059
+ -webkit-transform: translate3d(-100%, 0, 0);
3060
+ transform: translate3d(-100%, 0, 0);
3061
+ visibility: visible;
3062
+ }
3063
+
3064
+ 100% {
3065
+ -webkit-transform: translate3d(0, 0, 0);
3066
+ transform: translate3d(0, 0, 0);
3067
+ }
3068
+ }
3069
+
3070
+ @keyframes slideInLeft {
3071
+ from {
3072
+ -webkit-transform: translate3d(-100%, 0, 0);
3073
+ transform: translate3d(-100%, 0, 0);
3074
+ visibility: visible;
3075
+ }
3076
+
3077
+ 100% {
3078
+ -webkit-transform: translate3d(0, 0, 0);
3079
+ transform: translate3d(0, 0, 0);
3080
+ }
3081
+ }
3082
+
3083
+ .slideInLeft {
3084
+ -webkit-animation-name: slideInLeft;
3085
+ animation-name: slideInLeft;
3086
+ }
3087
+
3088
+ @-webkit-keyframes slideInRight {
3089
+ from {
3090
+ -webkit-transform: translate3d(100%, 0, 0);
3091
+ transform: translate3d(100%, 0, 0);
3092
+ visibility: visible;
3093
+ }
3094
+
3095
+ 100% {
3096
+ -webkit-transform: translate3d(0, 0, 0);
3097
+ transform: translate3d(0, 0, 0);
3098
+ }
3099
+ }
3100
+
3101
+ @keyframes slideInRight {
3102
+ from {
3103
+ -webkit-transform: translate3d(100%, 0, 0);
3104
+ transform: translate3d(100%, 0, 0);
3105
+ visibility: visible;
3106
+ }
3107
+
3108
+ 100% {
3109
+ -webkit-transform: translate3d(0, 0, 0);
3110
+ transform: translate3d(0, 0, 0);
3111
+ }
3112
+ }
3113
+
3114
+ .slideInRight {
3115
+ -webkit-animation-name: slideInRight;
3116
+ animation-name: slideInRight;
3117
+ }
3118
+
3119
+ @-webkit-keyframes slideInUp {
3120
+ from {
3121
+ -webkit-transform: translate3d(0, 100%, 0);
3122
+ transform: translate3d(0, 100%, 0);
3123
+ visibility: visible;
3124
+ }
3125
+
3126
+ 100% {
3127
+ -webkit-transform: translate3d(0, 0, 0);
3128
+ transform: translate3d(0, 0, 0);
3129
+ }
3130
+ }
3131
+
3132
+ @keyframes slideInUp {
3133
+ from {
3134
+ -webkit-transform: translate3d(0, 100%, 0);
3135
+ transform: translate3d(0, 100%, 0);
3136
+ visibility: visible;
3137
+ }
3138
+
3139
+ 100% {
3140
+ -webkit-transform: translate3d(0, 0, 0);
3141
+ transform: translate3d(0, 0, 0);
3142
+ }
3143
+ }
3144
+
3145
+ .slideInUp {
3146
+ -webkit-animation-name: slideInUp;
3147
+ animation-name: slideInUp;
3148
+ }
3149
+
3150
+ @-webkit-keyframes slideOutDown {
3151
+ from {
3152
+ -webkit-transform: translate3d(0, 0, 0);
3153
+ transform: translate3d(0, 0, 0);
3154
+ }
3155
+
3156
+ 100% {
3157
+ visibility: hidden;
3158
+ -webkit-transform: translate3d(0, 100%, 0);
3159
+ transform: translate3d(0, 100%, 0);
3160
+ }
3161
+ }
3162
+
3163
+ @keyframes slideOutDown {
3164
+ from {
3165
+ -webkit-transform: translate3d(0, 0, 0);
3166
+ transform: translate3d(0, 0, 0);
3167
+ }
3168
+
3169
+ 100% {
3170
+ visibility: hidden;
3171
+ -webkit-transform: translate3d(0, 100%, 0);
3172
+ transform: translate3d(0, 100%, 0);
3173
+ }
3174
+ }
3175
+
3176
+ .slideOutDown {
3177
+ -webkit-animation-name: slideOutDown;
3178
+ animation-name: slideOutDown;
3179
+ }
3180
+
3181
+ @-webkit-keyframes slideOutLeft {
3182
+ from {
3183
+ -webkit-transform: translate3d(0, 0, 0);
3184
+ transform: translate3d(0, 0, 0);
3185
+ }
3186
+
3187
+ 100% {
3188
+ visibility: hidden;
3189
+ -webkit-transform: translate3d(-100%, 0, 0);
3190
+ transform: translate3d(-100%, 0, 0);
3191
+ }
3192
+ }
3193
+
3194
+ @keyframes slideOutLeft {
3195
+ from {
3196
+ -webkit-transform: translate3d(0, 0, 0);
3197
+ transform: translate3d(0, 0, 0);
3198
+ }
3199
+
3200
+ 100% {
3201
+ visibility: hidden;
3202
+ -webkit-transform: translate3d(-100%, 0, 0);
3203
+ transform: translate3d(-100%, 0, 0);
3204
+ }
3205
+ }
3206
+
3207
+ .slideOutLeft {
3208
+ -webkit-animation-name: slideOutLeft;
3209
+ animation-name: slideOutLeft;
3210
+ }
3211
+
3212
+ @-webkit-keyframes slideOutRight {
3213
+ from {
3214
+ -webkit-transform: translate3d(0, 0, 0);
3215
+ transform: translate3d(0, 0, 0);
3216
+ }
3217
+
3218
+ 100% {
3219
+ visibility: hidden;
3220
+ -webkit-transform: translate3d(100%, 0, 0);
3221
+ transform: translate3d(100%, 0, 0);
3222
+ }
3223
+ }
3224
+
3225
+ @keyframes slideOutRight {
3226
+ from {
3227
+ -webkit-transform: translate3d(0, 0, 0);
3228
+ transform: translate3d(0, 0, 0);
3229
+ }
3230
+
3231
+ 100% {
3232
+ visibility: hidden;
3233
+ -webkit-transform: translate3d(100%, 0, 0);
3234
+ transform: translate3d(100%, 0, 0);
3235
+ }
3236
+ }
3237
+
3238
+ .slideOutRight {
3239
+ -webkit-animation-name: slideOutRight;
3240
+ animation-name: slideOutRight;
3241
+ }
3242
+
3243
+ @-webkit-keyframes slideOutUp {
3244
+ from {
3245
+ -webkit-transform: translate3d(0, 0, 0);
3246
+ transform: translate3d(0, 0, 0);
3247
+ }
3248
+
3249
+ 100% {
3250
+ visibility: hidden;
3251
+ -webkit-transform: translate3d(0, -100%, 0);
3252
+ transform: translate3d(0, -100%, 0);
3253
+ }
3254
+ }
3255
+
3256
+ @keyframes slideOutUp {
3257
+ from {
3258
+ -webkit-transform: translate3d(0, 0, 0);
3259
+ transform: translate3d(0, 0, 0);
3260
+ }
3261
+
3262
+ 100% {
3263
+ visibility: hidden;
3264
+ -webkit-transform: translate3d(0, -100%, 0);
3265
+ transform: translate3d(0, -100%, 0);
3266
+ }
3267
+ }
3268
+
3269
+ .slideOutUp {
3270
+ -webkit-animation-name: slideOutUp;
3271
+ animation-name: slideOutUp;
3272
+ }
static/css/color.css ADDED
@@ -0,0 +1,373 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Namari Landing Page Dynamic Style Index
2
+
3
+ 1. Website Default Styling
4
+ 2. Navigation
5
+ 3. Primary and Secondary Colors
6
+ 4. Banner
7
+ 5. Typography
8
+ 6. Buttons
9
+ 7. Footer
10
+
11
+
12
+ /*------------------------------------------------------------------------------------------*/
13
+
14
+
15
+ /* 1. Website Default Styling */
16
+
17
+
18
+ /*------------------------------------------------------------------------------------------*/
19
+
20
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');
21
+ body {
22
+ background: #fff;
23
+ }
24
+
25
+
26
+ /* Default Link Color */
27
+
28
+ a,
29
+ .la-ball-triangle-path {
30
+ color: #FF8B4A;
31
+ }
32
+
33
+ a:hover,
34
+ #header.nav-solid nav a:hover {
35
+ color: #FF8B4A;
36
+ }
37
+
38
+
39
+ /* Default Icon Color */
40
+
41
+ .icon i {
42
+ color: #FF8B4A;
43
+ }
44
+
45
+
46
+ /* Border Color */
47
+
48
+ #banner .section-heading:before,
49
+ .testimonial.classic footer:before {
50
+ background: #FF8B4A;
51
+ }
52
+
53
+ .pricing-block-content:hover {
54
+ border-color: #FF8B4A;
55
+ }
56
+
57
+
58
+ /*------------------------------------------------------------------------------------------*/
59
+
60
+
61
+ /* 2. Navigation */
62
+
63
+
64
+ /*------------------------------------------------------------------------------------------*/
65
+
66
+
67
+ /* Transparent Navigation Color on a Banner */
68
+
69
+ #header nav a,
70
+ #header i {
71
+ color: #111;
72
+ font-size: 16px;
73
+ font-weight: 500;
74
+ }
75
+
76
+
77
+ /* Navigation Colors when the Navigation is sticky and solid */
78
+
79
+ #header.nav-solid,
80
+ #header.nav-solid a,
81
+ #header.nav-solid i,
82
+ #nav-mobile ul li a {
83
+ color: #333;
84
+ }
85
+
86
+
87
+ /* Navigation Active State */
88
+
89
+ #header.nav-solid .active {
90
+ color: #FF8B4A;
91
+ border-color: #FF8B4A;
92
+ }
93
+
94
+
95
+ /*------------------------------------------------------------------------------------------*/
96
+
97
+
98
+ /* 3. Primary and Secondary Colors */
99
+
100
+
101
+ /*------------------------------------------------------------------------------------------*/
102
+
103
+
104
+ /* Primary Background and Text Colors */
105
+
106
+ .primary-color,
107
+ .featured .pricing {
108
+ background-color: #FF8B4A;
109
+ }
110
+
111
+ .primary-color,
112
+ .primary-color .section-title,
113
+ .primary-color .section-subtitle,
114
+ .featured .pricing,
115
+ .featured .pricing p {
116
+ color: #fff;
117
+ }
118
+
119
+ .text-center .section-heading h2:after {
120
+ margin: 30px auto 25px auto;
121
+ }
122
+
123
+
124
+ /* Primary Icon Colors */
125
+
126
+ .primary-color .icon i,
127
+ .primary-color i {
128
+ color: #fff;
129
+ }
130
+
131
+
132
+ /* Secondary Background and Text Colors */
133
+
134
+ .secondary-color {
135
+ background-color: #f5f5f5;
136
+ }
137
+
138
+
139
+ /*------------------------------------------------------------------------------------------*/
140
+
141
+
142
+ /* 4. Banner */
143
+
144
+
145
+ /*------------------------------------------------------------------------------------------*/
146
+
147
+
148
+ /* Banner Background and Text Colors */
149
+
150
+ #banner {
151
+ background-color: #f5f5f5;
152
+ }
153
+
154
+
155
+ /*------------------------------------------------------------------------------------------*/
156
+
157
+
158
+ /* 5. Typography */
159
+
160
+
161
+ /*------------------------------------------------------------------------------------------*/
162
+
163
+ body {
164
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
165
+ font-size: 15px;
166
+ font-weight: normal;
167
+ color: #111;
168
+ }
169
+
170
+
171
+ /* Logo, if you are using Fonts as Logo and not image
172
+
173
+ #logo h1 {
174
+ font-family:;
175
+ font-size:;
176
+ font-weight:;
177
+ color:;
178
+ }
179
+
180
+ #logo h2 {
181
+ font-family:;
182
+ font-size:;
183
+ font-weight:;
184
+ color:;
185
+ }
186
+
187
+ */
188
+
189
+
190
+ /* Banner Typography */
191
+
192
+ #banner h1 {
193
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
194
+ font-size: 60px;
195
+ line-height: 60px;
196
+ font-weight: 700;
197
+ color: #111;
198
+ }
199
+
200
+ #banner h2 {
201
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
202
+ font-size: 17px;
203
+ font-weight: 200;
204
+ color: #111;
205
+ }
206
+
207
+
208
+ /* Section Title and Subtitle */
209
+
210
+ .section-title {
211
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
212
+ font-size: 34px;
213
+ font-weight: 700;
214
+ color: #111;
215
+ }
216
+
217
+ .section-subtitle {
218
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
219
+ font-size: 16px;
220
+ font-weight: 300;
221
+ color: #9c9c9c;
222
+ }
223
+
224
+
225
+ /* Testimonial */
226
+
227
+ .testimonial q {
228
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
229
+ font-size: 17px;
230
+ font-weight: 300;
231
+ }
232
+
233
+ .testimonial.classic q,
234
+ .testimonial.classic footer {
235
+ color: #111;
236
+ }
237
+
238
+
239
+ /* Standard Headings h1-h6 */
240
+
241
+ h1 {
242
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
243
+ font-size: 40px;
244
+ font-weight: 300;
245
+ color: #111;
246
+ }
247
+
248
+ h2 {
249
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
250
+ font-size: 34px;
251
+ font-weight: 300;
252
+ color: #111;
253
+ }
254
+
255
+ h3 {
256
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
257
+ font-size: 30px;
258
+ font-weight: 700;
259
+ color: #111;
260
+ }
261
+
262
+ h4 {
263
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
264
+ font-size: 18px;
265
+ font-weight: 400;
266
+ color: #111;
267
+ }
268
+
269
+ h5 {
270
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
271
+ font-size: 16px;
272
+ font-weight: 400;
273
+ color: #111;
274
+ }
275
+
276
+ h6 {
277
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
278
+ font-size: 14px;
279
+ font-weight: 400;
280
+ color: #111;
281
+ }
282
+
283
+
284
+ /*------------------------------------------------------------------------------------------*/
285
+
286
+
287
+ /* 6. Buttons */
288
+
289
+
290
+ /*------------------------------------------------------------------------------------------*/
291
+
292
+
293
+ /* ----------Default Buttons---------- */
294
+
295
+
296
+ /* Button Text */
297
+
298
+ .button,
299
+ input[type="submit"] {
300
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
301
+ font-size: 14px;
302
+ font-weight: bold;
303
+ color: #111;
304
+ }
305
+
306
+
307
+ /* Button Color */
308
+
309
+ .button,
310
+ input[type="submit"] {
311
+ border-color: #111;
312
+ }
313
+
314
+
315
+ /* Button Hover Color */
316
+
317
+ .button:hover,
318
+ input[type="submit"]:hover {
319
+ border-color: #FF8B4A;
320
+ color: #FF8B4A;
321
+ }
322
+
323
+
324
+ /* ----------Banner Buttons---------- */
325
+
326
+
327
+ /* Button Text */
328
+
329
+ #banner .button {
330
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
331
+ font-size: 16px;
332
+ color: #111;
333
+ }
334
+
335
+
336
+ /* Button Color */
337
+
338
+ #banner .button {
339
+ border-color: #111;
340
+ }
341
+
342
+
343
+ /* Button Hover Color */
344
+
345
+ #banner .button:hover {
346
+ color: #FF8B4A;
347
+ border-color: #FF8B4A;
348
+ }
349
+
350
+
351
+ /*------------------------------------------------------------------------------------------*/
352
+
353
+
354
+ /* 7. Footer */
355
+
356
+
357
+ /*------------------------------------------------------------------------------------------*/
358
+
359
+ #landing-footer,
360
+ #landing-footer p,
361
+ #landing-footer a {
362
+ font-family: 'Poppins', sans-serif, Arial, Helvetica;
363
+ font-size: 12px;
364
+ font-weight: normal;
365
+ color: #999;
366
+ }
367
+
368
+
369
+ /* Footer Icon Color */
370
+
371
+ #landing-footer i {
372
+ color: #999;
373
+ }
static/css/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}
static/css/style.css ADDED
@@ -0,0 +1,3062 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Namari Landing Page v.1.1.0 Style Index - a free landing page by shapingrain.com
2
+
3
+ 1. Default and Reset styles
4
+ - 1.1 Input Elements
5
+ 2. Global elements
6
+ - 2.1 Header
7
+ - 2.2 Logo
8
+ - 2.3 Buttons
9
+ - 2.4 Navigation
10
+ - 2.5 Social Elements
11
+ - 2.6 Images
12
+ 3. Fonts and Headings
13
+ 4. Banner
14
+ - 4.1 SignUp Form
15
+ 5. Content Elements
16
+ - 5.1 Icons
17
+ - 5.2 Parallax Elements
18
+ - 5.3 Divider
19
+ 6. Landing Page Sections
20
+ - 6.1 Features
21
+ - 6.2 Testimonials
22
+ - 6.3 Gallery
23
+ - 6.4 Video
24
+ - 6.5 Clients
25
+ - 6.6 Pricing Table
26
+ 7. Footer
27
+
28
+
29
+ /*------------------------------------------------------------------------------------------*/
30
+
31
+
32
+ /* 1. Defaults & Reset of specific styles across browsers */
33
+
34
+
35
+ /*------------------------------------------------------------------------------------------*/
36
+
37
+ *,
38
+ *:before,
39
+ *:after {
40
+ -webkit-box-sizing: border-box;
41
+ -moz-box-sizing: border-box;
42
+ box-sizing: border-box;
43
+ }
44
+
45
+ body,
46
+ div,
47
+ dl,
48
+ dt,
49
+ dd,
50
+ ul,
51
+ ol,
52
+ li,
53
+ h1,
54
+ h2,
55
+ h3,
56
+ h4,
57
+ h5,
58
+ h6,
59
+ pre,
60
+ form,
61
+ blockquote,
62
+ th,
63
+ td {
64
+ margin: 0;
65
+ padding: 0;
66
+ direction: ltr;
67
+ }
68
+
69
+ body {
70
+ margin: 0;
71
+ padding: 0;
72
+ -webkit-font-smoothing: antialiased;
73
+ overflow-x: hidden;
74
+ }
75
+
76
+ p {
77
+ line-height: 25px;
78
+ }
79
+
80
+ .row img {
81
+ height: auto;
82
+ max-width: 100%;
83
+ }
84
+
85
+ a {
86
+ text-decoration: none;
87
+ line-height: inherit;
88
+ -webkit-transition: opacity 0.3s ease-out;
89
+ -moz-transition: opacity 0.3s ease-out;
90
+ -o-transition: opacity 0.3s ease-out;
91
+ transition: opacity 0.3s ease-out;
92
+ }
93
+
94
+ iframe {
95
+ border: 0 !important;
96
+ }
97
+
98
+ .parallax-window {
99
+ min-height: 400px;
100
+ background: transparent;
101
+ }
102
+
103
+ figure {
104
+ margin: 0;
105
+ }
106
+
107
+
108
+ /* Page Border */
109
+
110
+ .page-border {
111
+ position: fixed;
112
+ z-index: 999999;
113
+ pointer-events: none;
114
+ }
115
+
116
+ .page-border .bottom-border,
117
+ .page-border .left-border,
118
+ .page-border .right-border,
119
+ .page-border .top-border {
120
+ background: #f3f3efcd;
121
+ position: fixed;
122
+ z-index: 9999;
123
+ }
124
+
125
+ .page-border>.top-border,
126
+ .page-border>.right-border,
127
+ .page-border>.bottom-border,
128
+ .page-border>.left-border {
129
+ padding: 11px;
130
+ background: #ccc;
131
+ }
132
+
133
+ .page-border .bottom-border,
134
+ .page-border .top-border {
135
+ width: 100%;
136
+ padding: 10px;
137
+ left: 0;
138
+ }
139
+
140
+ .page-border .left-border,
141
+ .page-border .right-border {
142
+ padding: 10px;
143
+ height: 100%;
144
+ top: 0;
145
+ }
146
+
147
+ .page-border .top-border {
148
+ top: 0;
149
+ }
150
+
151
+ .page-border .right-border {
152
+ right: 0;
153
+ }
154
+
155
+ .page-border .bottom-border {
156
+ bottom: 0;
157
+ }
158
+
159
+ .page-border .left-border {
160
+ left: 0;
161
+ }
162
+
163
+ #wrapper {
164
+ margin: 0 15px;
165
+ padding: 15px 0;
166
+ position: relative;
167
+ }
168
+
169
+
170
+ /* --------- 1.1 Input Elements ---------- */
171
+
172
+ input,
173
+ textarea {
174
+ border: 1px solid #e1e1e1;
175
+ padding: 10px;
176
+ -webkit-transition: all .3s linear;
177
+ -moz-transition: all .3s linear;
178
+ transition: all .3s linear;
179
+ border-radius: 3px;
180
+ }
181
+
182
+ input {
183
+ height: 40px;
184
+ margin: 3px 0;
185
+ outline: none;
186
+ line-height: normal;
187
+ font-size: 14px;
188
+ }
189
+
190
+ input[type="submit"] {
191
+ cursor: pointer;
192
+ border-style: solid;
193
+ border-width: 2px;
194
+ padding-top: 0;
195
+ padding-bottom: 0;
196
+ }
197
+
198
+ select {
199
+ border: 1px solid #e1e1e1;
200
+ height: 40px;
201
+ padding: 5px;
202
+ }
203
+
204
+ input:focus,
205
+ textarea:focus {
206
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
207
+ }
208
+
209
+ *:focus {
210
+ outline: none;
211
+ }
212
+
213
+
214
+ /*------------------------------------------------------------------------------------------*/
215
+
216
+
217
+ /* 2. Layout Elements */
218
+
219
+
220
+ /*------------------------------------------------------------------------------------------*/
221
+
222
+ section {
223
+ clear: both;
224
+ overflow: hidden;
225
+ }
226
+
227
+
228
+ /* Rows and Columns */
229
+
230
+ .row {
231
+ max-width: 1245px;
232
+ margin: 0 auto;
233
+ padding: 75px 0;
234
+ position: relative;
235
+ }
236
+
237
+ .no-padding-bottom .row,
238
+ .no-padding-bottom div,
239
+ .no-padding-bottom.row {
240
+ padding-bottom: 0;
241
+ }
242
+
243
+ .no-padding-top.row,
244
+ .no-padding-top div {
245
+ padding-top: 0;
246
+ }
247
+
248
+ .big-padding-top {
249
+ padding-top: 75px !important;
250
+ }
251
+
252
+ .big-padding-bottom {
253
+ padding-bottom: 85px !important;
254
+ }
255
+
256
+
257
+ /* Targets all elements */
258
+
259
+ [class*='col-'] {
260
+ float: left;
261
+ padding: 20px;
262
+ }
263
+
264
+ #clients .col-2-3 [class*='col-'] {
265
+ padding: 0;
266
+ }
267
+
268
+
269
+ /* Clearfix */
270
+
271
+ .clearfix:after {
272
+ content: "";
273
+ display: table;
274
+ clear: both;
275
+ }
276
+
277
+
278
+ /* Main Widths */
279
+
280
+ .col-1 {
281
+ width: 100%;
282
+ }
283
+
284
+ .col-2 {
285
+ width: 50%;
286
+ }
287
+
288
+ .col-3 {
289
+ width: 33.33%;
290
+ }
291
+
292
+ .col-4 {
293
+ width: 25%;
294
+ }
295
+
296
+ .col-5 {
297
+ width: 20%;
298
+ }
299
+
300
+ .col-6 {
301
+ width: 16.6666666667%;
302
+ }
303
+
304
+ .col-7 {
305
+ width: 14.2857142857%;
306
+ }
307
+
308
+ .col-8 {
309
+ width: 12.5%;
310
+ }
311
+
312
+ .col-9 {
313
+ width: 11.1111111111%;
314
+ }
315
+
316
+ .col-10 {
317
+ width: 10%;
318
+ }
319
+
320
+ .col-11 {
321
+ width: 9.09090909091%;
322
+ }
323
+
324
+ .col-12 {
325
+ width: 8.33%;
326
+ }
327
+
328
+ .col-2-3 {
329
+ width: 66.66%;
330
+ }
331
+
332
+ .col-3-4 {
333
+ width: 75%;
334
+ }
335
+
336
+ .col-9-10 {
337
+ width: 90%;
338
+ }
339
+
340
+
341
+ /* Golden Ratio */
342
+
343
+ .col-lg-6 {
344
+ width: 50%;
345
+ height: auto;
346
+ }
347
+
348
+ .col-lg-3 {
349
+ width: 50%;
350
+ padding-top: 4.5%;
351
+ }
352
+
353
+
354
+ /* --------- 2.1 Header --------- */
355
+
356
+ #header {
357
+ height: 71px !important;
358
+ overflow: visible;
359
+ z-index: 9999;
360
+ width: 100%;
361
+ position: absolute !important;
362
+ }
363
+
364
+ #header .row {
365
+ padding: 0;
366
+ }
367
+
368
+ #header aside {
369
+ text-align: right;
370
+ }
371
+
372
+ #header ul {
373
+ text-align: center;
374
+ }
375
+
376
+ #header li {
377
+ display: inline-block;
378
+ list-style: none;
379
+ margin: 0;
380
+ }
381
+
382
+
383
+ /* --------- 2.2 Logo ---------- */
384
+
385
+ #logo {
386
+ float: left;
387
+ height: 90px;
388
+ line-height: 66px;
389
+ margin: 10px 15px 0 0;
390
+ }
391
+
392
+ #logo h1,
393
+ #logo h2 {
394
+ display: inline-block;
395
+ }
396
+
397
+ #banner #logo h1 {
398
+ font-size: 28px;
399
+ margin-right: 10px;
400
+ font-weight: 900;
401
+ padding: 0;
402
+ }
403
+
404
+ #logo h2 {
405
+ font-size: 18px;
406
+ padding: 0;
407
+ }
408
+
409
+ #logo img {
410
+ max-height: 40px;
411
+ vertical-align: middle;
412
+ margin-right: 15px;
413
+ }
414
+
415
+ #navigation-logo {
416
+ display: none;
417
+ }
418
+
419
+ .nav-solid #logo #banner-logo {
420
+ display: none;
421
+ }
422
+
423
+ .nav-solid #logo #navigation-logo {
424
+ display: inline-block;
425
+ margin-bottom: 10px;
426
+ }
427
+
428
+
429
+ /* --------- 2.3 Buttons ---------- */
430
+
431
+ .call-to-action {
432
+ padding: 35px 0 35px 0;
433
+ }
434
+
435
+
436
+ /*Style*/
437
+
438
+ .button {
439
+ font-size: 16px;
440
+ margin: 35px 0;
441
+ padding: 11px 16px;
442
+ -webkit-transition: all .3s linear;
443
+ -moz-transition: all .3s linear;
444
+ transition: all .3s linear;
445
+ display: inline-block;
446
+ border-width: 3px;
447
+ border-style: solid;
448
+ }
449
+
450
+
451
+ /* Play Button */
452
+
453
+ #video-section {
454
+ position: relative;
455
+ }
456
+
457
+ .play-video {
458
+ height: 110px;
459
+ position: absolute;
460
+ top: 50%;
461
+ margin-top: -110px;
462
+ width: 100%;
463
+ }
464
+
465
+ .play-icon {
466
+ display: inline-block;
467
+ font-size: 0px;
468
+ cursor: pointer;
469
+ margin: 45px auto;
470
+ width: 110px;
471
+ height: 110px;
472
+ border-radius: 50%;
473
+ text-align: center;
474
+ position: relative;
475
+ z-index: 1;
476
+ }
477
+
478
+ .play-icon:after {
479
+ pointer-events: none;
480
+ position: absolute;
481
+ width: 100%;
482
+ height: 100%;
483
+ border-radius: 50%;
484
+ content: '';
485
+ -webkit-box-sizing: content-box;
486
+ -moz-box-sizing: content-box;
487
+ box-sizing: content-box;
488
+ }
489
+
490
+ .play-icon:before {
491
+ font-family: 'fontawesome';
492
+ content: '\f144';
493
+ speak: none;
494
+ font-size: 74px;
495
+ line-height: 110px;
496
+ font-style: normal;
497
+ font-weight: normal;
498
+ font-variant: normal;
499
+ text-transform: none;
500
+ display: block;
501
+ -webkit-font-smoothing: antialiased;
502
+ color: #fff;
503
+ }
504
+
505
+ .play-video .play-icon {
506
+ background: rgba(255, 255, 255, 0.5);
507
+ -webkit-transition: -webkit-transform ease-out 0.3s, background 0.4s;
508
+ -moz-transition: -moz-transform ease-out 0.3s, background 0.4s;
509
+ transition: transform ease-out 0.3s, background 0.4s;
510
+ }
511
+
512
+ .play-video .play-icon:after {
513
+ top: 0;
514
+ left: 0;
515
+ padding: 0;
516
+ z-index: -1;
517
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
518
+ opacity: 0;
519
+ -webkit-transform: scale(0.9);
520
+ -moz-transform: scale(0.9);
521
+ -ms-transform: scale(0.9);
522
+ transform: scale(0.9);
523
+ }
524
+
525
+ .play-video .play-icon:hover {
526
+ background: rgba(255, 255, 255, 0.05);
527
+ -webkit-transform: scale(0.93);
528
+ -moz-transform: scale(0.93);
529
+ -ms-transform: scale(0.93);
530
+ transform: scale(0.93);
531
+ color: #fff;
532
+ }
533
+
534
+
535
+ /* --------- 2.4 Navigation ---------- */
536
+
537
+ #header {
538
+ font-size: 13px;
539
+ }
540
+
541
+ #header aside {
542
+ float: right;
543
+ }
544
+
545
+ #header nav ul {
546
+ text-transform: uppercase;
547
+ }
548
+
549
+ #header nav a {
550
+ height: 71px;
551
+ line-height: 90px;
552
+ display: block;
553
+ padding: 0 10px;
554
+ }
555
+
556
+ #header nav a:hover {
557
+ color: #FF8B4A;
558
+ }
559
+
560
+
561
+ /*Navigation Solid*/
562
+
563
+ #header.nav-solid [class*='col-'] {
564
+ padding: 0 20px;
565
+ }
566
+
567
+ #header.nav-solid {
568
+ background: #fff;
569
+ box-shadow: 2px 0px 3px rgba(0, 0, 0, 0.2);
570
+ position: fixed !important;
571
+ left: 0;
572
+ }
573
+
574
+ #header.nav-solid nav a {
575
+ border-bottom: 3px solid;
576
+ border-color: #fff;
577
+ -webkit-transition: all 0.3s ease-out;
578
+ -moz-transition: all 0.3s ease-out;
579
+ -o-transition: all 0.3s ease-out;
580
+ transition: all 0.3s ease-out;
581
+ }
582
+
583
+ #header.nav-solid nav a:hover {
584
+ opacity: 1;
585
+ }
586
+
587
+
588
+ /* Social Elements when Solid*/
589
+
590
+ #header.nav-solid .social-icons a {
591
+ -webkit-transition: all 0.3s ease-out;
592
+ -moz-transition: all 0.3s ease-out;
593
+ -o-transition: all 0.3s ease-out;
594
+ transition: all 0.3s ease-out;
595
+ opacity: 0.5;
596
+ }
597
+
598
+ #header.nav-solid .social-icons a:hover {
599
+ opacity: 1;
600
+ color: #e4473c;
601
+ }
602
+
603
+
604
+ /* Responsive Nav Styling */
605
+
606
+ #nav-trigger {
607
+ display: none;
608
+ text-align: right;
609
+ }
610
+
611
+ #nav-trigger span {
612
+ display: inline-block;
613
+ width: 38px;
614
+ height: 71px;
615
+ color: #111;
616
+ cursor: pointer;
617
+ text-transform: uppercase;
618
+ font-size: 22px;
619
+ text-align: center;
620
+ border-top-right-radius: 5px;
621
+ border-top-left-radius: 5px;
622
+ -webkit-transition: all 0.3s ease-out;
623
+ -moz-transition: all 0.3s ease-out;
624
+ -o-transition: all 0.3s ease-out;
625
+ transition: all 0.3s ease-out;
626
+ }
627
+
628
+ #nav-trigger span:after {
629
+ font-family: "fontAwesome";
630
+ display: inline-block;
631
+ width: 38px;
632
+ height: 71px;
633
+ line-height: 75px;
634
+ text-align: center;
635
+ content: "\f0c9";
636
+ border-top-right-radius: 5px;
637
+ border-top-left-radius: 5px;
638
+ }
639
+
640
+ #nav-trigger span.open:after {
641
+ content: "\f00d";
642
+ }
643
+
644
+ #nav-trigger span:hover,
645
+ .nav-solid #nav-trigger span.open:hover,
646
+ .nav-solid #nav-trigger span:hover {
647
+ opacity: 0.6;
648
+ }
649
+
650
+ #nav-trigger span.open,
651
+ #nav-trigger span.open:hover {
652
+ color: #111;
653
+ }
654
+
655
+ .nav-solid #nav-trigger span.open:hover {
656
+ color: #999;
657
+ }
658
+
659
+ .nav-solid #nav-trigger span {
660
+ color: #999;
661
+ opacity: 1;
662
+ }
663
+
664
+ nav#nav-mobile {
665
+ position: relative;
666
+ display: none;
667
+ }
668
+
669
+ nav#nav-mobile ul {
670
+ display: none;
671
+ list-style-type: none;
672
+ position: absolute;
673
+ left: 0;
674
+ right: 0;
675
+ margin-left: -20px;
676
+ margin-right: -20px;
677
+ padding-top: 10px;
678
+ padding-bottom: 10px;
679
+ text-align: center;
680
+ background-color: #fff;
681
+ box-shadow: 0 5px 3px rgba(0, 0, 0, 0.2);
682
+ }
683
+
684
+ nav#nav-mobile ul:after {
685
+ display: none;
686
+ }
687
+
688
+ nav#nav-mobile li {
689
+ margin: 0 20px;
690
+ float: none;
691
+ text-align: left;
692
+ border-bottom: 1px solid #e1e1e1;
693
+ }
694
+
695
+ nav#nav-mobile li:last-child {
696
+ border-bottom: none;
697
+ }
698
+
699
+ .nav-solid nav#nav-mobile li {
700
+ border-top: 1px solid #e1e1e1;
701
+ border-bottom: none;
702
+ }
703
+
704
+ nav#nav-mobile a {
705
+ display: block;
706
+ padding: 12px 0;
707
+ color: #333;
708
+ width: 100%;
709
+ height: auto;
710
+ line-height: normal;
711
+ display: block;
712
+ border-bottom: none !important;
713
+ -webkit-transition: all 0.3s ease-out;
714
+ -moz-transition: all 0.3s ease-out;
715
+ -o-transition: all 0.3s ease-out;
716
+ transition: all 0.3s ease-out;
717
+ }
718
+
719
+ nav#nav-mobile a:hover {
720
+ background: #fafafa;
721
+ opacity: 1;
722
+ }
723
+
724
+
725
+ /* --------- 2.5 Social Elements ---------- */
726
+
727
+ #header .col-4 {
728
+ text-align: right;
729
+ }
730
+
731
+ .social-icons {
732
+ display: inline-block;
733
+ list-style: none;
734
+ }
735
+
736
+ .social-icons a {
737
+ display: inline-block;
738
+ width: 32px;
739
+ text-align: center;
740
+ }
741
+
742
+ .social-icons a:hover {
743
+ opacity: 0.7;
744
+ }
745
+
746
+ .social-icons span {
747
+ display: none;
748
+ }
749
+
750
+ #header .social-icons {
751
+ margin-top: 27px;
752
+ }
753
+
754
+
755
+ /* --------- 2.6 Images ---------- */
756
+
757
+
758
+ /*Alignment*/
759
+
760
+ img {
761
+ vertical-align: top;
762
+ }
763
+
764
+ .image-center {
765
+ display: block;
766
+ margin: 0 auto;
767
+ }
768
+
769
+ a img {
770
+ border: none;
771
+ -webkit-transition: all 0.3s ease-out;
772
+ -moz-transition: all 0.3s ease-out;
773
+ -o-transition: all 0.3s ease-out;
774
+ transition: all 0.3s ease-out;
775
+ -webkit-backface-visibility: hidden;
776
+ }
777
+
778
+ a img:hover {
779
+ opacity: 0.7;
780
+ }
781
+
782
+
783
+ /*------------------------------------------------------------------------------------------*/
784
+
785
+
786
+ /* 3. Fonts */
787
+
788
+
789
+ /*------------------------------------------------------------------------------------------*/
790
+
791
+ h1 {
792
+ padding: 20px 0;
793
+ }
794
+
795
+ h2 {
796
+ padding: 14px 0;
797
+ }
798
+
799
+ h3 {
800
+ padding: 10px 0;
801
+ }
802
+
803
+ h4 {
804
+ padding: 7px 0;
805
+ }
806
+
807
+ h5 {
808
+ padding: 7px 0;
809
+ }
810
+
811
+ h6 {
812
+ padding: 7px 0;
813
+ }
814
+
815
+
816
+ /* Text Alignment */
817
+
818
+ .text-left {
819
+ text-align: left;
820
+ }
821
+
822
+ .text-center {
823
+ text-align: center;
824
+ }
825
+
826
+ .text-right {
827
+ text-align: right;
828
+ }
829
+
830
+
831
+ /* Section Headings */
832
+
833
+ .section-heading {
834
+ padding: 0 0 15px 0;
835
+ display: flex;
836
+ justify-content: center;
837
+ }
838
+
839
+ .section-subtitle {
840
+ font-size: 18px;
841
+ padding-top: 0;
842
+ }
843
+
844
+ .section-heading h3 {
845
+ font-size: 14px;
846
+ font-weight: bold;
847
+ color: #ccc;
848
+ letter-spacing: 2px;
849
+ padding-bottom: 0;
850
+ }
851
+
852
+
853
+ /*------------------------------------------------------------------------------------------*/
854
+
855
+
856
+ /* 4. Banner */
857
+
858
+
859
+ /*------------------------------------------------------------------------------------------*/
860
+
861
+ #banner {
862
+ background-size: cover;
863
+ }
864
+
865
+ #banner-content.row {
866
+ padding-top: 50px;
867
+ padding-bottom: 170px;
868
+ }
869
+
870
+ #banner h1 {
871
+ padding-top: 5%;
872
+ }
873
+
874
+
875
+ /*------------------------------------------------------------------------------------------*/
876
+
877
+
878
+ /* 5. Content Elements */
879
+
880
+
881
+ /*------------------------------------------------------------------------------------------*/
882
+
883
+
884
+ /* --------- 5.1 Icons ---------- */
885
+
886
+
887
+ /*Font Icon sizes*/
888
+
889
+ .fa-1x {
890
+ font-size: 15px !important;
891
+ }
892
+
893
+
894
+ /*Icon Block*/
895
+
896
+ .icon-block {
897
+ position: relative;
898
+ }
899
+
900
+ .icon-block h4 {
901
+ font-weight: bold;
902
+ padding-top: 0;
903
+ }
904
+
905
+ .icon-block .icon {
906
+ position: absolute;
907
+ }
908
+
909
+ .icon-block p {
910
+ margin-top: 0;
911
+ }
912
+
913
+
914
+ /* Icon Left*/
915
+
916
+ .icon-left .icon {
917
+ left: 15;
918
+ }
919
+
920
+ .icon-left .icon-block-description {
921
+ padding-left: 53px;
922
+ }
923
+
924
+
925
+ /* Icon Right */
926
+
927
+ .icon-right .icon {
928
+ right: 15;
929
+ }
930
+
931
+ .icon-right .icon-block-description {
932
+ padding-right: 53px;
933
+ }
934
+
935
+
936
+ /* Icon Above */
937
+
938
+ .icon-top {
939
+ display: block;
940
+ }
941
+
942
+ .icon-top .icon {
943
+ position: relative;
944
+ display: block;
945
+ }
946
+
947
+ .icon-top .icon-block-description {
948
+ padding-top: 25px;
949
+ }
950
+
951
+
952
+ /* --------- 5.2 Parallax Elements ---------- */
953
+
954
+ .banner-parallax-1,
955
+ .banner-parallax-2,
956
+ .banner-parallax-3 {
957
+ min-height: 350px;
958
+ }
959
+
960
+
961
+ /* --------- 5.3 Divider ---------- */
962
+
963
+ .divider {
964
+ position: relative;
965
+ width: 40%;
966
+ height: 20px;
967
+ line-height: 20px;
968
+ margin: 10px auto 5px auto;
969
+ clear: both;
970
+ text-align: center;
971
+ }
972
+
973
+ .divider-inner {
974
+ position: absolute;
975
+ height: 1px;
976
+ width: 100%;
977
+ top: 50%;
978
+ margin-top: -1px;
979
+ border-top: 1px solid;
980
+ border-color: #e1e1e1;
981
+ }
982
+
983
+ .divider i {
984
+ background: #fff;
985
+ position: relative;
986
+ top: -11px;
987
+ padding: 0 5px 0 5px;
988
+ color: #e1e1e1;
989
+ }
990
+
991
+
992
+ /*------------------------------------------------------------------------------------------*/
993
+
994
+
995
+ /* 6. Landing Page Sections */
996
+
997
+
998
+ /*------------------------------------------------------------------------------------------*/
999
+
1000
+
1001
+ /* --------- 6.1 Introduction ---------- */
1002
+
1003
+ .introduction img.featured {
1004
+ padding: 55px 0 0 0;
1005
+ }
1006
+
1007
+
1008
+ /* --------- 6.2 Features ---------- */
1009
+
1010
+ .features.row {
1011
+ padding-left: 5%;
1012
+ padding-right: 5%;
1013
+ }
1014
+
1015
+ .features div:nth-child(4) {
1016
+ clear: both;
1017
+ }
1018
+
1019
+
1020
+ /* --------- 6.3 Testimonials ---------- */
1021
+
1022
+ .testimonial {
1023
+ padding: 15px;
1024
+ }
1025
+
1026
+ blockquote {
1027
+ position: relative;
1028
+ }
1029
+
1030
+ .testimonial img {
1031
+ max-height: 120px;
1032
+ border-radius: 250em;
1033
+ }
1034
+
1035
+ .testimonial footer {
1036
+ padding-top: 12px;
1037
+ }
1038
+
1039
+
1040
+ /* Style Classic - Avatar above Testimonial */
1041
+
1042
+ .testimonial.classic img {
1043
+ display: inline-block;
1044
+ margin-bottom: 25px;
1045
+ }
1046
+
1047
+ .testimonial.classic q {
1048
+ display: block;
1049
+ }
1050
+
1051
+ .testimonial.classic footer:before {
1052
+ display: block;
1053
+ content: "";
1054
+ width: 30px;
1055
+ height: 4px;
1056
+ margin: 10px auto 15px auto;
1057
+ }
1058
+
1059
+
1060
+ /* Style Big */
1061
+
1062
+ .testimonial.bigtest {
1063
+ padding-top: 0;
1064
+ }
1065
+
1066
+ .testimonial.bigtest q {
1067
+ font-size: 22px;
1068
+ }
1069
+
1070
+
1071
+ /* --------- 6.4 Gallery ---------- */
1072
+
1073
+ #gallery img {
1074
+ max-height: 300px;
1075
+ }
1076
+
1077
+ #gallery [class*='col-'] {
1078
+ padding: 0;
1079
+ }
1080
+
1081
+ #gallery a {
1082
+ display: inline-block;
1083
+ position: relative;
1084
+ overflow: hidden;
1085
+ }
1086
+
1087
+ #gallery a:hover img {
1088
+ opacity: 0.15;
1089
+ -moz-backface-visibility: hidden;
1090
+ }
1091
+
1092
+ #gallery a:before {
1093
+ font-size: 2.2em;
1094
+ font-style: normal;
1095
+ font-weight: normal;
1096
+ text-align: center;
1097
+ content: "+";
1098
+ width: 70px;
1099
+ height: 70px;
1100
+ border-radius: 100em;
1101
+ display: block;
1102
+ position: absolute;
1103
+ top: 55%;
1104
+ left: 50%;
1105
+ line-height: 72px;
1106
+ margin: -35px 0 0 -35px;
1107
+ opacity: 0;
1108
+ -webkit-transition: all .2s linear;
1109
+ -moz-transition: all .2s linear;
1110
+ transition: all .2s linear;
1111
+ vertical-align: middle;
1112
+ }
1113
+
1114
+ #gallery a:hover:before {
1115
+ opacity: 1;
1116
+ top: 50%;
1117
+ left: 50%;
1118
+ }
1119
+
1120
+
1121
+ /**
1122
+ * Featherlight – ultra slim jQuery lightbox
1123
+ * Version 1.3.3 - http://noelboss.github.io/featherlight/
1124
+ *
1125
+ * Copyright 2015, Noël Raoul Bossart (http://www.noelboss.com)
1126
+ * MIT Licensed.
1127
+ **/
1128
+
1129
+ @media all {
1130
+ .featherlight {
1131
+ display: none;
1132
+ /* dimensions: spanning the background from edge to edge */
1133
+ position: fixed;
1134
+ top: 0;
1135
+ right: 0;
1136
+ bottom: 0;
1137
+ left: 0;
1138
+ z-index: 2147483647;
1139
+ /* z-index needs to be >= elements on the site. */
1140
+ /* position: centering content */
1141
+ text-align: center;
1142
+ /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
1143
+ white-space: nowrap;
1144
+ /* styling */
1145
+ cursor: pointer;
1146
+ background: #333;
1147
+ /* IE8 "hack" for nested featherlights */
1148
+ background: rgba(0, 0, 0, 0);
1149
+ }
1150
+ /* support for nested featherlights. Does not work in IE8 (use JS to fix) */
1151
+ .featherlight:last-of-type {
1152
+ background: rgba(0, 0, 0, 0.8);
1153
+ }
1154
+ .featherlight:before {
1155
+ /* position: trick to center content vertically */
1156
+ content: '';
1157
+ display: inline-block;
1158
+ height: 100%;
1159
+ vertical-align: middle;
1160
+ margin-right: -0.25em;
1161
+ }
1162
+ .featherlight .featherlight-content {
1163
+ /* position: centering vertical and horizontal */
1164
+ text-align: left;
1165
+ vertical-align: middle;
1166
+ display: inline-block;
1167
+ /* dimensions: cut off images */
1168
+ overflow: auto;
1169
+ padding: 25px 0;
1170
+ border-bottom: 25px solid transparent;
1171
+ /* dimensions: handling small or empty content */
1172
+ min-width: 30%;
1173
+ /* dimensions: handling large content */
1174
+ margin-left: 5%;
1175
+ margin-right: 5%;
1176
+ max-height: 95%;
1177
+ /* styling */
1178
+ cursor: auto;
1179
+ /* reset white-space wrapping */
1180
+ white-space: normal;
1181
+ }
1182
+ /* contains the content */
1183
+ .featherlight .featherlight-inner {
1184
+ /* make sure its visible */
1185
+ display: block;
1186
+ }
1187
+ .featherlight .featherlight-close-icon {
1188
+ /* position: centering vertical and horizontal */
1189
+ position: absolute;
1190
+ z-index: 9999;
1191
+ top: 25px;
1192
+ right: 25px;
1193
+ /* dimensions: 25px x 25px */
1194
+ line-height: 25px;
1195
+ width: 25px;
1196
+ /* styling */
1197
+ cursor: pointer;
1198
+ text-align: center;
1199
+ color: #fff;
1200
+ font-family: "fontawesome";
1201
+ font-size: 22px;
1202
+ opacity: 0.5;
1203
+ -webkit-transition: all 0.3s ease-out;
1204
+ -moz-transition: all 0.3s ease-out;
1205
+ -o-transition: all 0.3s ease-out;
1206
+ transition: all 0.3s ease-out;
1207
+ }
1208
+ .featherlight .featherlight-close-icon:hover {
1209
+ opacity: 1;
1210
+ }
1211
+ .featherlight .featherlight-image {
1212
+ /* styling */
1213
+ max-height: 100%;
1214
+ max-width: 100%;
1215
+ }
1216
+ .featherlight-iframe .featherlight-content {
1217
+ /* removed the border for image croping since iframe is edge to edge */
1218
+ border-bottom: 0;
1219
+ padding: 0;
1220
+ }
1221
+ .featherlight iframe {
1222
+ /* styling */
1223
+ border: none;
1224
+ }
1225
+ }
1226
+
1227
+
1228
+ /* handling phones and small screens */
1229
+
1230
+ @media only screen and (max-width: 1024px) {
1231
+ .featherlight .featherlight-content {
1232
+ /* dimensions: maximize lightbox with for small screens */
1233
+ margin-left: 10px;
1234
+ margin-right: 10px;
1235
+ max-height: 98%;
1236
+ padding: 10px 10px 0;
1237
+ border-bottom: 10px solid transparent;
1238
+ }
1239
+ }
1240
+
1241
+
1242
+ /* Gallery Styling */
1243
+
1244
+ @media all {
1245
+ .featherlight-next,
1246
+ .featherlight-previous {
1247
+ font-family: "fontawesome";
1248
+ font-size: 22px;
1249
+ display: block;
1250
+ position: absolute;
1251
+ top: 25px;
1252
+ right: 0;
1253
+ bottom: 0;
1254
+ left: 80%;
1255
+ cursor: pointer;
1256
+ /* preventing text selection */
1257
+ -webkit-touch-callout: none;
1258
+ -webkit-user-select: none;
1259
+ -khtml-user-select: none;
1260
+ -moz-user-select: none;
1261
+ -ms-user-select: none;
1262
+ user-select: none;
1263
+ /* IE9 hack, otherwise navigation doesn't appear */
1264
+ background: rgba(0, 0, 0, 0);
1265
+ -webkit-transition: all 0.3s ease-out;
1266
+ -moz-transition: all 0.3s ease-out;
1267
+ -o-transition: all 0.3s ease-out;
1268
+ transition: all 0.3s ease-out;
1269
+ }
1270
+ .featherlight-previous {
1271
+ left: 0;
1272
+ right: 80%;
1273
+ }
1274
+ .featherlight-next span,
1275
+ .featherlight-previous span {
1276
+ display: inline-block;
1277
+ opacity: 0.3;
1278
+ position: absolute;
1279
+ top: 50%;
1280
+ width: 100%;
1281
+ font-size: 80px;
1282
+ line-height: 80px;
1283
+ /* center vertically */
1284
+ margin-top: -40px;
1285
+ color: #fff;
1286
+ font-style: normal;
1287
+ font-weight: normal;
1288
+ -webkit-transition: all 0.3s ease-out;
1289
+ -moz-transition: all 0.3s ease-out;
1290
+ -o-transition: all 0.3s ease-out;
1291
+ transition: all 0.3s ease-out;
1292
+ }
1293
+ .featherlight-next span {
1294
+ text-align: right;
1295
+ left: auto;
1296
+ right: 7%;
1297
+ }
1298
+ .featherlight-previous span {
1299
+ text-align: left;
1300
+ left: 7%;
1301
+ }
1302
+ .featherlight-next:hover span,
1303
+ .featherlight-previous:hover span {
1304
+ display: inline-block;
1305
+ opacity: 1;
1306
+ }
1307
+ /* Hide navigation while loading */
1308
+ .featherlight-loading .featherlight-previous,
1309
+ .featherlight-loading .featherlight-next {
1310
+ display: none;
1311
+ }
1312
+ }
1313
+
1314
+
1315
+ /* Always display arrows on touch devices */
1316
+
1317
+ @media only screen and (max-device-width: 1024px) {
1318
+ .featherlight-next:hover,
1319
+ .featherlight-previous:hover {
1320
+ background: none;
1321
+ }
1322
+ .featherlight-next span,
1323
+ .featherlight-previous span {
1324
+ display: block;
1325
+ }
1326
+ }
1327
+
1328
+
1329
+ /* handling phones and small screens */
1330
+
1331
+ @media only screen and (max-width: 1024px) {
1332
+ .featherlight-next,
1333
+ .featherlight-previous {
1334
+ top: 10px;
1335
+ right: 10px;
1336
+ left: 85%;
1337
+ }
1338
+ .featherlight-previous {
1339
+ left: 10px;
1340
+ right: 85%;
1341
+ }
1342
+ .featherlight-next span,
1343
+ .featherlight-previous span {
1344
+ margin-top: -30px;
1345
+ font-size: 40px;
1346
+ }
1347
+ }
1348
+
1349
+
1350
+ /* --------- 6.5 Video ---------- */
1351
+
1352
+ #video-box {
1353
+ color: #fff;
1354
+ position: relative;
1355
+ overflow: hidden;
1356
+ text-align: center;
1357
+ }
1358
+
1359
+ .video_container,
1360
+ .easyContainer {
1361
+ position: relative;
1362
+ padding-bottom: 56.25%;
1363
+ /* 16/9 ratio */
1364
+ margin: 0;
1365
+ padding-top: 0;
1366
+ /* IE6 workaround*/
1367
+ height: 0;
1368
+ overflow: hidden;
1369
+ }
1370
+
1371
+ .video_container iframe,
1372
+ .video_container object,
1373
+ .video_container embed {
1374
+ position: absolute;
1375
+ top: 0;
1376
+ left: 0;
1377
+ width: 100% !important;
1378
+ height: 100% !important;
1379
+ }
1380
+
1381
+ .slvj-lightbox iframe,
1382
+ .slvj-lightbox object,
1383
+ .slvj-lightbox embed {
1384
+ width: 100% !important;
1385
+ height: 529px !important;
1386
+ }
1387
+
1388
+ .videojs-background-wrap {
1389
+ overflow: hidden;
1390
+ position: absolute;
1391
+ height: 100%;
1392
+ width: 100%;
1393
+ top: 0;
1394
+ left: 0;
1395
+ z-index: -998;
1396
+ }
1397
+
1398
+ #slvj-window {
1399
+ width: 100%;
1400
+ min-height: 100%;
1401
+ z-index: 9999999999;
1402
+ background: rgba(0, 0, 0, 0.8);
1403
+ position: fixed;
1404
+ top: 0;
1405
+ left: 0;
1406
+ }
1407
+
1408
+ #slvj-window,
1409
+ #slvj-window * {
1410
+ -webkit-box-sizing: border-box;
1411
+ -moz-box-sizing: border-box;
1412
+ box-sizing: border-box;
1413
+ }
1414
+
1415
+ #slvj-background-close {
1416
+ width: 100%;
1417
+ min-height: 100%;
1418
+ z-index: 31;
1419
+ position: fixed;
1420
+ top: 0;
1421
+ left: 0;
1422
+ }
1423
+
1424
+ #slvj-back-lightbox {
1425
+ max-width: 940px;
1426
+ max-height: 529px;
1427
+ z-index: 32;
1428
+ text-align: center;
1429
+ margin: 0 auto;
1430
+ }
1431
+
1432
+ .slvj-lightbox {
1433
+ width: 100%;
1434
+ height: 100%;
1435
+ margin: 0;
1436
+ z-index: 53;
1437
+ }
1438
+
1439
+ #slvj-close-icon:before {
1440
+ font-family: "fontawesome";
1441
+ color: #fff;
1442
+ content: '\f00d';
1443
+ font-size: 22px;
1444
+ opacity: 0.5;
1445
+ -webkit-transition: all 0.3s ease-out;
1446
+ -moz-transition: all 0.3s ease-out;
1447
+ -o-transition: all 0.3s ease-out;
1448
+ transition: all 0.3s ease-out;
1449
+ z-index: 99999;
1450
+ height: 22px;
1451
+ width: 22px;
1452
+ position: absolute;
1453
+ top: 15px;
1454
+ right: 15px;
1455
+ cursor: pointer;
1456
+ }
1457
+
1458
+ #slvj-close-icon:before:hover {
1459
+ opacity: 1;
1460
+ cursor: pointer;
1461
+ }
1462
+
1463
+
1464
+ /* --------- 6.6 Clients ---------- */
1465
+
1466
+ #clients a {
1467
+ display: block;
1468
+ text-align: center;
1469
+ position: relative;
1470
+ text-transform: uppercase;
1471
+ font-weight: bold;
1472
+ color: #fff;
1473
+ }
1474
+
1475
+ #clients img {
1476
+ display: inline-block;
1477
+ padding: 15px 25px;
1478
+ }
1479
+
1480
+ .client-overlay {
1481
+ background: rgba(0, 0, 0, 0.8);
1482
+ position: absolute;
1483
+ top;
1484
+ 0;
1485
+ right: 0;
1486
+ bottom: 0;
1487
+ left: 0;
1488
+ width: 100%;
1489
+ height: 100%;
1490
+ opacity: 0;
1491
+ -webkit-transition: all 0.3s ease-out;
1492
+ -moz-transition: all 0.3s ease-out;
1493
+ -o-transition: all 0.3s ease-out;
1494
+ transition: all 0.3s ease-out;
1495
+ }
1496
+
1497
+ #clients a:hover .client-overlay {
1498
+ opacity: 1;
1499
+ }
1500
+
1501
+ .client-overlay span {
1502
+ position: absolute;
1503
+ top: 48%;
1504
+ left: 0;
1505
+ width: 100%;
1506
+ text-align: center;
1507
+ display: inline-block;
1508
+ }
1509
+
1510
+
1511
+ /* --------- 6.7 Pricing Table ---------- */
1512
+
1513
+ .pricing-block-content {
1514
+ background: #fff;
1515
+ padding: 25px 0 25px 0;
1516
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);
1517
+ transition: all 0.2s ease-in-out 0s;
1518
+ position: relative;
1519
+ border: 10px solid #fff;
1520
+ }
1521
+
1522
+ .pricing-block ul {
1523
+ list-style: none;
1524
+ margin: 25px 0 25px 0;
1525
+ }
1526
+
1527
+ .pricing-block li {
1528
+ padding: 14px 0;
1529
+ border-bottom: 1px dotted #e1e1e1;
1530
+ }
1531
+
1532
+ .pricing-block li:last-of-type {
1533
+ border: none;
1534
+ }
1535
+
1536
+ .pricing-block h3 {
1537
+ font-size: 17px;
1538
+ text-transform: uppercase;
1539
+ padding-bottom: 0;
1540
+ }
1541
+
1542
+ .pricing-sub {
1543
+ font-style: italic;
1544
+ color: #ccc;
1545
+ margin: 0 0 25px 0;
1546
+ }
1547
+
1548
+
1549
+ /*Price*/
1550
+
1551
+ .pricing {
1552
+ background: #f5f5f5;
1553
+ padding: 25px;
1554
+ position: relative;
1555
+ }
1556
+
1557
+ .price {
1558
+ display: inline-block;
1559
+ font-size: 62px;
1560
+ font-weight: 700;
1561
+ position: relative;
1562
+ }
1563
+
1564
+ .price span {
1565
+ position: absolute;
1566
+ top: 0;
1567
+ left: -20px;
1568
+ font-size: 22px;
1569
+ }
1570
+
1571
+ .pricing p {
1572
+ font-style: italic;
1573
+ color: #b4b4b4;
1574
+ line-height: auto;
1575
+ margin: 0;
1576
+ }
1577
+
1578
+
1579
+ /*------------------------------------------------------------------------------------------*/
1580
+
1581
+
1582
+ /* 7. Footer */
1583
+
1584
+
1585
+ /*------------------------------------------------------------------------------------------*/
1586
+
1587
+ #landing-footer {
1588
+ clear: both;
1589
+ }
1590
+
1591
+ #landing-footer .row {
1592
+ padding: 0;
1593
+ }
1594
+
1595
+ #landing-footer p {
1596
+ margin: 0;
1597
+ }
1598
+
1599
+ #landing-footer ul {
1600
+ list-style: none;
1601
+ text-align: right;
1602
+ }
1603
+
1604
+ #landing-footer li {
1605
+ display: inline-block;
1606
+ }
1607
+
1608
+
1609
+ /* Scroll Up */
1610
+
1611
+ #scrollUp {
1612
+ bottom: 15px;
1613
+ right: 30px;
1614
+ width: 70px;
1615
+ height: 80px;
1616
+ margin-bottom: -10px;
1617
+ padding: 0 5px 20px 5px;
1618
+ text-align: center;
1619
+ text-decoration: none;
1620
+ color: #fff;
1621
+ -webkit-transition: margin-bottom 150ms linear;
1622
+ -moz-transition: margin-bottom 150ms linear;
1623
+ -o-transition: margin-bottom 150ms linear;
1624
+ transition: margin-bottom 150ms linear;
1625
+ }
1626
+
1627
+ #scrollUp:hover {
1628
+ margin-bottom: 0;
1629
+ }
1630
+
1631
+ #scrollUp:before {
1632
+ background: #ccc;
1633
+ font-family: "fontawesome";
1634
+ font-size: 2.4em;
1635
+ font-style: normal;
1636
+ font-weight: normal;
1637
+ text-align: center;
1638
+ color: #fff;
1639
+ width: 45px;
1640
+ height: 45px;
1641
+ display: inline-block;
1642
+ line-height: 45px;
1643
+ content: "\f106";
1644
+ opacity: 1;
1645
+ }
1646
+
1647
+ .loader {
1648
+ z-index: 999999;
1649
+ width: 94px;
1650
+ height: 77px;
1651
+ position: relative;
1652
+ top: 20%;
1653
+ left: 50%;
1654
+ transform: translate(-50%, -50%);
1655
+ backface-visibility: hidden;
1656
+ display: none;
1657
+ span {
1658
+ position: absolute;
1659
+ left: 0;
1660
+ top: 0;
1661
+ width: 100%;
1662
+ height: 20px;
1663
+ background-color: #ff8c4a6f;
1664
+ z-index: 1;
1665
+ transform: translateY(135%);
1666
+ animation: move 2s cubic-bezier(0.15, 0.44, 0.76, 0.64);
1667
+ /* Adjust the animation duration here */
1668
+ animation-iteration-count: infinite;
1669
+ }
1670
+ >div {
1671
+ z-index: 1;
1672
+ position: absolute;
1673
+ left: 50%;
1674
+ top: 50%;
1675
+ transform: translate(-50%, -50%);
1676
+ width: 48%;
1677
+ backface-visibility: hidden;
1678
+ }
1679
+ i {
1680
+ display: block;
1681
+ height: 1px;
1682
+ background: #000;
1683
+ margin: 0 auto 2px;
1684
+ margin: 0 auto 2.2px;
1685
+ backface-visibility: hidden;
1686
+ &:nth-child(2) {
1687
+ width: 75%;
1688
+ }
1689
+ &:nth-child(3) {
1690
+ width: 81%;
1691
+ }
1692
+ &:nth-child(4) {
1693
+ width: 87%;
1694
+ }
1695
+ &:nth-child(6) {
1696
+ width: 71%;
1697
+ }
1698
+ &:nth-child(7) {
1699
+ width: 81%;
1700
+ }
1701
+ &:nth-child(8) {
1702
+ width: 65%;
1703
+ }
1704
+ &:nth-child(9) {
1705
+ width: 83%;
1706
+ }
1707
+ &:nth-child(10) {
1708
+ width: 75%;
1709
+ }
1710
+ &:nth-child(12) {
1711
+ width: 86%;
1712
+ }
1713
+ &:nth-child(14) {
1714
+ width: 65%;
1715
+ }
1716
+ &:nth-child(16) {
1717
+ width: 75%;
1718
+ }
1719
+ &:nth-child(18) {
1720
+ width: 83%;
1721
+ }
1722
+ }
1723
+ &:before,
1724
+ &:after,
1725
+ em:after,
1726
+ em:before {
1727
+ border-color: #000;
1728
+ content: "";
1729
+ position: absolute;
1730
+ width: 19px;
1731
+ height: 16px;
1732
+ border-style: solid;
1733
+ border-width: 0px;
1734
+ }
1735
+ &:before {
1736
+ left: 0;
1737
+ top: 0;
1738
+ border-left-width: 1px;
1739
+ border-top-width: 1px;
1740
+ }
1741
+ &:after {
1742
+ right: 0;
1743
+ top: 0;
1744
+ border-right-width: 1px;
1745
+ border-top-width: 1px;
1746
+ }
1747
+ em:before {
1748
+ left: 0;
1749
+ bottom: 0;
1750
+ border-left-width: 1px;
1751
+ border-bottom-width: 1px;
1752
+ }
1753
+ em:after {
1754
+ right: 0;
1755
+ bottom: 0;
1756
+ border-right-width: 1px;
1757
+ border-bottom-width: 1px;
1758
+ }
1759
+ }
1760
+
1761
+ @keyframes move {
1762
+ 0%,
1763
+ 100% {
1764
+ transform: translateY(0%);
1765
+ }
1766
+ 25% {
1767
+ transform: translateY(135%);
1768
+ }
1769
+ 50% {
1770
+ transform: translateY(272%);
1771
+ }
1772
+ 75% {
1773
+ transform: translateY(135%);
1774
+ }
1775
+ }
1776
+
1777
+
1778
+ /*Preloader*/
1779
+
1780
+ .ocrloader {
1781
+ z-index: 999999;
1782
+ width: 94px;
1783
+ height: 77px;
1784
+ position: absolute;
1785
+ left: 50%;
1786
+ top: 50%;
1787
+ transform: translate(-50%, -50%);
1788
+ backface-visibility: hidden;
1789
+ span {
1790
+ position: absolute;
1791
+ left: 0;
1792
+ top: 0;
1793
+ width: 100%;
1794
+ height: 20px;
1795
+ background-color: #ff8c4a6f;
1796
+ z-index: 1;
1797
+ transform: translateY(135%);
1798
+ animation: move 2s cubic-bezier(0.15, 0.44, 0.76, 0.64);
1799
+ /* Adjust the animation duration here */
1800
+ animation-iteration-count: infinite;
1801
+ }
1802
+ >div {
1803
+ z-index: 1;
1804
+ position: absolute;
1805
+ left: 50%;
1806
+ top: 50%;
1807
+ transform: translate(-50%, -50%);
1808
+ width: 48%;
1809
+ backface-visibility: hidden;
1810
+ }
1811
+ i {
1812
+ display: block;
1813
+ height: 1px;
1814
+ background: #000;
1815
+ margin: 0 auto 2px;
1816
+ margin: 0 auto 2.2px;
1817
+ backface-visibility: hidden;
1818
+ &:nth-child(2) {
1819
+ width: 75%;
1820
+ }
1821
+ &:nth-child(3) {
1822
+ width: 81%;
1823
+ }
1824
+ &:nth-child(4) {
1825
+ width: 87%;
1826
+ }
1827
+ &:nth-child(6) {
1828
+ width: 71%;
1829
+ }
1830
+ &:nth-child(7) {
1831
+ width: 81%;
1832
+ }
1833
+ &:nth-child(8) {
1834
+ width: 65%;
1835
+ }
1836
+ &:nth-child(9) {
1837
+ width: 83%;
1838
+ }
1839
+ &:nth-child(10) {
1840
+ width: 75%;
1841
+ }
1842
+ &:nth-child(12) {
1843
+ width: 86%;
1844
+ }
1845
+ &:nth-child(14) {
1846
+ width: 65%;
1847
+ }
1848
+ &:nth-child(16) {
1849
+ width: 75%;
1850
+ }
1851
+ &:nth-child(18) {
1852
+ width: 83%;
1853
+ }
1854
+ }
1855
+ &:before,
1856
+ &:after,
1857
+ em:after,
1858
+ em:before {
1859
+ border-color: #000;
1860
+ content: "";
1861
+ position: absolute;
1862
+ width: 19px;
1863
+ height: 16px;
1864
+ border-style: solid;
1865
+ border-width: 0px;
1866
+ }
1867
+ &:before {
1868
+ left: 0;
1869
+ top: 0;
1870
+ border-left-width: 1px;
1871
+ border-top-width: 1px;
1872
+ }
1873
+ &:after {
1874
+ right: 0;
1875
+ top: 0;
1876
+ border-right-width: 1px;
1877
+ border-top-width: 1px;
1878
+ }
1879
+ em:before {
1880
+ left: 0;
1881
+ bottom: 0;
1882
+ border-left-width: 1px;
1883
+ border-bottom-width: 1px;
1884
+ }
1885
+ em:after {
1886
+ right: 0;
1887
+ bottom: 0;
1888
+ border-right-width: 1px;
1889
+ border-bottom-width: 1px;
1890
+ }
1891
+ }
1892
+
1893
+ @keyframes move {
1894
+ 0%,
1895
+ 100% {
1896
+ transform: translateY(0%);
1897
+ }
1898
+ 25% {
1899
+ transform: translateY(135%);
1900
+ }
1901
+ 50% {
1902
+ transform: translateY(272%);
1903
+ }
1904
+ 75% {
1905
+ transform: translateY(135%);
1906
+ }
1907
+ }
1908
+
1909
+
1910
+ /*!
1911
+ * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
1912
+ * Copyright 2015 Daniel Cardoso <@DanielCardoso>
1913
+ * Licensed under MIT
1914
+ */
1915
+
1916
+ .la-ball-triangle-path,
1917
+ .la-ball-triangle-path>div {
1918
+ position: relative;
1919
+ -webkit-box-sizing: border-box;
1920
+ -moz-box-sizing: border-box;
1921
+ box-sizing: border-box;
1922
+ }
1923
+
1924
+ .la-ball-triangle-path {
1925
+ display: block;
1926
+ font-size: 0;
1927
+ color: #fff;
1928
+ }
1929
+
1930
+ .la-ball-triangle-path.la-dark {
1931
+ color: #333;
1932
+ }
1933
+
1934
+ .la-ball-triangle-path>div {
1935
+ display: inline-block;
1936
+ float: none;
1937
+ background-color: currentColor;
1938
+ border: 0 solid currentColor;
1939
+ }
1940
+
1941
+ .la-ball-triangle-path {
1942
+ width: 32px;
1943
+ height: 32px;
1944
+ }
1945
+
1946
+ .la-ball-triangle-path>div {
1947
+ position: absolute;
1948
+ top: 0;
1949
+ left: 0;
1950
+ width: 10px;
1951
+ height: 10px;
1952
+ border-radius: 100%;
1953
+ }
1954
+
1955
+ .la-ball-triangle-path>div:nth-child(1) {
1956
+ -webkit-animation: ball-triangle-path-ball-one 2s 0s ease-in-out infinite;
1957
+ -moz-animation: ball-triangle-path-ball-one 2s 0s ease-in-out infinite;
1958
+ -o-animation: ball-triangle-path-ball-one 2s 0s ease-in-out infinite;
1959
+ animation: ball-triangle-path-ball-one 2s 0s ease-in-out infinite;
1960
+ }
1961
+
1962
+ .la-ball-triangle-path>div:nth-child(2) {
1963
+ -webkit-animation: ball-triangle-path-ball-two 2s 0s ease-in-out infinite;
1964
+ -moz-animation: ball-triangle-path-ball-two 2s 0s ease-in-out infinite;
1965
+ -o-animation: ball-triangle-path-ball-two 2s 0s ease-in-out infinite;
1966
+ animation: ball-triangle-path-ball-two 2s 0s ease-in-out infinite;
1967
+ }
1968
+
1969
+ .la-ball-triangle-path>div:nth-child(3) {
1970
+ -webkit-animation: ball-triangle-path-ball-tree 2s 0s ease-in-out infinite;
1971
+ -moz-animation: ball-triangle-path-ball-tree 2s 0s ease-in-out infinite;
1972
+ -o-animation: ball-triangle-path-ball-tree 2s 0s ease-in-out infinite;
1973
+ animation: ball-triangle-path-ball-tree 2s 0s ease-in-out infinite;
1974
+ }
1975
+
1976
+ .la-ball-triangle-path.la-sm {
1977
+ width: 16px;
1978
+ height: 16px;
1979
+ }
1980
+
1981
+ .la-ball-triangle-path.la-sm>div {
1982
+ width: 4px;
1983
+ height: 4px;
1984
+ }
1985
+
1986
+ .la-ball-triangle-path.la-2x {
1987
+ width: 64px;
1988
+ height: 64px;
1989
+ }
1990
+
1991
+ .la-ball-triangle-path.la-2x>div {
1992
+ width: 20px;
1993
+ height: 20px;
1994
+ }
1995
+
1996
+ .la-ball-triangle-path.la-3x {
1997
+ width: 96px;
1998
+ height: 96px;
1999
+ }
2000
+
2001
+ .la-ball-triangle-path.la-3x>div {
2002
+ width: 30px;
2003
+ height: 30px;
2004
+ }
2005
+
2006
+
2007
+ /*
2008
+ * Animations
2009
+ */
2010
+
2011
+ @-webkit-keyframes ball-triangle-path-ball-one {
2012
+ 0% {
2013
+ -webkit-transform: translate(0, 220%);
2014
+ transform: translate(0, 220%);
2015
+ }
2016
+ 17% {
2017
+ opacity: .25;
2018
+ }
2019
+ 33% {
2020
+ opacity: 1;
2021
+ -webkit-transform: translate(110%, 0);
2022
+ transform: translate(110%, 0);
2023
+ }
2024
+ 50% {
2025
+ opacity: .25;
2026
+ }
2027
+ 66% {
2028
+ opacity: 1;
2029
+ -webkit-transform: translate(220%, 220%);
2030
+ transform: translate(220%, 220%);
2031
+ }
2032
+ 83% {
2033
+ opacity: .25;
2034
+ }
2035
+ 100% {
2036
+ opacity: 1;
2037
+ -webkit-transform: translate(0, 220%);
2038
+ transform: translate(0, 220%);
2039
+ }
2040
+ }
2041
+
2042
+ @-moz-keyframes ball-triangle-path-ball-one {
2043
+ 0% {
2044
+ -moz-transform: translate(0, 220%);
2045
+ transform: translate(0, 220%);
2046
+ }
2047
+ 17% {
2048
+ opacity: .25;
2049
+ }
2050
+ 33% {
2051
+ opacity: 1;
2052
+ -moz-transform: translate(110%, 0);
2053
+ transform: translate(110%, 0);
2054
+ }
2055
+ 50% {
2056
+ opacity: .25;
2057
+ }
2058
+ 66% {
2059
+ opacity: 1;
2060
+ -moz-transform: translate(220%, 220%);
2061
+ transform: translate(220%, 220%);
2062
+ }
2063
+ 83% {
2064
+ opacity: .25;
2065
+ }
2066
+ 100% {
2067
+ opacity: 1;
2068
+ -moz-transform: translate(0, 220%);
2069
+ transform: translate(0, 220%);
2070
+ }
2071
+ }
2072
+
2073
+ @-o-keyframes ball-triangle-path-ball-one {
2074
+ 0% {
2075
+ -o-transform: translate(0, 220%);
2076
+ transform: translate(0, 220%);
2077
+ }
2078
+ 17% {
2079
+ opacity: .25;
2080
+ }
2081
+ 33% {
2082
+ opacity: 1;
2083
+ -o-transform: translate(110%, 0);
2084
+ transform: translate(110%, 0);
2085
+ }
2086
+ 50% {
2087
+ opacity: .25;
2088
+ }
2089
+ 66% {
2090
+ opacity: 1;
2091
+ -o-transform: translate(220%, 220%);
2092
+ transform: translate(220%, 220%);
2093
+ }
2094
+ 83% {
2095
+ opacity: .25;
2096
+ }
2097
+ 100% {
2098
+ opacity: 1;
2099
+ -o-transform: translate(0, 220%);
2100
+ transform: translate(0, 220%);
2101
+ }
2102
+ }
2103
+
2104
+ @keyframes ball-triangle-path-ball-one {
2105
+ 0% {
2106
+ -webkit-transform: translate(0, 220%);
2107
+ -moz-transform: translate(0, 220%);
2108
+ -o-transform: translate(0, 220%);
2109
+ transform: translate(0, 220%);
2110
+ }
2111
+ 17% {
2112
+ opacity: .25;
2113
+ }
2114
+ 33% {
2115
+ opacity: 1;
2116
+ -webkit-transform: translate(110%, 0);
2117
+ -moz-transform: translate(110%, 0);
2118
+ -o-transform: translate(110%, 0);
2119
+ transform: translate(110%, 0);
2120
+ }
2121
+ 50% {
2122
+ opacity: .25;
2123
+ }
2124
+ 66% {
2125
+ opacity: 1;
2126
+ -webkit-transform: translate(220%, 220%);
2127
+ -moz-transform: translate(220%, 220%);
2128
+ -o-transform: translate(220%, 220%);
2129
+ transform: translate(220%, 220%);
2130
+ }
2131
+ 83% {
2132
+ opacity: .25;
2133
+ }
2134
+ 100% {
2135
+ opacity: 1;
2136
+ -webkit-transform: translate(0, 220%);
2137
+ -moz-transform: translate(0, 220%);
2138
+ -o-transform: translate(0, 220%);
2139
+ transform: translate(0, 220%);
2140
+ }
2141
+ }
2142
+
2143
+ @-webkit-keyframes ball-triangle-path-ball-two {
2144
+ 0% {
2145
+ -webkit-transform: translate(110%, 0);
2146
+ transform: translate(110%, 0);
2147
+ }
2148
+ 17% {
2149
+ opacity: .25;
2150
+ }
2151
+ 33% {
2152
+ opacity: 1;
2153
+ -webkit-transform: translate(220%, 220%);
2154
+ transform: translate(220%, 220%);
2155
+ }
2156
+ 50% {
2157
+ opacity: .25;
2158
+ }
2159
+ 66% {
2160
+ opacity: 1;
2161
+ -webkit-transform: translate(0, 220%);
2162
+ transform: translate(0, 220%);
2163
+ }
2164
+ 83% {
2165
+ opacity: .25;
2166
+ }
2167
+ 100% {
2168
+ opacity: 1;
2169
+ -webkit-transform: translate(110%, 0);
2170
+ transform: translate(110%, 0);
2171
+ }
2172
+ }
2173
+
2174
+ @-moz-keyframes ball-triangle-path-ball-two {
2175
+ 0% {
2176
+ -moz-transform: translate(110%, 0);
2177
+ transform: translate(110%, 0);
2178
+ }
2179
+ 17% {
2180
+ opacity: .25;
2181
+ }
2182
+ 33% {
2183
+ opacity: 1;
2184
+ -moz-transform: translate(220%, 220%);
2185
+ transform: translate(220%, 220%);
2186
+ }
2187
+ 50% {
2188
+ opacity: .25;
2189
+ }
2190
+ 66% {
2191
+ opacity: 1;
2192
+ -moz-transform: translate(0, 220%);
2193
+ transform: translate(0, 220%);
2194
+ }
2195
+ 83% {
2196
+ opacity: .25;
2197
+ }
2198
+ 100% {
2199
+ opacity: 1;
2200
+ -moz-transform: translate(110%, 0);
2201
+ transform: translate(110%, 0);
2202
+ }
2203
+ }
2204
+
2205
+ @-o-keyframes ball-triangle-path-ball-two {
2206
+ 0% {
2207
+ -o-transform: translate(110%, 0);
2208
+ transform: translate(110%, 0);
2209
+ }
2210
+ 17% {
2211
+ opacity: .25;
2212
+ }
2213
+ 33% {
2214
+ opacity: 1;
2215
+ -o-transform: translate(220%, 220%);
2216
+ transform: translate(220%, 220%);
2217
+ }
2218
+ 50% {
2219
+ opacity: .25;
2220
+ }
2221
+ 66% {
2222
+ opacity: 1;
2223
+ -o-transform: translate(0, 220%);
2224
+ transform: translate(0, 220%);
2225
+ }
2226
+ 83% {
2227
+ opacity: .25;
2228
+ }
2229
+ 100% {
2230
+ opacity: 1;
2231
+ -o-transform: translate(110%, 0);
2232
+ transform: translate(110%, 0);
2233
+ }
2234
+ }
2235
+
2236
+ @keyframes ball-triangle-path-ball-two {
2237
+ 0% {
2238
+ -webkit-transform: translate(110%, 0);
2239
+ -moz-transform: translate(110%, 0);
2240
+ -o-transform: translate(110%, 0);
2241
+ transform: translate(110%, 0);
2242
+ }
2243
+ 17% {
2244
+ opacity: .25;
2245
+ }
2246
+ 33% {
2247
+ opacity: 1;
2248
+ -webkit-transform: translate(220%, 220%);
2249
+ -moz-transform: translate(220%, 220%);
2250
+ -o-transform: translate(220%, 220%);
2251
+ transform: translate(220%, 220%);
2252
+ }
2253
+ 50% {
2254
+ opacity: .25;
2255
+ }
2256
+ 66% {
2257
+ opacity: 1;
2258
+ -webkit-transform: translate(0, 220%);
2259
+ -moz-transform: translate(0, 220%);
2260
+ -o-transform: translate(0, 220%);
2261
+ transform: translate(0, 220%);
2262
+ }
2263
+ 83% {
2264
+ opacity: .25;
2265
+ }
2266
+ 100% {
2267
+ opacity: 1;
2268
+ -webkit-transform: translate(110%, 0);
2269
+ -moz-transform: translate(110%, 0);
2270
+ -o-transform: translate(110%, 0);
2271
+ transform: translate(110%, 0);
2272
+ }
2273
+ }
2274
+
2275
+ @-webkit-keyframes ball-triangle-path-ball-tree {
2276
+ 0% {
2277
+ -webkit-transform: translate(220%, 220%);
2278
+ transform: translate(220%, 220%);
2279
+ }
2280
+ 17% {
2281
+ opacity: .25;
2282
+ }
2283
+ 33% {
2284
+ opacity: 1;
2285
+ -webkit-transform: translate(0, 220%);
2286
+ transform: translate(0, 220%);
2287
+ }
2288
+ 50% {
2289
+ opacity: .25;
2290
+ }
2291
+ 66% {
2292
+ opacity: 1;
2293
+ -webkit-transform: translate(110%, 0);
2294
+ transform: translate(110%, 0);
2295
+ }
2296
+ 83% {
2297
+ opacity: .25;
2298
+ }
2299
+ 100% {
2300
+ opacity: 1;
2301
+ -webkit-transform: translate(220%, 220%);
2302
+ transform: translate(220%, 220%);
2303
+ }
2304
+ }
2305
+
2306
+ @-moz-keyframes ball-triangle-path-ball-tree {
2307
+ 0% {
2308
+ -moz-transform: translate(220%, 220%);
2309
+ transform: translate(220%, 220%);
2310
+ }
2311
+ 17% {
2312
+ opacity: .25;
2313
+ }
2314
+ 33% {
2315
+ opacity: 1;
2316
+ -moz-transform: translate(0, 220%);
2317
+ transform: translate(0, 220%);
2318
+ }
2319
+ 50% {
2320
+ opacity: .25;
2321
+ }
2322
+ 66% {
2323
+ opacity: 1;
2324
+ -moz-transform: translate(110%, 0);
2325
+ transform: translate(110%, 0);
2326
+ }
2327
+ 83% {
2328
+ opacity: .25;
2329
+ }
2330
+ 100% {
2331
+ opacity: 1;
2332
+ -moz-transform: translate(220%, 220%);
2333
+ transform: translate(220%, 220%);
2334
+ }
2335
+ }
2336
+
2337
+ @-o-keyframes ball-triangle-path-ball-tree {
2338
+ 0% {
2339
+ -o-transform: translate(220%, 220%);
2340
+ transform: translate(220%, 220%);
2341
+ }
2342
+ 17% {
2343
+ opacity: .25;
2344
+ }
2345
+ 33% {
2346
+ opacity: 1;
2347
+ -o-transform: translate(0, 220%);
2348
+ transform: translate(0, 220%);
2349
+ }
2350
+ 50% {
2351
+ opacity: .25;
2352
+ }
2353
+ 66% {
2354
+ opacity: 1;
2355
+ -o-transform: translate(110%, 0);
2356
+ transform: translate(110%, 0);
2357
+ }
2358
+ 83% {
2359
+ opacity: .25;
2360
+ }
2361
+ 100% {
2362
+ opacity: 1;
2363
+ -o-transform: translate(220%, 220%);
2364
+ transform: translate(220%, 220%);
2365
+ }
2366
+ }
2367
+
2368
+ @keyframes ball-triangle-path-ball-tree {
2369
+ 0% {
2370
+ -webkit-transform: translate(220%, 220%);
2371
+ -moz-transform: translate(220%, 220%);
2372
+ -o-transform: translate(220%, 220%);
2373
+ transform: translate(220%, 220%);
2374
+ }
2375
+ 17% {
2376
+ opacity: .25;
2377
+ }
2378
+ 33% {
2379
+ opacity: 1;
2380
+ -webkit-transform: translate(0, 220%);
2381
+ -moz-transform: translate(0, 220%);
2382
+ -o-transform: translate(0, 220%);
2383
+ transform: translate(0, 220%);
2384
+ }
2385
+ 50% {
2386
+ opacity: .25;
2387
+ }
2388
+ 66% {
2389
+ opacity: 1;
2390
+ -webkit-transform: translate(110%, 0);
2391
+ -moz-transform: translate(110%, 0);
2392
+ -o-transform: translate(110%, 0);
2393
+ transform: translate(110%, 0);
2394
+ }
2395
+ 83% {
2396
+ opacity: .25;
2397
+ }
2398
+ 100% {
2399
+ opacity: 1;
2400
+ -webkit-transform: translate(220%, 220%);
2401
+ -moz-transform: translate(220%, 220%);
2402
+ -o-transform: translate(220%, 220%);
2403
+ transform: translate(220%, 220%);
2404
+ }
2405
+ }
2406
+
2407
+
2408
+ /*------------------------------------------------------------------------------------------*/
2409
+
2410
+
2411
+ /* Responsive Elements */
2412
+
2413
+
2414
+ /*------------------------------------------------------------------------------------------*/
2415
+
2416
+
2417
+ /* =Media Queries for Nav
2418
+ ===============================*/
2419
+
2420
+ @media all and (max-width: 1024px) {
2421
+ #nav-trigger {
2422
+ display: block;
2423
+ }
2424
+ nav#nav-main {
2425
+ display: none;
2426
+ }
2427
+ nav#nav-mobile {
2428
+ display: block;
2429
+ }
2430
+ nav#nav-mobile li {
2431
+ display: block;
2432
+ }
2433
+ #header aside {
2434
+ display: none;
2435
+ }
2436
+ }
2437
+
2438
+
2439
+ /* Landscape mobile & down
2440
+ ===============================*/
2441
+
2442
+ @media (max-width: 480px) {
2443
+ #wrapper {
2444
+ margin: 0;
2445
+ padding: 0;
2446
+ }
2447
+ .page-border,
2448
+ #scrollUp,
2449
+ #scrollUp:before {
2450
+ display: none;
2451
+ }
2452
+ .row {
2453
+ padding: 15px !important;
2454
+ }
2455
+ .col-1,
2456
+ .col-2,
2457
+ .col-3,
2458
+ .col-4,
2459
+ .col-5,
2460
+ .col-6,
2461
+ .col-7,
2462
+ .col-8,
2463
+ .col-9,
2464
+ .col-10,
2465
+ .col-11,
2466
+ .col-12,
2467
+ .col-2-3,
2468
+ .col-3-4,
2469
+ .col-9-10,
2470
+ .col-61,
2471
+ .col-38,
2472
+ .row {
2473
+ width: 100%;
2474
+ }
2475
+ .col-1,
2476
+ .col-2,
2477
+ .col-3,
2478
+ .col-4,
2479
+ .col-5,
2480
+ .col-6,
2481
+ .col-7,
2482
+ .col-8,
2483
+ .col-9,
2484
+ .col-10,
2485
+ .col-11,
2486
+ .col-12,
2487
+ .col-2-3,
2488
+ .col-3-4,
2489
+ .col-9-10,
2490
+ .col-61,
2491
+ .col-38 {
2492
+ padding-right: 0;
2493
+ padding-left: 0;
2494
+ }
2495
+ /*-----------------Header Elements-----------------*/
2496
+ #header .row {
2497
+ padding: 0 15px !important;
2498
+ }
2499
+ #header.nav-solid [class*="col-"] {
2500
+ padding: 0;
2501
+ }
2502
+ /*Logo*/
2503
+ #logo h2 {
2504
+ padding: 0;
2505
+ }
2506
+ /* Social */
2507
+ #header aside {
2508
+ clear: both;
2509
+ padding: 0;
2510
+ }
2511
+ #header ul.social-icons {
2512
+ margin-top: 0;
2513
+ }
2514
+ #banner-content.row {
2515
+ padding-top: 85px !important;
2516
+ }
2517
+ /*-----------------Sections-----------------*/
2518
+ /* Call to Action*/
2519
+ .call-to-action {
2520
+ padding-bottom: 25px;
2521
+ }
2522
+ /* Video */
2523
+ .slvj-lightbox iframe,
2524
+ .slvj-lightbox object,
2525
+ .slvj-lightbox embed {
2526
+ height: 270px !important;
2527
+ }
2528
+ /* Footer */
2529
+ #landing-footer #copyright {
2530
+ float: left;
2531
+ width: 50%;
2532
+ }
2533
+ #landing-footer .social-icons {
2534
+ float: right;
2535
+ width: 50%;
2536
+ }
2537
+ /*-----------------Typography-----------------*/
2538
+ h1 {
2539
+ font-size: 38px;
2540
+ }
2541
+ #banner h1 {
2542
+ font-size: 48px;
2543
+ }
2544
+ /* Hide Elements */
2545
+ a#scrollUp {
2546
+ display: none !important;
2547
+ }
2548
+ }
2549
+
2550
+
2551
+ /* Mobile to Tablet Portrait
2552
+ ===============================*/
2553
+
2554
+ @media (min-width: 480px) and (max-width: 767px) {
2555
+ #wrapper {
2556
+ margin: 0;
2557
+ padding: 0;
2558
+ }
2559
+ .page-border,
2560
+ #scrollUp,
2561
+ #scrollUp:before {
2562
+ display: none;
2563
+ }
2564
+ .row {
2565
+ padding: 15px 0 !important;
2566
+ }
2567
+ .col-1,
2568
+ .col-2,
2569
+ .col-5,
2570
+ .col-7,
2571
+ .col-9,
2572
+ .col-11,
2573
+ .col-2-3,
2574
+ .col-3-4,
2575
+ .col-61,
2576
+ .col-38,
2577
+ .row {
2578
+ width: 100%;
2579
+ }
2580
+ .col-3,
2581
+ .col-4,
2582
+ .col-6,
2583
+ .col-8,
2584
+ .col-10,
2585
+ .col-12 {
2586
+ width: 50%;
2587
+ }
2588
+ /*-----------------Header Elements-----------------*/
2589
+ #header .row {
2590
+ padding: 0 !important;
2591
+ }
2592
+ #header aside {
2593
+ display: inline-block;
2594
+ position: absolute;
2595
+ top: 40px;
2596
+ right: 60px;
2597
+ padding-top: 3px;
2598
+ padding-right: 5px;
2599
+ }
2600
+ #header.nav-solid aside {
2601
+ top: 20px;
2602
+ }
2603
+ #header aside ul {
2604
+ margin-top: 0 !important;
2605
+ padding-top: 6px;
2606
+ }
2607
+ #banner-content.row {
2608
+ padding-top: 85px !important;
2609
+ }
2610
+ /*Navigation*/
2611
+ nav#nav-mobile ul {
2612
+ margin-left: -40px;
2613
+ margin-right: -40px;
2614
+ padding-left: 20px;
2615
+ padding-right: 20px;
2616
+ }
2617
+ /*-----------------Sections-----------------*/
2618
+ /* Video */
2619
+ .slvj-lightbox iframe,
2620
+ .slvj-lightbox object,
2621
+ .slvj-lightbox embed {
2622
+ height: 370px !important;
2623
+ }
2624
+ /* Footer */
2625
+ #landing-footer #copyright {
2626
+ float: left;
2627
+ width: 50%;
2628
+ }
2629
+ #landing-footer .social-icons {
2630
+ float: right;
2631
+ width: 50%;
2632
+ }
2633
+ }
2634
+
2635
+
2636
+ /* Landscape Tablet to Desktop
2637
+ ===============================*/
2638
+
2639
+ @media (min-width: 768px) and (max-width: 1024px) {
2640
+ #wrapper {
2641
+ margin: 0;
2642
+ padding: 0;
2643
+ }
2644
+ .page-border {
2645
+ display: none;
2646
+ }
2647
+ .big-padding-top {
2648
+ padding-top: 45px !important;
2649
+ }
2650
+ /*-----------------Header Elements-----------------*/
2651
+ #header aside {
2652
+ display: inline-block;
2653
+ position: absolute;
2654
+ top: 40px;
2655
+ right: 60px;
2656
+ padding-top: 3px;
2657
+ padding-right: 5px;
2658
+ }
2659
+ #header.nav-solid aside {
2660
+ top: 20px;
2661
+ }
2662
+ #header aside ul {
2663
+ margin-top: 0 !important;
2664
+ padding-top: 6px;
2665
+ }
2666
+ /*Navigation*/
2667
+ nav#nav-mobile ul {
2668
+ margin-left: -40px;
2669
+ margin-right: -40px;
2670
+ padding-left: 20px;
2671
+ padding-right: 20px;
2672
+ }
2673
+ /*-----------------Sections-----------------*/
2674
+ /* Video */
2675
+ .slvj-lightbox object,
2676
+ .slvj-lightbox embed {
2677
+ height: 432px !important;
2678
+ }
2679
+ }
2680
+
2681
+ @import 'https://fonts.googleapis.com/css?family=Montserrat:800|Poppins:400';
2682
+ .wall {
2683
+ position: absolute;
2684
+ width: 100vw;
2685
+ height: 100vh;
2686
+ background-color: #fff;
2687
+ }
2688
+
2689
+ .row1 {
2690
+ z-index: -9999999;
2691
+ display: flex;
2692
+ animation: 200s linear ticker-to-left infinite;
2693
+ }
2694
+
2695
+ .row1:nth-child(even) {
2696
+ animation: 60s linear ticker-to-right infinite;
2697
+ justify-content: flex-end;
2698
+ }
2699
+
2700
+ .row1 span {
2701
+ margin-right: 0.2em;
2702
+ font-family: sans-serif;
2703
+ color: transparent;
2704
+ font-size: 20vh;
2705
+ font-weight: bold;
2706
+ line-height: 1;
2707
+ text-transform: uppercase;
2708
+ -webkit-text-stroke-width: 4px;
2709
+ text-stroke-width: 4px;
2710
+ -webkit-text-stroke-color: #f5f5f599;
2711
+ text-stroke-color: #f5f5f599;
2712
+ }
2713
+
2714
+ @keyframes ticker-to-left {
2715
+ 0% {
2716
+ transform: translate3d(0, 0, 0);
2717
+ }
2718
+ 100% {
2719
+ transform: translate3d(-100%, 0, 0);
2720
+ }
2721
+ }
2722
+
2723
+ @keyframes ticker-to-right {
2724
+ 0% {
2725
+ transform: translate3d(0, 0, 0);
2726
+ }
2727
+ 100% {
2728
+ transform: translate3d(100%, 0, 0);
2729
+ }
2730
+ }
2731
+
2732
+ .container {
2733
+ max-width: 500px;
2734
+ max-height: 400px;
2735
+ width: 100%;
2736
+ padding: 25px;
2737
+ background: rgb(255 255 255 / 0%);
2738
+ box-shadow: 0 8px 32px 0 rgba(154, 154, 154, 0.37);
2739
+ backdrop-filter: blur(2.2px);
2740
+ -webkit-backdrop-filter: blur(2.2px);
2741
+ border-radius: 12px;
2742
+ border: 1px solid rgba(52, 52, 52, 0.195);
2743
+ }
2744
+
2745
+ .uploadbuttons {
2746
+ display: flex;
2747
+ justify-content: flex-start;
2748
+ }
2749
+
2750
+ .container:hover {
2751
+ background: rgb(255 93 0 / 11%);
2752
+ /* Adjust the alpha value for the desired transparency */
2753
+ box-shadow: 0 8px 32px 0 rgba(154, 154, 154, 0.37);
2754
+ backdrop-filter: blur(2.2px);
2755
+ -webkit-backdrop-filter: blur(2.2px);
2756
+ border: 1px solid rgba(103, 101, 101, 0.195);
2757
+ transition: all .4s ease-in-out;
2758
+ }
2759
+
2760
+ .drag-area {
2761
+ height: 200px;
2762
+ border: 3px dashed rgba(128, 128, 128, 0.263);
2763
+ border-radius: 10px;
2764
+ display: flex;
2765
+ align-items: center;
2766
+ justify-content: center;
2767
+ flex-direction: column;
2768
+ padding: 0px 50px;
2769
+ }
2770
+
2771
+ .drag-area:hover {
2772
+ height: 200px;
2773
+ border: 3px dashed #ff8c4a5a;
2774
+ display: flex;
2775
+ align-items: center;
2776
+ justify-content: center;
2777
+ flex-direction: column;
2778
+ }
2779
+
2780
+ h3 {
2781
+ margin-bottom: 20px;
2782
+ font-weight: 500;
2783
+ }
2784
+
2785
+ .drag-area .icon {
2786
+ font-size: 50px;
2787
+ width: 60px;
2788
+ height: 60px;
2789
+ }
2790
+
2791
+ .drag-area .headerx {
2792
+ font-size: 17px;
2793
+ font-weight: 500;
2794
+ color: #34495e;
2795
+ }
2796
+
2797
+ .drag-area .support {
2798
+ font-size: 12px;
2799
+ color: gray;
2800
+ margin: 10px 0 15px 0;
2801
+ }
2802
+
2803
+ .drag-area .buttonx {
2804
+ font-size: 17px;
2805
+ font-weight: 500;
2806
+ color: #FF8B4A;
2807
+ cursor: pointer;
2808
+ }
2809
+
2810
+ .drag-area.active {
2811
+ border: 2px solid #FF8B4A;
2812
+ margin-bottom: 20px;
2813
+ }
2814
+
2815
+ .drag-area img {
2816
+ width: 100%;
2817
+ height: 100%;
2818
+ object-fit: contain;
2819
+ z-index: -1;
2820
+ padding-top: 8px;
2821
+ }
2822
+
2823
+ .image-grid {
2824
+ display: flex;
2825
+ justify-content: space-between;
2826
+ margin-top: 20px;
2827
+ }
2828
+
2829
+ .image-grid img {
2830
+ width: 30%;
2831
+ /* Adjust the width as needed */
2832
+ cursor: pointer;
2833
+ }
2834
+
2835
+
2836
+ /* Additional styles for responsiveness */
2837
+
2838
+ @media (max-width: 768px) {
2839
+ .image-grid {
2840
+ flex-direction: column;
2841
+ align-items: center;
2842
+ }
2843
+ .image-grid img {
2844
+ width: 80%;
2845
+ /* Adjust the width for smaller screens */
2846
+ margin-bottom: 10px;
2847
+ }
2848
+ }
2849
+
2850
+ .arrow {
2851
+ width: 20px;
2852
+ height: 20px;
2853
+ transform: rotate(90deg);
2854
+ }
2855
+
2856
+ .ar {
2857
+ margin-bottom: 20px;
2858
+ display: flex;
2859
+ justify-content: center;
2860
+ align-items: center;
2861
+ font-size: 12px;
2862
+ }
2863
+
2864
+ .easytext {
2865
+ background: linear-gradient(45deg, #FFA07A, #FF6347);
2866
+ -webkit-background-clip: text;
2867
+ color: transparent;
2868
+ }
2869
+
2870
+
2871
+ /* Add this CSS for the grid container */
2872
+
2873
+ .grid-container {
2874
+ display: grid;
2875
+ grid-template-columns: repeat(3, 1fr);
2876
+ max-width: 600px;
2877
+ margin: 0 auto;
2878
+ gap: 10px;
2879
+ /* Adjust the gap as needed */
2880
+ }
2881
+
2882
+ .grid-item {
2883
+ background: rgba(100, 97, 97, 0.2);
2884
+ backdrop-filter: blur(3.5px);
2885
+ padding: 20px;
2886
+ text-align: center;
2887
+ width: auto;
2888
+ height: max-content;
2889
+ border-radius: 5px;
2890
+ }
2891
+
2892
+ .grid-item:hover {
2893
+ background: linear-gradient(45deg, #FFA07A, #FF6347);
2894
+ color: #fff;
2895
+ }
2896
+
2897
+ .uploadbuttons {
2898
+ display: flex;
2899
+ align-items: center;
2900
+ align-content: center;
2901
+ flex-wrap: nowrap;
2902
+ justify-content: space-around;
2903
+ }
2904
+
2905
+ .uploadbutton {
2906
+ font-family: poppins;
2907
+ font-weight: 400;
2908
+ position: relative;
2909
+ padding: 12px 35px;
2910
+ background: linear-gradient(45deg, #FFA07A, #fa7962);
2911
+ font-size: 17px;
2912
+ font-weight: 500;
2913
+ color: #fff;
2914
+ border: 2px solid transparent;
2915
+ border-radius: 10px;
2916
+ box-shadow: 0 0 0 #fec1958c;
2917
+ transition: all .3s ease-in-out;
2918
+ justify-self: center;
2919
+ }
2920
+
2921
+ .star-1 {
2922
+ position: absolute;
2923
+ top: 20%;
2924
+ left: 20%;
2925
+ width: 25px;
2926
+ height: auto;
2927
+ filter: drop-shadow(0 0 0 #fffdef);
2928
+ z-index: -5;
2929
+ transition: all 1s cubic-bezier(0.05, 0.83, 0.43, 0.96);
2930
+ }
2931
+
2932
+ .star-2 {
2933
+ position: absolute;
2934
+ top: 45%;
2935
+ left: 45%;
2936
+ width: 15px;
2937
+ height: auto;
2938
+ filter: drop-shadow(0 0 0 #fffdef);
2939
+ z-index: -5;
2940
+ transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);
2941
+ }
2942
+
2943
+ .star-3 {
2944
+ position: absolute;
2945
+ top: 40%;
2946
+ left: 40%;
2947
+ width: 5px;
2948
+ height: auto;
2949
+ filter: drop-shadow(0 0 0 #fffdef);
2950
+ z-index: -5;
2951
+ transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);
2952
+ }
2953
+
2954
+ .star-4 {
2955
+ position: absolute;
2956
+ top: 20%;
2957
+ left: 40%;
2958
+ width: 8px;
2959
+ height: auto;
2960
+ filter: drop-shadow(0 0 0 #fffdef);
2961
+ z-index: -5;
2962
+ transition: all .8s cubic-bezier(0, 0.4, 0, 1.01);
2963
+ }
2964
+
2965
+ .star-5 {
2966
+ position: absolute;
2967
+ top: 25%;
2968
+ left: 45%;
2969
+ width: 15px;
2970
+ height: auto;
2971
+ filter: drop-shadow(0 0 0 #fffdef);
2972
+ z-index: -5;
2973
+ transition: all .6s cubic-bezier(0, 0.4, 0, 1.01);
2974
+ }
2975
+
2976
+ .star-6 {
2977
+ position: absolute;
2978
+ top: 5%;
2979
+ left: 50%;
2980
+ width: 5px;
2981
+ height: auto;
2982
+ filter: drop-shadow(0 0 0 #fffdef);
2983
+ z-index: -5;
2984
+ transition: all .8s ease;
2985
+ }
2986
+
2987
+ .uploadbutton:hover {
2988
+ border: 2px solid #FF8B4A;
2989
+ background: #f5f5f5;
2990
+ color: #000;
2991
+ transition: all .3s ease-in-out;
2992
+ }
2993
+
2994
+ .uploadbutton:hover .star-1 {
2995
+ position: absolute;
2996
+ top: -80%;
2997
+ left: -30%;
2998
+ width: 25px;
2999
+ height: auto;
3000
+ filter: drop-shadow(0 0 10px #fffdef);
3001
+ z-index: 2;
3002
+ }
3003
+
3004
+ .uploadbutton:hover .star-2 {
3005
+ position: absolute;
3006
+ top: -25%;
3007
+ left: 10%;
3008
+ width: 15px;
3009
+ height: auto;
3010
+ filter: drop-shadow(0 0 10px #fffdef);
3011
+ z-index: 2;
3012
+ }
3013
+
3014
+ .uploadbutton:hover .star-3 {
3015
+ position: absolute;
3016
+ top: 55%;
3017
+ left: 25%;
3018
+ width: 5px;
3019
+ height: auto;
3020
+ filter: drop-shadow(0 0 10px #fffdef);
3021
+ z-index: 2;
3022
+ }
3023
+
3024
+ .uploadbutton:hover .star-4 {
3025
+ position: absolute;
3026
+ top: 30%;
3027
+ left: 80%;
3028
+ width: 8px;
3029
+ height: auto;
3030
+ filter: drop-shadow(0 0 10px #fffdef);
3031
+ z-index: 2;
3032
+ }
3033
+
3034
+ .uploadbutton:hover .star-5 {
3035
+ position: absolute;
3036
+ top: 25%;
3037
+ left: 115%;
3038
+ width: 15px;
3039
+ height: auto;
3040
+ filter: drop-shadow(0 0 10px #fffdef);
3041
+ z-index: 2;
3042
+ }
3043
+
3044
+ .uploadbutton:hover .star-6 {
3045
+ position: absolute;
3046
+ top: 5%;
3047
+ left: 60%;
3048
+ width: 5px;
3049
+ height: auto;
3050
+ filter: drop-shadow(0 0 10px #fffdef);
3051
+ z-index: 2;
3052
+ }
3053
+
3054
+ .buttondiv {
3055
+ margin-top: 15px;
3056
+ display: flex;
3057
+ justify-content: center;
3058
+ }
3059
+
3060
+ input #file-input {
3061
+ height: 100%;
3062
+ }
static/images/arrow.gif ADDED
static/images/banner-images/banner-image-1.jpg ADDED
static/images/company-images/company-logo1.png ADDED
static/images/company-images/company-logo2.png ADDED
static/images/company-images/company-logo3.png ADDED
static/images/company-images/company-logo4.png ADDED
static/images/company-images/company-logo5.png ADDED
static/images/company-images/company-logo6.png ADDED
static/images/company-images/company-logo7.png ADDED
static/images/company-images/company-logo8.png ADDED
static/images/company-images/company-logo9.png ADDED
static/images/dancer.jpg ADDED
static/images/favicon.ico ADDED
static/images/gallery-images/gallery-image-1.jpg ADDED
static/images/gallery-images/gallery-image-2.jpg ADDED
static/images/gallery-images/gallery-image-3.jpg ADDED
static/images/gallery-images/gallery-image-4.jpg ADDED
static/images/gallery-images/gallery-image-5.jpg ADDED
static/images/gallery-images/gallery-image-6.jpg ADDED
static/images/logo-2.png ADDED
static/images/logo.png ADDED
static/images/logox.png ADDED
static/images/logoxx.png ADDED
static/images/receipt.jpg ADDED
static/images/receiptcon.png ADDED
static/images/uplogo.gif ADDED
static/images/uplogo1.gif ADDED
static/images/uplogo2.gif ADDED