shethjenil commited on
Commit
5f900bc
·
verified ·
1 Parent(s): aaeea7d

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ allbook.book filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11
2
+ RUN apt-get update && \
3
+ apt-get install -y ffmpeg && \
4
+ apt-get clean && \
5
+ rm -rf /var/lib/apt/lists/*
6
+ RUN useradd -ms /bin/bash myuser
7
+ WORKDIR /code
8
+ COPY . .
9
+ RUN pip install -r requirements.txt
10
+ RUN chown -R myuser:myuser /code
11
+ USER myuser
12
+ CMD ["python","app.py"]
allbook.book ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba33bd0983b948f0919eb0a782221b175449ccd8eb2d2510ea684e9a24b7617b
3
+ size 9381043
app.py ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from functools import wraps
2
+ from typing import Dict
3
+ from llama_index.core import StorageContext , VectorStoreIndex
4
+ from llama_index.core.base.base_retriever import BaseRetriever
5
+ from llama_index.core.schema import NodeRelationship , NodeWithScore
6
+ from chromadb import EphemeralClient
7
+ from llama_index.vector_stores.chroma import ChromaVectorStore
8
+ from nest_asyncio import apply as nest_asyncio_apply
9
+ from pickle import load as pickle_load ,loads as pickle_loads, dump as pickle_dump, dumps as pickle_dumps
10
+ from bs4 import BeautifulSoup
11
+ from edge_tts import Communicate
12
+ from uuid import uuid4
13
+ from os import remove , getenv
14
+ from pydub import AudioSegment
15
+ from json import loads , dumps
16
+ from io import BytesIO
17
+ from g4f.client import Client
18
+ from re import search , DOTALL
19
+ from flask_caching import Cache
20
+ from base64 import b64encode , b64decode
21
+ from flask import Flask, request, send_file , redirect , jsonify , render_template
22
+ from asyncio import run as run_asyncio
23
+ from requests import get as reqget
24
+ from llama_index.embeddings.huggingface import HuggingFaceEmbedding
25
+ from g4f.Provider import __providers__
26
+ from io import StringIO
27
+ import flask_monitoringdashboard as dashboard
28
+ import sys
29
+
30
+ nest_asyncio_apply()
31
+
32
+ class AIBook:
33
+ password = '123456'
34
+ app = Flask(__name__,template_folder="")
35
+ app.config['CACHE_TYPE'] = 'SimpleCache'
36
+ app.config['CACHE_DEFAULT_TIMEOUT'] = 600 # seconds
37
+ cache = Cache(app)
38
+ embed_model:HuggingFaceEmbedding = HuggingFaceEmbedding("model")
39
+ index:VectorStoreIndex = VectorStoreIndex(nodes=pickle_load(open('allbook.book', 'rb')),embed_model=embed_model,storage_context=StorageContext.from_defaults(vector_store=ChromaVectorStore(chroma_collection= EphemeralClient().get_or_create_collection("bookAiLib"))))
40
+ srcnum:int=2
41
+ retriever:BaseRetriever = index.as_retriever(similarity_top_k=srcnum,vector_store_query_mode="default")
42
+ system_prompt:str = open("prompt.txt",encoding="utf-8").read()
43
+ teachertts = "hi-IN-MadhurNeural"
44
+ studenttts = "hi-IN-SwaraNeural"
45
+ error_audio:AudioSegment = AudioSegment.from_file("default_error_script.mp3", format="mp3")
46
+ LLMENABLE:bool = True
47
+ URL:str = "https://"+getenv("SPACE_HOST")
48
+ llmprovider = {provider.__name__.lower():provider for provider in __providers__}
49
+ llmprovider[""] = None
50
+ @classmethod
51
+ def changesrcnum(cls,srcnum:int):
52
+ cls.srcnum = srcnum
53
+ cls.retriever = cls.index.as_retriever(similarity_top_k=cls.srcnum,vector_store_query_mode="default")
54
+ cls.retriever.retrieve
55
+ @classmethod
56
+ def retrieve(cls,query:str)->list[NodeWithScore]:
57
+ return cls.retriever.retrieve(query)
58
+ @classmethod
59
+ def nodes_to_guj(cls,nodes:list[NodeWithScore])->list[str]:
60
+ return [node.node.relationships[NodeRelationship("1")].metadata["maintext"] for node in nodes]
61
+ @classmethod
62
+ def nodes_to_eng(cls,nodes:list[NodeWithScore])->list[str]:
63
+ return [node.node.text for node in nodes]
64
+ @classmethod
65
+ def nodes_to_page_with_bookname(cls,nodes:list[NodeWithScore])->list[Dict]:
66
+ return [{"page":int(node.node.relationships[NodeRelationship("1")].metadata["page"]),"bookname":node.node.relationships[NodeRelationship("1")].metadata["book"]} for node in nodes]
67
+ @classmethod
68
+ def translate_text(cls,text: str, src: str = "gu", tgt: str = "en",enabletransiliration=True) -> str:
69
+ if bool(search(r"[A-Za-z]", text)) and enabletransiliration:
70
+ text = reqget(f"https://inputtools.google.com/request?itc={src}-t-i0-und&num=1&text={text}").json()[1][0][1][0]
71
+ return "".join([i[0] for i in reqget(f'https://translate.googleapis.com/translate_a/single?client=gtx&sl={src}&tl={tgt}&dt=t&q={text}').json()[0]])
72
+ @classmethod
73
+ def tts_generate(cls,text: str, speaker: str) -> str:
74
+ temp_filename = f"temp_{uuid4()}.wav"
75
+ run_asyncio(Communicate(text, cls.teachertts if speaker == "teacher" else cls.studenttts).save(temp_filename))
76
+ return temp_filename
77
+ @classmethod
78
+ def combine_audio_files(cls,json_script:str) -> bytes:
79
+ combined_audio = AudioSegment.empty()
80
+ if "शिष्य चलो,आज का समय यही समाप्त होता है में अब आगे कुछ नहीं बोल सकता , मैं थक गया हूँ" not in json_script:
81
+ audio_files = [cls.tts_generate(item['line'], item['speaker']) for item in loads(json_script)]
82
+ for audio_file in audio_files:
83
+ combined_audio += AudioSegment.from_file(audio_file)
84
+ remove(audio_file)
85
+ else:
86
+ page_audio = cls.tts_generate(loads(json_script)[-1]['line'], "student")
87
+ combined_audio = cls.error_audio+AudioSegment.from_file(page_audio)
88
+ remove(page_audio)
89
+ return combined_audio.export(format="mp3").read()
90
+ @classmethod
91
+ def generate_script(cls, prompt:str,provider:str="",model:str="gpt-4o-mini",retry=1)->str:
92
+ try:
93
+ if cls.LLMENABLE and retry<4:
94
+ result = Client().chat.completions.create(max_tokens=2024,provider=cls.llmprovider[provider],model=model,messages=[{"role": "user", "content": "AGENT PROMPT:-\n"+cls.system_prompt+"\nUSER PROMPT:-\n"+prompt}]).choices[0].message.content
95
+ try:
96
+ return search(r'```json(.*?)```', result, DOTALL).group(1).replace('"वक्ता"','"speaker"').replace('"अध्यापक"','"teacher"').replace('"विद्यार्थी"','"student"').replace('"वाक्य"','"line"')
97
+ except:
98
+ print(result)
99
+ return cls.generate_script(prompt,provider,model,retry+1)
100
+ else:
101
+ raise Exception("LLM faced a problem")
102
+ except Exception as e:
103
+ print(e)
104
+ return dumps([{"speaker": "teacher","line": "शिष्य चलो,आज का समय यही समाप्त होता है में अब आगे कुछ नहीं बोल सकता , मैं थक गया हूँ"},{"speaker": "student","line": "कुछ नहीं गुरूजी आप मुझे वो शास्त्र के भावार्थ की बात बताने वाला पेज तो देते जाइए में खुद पढ़ लूंगा"},{"speaker": "teacher","line": "लो , इसमें लिखे हुए अक्षर थोड़े खराब है इसलिए तुम्हें दिक्कत हो सकती है"},{"speaker": "student","line": "ठीक है मैं पढता हूँ"},{"speaker": "student","line": AIBook.translate_text(prompt,'en','hi',False)}])
105
+
106
+ @classmethod
107
+ def get_image_url(cls,bookid:str,page:str|int)->str:
108
+ return BeautifulSoup(reqget(f"https://jainqq.org/explore/{bookid}/{page}").content, "html.parser").find("img",class_="img-fluid").get("src")
109
+ @classmethod
110
+ def encode_string(cls,s:str)->str:
111
+ return b64encode(s.encode()).decode()
112
+ @classmethod
113
+ def decode_string(cls,s:str)->str:
114
+ return b64decode(s.encode()).decode()
115
+ @classmethod
116
+ def cachereqbyurl(cls,func):
117
+ @wraps(func)
118
+ def wrapper(*args, **kwargs):
119
+ cache_key = request.url
120
+ cached_result = cls.cache.get(cache_key)
121
+ if cached_result:
122
+ return cached_result
123
+ result = func(*args, **kwargs)
124
+ cls.cache.set(cache_key, result, timeout=600)
125
+ return result
126
+ return wrapper
127
+
128
+ dashboard.bind(app=AIBook.app)
129
+ @AIBook.app.route("/")
130
+ @AIBook.cachereqbyurl
131
+ def function1():
132
+ return f"""Please provide a question as {AIBook.URL}/get_text?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ<br>for getting image of question {AIBook.URL}/question_to_img?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ <br>for get image by book and page {AIBook.URL}/getbookimage/023657/99<br>for get image redirect url by book and page {AIBook.URL}/getbookimage/023657/99?redirect=true<br>for knowing full data with page etc {AIBook.URL}/fulldetails?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ <br>Change srcnum as {AIBook.URL}/changesrcnum?srcnum=2<br>enable or disable llm through {AIBook.URL}/LLM_ENABLE?enable=true || {AIBook.URL}/LLM_ENABLE?enable=false <br>Get audio from podcast script as {AIBook.URL}/tts_podcast?json_script=json_script for get podcast audio<br>{AIBook.URL}/get_prompt?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ for get prompt<br>{AIBook.URL}/podcast?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ for get details<br>{AIBook.URL}/podcast_audio?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ for get audio<br>{AIBook.URL}/podcast_script?question=પ્રભુ નું અસ્તિત્વ છે કે નહિ for get podcast script<br>you can try replace of "પ્રભુ નું અસ્તિત્વ છે કે નહિ" with "prabhu nu astitva chhe ke nahi"<br>{AIBook.URL}/download_embedding for downloading embedding book file<br>For uploading a 1 book file<br><form action="/insert_nodes" method="post" enctype="multipart/form-data"><input type="file" name="file" accept=".book" /><input type="submit" value="Upload Book File" /></form><br>for uploading allbook file<br><form action="/upload_embedding" method="post" enctype="multipart/form-data"><input type="file" name="file" accept=".book" /><input type="submit" value="Upload Book File" /></form><br>Get python interactive shell as {AIBook.URL}/python <br>change python authentication password {AIBook.URL}/change_password?password=123456<br>to monitor api usage {AIBook.URL}/dashboard with <b><i>admin</b></i> username and <b><i>admin</b></i> password"""
133
+
134
+ @AIBook.app.route("/tts_podcast")
135
+ @AIBook.cachereqbyurl
136
+ def function2():
137
+ return send_file(BytesIO(AIBook.combine_audio_files(request.args.get('json_script'))), download_name='podcast.mp3', mimetype="audio/mp3")
138
+
139
+ @AIBook.app.route("/changesrcnum")
140
+ def function3():
141
+ AIBook.changesrcnum(int(request.args.get("srcnum")))
142
+ return "srcnum changed"
143
+
144
+ @AIBook.app.route("/insert_nodes",methods=["POST"])
145
+ def function4():
146
+ objs = pickle_loads(request.files['file'].read())
147
+ AIBook.index.insert_nodes(objs)
148
+ pickle_dump(pickle_load(open("allbook.book",'rb'))+objs,open("allbook.book",'wb'))
149
+ return "inserted"
150
+
151
+ @AIBook.app.route("/fulldetails")
152
+ @AIBook.cachereqbyurl
153
+ def function5():
154
+ question = request.args.get("question")
155
+ trans = AIBook.translate_text(question)
156
+ return jsonify({"question":question,"translatedquestion":trans,"contents":[{"text":i.get_text(),"score":i.get_score(),"metadata":i.node.relationships[NodeRelationship("1")].metadata} for i in AIBook.retrieve(trans)]})
157
+
158
+ @AIBook.app.route("/getbookimage/<bookid>/<page>")
159
+ @AIBook.cachereqbyurl
160
+ def function6(bookid,page):
161
+ pagelink = AIBook.get_image_url(bookid,page)
162
+ if request.args.get("redirect") != "false":
163
+ return redirect(pagelink)
164
+ else:
165
+ response = reqget(pagelink)
166
+ return send_file(BytesIO(response.content), mimetype=response.headers['Content-Type'])
167
+
168
+ @AIBook.app.route("/question_to_img")
169
+ @AIBook.cachereqbyurl
170
+ def function7():
171
+ meta = AIBook.retrieve(AIBook.translate_text(request.args.get("question")))[0].node.relationships[NodeRelationship("1")].metadata
172
+ response = reqget(AIBook.get_image_url(meta['bookid'],meta['page']))
173
+ return send_file(BytesIO(response.content), mimetype=response.headers['Content-Type'])
174
+
175
+ @AIBook.app.route("/get_prompt")
176
+ @AIBook.cachereqbyurl
177
+ def function8():
178
+ translatedquestion = AIBook.translate_text(request.args.get("question"))
179
+ node = AIBook.retrieve(translatedquestion)[0].node
180
+ metadata = node.relationships[NodeRelationship("1")].metadata
181
+ return jsonify({"image":AIBook.get_image_url(metadata['bookid'],metadata['page']),"text":f"Question:\"{translatedquestion}\"\nReferance book page content:\n\"\"\"{node.text}\"\"\""})
182
+
183
+ @AIBook.app.route("/podcast")
184
+ @AIBook.cachereqbyurl
185
+ def function9():
186
+ translatedquestion = AIBook.translate_text(request.args.get("question"))
187
+ node = AIBook.retrieve(translatedquestion)[0].node
188
+ metadata = node.relationships[NodeRelationship("1")].metadata
189
+ script=AIBook.generate_script(f"Question:\"{translatedquestion}\"\nReferance book page content:\n\"\"\"{node.text}\"\"\"")
190
+ return jsonify({"image":AIBook.get_image_url(metadata['bookid'],metadata['page']),"script":"\n".join(["गुरुदेव :- "+i['line'] if i['speaker'] == 'teacher' else "शिष्य :- "+i['line'] for i in loads(script)]),"metadata":metadata,"audio":b64encode(AIBook.combine_audio_files(script)).decode('utf-8')})
191
+
192
+ @AIBook.app.route("/podcast_audio")
193
+ @AIBook.cachereqbyurl
194
+ def function10():
195
+ translatedquestion = AIBook.translate_text(request.args.get("question"))
196
+ return send_file(BytesIO(AIBook.combine_audio_files(AIBook.generate_script(f"Question:\"{translatedquestion}\"\nReferance book page content:\n\"\"\"{AIBook.retrieve(translatedquestion)[0].node.text}\"\"\""))), mimetype="audio/mp3")
197
+
198
+ @AIBook.app.route("/podcast_script")
199
+ @AIBook.cachereqbyurl
200
+ def function11():
201
+ translatedquestion = AIBook.translate_text(request.args.get("question"))
202
+ node = AIBook.retrieve(translatedquestion)[0].node
203
+ metadata = node.relationships[NodeRelationship("1")].metadata
204
+ script = AIBook.generate_script(f"Question:\"{translatedquestion}\"\nReferance book page content:\n\"\"\"{node.text}\"\"\"")
205
+ return "\n".join(["गुरुदेव :- "+i['line'] if i['speaker'] == 'teacher' else "शिष्य :- "+i['line'] for i in loads(script)]) + "\nBookname : "+ metadata["book"] + " page : "+ str(metadata["page"]) +"\nReferance page image link : " + AIBook.get_image_url(metadata['bookid'],metadata['page'])
206
+
207
+ @AIBook.app.route("/download_embedding")
208
+ def function12():
209
+ return send_file("allbook.book", as_attachment=True)
210
+
211
+ @AIBook.app.route("/upload_embedding", methods=['POST'])
212
+ def function13():
213
+ file = request.files['file']
214
+ AIBook.index.vector_store.clear()
215
+ file.save("allbook.book")
216
+ AIBook.index.insert_nodes(pickle_load(open("allbook.book",'rb')))
217
+ return "Done"
218
+ @AIBook.app.route("/LLM_ENABLE")
219
+ def function14():
220
+ AIBook.LLMENABLE = True if request.args.get("enable").strip().lower() == "true" else False
221
+ return "Done"
222
+
223
+ @AIBook.app.route("/get_text")
224
+ @AIBook.cachereqbyurl
225
+ def function15()->str:
226
+ return "\n\n".join(AIBook.nodes_to_guj(AIBook.retrieve(AIBook.translate_text(request.args.get("question")))))
227
+
228
+ @AIBook.app.route('/python')
229
+ def function16():
230
+ return render_template('index.html')
231
+
232
+ @AIBook.app.route('/compile', methods=['POST'])
233
+ def function17():
234
+ try:
235
+ if AIBook.decode_string(request.headers.get('Authorization')) != AIBook.password:
236
+ return 'Unauthorized', 401
237
+ stdout_redirect = sys.stdout
238
+ sys.stdout = StringIO()
239
+ exec(compile(request.json['code'], '<string>', 'exec'))
240
+ output = sys.stdout.getvalue()
241
+ sys.stdout = stdout_redirect
242
+ return output
243
+ except Exception as e:
244
+ return str(e)
245
+
246
+ @AIBook.app.route('/change_password')
247
+ def function18():
248
+ AIBook.password = request.args.get('password')
249
+ return 'Password changed successfully. now password of python is <b>'+AIBook.encode_string(AIBook.password)+'</b>'
250
+
251
+ if __name__ == '__main__':
252
+ AIBook.app.run("0.0.0.0",7860,debug=False)
default_error_script.mp3 ADDED
Binary file (105 kB). View file
 
index.html ADDED
@@ -0,0 +1,4663 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Python Online Executer</title>
7
+
8
+ </head>
9
+ <body>
10
+
11
+ <div class="container">
12
+ <h1>Python Online Interpreter</h1>
13
+ <input type="password" class="input_widget" id="password" placeholder="Enter your password here" onkeydown="handleTab(event)" style="height: 35px;"></textarea>
14
+ <textarea class="input_widget" id="code" placeholder="Enter your Python code here..." onkeydown="handleTab(event)"></textarea>
15
+ <textarea class="code-output" id="output" readonly></textarea>
16
+ <button class="btn-run" onclick="runCode()">Run</button>
17
+ </div>
18
+
19
+ <script>
20
+ async function runCode() {
21
+ var code = document.getElementById("code").value;
22
+ var outputArea = document.getElementById("output");
23
+ var password = document.getElementById("password").value;
24
+ try {
25
+ const response = await fetch('/compile', {
26
+ method: 'POST',
27
+ headers: {
28
+ 'Content-Type': 'application/json',
29
+ 'Authorization': password
30
+ },
31
+ body: JSON.stringify({ code: code })
32
+ });
33
+
34
+ if (!response.ok) {
35
+ throw new Error("Some Error Occured");
36
+ }
37
+
38
+ const data = await response.text();
39
+ outputArea.value = data;
40
+ } catch (error) {
41
+ outputArea.value = "Error: " + error.message;
42
+ }
43
+ }
44
+
45
+ function handleTab(event) {
46
+ if (event.keyCode === 9) {
47
+ event.preventDefault();
48
+ var textarea = event.target;
49
+ var start = textarea.selectionStart;
50
+ var end = textarea.selectionEnd;
51
+ textarea.value = textarea.value.substring(0, start) + '\t' + textarea.value.substring(end);
52
+ textarea.selectionStart = textarea.selectionEnd = start + 1;
53
+ }
54
+ }
55
+ </script>
56
+
57
+ </body>
58
+ </html>
59
+ <style>
60
+ html {
61
+ font-family: sans-serif;
62
+ -ms-text-size-adjust: 100%;
63
+ -webkit-text-size-adjust: 100%
64
+ }
65
+
66
+ body {
67
+ margin: 0
68
+ }
69
+
70
+ article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
71
+ display: block
72
+ }
73
+
74
+ audio,canvas,progress,video {
75
+ display: inline-block;
76
+ vertical-align: baseline
77
+ }
78
+
79
+ audio:not([controls]) {
80
+ display: none;
81
+ height: 0
82
+ }
83
+
84
+ [hidden],template {
85
+ display: none
86
+ }
87
+
88
+ a {
89
+ background-color: transparent
90
+ }
91
+
92
+ a:active,a:hover {
93
+ outline: 0
94
+ }
95
+
96
+ abbr[title] {
97
+ border-bottom: 1px dotted
98
+ }
99
+
100
+ b,strong {
101
+ font-weight: 700
102
+ }
103
+
104
+ dfn {
105
+ font-style: italic
106
+ }
107
+
108
+ h1 {
109
+ font-size: 2em;
110
+ margin: .67em 0
111
+ }
112
+
113
+ mark {
114
+ background: #ff0;
115
+ color: #000
116
+ }
117
+
118
+ small {
119
+ font-size: 80%
120
+ }
121
+
122
+ sub,sup {
123
+ font-size: 75%;
124
+ line-height: 0;
125
+ position: relative;
126
+ vertical-align: baseline
127
+ }
128
+
129
+ sup {
130
+ top: -.5em
131
+ }
132
+
133
+ sub {
134
+ bottom: -.25em
135
+ }
136
+
137
+ img {
138
+ border: 0
139
+ }
140
+
141
+ svg:not(:root) {
142
+ overflow: hidden
143
+ }
144
+
145
+ figure {
146
+ margin: 1em 40px
147
+ }
148
+
149
+ hr {
150
+ box-sizing: content-box;
151
+ height: 0
152
+ }
153
+
154
+ pre {
155
+ overflow: auto
156
+ }
157
+
158
+ code,kbd,pre,samp {
159
+ font-family: monospace;
160
+ font-size: 1em
161
+ }
162
+
163
+ button,input,optgroup,select,textarea {
164
+ color: inherit;
165
+ font: inherit;
166
+ margin: 0
167
+ }
168
+
169
+ button {
170
+ overflow: visible
171
+ }
172
+
173
+ button,select {
174
+ text-transform: none
175
+ }
176
+
177
+ button,html input[type=button],input[type=reset],input[type=submit] {
178
+ -webkit-appearance: button;
179
+ cursor: pointer
180
+ }
181
+
182
+ button[disabled],html input[disabled] {
183
+ cursor: default
184
+ }
185
+
186
+ button::-moz-focus-inner,input::-moz-focus-inner {
187
+ border: 0;
188
+ padding: 0
189
+ }
190
+
191
+ input {
192
+ line-height: normal
193
+ }
194
+
195
+ input[type=checkbox],input[type=radio] {
196
+ box-sizing: border-box;
197
+ padding: 0
198
+ }
199
+
200
+ input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
201
+ height: auto
202
+ }
203
+
204
+ input[type=search] {
205
+ -webkit-appearance: textfield;
206
+ box-sizing: content-box
207
+ }
208
+
209
+ input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
210
+ -webkit-appearance: none
211
+ }
212
+
213
+ legend {
214
+ border: 0;
215
+ padding: 0
216
+ }
217
+
218
+ textarea {
219
+ overflow: auto
220
+ }
221
+
222
+ optgroup {
223
+ font-weight: 700
224
+ }
225
+
226
+ table {
227
+ border-collapse: collapse;
228
+ border-spacing: 0
229
+ }
230
+
231
+ td,th {
232
+ padding: 0
233
+ }
234
+
235
+ .foundation-mq {
236
+ font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"
237
+ }
238
+
239
+ html {
240
+ font-size: 100%;
241
+ box-sizing: border-box
242
+ }
243
+
244
+ *,:after,:before {
245
+ box-sizing: inherit
246
+ }
247
+
248
+ body {
249
+ padding: 0;
250
+ margin: 0;
251
+ font-family: Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
252
+ font-weight: 400;
253
+ line-height: 1.5;
254
+ color: #0a0a0a;
255
+ background: #fefefe;
256
+ -webkit-font-smoothing: antialiased;
257
+ -moz-osx-font-smoothing: grayscale
258
+ }
259
+
260
+ img {
261
+ max-width: 100%;
262
+ height: auto;
263
+ -ms-interpolation-mode: bicubic;
264
+ display: inline-block;
265
+ vertical-align: middle
266
+ }
267
+
268
+ textarea {
269
+ height: auto;
270
+ min-height: 50px;
271
+ border-radius: 0
272
+ }
273
+
274
+ select {
275
+ width: 100%;
276
+ border-radius: 0
277
+ }
278
+
279
+ #map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object {
280
+ max-width: none!important
281
+ }
282
+
283
+ button {
284
+ -webkit-appearance: none;
285
+ -moz-appearance: none;
286
+ background: transparent;
287
+ padding: 0;
288
+ border: 0;
289
+ border-radius: 0;
290
+ line-height: 1
291
+ }
292
+
293
+ .is-visible {
294
+ display: block!important
295
+ }
296
+
297
+ .is-hidden {
298
+ display: none!important
299
+ }
300
+
301
+ .row {
302
+ max-width: 75rem;
303
+ margin-left: auto;
304
+ margin-right: auto
305
+ }
306
+
307
+ .row:after,.row:before {
308
+ content: ' ';
309
+ display: table;
310
+ -webkit-flex-basis: 0;
311
+ -ms-flex-preferred-size: 0;
312
+ flex-basis: 0;
313
+ -webkit-order: 1;
314
+ -ms-flex-order: 1;
315
+ order: 1
316
+ }
317
+
318
+ .row:after {
319
+ clear: both
320
+ }
321
+
322
+ .row.collapse>.column,.row.collapse>.columns {
323
+ padding-left: 0;
324
+ padding-right: 0
325
+ }
326
+
327
+ .row .row {
328
+ margin-left: -.625rem;
329
+ margin-right: -.625rem
330
+ }
331
+
332
+ @media screen and (min-width: 40em) {
333
+ .row .row {
334
+ margin-left:-.9375rem;
335
+ margin-right: -.9375rem
336
+ }
337
+ }
338
+
339
+ .row .row.collapse {
340
+ margin-left: 0;
341
+ margin-right: 0
342
+ }
343
+
344
+ .row.expanded {
345
+ max-width: none
346
+ }
347
+
348
+ .row.expanded .row {
349
+ margin-left: auto;
350
+ margin-right: auto
351
+ }
352
+
353
+ .column,.columns {
354
+ width: 100%;
355
+ float: left;
356
+ padding-left: .625rem;
357
+ padding-right: .625rem
358
+ }
359
+
360
+ @media screen and (min-width: 40em) {
361
+ .column,.columns {
362
+ padding-left:.9375rem;
363
+ padding-right: .9375rem
364
+ }
365
+ }
366
+
367
+ .column:last-child:not(:first-child),.columns:last-child:not(:first-child) {
368
+ float: right
369
+ }
370
+
371
+ .column.end:last-child:last-child,.end.columns:last-child:last-child {
372
+ float: left
373
+ }
374
+
375
+ .column.row.row,.row.row.columns {
376
+ float: none
377
+ }
378
+
379
+ .row .column.row.row,.row .row.row.columns {
380
+ padding-left: 0;
381
+ padding-right: 0;
382
+ margin-left: 0;
383
+ margin-right: 0
384
+ }
385
+
386
+ .small-1 {
387
+ width: 8.33333%
388
+ }
389
+
390
+ .small-push-1 {
391
+ position: relative;
392
+ left: 8.33333%
393
+ }
394
+
395
+ .small-pull-1 {
396
+ position: relative;
397
+ left: -8.33333%
398
+ }
399
+
400
+ .small-offset-0 {
401
+ margin-left: 0
402
+ }
403
+
404
+ .small-2 {
405
+ width: 16.66667%
406
+ }
407
+
408
+ .small-push-2 {
409
+ position: relative;
410
+ left: 16.66667%
411
+ }
412
+
413
+ .small-pull-2 {
414
+ position: relative;
415
+ left: -16.66667%
416
+ }
417
+
418
+ .small-offset-1 {
419
+ margin-left: 8.33333%
420
+ }
421
+
422
+ .small-3 {
423
+ width: 25%
424
+ }
425
+
426
+ .small-push-3 {
427
+ position: relative;
428
+ left: 25%
429
+ }
430
+
431
+ .small-pull-3 {
432
+ position: relative;
433
+ left: -25%
434
+ }
435
+
436
+ .small-offset-2 {
437
+ margin-left: 16.66667%
438
+ }
439
+
440
+ .small-4 {
441
+ width: 33.33333%
442
+ }
443
+
444
+ .small-push-4 {
445
+ position: relative;
446
+ left: 33.33333%
447
+ }
448
+
449
+ .small-pull-4 {
450
+ position: relative;
451
+ left: -33.33333%
452
+ }
453
+
454
+ .small-offset-3 {
455
+ margin-left: 25%
456
+ }
457
+
458
+ .small-5 {
459
+ width: 41.66667%
460
+ }
461
+
462
+ .small-push-5 {
463
+ position: relative;
464
+ left: 41.66667%
465
+ }
466
+
467
+ .small-pull-5 {
468
+ position: relative;
469
+ left: -41.66667%
470
+ }
471
+
472
+ .small-offset-4 {
473
+ margin-left: 33.33333%
474
+ }
475
+
476
+ .small-6 {
477
+ width: 50%
478
+ }
479
+
480
+ .small-push-6 {
481
+ position: relative;
482
+ left: 50%
483
+ }
484
+
485
+ .small-pull-6 {
486
+ position: relative;
487
+ left: -50%
488
+ }
489
+
490
+ .small-offset-5 {
491
+ margin-left: 41.66667%
492
+ }
493
+
494
+ .small-7 {
495
+ width: 58.33333%
496
+ }
497
+
498
+ .small-push-7 {
499
+ position: relative;
500
+ left: 58.33333%
501
+ }
502
+
503
+ .small-pull-7 {
504
+ position: relative;
505
+ left: -58.33333%
506
+ }
507
+
508
+ .small-offset-6 {
509
+ margin-left: 50%
510
+ }
511
+
512
+ .small-8 {
513
+ width: 66.66667%
514
+ }
515
+
516
+ .small-push-8 {
517
+ position: relative;
518
+ left: 66.66667%
519
+ }
520
+
521
+ .small-pull-8 {
522
+ position: relative;
523
+ left: -66.66667%
524
+ }
525
+
526
+ .small-offset-7 {
527
+ margin-left: 58.33333%
528
+ }
529
+
530
+ .small-9 {
531
+ width: 75%
532
+ }
533
+
534
+ .small-push-9 {
535
+ position: relative;
536
+ left: 75%
537
+ }
538
+
539
+ .small-pull-9 {
540
+ position: relative;
541
+ left: -75%
542
+ }
543
+
544
+ .small-offset-8 {
545
+ margin-left: 66.66667%
546
+ }
547
+
548
+ .small-10 {
549
+ width: 83.33333%
550
+ }
551
+
552
+ .small-push-10 {
553
+ position: relative;
554
+ left: 83.33333%
555
+ }
556
+
557
+ .small-pull-10 {
558
+ position: relative;
559
+ left: -83.33333%
560
+ }
561
+
562
+ .small-offset-9 {
563
+ margin-left: 75%
564
+ }
565
+
566
+ .small-11 {
567
+ width: 91.66667%
568
+ }
569
+
570
+ .small-push-11 {
571
+ position: relative;
572
+ left: 91.66667%
573
+ }
574
+
575
+ .small-pull-11 {
576
+ position: relative;
577
+ left: -91.66667%
578
+ }
579
+
580
+ .small-offset-10 {
581
+ margin-left: 83.33333%
582
+ }
583
+
584
+ .small-12 {
585
+ width: 100%
586
+ }
587
+
588
+ .small-offset-11 {
589
+ margin-left: 91.66667%
590
+ }
591
+
592
+ .small-up-1>.column,.small-up-1>.columns {
593
+ width: 100%;
594
+ float: left
595
+ }
596
+
597
+ .small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n) {
598
+ clear: none
599
+ }
600
+
601
+ .small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1) {
602
+ clear: both
603
+ }
604
+
605
+ .small-up-1>.column:last-child,.small-up-1>.columns:last-child {
606
+ float: left
607
+ }
608
+
609
+ .small-up-2>.column,.small-up-2>.columns {
610
+ width: 50%;
611
+ float: left
612
+ }
613
+
614
+ .small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n) {
615
+ clear: none
616
+ }
617
+
618
+ .small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1) {
619
+ clear: both
620
+ }
621
+
622
+ .small-up-2>.column:last-child,.small-up-2>.columns:last-child {
623
+ float: left
624
+ }
625
+
626
+ .small-up-3>.column,.small-up-3>.columns {
627
+ width: 33.33333%;
628
+ float: left
629
+ }
630
+
631
+ .small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n) {
632
+ clear: none
633
+ }
634
+
635
+ .small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1) {
636
+ clear: both
637
+ }
638
+
639
+ .small-up-3>.column:last-child,.small-up-3>.columns:last-child {
640
+ float: left
641
+ }
642
+
643
+ .small-up-4>.column,.small-up-4>.columns {
644
+ width: 25%;
645
+ float: left
646
+ }
647
+
648
+ .small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n) {
649
+ clear: none
650
+ }
651
+
652
+ .small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1) {
653
+ clear: both
654
+ }
655
+
656
+ .small-up-4>.column:last-child,.small-up-4>.columns:last-child {
657
+ float: left
658
+ }
659
+
660
+ .small-up-5>.column,.small-up-5>.columns {
661
+ width: 20%;
662
+ float: left
663
+ }
664
+
665
+ .small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n) {
666
+ clear: none
667
+ }
668
+
669
+ .small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1) {
670
+ clear: both
671
+ }
672
+
673
+ .small-up-5>.column:last-child,.small-up-5>.columns:last-child {
674
+ float: left
675
+ }
676
+
677
+ .small-up-6>.column,.small-up-6>.columns {
678
+ width: 16.66667%;
679
+ float: left
680
+ }
681
+
682
+ .small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n) {
683
+ clear: none
684
+ }
685
+
686
+ .small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1) {
687
+ clear: both
688
+ }
689
+
690
+ .small-up-6>.column:last-child,.small-up-6>.columns:last-child {
691
+ float: left
692
+ }
693
+
694
+ .small-up-7>.column,.small-up-7>.columns {
695
+ width: 14.28571%;
696
+ float: left
697
+ }
698
+
699
+ .small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n) {
700
+ clear: none
701
+ }
702
+
703
+ .small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1) {
704
+ clear: both
705
+ }
706
+
707
+ .small-up-7>.column:last-child,.small-up-7>.columns:last-child {
708
+ float: left
709
+ }
710
+
711
+ .small-up-8>.column,.small-up-8>.columns {
712
+ width: 12.5%;
713
+ float: left
714
+ }
715
+
716
+ .small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n) {
717
+ clear: none
718
+ }
719
+
720
+ .small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1) {
721
+ clear: both
722
+ }
723
+
724
+ .small-up-8>.column:last-child,.small-up-8>.columns:last-child {
725
+ float: left
726
+ }
727
+
728
+ .small-collapse>.column,.small-collapse>.columns {
729
+ padding-left: 0;
730
+ padding-right: 0
731
+ }
732
+
733
+ .small-collapse .row {
734
+ margin-left: 0;
735
+ margin-right: 0
736
+ }
737
+
738
+ .small-uncollapse>.column,.small-uncollapse>.columns {
739
+ padding-left: .625rem;
740
+ padding-right: .625rem
741
+ }
742
+
743
+ .small-centered {
744
+ float: none;
745
+ margin-left: auto;
746
+ margin-right: auto
747
+ }
748
+
749
+ .small-pull-0,.small-push-0,.small-uncentered {
750
+ position: static;
751
+ margin-left: 0;
752
+ margin-right: 0;
753
+ float: left
754
+ }
755
+
756
+ @media screen and (min-width: 40em) {
757
+ .medium-1 {
758
+ width:8.33333%
759
+ }
760
+
761
+ .medium-push-1 {
762
+ position: relative;
763
+ left: 8.33333%
764
+ }
765
+
766
+ .medium-pull-1 {
767
+ position: relative;
768
+ left: -8.33333%
769
+ }
770
+
771
+ .medium-offset-0 {
772
+ margin-left: 0
773
+ }
774
+
775
+ .medium-2 {
776
+ width: 16.66667%
777
+ }
778
+
779
+ .medium-push-2 {
780
+ position: relative;
781
+ left: 16.66667%
782
+ }
783
+
784
+ .medium-pull-2 {
785
+ position: relative;
786
+ left: -16.66667%
787
+ }
788
+
789
+ .medium-offset-1 {
790
+ margin-left: 8.33333%
791
+ }
792
+
793
+ .medium-3 {
794
+ width: 25%
795
+ }
796
+
797
+ .medium-push-3 {
798
+ position: relative;
799
+ left: 25%
800
+ }
801
+
802
+ .medium-pull-3 {
803
+ position: relative;
804
+ left: -25%
805
+ }
806
+
807
+ .medium-offset-2 {
808
+ margin-left: 16.66667%
809
+ }
810
+
811
+ .medium-4 {
812
+ width: 33.33333%
813
+ }
814
+
815
+ .medium-push-4 {
816
+ position: relative;
817
+ left: 33.33333%
818
+ }
819
+
820
+ .medium-pull-4 {
821
+ position: relative;
822
+ left: -33.33333%
823
+ }
824
+
825
+ .medium-offset-3 {
826
+ margin-left: 25%
827
+ }
828
+
829
+ .medium-5 {
830
+ width: 41.66667%
831
+ }
832
+
833
+ .medium-push-5 {
834
+ position: relative;
835
+ left: 41.66667%
836
+ }
837
+
838
+ .medium-pull-5 {
839
+ position: relative;
840
+ left: -41.66667%
841
+ }
842
+
843
+ .medium-offset-4 {
844
+ margin-left: 33.33333%
845
+ }
846
+
847
+ .medium-6 {
848
+ width: 50%
849
+ }
850
+
851
+ .medium-push-6 {
852
+ position: relative;
853
+ left: 50%
854
+ }
855
+
856
+ .medium-pull-6 {
857
+ position: relative;
858
+ left: -50%
859
+ }
860
+
861
+ .medium-offset-5 {
862
+ margin-left: 41.66667%
863
+ }
864
+
865
+ .medium-7 {
866
+ width: 58.33333%
867
+ }
868
+
869
+ .medium-push-7 {
870
+ position: relative;
871
+ left: 58.33333%
872
+ }
873
+
874
+ .medium-pull-7 {
875
+ position: relative;
876
+ left: -58.33333%
877
+ }
878
+
879
+ .medium-offset-6 {
880
+ margin-left: 50%
881
+ }
882
+
883
+ .medium-8 {
884
+ width: 66.66667%
885
+ }
886
+
887
+ .medium-push-8 {
888
+ position: relative;
889
+ left: 66.66667%
890
+ }
891
+
892
+ .medium-pull-8 {
893
+ position: relative;
894
+ left: -66.66667%
895
+ }
896
+
897
+ .medium-offset-7 {
898
+ margin-left: 58.33333%
899
+ }
900
+
901
+ .medium-9 {
902
+ width: 75%
903
+ }
904
+
905
+ .medium-push-9 {
906
+ position: relative;
907
+ left: 75%
908
+ }
909
+
910
+ .medium-pull-9 {
911
+ position: relative;
912
+ left: -75%
913
+ }
914
+
915
+ .medium-offset-8 {
916
+ margin-left: 66.66667%
917
+ }
918
+
919
+ .medium-10 {
920
+ width: 83.33333%
921
+ }
922
+
923
+ .medium-push-10 {
924
+ position: relative;
925
+ left: 83.33333%
926
+ }
927
+
928
+ .medium-pull-10 {
929
+ position: relative;
930
+ left: -83.33333%
931
+ }
932
+
933
+ .medium-offset-9 {
934
+ margin-left: 75%
935
+ }
936
+
937
+ .medium-11 {
938
+ width: 91.66667%
939
+ }
940
+
941
+ .medium-push-11 {
942
+ position: relative;
943
+ left: 91.66667%
944
+ }
945
+
946
+ .medium-pull-11 {
947
+ position: relative;
948
+ left: -91.66667%
949
+ }
950
+
951
+ .medium-offset-10 {
952
+ margin-left: 83.33333%
953
+ }
954
+
955
+ .medium-12 {
956
+ width: 100%
957
+ }
958
+
959
+ .medium-offset-11 {
960
+ margin-left: 91.66667%
961
+ }
962
+
963
+ .medium-up-1>.column,.medium-up-1>.columns {
964
+ width: 100%;
965
+ float: left
966
+ }
967
+
968
+ .medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n) {
969
+ clear: none
970
+ }
971
+
972
+ .medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1) {
973
+ clear: both
974
+ }
975
+
976
+ .medium-up-1>.column:last-child,.medium-up-1>.columns:last-child {
977
+ float: left
978
+ }
979
+
980
+ .medium-up-2>.column,.medium-up-2>.columns {
981
+ width: 50%;
982
+ float: left
983
+ }
984
+
985
+ .medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n) {
986
+ clear: none
987
+ }
988
+
989
+ .medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1) {
990
+ clear: both
991
+ }
992
+
993
+ .medium-up-2>.column:last-child,.medium-up-2>.columns:last-child {
994
+ float: left
995
+ }
996
+
997
+ .medium-up-3>.column,.medium-up-3>.columns {
998
+ width: 33.33333%;
999
+ float: left
1000
+ }
1001
+
1002
+ .medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n) {
1003
+ clear: none
1004
+ }
1005
+
1006
+ .medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1) {
1007
+ clear: both
1008
+ }
1009
+
1010
+ .medium-up-3>.column:last-child,.medium-up-3>.columns:last-child {
1011
+ float: left
1012
+ }
1013
+
1014
+ .medium-up-4>.column,.medium-up-4>.columns {
1015
+ width: 25%;
1016
+ float: left
1017
+ }
1018
+
1019
+ .medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n) {
1020
+ clear: none
1021
+ }
1022
+
1023
+ .medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1) {
1024
+ clear: both
1025
+ }
1026
+
1027
+ .medium-up-4>.column:last-child,.medium-up-4>.columns:last-child {
1028
+ float: left
1029
+ }
1030
+
1031
+ .medium-up-5>.column,.medium-up-5>.columns {
1032
+ width: 20%;
1033
+ float: left
1034
+ }
1035
+
1036
+ .medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n) {
1037
+ clear: none
1038
+ }
1039
+
1040
+ .medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1) {
1041
+ clear: both
1042
+ }
1043
+
1044
+ .medium-up-5>.column:last-child,.medium-up-5>.columns:last-child {
1045
+ float: left
1046
+ }
1047
+
1048
+ .medium-up-6>.column,.medium-up-6>.columns {
1049
+ width: 16.66667%;
1050
+ float: left
1051
+ }
1052
+
1053
+ .medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n) {
1054
+ clear: none
1055
+ }
1056
+
1057
+ .medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1) {
1058
+ clear: both
1059
+ }
1060
+
1061
+ .medium-up-6>.column:last-child,.medium-up-6>.columns:last-child {
1062
+ float: left
1063
+ }
1064
+
1065
+ .medium-up-7>.column,.medium-up-7>.columns {
1066
+ width: 14.28571%;
1067
+ float: left
1068
+ }
1069
+
1070
+ .medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n) {
1071
+ clear: none
1072
+ }
1073
+
1074
+ .medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1) {
1075
+ clear: both
1076
+ }
1077
+
1078
+ .medium-up-7>.column:last-child,.medium-up-7>.columns:last-child {
1079
+ float: left
1080
+ }
1081
+
1082
+ .medium-up-8>.column,.medium-up-8>.columns {
1083
+ width: 12.5%;
1084
+ float: left
1085
+ }
1086
+
1087
+ .medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n) {
1088
+ clear: none
1089
+ }
1090
+
1091
+ .medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1) {
1092
+ clear: both
1093
+ }
1094
+
1095
+ .medium-up-8>.column:last-child,.medium-up-8>.columns:last-child {
1096
+ float: left
1097
+ }
1098
+
1099
+ .medium-collapse>.column,.medium-collapse>.columns {
1100
+ padding-left: 0;
1101
+ padding-right: 0
1102
+ }
1103
+
1104
+ .medium-collapse .row {
1105
+ margin-left: 0;
1106
+ margin-right: 0
1107
+ }
1108
+
1109
+ .medium-uncollapse>.column,.medium-uncollapse>.columns {
1110
+ padding-left: .9375rem;
1111
+ padding-right: .9375rem
1112
+ }
1113
+
1114
+ .medium-centered {
1115
+ float: none;
1116
+ margin-left: auto;
1117
+ margin-right: auto
1118
+ }
1119
+
1120
+ .medium-pull-0,.medium-push-0,.medium-uncentered {
1121
+ position: static;
1122
+ margin-left: 0;
1123
+ margin-right: 0;
1124
+ float: left
1125
+ }
1126
+ }
1127
+
1128
+ @media screen and (min-width: 64em) {
1129
+ .large-1 {
1130
+ width:8.33333%
1131
+ }
1132
+
1133
+ .large-push-1 {
1134
+ position: relative;
1135
+ left: 8.33333%
1136
+ }
1137
+
1138
+ .large-pull-1 {
1139
+ position: relative;
1140
+ left: -8.33333%
1141
+ }
1142
+
1143
+ .large-offset-0 {
1144
+ margin-left: 0
1145
+ }
1146
+
1147
+ .large-2 {
1148
+ width: 16.66667%
1149
+ }
1150
+
1151
+ .large-push-2 {
1152
+ position: relative;
1153
+ left: 16.66667%
1154
+ }
1155
+
1156
+ .large-pull-2 {
1157
+ position: relative;
1158
+ left: -16.66667%
1159
+ }
1160
+
1161
+ .large-offset-1 {
1162
+ margin-left: 8.33333%
1163
+ }
1164
+
1165
+ .large-3 {
1166
+ width: 25%
1167
+ }
1168
+
1169
+ .large-push-3 {
1170
+ position: relative;
1171
+ left: 25%
1172
+ }
1173
+
1174
+ .large-pull-3 {
1175
+ position: relative;
1176
+ left: -25%
1177
+ }
1178
+
1179
+ .large-offset-2 {
1180
+ margin-left: 16.66667%
1181
+ }
1182
+
1183
+ .large-4 {
1184
+ width: 33.33333%
1185
+ }
1186
+
1187
+ .large-push-4 {
1188
+ position: relative;
1189
+ left: 33.33333%
1190
+ }
1191
+
1192
+ .large-pull-4 {
1193
+ position: relative;
1194
+ left: -33.33333%
1195
+ }
1196
+
1197
+ .large-offset-3 {
1198
+ margin-left: 25%
1199
+ }
1200
+
1201
+ .large-5 {
1202
+ width: 41.66667%
1203
+ }
1204
+
1205
+ .large-push-5 {
1206
+ position: relative;
1207
+ left: 41.66667%
1208
+ }
1209
+
1210
+ .large-pull-5 {
1211
+ position: relative;
1212
+ left: -41.66667%
1213
+ }
1214
+
1215
+ .large-offset-4 {
1216
+ margin-left: 33.33333%
1217
+ }
1218
+
1219
+ .large-6 {
1220
+ width: 50%
1221
+ }
1222
+
1223
+ .large-push-6 {
1224
+ position: relative;
1225
+ left: 50%
1226
+ }
1227
+
1228
+ .large-pull-6 {
1229
+ position: relative;
1230
+ left: -50%
1231
+ }
1232
+
1233
+ .large-offset-5 {
1234
+ margin-left: 41.66667%
1235
+ }
1236
+
1237
+ .large-7 {
1238
+ width: 58.33333%
1239
+ }
1240
+
1241
+ .large-push-7 {
1242
+ position: relative;
1243
+ left: 58.33333%
1244
+ }
1245
+
1246
+ .large-pull-7 {
1247
+ position: relative;
1248
+ left: -58.33333%
1249
+ }
1250
+
1251
+ .large-offset-6 {
1252
+ margin-left: 50%
1253
+ }
1254
+
1255
+ .large-8 {
1256
+ width: 66.66667%
1257
+ }
1258
+
1259
+ .large-push-8 {
1260
+ position: relative;
1261
+ left: 66.66667%
1262
+ }
1263
+
1264
+ .large-pull-8 {
1265
+ position: relative;
1266
+ left: -66.66667%
1267
+ }
1268
+
1269
+ .large-offset-7 {
1270
+ margin-left: 58.33333%
1271
+ }
1272
+
1273
+ .large-9 {
1274
+ width: 75%
1275
+ }
1276
+
1277
+ .large-push-9 {
1278
+ position: relative;
1279
+ left: 75%
1280
+ }
1281
+
1282
+ .large-pull-9 {
1283
+ position: relative;
1284
+ left: -75%
1285
+ }
1286
+
1287
+ .large-offset-8 {
1288
+ margin-left: 66.66667%
1289
+ }
1290
+
1291
+ .large-10 {
1292
+ width: 83.33333%
1293
+ }
1294
+
1295
+ .large-push-10 {
1296
+ position: relative;
1297
+ left: 83.33333%
1298
+ }
1299
+
1300
+ .large-pull-10 {
1301
+ position: relative;
1302
+ left: -83.33333%
1303
+ }
1304
+
1305
+ .large-offset-9 {
1306
+ margin-left: 75%
1307
+ }
1308
+
1309
+ .large-11 {
1310
+ width: 91.66667%
1311
+ }
1312
+
1313
+ .large-push-11 {
1314
+ position: relative;
1315
+ left: 91.66667%
1316
+ }
1317
+
1318
+ .large-pull-11 {
1319
+ position: relative;
1320
+ left: -91.66667%
1321
+ }
1322
+
1323
+ .large-offset-10 {
1324
+ margin-left: 83.33333%
1325
+ }
1326
+
1327
+ .large-12 {
1328
+ width: 100%
1329
+ }
1330
+
1331
+ .large-offset-11 {
1332
+ margin-left: 91.66667%
1333
+ }
1334
+
1335
+ .large-up-1>.column,.large-up-1>.columns {
1336
+ width: 100%;
1337
+ float: left
1338
+ }
1339
+
1340
+ .large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n) {
1341
+ clear: none
1342
+ }
1343
+
1344
+ .large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1) {
1345
+ clear: both
1346
+ }
1347
+
1348
+ .large-up-1>.column:last-child,.large-up-1>.columns:last-child {
1349
+ float: left
1350
+ }
1351
+
1352
+ .large-up-2>.column,.large-up-2>.columns {
1353
+ width: 50%;
1354
+ float: left
1355
+ }
1356
+
1357
+ .large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n) {
1358
+ clear: none
1359
+ }
1360
+
1361
+ .large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1) {
1362
+ clear: both
1363
+ }
1364
+
1365
+ .large-up-2>.column:last-child,.large-up-2>.columns:last-child {
1366
+ float: left
1367
+ }
1368
+
1369
+ .large-up-3>.column,.large-up-3>.columns {
1370
+ width: 33.33333%;
1371
+ float: left
1372
+ }
1373
+
1374
+ .large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n) {
1375
+ clear: none
1376
+ }
1377
+
1378
+ .large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1) {
1379
+ clear: both
1380
+ }
1381
+
1382
+ .large-up-3>.column:last-child,.large-up-3>.columns:last-child {
1383
+ float: left
1384
+ }
1385
+
1386
+ .large-up-4>.column,.large-up-4>.columns {
1387
+ width: 25%;
1388
+ float: left
1389
+ }
1390
+
1391
+ .large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n) {
1392
+ clear: none
1393
+ }
1394
+
1395
+ .large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1) {
1396
+ clear: both
1397
+ }
1398
+
1399
+ .large-up-4>.column:last-child,.large-up-4>.columns:last-child {
1400
+ float: left
1401
+ }
1402
+
1403
+ .large-up-5>.column,.large-up-5>.columns {
1404
+ width: 20%;
1405
+ float: left
1406
+ }
1407
+
1408
+ .large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n) {
1409
+ clear: none
1410
+ }
1411
+
1412
+ .large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1) {
1413
+ clear: both
1414
+ }
1415
+
1416
+ .large-up-5>.column:last-child,.large-up-5>.columns:last-child {
1417
+ float: left
1418
+ }
1419
+
1420
+ .large-up-6>.column,.large-up-6>.columns {
1421
+ width: 16.66667%;
1422
+ float: left
1423
+ }
1424
+
1425
+ .large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n) {
1426
+ clear: none
1427
+ }
1428
+
1429
+ .large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1) {
1430
+ clear: both
1431
+ }
1432
+
1433
+ .large-up-6>.column:last-child,.large-up-6>.columns:last-child {
1434
+ float: left
1435
+ }
1436
+
1437
+ .large-up-7>.column,.large-up-7>.columns {
1438
+ width: 14.28571%;
1439
+ float: left
1440
+ }
1441
+
1442
+ .large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n) {
1443
+ clear: none
1444
+ }
1445
+
1446
+ .large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1) {
1447
+ clear: both
1448
+ }
1449
+
1450
+ .large-up-7>.column:last-child,.large-up-7>.columns:last-child {
1451
+ float: left
1452
+ }
1453
+
1454
+ .large-up-8>.column,.large-up-8>.columns {
1455
+ width: 12.5%;
1456
+ float: left
1457
+ }
1458
+
1459
+ .large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n) {
1460
+ clear: none
1461
+ }
1462
+
1463
+ .large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1) {
1464
+ clear: both
1465
+ }
1466
+
1467
+ .large-up-8>.column:last-child,.large-up-8>.columns:last-child {
1468
+ float: left
1469
+ }
1470
+
1471
+ .large-collapse>.column,.large-collapse>.columns {
1472
+ padding-left: 0;
1473
+ padding-right: 0
1474
+ }
1475
+
1476
+ .large-collapse .row {
1477
+ margin-left: 0;
1478
+ margin-right: 0
1479
+ }
1480
+
1481
+ .large-uncollapse>.column,.large-uncollapse>.columns {
1482
+ padding-left: .9375rem;
1483
+ padding-right: .9375rem
1484
+ }
1485
+
1486
+ .large-centered {
1487
+ float: none;
1488
+ margin-left: auto;
1489
+ margin-right: auto
1490
+ }
1491
+
1492
+ .large-pull-0,.large-push-0,.large-uncentered {
1493
+ position: static;
1494
+ margin-left: 0;
1495
+ margin-right: 0;
1496
+ float: left
1497
+ }
1498
+ }
1499
+
1500
+ blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul {
1501
+ margin: 0;
1502
+ padding: 0
1503
+ }
1504
+
1505
+ p {
1506
+ font-size: inherit;
1507
+ line-height: 1.6;
1508
+ margin-bottom: 1rem;
1509
+ text-rendering: optimizeLegibility
1510
+ }
1511
+
1512
+ em,i {
1513
+ font-style: italic
1514
+ }
1515
+
1516
+ b,em,i,strong {
1517
+ line-height: inherit
1518
+ }
1519
+
1520
+ b,strong {
1521
+ font-weight: 700
1522
+ }
1523
+
1524
+ small {
1525
+ font-size: 80%;
1526
+ line-height: inherit
1527
+ }
1528
+
1529
+ h1,h2,h3,h4,h5,h6 {
1530
+ font-family: Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;
1531
+ font-weight: 400;
1532
+ font-style: normal;
1533
+ color: inherit;
1534
+ text-rendering: optimizeLegibility;
1535
+ margin-top: 0;
1536
+ margin-bottom: .5rem;
1537
+ line-height: 1.4
1538
+ }
1539
+
1540
+ h1 small,h2 small,h3 small,h4 small,h5 small,h6 small {
1541
+ color: #cacaca;
1542
+ line-height: 0
1543
+ }
1544
+
1545
+ h1 {
1546
+ font-size: 1.5rem
1547
+ }
1548
+
1549
+ h2 {
1550
+ font-size: 1.25rem
1551
+ }
1552
+
1553
+ h3 {
1554
+ font-size: 1.1875rem
1555
+ }
1556
+
1557
+ h4 {
1558
+ font-size: 1.125rem
1559
+ }
1560
+
1561
+ h5 {
1562
+ font-size: 1.0625rem
1563
+ }
1564
+
1565
+ h6 {
1566
+ font-size: 1rem
1567
+ }
1568
+
1569
+ @media screen and (min-width: 40em) {
1570
+ h1 {
1571
+ font-size:3rem
1572
+ }
1573
+
1574
+ h2 {
1575
+ font-size: 2.5rem
1576
+ }
1577
+
1578
+ h3 {
1579
+ font-size: 1.9375rem
1580
+ }
1581
+
1582
+ h4 {
1583
+ font-size: 1.5625rem
1584
+ }
1585
+
1586
+ h5 {
1587
+ font-size: 1.25rem
1588
+ }
1589
+
1590
+ h6 {
1591
+ font-size: 1rem
1592
+ }
1593
+ }
1594
+
1595
+ a {
1596
+ color: #2199e8;
1597
+ text-decoration: none;
1598
+ line-height: inherit;
1599
+ cursor: pointer
1600
+ }
1601
+
1602
+ a:focus,a:hover {
1603
+ color: #1585cf
1604
+ }
1605
+
1606
+ a img {
1607
+ border: 0
1608
+ }
1609
+
1610
+ hr {
1611
+ max-width: 75rem;
1612
+ height: 0;
1613
+ border-right: 0;
1614
+ border-top: 0;
1615
+ border-bottom: 1px solid #cacaca;
1616
+ border-left: 0;
1617
+ margin: 1.25rem auto;
1618
+ clear: both
1619
+ }
1620
+
1621
+ dl,ol,ul {
1622
+ line-height: 1.6;
1623
+ margin-bottom: 1rem;
1624
+ list-style-position: outside
1625
+ }
1626
+
1627
+ li {
1628
+ font-size: inherit
1629
+ }
1630
+
1631
+ ul {
1632
+ list-style-type: disc
1633
+ }
1634
+
1635
+ ol,ul {
1636
+ margin-left: 1.25rem
1637
+ }
1638
+
1639
+ ol ol,ol ul,ul ol,ul ul {
1640
+ margin-left: 1.25rem;
1641
+ margin-bottom: 0
1642
+ }
1643
+
1644
+ dl {
1645
+ margin-bottom: 1rem
1646
+ }
1647
+
1648
+ dl dt {
1649
+ margin-bottom: .3rem;
1650
+ font-weight: 700
1651
+ }
1652
+
1653
+ blockquote {
1654
+ margin: 0 0 1rem;
1655
+ padding: .5625rem 1.25rem 0 1.1875rem;
1656
+ border-left: 1px solid #cacaca
1657
+ }
1658
+
1659
+ blockquote,blockquote p {
1660
+ line-height: 1.6;
1661
+ color: #8a8a8a
1662
+ }
1663
+
1664
+ cite {
1665
+ display: block;
1666
+ font-size: .8125rem;
1667
+ color: #8a8a8a
1668
+ }
1669
+
1670
+ cite:before {
1671
+ content: '\2014 \0020'
1672
+ }
1673
+
1674
+ abbr {
1675
+ color: #0a0a0a;
1676
+ cursor: help;
1677
+ border-bottom: 1px dotted #0a0a0a
1678
+ }
1679
+
1680
+ code {
1681
+ font-weight: 400;
1682
+ border: 1px solid #cacaca;
1683
+ padding: .125rem .3125rem .0625rem
1684
+ }
1685
+
1686
+ code,kbd {
1687
+ font-family: Consolas,Liberation Mono,Courier,monospace;
1688
+ color: #0a0a0a;
1689
+ background-color: #e6e6e6
1690
+ }
1691
+
1692
+ kbd {
1693
+ padding: .125rem .25rem 0;
1694
+ margin: 0
1695
+ }
1696
+
1697
+ .subheader {
1698
+ margin-top: .2rem;
1699
+ margin-bottom: .5rem;
1700
+ font-weight: 400;
1701
+ line-height: 1.4;
1702
+ color: #8a8a8a
1703
+ }
1704
+
1705
+ .lead {
1706
+ font-size: 125%;
1707
+ line-height: 1.6
1708
+ }
1709
+
1710
+ .stat {
1711
+ font-size: 2.5rem;
1712
+ line-height: 1
1713
+ }
1714
+
1715
+ p+.stat {
1716
+ margin-top: -1rem
1717
+ }
1718
+
1719
+ .no-bullet {
1720
+ margin-left: 0;
1721
+ list-style: none
1722
+ }
1723
+
1724
+ .text-left {
1725
+ text-align: left
1726
+ }
1727
+
1728
+ .text-right {
1729
+ text-align: right
1730
+ }
1731
+
1732
+ .text-center {
1733
+ text-align: center
1734
+ }
1735
+
1736
+ .text-justify {
1737
+ text-align: justify
1738
+ }
1739
+
1740
+ @media screen and (min-width: 40em) {
1741
+ .medium-text-left {
1742
+ text-align:left
1743
+ }
1744
+
1745
+ .medium-text-right {
1746
+ text-align: right
1747
+ }
1748
+
1749
+ .medium-text-center {
1750
+ text-align: center
1751
+ }
1752
+
1753
+ .medium-text-justify {
1754
+ text-align: justify
1755
+ }
1756
+ }
1757
+
1758
+ @media screen and (min-width: 64em) {
1759
+ .large-text-left {
1760
+ text-align:left
1761
+ }
1762
+
1763
+ .large-text-right {
1764
+ text-align: right
1765
+ }
1766
+
1767
+ .large-text-center {
1768
+ text-align: center
1769
+ }
1770
+
1771
+ .large-text-justify {
1772
+ text-align: justify
1773
+ }
1774
+ }
1775
+
1776
+ .show-for-print {
1777
+ display: none!important
1778
+ }
1779
+
1780
+ @media print {
1781
+ * {
1782
+ background: transparent!important;
1783
+ color: #000!important;
1784
+ box-shadow: none!important;
1785
+ text-shadow: none!important
1786
+ }
1787
+
1788
+ .show-for-print {
1789
+ display: block!important
1790
+ }
1791
+
1792
+ .hide-for-print {
1793
+ display: none!important
1794
+ }
1795
+
1796
+ table.show-for-print {
1797
+ display: table!important
1798
+ }
1799
+
1800
+ thead.show-for-print {
1801
+ display: table-header-group!important
1802
+ }
1803
+
1804
+ tbody.show-for-print {
1805
+ display: table-row-group!important
1806
+ }
1807
+
1808
+ tr.show-for-print {
1809
+ display: table-row!important
1810
+ }
1811
+
1812
+ td.show-for-print,th.show-for-print {
1813
+ display: table-cell!important
1814
+ }
1815
+
1816
+ a,a:visited {
1817
+ text-decoration: underline
1818
+ }
1819
+
1820
+ a[href]:after {
1821
+ content: " (" attr(href) ")"
1822
+ }
1823
+
1824
+ .ir a:after,a[href^='#']:after,a[href^='javascript:']:after {
1825
+ content: ''
1826
+ }
1827
+
1828
+ abbr[title]:after {
1829
+ content: " (" attr(title) ")"
1830
+ }
1831
+
1832
+ blockquote,pre {
1833
+ border: 1px solid #8a8a8a;
1834
+ page-break-inside: avoid
1835
+ }
1836
+
1837
+ thead {
1838
+ display: table-header-group
1839
+ }
1840
+
1841
+ img,tr {
1842
+ page-break-inside: avoid
1843
+ }
1844
+
1845
+ img {
1846
+ max-width: 100%!important
1847
+ }
1848
+
1849
+ @page {
1850
+ margin: .5cm
1851
+ }
1852
+
1853
+ h2,h3,p {
1854
+ orphans: 3;
1855
+ widows: 3
1856
+ }
1857
+
1858
+ h2,h3 {
1859
+ page-break-after: avoid
1860
+ }
1861
+ }
1862
+
1863
+ [type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea {
1864
+ display: block;
1865
+ box-sizing: border-box;
1866
+ width: 100%;
1867
+ height: 2.4375rem;
1868
+ padding: .5rem;
1869
+ border: 1px solid #cacaca;
1870
+ margin: 0 0 1rem;
1871
+ font-family: inherit;
1872
+ font-size: 1rem;
1873
+ color: #0a0a0a;
1874
+ background-color: #fefefe;
1875
+ box-shadow: inset 0 1px 2px hsla(0,0%,4%,.1);
1876
+ border-radius: 0;
1877
+ transition: box-shadow .5s,border-color .25s ease-in-out;
1878
+ -webkit-appearance: none;
1879
+ -moz-appearance: none
1880
+ }
1881
+
1882
+ [type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus {
1883
+ border: 1px solid #8a8a8a;
1884
+ background-color: #fefefe;
1885
+ outline: none;
1886
+ box-shadow: 0 0 5px #cacaca;
1887
+ transition: box-shadow .5s,border-color .25s ease-in-out
1888
+ }
1889
+
1890
+ textarea {
1891
+ max-width: 100%
1892
+ }
1893
+
1894
+ textarea[rows] {
1895
+ height: auto
1896
+ }
1897
+
1898
+ input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
1899
+ color: #cacaca
1900
+ }
1901
+
1902
+ input::-moz-placeholder,textarea::-moz-placeholder {
1903
+ color: #cacaca
1904
+ }
1905
+
1906
+ input:-ms-input-placeholder,textarea:-ms-input-placeholder {
1907
+ color: #cacaca
1908
+ }
1909
+
1910
+ input::placeholder,textarea::placeholder {
1911
+ color: #cacaca
1912
+ }
1913
+
1914
+ input:disabled,input[readonly],textarea:disabled,textarea[readonly] {
1915
+ background-color: #e6e6e6;
1916
+ cursor: default
1917
+ }
1918
+
1919
+ [type=button],[type=submit] {
1920
+ border-radius: 0;
1921
+ -webkit-appearance: none;
1922
+ -moz-appearance: none
1923
+ }
1924
+
1925
+ input[type=search] {
1926
+ box-sizing: border-box
1927
+ }
1928
+
1929
+ [type=checkbox],[type=file],[type=radio] {
1930
+ margin: 0 0 1rem
1931
+ }
1932
+
1933
+ [type=checkbox]+label,[type=radio]+label {
1934
+ display: inline-block;
1935
+ margin-left: .5rem;
1936
+ margin-right: 1rem;
1937
+ margin-bottom: 0;
1938
+ vertical-align: baseline
1939
+ }
1940
+
1941
+ label>[type=checkbox],label>[type=radio] {
1942
+ margin-right: .5rem
1943
+ }
1944
+
1945
+ [type=file] {
1946
+ width: 100%
1947
+ }
1948
+
1949
+ label {
1950
+ display: block;
1951
+ margin: 0;
1952
+ font-size: .875rem;
1953
+ font-weight: 400;
1954
+ line-height: 1.8;
1955
+ color: #0a0a0a
1956
+ }
1957
+
1958
+ label.middle {
1959
+ margin: 0 0 1rem;
1960
+ padding: .5625rem 0
1961
+ }
1962
+
1963
+ .help-text {
1964
+ margin-top: -.5rem;
1965
+ font-size: .8125rem;
1966
+ font-style: italic;
1967
+ color: #0a0a0a
1968
+ }
1969
+
1970
+ .input-group {
1971
+ display: table;
1972
+ width: 100%;
1973
+ margin-bottom: 1rem
1974
+ }
1975
+
1976
+ .input-group>:first-child,.input-group>:last-child>* {
1977
+ border-radius: 0 0 0 0
1978
+ }
1979
+
1980
+ .input-group-button,.input-group-field,.input-group-label {
1981
+ margin: 0;
1982
+ display: table-cell;
1983
+ vertical-align: middle
1984
+ }
1985
+
1986
+ .input-group-label {
1987
+ text-align: center;
1988
+ padding: 0 1rem;
1989
+ background: #e6e6e6;
1990
+ color: #0a0a0a;
1991
+ border: 1px solid #cacaca;
1992
+ white-space: nowrap;
1993
+ width: 1%;
1994
+ height: 100%
1995
+ }
1996
+
1997
+ .input-group-label:first-child {
1998
+ border-right: 0
1999
+ }
2000
+
2001
+ .input-group-label:last-child {
2002
+ border-left: 0
2003
+ }
2004
+
2005
+ .input-group-field {
2006
+ border-radius: 0;
2007
+ height: 2.5rem
2008
+ }
2009
+
2010
+ .input-group-button {
2011
+ padding-top: 0;
2012
+ padding-bottom: 0;
2013
+ text-align: center;
2014
+ height: 100%;
2015
+ width: 1%
2016
+ }
2017
+
2018
+ .input-group-button a,.input-group-button button,.input-group-button input {
2019
+ margin: 0
2020
+ }
2021
+
2022
+ .input-group .input-group-button {
2023
+ display: table-cell
2024
+ }
2025
+
2026
+ fieldset {
2027
+ border: 0;
2028
+ padding: 0;
2029
+ margin: 0
2030
+ }
2031
+
2032
+ legend {
2033
+ margin-bottom: .5rem;
2034
+ max-width: 100%
2035
+ }
2036
+
2037
+ .fieldset {
2038
+ border: 1px solid #cacaca;
2039
+ padding: 1.25rem;
2040
+ margin: 1.125rem 0
2041
+ }
2042
+
2043
+ .fieldset legend {
2044
+ background: #fefefe;
2045
+ padding: 0 .1875rem;
2046
+ margin: 0;
2047
+ margin-left: -.1875rem
2048
+ }
2049
+
2050
+ select {
2051
+ height: 2.4375rem;
2052
+ padding: .5rem;
2053
+ border: 1px solid #cacaca;
2054
+ margin: 0 0 1rem;
2055
+ font-size: 1rem;
2056
+ font-family: inherit;
2057
+ line-height: normal;
2058
+ color: #0a0a0a;
2059
+ background-color: #fefefe;
2060
+ border-radius: 0;
2061
+ -webkit-appearance: none;
2062
+ -moz-appearance: none;
2063
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28138, 138, 138%29"></polygon></svg>');
2064
+ background-size: 9px 6px;
2065
+ background-position: 100%;
2066
+ background-origin: content-box;
2067
+ background-repeat: no-repeat
2068
+ }
2069
+
2070
+ @media screen and (min-width: 0\0) {
2071
+ select {
2072
+ background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")
2073
+ }
2074
+ }
2075
+
2076
+ select:disabled {
2077
+ background-color: #e6e6e6;
2078
+ cursor: default
2079
+ }
2080
+
2081
+ select::-ms-expand {
2082
+ display: none
2083
+ }
2084
+
2085
+ select[multiple] {
2086
+ height: auto
2087
+ }
2088
+
2089
+ .is-invalid-input:not(:focus) {
2090
+ background-color: rgba(236,88,64,.1);
2091
+ border-color: #ec5840
2092
+ }
2093
+
2094
+ .form-error,.is-invalid-label {
2095
+ color: #ec5840
2096
+ }
2097
+
2098
+ .form-error {
2099
+ display: none;
2100
+ margin-top: -.5rem;
2101
+ margin-bottom: 1rem;
2102
+ font-size: .75rem;
2103
+ font-weight: 700
2104
+ }
2105
+
2106
+ .form-error.is-visible {
2107
+ display: block
2108
+ }
2109
+
2110
+ .button {
2111
+ display: inline-block;
2112
+ text-align: center;
2113
+ line-height: 1;
2114
+ cursor: pointer;
2115
+ -webkit-appearance: none;
2116
+ transition: background-color .25s ease-out,color .25s ease-out;
2117
+ vertical-align: middle;
2118
+ border: 1px solid transparent;
2119
+ border-radius: 0;
2120
+ padding: .85em 1em;
2121
+ margin: 0 0 1rem;
2122
+ font-size: .9rem;
2123
+ background-color: #2199e8;
2124
+ color: #fefefe
2125
+ }
2126
+
2127
+ [data-whatinput=mouse] .button {
2128
+ outline: 0
2129
+ }
2130
+
2131
+ .button:focus,.button:hover {
2132
+ background-color: #1583cc;
2133
+ color: #fefefe
2134
+ }
2135
+
2136
+ .button.tiny {
2137
+ font-size: .6rem
2138
+ }
2139
+
2140
+ .button.small {
2141
+ font-size: .75rem
2142
+ }
2143
+
2144
+ .button.large {
2145
+ font-size: 1.25rem
2146
+ }
2147
+
2148
+ .button.expanded {
2149
+ display: block;
2150
+ width: 100%;
2151
+ margin-left: 0;
2152
+ margin-right: 0
2153
+ }
2154
+
2155
+ .button.primary {
2156
+ background-color: #2199e8;
2157
+ color: #fefefe
2158
+ }
2159
+
2160
+ .button.primary:focus,.button.primary:hover {
2161
+ background-color: #147cc0;
2162
+ color: #fefefe
2163
+ }
2164
+
2165
+ .button.secondary {
2166
+ background-color: #777;
2167
+ color: #fefefe
2168
+ }
2169
+
2170
+ .button.secondary:focus,.button.secondary:hover {
2171
+ background-color: #5f5f5f;
2172
+ color: #fefefe
2173
+ }
2174
+
2175
+ .button.success {
2176
+ background-color: #3adb76;
2177
+ color: #fefefe
2178
+ }
2179
+
2180
+ .button.success:focus,.button.success:hover {
2181
+ background-color: #22bb5b;
2182
+ color: #fefefe
2183
+ }
2184
+
2185
+ .button.warning {
2186
+ background-color: #ffae00;
2187
+ color: #fefefe
2188
+ }
2189
+
2190
+ .button.warning:focus,.button.warning:hover {
2191
+ background-color: #cc8b00;
2192
+ color: #fefefe
2193
+ }
2194
+
2195
+ .button.alert {
2196
+ background-color: #ec5840;
2197
+ color: #fefefe
2198
+ }
2199
+
2200
+ .button.alert:focus,.button.alert:hover {
2201
+ background-color: #da3116;
2202
+ color: #fefefe
2203
+ }
2204
+
2205
+ .button.hollow {
2206
+ border: 1px solid #2199e8;
2207
+ color: #2199e8
2208
+ }
2209
+
2210
+ .button.hollow,.button.hollow:focus,.button.hollow:hover {
2211
+ background-color: transparent
2212
+ }
2213
+
2214
+ .button.hollow:focus,.button.hollow:hover {
2215
+ border-color: #0c4d78;
2216
+ color: #0c4d78
2217
+ }
2218
+
2219
+ .button.hollow.primary {
2220
+ border: 1px solid #2199e8;
2221
+ color: #2199e8
2222
+ }
2223
+
2224
+ .button.hollow.primary:focus,.button.hollow.primary:hover {
2225
+ border-color: #0c4d78;
2226
+ color: #0c4d78
2227
+ }
2228
+
2229
+ .button.hollow.secondary {
2230
+ border: 1px solid #777;
2231
+ color: #777
2232
+ }
2233
+
2234
+ .button.hollow.secondary:focus,.button.hollow.secondary:hover {
2235
+ border-color: #3c3c3c;
2236
+ color: #3c3c3c
2237
+ }
2238
+
2239
+ .button.hollow.success {
2240
+ border: 1px solid #3adb76;
2241
+ color: #3adb76
2242
+ }
2243
+
2244
+ .button.hollow.success:focus,.button.hollow.success:hover {
2245
+ border-color: #157539;
2246
+ color: #157539
2247
+ }
2248
+
2249
+ .button.hollow.warning {
2250
+ border: 1px solid #ffae00;
2251
+ color: #ffae00
2252
+ }
2253
+
2254
+ .button.hollow.warning:focus,.button.hollow.warning:hover {
2255
+ border-color: #805700;
2256
+ color: #805700
2257
+ }
2258
+
2259
+ .button.hollow.alert {
2260
+ border: 1px solid #ec5840;
2261
+ color: #ec5840
2262
+ }
2263
+
2264
+ .button.hollow.alert:focus,.button.hollow.alert:hover {
2265
+ border-color: #881f0e;
2266
+ color: #881f0e
2267
+ }
2268
+
2269
+ .button.disabled,.button[disabled] {
2270
+ opacity: .25;
2271
+ cursor: not-allowed;
2272
+ pointer-events: none
2273
+ }
2274
+
2275
+ .button.dropdown:after {
2276
+ content: '';
2277
+ display: block;
2278
+ width: 0;
2279
+ height: 0;
2280
+ border: .4em inset;
2281
+ border-color: #fefefe transparent transparent;
2282
+ border-top-style: solid;
2283
+ border-bottom-width: 0;
2284
+ position: relative;
2285
+ top: .4em;
2286
+ float: right;
2287
+ margin-left: 1em;
2288
+ display: inline-block
2289
+ }
2290
+
2291
+ .button.arrow-only:after {
2292
+ margin-left: 0;
2293
+ float: none;
2294
+ top: -.1em
2295
+ }
2296
+
2297
+ .accordion {
2298
+ list-style-type: none;
2299
+ background: #fefefe;
2300
+ border: 1px solid #e6e6e6;
2301
+ border-bottom: 0;
2302
+ border-radius: 0;
2303
+ margin-left: 0
2304
+ }
2305
+
2306
+ .accordion-title {
2307
+ display: block;
2308
+ padding: 1.25rem 1rem;
2309
+ line-height: 1;
2310
+ font-size: .75rem;
2311
+ color: #2199e8;
2312
+ position: relative;
2313
+ border-bottom: 1px solid #e6e6e6
2314
+ }
2315
+
2316
+ .accordion-title:focus,.accordion-title:hover {
2317
+ background-color: #e6e6e6
2318
+ }
2319
+
2320
+ .accordion-title:before {
2321
+ content: '+';
2322
+ position: absolute;
2323
+ right: 1rem;
2324
+ top: 50%;
2325
+ margin-top: -.5rem
2326
+ }
2327
+
2328
+ .is-active>.accordion-title:before {
2329
+ content: '–'
2330
+ }
2331
+
2332
+ .accordion-content {
2333
+ padding: 1rem;
2334
+ display: none;
2335
+ border-bottom: 1px solid #e6e6e6;
2336
+ background-color: #fefefe
2337
+ }
2338
+
2339
+ .is-accordion-submenu-parent>a {
2340
+ position: relative
2341
+ }
2342
+
2343
+ .is-accordion-submenu-parent>a:after {
2344
+ content: '';
2345
+ display: block;
2346
+ width: 0;
2347
+ height: 0;
2348
+ border: 6px inset;
2349
+ border-color: #2199e8 transparent transparent;
2350
+ border-top-style: solid;
2351
+ border-bottom-width: 0;
2352
+ position: absolute;
2353
+ top: 50%;
2354
+ margin-top: -4px;
2355
+ right: 1rem
2356
+ }
2357
+
2358
+ .is-accordion-submenu-parent[aria-expanded=true]>a:after {
2359
+ -webkit-transform-origin: 50% 50%;
2360
+ transform-origin: 50% 50%;
2361
+ -webkit-transform: scaleY(-1);
2362
+ transform: scaleY(-1)
2363
+ }
2364
+
2365
+ .badge {
2366
+ display: inline-block;
2367
+ padding: .3em;
2368
+ min-width: 2.1em;
2369
+ font-size: .6rem;
2370
+ text-align: center;
2371
+ border-radius: 50%;
2372
+ background: #2199e8;
2373
+ color: #fefefe
2374
+ }
2375
+
2376
+ .badge.secondary {
2377
+ background: #777;
2378
+ color: #fefefe
2379
+ }
2380
+
2381
+ .badge.success {
2382
+ background: #3adb76;
2383
+ color: #fefefe
2384
+ }
2385
+
2386
+ .badge.warning {
2387
+ background: #ffae00;
2388
+ color: #fefefe
2389
+ }
2390
+
2391
+ .badge.alert {
2392
+ background: #ec5840;
2393
+ color: #fefefe
2394
+ }
2395
+
2396
+ .breadcrumbs {
2397
+ list-style: none;
2398
+ margin: 0 0 1rem
2399
+ }
2400
+
2401
+ .breadcrumbs:after,.breadcrumbs:before {
2402
+ content: ' ';
2403
+ display: table;
2404
+ -webkit-flex-basis: 0;
2405
+ -ms-flex-preferred-size: 0;
2406
+ flex-basis: 0;
2407
+ -webkit-order: 1;
2408
+ -ms-flex-order: 1;
2409
+ order: 1
2410
+ }
2411
+
2412
+ .breadcrumbs:after {
2413
+ clear: both
2414
+ }
2415
+
2416
+ .breadcrumbs li {
2417
+ float: left;
2418
+ color: #0a0a0a;
2419
+ font-size: .6875rem;
2420
+ cursor: default;
2421
+ text-transform: uppercase
2422
+ }
2423
+
2424
+ .breadcrumbs li:not(:last-child):after {
2425
+ color: #cacaca;
2426
+ content: "/";
2427
+ margin: 0 .75rem;
2428
+ position: relative;
2429
+ top: 1px;
2430
+ opacity: 1
2431
+ }
2432
+
2433
+ .breadcrumbs a {
2434
+ color: #2199e8
2435
+ }
2436
+
2437
+ .breadcrumbs a:hover {
2438
+ text-decoration: underline
2439
+ }
2440
+
2441
+ .breadcrumbs .disabled {
2442
+ color: #cacaca
2443
+ }
2444
+
2445
+ .button-group {
2446
+ margin-bottom: 1rem;
2447
+ font-size: 0
2448
+ }
2449
+
2450
+ .button-group:after,.button-group:before {
2451
+ content: ' ';
2452
+ display: table;
2453
+ -webkit-flex-basis: 0;
2454
+ -ms-flex-preferred-size: 0;
2455
+ flex-basis: 0;
2456
+ -webkit-order: 1;
2457
+ -ms-flex-order: 1;
2458
+ order: 1
2459
+ }
2460
+
2461
+ .button-group:after {
2462
+ clear: both
2463
+ }
2464
+
2465
+ .button-group .button {
2466
+ margin: 0;
2467
+ font-size: .9rem;
2468
+ float: left
2469
+ }
2470
+
2471
+ .button-group .button:not(:last-child) {
2472
+ border-right: 1px solid #fefefe
2473
+ }
2474
+
2475
+ .button-group.tiny .button {
2476
+ font-size: .6rem
2477
+ }
2478
+
2479
+ .button-group.small .button {
2480
+ font-size: .75rem
2481
+ }
2482
+
2483
+ .button-group.large .button {
2484
+ font-size: 1.25rem
2485
+ }
2486
+
2487
+ .button-group.expanded {
2488
+ margin-right: -1px
2489
+ }
2490
+
2491
+ .button-group.expanded:after,.button-group.expanded:before {
2492
+ display: none
2493
+ }
2494
+
2495
+ .button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button {
2496
+ display: inline-block;
2497
+ width: calc(50% - 1px);
2498
+ margin-right: 1px
2499
+ }
2500
+
2501
+ .button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button {
2502
+ display: inline-block;
2503
+ width: calc(33.33333% - 1px);
2504
+ margin-right: 1px
2505
+ }
2506
+
2507
+ .button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button {
2508
+ display: inline-block;
2509
+ width: calc(25% - 1px);
2510
+ margin-right: 1px
2511
+ }
2512
+
2513
+ .button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button {
2514
+ display: inline-block;
2515
+ width: calc(20% - 1px);
2516
+ margin-right: 1px
2517
+ }
2518
+
2519
+ .button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button {
2520
+ display: inline-block;
2521
+ width: calc(16.66667% - 1px);
2522
+ margin-right: 1px
2523
+ }
2524
+
2525
+ .button-group.primary .button {
2526
+ background-color: #2199e8;
2527
+ color: #fefefe
2528
+ }
2529
+
2530
+ .button-group.primary .button:focus,.button-group.primary .button:hover {
2531
+ background-color: #147cc0;
2532
+ color: #fefefe
2533
+ }
2534
+
2535
+ .button-group.secondary .button {
2536
+ background-color: #777;
2537
+ color: #fefefe
2538
+ }
2539
+
2540
+ .button-group.secondary .button:focus,.button-group.secondary .button:hover {
2541
+ background-color: #5f5f5f;
2542
+ color: #fefefe
2543
+ }
2544
+
2545
+ .button-group.success .button {
2546
+ background-color: #3adb76;
2547
+ color: #fefefe
2548
+ }
2549
+
2550
+ .button-group.success .button:focus,.button-group.success .button:hover {
2551
+ background-color: #22bb5b;
2552
+ color: #fefefe
2553
+ }
2554
+
2555
+ .button-group.warning .button {
2556
+ background-color: #ffae00;
2557
+ color: #fefefe
2558
+ }
2559
+
2560
+ .button-group.warning .button:focus,.button-group.warning .button:hover {
2561
+ background-color: #cc8b00;
2562
+ color: #fefefe
2563
+ }
2564
+
2565
+ .button-group.alert .button {
2566
+ background-color: #ec5840;
2567
+ color: #fefefe
2568
+ }
2569
+
2570
+ .button-group.alert .button:focus,.button-group.alert .button:hover {
2571
+ background-color: #da3116;
2572
+ color: #fefefe
2573
+ }
2574
+
2575
+ .button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button {
2576
+ width: 100%
2577
+ }
2578
+
2579
+ .button-group.stacked-for-medium .button:not(:last-child),.button-group.stacked-for-small .button:not(:last-child),.button-group.stacked .button:not(:last-child) {
2580
+ margin-right: 0
2581
+ }
2582
+
2583
+ @media screen and (min-width: 40em) {
2584
+ .button-group.stacked-for-small .button {
2585
+ width:auto
2586
+ }
2587
+
2588
+ .button-group.stacked-for-small .button:not(:last-child) {
2589
+ margin-right: 1px
2590
+ }
2591
+ }
2592
+
2593
+ @media screen and (min-width: 64em) {
2594
+ .button-group.stacked-for-medium .button {
2595
+ width:auto
2596
+ }
2597
+
2598
+ .button-group.stacked-for-medium .button:not(:last-child) {
2599
+ margin-right: 1px
2600
+ }
2601
+ }
2602
+
2603
+ @media screen and (max-width: 39.9375em) {
2604
+ .button-group.stacked-for-small.expanded {
2605
+ display:block
2606
+ }
2607
+
2608
+ .button-group.stacked-for-small.expanded .button {
2609
+ display: block;
2610
+ margin-right: 0
2611
+ }
2612
+ }
2613
+
2614
+ .callout {
2615
+ margin: 0 0 1rem;
2616
+ padding: 1rem;
2617
+ border: 1px solid hsla(0,0%,4%,.25);
2618
+ border-radius: 0;
2619
+ position: relative;
2620
+ color: #0a0a0a;
2621
+ background-color: #fff
2622
+ }
2623
+
2624
+ .callout>:first-child {
2625
+ margin-top: 0
2626
+ }
2627
+
2628
+ .callout>:last-child {
2629
+ margin-bottom: 0
2630
+ }
2631
+
2632
+ .callout.primary {
2633
+ background-color: #def0fc
2634
+ }
2635
+
2636
+ .callout.secondary {
2637
+ background-color: #ebebeb
2638
+ }
2639
+
2640
+ .callout.success {
2641
+ background-color: #e1faea
2642
+ }
2643
+
2644
+ .callout.warning {
2645
+ background-color: #fff3d9
2646
+ }
2647
+
2648
+ .callout.alert {
2649
+ background-color: #fce6e2
2650
+ }
2651
+
2652
+ .callout.small {
2653
+ padding: .5rem
2654
+ }
2655
+
2656
+ .callout.large {
2657
+ padding: 3rem
2658
+ }
2659
+
2660
+ .close-button {
2661
+ position: absolute;
2662
+ color: #8a8a8a;
2663
+ right: 1rem;
2664
+ top: .5rem;
2665
+ font-size: 2em;
2666
+ line-height: 1;
2667
+ cursor: pointer
2668
+ }
2669
+
2670
+ [data-whatinput=mouse] .close-button {
2671
+ outline: 0
2672
+ }
2673
+
2674
+ .close-button:focus,.close-button:hover {
2675
+ color: #0a0a0a
2676
+ }
2677
+
2678
+ .menu {
2679
+ margin: 0;
2680
+ list-style-type: none
2681
+ }
2682
+
2683
+ .menu>li {
2684
+ display: table-cell;
2685
+ vertical-align: middle
2686
+ }
2687
+
2688
+ [data-whatinput=mouse] .menu>li {
2689
+ outline: 0
2690
+ }
2691
+
2692
+ .menu>li>a {
2693
+ display: block;
2694
+ padding: .7rem 1rem;
2695
+ line-height: 1
2696
+ }
2697
+
2698
+ .menu a,.menu button,.menu input {
2699
+ margin-bottom: 0
2700
+ }
2701
+
2702
+ .menu>li>a i,.menu>li>a i+span,.menu>li>a img,.menu>li>a img+span {
2703
+ vertical-align: middle
2704
+ }
2705
+
2706
+ .menu>li>a i,.menu>li>a img {
2707
+ margin-right: .25rem;
2708
+ display: inline-block
2709
+ }
2710
+
2711
+ .menu>li {
2712
+ display: table-cell
2713
+ }
2714
+
2715
+ .menu.vertical>li {
2716
+ display: block
2717
+ }
2718
+
2719
+ @media screen and (min-width: 40em) {
2720
+ .menu.medium-horizontal>li {
2721
+ display:table-cell
2722
+ }
2723
+
2724
+ .menu.medium-vertical>li {
2725
+ display: block
2726
+ }
2727
+ }
2728
+
2729
+ @media screen and (min-width: 64em) {
2730
+ .menu.large-horizontal>li {
2731
+ display:table-cell
2732
+ }
2733
+
2734
+ .menu.large-vertical>li {
2735
+ display: block
2736
+ }
2737
+ }
2738
+
2739
+ .menu.simple li {
2740
+ line-height: 1;
2741
+ display: inline-block;
2742
+ margin-right: 1rem
2743
+ }
2744
+
2745
+ .menu.simple a {
2746
+ padding: 0
2747
+ }
2748
+
2749
+ .menu.align-right:after,.menu.align-right:before {
2750
+ content: ' ';
2751
+ display: table;
2752
+ -webkit-flex-basis: 0;
2753
+ -ms-flex-preferred-size: 0;
2754
+ flex-basis: 0;
2755
+ -webkit-order: 1;
2756
+ -ms-flex-order: 1;
2757
+ order: 1
2758
+ }
2759
+
2760
+ .menu.align-right:after {
2761
+ clear: both
2762
+ }
2763
+
2764
+ .menu.align-right>li {
2765
+ float: right
2766
+ }
2767
+
2768
+ .menu.expanded {
2769
+ width: 100%;
2770
+ display: table;
2771
+ table-layout: fixed
2772
+ }
2773
+
2774
+ .menu.expanded>li:first-child:last-child {
2775
+ width: 100%
2776
+ }
2777
+
2778
+ .menu.icon-top>li>a {
2779
+ text-align: center
2780
+ }
2781
+
2782
+ .menu.icon-top>li>a i,.menu.icon-top>li>a img {
2783
+ display: block;
2784
+ margin: 0 auto .25rem
2785
+ }
2786
+
2787
+ .menu.nested {
2788
+ margin-left: 1rem
2789
+ }
2790
+
2791
+ .menu .active>a {
2792
+ color: #fefefe;
2793
+ background: #2199e8
2794
+ }
2795
+
2796
+ .menu-text {
2797
+ font-weight: 700;
2798
+ color: inherit;
2799
+ line-height: 1;
2800
+ padding-top: 0;
2801
+ padding-bottom: 0;
2802
+ padding: .7rem 1rem
2803
+ }
2804
+
2805
+ .menu-centered {
2806
+ text-align: center
2807
+ }
2808
+
2809
+ .menu-centered>.menu {
2810
+ display: inline-block
2811
+ }
2812
+
2813
+ .no-js [data-responsive-menu] ul {
2814
+ display: none
2815
+ }
2816
+
2817
+ .menu-icon {
2818
+ position: relative;
2819
+ display: inline-block;
2820
+ vertical-align: middle;
2821
+ cursor: pointer;
2822
+ width: 20px;
2823
+ height: 16px
2824
+ }
2825
+
2826
+ .menu-icon:after {
2827
+ content: '';
2828
+ position: absolute;
2829
+ display: block;
2830
+ width: 100%;
2831
+ height: 2px;
2832
+ background: #fefefe;
2833
+ top: 0;
2834
+ left: 0;
2835
+ box-shadow: 0 7px 0 #fefefe,0 14px 0 #fefefe
2836
+ }
2837
+
2838
+ .menu-icon:hover:after {
2839
+ background: #cacaca;
2840
+ box-shadow: 0 7px 0 #cacaca,0 14px 0 #cacaca
2841
+ }
2842
+
2843
+ .is-drilldown {
2844
+ position: relative;
2845
+ overflow: hidden
2846
+ }
2847
+
2848
+ .is-drilldown li {
2849
+ display: block!important
2850
+ }
2851
+
2852
+ .is-drilldown-submenu {
2853
+ position: absolute;
2854
+ top: 0;
2855
+ left: 100%;
2856
+ z-index: -1;
2857
+ height: 100%;
2858
+ width: 100%;
2859
+ background: #fefefe;
2860
+ transition: -webkit-transform .15s linear;
2861
+ transition: transform .15s linear
2862
+ }
2863
+
2864
+ .is-drilldown-submenu.is-active {
2865
+ z-index: 1;
2866
+ display: block;
2867
+ -webkit-transform: translateX(-100%);
2868
+ transform: translateX(-100%)
2869
+ }
2870
+
2871
+ .is-drilldown-submenu.is-closing {
2872
+ -webkit-transform: translateX(100%);
2873
+ transform: translateX(100%)
2874
+ }
2875
+
2876
+ .is-drilldown-submenu-parent>a {
2877
+ position: relative
2878
+ }
2879
+
2880
+ .is-drilldown-submenu-parent>a:after {
2881
+ content: '';
2882
+ display: block;
2883
+ width: 0;
2884
+ height: 0;
2885
+ border: 6px inset;
2886
+ border-color: transparent transparent transparent #2199e8;
2887
+ border-left-style: solid;
2888
+ border-right-width: 0;
2889
+ position: absolute;
2890
+ top: 50%;
2891
+ margin-top: -6px;
2892
+ right: 1rem
2893
+ }
2894
+
2895
+ .js-drilldown-back>a:before {
2896
+ content: '';
2897
+ display: block;
2898
+ width: 0;
2899
+ height: 0;
2900
+ border: 6px inset;
2901
+ border-color: transparent #2199e8 transparent transparent;
2902
+ border-right-style: solid;
2903
+ border-left-width: 0;
2904
+ display: inline-block;
2905
+ vertical-align: middle;
2906
+ margin-right: .75rem
2907
+ }
2908
+
2909
+ .dropdown-pane {
2910
+ background-color: #fefefe;
2911
+ border: 1px solid #cacaca;
2912
+ border-radius: 0;
2913
+ display: block;
2914
+ font-size: 1rem;
2915
+ padding: 1rem;
2916
+ position: absolute;
2917
+ visibility: hidden;
2918
+ width: 300px;
2919
+ z-index: 3
2920
+ }
2921
+
2922
+ .dropdown-pane.is-open {
2923
+ visibility: visible
2924
+ }
2925
+
2926
+ .dropdown-pane.tiny {
2927
+ width: 100px
2928
+ }
2929
+
2930
+ .dropdown-pane.small {
2931
+ width: 200px
2932
+ }
2933
+
2934
+ .dropdown-pane.large {
2935
+ width: 400px
2936
+ }
2937
+
2938
+ .dropdown.menu>li.opens-left>.is-dropdown-submenu {
2939
+ left: auto;
2940
+ right: 0;
2941
+ top: 100%
2942
+ }
2943
+
2944
+ .dropdown.menu>li.opens-right>.is-dropdown-submenu {
2945
+ right: auto;
2946
+ left: 0;
2947
+ top: 100%
2948
+ }
2949
+
2950
+ .dropdown.menu>li.is-dropdown-submenu-parent>a {
2951
+ padding-right: 1.5rem;
2952
+ position: relative
2953
+ }
2954
+
2955
+ .dropdown.menu>li.is-dropdown-submenu-parent>a:after {
2956
+ content: '';
2957
+ display: block;
2958
+ width: 0;
2959
+ height: 0;
2960
+ border: 5px inset;
2961
+ border-color: #2199e8 transparent transparent;
2962
+ border-top-style: solid;
2963
+ border-bottom-width: 0;
2964
+ right: 5px;
2965
+ margin-top: -2px
2966
+ }
2967
+
2968
+ [data-whatinput=mouse] .dropdown.menu a {
2969
+ outline: 0
2970
+ }
2971
+
2972
+ .no-js .dropdown.menu ul {
2973
+ display: none
2974
+ }
2975
+
2976
+ .dropdown.menu.vertical>li .is-dropdown-submenu {
2977
+ top: 0
2978
+ }
2979
+
2980
+ .dropdown.menu.vertical>li.opens-left .is-dropdown-submenu {
2981
+ left: auto;
2982
+ right: 100%
2983
+ }
2984
+
2985
+ .dropdown.menu.vertical>li.opens-right .is-dropdown-submenu {
2986
+ right: auto;
2987
+ left: 100%
2988
+ }
2989
+
2990
+ .dropdown.menu.vertical>li>a:after {
2991
+ right: 14px;
2992
+ margin-top: -3px
2993
+ }
2994
+
2995
+ .dropdown.menu.vertical>li.opens-left>a:after {
2996
+ content: '';
2997
+ display: block;
2998
+ width: 0;
2999
+ height: 0;
3000
+ border: 5px inset;
3001
+ border-color: transparent #2199e8 transparent transparent;
3002
+ border-right-style: solid;
3003
+ border-left-width: 0
3004
+ }
3005
+
3006
+ .dropdown.menu.vertical>li.opens-right>a:after {
3007
+ content: '';
3008
+ display: block;
3009
+ width: 0;
3010
+ height: 0;
3011
+ border: 5px inset;
3012
+ border-color: transparent transparent transparent #2199e8;
3013
+ border-left-style: solid;
3014
+ border-right-width: 0
3015
+ }
3016
+
3017
+ @media screen and (min-width: 40em) {
3018
+ .dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu {
3019
+ left:auto;
3020
+ right: 0;
3021
+ top: 100%
3022
+ }
3023
+
3024
+ .dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu {
3025
+ right: auto;
3026
+ left: 0;
3027
+ top: 100%
3028
+ }
3029
+
3030
+ .dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a {
3031
+ padding-right: 1.5rem;
3032
+ position: relative
3033
+ }
3034
+
3035
+ .dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after {
3036
+ content: '';
3037
+ display: block;
3038
+ width: 0;
3039
+ height: 0;
3040
+ border: 5px inset;
3041
+ border-color: #2199e8 transparent transparent;
3042
+ border-top-style: solid;
3043
+ border-bottom-width: 0;
3044
+ right: 5px;
3045
+ margin-top: -2px
3046
+ }
3047
+
3048
+ .dropdown.menu.medium-vertical>li .is-dropdown-submenu {
3049
+ top: 0
3050
+ }
3051
+
3052
+ .dropdown.menu.medium-vertical>li.opens-left .is-dropdown-submenu {
3053
+ left: auto;
3054
+ right: 100%
3055
+ }
3056
+
3057
+ .dropdown.menu.medium-vertical>li.opens-right .is-dropdown-submenu {
3058
+ right: auto;
3059
+ left: 100%
3060
+ }
3061
+
3062
+ .dropdown.menu.medium-vertical>li>a:after {
3063
+ right: 14px;
3064
+ margin-top: -3px
3065
+ }
3066
+
3067
+ .dropdown.menu.medium-vertical>li.opens-left>a:after {
3068
+ content: '';
3069
+ display: block;
3070
+ width: 0;
3071
+ height: 0;
3072
+ border: 5px inset;
3073
+ border-color: transparent #2199e8 transparent transparent;
3074
+ border-right-style: solid;
3075
+ border-left-width: 0
3076
+ }
3077
+
3078
+ .dropdown.menu.medium-vertical>li.opens-right>a:after {
3079
+ content: '';
3080
+ display: block;
3081
+ width: 0;
3082
+ height: 0;
3083
+ border: 5px inset;
3084
+ border-color: transparent transparent transparent #2199e8;
3085
+ border-left-style: solid;
3086
+ border-right-width: 0
3087
+ }
3088
+ }
3089
+
3090
+ @media screen and (min-width: 64em) {
3091
+ .dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu {
3092
+ left:auto;
3093
+ right: 0;
3094
+ top: 100%
3095
+ }
3096
+
3097
+ .dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu {
3098
+ right: auto;
3099
+ left: 0;
3100
+ top: 100%
3101
+ }
3102
+
3103
+ .dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a {
3104
+ padding-right: 1.5rem;
3105
+ position: relative
3106
+ }
3107
+
3108
+ .dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after {
3109
+ content: '';
3110
+ display: block;
3111
+ width: 0;
3112
+ height: 0;
3113
+ border: 5px inset;
3114
+ border-color: #2199e8 transparent transparent;
3115
+ border-top-style: solid;
3116
+ border-bottom-width: 0;
3117
+ right: 5px;
3118
+ margin-top: -2px
3119
+ }
3120
+
3121
+ .dropdown.menu.large-vertical>li .is-dropdown-submenu {
3122
+ top: 0
3123
+ }
3124
+
3125
+ .dropdown.menu.large-vertical>li.opens-left .is-dropdown-submenu {
3126
+ left: auto;
3127
+ right: 100%
3128
+ }
3129
+
3130
+ .dropdown.menu.large-vertical>li.opens-right .is-dropdown-submenu {
3131
+ right: auto;
3132
+ left: 100%
3133
+ }
3134
+
3135
+ .dropdown.menu.large-vertical>li>a:after {
3136
+ right: 14px;
3137
+ margin-top: -3px
3138
+ }
3139
+
3140
+ .dropdown.menu.large-vertical>li.opens-left>a:after {
3141
+ content: '';
3142
+ display: block;
3143
+ width: 0;
3144
+ height: 0;
3145
+ border: 5px inset;
3146
+ border-color: transparent #2199e8 transparent transparent;
3147
+ border-right-style: solid;
3148
+ border-left-width: 0
3149
+ }
3150
+
3151
+ .dropdown.menu.large-vertical>li.opens-right>a:after {
3152
+ content: '';
3153
+ display: block;
3154
+ width: 0;
3155
+ height: 0;
3156
+ border: 5px inset;
3157
+ border-color: transparent transparent transparent #2199e8;
3158
+ border-left-style: solid;
3159
+ border-right-width: 0
3160
+ }
3161
+ }
3162
+
3163
+ .dropdown.menu.align-right .is-dropdown-submenu.first-sub {
3164
+ top: 100%;
3165
+ left: auto;
3166
+ right: 0
3167
+ }
3168
+
3169
+ .is-dropdown-menu.vertical {
3170
+ width: 100px
3171
+ }
3172
+
3173
+ .is-dropdown-menu.vertical.align-right {
3174
+ float: right
3175
+ }
3176
+
3177
+ .is-dropdown-submenu-parent {
3178
+ position: relative
3179
+ }
3180
+
3181
+ .is-dropdown-submenu-parent a:after {
3182
+ position: absolute;
3183
+ top: 50%;
3184
+ right: 5px;
3185
+ margin-top: -2px
3186
+ }
3187
+
3188
+ .is-dropdown-submenu-parent.opens-inner .is-dropdown-submenu {
3189
+ top: 100%
3190
+ }
3191
+
3192
+ .is-dropdown-submenu-parent.opens-left .is-dropdown-submenu {
3193
+ left: auto;
3194
+ right: 0;
3195
+ top: 100%
3196
+ }
3197
+
3198
+ .is-dropdown-submenu {
3199
+ display: none;
3200
+ position: absolute;
3201
+ top: 0;
3202
+ left: 100%;
3203
+ min-width: 200px;
3204
+ z-index: 1;
3205
+ background: #fefefe;
3206
+ border: 1px solid #cacaca
3207
+ }
3208
+
3209
+ .is-dropdown-submenu .is-dropdown-submenu-parent>a:after {
3210
+ right: 14px;
3211
+ margin-top: -3px
3212
+ }
3213
+
3214
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after {
3215
+ content: '';
3216
+ display: block;
3217
+ width: 0;
3218
+ height: 0;
3219
+ border: 5px inset;
3220
+ border-color: transparent #2199e8 transparent transparent;
3221
+ border-right-style: solid;
3222
+ border-left-width: 0
3223
+ }
3224
+
3225
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after {
3226
+ content: '';
3227
+ display: block;
3228
+ width: 0;
3229
+ height: 0;
3230
+ border: 5px inset;
3231
+ border-color: transparent transparent transparent #2199e8;
3232
+ border-left-style: solid;
3233
+ border-right-width: 0
3234
+ }
3235
+
3236
+ .is-dropdown-submenu .is-dropdown-submenu {
3237
+ margin-top: -1px
3238
+ }
3239
+
3240
+ .is-dropdown-submenu>li {
3241
+ width: 100%
3242
+ }
3243
+
3244
+ .is-dropdown-submenu.js-dropdown-active,.is-dropdown-submenu:not(.js-dropdown-nohover)>.is-dropdown-submenu-parent:hover>.is-dropdown-submenu {
3245
+ display: block
3246
+ }
3247
+
3248
+ .flex-video {
3249
+ position: relative;
3250
+ height: 0;
3251
+ padding-bottom: 75%;
3252
+ margin-bottom: 1rem;
3253
+ overflow: hidden
3254
+ }
3255
+
3256
+ .flex-video embed,.flex-video iframe,.flex-video object,.flex-video video {
3257
+ position: absolute;
3258
+ top: 0;
3259
+ left: 0;
3260
+ width: 100%;
3261
+ height: 100%
3262
+ }
3263
+
3264
+ .flex-video.widescreen {
3265
+ padding-bottom: 56.25%
3266
+ }
3267
+
3268
+ .flex-video.vimeo {
3269
+ padding-top: 0
3270
+ }
3271
+
3272
+ .label {
3273
+ display: inline-block;
3274
+ padding: .33333rem .5rem;
3275
+ font-size: .8rem;
3276
+ line-height: 1;
3277
+ white-space: nowrap;
3278
+ cursor: default;
3279
+ border-radius: 0;
3280
+ background: #2199e8;
3281
+ color: #fefefe
3282
+ }
3283
+
3284
+ .label.secondary {
3285
+ background: #777;
3286
+ color: #fefefe
3287
+ }
3288
+
3289
+ .label.success {
3290
+ background: #3adb76;
3291
+ color: #fefefe
3292
+ }
3293
+
3294
+ .label.warning {
3295
+ background: #ffae00;
3296
+ color: #fefefe
3297
+ }
3298
+
3299
+ .label.alert {
3300
+ background: #ec5840;
3301
+ color: #fefefe
3302
+ }
3303
+
3304
+ .media-object {
3305
+ margin-bottom: 1rem;
3306
+ display: block
3307
+ }
3308
+
3309
+ .media-object img {
3310
+ max-width: none
3311
+ }
3312
+
3313
+ @media screen and (max-width: 39.9375em) {
3314
+ .media-object.stack-for-small .media-object-section {
3315
+ padding:0;
3316
+ padding-bottom: 1rem;
3317
+ display: block
3318
+ }
3319
+
3320
+ .media-object.stack-for-small .media-object-section img {
3321
+ width: 100%
3322
+ }
3323
+ }
3324
+
3325
+ .media-object-section {
3326
+ display: table-cell;
3327
+ vertical-align: top
3328
+ }
3329
+
3330
+ .media-object-section:first-child {
3331
+ padding-right: 1rem
3332
+ }
3333
+
3334
+ .media-object-section:last-child:not(:nth-child(2)) {
3335
+ padding-left: 1rem
3336
+ }
3337
+
3338
+ .media-object-section.middle {
3339
+ vertical-align: middle
3340
+ }
3341
+
3342
+ .media-object-section.bottom {
3343
+ vertical-align: bottom
3344
+ }
3345
+
3346
+ body,html {
3347
+ height: 100%
3348
+ }
3349
+
3350
+ .off-canvas-wrapper {
3351
+ width: 100%;
3352
+ overflow-x: hidden;
3353
+ position: relative;
3354
+ -webkit-backface-visibility: hidden;
3355
+ backface-visibility: hidden;
3356
+ -webkit-overflow-scrolling: auto
3357
+ }
3358
+
3359
+ .off-canvas-wrapper-inner {
3360
+ position: relative;
3361
+ width: 100%;
3362
+ transition: -webkit-transform .5s ease;
3363
+ transition: transform .5s ease
3364
+ }
3365
+
3366
+ .off-canvas-wrapper-inner:after,.off-canvas-wrapper-inner:before {
3367
+ content: ' ';
3368
+ display: table;
3369
+ -webkit-flex-basis: 0;
3370
+ -ms-flex-preferred-size: 0;
3371
+ flex-basis: 0;
3372
+ -webkit-order: 1;
3373
+ -ms-flex-order: 1;
3374
+ order: 1
3375
+ }
3376
+
3377
+ .off-canvas-wrapper-inner:after {
3378
+ clear: both
3379
+ }
3380
+
3381
+ .off-canvas-content {
3382
+ min-height: 100%;
3383
+ background: #fefefe;
3384
+ transition: -webkit-transform .5s ease;
3385
+ transition: transform .5s ease;
3386
+ -webkit-backface-visibility: hidden;
3387
+ backface-visibility: hidden;
3388
+ z-index: 1;
3389
+ padding-bottom: .1px;
3390
+ box-shadow: 0 0 10px hsla(0,0%,4%,.5)
3391
+ }
3392
+
3393
+ .js-off-canvas-exit {
3394
+ display: none;
3395
+ position: absolute;
3396
+ top: 0;
3397
+ left: 0;
3398
+ width: 100%;
3399
+ height: 100%;
3400
+ background: hsla(0,0%,100%,.25);
3401
+ cursor: pointer;
3402
+ transition: background .5s ease
3403
+ }
3404
+
3405
+ .off-canvas {
3406
+ position: absolute;
3407
+ background: #e6e6e6;
3408
+ z-index: -1;
3409
+ max-height: 100%;
3410
+ overflow-y: auto;
3411
+ -webkit-transform: translateX(0);
3412
+ transform: translateX(0)
3413
+ }
3414
+
3415
+ [data-whatinput=mouse] .off-canvas {
3416
+ outline: 0
3417
+ }
3418
+
3419
+ .off-canvas.position-left {
3420
+ left: -250px;
3421
+ top: 0;
3422
+ width: 250px
3423
+ }
3424
+
3425
+ .is-open-left {
3426
+ -webkit-transform: translateX(250px);
3427
+ transform: translateX(250px)
3428
+ }
3429
+
3430
+ .off-canvas.position-right {
3431
+ right: -250px;
3432
+ top: 0;
3433
+ width: 250px
3434
+ }
3435
+
3436
+ .is-open-right {
3437
+ -webkit-transform: translateX(-250px);
3438
+ transform: translateX(-250px)
3439
+ }
3440
+
3441
+ @media screen and (min-width: 40em) {
3442
+ .position-left.reveal-for-medium {
3443
+ left:0;
3444
+ z-index: auto;
3445
+ position: fixed
3446
+ }
3447
+
3448
+ .position-left.reveal-for-medium~.off-canvas-content {
3449
+ margin-left: 250px
3450
+ }
3451
+
3452
+ .position-right.reveal-for-medium {
3453
+ right: 0;
3454
+ z-index: auto;
3455
+ position: fixed
3456
+ }
3457
+
3458
+ .position-right.reveal-for-medium~.off-canvas-content {
3459
+ margin-right: 250px
3460
+ }
3461
+ }
3462
+
3463
+ @media screen and (min-width: 64em) {
3464
+ .position-left.reveal-for-large {
3465
+ left:0;
3466
+ z-index: auto;
3467
+ position: fixed
3468
+ }
3469
+
3470
+ .position-left.reveal-for-large~.off-canvas-content {
3471
+ margin-left: 250px
3472
+ }
3473
+
3474
+ .position-right.reveal-for-large {
3475
+ right: 0;
3476
+ z-index: auto;
3477
+ position: fixed
3478
+ }
3479
+
3480
+ .position-right.reveal-for-large~.off-canvas-content {
3481
+ margin-right: 250px
3482
+ }
3483
+ }
3484
+
3485
+ .orbit,.orbit-container {
3486
+ position: relative
3487
+ }
3488
+
3489
+ .orbit-container {
3490
+ margin: 0;
3491
+ overflow: hidden;
3492
+ list-style: none
3493
+ }
3494
+
3495
+ .orbit-slide {
3496
+ width: 100%;
3497
+ max-height: 100%
3498
+ }
3499
+
3500
+ .orbit-slide.no-motionui.is-active {
3501
+ top: 0;
3502
+ left: 0
3503
+ }
3504
+
3505
+ .orbit-figure {
3506
+ margin: 0
3507
+ }
3508
+
3509
+ .orbit-image {
3510
+ margin: 0;
3511
+ width: 100%;
3512
+ max-width: 100%
3513
+ }
3514
+
3515
+ .orbit-caption {
3516
+ bottom: 0;
3517
+ width: 100%;
3518
+ margin-bottom: 0;
3519
+ background-color: hsla(0,0%,4%,.5)
3520
+ }
3521
+
3522
+ .orbit-caption,.orbit-next,.orbit-previous {
3523
+ position: absolute;
3524
+ padding: 1rem;
3525
+ color: #fefefe
3526
+ }
3527
+
3528
+ .orbit-next,.orbit-previous {
3529
+ top: 50%;
3530
+ -webkit-transform: translateY(-50%);
3531
+ transform: translateY(-50%);
3532
+ z-index: 3
3533
+ }
3534
+
3535
+ [data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous {
3536
+ outline: 0
3537
+ }
3538
+
3539
+ .orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover {
3540
+ background-color: hsla(0,0%,4%,.5)
3541
+ }
3542
+
3543
+ .orbit-previous {
3544
+ left: 0
3545
+ }
3546
+
3547
+ .orbit-next {
3548
+ left: auto;
3549
+ right: 0
3550
+ }
3551
+
3552
+ .orbit-bullets {
3553
+ position: relative;
3554
+ margin-top: .8rem;
3555
+ margin-bottom: .8rem;
3556
+ text-align: center
3557
+ }
3558
+
3559
+ [data-whatinput=mouse] .orbit-bullets {
3560
+ outline: 0
3561
+ }
3562
+
3563
+ .orbit-bullets button {
3564
+ width: 1.2rem;
3565
+ height: 1.2rem;
3566
+ margin: .1rem;
3567
+ background-color: #cacaca;
3568
+ border-radius: 50%
3569
+ }
3570
+
3571
+ .orbit-bullets button.is-active,.orbit-bullets button:hover {
3572
+ background-color: #8a8a8a
3573
+ }
3574
+
3575
+ .pagination {
3576
+ margin-left: 0;
3577
+ margin-bottom: 1rem
3578
+ }
3579
+
3580
+ .pagination:after,.pagination:before {
3581
+ content: ' ';
3582
+ display: table;
3583
+ -webkit-flex-basis: 0;
3584
+ -ms-flex-preferred-size: 0;
3585
+ flex-basis: 0;
3586
+ -webkit-order: 1;
3587
+ -ms-flex-order: 1;
3588
+ order: 1
3589
+ }
3590
+
3591
+ .pagination:after {
3592
+ clear: both
3593
+ }
3594
+
3595
+ .pagination li {
3596
+ font-size: .875rem;
3597
+ margin-right: .0625rem;
3598
+ border-radius: 0;
3599
+ display: none
3600
+ }
3601
+
3602
+ .pagination li:first-child,.pagination li:last-child {
3603
+ display: inline-block
3604
+ }
3605
+
3606
+ @media screen and (min-width: 40em) {
3607
+ .pagination li {
3608
+ display:inline-block
3609
+ }
3610
+ }
3611
+
3612
+ .pagination a,.pagination button {
3613
+ color: #0a0a0a;
3614
+ display: block;
3615
+ padding: .1875rem .625rem;
3616
+ border-radius: 0
3617
+ }
3618
+
3619
+ .pagination a:hover,.pagination button:hover {
3620
+ background: #e6e6e6
3621
+ }
3622
+
3623
+ .pagination .current {
3624
+ padding: .1875rem .625rem;
3625
+ background: #2199e8;
3626
+ color: #fefefe;
3627
+ cursor: default
3628
+ }
3629
+
3630
+ .pagination .disabled {
3631
+ padding: .1875rem .625rem;
3632
+ color: #cacaca;
3633
+ cursor: default
3634
+ }
3635
+
3636
+ .pagination .disabled:hover {
3637
+ background: transparent
3638
+ }
3639
+
3640
+ .pagination .ellipsis:after {
3641
+ content: '\2026';
3642
+ padding: .1875rem .625rem;
3643
+ color: #0a0a0a
3644
+ }
3645
+
3646
+ .pagination-previous.disabled:before,.pagination-previous a:before {
3647
+ content: '\00ab';
3648
+ display: inline-block;
3649
+ margin-right: .5rem
3650
+ }
3651
+
3652
+ .pagination-next.disabled:after,.pagination-next a:after {
3653
+ content: '\00bb';
3654
+ display: inline-block;
3655
+ margin-left: .5rem
3656
+ }
3657
+
3658
+ .progress {
3659
+ background-color: #cacaca;
3660
+ height: 1rem;
3661
+ margin-bottom: 1rem;
3662
+ border-radius: 0
3663
+ }
3664
+
3665
+ .progress.primary .progress-meter {
3666
+ background-color: #2199e8
3667
+ }
3668
+
3669
+ .progress.secondary .progress-meter {
3670
+ background-color: #777
3671
+ }
3672
+
3673
+ .progress.success .progress-meter {
3674
+ background-color: #3adb76
3675
+ }
3676
+
3677
+ .progress.warning .progress-meter {
3678
+ background-color: #ffae00
3679
+ }
3680
+
3681
+ .progress.alert .progress-meter {
3682
+ background-color: #ec5840
3683
+ }
3684
+
3685
+ .progress-meter {
3686
+ position: relative;
3687
+ display: block;
3688
+ width: 0;
3689
+ height: 100%;
3690
+ background-color: #2199e8
3691
+ }
3692
+
3693
+ .progress-meter-text {
3694
+ top: 50%;
3695
+ left: 50%;
3696
+ -webkit-transform: translate(-50%,-50%);
3697
+ transform: translate(-50%,-50%);
3698
+ position: absolute;
3699
+ margin: 0;
3700
+ font-size: .75rem;
3701
+ font-weight: 700;
3702
+ color: #fefefe;
3703
+ white-space: nowrap
3704
+ }
3705
+
3706
+ .slider {
3707
+ position: relative;
3708
+ height: .5rem;
3709
+ margin-top: 1.25rem;
3710
+ margin-bottom: 2.25rem;
3711
+ background-color: #e6e6e6;
3712
+ cursor: pointer;
3713
+ -webkit-user-select: none;
3714
+ -moz-user-select: none;
3715
+ -ms-user-select: none;
3716
+ user-select: none;
3717
+ -ms-touch-action: none;
3718
+ touch-action: none
3719
+ }
3720
+
3721
+ .slider-fill {
3722
+ position: absolute;
3723
+ top: 0;
3724
+ left: 0;
3725
+ display: inline-block;
3726
+ max-width: 100%;
3727
+ height: .5rem;
3728
+ background-color: #cacaca;
3729
+ transition: all .2s ease-in-out
3730
+ }
3731
+
3732
+ .slider-fill.is-dragging {
3733
+ transition: all 0s linear
3734
+ }
3735
+
3736
+ .slider-handle {
3737
+ top: 50%;
3738
+ -webkit-transform: translateY(-50%);
3739
+ transform: translateY(-50%);
3740
+ position: absolute;
3741
+ left: 0;
3742
+ z-index: 1;
3743
+ display: inline-block;
3744
+ width: 1.4rem;
3745
+ height: 1.4rem;
3746
+ background-color: #2199e8;
3747
+ transition: all .2s ease-in-out;
3748
+ -ms-touch-action: manipulation;
3749
+ touch-action: manipulation;
3750
+ border-radius: 0
3751
+ }
3752
+
3753
+ [data-whatinput=mouse] .slider-handle {
3754
+ outline: 0
3755
+ }
3756
+
3757
+ .slider-handle:hover {
3758
+ background-color: #1583cc
3759
+ }
3760
+
3761
+ .slider-handle.is-dragging {
3762
+ transition: all 0s linear
3763
+ }
3764
+
3765
+ .slider.disabled,.slider[disabled] {
3766
+ opacity: .25;
3767
+ cursor: not-allowed
3768
+ }
3769
+
3770
+ .slider.vertical {
3771
+ display: inline-block;
3772
+ width: .5rem;
3773
+ height: 12.5rem;
3774
+ margin: 0 1.25rem;
3775
+ -webkit-transform: scaleY(-1);
3776
+ transform: scaleY(-1)
3777
+ }
3778
+
3779
+ .slider.vertical .slider-fill {
3780
+ top: 0;
3781
+ width: .5rem;
3782
+ max-height: 100%
3783
+ }
3784
+
3785
+ .slider.vertical .slider-handle {
3786
+ position: absolute;
3787
+ top: 0;
3788
+ left: 50%;
3789
+ width: 1.4rem;
3790
+ height: 1.4rem;
3791
+ -webkit-transform: translateX(-50%);
3792
+ transform: translateX(-50%)
3793
+ }
3794
+
3795
+ .sticky-container {
3796
+ position: relative
3797
+ }
3798
+
3799
+ .sticky {
3800
+ position: absolute;
3801
+ z-index: 0;
3802
+ -webkit-transform: translateZ(0);
3803
+ transform: translateZ(0)
3804
+ }
3805
+
3806
+ .sticky.is-stuck {
3807
+ position: fixed;
3808
+ z-index: 2
3809
+ }
3810
+
3811
+ .sticky.is-stuck.is-at-top {
3812
+ top: 0
3813
+ }
3814
+
3815
+ .sticky.is-stuck.is-at-bottom {
3816
+ bottom: 0
3817
+ }
3818
+
3819
+ .sticky.is-anchored {
3820
+ position: absolute;
3821
+ left: auto;
3822
+ right: auto
3823
+ }
3824
+
3825
+ .sticky.is-anchored.is-at-bottom {
3826
+ bottom: 0
3827
+ }
3828
+
3829
+ body.is-reveal-open {
3830
+ overflow: hidden
3831
+ }
3832
+
3833
+ .reveal-overlay {
3834
+ display: none;
3835
+ position: fixed;
3836
+ top: 0;
3837
+ bottom: 0;
3838
+ left: 0;
3839
+ right: 0;
3840
+ z-index: 4;
3841
+ background-color: hsla(0,0%,4%,.45);
3842
+ overflow-y: scroll
3843
+ }
3844
+
3845
+ .reveal {
3846
+ display: none;
3847
+ z-index: 5;
3848
+ padding: 1rem;
3849
+ border: 1px solid #cacaca;
3850
+ background-color: #fefefe;
3851
+ border-radius: 0;
3852
+ position: relative;
3853
+ top: 100px;
3854
+ margin-left: auto;
3855
+ margin-right: auto;
3856
+ overflow-y: auto
3857
+ }
3858
+
3859
+ [data-whatinput=mouse] .reveal {
3860
+ outline: 0
3861
+ }
3862
+
3863
+ @media screen and (min-width: 40em) {
3864
+ .reveal {
3865
+ min-height:0
3866
+ }
3867
+ }
3868
+
3869
+ .reveal .column,.reveal .columns {
3870
+ min-width: 0
3871
+ }
3872
+
3873
+ .reveal>:last-child {
3874
+ margin-bottom: 0
3875
+ }
3876
+
3877
+ @media screen and (min-width: 40em) {
3878
+ .reveal {
3879
+ width:600px;
3880
+ max-width: 75rem
3881
+ }
3882
+ }
3883
+
3884
+ @media screen and (min-width: 40em) {
3885
+ .reveal .reveal {
3886
+ left:auto;
3887
+ right: auto;
3888
+ margin: 0 auto
3889
+ }
3890
+ }
3891
+
3892
+ .reveal.collapse {
3893
+ padding: 0
3894
+ }
3895
+
3896
+ @media screen and (min-width: 40em) {
3897
+ .reveal.tiny {
3898
+ width:30%;
3899
+ max-width: 75rem
3900
+ }
3901
+ }
3902
+
3903
+ @media screen and (min-width: 40em) {
3904
+ .reveal.small {
3905
+ width:50%;
3906
+ max-width: 75rem
3907
+ }
3908
+ }
3909
+
3910
+ @media screen and (min-width: 40em) {
3911
+ .reveal.large {
3912
+ width:90%;
3913
+ max-width: 75rem
3914
+ }
3915
+ }
3916
+
3917
+ .reveal.full {
3918
+ top: 0;
3919
+ left: 0;
3920
+ width: 100%;
3921
+ height: 100%;
3922
+ height: 100vh;
3923
+ min-height: 100vh;
3924
+ max-width: none;
3925
+ margin-left: 0;
3926
+ border: 0
3927
+ }
3928
+
3929
+ @media screen and (max-width: 39.9375em) {
3930
+ .reveal {
3931
+ top:0;
3932
+ left: 0;
3933
+ width: 100%;
3934
+ height: 100%;
3935
+ height: 100vh;
3936
+ min-height: 100vh;
3937
+ max-width: none;
3938
+ margin-left: 0;
3939
+ border: 0
3940
+ }
3941
+ }
3942
+
3943
+ .reveal.without-overlay {
3944
+ position: fixed
3945
+ }
3946
+
3947
+ .switch {
3948
+ margin-bottom: 1rem;
3949
+ outline: 0;
3950
+ position: relative;
3951
+ -webkit-user-select: none;
3952
+ -moz-user-select: none;
3953
+ -ms-user-select: none;
3954
+ user-select: none;
3955
+ color: #fefefe;
3956
+ font-weight: 700;
3957
+ font-size: .875rem
3958
+ }
3959
+
3960
+ .switch-input {
3961
+ opacity: 0;
3962
+ position: absolute
3963
+ }
3964
+
3965
+ .switch-paddle {
3966
+ background: #cacaca;
3967
+ cursor: pointer;
3968
+ display: block;
3969
+ position: relative;
3970
+ width: 4rem;
3971
+ height: 2rem;
3972
+ transition: all .25s ease-out;
3973
+ border-radius: 0;
3974
+ color: inherit;
3975
+ font-weight: inherit
3976
+ }
3977
+
3978
+ input+.switch-paddle {
3979
+ margin: 0
3980
+ }
3981
+
3982
+ .switch-paddle:after {
3983
+ background: #fefefe;
3984
+ content: '';
3985
+ display: block;
3986
+ position: absolute;
3987
+ height: 1.5rem;
3988
+ left: .25rem;
3989
+ top: .25rem;
3990
+ width: 1.5rem;
3991
+ transition: all .25s ease-out;
3992
+ -webkit-transform: translateZ(0);
3993
+ transform: translateZ(0);
3994
+ border-radius: 0
3995
+ }
3996
+
3997
+ input:checked~.switch-paddle {
3998
+ background: #2199e8
3999
+ }
4000
+
4001
+ input:checked~.switch-paddle:after {
4002
+ left: 2.25rem
4003
+ }
4004
+
4005
+ [data-whatinput=mouse] input:focus~.switch-paddle {
4006
+ outline: 0
4007
+ }
4008
+
4009
+ .switch-active,.switch-inactive {
4010
+ position: absolute;
4011
+ top: 50%;
4012
+ -webkit-transform: translateY(-50%);
4013
+ transform: translateY(-50%)
4014
+ }
4015
+
4016
+ .switch-active {
4017
+ left: 8%;
4018
+ display: none
4019
+ }
4020
+
4021
+ input:checked+label>.switch-active {
4022
+ display: block
4023
+ }
4024
+
4025
+ .switch-inactive {
4026
+ right: 15%
4027
+ }
4028
+
4029
+ input:checked+label>.switch-inactive {
4030
+ display: none
4031
+ }
4032
+
4033
+ .switch.tiny .switch-paddle {
4034
+ width: 3rem;
4035
+ height: 1.5rem;
4036
+ font-size: .625rem
4037
+ }
4038
+
4039
+ .switch.tiny .switch-paddle:after {
4040
+ width: 1rem;
4041
+ height: 1rem
4042
+ }
4043
+
4044
+ .switch.tiny input:checked~.switch-paddle:after {
4045
+ left: 1.75rem
4046
+ }
4047
+
4048
+ .switch.small .switch-paddle {
4049
+ width: 3.5rem;
4050
+ height: 1.75rem;
4051
+ font-size: .75rem
4052
+ }
4053
+
4054
+ .switch.small .switch-paddle:after {
4055
+ width: 1.25rem;
4056
+ height: 1.25rem
4057
+ }
4058
+
4059
+ .switch.small input:checked~.switch-paddle:after {
4060
+ left: 2rem
4061
+ }
4062
+
4063
+ .switch.large .switch-paddle {
4064
+ width: 5rem;
4065
+ height: 2.5rem;
4066
+ font-size: 1rem
4067
+ }
4068
+
4069
+ .switch.large .switch-paddle:after {
4070
+ width: 2rem;
4071
+ height: 2rem
4072
+ }
4073
+
4074
+ .switch.large input:checked~.switch-paddle:after {
4075
+ left: 2.75rem
4076
+ }
4077
+
4078
+ table {
4079
+ width: 100%;
4080
+ margin-bottom: 1rem;
4081
+ border-radius: 0
4082
+ }
4083
+
4084
+ table tbody,table tfoot,table thead {
4085
+ border: 1px solid #f1f1f1;
4086
+ background-color: #fefefe
4087
+ }
4088
+
4089
+ table caption {
4090
+ font-weight: 700;
4091
+ padding: .5rem .625rem .625rem
4092
+ }
4093
+
4094
+ table tfoot,table thead {
4095
+ background: #f8f8f8;
4096
+ color: #0a0a0a
4097
+ }
4098
+
4099
+ table tfoot tr,table thead tr {
4100
+ background: transparent
4101
+ }
4102
+
4103
+ table tfoot td,table tfoot th,table thead td,table thead th {
4104
+ padding: .5rem .625rem .625rem;
4105
+ font-weight: 700;
4106
+ text-align: left
4107
+ }
4108
+
4109
+ table tbody tr:nth-child(even) {
4110
+ background-color: #f1f1f1
4111
+ }
4112
+
4113
+ table tbody td,table tbody th {
4114
+ padding: .5rem .625rem .625rem
4115
+ }
4116
+
4117
+ @media screen and (max-width: 63.9375em) {
4118
+ table.stack tfoot,table.stack thead {
4119
+ display:none
4120
+ }
4121
+
4122
+ table.stack td,table.stack th,table.stack tr {
4123
+ display: block
4124
+ }
4125
+
4126
+ table.stack td {
4127
+ border-top: 0
4128
+ }
4129
+ }
4130
+
4131
+ table.scroll {
4132
+ display: block;
4133
+ width: 100%;
4134
+ overflow-x: auto
4135
+ }
4136
+
4137
+ table.hover tr:hover {
4138
+ background-color: #f9f9f9
4139
+ }
4140
+
4141
+ table.hover tr:nth-of-type(even):hover {
4142
+ background-color: #ececec
4143
+ }
4144
+
4145
+ .table-scroll {
4146
+ overflow-x: auto
4147
+ }
4148
+
4149
+ .table-scroll table {
4150
+ width: auto
4151
+ }
4152
+
4153
+ .tabs {
4154
+ margin: 0;
4155
+ list-style-type: none;
4156
+ background: #fefefe;
4157
+ border: 1px solid #e6e6e6
4158
+ }
4159
+
4160
+ .tabs:after,.tabs:before {
4161
+ content: ' ';
4162
+ display: table;
4163
+ -webkit-flex-basis: 0;
4164
+ -ms-flex-preferred-size: 0;
4165
+ flex-basis: 0;
4166
+ -webkit-order: 1;
4167
+ -ms-flex-order: 1;
4168
+ order: 1
4169
+ }
4170
+
4171
+ .tabs:after {
4172
+ clear: both
4173
+ }
4174
+
4175
+ .tabs.vertical>li {
4176
+ width: auto;
4177
+ float: none;
4178
+ display: block
4179
+ }
4180
+
4181
+ .tabs.simple>li>a {
4182
+ padding: 0
4183
+ }
4184
+
4185
+ .tabs.simple>li>a:hover {
4186
+ background: transparent
4187
+ }
4188
+
4189
+ .tabs.primary {
4190
+ background: #2199e8
4191
+ }
4192
+
4193
+ .tabs.primary>li>a {
4194
+ color: #fefefe
4195
+ }
4196
+
4197
+ .tabs.primary>li>a:focus,.tabs.primary>li>a:hover {
4198
+ background: #1893e4
4199
+ }
4200
+
4201
+ .tabs-title {
4202
+ float: left
4203
+ }
4204
+
4205
+ .tabs-title>a {
4206
+ display: block;
4207
+ padding: 1.25rem 1.5rem;
4208
+ line-height: 1;
4209
+ font-size: .75rem
4210
+ }
4211
+
4212
+ .tabs-title>a:hover {
4213
+ background: #fefefe
4214
+ }
4215
+
4216
+ .tabs-title>a:focus,.tabs-title>a[aria-selected=true] {
4217
+ background: #e6e6e6
4218
+ }
4219
+
4220
+ .tabs-content {
4221
+ background: #fefefe;
4222
+ transition: all .5s ease;
4223
+ border: 1px solid #e6e6e6;
4224
+ border-top: 0
4225
+ }
4226
+
4227
+ .tabs-content.vertical {
4228
+ border: 1px solid #e6e6e6;
4229
+ border-left: 0
4230
+ }
4231
+
4232
+ .tabs-panel {
4233
+ display: none;
4234
+ padding: 1rem
4235
+ }
4236
+
4237
+ .tabs-panel.is-active {
4238
+ display: block
4239
+ }
4240
+
4241
+ .thumbnail {
4242
+ border: 4px solid #fefefe;
4243
+ box-shadow: 0 0 0 1px hsla(0,0%,4%,.2);
4244
+ display: inline-block;
4245
+ line-height: 0;
4246
+ max-width: 100%;
4247
+ transition: box-shadow .2s ease-out;
4248
+ border-radius: 0;
4249
+ margin-bottom: 1rem
4250
+ }
4251
+
4252
+ .thumbnail:focus,.thumbnail:hover {
4253
+ box-shadow: 0 0 6px 1px rgba(33,153,232,.5)
4254
+ }
4255
+
4256
+ .title-bar {
4257
+ background: #0a0a0a;
4258
+ color: #fefefe;
4259
+ padding: .5rem
4260
+ }
4261
+
4262
+ .title-bar:after,.title-bar:before {
4263
+ content: ' ';
4264
+ display: table;
4265
+ -webkit-flex-basis: 0;
4266
+ -ms-flex-preferred-size: 0;
4267
+ flex-basis: 0;
4268
+ -webkit-order: 1;
4269
+ -ms-flex-order: 1;
4270
+ order: 1
4271
+ }
4272
+
4273
+ .title-bar:after {
4274
+ clear: both
4275
+ }
4276
+
4277
+ .title-bar .menu-icon {
4278
+ margin-left: .25rem;
4279
+ margin-right: .5rem
4280
+ }
4281
+
4282
+ .title-bar-left {
4283
+ float: left
4284
+ }
4285
+
4286
+ .title-bar-right {
4287
+ float: right;
4288
+ text-align: right
4289
+ }
4290
+
4291
+ .title-bar-title {
4292
+ font-weight: 700
4293
+ }
4294
+
4295
+ .menu-icon.dark,.title-bar-title {
4296
+ vertical-align: middle;
4297
+ display: inline-block
4298
+ }
4299
+
4300
+ .menu-icon.dark {
4301
+ position: relative;
4302
+ cursor: pointer;
4303
+ width: 20px;
4304
+ height: 16px
4305
+ }
4306
+
4307
+ .menu-icon.dark:after {
4308
+ content: '';
4309
+ position: absolute;
4310
+ display: block;
4311
+ width: 100%;
4312
+ height: 2px;
4313
+ background: #0a0a0a;
4314
+ top: 0;
4315
+ left: 0;
4316
+ box-shadow: 0 7px 0 #0a0a0a,0 14px 0 #0a0a0a
4317
+ }
4318
+
4319
+ .menu-icon.dark:hover:after {
4320
+ background: #8a8a8a;
4321
+ box-shadow: 0 7px 0 #8a8a8a,0 14px 0 #8a8a8a
4322
+ }
4323
+
4324
+ .has-tip {
4325
+ border-bottom: 1px dotted #8a8a8a;
4326
+ font-weight: 700;
4327
+ position: relative;
4328
+ display: inline-block;
4329
+ cursor: help
4330
+ }
4331
+
4332
+ .tooltip {
4333
+ background-color: #0a0a0a;
4334
+ color: #fefefe;
4335
+ font-size: 80%;
4336
+ padding: .75rem;
4337
+ position: absolute;
4338
+ z-index: 3;
4339
+ top: calc(100% + .6495rem);
4340
+ max-width: 10rem!important;
4341
+ border-radius: 0
4342
+ }
4343
+
4344
+ .tooltip:before {
4345
+ border-color: transparent transparent #0a0a0a;
4346
+ border-bottom-style: solid;
4347
+ border-top-width: 0;
4348
+ bottom: 100%;
4349
+ position: absolute;
4350
+ left: 50%;
4351
+ -webkit-transform: translateX(-50%);
4352
+ transform: translateX(-50%)
4353
+ }
4354
+
4355
+ .tooltip.top:before,.tooltip:before {
4356
+ content: '';
4357
+ display: block;
4358
+ width: 0;
4359
+ height: 0;
4360
+ border: .75rem inset
4361
+ }
4362
+
4363
+ .tooltip.top:before {
4364
+ border-color: #0a0a0a transparent transparent;
4365
+ border-top-style: solid;
4366
+ border-bottom-width: 0;
4367
+ top: 100%;
4368
+ bottom: auto
4369
+ }
4370
+
4371
+ .tooltip.left:before {
4372
+ border-color: transparent transparent transparent #0a0a0a;
4373
+ border-left-style: solid;
4374
+ border-right-width: 0;
4375
+ left: 100%
4376
+ }
4377
+
4378
+ .tooltip.left:before,.tooltip.right:before {
4379
+ content: '';
4380
+ display: block;
4381
+ width: 0;
4382
+ height: 0;
4383
+ border: .75rem inset;
4384
+ bottom: auto;
4385
+ top: 50%;
4386
+ -webkit-transform: translateY(-50%);
4387
+ transform: translateY(-50%)
4388
+ }
4389
+
4390
+ .tooltip.right:before {
4391
+ border-color: transparent #0a0a0a transparent transparent;
4392
+ border-right-style: solid;
4393
+ border-left-width: 0;
4394
+ left: auto;
4395
+ right: 100%
4396
+ }
4397
+
4398
+ .top-bar {
4399
+ padding: .5rem
4400
+ }
4401
+
4402
+ .top-bar:after,.top-bar:before {
4403
+ content: ' ';
4404
+ display: table;
4405
+ -webkit-flex-basis: 0;
4406
+ -ms-flex-preferred-size: 0;
4407
+ flex-basis: 0;
4408
+ -webkit-order: 1;
4409
+ -ms-flex-order: 1;
4410
+ order: 1
4411
+ }
4412
+
4413
+ .top-bar:after {
4414
+ clear: both
4415
+ }
4416
+
4417
+ .top-bar,.top-bar ul {
4418
+ background-color: #e6e6e6
4419
+ }
4420
+
4421
+ .top-bar input {
4422
+ width: 200px;
4423
+ margin-right: 1rem
4424
+ }
4425
+
4426
+ .top-bar .input-group-field {
4427
+ width: 100%;
4428
+ margin-right: 0
4429
+ }
4430
+
4431
+ .top-bar input.button {
4432
+ width: auto
4433
+ }
4434
+
4435
+ @media screen and (max-width: 39.9375em) {
4436
+ .stacked-for-small .top-bar-left,.stacked-for-small .top-bar-right {
4437
+ width:100%
4438
+ }
4439
+ }
4440
+
4441
+ @media screen and (max-width: 63.9375em) {
4442
+ .stacked-for-medium .top-bar-left,.stacked-for-medium .top-bar-right {
4443
+ width:100%
4444
+ }
4445
+ }
4446
+
4447
+ @media screen and (max-width: 74.9375em) {
4448
+ .stacked-for-large .top-bar-left,.stacked-for-large .top-bar-right {
4449
+ width:100%
4450
+ }
4451
+ }
4452
+
4453
+ .top-bar-left,.top-bar-right {
4454
+ width: 100%
4455
+ }
4456
+
4457
+ @media screen and (min-width: 40em) {
4458
+ .top-bar-left,.top-bar-right {
4459
+ width:auto
4460
+ }
4461
+ }
4462
+
4463
+ .top-bar-title {
4464
+ float: left;
4465
+ margin-right: 1rem
4466
+ }
4467
+
4468
+ .top-bar-left {
4469
+ float: left
4470
+ }
4471
+
4472
+ .top-bar-right {
4473
+ float: right
4474
+ }
4475
+
4476
+ .hide {
4477
+ display: none!important
4478
+ }
4479
+
4480
+ .invisible {
4481
+ visibility: hidden
4482
+ }
4483
+
4484
+ @media screen and (max-width: 39.9375em) {
4485
+ .hide-for-small-only {
4486
+ display:none!important
4487
+ }
4488
+ }
4489
+
4490
+ @media screen and (max-width: 0em),screen and (min-width:40em) {
4491
+ .show-for-small-only {
4492
+ display:none!important
4493
+ }
4494
+ }
4495
+
4496
+ @media screen and (min-width: 40em) {
4497
+ .hide-for-medium {
4498
+ display:none!important
4499
+ }
4500
+ }
4501
+
4502
+ @media screen and (max-width: 39.9375em) {
4503
+ .show-for-medium {
4504
+ display:none!important
4505
+ }
4506
+ }
4507
+
4508
+ @media screen and (min-width: 40em) and (max-width:63.9375em) {
4509
+ .hide-for-medium-only {
4510
+ display:none!important
4511
+ }
4512
+ }
4513
+
4514
+ @media screen and (max-width: 39.9375em),screen and (min-width:64em) {
4515
+ .show-for-medium-only {
4516
+ display:none!important
4517
+ }
4518
+ }
4519
+
4520
+ @media screen and (min-width: 64em) {
4521
+ .hide-for-large {
4522
+ display:none!important
4523
+ }
4524
+ }
4525
+
4526
+ @media screen and (max-width: 63.9375em) {
4527
+ .show-for-large {
4528
+ display:none!important
4529
+ }
4530
+ }
4531
+
4532
+ @media screen and (min-width: 64em) and (max-width:74.9375em) {
4533
+ .hide-for-large-only {
4534
+ display:none!important
4535
+ }
4536
+ }
4537
+
4538
+ @media screen and (max-width: 63.9375em),screen and (min-width:75em) {
4539
+ .show-for-large-only {
4540
+ display:none!important
4541
+ }
4542
+ }
4543
+
4544
+ .show-for-sr,.show-on-focus {
4545
+ position: absolute!important;
4546
+ width: 1px;
4547
+ height: 1px;
4548
+ overflow: hidden;
4549
+ clip: rect(0,0,0,0)
4550
+ }
4551
+
4552
+ .show-on-focus:active,.show-on-focus:focus {
4553
+ position: static!important;
4554
+ height: auto;
4555
+ width: auto;
4556
+ overflow: visible;
4557
+ clip: auto
4558
+ }
4559
+
4560
+ .hide-for-portrait,.show-for-landscape {
4561
+ display: block!important
4562
+ }
4563
+
4564
+ @media screen and (orientation: landscape) {
4565
+ .hide-for-portrait,.show-for-landscape {
4566
+ display:block!important
4567
+ }
4568
+ }
4569
+
4570
+ @media screen and (orientation: portrait) {
4571
+ .hide-for-portrait,.show-for-landscape {
4572
+ display:none!important
4573
+ }
4574
+ }
4575
+
4576
+ .hide-for-landscape,.show-for-portrait {
4577
+ display: none!important
4578
+ }
4579
+
4580
+ @media screen and (orientation: landscape) {
4581
+ .hide-for-landscape,.show-for-portrait {
4582
+ display:none!important
4583
+ }
4584
+ }
4585
+
4586
+ @media screen and (orientation: portrait) {
4587
+ .hide-for-landscape,.show-for-portrait {
4588
+ display:block!important
4589
+ }
4590
+ }
4591
+
4592
+ .float-left {
4593
+ float: left!important
4594
+ }
4595
+
4596
+ .float-right {
4597
+ float: right!important
4598
+ }
4599
+
4600
+ .float-center {
4601
+ display: block;
4602
+ margin-left: auto;
4603
+ margin-right: auto
4604
+ }
4605
+
4606
+ .clearfix:after,.clearfix:before {
4607
+ content: ' ';
4608
+ display: table;
4609
+ -webkit-flex-basis: 0;
4610
+ -ms-flex-preferred-size: 0;
4611
+ flex-basis: 0;
4612
+ -webkit-order: 1;
4613
+ -ms-flex-order: 1;
4614
+ order: 1
4615
+ }
4616
+
4617
+ .clearfix:after {
4618
+ clear: both
4619
+ }
4620
+ body {
4621
+ font-family: Arial, sans-serif;
4622
+ background-color: #f0f0f0;
4623
+ margin: 0;
4624
+ padding: 0;
4625
+ }
4626
+ .container {
4627
+ width: 80%;
4628
+ margin: 20px auto;
4629
+ background-color: #fff;
4630
+ padding: 20px;
4631
+ border-radius: 10px;
4632
+ box-shadow: 0 0 10px rgb(4, 233, 241);
4633
+ }
4634
+ h1 {
4635
+ text-align: center;
4636
+ }
4637
+ .input_widget,
4638
+ .code-output {
4639
+ width: 100%;
4640
+ height: 125px;
4641
+ border: 1px solid #ccc;
4642
+ border-radius: 5px;
4643
+ padding: 10px;
4644
+ box-sizing: border-box;
4645
+ margin-bottom: 10px;
4646
+ font-family: monospace;
4647
+ }
4648
+ .btn-run {
4649
+ display: block;
4650
+ width: 100%;
4651
+ padding: 10px;
4652
+ margin-top: 10px;
4653
+ border: none;
4654
+ background-color: #007bff;
4655
+ color: #fff;
4656
+ cursor: pointer;
4657
+ border-radius: 5px;
4658
+ transition: background-color 0.3s ease;
4659
+ }
4660
+ .btn-run:hover {
4661
+ background-color: #0056b3;
4662
+ }
4663
+ </style>
model/config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "BAAI/bge-large-en-v1.5",
3
+ "architectures": [
4
+ "BertModel"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "classifier_dropout": null,
8
+ "gradient_checkpointing": false,
9
+ "hidden_act": "gelu",
10
+ "hidden_dropout_prob": 0.1,
11
+ "hidden_size": 1024,
12
+ "id2label": {
13
+ "0": "LABEL_0"
14
+ },
15
+ "initializer_range": 0.02,
16
+ "intermediate_size": 4096,
17
+ "label2id": {
18
+ "LABEL_0": 0
19
+ },
20
+ "layer_norm_eps": 1e-12,
21
+ "max_position_embeddings": 512,
22
+ "model_type": "bert",
23
+ "num_attention_heads": 16,
24
+ "num_hidden_layers": 24,
25
+ "pad_token_id": 0,
26
+ "position_embedding_type": "absolute",
27
+ "torch_dtype": "float32",
28
+ "transformers_version": "4.46.2",
29
+ "type_vocab_size": 2,
30
+ "use_cache": true,
31
+ "vocab_size": 30522
32
+ }
model/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8a91d2ecbd94ef8de116bb9996a6611661e573d1a2427bbfc0603174ee75fa12
3
+ size 1340612432
model/special_tokens_map.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": {
3
+ "content": "[CLS]",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "mask_token": {
10
+ "content": "[MASK]",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "[PAD]",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "sep_token": {
24
+ "content": "[SEP]",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "unk_token": {
31
+ "content": "[UNK]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ }
37
+ }
model/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
model/tokenizer_config.json ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "[PAD]",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "100": {
12
+ "content": "[UNK]",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "101": {
20
+ "content": "[CLS]",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "102": {
28
+ "content": "[SEP]",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "103": {
36
+ "content": "[MASK]",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ }
43
+ },
44
+ "clean_up_tokenization_spaces": true,
45
+ "cls_token": "[CLS]",
46
+ "do_basic_tokenize": true,
47
+ "do_lower_case": true,
48
+ "mask_token": "[MASK]",
49
+ "model_max_length": 512,
50
+ "never_split": null,
51
+ "pad_token": "[PAD]",
52
+ "sep_token": "[SEP]",
53
+ "strip_accents": null,
54
+ "tokenize_chinese_chars": true,
55
+ "tokenizer_class": "BertTokenizer",
56
+ "unk_token": "[UNK]"
57
+ }
model/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
prompt.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Task Overview: Create a podcast script featuring a conversation between a spiritual teacher and a student. The discussion should focus on a provided question and derive answers from specified book pages, emphasizing Jain philosophy and Indian spiritual traditions.
2
+
3
+ Instructions:
4
+ Question and Answers: Present the question in English, followed by derived answers in English.
5
+ Format: Structure the dialogue in JSON format.
6
+ Length: Aim for a 4-minute segment.
7
+ Conditional Output: Generate output when provided with a question in quotes; otherwise, return null.
8
+ Language: Conduct the podcast in Hindi.
9
+ Input Format:
10
+
11
+ Question: {question in English}
12
+ Reference book page content: {reference page content in English}
13
+
14
+ Output Format:
15
+ [
16
+ {
17
+ "वक्ता": "अध्यापक",
18
+ "वाक्य": "sentence in Hindi"
19
+ },
20
+ {
21
+ "वक्ता": "विद्यार्थी",
22
+ "वाक्य": "sentence in Hindi"
23
+ }
24
+ ]
requirements.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ llama-index
2
+ Flask-Caching
3
+ flask
4
+ pydub
5
+ edge_tts
6
+ requests
7
+ chromadb==0.5.16
8
+ llama-index-vector-stores-chroma
9
+ llama-index-embeddings-huggingface
10
+ g4f[all]
11
+ gunicorn
12
+ Flask-MonitoringDashboard