├── static
├── bg.jpg
├── dots.png
├── skills_bg.jpg
├── counterup.min.js
├── move-top.js
├── icons.svg
├── demo1-search.js
├── owl.carousel.css
├── owl.theme.css
├── classie-search.js
├── minimal-slider.js
├── style6.css
├── easing.js
├── waypoints.min.js
├── swipebox.css
├── minimal-slider.css
├── jquery.swipebox.min.js
├── modernizr-2.6.2.min.js
├── SmoothScroll.min.js
├── style.css
└── fontawesome-all.css
├── webfonts
├── fa-brands-400.eot
├── fa-brands-400.ttf
├── fa-solid-900.eot
├── fa-solid-900.ttf
├── fa-solid-900.woff
├── fa-brands-400.woff
├── fa-brands-400.woff2
├── fa-regular-400.eot
├── fa-regular-400.ttf
├── fa-regular-400.woff
├── fa-solid-900.woff2
└── fa-regular-400.woff2
├── bot_config.json
├── Pipfile
├── LICENSE
├── README.md
├── .gitignore
├── web_app.py
├── work_webchat_robot.py
└── templates
└── index.html
/static/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/static/bg.jpg
--------------------------------------------------------------------------------
/static/dots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/static/dots.png
--------------------------------------------------------------------------------
/static/skills_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/static/skills_bg.jpg
--------------------------------------------------------------------------------
/webfonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/webfonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/webfonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/webfonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/webfonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/webfonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crisschan/work_wechat_bot/HEAD/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/bot_config.json:
--------------------------------------------------------------------------------
1 | [{"botname":"bot","webhook":"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b425177c-3eee-48c4-82a0-"}]
--------------------------------------------------------------------------------
/Pipfile:
--------------------------------------------------------------------------------
1 | [[source]]
2 | name = "pypi"
3 | url = "https://pypi.org/simple"
4 | verify_ssl = true
5 |
6 | [dev-packages]
7 |
8 | [packages]
9 |
10 | [requires]
11 | python_version = "3.7"
12 |
--------------------------------------------------------------------------------
/static/counterup.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jquery.counterup.js 1.0
3 | *
4 | * Copyright 2013, Benjamin Intal http://gambit.ph @bfintal
5 | * Released under the GPL v2 License
6 | *
7 | * Date: Nov 26, 2013
8 | */(function(e){"use strict";e.fn.counterUp=function(t){var n=e.extend({time:400,delay:10},t);return this.each(function(){var t=e(this),r=n,i=function(){var e=[],n=r.time/r.delay,i=t.text(),s=/[0-9]+,[0-9]+/.test(i);i=i.replace(/,/g,"");var o=/^[0-9]+$/.test(i),u=/^[0-9]+\.[0-9]+$/.test(i),a=u?(i.split(".")[1]||[]).length:0;for(var f=n;f>=1;f--){var l=parseInt(i/n*f);u&&(l=parseFloat(i/n*f).toFixed(a));if(s)while(/(\d+)(\d{3})/.test(l.toString()))l=l.toString().replace(/(\d+)(\d{3})/,"$1,$2");e.unshift(l)}t.data("counterup-nums",e);t.text("0");var c=function(){t.text(t.data("counterup-nums").shift());if(t.data("counterup-nums").length)setTimeout(t.data("counterup-func"),r.delay);else{delete t.data("counterup-nums");t.data("counterup-nums",null);t.data("counterup-func",null)}};t.data("counterup-func",c);setTimeout(t.data("counterup-func"),r.delay)};t.waypoint(i,{offset:"100%",triggerOnce:!0})})}})(jQuery);
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 crisschan
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 企业微信群机器人消息发送和管理
2 |
3 | ## 使用方法
4 |
5 | 在bot_config配置机器人的回调地址和机器人别名,运行web_app后,会在8080启动服务,访问127.0.0.1:8080就可以访问了
6 | 其中机器人的配置如下:
7 |
8 | [{"botname":"bot","webhook":"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b425177c-3eee-48c4-82a0-"}]
9 |
10 | ## 简介
11 |
12 | 基于flask做了web的封装,可以发送文本、markdown、微信文章类型的消息,提供了ui的发送消息的方式,同时也提供了接口访问。
13 |
14 | 
15 | 
16 | ## 接口说明
17 |
18 | {
19 | "articletype":"文章类型,可以指定text、markdown和news,必须小写其中text是文本类型消息、markdown是markdown类型消息,news是微信文章",
20 | "phone":"要@的人通过电话标记,如果没有需要传入@all参数",
21 | "robot":"webhook的回调地址",
22 | "detail":"文章的详细信息"
23 | }
24 |
25 | 其中,robot的webhook要现在企业微信里面建立一个群,然后点击右上角的图标后,点击群机器人,添加完成后,可以看到一个webook地址,这个参数就是这个地址。
26 | detail:如果articletype是text,这里面就是string;如果articletype,那么这里就要写markdown文本;如果articletype是news,那么detail要遵循如下格式:
27 |
28 | {
29 | "title" : "测者陈磊",
30 | "description" : "测者陈磊的blog",
31 | "url" : "https://blog.csdn.net/crisschan/article/details/100922668",
32 | "picurl" : "https://i.loli.net/2019/09/17/4wPgvOm72Q9zT8K.png"
33 | }
--------------------------------------------------------------------------------
/static/move-top.js:
--------------------------------------------------------------------------------
1 | /* UItoTop jQuery Plugin 1.2 | Matt Varone | http://www.mattvarone.com/web-design/uitotop-jquery-plugin */
2 | (function($){$.fn.UItoTop=function(options){var defaults={text:'To Top',min:200,inDelay:600,outDelay:400,containerID:'toTop',containerHoverID:'toTopHover',scrollSpeed:1000,easingType:'linear'},settings=$.extend(defaults,options),containerIDhash='#'+settings.containerID,containerHoverIDHash='#'+settings.containerHoverID;$('body').append(''+settings.text+'');$(containerIDhash).hide().on('click.UItoTop',function(){$('html, body').animate({scrollTop:0},settings.scrollSpeed,settings.easingType);$('#'+settings.containerHoverID,this).stop().animate({'opacity':0},settings.inDelay,settings.easingType);return false;}).prepend('').hover(function(){$(containerHoverIDHash,this).stop().animate({'opacity':1},600,'linear');},function(){$(containerHoverIDHash,this).stop().animate({'opacity':0},700,'linear');});$(window).scroll(function(){var sd=$(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$(containerIDhash).css({'position':'absolute','top':sd+$(window).height()-50});}
3 | if(sd>settings.min)
4 | $(containerIDhash).fadeIn(settings.inDelay);else
5 | $(containerIDhash).fadeOut(settings.Outdelay);});};})(jQuery);
--------------------------------------------------------------------------------
/static/icons.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/demo1-search.js:
--------------------------------------------------------------------------------
1 | (function() {
2 | var triggerBttn = document.getElementById( 'trigger-overlay' ),
3 | overlay = document.querySelector( 'div.overlay' ),
4 | closeBttn = overlay.querySelector( 'button.overlay-close' );
5 | transEndEventNames = {
6 | 'WebkitTransition': 'webkitTransitionEnd',
7 | 'MozTransition': 'transitionend',
8 | 'OTransition': 'oTransitionEnd',
9 | 'msTransition': 'MSTransitionEnd',
10 | 'transition': 'transitionend'
11 | },
12 | transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ],
13 | support = { transitions : Modernizr.csstransitions };
14 |
15 | function toggleOverlay() {
16 | if( classie.has( overlay, 'open' ) ) {
17 | classie.remove( overlay, 'open' );
18 | classie.add( overlay, 'close' );
19 | var onEndTransitionFn = function( ev ) {
20 | if( support.transitions ) {
21 | if( ev.propertyName !== 'visibility' ) return;
22 | this.removeEventListener( transEndEventName, onEndTransitionFn );
23 | }
24 | classie.remove( overlay, 'close' );
25 | };
26 | if( support.transitions ) {
27 | overlay.addEventListener( transEndEventName, onEndTransitionFn );
28 | }
29 | else {
30 | onEndTransitionFn();
31 | }
32 | }
33 | else if( !classie.has( overlay, 'close' ) ) {
34 | classie.add( overlay, 'open' );
35 | }
36 | }
37 |
38 | triggerBttn.addEventListener( 'click', toggleOverlay );
39 | closeBttn.addEventListener( 'click', toggleOverlay );
40 | })();
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | *.egg-info/
24 | .installed.cfg
25 | *.egg
26 | MANIFEST
27 |
28 | # PyInstaller
29 | # Usually these files are written by a python script from a template
30 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
31 | *.manifest
32 | *.spec
33 |
34 | # Installer logs
35 | pip-log.txt
36 | pip-delete-this-directory.txt
37 |
38 | # Unit test / coverage reports
39 | htmlcov/
40 | .tox/
41 | .coverage
42 | .coverage.*
43 | .cache
44 | nosetests.xml
45 | coverage.xml
46 | *.cover
47 | .hypothesis/
48 | .pytest_cache/
49 |
50 | # Translations
51 | *.mo
52 | *.pot
53 |
54 | # Django stuff:
55 | *.log
56 | local_settings.py
57 | db.sqlite3
58 |
59 | # Flask stuff:
60 | instance/
61 | .webassets-cache
62 |
63 | # Scrapy stuff:
64 | .scrapy
65 |
66 | # Sphinx documentation
67 | docs/_build/
68 |
69 | # PyBuilder
70 | target/
71 |
72 | # Jupyter Notebook
73 | .ipynb_checkpoints
74 |
75 | # pyenv
76 | .python-version
77 |
78 | # celery beat schedule file
79 | celerybeat-schedule
80 |
81 | # SageMath parsed files
82 | *.sage.py
83 |
84 | # Environments
85 | .env
86 | .venv
87 | env/
88 | venv/
89 | ENV/
90 | env.bak/
91 | venv.bak/
92 |
93 | # Spyder project settings
94 | .spyderproject
95 | .spyproject
96 |
97 | # Rope project settings
98 | .ropeproject
99 |
100 | # mkdocs documentation
101 | /site
102 |
103 | # mypy
104 | .mypy_cache/
105 |
--------------------------------------------------------------------------------
/static/owl.carousel.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Core Owl Carousel CSS File
3 | * v1.3.3
4 | */
5 |
6 | /* clearfix */
7 | .owl-carousel .owl-wrapper:after {
8 | content: ".";
9 | display: block;
10 | clear: both;
11 | visibility: hidden;
12 | line-height: 0;
13 | height: 0;
14 | }
15 | /* display none until init */
16 | .owl-carousel{
17 | display: none;
18 | position: relative;
19 | width: 100%;
20 | -ms-touch-action: pan-y;
21 | }
22 | .owl-carousel .owl-wrapper{
23 | display: none;
24 | position: relative;
25 | -webkit-transform: translate3d(0px, 0px, 0px);
26 | }
27 | .owl-carousel .owl-wrapper-outer{
28 | overflow: hidden;
29 | position: relative;
30 | width: 100%;
31 | }
32 | .owl-carousel .owl-wrapper-outer.autoHeight{
33 | -webkit-transition: height 500ms ease-in-out;
34 | -moz-transition: height 500ms ease-in-out;
35 | -ms-transition: height 500ms ease-in-out;
36 | -o-transition: height 500ms ease-in-out;
37 | transition: height 500ms ease-in-out;
38 | }
39 |
40 | .owl-carousel .owl-item{
41 | float: left;
42 | }
43 | .owl-controls .owl-page,
44 | .owl-controls .owl-buttons div{
45 | cursor: pointer;
46 | }
47 | .owl-controls {
48 | -webkit-user-select: none;
49 | -khtml-user-select: none;
50 | -moz-user-select: none;
51 | -ms-user-select: none;
52 | user-select: none;
53 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
54 | }
55 |
56 | /* mouse grab icon */
57 | .grabbing {
58 | cursor:url(grabbing.png) 8 8, move;
59 | }
60 |
61 | /* fix */
62 | .owl-carousel .owl-wrapper,
63 | .owl-carousel .owl-item{
64 | -webkit-backface-visibility: hidden;
65 | -moz-backface-visibility: hidden;
66 | -ms-backface-visibility: hidden;
67 | -webkit-transform: translate3d(0,0,0);
68 | -moz-transform: translate3d(0,0,0);
69 | -ms-transform: translate3d(0,0,0);
70 | }
71 |
72 |
--------------------------------------------------------------------------------
/static/owl.theme.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Owl Carousel Owl Demo Theme
3 | * v1.3.3
4 | */
5 |
6 | .owl-theme .owl-controls{
7 | margin-top: 20px;
8 | text-align: center;
9 | }
10 |
11 | /* Styling Next and Prev buttons */
12 |
13 | .owl-theme .owl-controls .owl-buttons div{
14 | color: #FFF;
15 | display: inline-block;
16 | zoom: 1;
17 | *display: inline;/*IE7 life-saver */
18 | margin: 5px;
19 | padding: 3px 10px;
20 | font-size: 12px;
21 | -webkit-border-radius: 30px;
22 | -moz-border-radius: 30px;
23 | border-radius: 30px;
24 | background: #869791;
25 | filter: Alpha(Opacity=50);/*IE7 fix*/
26 | opacity: 0.5;
27 | }
28 | /* Clickable class fix problem with hover on touch devices */
29 | /* Use it for non-touch hover action */
30 | .owl-theme .owl-controls.clickable .owl-buttons div:hover{
31 | filter: Alpha(Opacity=100);/*IE7 fix*/
32 | opacity: 1;
33 | text-decoration: none;
34 | }
35 |
36 | /* Styling Pagination*/
37 |
38 | .owl-theme .owl-controls .owl-page{
39 | display: inline-block;
40 | zoom: 1;
41 | *display: inline;/*IE7 life-saver */
42 | }
43 | .owl-theme .owl-controls .owl-page span{
44 | display: block;
45 | width: 11px;
46 | height: 11px;
47 | margin: 5px 3px;
48 | filter: Alpha(Opacity=50);
49 | opacity: 0.5;
50 | -webkit-border-radius: 20px;
51 | -moz-border-radius: 20px;
52 | border-radius: 20px;
53 | background:#333;
54 | }
55 |
56 | .owl-theme .owl-controls .owl-page.active span,
57 | .owl-theme .owl-controls.clickable .owl-page:hover span{
58 | filter: Alpha(Opacity=100);/*IE7 fix*/
59 | opacity: 1;
60 | }
61 |
62 | /* If PaginationNumbers is true */
63 |
64 | .owl-theme .owl-controls .owl-page span.owl-numbers{
65 | height: auto;
66 | width: auto;
67 | color: #FFF;
68 | padding: 2px 10px;
69 | font-size: 12px;
70 | -webkit-border-radius: 30px;
71 | -moz-border-radius: 30px;
72 | border-radius: 30px;
73 | }
74 |
75 | /* preloading images */
76 | .owl-item.loading{
77 | min-height: 150px;
78 | background: url(AjaxLoader.gif) no-repeat center center
79 | }
--------------------------------------------------------------------------------
/web_app.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 | # @Time : 2019/11/1 3:54 PM
4 | # @Author : Criss Chan
5 | # @Site : https://blog.csdn.net/crisschan
6 | # @File : web_app.py.py
7 | # @Software: PyCharm
8 | # @instruction:
9 |
10 | from flask import Flask, render_template, request, abort, jsonify
11 | from work_webchat_robot import workWechat, MSGTYPE
12 | import json
13 |
14 | app = Flask(__name__)
15 |
16 |
17 | @app.route('/', methods=['GET', 'POST'])
18 | def index():
19 | rfjson = open('bot_config.json', 'r')
20 |
21 | bots = json.loads(rfjson.readline())
22 | if request.method == 'GET':
23 |
24 | # print(bots)
25 | return render_template('index.html', bots=bots)
26 | elif request.method == 'POST':
27 | article_type = request.form['articletype']
28 | phone = request.form['phone']
29 | robot = request.form['robot']
30 | detail = request.form['detail']
31 |
32 | wwc = workWechat(str(robot),
33 | MSGTYPE(article_type.lower()),
34 | str(detail),
35 | mentioned_mobile_list=str(phone))
36 | return render_template('index.html', bots=bots)
37 |
38 |
39 | @app.route('/webotapi/', methods=['POST'])
40 | def webotapi():
41 | if not request.json or 'articletype' not in request.json or 'phone' not in request.json or 'robot' not in request.json or 'detail' not in request.json:
42 | return jsonify({'code': '9999', 'mesg': 'faile parms'})
43 | else:
44 |
45 | article_type = request.args['articletype']
46 | phone = request.args['phone']
47 | robot = request.args['robot']
48 | detail = request.args['detail']
49 |
50 | wwc = workWechat(str(robot),
51 | MSGTYPE(article_type.lower()),
52 | str(detail),
53 | mentioned_mobile_list=str(phone))
54 | return jsonify({'code': '0000', 'mesg': 'sucess'})
55 |
56 |
57 | if __name__ == "__main__":
58 | app.run(debug=True, port=8080)
59 |
--------------------------------------------------------------------------------
/static/classie-search.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * classie - class helper functions
3 | * from bonzo https://github.com/ded/bonzo
4 | *
5 | * classie.has( elem, 'my-class' ) -> true/false
6 | * classie.add( elem, 'my-new-class' )
7 | * classie.remove( elem, 'my-unwanted-class' )
8 | * classie.toggle( elem, 'my-class' )
9 | */
10 |
11 | /*jshint browser: true, strict: true, undef: true */
12 | /*global define: false */
13 |
14 | (function (window) {
15 |
16 | 'use strict';
17 |
18 | // class helper functions from bonzo https://github.com/ded/bonzo
19 |
20 | function classReg(className) {
21 | return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
22 | }
23 |
24 | // classList support for class management
25 | // altho to be fair, the api sucks because it won't accept multiple classes at once
26 | var hasClass, addClass, removeClass;
27 |
28 | if ('classList' in document.documentElement) {
29 | hasClass = function (elem, c) {
30 | return elem.classList.contains(c);
31 | };
32 | addClass = function (elem, c) {
33 | elem.classList.add(c);
34 | };
35 | removeClass = function (elem, c) {
36 | elem.classList.remove(c);
37 | };
38 | } else {
39 | hasClass = function (elem, c) {
40 | return classReg(c).test(elem.className);
41 | };
42 | addClass = function (elem, c) {
43 | if (!hasClass(elem, c)) {
44 | elem.className = elem.className + ' ' + c;
45 | }
46 | };
47 | removeClass = function (elem, c) {
48 | elem.className = elem.className.replace(classReg(c), ' ');
49 | };
50 | }
51 |
52 | function toggleClass(elem, c) {
53 | var fn = hasClass(elem, c) ? removeClass : addClass;
54 | fn(elem, c);
55 | }
56 |
57 | var classie = {
58 | // full names
59 | hasClass: hasClass,
60 | addClass: addClass,
61 | removeClass: removeClass,
62 | toggleClass: toggleClass,
63 | // short names
64 | has: hasClass,
65 | add: addClass,
66 | remove: removeClass,
67 | toggle: toggleClass
68 | };
69 |
70 | // transport
71 | if (typeof define === 'function' && define.amd) {
72 | // AMD
73 | define(classie);
74 | } else {
75 | // browser global
76 | window.classie = classie;
77 | }
78 |
79 | })(window);
80 |
--------------------------------------------------------------------------------
/work_webchat_robot.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 | # @Time : 2019/9/18 2:35 PM
4 | # @Author : Criss Chan
5 | # @Site : https://blog.csdn.net/crisschan
6 | # @File : work_webchat.py
7 | # @Software: PyCharm
8 | # @instruction:使用企业微信的机器人群发消息,在企业微信群里面,选择添加一个机器人,然后复制对应的webhook地址
9 | # 每个机器人发送的消息不能超过20条/分钟。
10 |
11 | from enum import Enum
12 | import requests
13 | import json
14 |
15 | class MSGTYPE(Enum):
16 | TEXT = 'text' # 文本类型。对应消息的限制:文本内容,最长不超过2048个字节,必须是utf8编码
17 | MARKDOWN = 'markdown' # markdown类型,对应消息内容限制:markdown内容,最长不超过4096个字节,必须是utf8编码
18 | NEWS = 'news' # 图文消息,限制:图文消息,一个图文消息支持1到8条图文
19 | # title 是标题,不超过128个字节,超过会自动截断
20 | # description,描述不超过512个字节,超过会自动截断
21 | # url,点击后跳转的链接。
22 | # picurl图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068*455,小图150*150。
23 |
24 |
25 | class workWechat(object):
26 |
27 | def __init__(self, webhook, msgtype, dictdetail, mentioned_mobile_list=''):
28 | '''
29 |
30 | :param webhook: 机器人的webhook地址
31 | :param msgtype: 消息类型,具体参见MSGTYPE枚举类型
32 | :param dictdetail: 消息主体内容
33 | :param mentioned_mobile_list: 手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人(该参数只在消息类型为text的时候有效
34 | '''
35 | self.webhook = webhook
36 | self.msgtype = msgtype
37 | self.mentioned_mobile_list = mentioned_mobile_list
38 |
39 | self.detail = dictdetail
40 |
41 | self._send_msg()
42 |
43 | def _send_msg(self):
44 | headers = {'Content-Type': 'application/json'}
45 | payload = self._payload()
46 |
47 | res = requests.post(self.webhook, data=payload.encode('utf-8'), headers=headers)
48 |
49 | if json.loads(res.text)['errmsg']=='ok':
50 | print('scuccess')
51 | else:
52 | print('faile')
53 |
54 | def _payload(self):
55 | payload = ''
56 |
57 | mentioned_mobile = self.mentioned_mobile_list
58 |
59 | mentioned_mobile = '"mentioned_mobile_list":["' + mentioned_mobile + '"],'
60 |
61 |
62 | if self.msgtype is MSGTYPE.NEWS:
63 | payload = '{"msgtype": "' + self.msgtype.value + '","' + self.msgtype.value + '": { ' + mentioned_mobile + ' "articles" : [' + self.detail + ']}}'
64 | elif self.msgtype is MSGTYPE.MARKDOWN:
65 | payload = '{"msgtype": "' + self.msgtype.value + '","' + self.msgtype.value + '": { ' + mentioned_mobile + '"content":"' + self.detail + '"}}'
66 | elif self.msgtype is MSGTYPE.TEXT:
67 | payload = '{"msgtype": "' + self.msgtype.value + '","' + self.msgtype.value + '": { ' + mentioned_mobile + '"content":"' + self.detail + '"}}'
68 | else:
69 | payload = ''
70 |
71 | return payload
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/static/minimal-slider.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function(){
2 | if ($('.slide-window')) {
3 |
4 | var slideNum = $('.slide').length - 1
5 | var maxSlideNum = $('.slide').length - 1
6 | var slideWidth = $('.slide-window').outerWidth()
7 | var slideSetWidth = slideWidth * slideNum
8 | var controlSlideBtnLeft = '.slide-control-left'
9 | var controlSlideBtnRight = '.slide-control-right'
10 | var controlSlideBtnList = '.slide-control-btn ul li a'
11 |
12 | addSlideCtlBtn()
13 |
14 | var slideCurrent = 0
15 | var slideActiveBtn = 0
16 | var rotationInterval = setInterval(function(){
17 | slideCurrent++
18 | if (slideCurrent > maxSlideNum) {
19 | slideCurrent = 0
20 | }
21 | activation()
22 | sliding()
23 | }, 10000)
24 |
25 | $(controlSlideBtnLeft).on('click', function(){
26 | resetInterval()
27 | slideCurrent--
28 | if (slideCurrent < 0) {
29 | slideCurrent = maxSlideNum
30 | }
31 | activation()
32 | rotateArrow('left')
33 | sliding()
34 | })
35 | $(controlSlideBtnRight).on('click', function(){
36 | resetInterval()
37 | slideCurrent++
38 | if (slideCurrent > maxSlideNum) {
39 | slideCurrent = 0
40 | }
41 | activation()
42 | rotateArrow('right')
43 | sliding()
44 | })
45 | $(controlSlideBtnList).on('click', function(){
46 | resetInterval()
47 | slideCurrent = $(controlSlideBtnList).index(this)
48 | activation()
49 | sliding()
50 | })
51 |
52 | function addSlideCtlBtn() {
53 | var slideCtlBtn = '
'
54 | for (var i = 0; i <= maxSlideNum; i++) {
55 | if (i==0) {
56 | slideCtlBtn += ' '
57 | }
58 | else {
59 | slideCtlBtn += ' '
60 | }
61 | }
62 | slideCtlBtn += '
'
63 | $('.slide-controller').append(slideCtlBtn)
64 | }
65 | function resetInterval() {
66 | clearInterval(rotationInterval)
67 | rotationInterval = setInterval(function(){
68 | slideCurrent++
69 | if (slideCurrent > maxSlideNum) {
70 | slideCurrent = 0
71 | }
72 | activation()
73 | sliding()
74 | }, 10000)
75 | }
76 | function activation() {
77 | slideActiveBtn = slideCurrent + 1
78 | $( controlSlideBtnList + '.active' ).removeClass()
79 | $('.slide-control-btn ul li:nth-child(' + slideActiveBtn + ') a').addClass('active')
80 | }
81 | function rotateArrow(direction) {
82 | var slideCtlLine1 = '.slide-control-' + direction + ' .slide-control-line:nth-child(1)'
83 | var slideCtlLine2 = '.slide-control-' + direction + ' .slide-control-line:nth-child(2)'
84 | $(slideCtlLine1).removeClass('rotate-' + direction + '-top')
85 | $(slideCtlLine2).removeClass('rotate-' + direction + '-down')
86 | $(slideCtlLine1).outerWidth()
87 | $(slideCtlLine2).outerWidth()
88 | $(slideCtlLine1).addClass('rotate-' + direction + '-top')
89 | $(slideCtlLine2).addClass('rotate-' + direction + '-down')
90 | }
91 | function sliding() {
92 | $('.slide-wrapper').css('left', slideCurrent * -slideWidth)
93 | }
94 | }
95 | })
96 |
--------------------------------------------------------------------------------
/static/style6.css:
--------------------------------------------------------------------------------
1 | .btn_login{
2 | background-color:transparent;
3 | border-style:none;
4 | }
5 | .mobile-nav-button {
6 | position: absolute;
7 | right:55px;
8 | top: 0px;
9 | z-index: 9;
10 | }
11 | /* Overlay style */
12 | .overlay {
13 | position: fixed;
14 | width: 100%;
15 | height: 100%;
16 | top: 0;
17 | left: 0;
18 | background: rgba(12, 12, 12, 0.98);
19 | z-index: 99;
20 | }
21 |
22 | /* Overlay closing cross */
23 | .overlay .overlay-close {
24 | width: 40px;
25 | height: 40px;
26 | position: absolute;
27 | right: 50px;
28 | top: 50px;
29 | overflow: hidden;
30 | background: none;
31 | color: #fff;
32 | border: 2px solid #7a7f7f;
33 | cursor: pointer;
34 | }
35 |
36 | /* Menu style */
37 | .overlay form {
38 | text-align: center;
39 | position: relative;
40 | top: 50%;
41 | height:auto;
42 | -webkit-transform: translateY(-50%);
43 | transform: translateY(-50%);
44 | }
45 | button#trigger-overlay {
46 | outline: none;
47 | border: none;
48 | background: none;
49 | text-align: center;
50 | color: #ffffff;
51 | font-size: 1.2em;
52 | cursor: pointer;
53 | }
54 |
55 | .search form input[type="search"] {
56 | width: 100%;
57 | padding: 1em 1.5em;
58 | font-size: 17px;
59 | color: #fff;
60 | outline: none;
61 | background: none;
62 | -webkit-appearance: none;
63 | border: 2px solid #fff;
64 | -webkit-appearance: none;
65 | letter-spacing: 4px;
66 | border-radius:0;
67 | }
68 | .search button.btn.btn-primary.submit{
69 | color: #fff;
70 | font-size: 15px;
71 | font-weight: 600;
72 | text-transform: uppercase;
73 | outline: none;
74 | letter-spacing: 2px;
75 | padding: 0.9em 3em;
76 | border: none;
77 | cursor: pointer;
78 | transition: 0.5s all;
79 | -webkit-transition: 0.5s all;
80 | -moz-transition: 0.5s all;
81 | -webkit-appearance: none;
82 | background: #4c6ef5;
83 | border-radius:0;
84 | }
85 | /* Menu style *
86 | .overlay ul {
87 | list-style: none;
88 | padding: 0;
89 | margin: 0 auto;
90 | display: inline-block;
91 | height: 100%;
92 | position: relative;
93 | }
94 |
95 | .overlay ul li {
96 | display: block;
97 | height: 20%;
98 | height: calc(100% / 5);
99 | min-height: 54px;
100 | -webkit-backface-visibility: hidden;
101 | backface-visibility: hidden;
102 | }
103 |
104 | .overlay ul li a {
105 | font-size: 54px;
106 | font-weight: 300;
107 | display: block;
108 | color: #fff;
109 | -webkit-transition: color 0.2s;
110 | transition: color 0.2s;
111 | }
112 |
113 | .overlay ul li a:hover,
114 | .overlay ul li a:focus {
115 | color: #f0f0f0;
116 | }
117 |
118 | /* Effects */
119 | .overlay-door {
120 | visibility: hidden;
121 | width: 0;
122 | left:49.99%;
123 | -webkit-transform: translateX(-50%);
124 | transform: translateX(-50%);
125 | -webkit-transition: width 0.5s 0.3s, visibility 0s 0.8s;
126 | transition: width 0.5s 0.3s, visibility 0s 0.8s;
127 | }
128 |
129 | .overlay-door.open {
130 | visibility: visible;
131 | width: 100%;
132 | -webkit-transition: width 0.5s;
133 | transition: width 0.5s;
134 | }
135 |
136 | .overlay-door form {
137 | position: absolute;
138 | left: 50%;
139 | -webkit-transform: translateY(-50%) translateX(-50%);
140 | transform: translateY(-50%) translateX(-50%);
141 | width: 45%;
142 | }
143 |
144 | .overlay-door form,
145 | .overlay-door .overlay-close {
146 | opacity: 0;
147 | -webkit-transition: opacity 0.3s 0.5s;
148 | transition: opacity 0.3s 0.5s;
149 | }
150 |
151 | .overlay-door.open form,
152 | .overlay-door.open .overlay-close {
153 | opacity: 1;
154 | -webkit-transition-delay: 0.5s;
155 | transition-delay: 0.5s;
156 | }
157 |
158 | .overlay-door.close form,
159 | .overlay-door.close .overlay-close {
160 | -webkit-transition-delay: 0s;
161 | transition-delay: 0s;
162 | }
163 |
164 | @media screen and (max-height: 30.5em) {
165 | .overlay form {
166 | font-size: 34px;
167 | }
168 | .overlay ul li {
169 | min-height: 34px;
170 | }
171 | }
172 | @media(max-width:767px) {
173 |
174 | }
175 | @media(max-width:600px) {
176 | .overlay-door form {
177 | width: 90%;
178 | }
179 | .search button.btn.btn-primary.submit {
180 | letter-spacing: 2px;
181 | padding: 0.9em 2em;
182 | }
183 | }
184 | @media(max-width:384px) {
185 | .overlay-door form {
186 | width: 90%;
187 | }
188 | .search button.btn.btn-primary.submit {
189 | letter-spacing: 2px;
190 | padding: 0.9em 2em;
191 | }
192 | }
193 | @media(max-width:375px) {
194 |
195 | }
--------------------------------------------------------------------------------
/static/easing.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery EasIng v1.1.2 - http://gsgd.co.uk/sandbox/jquery.easIng.php
3 | *
4 | * Uses the built In easIng capabilities added In jQuery 1.1
5 | * to offer multiple easIng options
6 | *
7 | * Copyright (c) 2007 George Smith
8 | * Licensed under the MIT License:
9 | * http://www.opensource.org/licenses/mit-license.php
10 | */
11 |
12 | // t: current time, b: begInnIng value, c: change In value, d: duration
13 |
14 | jQuery.extend( jQuery.easing,
15 | {
16 | easeInQuad: function (x, t, b, c, d) {
17 | return c*(t/=d)*t + b;
18 | },
19 | easeOutQuad: function (x, t, b, c, d) {
20 | return -c *(t/=d)*(t-2) + b;
21 | },
22 | easeInOutQuad: function (x, t, b, c, d) {
23 | if ((t/=d/2) < 1) return c/2*t*t + b;
24 | return -c/2 * ((--t)*(t-2) - 1) + b;
25 | },
26 | easeInCubic: function (x, t, b, c, d) {
27 | return c*(t/=d)*t*t + b;
28 | },
29 | easeOutCubic: function (x, t, b, c, d) {
30 | return c*((t=t/d-1)*t*t + 1) + b;
31 | },
32 | easeInOutCubic: function (x, t, b, c, d) {
33 | if ((t/=d/2) < 1) return c/2*t*t*t + b;
34 | return c/2*((t-=2)*t*t + 2) + b;
35 | },
36 | easeInQuart: function (x, t, b, c, d) {
37 | return c*(t/=d)*t*t*t + b;
38 | },
39 | easeOutQuart: function (x, t, b, c, d) {
40 | return -c * ((t=t/d-1)*t*t*t - 1) + b;
41 | },
42 | easeInOutQuart: function (x, t, b, c, d) {
43 | if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
44 | return -c/2 * ((t-=2)*t*t*t - 2) + b;
45 | },
46 | easeInQuint: function (x, t, b, c, d) {
47 | return c*(t/=d)*t*t*t*t + b;
48 | },
49 | easeOutQuint: function (x, t, b, c, d) {
50 | return c*((t=t/d-1)*t*t*t*t + 1) + b;
51 | },
52 | easeInOutQuint: function (x, t, b, c, d) {
53 | if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
54 | return c/2*((t-=2)*t*t*t*t + 2) + b;
55 | },
56 | easeInSine: function (x, t, b, c, d) {
57 | return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
58 | },
59 | easeOutSine: function (x, t, b, c, d) {
60 | return c * Math.sin(t/d * (Math.PI/2)) + b;
61 | },
62 | easeInOutSine: function (x, t, b, c, d) {
63 | return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
64 | },
65 | easeInExpo: function (x, t, b, c, d) {
66 | return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
67 | },
68 | easeOutExpo: function (x, t, b, c, d) {
69 | return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
70 | },
71 | easeInOutExpo: function (x, t, b, c, d) {
72 | if (t==0) return b;
73 | if (t==d) return b+c;
74 | if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
75 | return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
76 | },
77 | easeInCirc: function (x, t, b, c, d) {
78 | return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
79 | },
80 | easeOutCirc: function (x, t, b, c, d) {
81 | return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
82 | },
83 | easeInOutCirc: function (x, t, b, c, d) {
84 | if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
85 | return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
86 | },
87 | easeInElastic: function (x, t, b, c, d) {
88 | var s=1.70158;var p=0;var a=c;
89 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
90 | if (a < Math.abs(c)) { a=c; var s=p/4; }
91 | else var s = p/(2*Math.PI) * Math.asin (c/a);
92 | return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
93 | },
94 | easeOutElastic: function (x, t, b, c, d) {
95 | var s=1.70158;var p=0;var a=c;
96 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
97 | if (a < Math.abs(c)) { a=c; var s=p/4; }
98 | else var s = p/(2*Math.PI) * Math.asin (c/a);
99 | return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
100 | },
101 | easeInOutElastic: function (x, t, b, c, d) {
102 | var s=1.70158;var p=0;var a=c;
103 | if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
104 | if (a < Math.abs(c)) { a=c; var s=p/4; }
105 | else var s = p/(2*Math.PI) * Math.asin (c/a);
106 | if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
107 | return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
108 | },
109 | easeInBack: function (x, t, b, c, d, s) {
110 | if (s == undefined) s = 1.70158;
111 | return c*(t/=d)*t*((s+1)*t - s) + b;
112 | },
113 | easeOutBack: function (x, t, b, c, d, s) {
114 | if (s == undefined) s = 1.70158;
115 | return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
116 | },
117 | easeInOutBack: function (x, t, b, c, d, s) {
118 | if (s == undefined) s = 1.70158;
119 | if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
120 | return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
121 | },
122 | easeInBounce: function (x, t, b, c, d) {
123 | return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
124 | },
125 | easeOutBounce: function (x, t, b, c, d) {
126 | if ((t/=d) < (1/2.75)) {
127 | return c*(7.5625*t*t) + b;
128 | } else if (t < (2/2.75)) {
129 | return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
130 | } else if (t < (2.5/2.75)) {
131 | return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
132 | } else {
133 | return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
134 | }
135 | },
136 | easeInOutBounce: function (x, t, b, c, d) {
137 | if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
138 | return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
139 | }
140 | });
141 |
--------------------------------------------------------------------------------
/static/waypoints.min.js:
--------------------------------------------------------------------------------
1 | // Generated by CoffeeScript 1.6.2
2 | /*
3 | jQuery Waypoints - v2.0.3
4 | Copyright (c) 2011-2013 Caleb Troughton
5 | Dual licensed under the MIT license and GPL license.
6 | https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
7 | */
8 | (function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(et.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this);
--------------------------------------------------------------------------------
/static/swipebox.css:
--------------------------------------------------------------------------------
1 | /*! Swipebox v1.2.8 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
2 | html.swipebox-html.swipebox-touch {
3 | overflow: hidden !important;
4 | }
5 |
6 | #swipebox-overlay img {
7 | border: none !important;
8 | }
9 |
10 | #swipebox-overlay {
11 | width: 100%;
12 | height: 100%;
13 | position: fixed;
14 | top: 0;
15 | left: 0;
16 | z-index: 99999 !important;
17 | overflow: hidden;
18 | -webkit-user-select: none;
19 | -moz-user-select: none;
20 | -ms-user-select: none;
21 | user-select: none;
22 | }
23 |
24 | #swipebox-container {
25 | position: relative;
26 | width: 100%;
27 | height: 100%;
28 | }
29 |
30 | #swipebox-slider {
31 | -webkit-transition: -webkit-transform 0.4s ease;
32 | transition: transform 0.4s ease;
33 | height: 100%;
34 | left: 0;
35 | top: 0;
36 | width: 100%;
37 | white-space: nowrap;
38 | position: absolute;
39 | display: none;
40 | cursor: pointer;
41 | }
42 | #swipebox-slider .slide {
43 | height: 100%;
44 | width: 100%;
45 | line-height: 1px;
46 | text-align: center;
47 | display: inline-block;
48 | background: none;
49 | }
50 | #swipebox-slider .slide:before {
51 | content: "";
52 | display: inline-block;
53 | height: 43%;
54 | width: 1px;
55 | margin-right: -1px;
56 | }
57 | #swipebox-slider .slide img, #swipebox-slider .slide .swipebox-video-container {
58 | display: inline-block;
59 | max-height: 100%;
60 | max-width: 100%;
61 | margin: 0;
62 | padding: 0;
63 | width: auto;
64 | height: auto;
65 | vertical-align: middle;
66 | }
67 | #swipebox-slider .slide .swipebox-video-container {
68 | background: none;
69 | max-width: 1140px;
70 | max-height: 100%;
71 | width: 100%;
72 | padding: 5%;
73 | -webkit-box-sizing: border-box;
74 | box-sizing: border-box;
75 | -moz-box-sizing: border-box;
76 | }
77 | #swipebox-slider .slide .swipebox-video-container .swipebox-video {
78 | width: 100%;
79 | height: 0;
80 | padding-bottom: 56.25%;
81 | overflow: hidden;
82 | position: relative;
83 | }
84 | #swipebox-slider .slide .swipebox-video-container .swipebox-video iframe {
85 | width: 100% !important;
86 | height: 100% !important;
87 | position: absolute;
88 | top: 0;
89 | left: 0;
90 | }
91 | #swipebox-slider .slide-loading {
92 | background: url(../static/loader.gif) no-repeat center center;
93 | }
94 |
95 | #swipebox-bottom-bar,
96 | #swipebox-top-bar {
97 | -webkit-transition: 0.5s all;
98 | transition: 0.5s all;
99 | -moz-transition: 0.5s all;
100 | position: absolute;
101 | left: 0;
102 | z-index: 999;
103 | height: 50px;
104 | width: 100%;
105 | }
106 |
107 | #swipebox-bottom-bar {
108 | bottom: -50px;
109 | }
110 | #swipebox-bottom-bar.visible-bars {
111 | -webkit-transform: translate3d(0, -50px, 0);
112 | transform: translate3d(0, -50px, 0);
113 | -moz-transform: translate3d(0, -50px, 0);
114 | -o-transform: translate3d(0, -50px, 0);
115 | -ms-transform: translate3d(0, -50px, 0);
116 | }
117 |
118 | #swipebox-top-bar {
119 | bottom: 14%;
120 | }
121 | #swipebox-title {
122 | display: block;
123 | width: 45%;
124 | text-align: center;
125 | margin: 0 auto !important;
126 | }
127 | #swipebox-prev,
128 | #swipebox-next,
129 | #swipebox-close {
130 | background-image: url(../static/icons.png);
131 | background-repeat: no-repeat;
132 | border: none !important;
133 | text-decoration: none !important;
134 | cursor: pointer;
135 | width: 50px;
136 | height: 50px;
137 | top: 0;
138 | }
139 |
140 | #swipebox-arrows {
141 | display: block;
142 | margin: 0 auto;
143 | width: 100%;
144 | height: 50px;
145 | }
146 |
147 | #swipebox-prev {
148 | background-position: -32px 13px;
149 | float: left;
150 | }
151 |
152 | #swipebox-next {
153 | background-position: -78px 13px;
154 | float: right;
155 | }
156 | #swipebox-close {
157 | right: 50px;
158 | top: 12px;
159 | position: absolute;
160 | z-index: 9999;
161 | background-position: 15px 12px;
162 | }
163 | .swipebox-no-close-button #swipebox-close {
164 | display: none;
165 | }
166 |
167 | #swipebox-prev.disabled,
168 | #swipebox-next.disabled {
169 | opacity: 0.3;
170 | }
171 |
172 | .swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider {
173 | -webkit-animation: rightSpring 0.3s;
174 | animation: rightSpring 0.3s;
175 | -moz-animation: rightSpring 0.3s;
176 | }
177 | .swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider {
178 | -webkit-animation: leftSpring 0.3s;
179 | animation: leftSpring 0.3s;
180 | -moz-animation: leftSpring 0.3s;
181 | }
182 |
183 | .swipebox-touch #swipebox-container:before, .swipebox-touch #swipebox-container:after {
184 | -webkit-backface-visibility: hidden;
185 | backface-visibility: hidden;
186 | -webkit-transition: all .3s ease;
187 | transition: all .3s ease;
188 | -moz-transition: all .3s ease;
189 | content: ' ';
190 | position: absolute;
191 | z-index: 999;
192 | top: 0;
193 | height: 100%;
194 | width: 20px;
195 | opacity: 0;
196 | }
197 | .swipebox-touch #swipebox-container:before {
198 | left: 0;
199 | -webkit-box-shadow: inset 10px 0px 10px -8px #656565;
200 | box-shadow: inset 10px 0px 10px -8px #656565;
201 | -moz-box-shadow: inset 10px 0px 10px -8px #656565;
202 | }
203 | .swipebox-touch #swipebox-container:after {
204 | right: 0;
205 | -webkit-box-shadow: inset -10px 0px 10px -8px #656565;
206 | box-shadow: inset -10px 0px 10px -8px #656565;
207 | -moz-box-shadow: inset -10px 0px 10px -8px #656565;
208 | }
209 | .swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before {
210 | opacity: 1;
211 | }
212 | .swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after {
213 | opacity: 1;
214 | }
215 |
216 | @-webkit-keyframes rightSpring {
217 | 0% {
218 | left: 0;
219 | }
220 |
221 | 50% {
222 | left: -30px;
223 | }
224 |
225 | 100% {
226 | left: 0;
227 | }
228 | }
229 |
230 | @keyframes rightSpring {
231 | 0% {
232 | left: 0;
233 | }
234 |
235 | 50% {
236 | left: -30px;
237 | }
238 |
239 | 100% {
240 | left: 0;
241 | }
242 | }
243 | @-webkit-keyframes leftSpring {
244 | 0% {
245 | left: 0;
246 | }
247 |
248 | 50% {
249 | left: 30px;
250 | }
251 |
252 | 100% {
253 | left: 0;
254 | }
255 | }
256 | @keyframes leftSpring {
257 | 0% {
258 | left: 0;
259 | }
260 |
261 | 50% {
262 | left: 30px;
263 | }
264 |
265 | 100% {
266 | left: 0;
267 | }
268 | }
269 | @media screen and (min-width: 800px) {
270 | #swipebox-close {
271 | right: 50px;
272 | top: 12px;
273 | }
274 |
275 | #swipebox-arrows {
276 | width: 80%;
277 | max-width: 800px;
278 | }
279 | }
280 | /* Skin
281 | --------------------------*/
282 | #swipebox-overlay {
283 | background: #0d0d0d;
284 | }
285 |
286 | #swipebox-bottom-bar,
287 | #swipebox-top-bar {
288 | opacity: 1;
289 | }
290 |
291 | #swipebox-top-bar {
292 | color: white !important;
293 | font-size: 15px;
294 | line-height: 30px;
295 | }
296 | @media(max-width:1366px){
297 | #swipebox-top-bar {
298 | bottom: 20%;
299 | }
300 | }
301 | @media(max-width:1080px){
302 | #swipebox-title {
303 | width: 61%;
304 | line-height: 1.8em;
305 | margin: 1em auto 0 !important;
306 | }
307 | }
308 | @media(max-width:768px){
309 | #swipebox-title {
310 | width: 75%;
311 | }
312 | #swipebox-arrows {
313 | width: 83%;
314 | }
315 | }
316 | @media(max-width:667px){
317 | #swipebox-slider .slide img, #swipebox-slider .slide .swipebox-video-container {
318 | max-width: 80%;
319 | }
320 | #swipebox-title {
321 | width: 82%;
322 | font-size: 14px;
323 | font-weight: 300;
324 | }
325 | }
326 | @media(max-width:640px){
327 | #swipebox-title {
328 | width: 82%;
329 | font-size: .9em;
330 | }
331 | #swipebox-arrows {
332 | width: 80%;
333 | }
334 | }
335 | @media(max-width:480px){
336 | #swipebox-title {
337 | width: 85%;
338 | }
339 | #swipebox-close {
340 | right: 30px;
341 | }
342 | #swipebox-slider .slide img, #swipebox-slider .slide .swipebox-video-container {
343 | max-width: 100%;
344 | }
345 | #swipebox-container {
346 | width: 97%;
347 | }
348 | }
349 | @media(max-width:414px){
350 | #swipebox-container {
351 | width: 96%;
352 | }
353 | }
354 | @media(max-width:384px){
355 | #swipebox-top-bar {
356 | bottom: 23%;
357 | }
358 | }
--------------------------------------------------------------------------------
/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 企业微信机器人管理
6 |
7 |
8 |
9 |
10 |
11 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
65 |
66 |
67 |
68 |
69 |
70 |
78 |
79 |
80 |
81 |
82 |
83 |
企业微信机器人管理
84 |
支持 文本格式/ 微信文章格式/ MarkDown格式消息
85 |
86 |
87 |
88 |
89 |
90 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
--------------------------------------------------------------------------------
/static/minimal-slider.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Simple and clean slider v1.0 (https://hodalog.com)
3 | * Copyright 2018 Hodaka Sakamoto
4 | * Licensed under MIT (https://gitlab.com/hodanov/simple-and-clean-slider/tree/master/LICENSE.md)
5 | */
6 |
7 | /* -----Container----- */
8 |
9 | @media screen and (max-width: 767px) {
10 |
11 | .container {
12 | width: 95%;
13 | }
14 | }
15 |
16 | /* -----Slider----- */
17 |
18 | .slide-window {
19 | width: 100%;
20 | position: relative;
21 | overflow: hidden;
22 | }
23 |
24 | .slide-window .slide-wrapper {
25 | position: relative;
26 | left: 0;
27 | display: flex;
28 | -webkit-transition: right 0.5s;
29 | transition: right 0.5s;
30 | -webkit-transition: left 0.5s;
31 | transition: left 0.5s;
32 | }
33 |
34 | .slide-window .slide-wrapper .slide {
35 | position: relative;
36 | width: 100%;
37 | }
38 |
39 | .slide-window .slide-wrapper .slide:before {
40 | content: "";
41 | display: block;
42 | padding-top: 41.17%;
43 | }
44 |
45 | .slide-window .slide-wrapper .slide .slide-image {
46 | background-size: cover;
47 | background-position: 50% 50%;
48 | overflow: hidden;
49 | position: absolute;
50 | top: 0;
51 | left: 0;
52 | bottom: 0;
53 | right: 0;
54 | }
55 |
56 | .slide-window .slide-wrapper .slide .slide-caption {
57 | position: absolute;
58 | bottom: 22%;
59 | left: 25%;
60 | width: 50%;
61 | color: #fff;
62 | /*background: rgba(0, 0, 0, 0.1); */
63 | padding: 3em 3em;
64 | }
65 |
66 |
67 | @media screen and (max-width: 767px) {
68 |
69 | }
70 |
71 | .slide-window:hover .slide-control-left {
72 | left: 1%;
73 | opacity: 1;
74 | }
75 |
76 | .slide-window:hover .slide-control-right {
77 | right: 1%;
78 | opacity: 1;
79 | }
80 |
81 | .slide-control-left {
82 | position: absolute;
83 | margin: auto;
84 | top: 0;
85 | bottom: 0;
86 | width: 40px;
87 | height: 40px;
88 | border-radius: 50%;
89 | border: 2px solid #fff;
90 | color: #fff;
91 | cursor: pointer;
92 | opacity: 0;
93 | -webkit-transition: all 0.3s;
94 | transition: all 0.3s;
95 | left: 10%;
96 | right: auto;
97 | }
98 |
99 | .slide-control-left .slide-control-line {
100 | position: absolute;
101 | top: 50%;
102 | width: 2px;
103 | height: 14px;
104 | -webkit-transform-origin: 50% 0;
105 | transform-origin: 50% 0;
106 | left: 12px;
107 | -webkit-transform: rotate(-45deg);
108 | transform: rotate(-45deg);
109 | }
110 |
111 | .slide-control-left .slide-control-line:nth-child(2) {
112 | -webkit-transform: translateY(1px) rotate(-135deg);
113 | transform: translateY(1px) rotate(-135deg);
114 | }
115 |
116 | .slide-control-left .slide-control-line:after {
117 | content: "";
118 | position: absolute;
119 | left: 0;
120 | top: 0;
121 | width: 100%;
122 | height: 100%;
123 | background-color: #fff;
124 | -webkit-transition: background-color 0.3s;
125 | transition: background-color 0.3s;
126 | }
127 |
128 | .slide-control-left:hover {
129 | background-color: #fff;
130 | }
131 |
132 | .slide-control-left:hover .slide-control-line:after {
133 | background-color: #aaa;
134 | }
135 |
136 | .slide-control-left .rotate-left-top:after {
137 | animation: arrowLineRotation 0.49s;
138 | }
139 |
140 | .slide-control-left .rotate-left-down:after {
141 | animation: arrowLineRotationRev 0.49s;
142 | }
143 |
144 | @media screen and (max-width: 767px) {
145 |
146 | .slide-control-left {
147 | height: 30px;
148 | width: 30px;
149 | opacity: 1;
150 | }
151 |
152 | .slide-control-left .slide-control-line {
153 | left: 9px;
154 | height: 10px;
155 | }
156 | }
157 |
158 | @media screen and (max-width: 1023px) {
159 |
160 | .slide-control-left {
161 | opacity: 1;
162 | left: 1%;
163 | }
164 | }
165 |
166 | .slide-control-right {
167 | position: absolute;
168 | margin: auto;
169 | top: 0;
170 | bottom: 0;
171 | width: 40px;
172 | height: 40px;
173 | border-radius: 50%;
174 | border: 2px solid #fff;
175 | color: #fff;
176 | cursor: pointer;
177 | opacity: 0;
178 | -webkit-transition: all 0.3s;
179 | transition: all 0.3s;
180 | right: 10%;
181 | left: auto;
182 | }
183 |
184 | .slide-control-right .slide-control-line {
185 | position: absolute;
186 | top: 50%;
187 | width: 2px;
188 | height: 14px;
189 | -webkit-transform-origin: 50% 0;
190 | transform-origin: 50% 0;
191 | right: 12px;
192 | -webkit-transform: rotate(45deg);
193 | transform: rotate(45deg);
194 | }
195 |
196 | .slide-control-right .slide-control-line:nth-child(2) {
197 | -webkit-transform: translateY(1px) rotate(135deg);
198 | transform: translateY(1px) rotate(135deg);
199 | }
200 |
201 | .slide-control-right .slide-control-line:after {
202 | content: "";
203 | position: absolute;
204 | left: 0;
205 | top: 0;
206 | width: 100%;
207 | height: 100%;
208 | background-color: #fff;
209 | -webkit-transition: background-color 0.3s;
210 | transition: background-color 0.3s;
211 | }
212 |
213 | .slide-control-right:hover {
214 | background-color: #fff;
215 | }
216 |
217 | .slide-control-right:hover .slide-control-line:after {
218 | background-color: #aaa;
219 | }
220 |
221 | .slide-control-right .rotate-right-down:after {
222 | animation: arrowLineRotation 0.49s;
223 | }
224 |
225 | .slide-control-right .rotate-right-top:after {
226 | animation: arrowLineRotationRev 0.49s;
227 | }
228 |
229 | @media screen and (max-width: 767px) {
230 |
231 | .slide-control-right {
232 | height: 30px;
233 | width: 30px;
234 | opacity: 1;
235 | }
236 |
237 | .slide-control-right .slide-control-line {
238 | right: 9px;
239 | height: 10px;
240 | }
241 | }
242 |
243 | @media screen and (max-width: 1023px) {
244 |
245 | .slide-control-right {
246 | opacity: 1;
247 | right: 1%;
248 | }
249 | }
250 |
251 | @keyframes arrowLineRotation {
252 | to {
253 | transform: rotate(180deg);
254 | }
255 | }
256 |
257 | @keyframes arrowLineRotationRev {
258 | to {
259 | transform: rotate(-180deg);
260 | }
261 | }
262 |
263 | .slide-control-btn ul {
264 | position: absolute;
265 | padding: 0;
266 | bottom: 10%;
267 | width: 100%;
268 | display: flex;
269 | justify-content: left;
270 | left: 15%;
271 | display: none;
272 |
273 | }
274 |
275 | .slide-control-btn ul li {
276 | margin: 0 5px;
277 | list-style: none;
278 | }
279 |
280 | .slide-control-btn ul li a {
281 | display: block;
282 | width: 15px;
283 | height: 15px;
284 | border-radius: 50%;
285 | border: 1px solid #fff;
286 | cursor: pointer;
287 | -webkit-transition: all 0.2s;
288 | transition: all 0.2s;
289 | }
290 |
291 | .slide-control-btn ul li a.active,
292 | .slide-control-btn ul li a:hover {
293 | background-color: #fff;
294 | }
295 |
296 | @media screen and (max-width:1080px) {
297 |
298 | }
299 |
300 | @media screen and (max-width:1050px) {
301 | .slide-window .slide-wrapper .slide .slide-caption {
302 | position: absolute;
303 | bottom: 30%;
304 | left: 20%;
305 | width: 58%;
306 | padding: 3em 1em;
307 | }
308 | }
309 | @media screen and (max-width:1024px) {
310 | }
311 | @media screen and (max-width:991px) {
312 |
313 | .slide-window .slide-wrapper .slide .slide-caption {
314 | bottom: 27%;
315 | }
316 | }
317 | @media screen and (max-width:800px) {
318 |
319 | }
320 |
321 | @media screen and (max-width: 768px) {
322 |
323 | }
324 | @media screen and (max-width: 767px) {
325 |
326 | .slide-control-btn ul {
327 | margin: .5rem 0;
328 | }
329 |
330 | .slide-control-btn ul li a {
331 | width: 10px;
332 | height: 10px;
333 | }
334 |
335 | }
336 | @media screen and (max-width:667px) {
337 | .slide-window .slide-wrapper .slide .slide-caption {
338 | position: absolute;
339 | bottom: 26%;
340 | left:15%;
341 | width: 70%;
342 | padding: 2em 1em;
343 | }
344 | }
345 | @media screen and (max-width:600px) {
346 |
347 | }
348 | @media screen and (max-width:480px) {
349 |
350 | }
351 | @media screen and (max-width:414px) {
352 |
353 | .slide-window .slide-wrapper .slide .slide-caption {
354 | position: absolute;
355 | left: 17%;
356 | width: 66%;
357 | padding: 1.5em 0em;
358 | }
359 | }
360 | @media screen and (max-width:375px) {
361 |
362 | .slide-control-right {
363 | opacity: 1;
364 | right: 2%;
365 | }
366 | .slide-window .slide-wrapper .slide .slide-caption {
367 | bottom: 21%;
368 | }
369 | }
370 | /*# sourceMappingURL=style.css.map */
--------------------------------------------------------------------------------
/static/jquery.swipebox.min.js:
--------------------------------------------------------------------------------
1 | /*! Swipebox v1.3.0 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
2 | !function(a,b,c,d){c.swipebox=function(e,f){var g,h,i={useCSS:!0,useSVG:!0,initialIndexOnArray:0,hideCloseButtonOnMobile:!1,hideBarsDelay:3e3,videoMaxWidth:1140,vimeoColor:"cccccc",beforeOpen:null,afterOpen:null,afterClose:null,loopAtEnd:!1},j=this,k=[],l=e.selector,m=c(l),n=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i),o=null!==n||b.createTouch!==d||"ontouchstart"in a||"onmsgesturechange"in a||navigator.msMaxTouchPoints,p=!!b.createElementNS&&!!b.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,q=a.innerWidth?a.innerWidth:c(a).width(),r=a.innerHeight?a.innerHeight:c(a).height(),s=0,t='';j.settings={},c.swipebox.close=function(){g.closeSlide()},c.swipebox.extend=function(){return g},j.init=function(){j.settings=c.extend({},i,f),c.isArray(e)?(k=e,g.target=c(a),g.init(j.settings.initialIndexOnArray)):c(b).on("click",l,function(a){if("slide current"===a.target.parentNode.className)return!1;c.isArray(e)||(g.destroy(),h=c(l),g.actions()),k=[];var b,d,f;f||(d="data-rel",f=c(this).attr(d)),f||(d="rel",f=c(this).attr(d)),h=f&&""!==f&&"nofollow"!==f?m.filter("["+d+'="'+f+'"]'):c(l),h.each(function(){var a=null,b=null;c(this).attr("title")&&(a=c(this).attr("title")),c(this).attr("href")&&(b=c(this).attr("href")),k.push({href:b,title:a})}),b=h.index(c(this)),a.preventDefault(),a.stopPropagation(),g.target=c(a.target),g.init(b)})},g={init:function(a){j.settings.beforeOpen&&j.settings.beforeOpen(),this.target.trigger("swipebox-start"),c.swipebox.isOpen=!0,this.build(),this.openSlide(a),this.openMedia(a),this.preloadMedia(a+1),this.preloadMedia(a-1),j.settings.afterOpen&&j.settings.afterOpen()},build:function(){var a,b=this;c("body").append(t),p&&j.settings.useSVG===!0&&(a=c("#swipebox-close").css("background-image"),a=a.replace("png","svg"),c("#swipebox-prev, #swipebox-next, #swipebox-close").css({"background-image":a})),n&&c("#swipebox-bottom-bar, #swipebox-top-bar").remove(),c.each(k,function(){c("#swipebox-slider").append('')}),b.setDim(),b.actions(),o&&b.gesture(),b.keyboard(),b.animBars(),b.resize()},setDim:function(){var b,d,e={};"onorientationchange"in a?a.addEventListener("orientationchange",function(){0===a.orientation?(b=q,d=r):(90===a.orientation||-90===a.orientation)&&(b=r,d=q)},!1):(b=a.innerWidth?a.innerWidth:c(a).width(),d=a.innerHeight?a.innerHeight:c(a).height()),e={width:b,height:d},c("#swipebox-overlay").css(e)},resize:function(){var b=this;c(a).resize(function(){b.setDim()}).resize()},supportTransition:function(){var a,c="transition WebkitTransition MozTransition OTransition msTransition KhtmlTransition".split(" ");for(a=0;a=m||i)){var p=.75-Math.abs(d)/r.height();r.css({top:d+"px"}),r.css({opacity:p}),i=!0}e=b,b=o.pageX-n.pageX,g=100*b/q,!j&&!i&&Math.abs(b)>=l&&(c("#swipebox-slider").css({"-webkit-transition":"",transition:""}),j=!0),j&&(b>0?0===a?c("#swipebox-overlay").addClass("leftSpringTouch"):(c("#swipebox-overlay").removeClass("leftSpringTouch").removeClass("rightSpringTouch"),c("#swipebox-slider").css({"-webkit-transform":"translate3d("+(s+g)+"%, 0, 0)",transform:"translate3d("+(s+g)+"%, 0, 0)"})):0>b&&(k.length===a+1?c("#swipebox-overlay").addClass("rightSpringTouch"):(c("#swipebox-overlay").removeClass("leftSpringTouch").removeClass("rightSpringTouch"),c("#swipebox-slider").css({"-webkit-transform":"translate3d("+(s+g)+"%, 0, 0)",transform:"translate3d("+(s+g)+"%, 0, 0)"}))))}),!1}).bind("touchend",function(a){if(a.preventDefault(),a.stopPropagation(),c("#swipebox-slider").css({"-webkit-transition":"-webkit-transform 0.4s ease",transition:"transform 0.4s ease"}),d=o.pageY-n.pageY,b=o.pageX-n.pageX,g=100*b/q,i)if(i=!1,Math.abs(d)>=2*m&&Math.abs(d)>Math.abs(f)){var k=d>0?r.height():-r.height();r.animate({top:k+"px",opacity:0},300,function(){h.closeSlide()})}else r.animate({top:0,opacity:1},300);else j?(j=!1,b>=l&&b>=e?h.getPrev():-l>=b&&e>=b&&h.getNext()):p.hasClass("visible-bars")?(h.clearTimeout(),h.hideBars()):(h.showBars(),h.setTimeout());c("#swipebox-slider").css({"-webkit-transform":"translate3d("+s+"%, 0, 0)",transform:"translate3d("+s+"%, 0, 0)"}),c("#swipebox-overlay").removeClass("leftSpringTouch").removeClass("rightSpringTouch"),c(".touching").off("touchmove").removeClass("touching")})},setTimeout:function(){if(j.settings.hideBarsDelay>0){var b=this;b.clearTimeout(),b.timeout=a.setTimeout(function(){b.hideBars()},j.settings.hideBarsDelay)}},clearTimeout:function(){a.clearTimeout(this.timeout),this.timeout=null},showBars:function(){var a=c("#swipebox-top-bar, #swipebox-bottom-bar");this.doCssTrans()?a.addClass("visible-bars"):(c("#swipebox-top-bar").animate({top:0},500),c("#swipebox-bottom-bar").animate({bottom:0},500),setTimeout(function(){a.addClass("visible-bars")},1e3))},hideBars:function(){var a=c("#swipebox-top-bar, #swipebox-bottom-bar");this.doCssTrans()?a.removeClass("visible-bars"):(c("#swipebox-top-bar").animate({top:"-50px"},500),c("#swipebox-bottom-bar").animate({bottom:"-50px"},500),setTimeout(function(){a.removeClass("visible-bars")},1e3))},animBars:function(){var a=this,b=c("#swipebox-top-bar, #swipebox-bottom-bar");b.addClass("visible-bars"),a.setTimeout(),c("#swipebox-slider").click(function(){b.hasClass("visible-bars")||(a.showBars(),a.setTimeout())}),c("#swipebox-bottom-bar").hover(function(){a.showBars(),b.addClass("visible-bars"),a.clearTimeout()},function(){j.settings.hideBarsDelay>0&&(b.removeClass("visible-bars"),a.setTimeout())})},keyboard:function(){var b=this;c(a).bind("keyup",function(a){a.preventDefault(),a.stopPropagation(),37===a.keyCode?b.getPrev():39===a.keyCode?b.getNext():27===a.keyCode&&b.closeSlide()})},actions:function(){var a=this,b="touchend click";k.length<2?(c("#swipebox-bottom-bar").hide(),d===k[1]&&c("#swipebox-top-bar").hide()):(c("#swipebox-prev").bind(b,function(b){b.preventDefault(),b.stopPropagation(),a.getPrev(),a.setTimeout()}),c("#swipebox-next").bind(b,function(b){b.preventDefault(),b.stopPropagation(),a.getNext(),a.setTimeout()})),c("#swipebox-close").bind(b,function(){a.closeSlide()})},setSlide:function(a,b){b=b||!1;var d=c("#swipebox-slider");s=100*-a,this.doCssTrans()?d.css({"-webkit-transform":"translate3d("+100*-a+"%, 0, 0)",transform:"translate3d("+100*-a+"%, 0, 0)"}):d.animate({left:100*-a+"%"}),c("#swipebox-slider .slide").removeClass("current"),c("#swipebox-slider .slide").eq(a).addClass("current"),this.setTitle(a),b&&d.fadeIn(),c("#swipebox-prev, #swipebox-next").removeClass("disabled"),0===a?c("#swipebox-prev").addClass("disabled"):a===k.length-1&&j.settings.loopAtEnd!==!0&&c("#swipebox-next").addClass("disabled")},openSlide:function(b){c("html").addClass("swipebox-html"),o?(c("html").addClass("swipebox-touch"),j.settings.hideCloseButtonOnMobile&&c("html").addClass("swipebox-no-close-button")):c("html").addClass("swipebox-no-touch"),c(a).trigger("resize"),this.setSlide(b,!0)},preloadMedia:function(a){var b=this,c=null;k[a]!==d&&(c=k[a].href),b.isVideo(c)?b.openMedia(a):setTimeout(function(){b.openMedia(a)},1e3)},openMedia:function(a){var b,e,f=this;return k[a]!==d&&(b=k[a].href),0>a||a>=k.length?!1:(e=c("#swipebox-slider .slide").eq(a),void(f.isVideo(b)?e.html(f.getVideo(b)):(e.addClass("slide-loading"),f.loadMedia(b,function(){e.removeClass("slide-loading"),e.html(this)}))))},setTitle:function(a){var b=null;c("#swipebox-title").empty(),k[a]!==d&&(b=k[a].title),b?(c("#swipebox-top-bar").show(),c("#swipebox-title").append(b)):c("#swipebox-top-bar").hide()},isVideo:function(a){if(a){if(a.match(/youtube\.com\/watch\?v=([a-zA-Z0-9\-_]+)/)||a.match(/vimeo\.com\/([0-9]*)/)||a.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/))return!0;if(a.toLowerCase().indexOf("swipeboxvideo=1")>=0)return!0}},getVideo:function(a){var b="",c=a.match(/watch\?v=([a-zA-Z0-9\-_]+)/),d=a.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/),e=a.match(/vimeo\.com\/([0-9]*)/);return c||d?(d&&(c=d),b=''):e&&(b=''),d||d||e||(b=''),'"},loadMedia:function(a,b){if(!this.isVideo(a)){var d=c("
").on("load",function(){b.call(d)});d.attr("src",a)}},getNext:function(){var a,b=this,d=c("#swipebox-slider .slide").index(c("#swipebox-slider .slide.current"));d+10?(a=c("#swipebox-slider .slide").eq(b).contents().find("iframe").attr("src"),c("#swipebox-slider .slide").eq(b).contents().find("iframe").attr("src",a),b--,this.setSlide(b),this.preloadMedia(b-1)):(c("#swipebox-overlay").addClass("leftSpring"),setTimeout(function(){c("#swipebox-overlay").removeClass("leftSpring")},500))},closeSlide:function(){c("html").removeClass("swipebox-html"),c("html").removeClass("swipebox-touch"),c(a).trigger("resize"),this.destroy()},destroy:function(){c(a).unbind("keyup"),c("body").unbind("touchstart"),c("body").unbind("touchmove"),c("body").unbind("touchend"),c("#swipebox-slider").unbind(),c("#swipebox-overlay").remove(),c.isArray(e)||e.removeData("_swipebox"),this.target&&this.target.trigger("swipebox-destroy"),c.swipebox.isOpen=!1,j.settings.afterClose&&j.settings.afterClose()}},j.init()},c.fn.swipebox=function(a){if(!c.data(this,"_swipebox")){var b=new c.swipebox(this,a);this.data("_swipebox",b)}return this.data("_swipebox")}}(window,document,jQuery);
--------------------------------------------------------------------------------
/static/modernizr-2.6.2.min.js:
--------------------------------------------------------------------------------
1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
3 | */
4 | ;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f= 0) ? html : body;
97 | activeElement = body;
98 |
99 | initTest();
100 | initDone = true;
101 |
102 | // Checks if this script is running in a frame
103 | if (top != self) {
104 | isFrame = true;
105 | }
106 |
107 | /**
108 | * This fixes a bug where the areas left and right to
109 | * the content does not trigger the onmousewheel event
110 | * on some pages. e.g.: html, body { height: 100% }
111 | */
112 | else if (scrollHeight > windowHeight &&
113 | (body.offsetHeight <= windowHeight ||
114 | html.offsetHeight <= windowHeight)) {
115 |
116 | html.style.height = 'auto';
117 | //setTimeout(refresh, 10);
118 |
119 | // clearfix
120 | if (root.offsetHeight <= windowHeight) {
121 | var underlay = document.createElement("div");
122 | underlay.style.clear = "both";
123 | body.appendChild(underlay);
124 | }
125 | }
126 |
127 | // disable fixed background
128 | if (!options.fixedBackground && !isExcluded) {
129 | body.style.backgroundAttachment = "scroll";
130 | html.style.backgroundAttachment = "scroll";
131 | }
132 | }
133 |
134 |
135 | /************************************************
136 | * SCROLLING
137 | ************************************************/
138 |
139 | var que = [];
140 | var pending = false;
141 | var lastScroll = +new Date;
142 |
143 | /**
144 | * Pushes scroll actions to the scrolling queue.
145 | */
146 | function scrollArray(elem, left, top, delay) {
147 |
148 | delay || (delay = 1000);
149 | directionCheck(left, top);
150 |
151 | if (options.accelerationMax != 1) {
152 | var now = +new Date;
153 | var elapsed = now - lastScroll;
154 | if (elapsed < options.accelerationDelta) {
155 | var factor = (1 + (30 / elapsed)) / 2;
156 | if (factor > 1) {
157 | factor = Math.min(factor, options.accelerationMax);
158 | left *= factor;
159 | top *= factor;
160 | }
161 | }
162 | lastScroll = +new Date;
163 | }
164 |
165 | // push a scroll command
166 | que.push({
167 | x: left,
168 | y: top,
169 | lastX: (left < 0) ? 0.99 : -0.99,
170 | lastY: (top < 0) ? 0.99 : -0.99,
171 | start: +new Date
172 | });
173 |
174 | // don't act if there's a pending queue
175 | if (pending) {
176 | return;
177 | }
178 |
179 | var scrollWindow = (elem === document.body);
180 |
181 | var step = function (time) {
182 |
183 | var now = +new Date;
184 | var scrollX = 0;
185 | var scrollY = 0;
186 |
187 | for (var i = 0; i < que.length; i++) {
188 |
189 | var item = que[i];
190 | var elapsed = now - item.start;
191 | var finished = (elapsed >= options.animationTime);
192 |
193 | // scroll position: [0, 1]
194 | var position = (finished) ? 1 : elapsed / options.animationTime;
195 |
196 | // easing [optional]
197 | if (options.pulseAlgorithm) {
198 | position = pulse(position);
199 | }
200 |
201 | // only need the difference
202 | var x = (item.x * position - item.lastX) >> 0;
203 | var y = (item.y * position - item.lastY) >> 0;
204 |
205 | // add this to the total scrolling
206 | scrollX += x;
207 | scrollY += y;
208 |
209 | // update last values
210 | item.lastX += x;
211 | item.lastY += y;
212 |
213 | // delete and step back if it's over
214 | if (finished) {
215 | que.splice(i, 1); i--;
216 | }
217 | }
218 |
219 | // scroll left and top
220 | if (scrollWindow) {
221 | window.scrollBy(scrollX, scrollY);
222 | }
223 | else {
224 | if (scrollX) elem.scrollLeft += scrollX;
225 | if (scrollY) elem.scrollTop += scrollY;
226 | }
227 |
228 | // clean up if there's nothing left to do
229 | if (!left && !top) {
230 | que = [];
231 | }
232 |
233 | if (que.length) {
234 | requestFrame(step, elem, (delay / options.frameRate + 1));
235 | } else {
236 | pending = false;
237 | }
238 | };
239 |
240 | // start a new queue of actions
241 | requestFrame(step, elem, 0);
242 | pending = true;
243 | }
244 |
245 |
246 | /***********************************************
247 | * EVENTS
248 | ***********************************************/
249 |
250 | /**
251 | * Mouse wheel handler.
252 | * @param {Object} event
253 | */
254 | function wheel(event) {
255 |
256 | if (!initDone) {
257 | init();
258 | }
259 |
260 | var target = event.target;
261 | var overflowing = overflowingAncestor(target);
262 |
263 | // use default if there's no overflowing
264 | // element or default action is prevented
265 | if (!overflowing || event.defaultPrevented ||
266 | isNodeName(activeElement, "embed") ||
267 | (isNodeName(target, "embed") && /\.pdf/i.test(target.src))) {
268 | return true;
269 | }
270 |
271 | var deltaX = event.wheelDeltaX || 0;
272 | var deltaY = event.wheelDeltaY || 0;
273 |
274 | // use wheelDelta if deltaX/Y is not available
275 | if (!deltaX && !deltaY) {
276 | deltaY = event.wheelDelta || 0;
277 | }
278 |
279 | // check if it's a touchpad scroll that should be ignored
280 | if (!options.touchpadSupport && isTouchpad(deltaY)) {
281 | return true;
282 | }
283 |
284 | // scale by step size
285 | // delta is 120 most of the time
286 | // synaptics seems to send 1 sometimes
287 | if (Math.abs(deltaX) > 1.2) {
288 | deltaX *= options.stepSize / 120;
289 | }
290 | if (Math.abs(deltaY) > 1.2) {
291 | deltaY *= options.stepSize / 120;
292 | }
293 |
294 | scrollArray(overflowing, -deltaX, -deltaY);
295 | event.preventDefault();
296 | }
297 |
298 | /**
299 | * Keydown event handler.
300 | * @param {Object} event
301 | */
302 | function keydown(event) {
303 |
304 | var target = event.target;
305 | var modifier = event.ctrlKey || event.altKey || event.metaKey ||
306 | (event.shiftKey && event.keyCode !== key.spacebar);
307 |
308 | // do nothing if user is editing text
309 | // or using a modifier key (except shift)
310 | // or in a dropdown
311 | if ( /input|textarea|select|embed/i.test(target.nodeName) ||
312 | target.isContentEditable ||
313 | event.defaultPrevented ||
314 | modifier ) {
315 | return true;
316 | }
317 | // spacebar should trigger button press
318 | if (isNodeName(target, "button") &&
319 | event.keyCode === key.spacebar) {
320 | return true;
321 | }
322 |
323 | var shift, x = 0, y = 0;
324 | var elem = overflowingAncestor(activeElement);
325 | var clientHeight = elem.clientHeight;
326 |
327 | if (elem == document.body) {
328 | clientHeight = window.innerHeight;
329 | }
330 |
331 | switch (event.keyCode) {
332 | case key.up:
333 | y = -options.arrowScroll;
334 | break;
335 | case key.down:
336 | y = options.arrowScroll;
337 | break;
338 | case key.spacebar: // (+ shift)
339 | shift = event.shiftKey ? 1 : -1;
340 | y = -shift * clientHeight * 0.9;
341 | break;
342 | case key.pageup:
343 | y = -clientHeight * 0.9;
344 | break;
345 | case key.pagedown:
346 | y = clientHeight * 0.9;
347 | break;
348 | case key.home:
349 | y = -elem.scrollTop;
350 | break;
351 | case key.end:
352 | var damt = elem.scrollHeight - elem.scrollTop - clientHeight;
353 | y = (damt > 0) ? damt+10 : 0;
354 | break;
355 | case key.left:
356 | x = -options.arrowScroll;
357 | break;
358 | case key.right:
359 | x = options.arrowScroll;
360 | break;
361 | default:
362 | return true; // a key we don't care about
363 | }
364 |
365 | scrollArray(elem, x, y);
366 | event.preventDefault();
367 | }
368 |
369 | /**
370 | * Mousedown event only for updating activeElement
371 | */
372 | function mousedown(event) {
373 | activeElement = event.target;
374 | }
375 |
376 |
377 | /***********************************************
378 | * OVERFLOW
379 | ***********************************************/
380 |
381 | var cache = {}; // cleared out every once in while
382 | setInterval(function () { cache = {}; }, 10 * 1000);
383 |
384 | var uniqueID = (function () {
385 | var i = 0;
386 | return function (el) {
387 | return el.uniqueID || (el.uniqueID = i++);
388 | };
389 | })();
390 |
391 | function setCache(elems, overflowing) {
392 | for (var i = elems.length; i--;)
393 | cache[uniqueID(elems[i])] = overflowing;
394 | return overflowing;
395 | }
396 |
397 | function overflowingAncestor(el) {
398 | var elems = [];
399 | var rootScrollHeight = root.scrollHeight;
400 | do {
401 | var cached = cache[uniqueID(el)];
402 | if (cached) {
403 | return setCache(elems, cached);
404 | }
405 | elems.push(el);
406 | if (rootScrollHeight === el.scrollHeight) {
407 | if (!isFrame || root.clientHeight + 10 < rootScrollHeight) {
408 | return setCache(elems, document.body); // scrolling root in WebKit
409 | }
410 | } else if (el.clientHeight + 10 < el.scrollHeight) {
411 | overflow = getComputedStyle(el, "").getPropertyValue("overflow-y");
412 | if (overflow === "scroll" || overflow === "auto") {
413 | return setCache(elems, el);
414 | }
415 | }
416 | } while (el = el.parentNode);
417 | }
418 |
419 |
420 | /***********************************************
421 | * HELPERS
422 | ***********************************************/
423 |
424 | function addEvent(type, fn, bubble) {
425 | window.addEventListener(type, fn, (bubble||false));
426 | }
427 |
428 | function removeEvent(type, fn, bubble) {
429 | window.removeEventListener(type, fn, (bubble||false));
430 | }
431 |
432 | function isNodeName(el, tag) {
433 | return (el.nodeName||"").toLowerCase() === tag.toLowerCase();
434 | }
435 |
436 | function directionCheck(x, y) {
437 | x = (x > 0) ? 1 : -1;
438 | y = (y > 0) ? 1 : -1;
439 | if (direction.x !== x || direction.y !== y) {
440 | direction.x = x;
441 | direction.y = y;
442 | que = [];
443 | lastScroll = 0;
444 | }
445 | }
446 |
447 | var deltaBufferTimer;
448 |
449 | function isTouchpad(deltaY) {
450 | if (!deltaY) return;
451 | deltaY = Math.abs(deltaY)
452 | deltaBuffer.push(deltaY);
453 | deltaBuffer.shift();
454 | clearTimeout(deltaBufferTimer);
455 |
456 | var allEquals = (deltaBuffer[0] == deltaBuffer[1] &&
457 | deltaBuffer[1] == deltaBuffer[2]);
458 | var allDivisable = (isDivisible(deltaBuffer[0], 120) &&
459 | isDivisible(deltaBuffer[1], 120) &&
460 | isDivisible(deltaBuffer[2], 120));
461 | return !(allEquals || allDivisable);
462 | }
463 |
464 | function isDivisible(n, divisor) {
465 | return (Math.floor(n / divisor) == n / divisor);
466 | }
467 |
468 | var requestFrame = (function () {
469 | return window.requestAnimationFrame ||
470 | window.webkitRequestAnimationFrame ||
471 | function (callback, element, delay) {
472 | window.setTimeout(callback, delay || (1000/60));
473 | };
474 | })();
475 |
476 |
477 | /***********************************************
478 | * PULSE
479 | ***********************************************/
480 |
481 | /**
482 | * Viscous fluid with a pulse for part and decay for the rest.
483 | * - Applies a fixed force over an interval (a damped acceleration), and
484 | * - Lets the exponential bleed away the velocity over a longer interval
485 | * - Michael Herf, http://stereopsis.com/stopping/
486 | */
487 | function pulse_(x) {
488 | var val, start, expx;
489 | // test
490 | x = x * options.pulseScale;
491 | if (x < 1) { // acceleartion
492 | val = x - (1 - Math.exp(-x));
493 | } else { // tail
494 | // the previous animation ended here:
495 | start = Math.exp(-1);
496 | // simple viscous drag
497 | x -= 1;
498 | expx = 1 - Math.exp(-x);
499 | val = start + (expx * (1 - start));
500 | }
501 | return val * options.pulseNormalize;
502 | }
503 |
504 | function pulse(x) {
505 | if (x >= 1) return 1;
506 | if (x <= 0) return 0;
507 |
508 | if (options.pulseNormalize == 1) {
509 | options.pulseNormalize /= pulse_(1);
510 | }
511 | return pulse_(x);
512 | }
513 |
514 | var isChrome = /chrome/i.test(window.navigator.userAgent);
515 | var isMouseWheelSupported = 'onmousewheel' in document;
516 |
517 | if (isMouseWheelSupported && isChrome) {
518 | addEvent("mousedown", mousedown);
519 | addEvent("mousewheel", wheel);
520 | addEvent("load", init);
521 | };
522 |
523 | })();
--------------------------------------------------------------------------------
/static/style.css:
--------------------------------------------------------------------------------
1 | body{
2 | padding:0;
3 | margin:0;
4 | background:#fff;
5 | position:relative;
6 | font-family: 'Raleway', sans-serif;
7 | }
8 | body a{
9 | transition:0.5s all;
10 | -webkit-transition:0.5s all;
11 | -moz-transition:0.5s all;
12 | -o-transition:0.5s all;
13 | -ms-transition:0.5s all;
14 | }
15 | a:hover{
16 | text-decoration:none;
17 | }
18 | input[type="button"],input[type="submit"],.contact-form input[type="submit"]{
19 | transition:0.5s all;
20 | -webkit-transition:0.5s all;
21 | -moz-transition:0.5s all;
22 | -o-transition:0.5s all;
23 | -ms-transition:0.5s all;
24 | }
25 | h1,h2,h3,h4,h5,h6{
26 | margin:0;
27 | }
28 | p{
29 | margin:0;
30 | }
31 | ul{
32 | margin:0;
33 | padding:0;
34 | }
35 | label{
36 | margin:0;
37 | }
38 | img{
39 | width:100%;
40 | }
41 |
42 |
43 | /*--/header --*/
44 | .header-top {
45 | background: #00000047;
46 | position: absolute;
47 | width: 100%;
48 | z-index: 9;
49 | padding: .5em 0;
50 | }
51 | /*--/navbar--*/
52 |
53 | .navbar {
54 | padding: 0.5em 2em;
55 | }
56 |
57 | a.navbar-brand {
58 | font-size: 1em;
59 | text-shadow: 0 1px 2px rgba(0, 0, 0, 0.37);
60 | color: #fff;
61 | }
62 |
63 | .navbar-light .navbar-brand {
64 | color: #fff;
65 | font-weight: 600;
66 | letter-spacing: 1px;
67 | }
68 | .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
69 | color: #fff;
70 | }
71 | .logo i {
72 | color: #4c6ef5;
73 | text-shadow: none;
74 | }
75 |
76 | li.nav-item {
77 | margin: 0 15px;
78 | }
79 |
80 | .navbar-light .navbar-nav .nav-link {
81 | padding: 0.3em 0em;
82 | color: #fff;
83 | background: transparent;
84 | letter-spacing: 1px;
85 | }
86 |
87 | .navbar-light .navbar-nav .show > .nav-link,
88 | .navbar-light .navbar-nav .active > .nav-link,
89 | .navbar-light .navbar-nav .nav-link.show,
90 | .navbar-light .navbar-nav .nav-link.active,
91 | .navbar-light .navbar-nav .nav-link:hover,
92 | .navbar-light .navbar-nav .nav-link:focus {
93 | background: transparent;
94 | color: #fff;
95 | }
96 |
97 | .dropdown-item {
98 | padding: 0.5em 1.5rem;
99 | margin: 0;
100 | }
101 |
102 | .dropdown-menu {
103 | margin: 0;
104 | padding: 0;
105 | }
106 |
107 | /*---*/
108 | .tlinks{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;}
109 | /*---*/
110 |
111 | .dropdown-toggle::after {
112 | width: 0;
113 | height: 0;
114 | margin-left: 0;
115 | content: "";
116 | border-top: 0.3em solid;
117 | border-right: 0.3em solid transparent;
118 | border: 0px;
119 | }
120 |
121 | li.nav-item.active,li.nav-item:hover {
122 | border-bottom: 2px solid #4c6ef5;
123 | }
124 |
125 | .dropdown-item:hover,
126 | .dropdown-item:focus {
127 | color: #4c6ef5;
128 | text-decoration: none;
129 | background-color: #f0f0f1;
130 | }
131 |
132 | /*-- //header --*/
133 | .top-head {
134 | width: 40%;
135 | padding-top: 1em;
136 | }
137 |
138 | .top-head span {
139 | color: #ffff;
140 | letter-spacing: 4px;
141 | }
142 |
143 | .top-head a {
144 | color: #ffff;
145 | letter-spacing: 2px;
146 | }
147 |
148 | /*--model-forms--*/
149 |
150 | .modal-header {
151 | border: none;
152 | padding-bottom: 0;
153 | }
154 |
155 | .login h5 {
156 | font-size: 2em;
157 | color: #333;
158 | }
159 |
160 | .login button.btn.btn-primary.submit {
161 | background: #1e1f1f;
162 | padding: 0.5em 2em;
163 | letter-spacing: 1px;
164 | border: none;
165 | }
166 |
167 | .login button.btn.btn-primary.submit:hover {
168 | background: #2529d8;
169 | }
170 |
171 | .login a {
172 | color: #97989a;
173 | }
174 |
175 | .login label {
176 | font-weight: 400;
177 | color: #5a5757;
178 | font-size: 1em;
179 | letter-spacing: 1px;
180 | }
181 |
182 | /*--//model-forms--*/
183 |
184 | /*-- modal --*/
185 | .modal-body {
186 | font-size: 15px;
187 | line-height: 28px;
188 | color: #2a2a2a;
189 | }
190 | .modal-title {
191 | font-size: 28px !important;
192 | font-weight: 700;
193 | padding: 0 !important;
194 | letter-spacing: 2px;
195 | color: #333;
196 | }
197 | .modal-title span{
198 | color: #dc3545;
199 | }
200 | .modal-title i{
201 | color: #4c6ef5;
202 | text-shadow: none;
203 | }
204 | /*-- //modal --*/
205 |
206 | /*--/banner-info--*/
207 |
208 | .slide {
209 | background: url(../static/bg.jpg) no-repeat center;
210 | background-size: cover;
211 | -webkit-background-size: cover;
212 | -moz-background-size: cover;
213 | -o-background-size: cover;
214 | -ms-background-size: cover;
215 | height: 49vw;
216 | }
217 |
218 | .slide2 {
219 | background: url(../static/bg1.jpg) no-repeat center;
220 | background-size: cover;
221 | -webkit-background-size: cover;
222 | -moz-background-size: cover;
223 | -o-background-size: cover;
224 | -ms-background-size: cover;
225 | height: 49vw;
226 | }
227 |
228 | .slide3 {
229 | background: url(../static/bg2.jpg) no-repeat center;
230 | background-size: cover;
231 | -webkit-background-size: cover;
232 | -moz-background-size: cover;
233 | -o-background-size: cover;
234 | -ms-background-size: cover;
235 | height: 49vw;
236 | }
237 | .slide-caption h2,.slide-caption h3 {
238 | font-size: 4em;
239 | letter-spacing: 10px;
240 | text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
241 | }
242 | .slide-caption p {
243 | font-size: 16px;
244 | letter-spacing: 1px;
245 | line-height: 33px;
246 | }
247 | /*--//banner-info--*/
248 |
249 | /*-- welcome --*/
250 | .welcome-grids p {
251 | margin: 0;
252 | color: #666;
253 | line-height: 28px;
254 | letter-spacing: .5px;
255 | }
256 | .welcome-grids h3 {
257 | font-size: 30px;
258 | text-transform: uppercase;
259 | color: #202020;
260 | font-weight:600;
261 | letter-spacing: 2px;
262 | line-height: 42px;
263 | }
264 | .read a {
265 | background: #4c6ef5;
266 | color: #fff;
267 | padding: 12px 60px 12px 30px;
268 | display: inline-block;
269 | letter-spacing: 1px;
270 | border-radius: 35px;
271 | font-weight: 300;
272 | }
273 | .read {
274 | position: relative;
275 | display: inline-block;
276 | }
277 | .read .btn {
278 | position: absolute;
279 | right: 1px;
280 | top: 1px;
281 | color: #4c6ef5;
282 | border: none;
283 | outline: none;
284 | text-align: center;
285 | text-decoration: none;
286 | background: #fff;
287 | border-radius: 50%;
288 | -webkit-transition: 0.5s all;
289 | -moz-transition: 0.5s all;
290 | -o-transition: 0.5s all;
291 | -ms-transition: 0.5s all;
292 | transition: 0.5s all;
293 | float: right;
294 | width: 46px;
295 | height: 46px;
296 | line-height: 35px;
297 | cursor: pointer;
298 | }
299 |
300 | /*-- // welcome --*/
301 |
302 | /*-- welcome bottom --*/
303 |
304 | .Welcome-bottom {
305 | background: url(../images/b.jpg) no-repeat 0px 0px;
306 | background-size: cover;
307 | }
308 | .welcome_left {
309 | background: rgba(0, 0, 0, 0.00);
310 | }
311 | .welcome_left_inner {
312 | background: rgba(0, 0, 0, 0.2);
313 | }
314 | .welcome-image img {
315 | border-radius: 5px;
316 | }
317 | .agileits_w3layouts_about_counter_left span {
318 | font-size: 25px;
319 | width: 60px;
320 | height: 60px;
321 | line-height: 60px;
322 | background: #4c6ef5;
323 | color: #fff;
324 | border-radius: 50%;
325 | text-align: center;
326 | float: left;
327 | transition: 0.5s all;
328 | -webkit-transition: 0.5s all;
329 | -moz-transition: 0.5s all;
330 | -ms-transition: 0.5s all;
331 | -o-transition: 0.5s all;
332 | }
333 | .agileits_w3layouts_about_counter_left span:hover {
334 | background: #ff4f81;
335 | transition: 0.5s all;
336 | -webkit-transition: 0.5s all;
337 | -moz-transition: 0.5s all;
338 | -ms-transition: 0.5s all;
339 | -o-transition: 0.5s all;
340 | }
341 | .agileits_w3layouts_about_counter_left p {
342 | font-size: 3em;
343 | font-weight: normal;
344 | color: #eee;
345 | }
346 | .agileits_w3layouts_about_counter_left h3 {
347 | color: #ccc;
348 | font-size: 18px;
349 | text-transform: capitalize;
350 | letter-spacing: 2px;
351 | float: left;
352 | font-weight: normal;
353 | margin: 1em 0 0 1em;
354 | }
355 | .countericon {
356 | float: left;
357 | }
358 | .counterinfo {
359 | float: right;
360 | }
361 | .welcome_bottom_right h3 {
362 | font-size: 30px;
363 | text-transform: uppercase;
364 | color: #fff;
365 | letter-spacing: 2px;
366 | font-weight: 600;
367 | line-height: 42px;
368 | }
369 | .welcome_bottom_right p {
370 | margin: 0;
371 | color: #ccc;
372 | line-height: 30px;
373 | letter-spacing: .5px;
374 | }
375 | /*-- //welcome bottom --*/
376 |
377 | /*-- team --*/
378 |
379 | .team {
380 | position: relative;
381 | }
382 |
383 | .our-team .team-row {
384 | margin-left: -40px;
385 | margin-right: -40px;
386 | }
387 |
388 | .our-team .team-wrap {
389 | padding: 0 40px;
390 | }
391 |
392 | .our-team .container-fluid {
393 | padding: 0 50px;
394 | }
395 |
396 | .team-img img {
397 | -webkit-transition: all .2s ease-in-out;
398 | -moz-transition: all .2s ease-in-out;
399 | -o-transition: all .2s ease-in-out;
400 | transition: all .2s ease-in-out;
401 | overflow: hidden;
402 | width: 100%;
403 | }
404 |
405 | .team-member,
406 | .team-img {
407 | position: relative;
408 | overflow: hidden;
409 | }
410 |
411 | .team-title {
412 | margin: 30px 0 7px;
413 | font-size: 20px;
414 | color: #333;
415 | letter-spacing: 2px;
416 | text-transform: uppercase;
417 | font-weight: 600;
418 | }
419 |
420 | .team-member span {
421 | font-size: 16px;
422 | color: #999;
423 | font-weight: 400;
424 | text-transform: capitalize;
425 | }
426 |
427 | .overlay-team {
428 | background-color: rgba(20, 20, 20, .7);
429 | position: absolute;
430 | top: 0;
431 | width: 100%;
432 | height: 100%;
433 | opacity: 0;
434 | -webkit-transition: all .2s ease-in-out;
435 | -moz-transition: all .2s ease-in-out;
436 | -o-transition: all .2s ease-in-out;
437 | transition: all .2s ease-in-out;
438 | }
439 |
440 | .team-details {
441 | opacity: 0;
442 | position: absolute;
443 | top: 50%;
444 | left: 0;
445 | padding: 5%;
446 | overflow: hidden;
447 | width: 100%;
448 | z-index: 2;
449 | -webkit-transition: all .4s ease-in-out;
450 | -moz-transition: all .4s ease-in-out;
451 | -o-transition: all .4s ease-in-out;
452 | transition: all .4s ease-in-out;
453 | }
454 |
455 | .team-img:hover .team-details {
456 | opacity: 1;
457 | margin-top: -80px;
458 | }
459 |
460 | .team-img:hover .overlay-team {
461 | opacity: 1;
462 | }
463 |
464 | .team-member:hover h6 {
465 | color: #4c6ef5;
466 | }
467 |
468 | .socials a {
469 | display: inline-block;
470 | margin-top: 40px;
471 | margin-right: 5px;
472 | }
473 |
474 | .socials a i {
475 | color: #fff;
476 | font-size: 18px;
477 | display: block;
478 | width: 42px;
479 | height: 42px;
480 | border-radius: 50%;
481 | line-height: 44px;
482 | text-align: center;
483 | transition: all .3s ease 0s;
484 | background: rgba(255, 255, 255, 0.5);
485 | }
486 |
487 | .team-details .socials i {
488 | color: #fff;
489 | }
490 |
491 | .socials a:hover i {
492 | color: #fff;
493 | background: #4c6ef5;
494 | }
495 |
496 | /*-- //team --*/
497 |
498 | /*-- brands --*/
499 | .partner-grids i.fab {
500 | font-size: 80px;
501 | color: #ccc;
502 | transition: 0.5s all;
503 | -webkit-transition: 0.5s all;
504 | -moz-transition: 0.5s all;
505 | -ms-transition: 0.5s all;
506 | -o-transition: 0.5s all;
507 | }
508 | .partner-grids i.fab:hover {
509 | color: #ff4f81;
510 | transition: 0.5s all;
511 | -webkit-transition: 0.5s all;
512 | -moz-transition: 0.5s all;
513 | -ms-transition: 0.5s all;
514 | -o-transition: 0.5s all;
515 | }
516 | .brand {
517 | box-shadow: 7px 7px 10px 0 rgba(76, 110, 245, .1);
518 | border-radius: 5px;
519 | -webkit-border-radius: 5px;
520 | -moz-border-radius: 5px;
521 | -ms-border-radius: 5px;
522 | -o-border-radius: 5px;
523 | }
524 | /*-- //brands --*/
525 |
526 | /*-- features --*/
527 | h3.heading {
528 | text-transform: uppercase;
529 | font-size: 45px;
530 | letter-spacing: 7px;
531 | color: #191919;
532 | font-weight: 600;
533 | }
534 | p.para{
535 | position: relative;
536 | color: #999;
537 | }
538 | p.para:after {
539 | position: absolute;
540 | content: '';
541 | background: #bbb;
542 | width: 10%;
543 | height: 3px;
544 | left: 45%;
545 | bottom: -80%;
546 | }
547 | h3.heading span {
548 | color: #4c6ef5;
549 | }
550 | .f1 i,.f2-active i {
551 | font-size: 20px;
552 | background: #4c6ef5;
553 | color: #fff;
554 | width: 60px;
555 | height: 60px;
556 | line-height: 60px;
557 | text-align: center;
558 | border-radius: 50%;
559 | }
560 | .feature-grids h3 {
561 | font-size: 24px;
562 | text-transform: capitalize;
563 | color: #000;
564 | letter-spacing: 2px;
565 | }
566 | .feature-grids p {
567 | margin: 0;
568 | color: #666;
569 | line-height: 28px;
570 | letter-spacing: .5px;
571 | }
572 | .f1,.f2-active{
573 | background: #f8f9fa;
574 | border-radius: 5px;
575 | -webkit-border-radius: 5px;
576 | -moz-border-radius: 5px;
577 | -ms-border-radius: 5px;
578 | -o-border-radius: 5px;
579 | transition: 2s all;
580 | -webkit-transition: 2s all;
581 | -moz-transition: 2s all;
582 | -ms-transition: 2s all;
583 | -o-transition: 2s all;
584 | box-shadow: 7px 7px 10px 0 rgba(76, 110, 245, .1);
585 | }
586 | .f1:hover,.f2-active{
587 | background: #4c6ef5 !important;
588 | transition: 2s all;
589 | -webkit-transition: 2s all;
590 | -moz-transition: 2s all;
591 | -ms-transition: 2s all;
592 | -o-transition: 2s all;
593 | }
594 | .f1:hover.f1 i,.f2-active i {
595 | background: #ff4f81;
596 | color: #fff;
597 | }
598 | .f1:hover.f1 p,.f2-active p {
599 | color: #fff;
600 | font-weight: 300;
601 | }
602 | .f1:hover h3,.f2-active h3{
603 | color:#fff;
604 | }
605 | /*-- //features --*/
606 |
607 |
608 | /*--bottom-last--*/
609 |
610 | .bottom-last {
611 | background: url(../static/skills_bg.jpg) no-repeat 0px 0px;
612 | background-size: cover;
613 | -webkit-background-size: cover;
614 | -moz-background-size: cover;
615 | -o-background-size: cover;
616 | -ms-background-size: cover;
617 | }
618 |
619 | section.bottom-last h4.title {
620 | font-size: 1.8em;
621 | letter-spacing: 2px;
622 | color: #fff;
623 | text-shadow: 2px 2px 2px rgba(29, 28, 28, 0.15);
624 | }
625 |
626 | .bottom-bg p {
627 | font-size: 16px;
628 | letter-spacing: .5px;
629 | line-height: 30px;
630 | color: #ccc;
631 | }
632 | .bs-slider-overlay {
633 | width: 100%;
634 | height: 100%;
635 | background: url(../static/dots.png)repeat 0px 0px;
636 | background-size: 2px;
637 | -webkit-background-size: 2px;
638 | -moz-background-size: 2px;
639 | -o-background-size: 2px;
640 | -ms-background-size: 2px;
641 | }
642 |
643 | button.btn.btn-primary.play {
644 | width: 50px;
645 | height: 50px;
646 | border-radius: 50%;
647 | -webkit-border-radius: 50%;
648 | -moz-border-radius: 50%;
649 | -o-border-radius: 50%;
650 | -ms-border-radius: 50%;
651 | outline: none;
652 | cursor: pointer;
653 | color: #fff;
654 | background-color: #ff4f81;
655 | border: none;
656 | }
657 | .bnr-button span {
658 | letter-spacing: 1px;
659 | }
660 | h4.progress-tittle {
661 | color: #eee;
662 | font-size: 0.85em;
663 | text-transform: uppercase;
664 | margin-bottom: 1em;
665 | letter-spacing: 1px;
666 | }
667 | .progress-one .progress {
668 | height: 0.5rem;
669 | background: #e1e2e2;
670 | }
671 | .modal-body.video iframe {
672 | border: none;
673 | width: 100%;
674 | min-height: 250px;
675 | }
676 |
677 | h5#exampleModalLabel {
678 | font-size: 1.2em;
679 | }
680 |
681 | /*--bottom-last--*/
682 |
683 | /*-- footer --*/
684 |
685 | .footer {
686 | background: #4c6ef5;
687 | }
688 |
689 | /* footer grids */
690 |
691 | .footerv3-top h3 {
692 | font-size: 1.3em;
693 | color: #fff;
694 | text-transform: uppercase;
695 | margin-bottom: 1.5em;
696 | }
697 |
698 | .fv3-contact span {
699 | color: #4c6ef5;
700 | background: #fff;
701 | width: 36px;
702 | height: 36px;
703 | line-height: 36px;
704 | text-align: center;
705 | border-radius: 50%;
706 | font-size: 14px;
707 | }
708 |
709 | .footer-top input[type="email"] {
710 | outline: none;
711 | padding: 13px 20px;
712 | color: #fff;
713 | font-size: 14px;
714 | width: 85%;
715 | border: none;
716 | background: none;
717 | letter-spacing: 1px;
718 | }
719 |
720 | .newsletter {
721 | position: relative;
722 | margin-top: 2em;
723 | }
724 |
725 | .footer-top form {
726 | width: 90%;
727 | background: #587aff;
728 | margin-top: 20px;
729 | border-radius: 35px;
730 | -webkit-border-radius: 35px;
731 | -moz-border-radius: 35px;
732 | -ms-border-radius: 35px;
733 | -o-border-radius: 35px;
734 | }
735 | button.btn1 {
736 | color: #4c6ef5;
737 | border: none;
738 | outline: none;
739 | text-align: center;
740 | text-decoration: none;
741 | background: #fff;
742 | border-radius: 50%;
743 | -webkit-transition: 0.5s all;
744 | -moz-transition: 0.5s all;
745 | -o-transition: 0.5s all;
746 | -ms-transition: 0.5s all;
747 | transition: 0.5s all;
748 | float: right;
749 | width: 46px;
750 | height: 46px;
751 | cursor: pointer;
752 | }
753 | .footv3-left h4 a {
754 | font-size: 1.3em;
755 | letter-spacing: 0.5px;
756 | color: #fff !important;
757 | padding: 14px 0 0;
758 | position: relative;
759 | text-transform: capitalize;
760 | }
761 |
762 | h4.footer-title {
763 | color: #fff;
764 | text-transform: capitalize;
765 | }
766 |
767 | .footerv3-top p {
768 | font-size: 1em;
769 | color: #a3b1bf;
770 | margin: 1em 0;
771 | line-height: 1.5em;
772 | }
773 |
774 | .footer p a {
775 | color: #eee;
776 | }
777 |
778 | .footer p a:hover {
779 | color: #ED4F2E;
780 | }
781 |
782 |
783 | .fv3-contact p {
784 | display: inline-block;
785 | vertical-align: middle;
786 | color: #eee;
787 | letter-spacing: .5px;
788 | line-height: 28px;
789 | }
790 |
791 | .footer-top p,.footerv2-w3ls p {
792 | max-width: 400px;
793 | color: #eee;
794 | letter-spacing: .5px;
795 | line-height: 28px;
796 | }
797 |
798 | .fv3-contact p a:hover {
799 | color: #fff;
800 | }
801 |
802 | .list-agileits li a {
803 | color: #eee;
804 | letter-spacing: .5px;
805 | }
806 |
807 | h3.w3f_title {
808 | font-size: 1.3em;
809 | letter-spacing: 2px;
810 | color: #fff;
811 | text-transform: uppercase;
812 | border-bottom: 1px solid #ccc;
813 | }
814 | .list-agileits li {
815 | list-style-type: none;
816 | }
817 | footer ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
818 | color: #eee;
819 | }
820 | footer ::-moz-placeholder { /* Firefox 19+ */
821 | color: #eee;
822 | }
823 | footer :-ms-input-placeholder { /* IE 10+ */
824 | color: #eee;
825 | }
826 | footer :-moz-placeholder { /* Firefox 18- */
827 | color: #eee;
828 | }
829 |
830 | .cpy-right p {
831 | color: #ccc;
832 | font-size: 1em;
833 | letter-spacing: 1px;
834 | font-weight: 300;
835 | }
836 |
837 | .cpy-right p a {
838 | color: #4c6ef5;
839 | font-size: 1em;
840 | }
841 | .cpy-right p a:hover{
842 | color: #fff;
843 | }
844 |
845 | .cpy-right {
846 | background: #587aff;
847 | background: #191d20;
848 | padding: 1.2em 1vw;
849 | }
850 |
851 | /* footer grids */
852 |
853 | footer-top p {
854 | max-width: 500px;
855 | }
856 |
857 | .footerv2-w3ls ul.social-iconsv2 li {
858 | display: inline-block;
859 | margin-right: 6px;
860 | background: #587aff;
861 | border-radius: 50%;
862 | -webkit-border-radius: 50%;
863 | -moz-border-radius: 50%;
864 | -ms-border-radius: 50%;
865 | -o-border-radius: 50%;
866 | }
867 |
868 | .footerv2-w3ls ul.social-iconsv2 li a {
869 | text-decoration: none;
870 | font-size: 16px;
871 | color: #fff;
872 | }
873 |
874 | .footerv2-w3ls ul.social-iconsv2 li a i.fab {
875 | font-size: 14px;
876 | line-height: 38px;
877 | width: 38px;
878 | height: 38px;
879 | text-align: center;
880 | background-color: transparent;
881 | transition: all 0.5s ease-in-out;
882 | -webkit-transition: all 0.5s ease-in-out;
883 | -moz-transition: all 0.5s ease-in-out;
884 | -o-transition: all 0.5s ease-in-out;
885 | -ms-transition: all 0.5s ease-in-out;
886 | }
887 |
888 | .footerv2-w3ls ul.social-iconsv2 li:first-child:hover {
889 | background: #3b5998;
890 | color: #fff;
891 | border-radius: 50%;
892 | -webkit-border-radius: 50%;
893 | -moz-border-radius: 50%;
894 | -ms-border-radius: 50%;
895 | -o-border-radius: 50%;
896 | }
897 |
898 | .footerv2-w3ls ul.social-iconsv2 li:last-child:hover {
899 | background: #287bbc;
900 | color: #000;
901 | border-radius: 50%;
902 | -webkit-border-radius: 50%;
903 | -moz-border-radius: 50%;
904 | -ms-border-radius: 50%;
905 | -o-border-radius: 50%;
906 | }
907 |
908 | .footerv2-w3ls ul.social-iconsv2 li:nth-child(3):hover {
909 | background: #dd4b39;
910 | color: #000;
911 | border-radius: 50%;
912 | -webkit-border-radius: 50%;
913 | -moz-border-radius: 50%;
914 | -ms-border-radius: 50%;
915 | -o-border-radius: 50%;
916 | }
917 |
918 | .footerv2-w3ls ul.social-iconsv2 li:nth-child(2):hover {
919 | background: #1da1f2;
920 | color: #000;
921 | border-radius: 50%;
922 | -webkit-border-radius: 50%;
923 | -moz-border-radius: 50%;
924 | -ms-border-radius: 50%;
925 | -o-border-radius: 50%;
926 | }
927 |
928 | .footerv2-w3ls ul.social-iconsv2 li a:hover {
929 | color: #fff;
930 | }
931 |
932 | /* //footer */
933 |
934 | /*-- features page --*/
935 | .inner-page-banner {
936 | background: url(../static/bg.jpg) no-repeat 0px 0px;
937 | background-size: cover;
938 | min-height: 370px;
939 | }
940 | .inner-page-banner h2 {
941 | font-size: 40px;
942 | color: #eee;
943 | text-transform: uppercase;
944 | letter-spacing: 5px;
945 | }
946 | .page-heading {
947 | padding-top: 200px;
948 | }
949 | span.section_1-breadcrumbs, span.section_1-breadcrumbs a {
950 | color: #fff;
951 | font-size: 16px;
952 | letter-spacing: 2px;
953 | font-weight: 300;
954 | margin-top: 5px;
955 | display: inline-block;
956 | }
957 |
958 | /* testimonals */
959 | .testimonal img {
960 | border-radius: 50%;
961 | width: 100px;
962 | }
963 | .testimonals {
964 | padding: 5em 0;
965 | }
966 | .first-grid {
967 | text-align: center;
968 | padding: 40px 20px;
969 | margin-right: 10px;
970 | background: #f8f9fa;
971 | box-shadow: 7px 7px 10px 0 rgba(76, 110, 245, .1);
972 | }
973 | .first-grid h3 {
974 | text-transform: uppercase;
975 | color: #4c6ef5;
976 | font-size: 20px;
977 | font-weight: 600;
978 | margin: 20px 0 0;
979 | }
980 | .first-grid h4 {
981 | margin: 5px 0;
982 | text-transform: capitalize;
983 | }
984 | .first-grid p {
985 | color: #666;
986 | margin: 20px 0 0;
987 | letter-spacing: 1px;
988 | line-height: 28px;
989 | }
990 | .owl-theme .item {
991 | padding: 0 5px;
992 | }
993 | /*-- testimonials --*/
994 | /*-- explore --*/
995 |
996 | .serv_bottom {
997 | background: #222;
998 | background: url(../images/bg1.jpg) no-repeat 0px 0px;
999 | background-size: cover;
1000 | -webkit-background-size: cover;
1001 | -moz-background-size: cover;
1002 | -o-background-size: cover;
1003 | -ms-background-size: cover;
1004 | }
1005 |
1006 | h4.agile-ser_bot {
1007 | font-size: 2.2em;
1008 | letter-spacing: 4px;
1009 | word-spacing: 3px;
1010 | font-weight: 300;
1011 | }
1012 |
1013 | a.serv_link {
1014 | color: #000;
1015 | font-weight: bold;
1016 | letter-spacing: 1px;
1017 | word-spacing: 3px;
1018 | }
1019 |
1020 | .serv_bottom h5 {
1021 | letter-spacing: 5px;
1022 | word-spacing: 3px;
1023 | font-weight: 300;
1024 | }
1025 |
1026 | .serv_bottom h5 {
1027 | letter-spacing: 10px;
1028 | word-spacing: 23px;
1029 | }
1030 | hr {
1031 | border-top: 1px solid rgba(255, 255, 255, 0.1);
1032 | }
1033 | /*-- //explore --*/
1034 |
1035 | /*-- //features page --*/
1036 |
1037 | /*-- contact page --*/
1038 | .address.address-mdl {
1039 | margin: 2em 0;
1040 | }
1041 | .address h5 {
1042 | font-size: 1.2em;
1043 | color: #000;
1044 | text-transform: uppercase;
1045 | letter-spacing: 2px;
1046 | }
1047 | .address p {
1048 | margin-top: 1em;
1049 | font-size: 16px;
1050 | letter-spacing: .5px;
1051 | color: #777;
1052 | }
1053 | .address p span {
1054 | color: #ff4f81;
1055 | width: 30px;
1056 | font-size: 17px;
1057 | }
1058 | .address p a {
1059 | color: #525252;
1060 | font-size: 16px;
1061 | }
1062 | .address p a:hover{
1063 | color: #4c6ef5;
1064 | }
1065 | .contact-agileinfo input[type="text"],.contact-agileinfo input[type="email"] {
1066 | width: 100%;
1067 | color: #999;
1068 | background: none;
1069 | outline: none;
1070 | font-size: 14px;
1071 | padding: 1em;
1072 | letter-spacing: 1px;
1073 | border: solid 1px #ddd;
1074 | -webkit-appearance: none;
1075 | display: inline-block;
1076 | }
1077 | input.email {
1078 | margin: 1em 0;
1079 | }
1080 | .contact-agileinfo textarea {
1081 | resize: none;
1082 | width: 100%;
1083 | background: none;
1084 | color: #999;
1085 | font-size: 14px;
1086 | padding: 1em;
1087 | outline: none;
1088 | letter-spacing: 1px;
1089 | border: solid 1px #ddd;
1090 | min-height: 10em;
1091 | -webkit-appearance: none;
1092 | margin-top: 1em;
1093 | }
1094 | .contact-agileinfo input[type="submit"]:hover {
1095 | background: #333;
1096 | }
1097 | .agileits-w3layouts-map iframe {
1098 | width: 100%;
1099 | min-height: 400px;
1100 | border: none;
1101 | border: 4px solid #eee;
1102 | }
1103 | .contact {
1104 | padding: 5em 0;
1105 | }
1106 | /*-- //contact page--*/
1107 |
1108 | /*-- pricing page --*/
1109 |
1110 | .price-main-info .card-body {
1111 | background: #333;
1112 | padding: 4em 1em;
1113 | }
1114 |
1115 | .pricing-card-title span {
1116 | font-size: .5em;
1117 | display: inline-block;
1118 | color: #ccc;
1119 | font-weight: 300;
1120 | }
1121 |
1122 | .price-main-info small.text-muted {
1123 | font-size: 0.5em;
1124 | }
1125 |
1126 | ul.list-unstyled li {
1127 | font-size: 16px;
1128 | color: #7d7d7d;
1129 | line-height: 2.5em;
1130 | }
1131 |
1132 | .price-main-info h5.card-title {
1133 | font-size: 3em;
1134 | color: #ccc;
1135 | font-weight: 700;
1136 | }
1137 |
1138 | .card-deck .card {
1139 | padding: 0px;
1140 | }
1141 |
1142 | .price-inner .log-in a {
1143 | font-size: 0.9em;
1144 | }
1145 |
1146 | .price-inner.card h4 {
1147 | color: #4c6ef5;
1148 | font-size: 1.1em;
1149 | }
1150 |
1151 | .price-main-info.card {
1152 | border-radius: 0;
1153 | border: none;
1154 | background: none;
1155 | }
1156 |
1157 | /*-- //pricing page --*/
1158 |
1159 | /*-- erroe page --*/
1160 | .error_content span{
1161 | font-size: 80px;
1162 | color: #ff4f81;
1163 | }
1164 | .error_content h3 {
1165 | font-size: 30px;
1166 | text-transform: capitalize;
1167 | margin: 0;
1168 | color: #333;
1169 | }
1170 | .error_content p {
1171 | color: #777;
1172 | letter-spacing: .5px;
1173 | line-height: 1.8em;
1174 | font-weight: 400;
1175 | margin: 1.5em 0;
1176 | }
1177 | .error_content {
1178 | border: 10px solid #eee;
1179 | padding: 2em 4em;
1180 | }
1181 | .error_content form {
1182 | width: 40%;
1183 | }
1184 | .error_content input[type="search"] {
1185 | outline: none;
1186 | border: 1px solid #c4c5c5;
1187 | background: none;
1188 | color: #212121;
1189 | padding: 13px 15px;
1190 | width: 80%;
1191 | float: left;
1192 | font-size: 13px;
1193 | letter-spacing: 2px;
1194 | }
1195 | .error_content button.btn1 {
1196 | color: #fff;
1197 | border: none;
1198 | padding: 14px 0;
1199 | text-align: center;
1200 | cursor: pointer;
1201 | text-decoration: none;
1202 | background: #333;
1203 | -webkit-transition: 0.5s all;
1204 | -moz-transition: 0.5s all;
1205 | -o-transition: 0.5s all;
1206 | -ms-transition: 0.5s all;
1207 | transition: 0.5s all;
1208 | float: right;
1209 | width: 20%;
1210 | border-radius: 0%;
1211 | }
1212 |
1213 | .error_content a.b-home {
1214 | background: #4c6ef5;
1215 | padding: 1em 2em;
1216 | border-radius: 35px;
1217 | display: inline-block;
1218 | color: #FFF;
1219 | text-decoration: none;
1220 | font-size: 0.95em;
1221 | margin-top: 2em;
1222 | }
1223 | .error_content a.b-home:hover {
1224 | background: #333;
1225 | }
1226 | /*-- //erroe page --*/
1227 |
1228 |
1229 | /* -- about page --*/
1230 | .about-right h3 {
1231 | color: #5c5f5e;
1232 | font-weight: 600;
1233 | font-size: 1rem;
1234 | letter-spacing: 1px;
1235 | text-transform: uppercase;
1236 | }
1237 |
1238 | .about-right h4 {
1239 | font-size: 28px;
1240 | text-transform: uppercase;
1241 | color: #202020;
1242 | letter-spacing: 2px;
1243 | line-height: 42px;
1244 | }
1245 | .about-right p {
1246 | color: #666;
1247 | line-height: 28px;
1248 | letter-spacing: .5px;
1249 | }
1250 | .about-in .card {
1251 | border: none;
1252 | background: none;
1253 | box-shadow: 7px 7px 10px 0 rgba(76, 110, 245, .1);
1254 | border-radius: 5px;
1255 | -webkit-border-radius: 5px;
1256 | -moz-border-radius: 5px;
1257 | -ms-border-radius: 5px;
1258 | -o-border-radius: 5px;
1259 | }
1260 |
1261 |
1262 | .about-in h5.card-title {
1263 | font-weight: 600;
1264 | font-size: 1rem;
1265 | letter-spacing: 1px;
1266 | color: #444;
1267 | text-transform: uppercase;
1268 | }
1269 |
1270 | .about-in .card i {
1271 | font-size: 1.5em;
1272 | margin-bottom: 0.7em;
1273 | color: #4c6ef5;
1274 | }
1275 | .about-in.middle-grid-info .card {
1276 | padding: 2.5em 2em;
1277 | background: #f8f9fa;
1278 | border-bottom: 4px solid #f8f8fa;
1279 | box-shadow: 7px 7px 10px 0 rgba(76, 110, 245, .1);
1280 | }
1281 | .about-in.middle-grid-info .card:hover {
1282 | background: #fff;
1283 | }
1284 |
1285 | .about-in.middle-grid-info .card-body {
1286 | padding: 0;
1287 | }
1288 |
1289 | .about-in.middle-grid-info h5.card-title {
1290 | font-size: 1.3em;
1291 | line-height: 1.4em;
1292 | }
1293 |
1294 | .about-in.middle-grid-info:hover .card,
1295 | .about-in.middle-grid-info.active .card {
1296 | box-shadow: 7px 7px 10px 0 rgba(76, 110, 245, .1);
1297 | }
1298 | .middle-grids .card {
1299 | border-radius: 50%;
1300 | }
1301 | .middle-grids .card p{
1302 | color: #666;
1303 | line-height: 28px;
1304 | letter-spacing: .5px;
1305 | }
1306 | /* --// about page --*/
1307 |
1308 | /*-- Projects page --*/
1309 | #portfolio p {
1310 | line-height: 1.8em;
1311 | margin: 25px 0 0 0;
1312 | font-size:1.1;
1313 | color: #ffffff;
1314 | font-weight: 300;
1315 | }
1316 | .Projects-section h3{
1317 | margin: 0;
1318 | color: #ffffff;
1319 | font-size: 36px;
1320 | font-weight: 500;
1321 | letter-spacing: 18px;
1322 | }
1323 | .Projects-grid {
1324 | padding: 0;
1325 | border: 3px solid #fff;
1326 | }
1327 | .Projects1 {
1328 | position:relative;
1329 | }
1330 | .Projects1 .textbox {
1331 | width:100%;
1332 | height:100%;
1333 | position:absolute;
1334 | top:0;
1335 | left:0;
1336 | -webkit-transform: scale(0);
1337 | transform: scale(0);
1338 | background-color: rgba(0, 0, 0, 0.5);
1339 | }
1340 | .Projects1:hover .textbox {
1341 | -webkit-transform: scale(1);
1342 | transform: scale(1);
1343 | }
1344 | .Projects-grid img{
1345 | width:100%;
1346 | }
1347 |
1348 | .textbox {
1349 | -webkit-transition: all 0.7s ease;
1350 | transition: all 0.7s ease;
1351 | text-align:center;
1352 | }
1353 | .textbox h4 {
1354 | font-size: 1.8em;
1355 | color: #FFF;
1356 | margin-top: 2.7em;
1357 | text-transform: uppercase;
1358 | letter-spacing: 5px;
1359 | }
1360 | .textbox p {
1361 | font-size: 26px !important;
1362 | color: #fff;
1363 | background: rgba(0, 0, 0, 0.83);
1364 | margin: 6px 0 0 0!important;
1365 | padding: 3px 0;
1366 | }
1367 | .Projects-grids {
1368 | margin-top: 50px;
1369 | }
1370 | /*-- //Projects page --*/
1371 |
1372 | /*-- to-top --*/
1373 | #toTop {
1374 | display: none;
1375 | text-decoration: none;
1376 | position: fixed;
1377 | bottom: 20px;
1378 | right: 2%;
1379 | overflow: hidden;
1380 | z-index: 999;
1381 | width: 40px;
1382 | height: 40px;
1383 | border: none;
1384 | text-indent: 100%;
1385 | background: url(../static/arr.png) no-repeat 0px 0px;
1386 | }
1387 | #toTopHover {
1388 | width: 40px;
1389 | height: 40px;
1390 | display: block;
1391 | overflow: hidden;
1392 | float: right;
1393 | opacity: 0;
1394 | -moz-opacity: 0;
1395 | filter: alpha(opacity=0);
1396 | }
1397 | /*-- //to-top --*/
1398 |
1399 | /*-- Responsive design --*/
1400 |
1401 | @media screen and (max-width: 1440px) {
1402 | .slide-window .slide-wrapper .slide .slide-caption {
1403 | bottom: 17%;
1404 | }
1405 | }
1406 | @media screen and (max-width: 1366px) {
1407 | .slide-window .slide-wrapper .slide .slide-caption {
1408 | left: 20%;
1409 | width: 60%;
1410 | }
1411 | }
1412 | @media screen and (max-width: 1280px) {
1413 | .slide-window .slide-wrapper .slide .slide-caption {
1414 | left: 16%;
1415 | width: 68%;
1416 | bottom: 14%;
1417 | }
1418 | .slide-caption h2, .slide-caption h3 {
1419 | font-size: 3.2em;
1420 | }
1421 | .top-head {
1422 | width: 45%;
1423 | }
1424 | }
1425 | @media screen and (max-width: 1080px) {
1426 | .slide-window .slide-wrapper .slide .slide-caption {
1427 | left: 12%;
1428 | width: 75%;
1429 | bottom: 10%;
1430 | padding: 3em 2em;
1431 | }
1432 | .slide,.slide2,.slide3 {
1433 | height: 54vw;
1434 | }
1435 | .top-head {
1436 | width: 50%;
1437 | }
1438 | .welcome-grids h3,.welcome_bottom_right h3 {
1439 | font-size: 26px;
1440 | }
1441 | .agileits_w3layouts_about_counter_left p {
1442 | font-size: 2.3em;
1443 | }
1444 | .agileits_w3layouts_about_counter_left h3 {
1445 | font-size: 17px;
1446 | letter-spacing: 1px;
1447 | }
1448 | .feature-grids p {
1449 | font-size: 14.5px;
1450 | }
1451 | .footer-top input[type="email"] {
1452 | width: 81%;
1453 | }
1454 | h3.w3f_title {
1455 | font-size: 1.1em;
1456 | }
1457 | a.navbar-brand {
1458 | font-size: .9em;
1459 | }
1460 | .about-right p {
1461 | font-size: 15px;
1462 | }
1463 | .about-right h4 {
1464 | font-size: 27px;
1465 | line-height: 38px;
1466 | }
1467 | .about-in.middle-grid-info .card {
1468 | padding: 1.5em 1em;
1469 | }
1470 | .about-in.middle-grid-info h5.card-title {
1471 | font-size: 1.2em;
1472 | }
1473 | .textbox h4 {
1474 | font-size: 1.6em;
1475 | margin-top: 2.4em;
1476 | letter-spacing: 4px;
1477 | }
1478 | }
1479 | @media screen and (max-width: 1024px) {
1480 | .top-head {
1481 | width: 55%;
1482 | }
1483 | .partner-grids i.fab {
1484 | font-size: 60px;
1485 | }
1486 | .error_content form {
1487 | width: 60%;
1488 | }
1489 | .agileits-w3layouts-map iframe {
1490 | min-height: 350px;
1491 | }
1492 | }
1493 | @media screen and (max-width: 991px) {
1494 | .top-head {
1495 | margin: auto;
1496 | }
1497 | .navbar-light .navbar-toggler-icon {
1498 | background-image: none;
1499 | }
1500 | .navbar-light .navbar-toggler {
1501 | color: #fff;
1502 | padding: 10px 10px 0;
1503 | border-color: transparent;
1504 | }
1505 | .navbar-toggler {
1506 | font-size: 1.25rem;
1507 | background-color: #4c6ef5;
1508 | border-radius: 0;
1509 | }
1510 | .navbar-nav {
1511 | background: #111;
1512 | padding: 1em 0;
1513 | }
1514 | li.nav-item {
1515 | display: inline-block;
1516 | width: 22%;
1517 | margin: auto;
1518 | border: 2px solid transparent;
1519 | }
1520 | .navbar-light .navbar-nav .nav-link {
1521 | padding: 0.5em 0em;
1522 | }
1523 | .socials a i {
1524 | font-size: 15px;
1525 | width: 37px;
1526 | height: 37px;
1527 | line-height: 37px;
1528 | }
1529 | .inner-page-banner {
1530 | min-height: 325px;
1531 | }
1532 | .page-heading {
1533 | padding-top: 170px;
1534 | }
1535 | h4.agile-ser_bot {
1536 | font-size: 2em;
1537 | letter-spacing: 1px;
1538 | }
1539 | .serv_bottom h5 {
1540 | letter-spacing: 7px;
1541 | word-spacing: 20px;
1542 | font-size: 19px;
1543 | }
1544 | .about-in.middle-grid-info .card {
1545 | padding: 4em 1em;
1546 | }
1547 | .price-main-info {
1548 | padding: 0 2px;
1549 | }
1550 | .agileits-w3layouts-map iframe {
1551 | min-height: 300px;
1552 | }
1553 | }
1554 | @media screen and (max-width: 900px) {
1555 | .top-head {
1556 | width: 60%;
1557 | }
1558 | .slide-caption h2, .slide-caption h3 {
1559 | font-size: 2.8em;
1560 | letter-spacing: 8px;
1561 | }
1562 | .slide-caption p {
1563 | font-size: 15px;
1564 | }
1565 | .slide-window .slide-wrapper .slide .slide-caption {
1566 | bottom: 8%;
1567 | padding: 3em 0em;
1568 | }
1569 | .slide, .slide2, .slide3 {
1570 | height: 58vw;
1571 | }
1572 | }
1573 | @media screen and (max-width: 800px) {
1574 | .top-head {
1575 | width: 65%;
1576 | }
1577 | .slide-window .slide-wrapper .slide .slide-caption {
1578 | bottom: 6%;
1579 | left: 10%;
1580 | width: 81%;
1581 | }
1582 | .slide, .slide2, .slide3 {
1583 | height: 64vw;
1584 | }
1585 | .inner-page-banner {
1586 | min-height: 300px;
1587 | }
1588 | .page-heading {
1589 | padding-top: 160px;
1590 | }
1591 | }
1592 | @media screen and (max-width: 768px) {
1593 | .top-head {
1594 | width: 70%;
1595 | }
1596 | .slide-window .slide-wrapper .slide .slide-caption {
1597 | bottom: 5%;
1598 | }
1599 | .slide, .slide2, .slide3 {
1600 | height: 70vw;
1601 | }
1602 | .slide-caption p {
1603 | letter-spacing: .5px;
1604 | }
1605 | }
1606 | @media screen and (max-width: 736px) {
1607 | li.nav-item {
1608 | width: 27%;
1609 | }
1610 | h3.heading {
1611 | font-size: 36px;
1612 | letter-spacing: 4px;
1613 | }
1614 | .serv_bottom h5 {
1615 | letter-spacing: 6px;
1616 | word-spacing: 10px;
1617 | font-size: 18px;
1618 | }
1619 | .read {
1620 | margin-top: 1em;
1621 | }
1622 | .about-in.middle-grid-info .card {
1623 | padding: 2em 1em;
1624 | }
1625 | .textbox h4 {
1626 | margin-top: 3em;
1627 | }
1628 | .error_content {
1629 | border: 7px solid #eee;
1630 | padding: 2em 2em;
1631 | }
1632 | }
1633 | @media screen and (max-width: 667px) {
1634 | a.navbar-brand {
1635 | font-size: .8em;
1636 | }
1637 | .top-head a {
1638 | font-size: 15px;
1639 | }
1640 | .slide-caption h2, .slide-caption h3 {
1641 | font-size: 2.4em;
1642 | letter-spacing: 6px;
1643 | }
1644 | .slide, .slide2, .slide3 {
1645 | height: 78vw;
1646 | }
1647 | .read a {
1648 | font-size: 14px;
1649 | }
1650 | .read .btn {
1651 | width: 43px;
1652 | height: 43px;
1653 | line-height: 33px;
1654 | }
1655 | section.bottom-last h4.title {
1656 | font-size: 1.5em;
1657 | }
1658 | .inner-page-banner h2 {
1659 | font-size: 35px;
1660 | letter-spacing: 3px;
1661 | }
1662 | }
1663 | @media screen and (max-width: 600px) {
1664 |
1665 | .slide-window .slide-wrapper .slide .slide-caption {
1666 | bottom: 2%;
1667 | }
1668 | .fv3-contact p {
1669 | font-size: 15px;
1670 | }
1671 | li.nav-item {
1672 | width: 32%;
1673 | }
1674 | .navbar-light .navbar-nav .nav-link {
1675 | font-size: 15px;
1676 | }
1677 | h3.heading {
1678 | font-size: 40px;
1679 | letter-spacing: 5px;
1680 | }
1681 | .feature-grids h3 {
1682 | font-size: 20px;
1683 | }
1684 | .team-title {
1685 | font-size: 18px;
1686 | }
1687 | }
1688 | @media screen and (max-width: 568px) {
1689 | .slide, .slide2, .slide3 {
1690 | height: 82vw;
1691 | }
1692 | .slide-window .slide-wrapper .slide .slide-caption {
1693 | bottom: 0%;
1694 | }
1695 | .team-row {
1696 | width: 70%;
1697 | margin: auto;
1698 | }
1699 | li.nav-item {
1700 | width: 35%;
1701 | }
1702 | .about-right h4,.welcome-grids h3, .welcome_bottom_right h3 {
1703 | font-size: 24px;
1704 | }
1705 | .middle-grids {
1706 | width: 60%;
1707 | margin: auto;
1708 | }
1709 | .about-in.middle-grid-info .card {
1710 | padding: 3em 2em;
1711 | }
1712 | .inner_w3l_agile_grids-1 {
1713 | width: 70%;
1714 | margin: auto;
1715 | }
1716 | .error_content span {
1717 | font-size: 60px;
1718 | }
1719 | .error_content h3 {
1720 | font-size: 26px;
1721 | }
1722 | .error_content p {
1723 | font-size: 15px;
1724 | }
1725 | .menu-grids {
1726 | width: 60%;
1727 | margin: auto;
1728 | }
1729 | }
1730 | @media screen and (max-width: 480px) {
1731 | .top-head {
1732 | width: 85%;
1733 | }
1734 | .slide, .slide2, .slide3 {
1735 | height: 105vw;
1736 | }
1737 | .slide-caption h2, .slide-caption h3 {
1738 | font-size: 2em;
1739 | letter-spacing: 4px;
1740 | }
1741 | .slide-window .slide-wrapper .slide .slide-caption {
1742 | left: 8%;
1743 | width: 84%;
1744 | }
1745 | li.nav-item {
1746 | width: 40%;
1747 | }
1748 | .cpy-right p {
1749 | font-size: 15px;
1750 | }
1751 | .navbar {
1752 | padding: 0.5em 1em;
1753 | }
1754 | h4.agile-ser_bot {
1755 | font-size: 1.8em;
1756 | letter-spacing: 1px;
1757 | }
1758 | .serv_bottom h5 {
1759 | letter-spacing: 4px;
1760 | word-spacing: 5px;
1761 | font-size: 17px;
1762 | }
1763 | .middle-grids {
1764 | width: 70%;
1765 | }
1766 | .error_content form {
1767 | width: 80%;
1768 | }
1769 | .menu-grids {
1770 | width: 70%;
1771 | }
1772 | }
1773 | @media screen and (max-width: 414px) {
1774 | .top-head {
1775 | width: 100%;
1776 | }
1777 | .slide, .slide2, .slide3 {
1778 | height: 125vw;
1779 | }
1780 | a.navbar-brand {
1781 | font-size: .7em;
1782 | }
1783 | .navbar-light .navbar-toggler {
1784 | padding: 8px 8px 0;
1785 | font-size: 19px;
1786 | }
1787 | li.nav-item {
1788 | width: 50%;
1789 | }
1790 | .welcome-grids h3, .welcome_bottom_right h3 {
1791 | font-size: 23px;
1792 | letter-spacing: 1px;
1793 | }
1794 | .team-row {
1795 | width: 80%;
1796 | }
1797 | .agileits_w3layouts_about_counter_left span {
1798 | font-size: 18px;
1799 | width: 50px;
1800 | height: 50px;
1801 | line-height: 50px;
1802 | }
1803 | h3.heading {
1804 | font-size: 36px;
1805 | letter-spacing: 3px;
1806 | }
1807 | .inner-page-banner {
1808 | min-height: 250px;
1809 | }
1810 | .middle-grids {
1811 | width: 80%;
1812 | }
1813 | .inner_w3l_agile_grids-1 {
1814 | width: 80%;
1815 | }
1816 | .error_content form {
1817 | width: 90%;
1818 | }
1819 | .menu-grids {
1820 | width: 80%;
1821 | }
1822 | ul.list-unstyled li {
1823 | font-size: 15px;
1824 | line-height: 2.2em;
1825 | }
1826 | .price-main-info .card-body {
1827 | padding: 3em 1em;
1828 | }
1829 | .agileits-w3layouts-map iframe {
1830 | min-height: 250px;
1831 | }
1832 | .address h5 {
1833 | font-size: 1em;
1834 | letter-spacing: 1px;
1835 | }
1836 | .address p {
1837 | font-size: 15px;
1838 | }
1839 | }
1840 | @media screen and (max-width: 384px) {
1841 | .slide, .slide2, .slide3 {
1842 | height: 135vw;
1843 | }
1844 | li.nav-item {
1845 | width: 55%;
1846 | }
1847 | .welcome-grids p,.welcome_bottom_right p,p.para {
1848 | font-size: 15px;
1849 | }
1850 | .partner-grids i.fab {
1851 | font-size: 50px;
1852 | }
1853 | h4.progress-tittle {
1854 | font-size: 0.75em;
1855 | }
1856 | .inner-page-banner h2 {
1857 | font-size: 30px;
1858 | letter-spacing: 2px;
1859 | }
1860 | span.section_1-breadcrumbs, span.section_1-breadcrumbs a {
1861 | font-size: 15px;
1862 | letter-spacing: 1px;
1863 | }
1864 | h4.agile-ser_bot {
1865 | font-size: 1.5em;
1866 | letter-spacing: 0px;
1867 | }
1868 | .serv_bottom h5 {
1869 | letter-spacing: 3px;
1870 | word-spacing: 3px;
1871 | font-size: 15px;
1872 | }
1873 | .middle-grids {
1874 | width: 90%;
1875 | }
1876 | .error_content h3 {
1877 | font-size: 22px;
1878 | }
1879 | .error_content span {
1880 | font-size: 50px;
1881 | }
1882 | .error_content form {
1883 | width: 100%;
1884 | }
1885 | }
1886 | @media screen and (max-width: 375px) {
1887 | .sign-btn {
1888 | padding: 0;
1889 | }
1890 | .top-head a {
1891 | letter-spacing: 1px;
1892 | }
1893 | .slide-caption h2, .slide-caption h3 {
1894 | font-size: 1.8em;
1895 | letter-spacing: 2px;
1896 | }
1897 | .slide-caption p {
1898 | font-size: 14px;
1899 | }
1900 | .cpy-right p {
1901 | font-size: 14px;
1902 | }
1903 | .middle-grids {
1904 | width: 100%;
1905 | }
1906 | .menu-grids {
1907 | width: 95%;
1908 | }
1909 | .slide, .slide2, .slide3 {
1910 | height: 140vw;
1911 | }
1912 | }
1913 | @media screen and (max-width: 320px) {
1914 | .slide, .slide2, .slide3 {
1915 | height: 170vw;
1916 | }
1917 | .slide-caption p {
1918 | font-size: 13.5px;
1919 | }
1920 | li.nav-item {
1921 | width: 60%;
1922 | }
1923 | .countericon, .counterinfo {
1924 | float: none;
1925 | }
1926 | h3.heading {
1927 | font-size: 30px;
1928 | letter-spacing: 2px;
1929 | }
1930 | .team-row {
1931 | width: 100%;
1932 | }
1933 | .inner_w3l_agile_grids-1 {
1934 | width: 100%;
1935 | }
1936 | }
1937 | /*-- //Responsive design --*/
--------------------------------------------------------------------------------
/static/fontawesome-all.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.0.8 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | .fa,
6 | .fas,
7 | .far,
8 | .fal,
9 | .fab {
10 | -moz-osx-font-smoothing: grayscale;
11 | -webkit-font-smoothing: antialiased;
12 | display: inline-block;
13 | font-style: normal;
14 | font-variant: normal;
15 | text-rendering: auto;
16 | line-height: 1; }
17 |
18 | .fa-lg {
19 | font-size: 1.33333em;
20 | line-height: 0.75em;
21 | vertical-align: -.0667em; }
22 |
23 | .fa-xs {
24 | font-size: .75em; }
25 |
26 | .fa-sm {
27 | font-size: .875em; }
28 |
29 | .fa-1x {
30 | font-size: 1em; }
31 |
32 | .fa-2x {
33 | font-size: 2em; }
34 |
35 | .fa-3x {
36 | font-size: 3em; }
37 |
38 | .fa-4x {
39 | font-size: 4em; }
40 |
41 | .fa-5x {
42 | font-size: 5em; }
43 |
44 | .fa-6x {
45 | font-size: 6em; }
46 |
47 | .fa-7x {
48 | font-size: 7em; }
49 |
50 | .fa-8x {
51 | font-size: 8em; }
52 |
53 | .fa-9x {
54 | font-size: 9em; }
55 |
56 | .fa-10x {
57 | font-size: 10em; }
58 |
59 | .fa-fw {
60 | text-align: center;
61 | width: 1.25em; }
62 |
63 | .fa-ul {
64 | list-style-type: none;
65 | margin-left: 2.5em;
66 | padding-left: 0; }
67 | .fa-ul > li {
68 | position: relative; }
69 |
70 | .fa-li {
71 | left: -2em;
72 | position: absolute;
73 | text-align: center;
74 | width: 2em;
75 | line-height: inherit; }
76 |
77 | .fa-border {
78 | border: solid 0.08em #eee;
79 | border-radius: .1em;
80 | padding: .2em .25em .15em; }
81 |
82 | .fa-pull-left {
83 | float: left; }
84 |
85 | .fa-pull-right {
86 | float: right; }
87 |
88 | .fa.fa-pull-left,
89 | .fas.fa-pull-left,
90 | .far.fa-pull-left,
91 | .fal.fa-pull-left,
92 | .fab.fa-pull-left {
93 | margin-right: .3em; }
94 |
95 | .fa.fa-pull-right,
96 | .fas.fa-pull-right,
97 | .far.fa-pull-right,
98 | .fal.fa-pull-right,
99 | .fab.fa-pull-right {
100 | margin-left: .3em; }
101 |
102 | .fa-spin {
103 | -webkit-animation: fa-spin 2s infinite linear;
104 | animation: fa-spin 2s infinite linear; }
105 |
106 | .fa-pulse {
107 | -webkit-animation: fa-spin 1s infinite steps(8);
108 | animation: fa-spin 1s infinite steps(8); }
109 |
110 | @-webkit-keyframes fa-spin {
111 | 0% {
112 | -webkit-transform: rotate(0deg);
113 | transform: rotate(0deg); }
114 | 100% {
115 | -webkit-transform: rotate(360deg);
116 | transform: rotate(360deg); } }
117 |
118 | @keyframes fa-spin {
119 | 0% {
120 | -webkit-transform: rotate(0deg);
121 | transform: rotate(0deg); }
122 | 100% {
123 | -webkit-transform: rotate(360deg);
124 | transform: rotate(360deg); } }
125 |
126 | .fa-rotate-90 {
127 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
128 | -webkit-transform: rotate(90deg);
129 | transform: rotate(90deg); }
130 |
131 | .fa-rotate-180 {
132 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
133 | -webkit-transform: rotate(180deg);
134 | transform: rotate(180deg); }
135 |
136 | .fa-rotate-270 {
137 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
138 | -webkit-transform: rotate(270deg);
139 | transform: rotate(270deg); }
140 |
141 | .fa-flip-horizontal {
142 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
143 | -webkit-transform: scale(-1, 1);
144 | transform: scale(-1, 1); }
145 |
146 | .fa-flip-vertical {
147 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
148 | -webkit-transform: scale(1, -1);
149 | transform: scale(1, -1); }
150 |
151 | .fa-flip-horizontal.fa-flip-vertical {
152 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
153 | -webkit-transform: scale(-1, -1);
154 | transform: scale(-1, -1); }
155 |
156 | :root .fa-rotate-90,
157 | :root .fa-rotate-180,
158 | :root .fa-rotate-270,
159 | :root .fa-flip-horizontal,
160 | :root .fa-flip-vertical {
161 | -webkit-filter: none;
162 | filter: none; }
163 |
164 | .fa-stack {
165 | display: inline-block;
166 | height: 2em;
167 | line-height: 2em;
168 | position: relative;
169 | vertical-align: middle;
170 | width: 2em; }
171 |
172 | .fa-stack-1x,
173 | .fa-stack-2x {
174 | left: 0;
175 | position: absolute;
176 | text-align: center;
177 | width: 100%; }
178 |
179 | .fa-stack-1x {
180 | line-height: inherit; }
181 |
182 | .fa-stack-2x {
183 | font-size: 2em; }
184 |
185 | .fa-inverse {
186 | color: #fff; }
187 |
188 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
189 | readers do not read off random characters that represent icons */
190 | .fa-500px:before {
191 | content: "\f26e"; }
192 |
193 | .fa-accessible-icon:before {
194 | content: "\f368"; }
195 |
196 | .fa-accusoft:before {
197 | content: "\f369"; }
198 |
199 | .fa-address-book:before {
200 | content: "\f2b9"; }
201 |
202 | .fa-address-card:before {
203 | content: "\f2bb"; }
204 |
205 | .fa-adjust:before {
206 | content: "\f042"; }
207 |
208 | .fa-adn:before {
209 | content: "\f170"; }
210 |
211 | .fa-adversal:before {
212 | content: "\f36a"; }
213 |
214 | .fa-affiliatetheme:before {
215 | content: "\f36b"; }
216 |
217 | .fa-algolia:before {
218 | content: "\f36c"; }
219 |
220 | .fa-align-center:before {
221 | content: "\f037"; }
222 |
223 | .fa-align-justify:before {
224 | content: "\f039"; }
225 |
226 | .fa-align-left:before {
227 | content: "\f036"; }
228 |
229 | .fa-align-right:before {
230 | content: "\f038"; }
231 |
232 | .fa-amazon:before {
233 | content: "\f270"; }
234 |
235 | .fa-amazon-pay:before {
236 | content: "\f42c"; }
237 |
238 | .fa-ambulance:before {
239 | content: "\f0f9"; }
240 |
241 | .fa-american-sign-language-interpreting:before {
242 | content: "\f2a3"; }
243 |
244 | .fa-amilia:before {
245 | content: "\f36d"; }
246 |
247 | .fa-anchor:before {
248 | content: "\f13d"; }
249 |
250 | .fa-android:before {
251 | content: "\f17b"; }
252 |
253 | .fa-angellist:before {
254 | content: "\f209"; }
255 |
256 | .fa-angle-double-down:before {
257 | content: "\f103"; }
258 |
259 | .fa-angle-double-left:before {
260 | content: "\f100"; }
261 |
262 | .fa-angle-double-right:before {
263 | content: "\f101"; }
264 |
265 | .fa-angle-double-up:before {
266 | content: "\f102"; }
267 |
268 | .fa-angle-down:before {
269 | content: "\f107"; }
270 |
271 | .fa-angle-left:before {
272 | content: "\f104"; }
273 |
274 | .fa-angle-right:before {
275 | content: "\f105"; }
276 |
277 | .fa-angle-up:before {
278 | content: "\f106"; }
279 |
280 | .fa-angrycreative:before {
281 | content: "\f36e"; }
282 |
283 | .fa-angular:before {
284 | content: "\f420"; }
285 |
286 | .fa-app-store:before {
287 | content: "\f36f"; }
288 |
289 | .fa-app-store-ios:before {
290 | content: "\f370"; }
291 |
292 | .fa-apper:before {
293 | content: "\f371"; }
294 |
295 | .fa-apple:before {
296 | content: "\f179"; }
297 |
298 | .fa-apple-pay:before {
299 | content: "\f415"; }
300 |
301 | .fa-archive:before {
302 | content: "\f187"; }
303 |
304 | .fa-arrow-alt-circle-down:before {
305 | content: "\f358"; }
306 |
307 | .fa-arrow-alt-circle-left:before {
308 | content: "\f359"; }
309 |
310 | .fa-arrow-alt-circle-right:before {
311 | content: "\f35a"; }
312 |
313 | .fa-arrow-alt-circle-up:before {
314 | content: "\f35b"; }
315 |
316 | .fa-arrow-circle-down:before {
317 | content: "\f0ab"; }
318 |
319 | .fa-arrow-circle-left:before {
320 | content: "\f0a8"; }
321 |
322 | .fa-arrow-circle-right:before {
323 | content: "\f0a9"; }
324 |
325 | .fa-arrow-circle-up:before {
326 | content: "\f0aa"; }
327 |
328 | .fa-arrow-down:before {
329 | content: "\f063"; }
330 |
331 | .fa-arrow-left:before {
332 | content: "\f060"; }
333 |
334 | .fa-arrow-right:before {
335 | content: "\f061"; }
336 |
337 | .fa-arrow-up:before {
338 | content: "\f062"; }
339 |
340 | .fa-arrows-alt:before {
341 | content: "\f0b2"; }
342 |
343 | .fa-arrows-alt-h:before {
344 | content: "\f337"; }
345 |
346 | .fa-arrows-alt-v:before {
347 | content: "\f338"; }
348 |
349 | .fa-assistive-listening-systems:before {
350 | content: "\f2a2"; }
351 |
352 | .fa-asterisk:before {
353 | content: "\f069"; }
354 |
355 | .fa-asymmetrik:before {
356 | content: "\f372"; }
357 |
358 | .fa-at:before {
359 | content: "\f1fa"; }
360 |
361 | .fa-audible:before {
362 | content: "\f373"; }
363 |
364 | .fa-audio-description:before {
365 | content: "\f29e"; }
366 |
367 | .fa-autoprefixer:before {
368 | content: "\f41c"; }
369 |
370 | .fa-avianex:before {
371 | content: "\f374"; }
372 |
373 | .fa-aviato:before {
374 | content: "\f421"; }
375 |
376 | .fa-aws:before {
377 | content: "\f375"; }
378 |
379 | .fa-backward:before {
380 | content: "\f04a"; }
381 |
382 | .fa-balance-scale:before {
383 | content: "\f24e"; }
384 |
385 | .fa-ban:before {
386 | content: "\f05e"; }
387 |
388 | .fa-band-aid:before {
389 | content: "\f462"; }
390 |
391 | .fa-bandcamp:before {
392 | content: "\f2d5"; }
393 |
394 | .fa-barcode:before {
395 | content: "\f02a"; }
396 |
397 | .fa-bars:before {
398 | content: "\f0c9"; }
399 |
400 | .fa-baseball-ball:before {
401 | content: "\f433"; }
402 |
403 | .fa-basketball-ball:before {
404 | content: "\f434"; }
405 |
406 | .fa-bath:before {
407 | content: "\f2cd"; }
408 |
409 | .fa-battery-empty:before {
410 | content: "\f244"; }
411 |
412 | .fa-battery-full:before {
413 | content: "\f240"; }
414 |
415 | .fa-battery-half:before {
416 | content: "\f242"; }
417 |
418 | .fa-battery-quarter:before {
419 | content: "\f243"; }
420 |
421 | .fa-battery-three-quarters:before {
422 | content: "\f241"; }
423 |
424 | .fa-bed:before {
425 | content: "\f236"; }
426 |
427 | .fa-beer:before {
428 | content: "\f0fc"; }
429 |
430 | .fa-behance:before {
431 | content: "\f1b4"; }
432 |
433 | .fa-behance-square:before {
434 | content: "\f1b5"; }
435 |
436 | .fa-bell:before {
437 | content: "\f0f3"; }
438 |
439 | .fa-bell-slash:before {
440 | content: "\f1f6"; }
441 |
442 | .fa-bicycle:before {
443 | content: "\f206"; }
444 |
445 | .fa-bimobject:before {
446 | content: "\f378"; }
447 |
448 | .fa-binoculars:before {
449 | content: "\f1e5"; }
450 |
451 | .fa-birthday-cake:before {
452 | content: "\f1fd"; }
453 |
454 | .fa-bitbucket:before {
455 | content: "\f171"; }
456 |
457 | .fa-bitcoin:before {
458 | content: "\f379"; }
459 |
460 | .fa-bity:before {
461 | content: "\f37a"; }
462 |
463 | .fa-black-tie:before {
464 | content: "\f27e"; }
465 |
466 | .fa-blackberry:before {
467 | content: "\f37b"; }
468 |
469 | .fa-blind:before {
470 | content: "\f29d"; }
471 |
472 | .fa-blogger:before {
473 | content: "\f37c"; }
474 |
475 | .fa-blogger-b:before {
476 | content: "\f37d"; }
477 |
478 | .fa-bluetooth:before {
479 | content: "\f293"; }
480 |
481 | .fa-bluetooth-b:before {
482 | content: "\f294"; }
483 |
484 | .fa-bold:before {
485 | content: "\f032"; }
486 |
487 | .fa-bolt:before {
488 | content: "\f0e7"; }
489 |
490 | .fa-bomb:before {
491 | content: "\f1e2"; }
492 |
493 | .fa-book:before {
494 | content: "\f02d"; }
495 |
496 | .fa-bookmark:before {
497 | content: "\f02e"; }
498 |
499 | .fa-bowling-ball:before {
500 | content: "\f436"; }
501 |
502 | .fa-box:before {
503 | content: "\f466"; }
504 |
505 | .fa-boxes:before {
506 | content: "\f468"; }
507 |
508 | .fa-braille:before {
509 | content: "\f2a1"; }
510 |
511 | .fa-briefcase:before {
512 | content: "\f0b1"; }
513 |
514 | .fa-btc:before {
515 | content: "\f15a"; }
516 |
517 | .fa-bug:before {
518 | content: "\f188"; }
519 |
520 | .fa-building:before {
521 | content: "\f1ad"; }
522 |
523 | .fa-bullhorn:before {
524 | content: "\f0a1"; }
525 |
526 | .fa-bullseye:before {
527 | content: "\f140"; }
528 |
529 | .fa-buromobelexperte:before {
530 | content: "\f37f"; }
531 |
532 | .fa-bus:before {
533 | content: "\f207"; }
534 |
535 | .fa-buysellads:before {
536 | content: "\f20d"; }
537 |
538 | .fa-calculator:before {
539 | content: "\f1ec"; }
540 |
541 | .fa-calendar:before {
542 | content: "\f133"; }
543 |
544 | .fa-calendar-alt:before {
545 | content: "\f073"; }
546 |
547 | .fa-calendar-check:before {
548 | content: "\f274"; }
549 |
550 | .fa-calendar-minus:before {
551 | content: "\f272"; }
552 |
553 | .fa-calendar-plus:before {
554 | content: "\f271"; }
555 |
556 | .fa-calendar-times:before {
557 | content: "\f273"; }
558 |
559 | .fa-camera:before {
560 | content: "\f030"; }
561 |
562 | .fa-camera-retro:before {
563 | content: "\f083"; }
564 |
565 | .fa-car:before {
566 | content: "\f1b9"; }
567 |
568 | .fa-caret-down:before {
569 | content: "\f0d7"; }
570 |
571 | .fa-caret-left:before {
572 | content: "\f0d9"; }
573 |
574 | .fa-caret-right:before {
575 | content: "\f0da"; }
576 |
577 | .fa-caret-square-down:before {
578 | content: "\f150"; }
579 |
580 | .fa-caret-square-left:before {
581 | content: "\f191"; }
582 |
583 | .fa-caret-square-right:before {
584 | content: "\f152"; }
585 |
586 | .fa-caret-square-up:before {
587 | content: "\f151"; }
588 |
589 | .fa-caret-up:before {
590 | content: "\f0d8"; }
591 |
592 | .fa-cart-arrow-down:before {
593 | content: "\f218"; }
594 |
595 | .fa-cart-plus:before {
596 | content: "\f217"; }
597 |
598 | .fa-cc-amazon-pay:before {
599 | content: "\f42d"; }
600 |
601 | .fa-cc-amex:before {
602 | content: "\f1f3"; }
603 |
604 | .fa-cc-apple-pay:before {
605 | content: "\f416"; }
606 |
607 | .fa-cc-diners-club:before {
608 | content: "\f24c"; }
609 |
610 | .fa-cc-discover:before {
611 | content: "\f1f2"; }
612 |
613 | .fa-cc-jcb:before {
614 | content: "\f24b"; }
615 |
616 | .fa-cc-mastercard:before {
617 | content: "\f1f1"; }
618 |
619 | .fa-cc-paypal:before {
620 | content: "\f1f4"; }
621 |
622 | .fa-cc-stripe:before {
623 | content: "\f1f5"; }
624 |
625 | .fa-cc-visa:before {
626 | content: "\f1f0"; }
627 |
628 | .fa-centercode:before {
629 | content: "\f380"; }
630 |
631 | .fa-certificate:before {
632 | content: "\f0a3"; }
633 |
634 | .fa-chart-area:before {
635 | content: "\f1fe"; }
636 |
637 | .fa-chart-bar:before {
638 | content: "\f080"; }
639 |
640 | .fa-chart-line:before {
641 | content: "\f201"; }
642 |
643 | .fa-chart-pie:before {
644 | content: "\f200"; }
645 |
646 | .fa-check:before {
647 | content: "\f00c"; }
648 |
649 | .fa-check-circle:before {
650 | content: "\f058"; }
651 |
652 | .fa-check-square:before {
653 | content: "\f14a"; }
654 |
655 | .fa-chess:before {
656 | content: "\f439"; }
657 |
658 | .fa-chess-bishop:before {
659 | content: "\f43a"; }
660 |
661 | .fa-chess-board:before {
662 | content: "\f43c"; }
663 |
664 | .fa-chess-king:before {
665 | content: "\f43f"; }
666 |
667 | .fa-chess-knight:before {
668 | content: "\f441"; }
669 |
670 | .fa-chess-pawn:before {
671 | content: "\f443"; }
672 |
673 | .fa-chess-queen:before {
674 | content: "\f445"; }
675 |
676 | .fa-chess-rook:before {
677 | content: "\f447"; }
678 |
679 | .fa-chevron-circle-down:before {
680 | content: "\f13a"; }
681 |
682 | .fa-chevron-circle-left:before {
683 | content: "\f137"; }
684 |
685 | .fa-chevron-circle-right:before {
686 | content: "\f138"; }
687 |
688 | .fa-chevron-circle-up:before {
689 | content: "\f139"; }
690 |
691 | .fa-chevron-down:before {
692 | content: "\f078"; }
693 |
694 | .fa-chevron-left:before {
695 | content: "\f053"; }
696 |
697 | .fa-chevron-right:before {
698 | content: "\f054"; }
699 |
700 | .fa-chevron-up:before {
701 | content: "\f077"; }
702 |
703 | .fa-child:before {
704 | content: "\f1ae"; }
705 |
706 | .fa-chrome:before {
707 | content: "\f268"; }
708 |
709 | .fa-circle:before {
710 | content: "\f111"; }
711 |
712 | .fa-circle-notch:before {
713 | content: "\f1ce"; }
714 |
715 | .fa-clipboard:before {
716 | content: "\f328"; }
717 |
718 | .fa-clipboard-check:before {
719 | content: "\f46c"; }
720 |
721 | .fa-clipboard-list:before {
722 | content: "\f46d"; }
723 |
724 | .fa-clock:before {
725 | content: "\f017"; }
726 |
727 | .fa-clone:before {
728 | content: "\f24d"; }
729 |
730 | .fa-closed-captioning:before {
731 | content: "\f20a"; }
732 |
733 | .fa-cloud:before {
734 | content: "\f0c2"; }
735 |
736 | .fa-cloud-download-alt:before {
737 | content: "\f381"; }
738 |
739 | .fa-cloud-upload-alt:before {
740 | content: "\f382"; }
741 |
742 | .fa-cloudscale:before {
743 | content: "\f383"; }
744 |
745 | .fa-cloudsmith:before {
746 | content: "\f384"; }
747 |
748 | .fa-cloudversify:before {
749 | content: "\f385"; }
750 |
751 | .fa-code:before {
752 | content: "\f121"; }
753 |
754 | .fa-code-branch:before {
755 | content: "\f126"; }
756 |
757 | .fa-codepen:before {
758 | content: "\f1cb"; }
759 |
760 | .fa-codiepie:before {
761 | content: "\f284"; }
762 |
763 | .fa-coffee:before {
764 | content: "\f0f4"; }
765 |
766 | .fa-cog:before {
767 | content: "\f013"; }
768 |
769 | .fa-cogs:before {
770 | content: "\f085"; }
771 |
772 | .fa-columns:before {
773 | content: "\f0db"; }
774 |
775 | .fa-comment:before {
776 | content: "\f075"; }
777 |
778 | .fa-comment-alt:before {
779 | content: "\f27a"; }
780 |
781 | .fa-comments:before {
782 | content: "\f086"; }
783 |
784 | .fa-compass:before {
785 | content: "\f14e"; }
786 |
787 | .fa-compress:before {
788 | content: "\f066"; }
789 |
790 | .fa-connectdevelop:before {
791 | content: "\f20e"; }
792 |
793 | .fa-contao:before {
794 | content: "\f26d"; }
795 |
796 | .fa-copy:before {
797 | content: "\f0c5"; }
798 |
799 | .fa-copyright:before {
800 | content: "\f1f9"; }
801 |
802 | .fa-cpanel:before {
803 | content: "\f388"; }
804 |
805 | .fa-creative-commons:before {
806 | content: "\f25e"; }
807 |
808 | .fa-credit-card:before {
809 | content: "\f09d"; }
810 |
811 | .fa-crop:before {
812 | content: "\f125"; }
813 |
814 | .fa-crosshairs:before {
815 | content: "\f05b"; }
816 |
817 | .fa-css3:before {
818 | content: "\f13c"; }
819 |
820 | .fa-css3-alt:before {
821 | content: "\f38b"; }
822 |
823 | .fa-cube:before {
824 | content: "\f1b2"; }
825 |
826 | .fa-cubes:before {
827 | content: "\f1b3"; }
828 |
829 | .fa-cut:before {
830 | content: "\f0c4"; }
831 |
832 | .fa-cuttlefish:before {
833 | content: "\f38c"; }
834 |
835 | .fa-d-and-d:before {
836 | content: "\f38d"; }
837 |
838 | .fa-dashcube:before {
839 | content: "\f210"; }
840 |
841 | .fa-database:before {
842 | content: "\f1c0"; }
843 |
844 | .fa-deaf:before {
845 | content: "\f2a4"; }
846 |
847 | .fa-delicious:before {
848 | content: "\f1a5"; }
849 |
850 | .fa-deploydog:before {
851 | content: "\f38e"; }
852 |
853 | .fa-deskpro:before {
854 | content: "\f38f"; }
855 |
856 | .fa-desktop:before {
857 | content: "\f108"; }
858 |
859 | .fa-deviantart:before {
860 | content: "\f1bd"; }
861 |
862 | .fa-digg:before {
863 | content: "\f1a6"; }
864 |
865 | .fa-digital-ocean:before {
866 | content: "\f391"; }
867 |
868 | .fa-discord:before {
869 | content: "\f392"; }
870 |
871 | .fa-discourse:before {
872 | content: "\f393"; }
873 |
874 | .fa-dna:before {
875 | content: "\f471"; }
876 |
877 | .fa-dochub:before {
878 | content: "\f394"; }
879 |
880 | .fa-docker:before {
881 | content: "\f395"; }
882 |
883 | .fa-dollar-sign:before {
884 | content: "\f155"; }
885 |
886 | .fa-dolly:before {
887 | content: "\f472"; }
888 |
889 | .fa-dolly-flatbed:before {
890 | content: "\f474"; }
891 |
892 | .fa-dot-circle:before {
893 | content: "\f192"; }
894 |
895 | .fa-download:before {
896 | content: "\f019"; }
897 |
898 | .fa-draft2digital:before {
899 | content: "\f396"; }
900 |
901 | .fa-dribbble:before {
902 | content: "\f17d"; }
903 |
904 | .fa-dribbble-square:before {
905 | content: "\f397"; }
906 |
907 | .fa-dropbox:before {
908 | content: "\f16b"; }
909 |
910 | .fa-drupal:before {
911 | content: "\f1a9"; }
912 |
913 | .fa-dyalog:before {
914 | content: "\f399"; }
915 |
916 | .fa-earlybirds:before {
917 | content: "\f39a"; }
918 |
919 | .fa-edge:before {
920 | content: "\f282"; }
921 |
922 | .fa-edit:before {
923 | content: "\f044"; }
924 |
925 | .fa-eject:before {
926 | content: "\f052"; }
927 |
928 | .fa-elementor:before {
929 | content: "\f430"; }
930 |
931 | .fa-ellipsis-h:before {
932 | content: "\f141"; }
933 |
934 | .fa-ellipsis-v:before {
935 | content: "\f142"; }
936 |
937 | .fa-ember:before {
938 | content: "\f423"; }
939 |
940 | .fa-empire:before {
941 | content: "\f1d1"; }
942 |
943 | .fa-envelope:before {
944 | content: "\f0e0"; }
945 |
946 | .fa-envelope-open:before {
947 | content: "\f2b6"; }
948 |
949 | .fa-envelope-square:before {
950 | content: "\f199"; }
951 |
952 | .fa-envira:before {
953 | content: "\f299"; }
954 |
955 | .fa-eraser:before {
956 | content: "\f12d"; }
957 |
958 | .fa-erlang:before {
959 | content: "\f39d"; }
960 |
961 | .fa-ethereum:before {
962 | content: "\f42e"; }
963 |
964 | .fa-etsy:before {
965 | content: "\f2d7"; }
966 |
967 | .fa-euro-sign:before {
968 | content: "\f153"; }
969 |
970 | .fa-exchange-alt:before {
971 | content: "\f362"; }
972 |
973 | .fa-exclamation:before {
974 | content: "\f12a"; }
975 |
976 | .fa-exclamation-circle:before {
977 | content: "\f06a"; }
978 |
979 | .fa-exclamation-triangle:before {
980 | content: "\f071"; }
981 |
982 | .fa-expand:before {
983 | content: "\f065"; }
984 |
985 | .fa-expand-arrows-alt:before {
986 | content: "\f31e"; }
987 |
988 | .fa-expeditedssl:before {
989 | content: "\f23e"; }
990 |
991 | .fa-external-link-alt:before {
992 | content: "\f35d"; }
993 |
994 | .fa-external-link-square-alt:before {
995 | content: "\f360"; }
996 |
997 | .fa-eye:before {
998 | content: "\f06e"; }
999 |
1000 | .fa-eye-dropper:before {
1001 | content: "\f1fb"; }
1002 |
1003 | .fa-eye-slash:before {
1004 | content: "\f070"; }
1005 |
1006 | .fa-facebook:before {
1007 | content: "\f09a"; }
1008 |
1009 | .fa-facebook-f:before {
1010 | content: "\f39e"; }
1011 |
1012 | .fa-facebook-messenger:before {
1013 | content: "\f39f"; }
1014 |
1015 | .fa-facebook-square:before {
1016 | content: "\f082"; }
1017 |
1018 | .fa-fast-backward:before {
1019 | content: "\f049"; }
1020 |
1021 | .fa-fast-forward:before {
1022 | content: "\f050"; }
1023 |
1024 | .fa-fax:before {
1025 | content: "\f1ac"; }
1026 |
1027 | .fa-female:before {
1028 | content: "\f182"; }
1029 |
1030 | .fa-fighter-jet:before {
1031 | content: "\f0fb"; }
1032 |
1033 | .fa-file:before {
1034 | content: "\f15b"; }
1035 |
1036 | .fa-file-alt:before {
1037 | content: "\f15c"; }
1038 |
1039 | .fa-file-archive:before {
1040 | content: "\f1c6"; }
1041 |
1042 | .fa-file-audio:before {
1043 | content: "\f1c7"; }
1044 |
1045 | .fa-file-code:before {
1046 | content: "\f1c9"; }
1047 |
1048 | .fa-file-excel:before {
1049 | content: "\f1c3"; }
1050 |
1051 | .fa-file-image:before {
1052 | content: "\f1c5"; }
1053 |
1054 | .fa-file-pdf:before {
1055 | content: "\f1c1"; }
1056 |
1057 | .fa-file-powerpoint:before {
1058 | content: "\f1c4"; }
1059 |
1060 | .fa-file-video:before {
1061 | content: "\f1c8"; }
1062 |
1063 | .fa-file-word:before {
1064 | content: "\f1c2"; }
1065 |
1066 | .fa-film:before {
1067 | content: "\f008"; }
1068 |
1069 | .fa-filter:before {
1070 | content: "\f0b0"; }
1071 |
1072 | .fa-fire:before {
1073 | content: "\f06d"; }
1074 |
1075 | .fa-fire-extinguisher:before {
1076 | content: "\f134"; }
1077 |
1078 | .fa-firefox:before {
1079 | content: "\f269"; }
1080 |
1081 | .fa-first-aid:before {
1082 | content: "\f479"; }
1083 |
1084 | .fa-first-order:before {
1085 | content: "\f2b0"; }
1086 |
1087 | .fa-firstdraft:before {
1088 | content: "\f3a1"; }
1089 |
1090 | .fa-flag:before {
1091 | content: "\f024"; }
1092 |
1093 | .fa-flag-checkered:before {
1094 | content: "\f11e"; }
1095 |
1096 | .fa-flask:before {
1097 | content: "\f0c3"; }
1098 |
1099 | .fa-flickr:before {
1100 | content: "\f16e"; }
1101 |
1102 | .fa-flipboard:before {
1103 | content: "\f44d"; }
1104 |
1105 | .fa-fly:before {
1106 | content: "\f417"; }
1107 |
1108 | .fa-folder:before {
1109 | content: "\f07b"; }
1110 |
1111 | .fa-folder-open:before {
1112 | content: "\f07c"; }
1113 |
1114 | .fa-font:before {
1115 | content: "\f031"; }
1116 |
1117 | .fa-font-awesome:before {
1118 | content: "\f2b4"; }
1119 |
1120 | .fa-font-awesome-alt:before {
1121 | content: "\f35c"; }
1122 |
1123 | .fa-font-awesome-flag:before {
1124 | content: "\f425"; }
1125 |
1126 | .fa-fonticons:before {
1127 | content: "\f280"; }
1128 |
1129 | .fa-fonticons-fi:before {
1130 | content: "\f3a2"; }
1131 |
1132 | .fa-football-ball:before {
1133 | content: "\f44e"; }
1134 |
1135 | .fa-fort-awesome:before {
1136 | content: "\f286"; }
1137 |
1138 | .fa-fort-awesome-alt:before {
1139 | content: "\f3a3"; }
1140 |
1141 | .fa-forumbee:before {
1142 | content: "\f211"; }
1143 |
1144 | .fa-forward:before {
1145 | content: "\f04e"; }
1146 |
1147 | .fa-foursquare:before {
1148 | content: "\f180"; }
1149 |
1150 | .fa-free-code-camp:before {
1151 | content: "\f2c5"; }
1152 |
1153 | .fa-freebsd:before {
1154 | content: "\f3a4"; }
1155 |
1156 | .fa-frown:before {
1157 | content: "\f119"; }
1158 |
1159 | .fa-futbol:before {
1160 | content: "\f1e3"; }
1161 |
1162 | .fa-gamepad:before {
1163 | content: "\f11b"; }
1164 |
1165 | .fa-gavel:before {
1166 | content: "\f0e3"; }
1167 |
1168 | .fa-gem:before {
1169 | content: "\f3a5"; }
1170 |
1171 | .fa-genderless:before {
1172 | content: "\f22d"; }
1173 |
1174 | .fa-get-pocket:before {
1175 | content: "\f265"; }
1176 |
1177 | .fa-gg:before {
1178 | content: "\f260"; }
1179 |
1180 | .fa-gg-circle:before {
1181 | content: "\f261"; }
1182 |
1183 | .fa-gift:before {
1184 | content: "\f06b"; }
1185 |
1186 | .fa-git:before {
1187 | content: "\f1d3"; }
1188 |
1189 | .fa-git-square:before {
1190 | content: "\f1d2"; }
1191 |
1192 | .fa-github:before {
1193 | content: "\f09b"; }
1194 |
1195 | .fa-github-alt:before {
1196 | content: "\f113"; }
1197 |
1198 | .fa-github-square:before {
1199 | content: "\f092"; }
1200 |
1201 | .fa-gitkraken:before {
1202 | content: "\f3a6"; }
1203 |
1204 | .fa-gitlab:before {
1205 | content: "\f296"; }
1206 |
1207 | .fa-gitter:before {
1208 | content: "\f426"; }
1209 |
1210 | .fa-glass-martini:before {
1211 | content: "\f000"; }
1212 |
1213 | .fa-glide:before {
1214 | content: "\f2a5"; }
1215 |
1216 | .fa-glide-g:before {
1217 | content: "\f2a6"; }
1218 |
1219 | .fa-globe:before {
1220 | content: "\f0ac"; }
1221 |
1222 | .fa-gofore:before {
1223 | content: "\f3a7"; }
1224 |
1225 | .fa-golf-ball:before {
1226 | content: "\f450"; }
1227 |
1228 | .fa-goodreads:before {
1229 | content: "\f3a8"; }
1230 |
1231 | .fa-goodreads-g:before {
1232 | content: "\f3a9"; }
1233 |
1234 | .fa-google:before {
1235 | content: "\f1a0"; }
1236 |
1237 | .fa-google-drive:before {
1238 | content: "\f3aa"; }
1239 |
1240 | .fa-google-play:before {
1241 | content: "\f3ab"; }
1242 |
1243 | .fa-google-plus:before {
1244 | content: "\f2b3"; }
1245 |
1246 | .fa-google-plus-g:before {
1247 | content: "\f0d5"; }
1248 |
1249 | .fa-google-plus-square:before {
1250 | content: "\f0d4"; }
1251 |
1252 | .fa-google-wallet:before {
1253 | content: "\f1ee"; }
1254 |
1255 | .fa-graduation-cap:before {
1256 | content: "\f19d"; }
1257 |
1258 | .fa-gratipay:before {
1259 | content: "\f184"; }
1260 |
1261 | .fa-grav:before {
1262 | content: "\f2d6"; }
1263 |
1264 | .fa-gripfire:before {
1265 | content: "\f3ac"; }
1266 |
1267 | .fa-grunt:before {
1268 | content: "\f3ad"; }
1269 |
1270 | .fa-gulp:before {
1271 | content: "\f3ae"; }
1272 |
1273 | .fa-h-square:before {
1274 | content: "\f0fd"; }
1275 |
1276 | .fa-hacker-news:before {
1277 | content: "\f1d4"; }
1278 |
1279 | .fa-hacker-news-square:before {
1280 | content: "\f3af"; }
1281 |
1282 | .fa-hand-lizard:before {
1283 | content: "\f258"; }
1284 |
1285 | .fa-hand-paper:before {
1286 | content: "\f256"; }
1287 |
1288 | .fa-hand-peace:before {
1289 | content: "\f25b"; }
1290 |
1291 | .fa-hand-point-down:before {
1292 | content: "\f0a7"; }
1293 |
1294 | .fa-hand-point-left:before {
1295 | content: "\f0a5"; }
1296 |
1297 | .fa-hand-point-right:before {
1298 | content: "\f0a4"; }
1299 |
1300 | .fa-hand-point-up:before {
1301 | content: "\f0a6"; }
1302 |
1303 | .fa-hand-pointer:before {
1304 | content: "\f25a"; }
1305 |
1306 | .fa-hand-rock:before {
1307 | content: "\f255"; }
1308 |
1309 | .fa-hand-scissors:before {
1310 | content: "\f257"; }
1311 |
1312 | .fa-hand-spock:before {
1313 | content: "\f259"; }
1314 |
1315 | .fa-handshake:before {
1316 | content: "\f2b5"; }
1317 |
1318 | .fa-hashtag:before {
1319 | content: "\f292"; }
1320 |
1321 | .fa-hdd:before {
1322 | content: "\f0a0"; }
1323 |
1324 | .fa-heading:before {
1325 | content: "\f1dc"; }
1326 |
1327 | .fa-headphones:before {
1328 | content: "\f025"; }
1329 |
1330 | .fa-heart:before {
1331 | content: "\f004"; }
1332 |
1333 | .fa-heartbeat:before {
1334 | content: "\f21e"; }
1335 |
1336 | .fa-hips:before {
1337 | content: "\f452"; }
1338 |
1339 | .fa-hire-a-helper:before {
1340 | content: "\f3b0"; }
1341 |
1342 | .fa-history:before {
1343 | content: "\f1da"; }
1344 |
1345 | .fa-hockey-puck:before {
1346 | content: "\f453"; }
1347 |
1348 | .fa-home:before {
1349 | content: "\f015"; }
1350 |
1351 | .fa-hooli:before {
1352 | content: "\f427"; }
1353 |
1354 | .fa-hospital:before {
1355 | content: "\f0f8"; }
1356 |
1357 | .fa-hospital-symbol:before {
1358 | content: "\f47e"; }
1359 |
1360 | .fa-hotjar:before {
1361 | content: "\f3b1"; }
1362 |
1363 | .fa-hourglass:before {
1364 | content: "\f254"; }
1365 |
1366 | .fa-hourglass-end:before {
1367 | content: "\f253"; }
1368 |
1369 | .fa-hourglass-half:before {
1370 | content: "\f252"; }
1371 |
1372 | .fa-hourglass-start:before {
1373 | content: "\f251"; }
1374 |
1375 | .fa-houzz:before {
1376 | content: "\f27c"; }
1377 |
1378 | .fa-html5:before {
1379 | content: "\f13b"; }
1380 |
1381 | .fa-hubspot:before {
1382 | content: "\f3b2"; }
1383 |
1384 | .fa-i-cursor:before {
1385 | content: "\f246"; }
1386 |
1387 | .fa-id-badge:before {
1388 | content: "\f2c1"; }
1389 |
1390 | .fa-id-card:before {
1391 | content: "\f2c2"; }
1392 |
1393 | .fa-image:before {
1394 | content: "\f03e"; }
1395 |
1396 | .fa-images:before {
1397 | content: "\f302"; }
1398 |
1399 | .fa-imdb:before {
1400 | content: "\f2d8"; }
1401 |
1402 | .fa-inbox:before {
1403 | content: "\f01c"; }
1404 |
1405 | .fa-indent:before {
1406 | content: "\f03c"; }
1407 |
1408 | .fa-industry:before {
1409 | content: "\f275"; }
1410 |
1411 | .fa-info:before {
1412 | content: "\f129"; }
1413 |
1414 | .fa-info-circle:before {
1415 | content: "\f05a"; }
1416 |
1417 | .fa-instagram:before {
1418 | content: "\f16d"; }
1419 |
1420 | .fa-internet-explorer:before {
1421 | content: "\f26b"; }
1422 |
1423 | .fa-ioxhost:before {
1424 | content: "\f208"; }
1425 |
1426 | .fa-italic:before {
1427 | content: "\f033"; }
1428 |
1429 | .fa-itunes:before {
1430 | content: "\f3b4"; }
1431 |
1432 | .fa-itunes-note:before {
1433 | content: "\f3b5"; }
1434 |
1435 | .fa-jenkins:before {
1436 | content: "\f3b6"; }
1437 |
1438 | .fa-joget:before {
1439 | content: "\f3b7"; }
1440 |
1441 | .fa-joomla:before {
1442 | content: "\f1aa"; }
1443 |
1444 | .fa-js:before {
1445 | content: "\f3b8"; }
1446 |
1447 | .fa-js-square:before {
1448 | content: "\f3b9"; }
1449 |
1450 | .fa-jsfiddle:before {
1451 | content: "\f1cc"; }
1452 |
1453 | .fa-key:before {
1454 | content: "\f084"; }
1455 |
1456 | .fa-keyboard:before {
1457 | content: "\f11c"; }
1458 |
1459 | .fa-keycdn:before {
1460 | content: "\f3ba"; }
1461 |
1462 | .fa-kickstarter:before {
1463 | content: "\f3bb"; }
1464 |
1465 | .fa-kickstarter-k:before {
1466 | content: "\f3bc"; }
1467 |
1468 | .fa-korvue:before {
1469 | content: "\f42f"; }
1470 |
1471 | .fa-language:before {
1472 | content: "\f1ab"; }
1473 |
1474 | .fa-laptop:before {
1475 | content: "\f109"; }
1476 |
1477 | .fa-laravel:before {
1478 | content: "\f3bd"; }
1479 |
1480 | .fa-lastfm:before {
1481 | content: "\f202"; }
1482 |
1483 | .fa-lastfm-square:before {
1484 | content: "\f203"; }
1485 |
1486 | .fa-leaf:before {
1487 | content: "\f06c"; }
1488 |
1489 | .fa-leanpub:before {
1490 | content: "\f212"; }
1491 |
1492 | .fa-lemon:before {
1493 | content: "\f094"; }
1494 |
1495 | .fa-less:before {
1496 | content: "\f41d"; }
1497 |
1498 | .fa-level-down-alt:before {
1499 | content: "\f3be"; }
1500 |
1501 | .fa-level-up-alt:before {
1502 | content: "\f3bf"; }
1503 |
1504 | .fa-life-ring:before {
1505 | content: "\f1cd"; }
1506 |
1507 | .fa-lightbulb:before {
1508 | content: "\f0eb"; }
1509 |
1510 | .fa-line:before {
1511 | content: "\f3c0"; }
1512 |
1513 | .fa-link:before {
1514 | content: "\f0c1"; }
1515 |
1516 | .fa-linkedin:before {
1517 | content: "\f08c"; }
1518 |
1519 | .fa-linkedin-in:before {
1520 | content: "\f0e1"; }
1521 |
1522 | .fa-linode:before {
1523 | content: "\f2b8"; }
1524 |
1525 | .fa-linux:before {
1526 | content: "\f17c"; }
1527 |
1528 | .fa-lira-sign:before {
1529 | content: "\f195"; }
1530 |
1531 | .fa-list:before {
1532 | content: "\f03a"; }
1533 |
1534 | .fa-list-alt:before {
1535 | content: "\f022"; }
1536 |
1537 | .fa-list-ol:before {
1538 | content: "\f0cb"; }
1539 |
1540 | .fa-list-ul:before {
1541 | content: "\f0ca"; }
1542 |
1543 | .fa-location-arrow:before {
1544 | content: "\f124"; }
1545 |
1546 | .fa-lock:before {
1547 | content: "\f023"; }
1548 |
1549 | .fa-lock-open:before {
1550 | content: "\f3c1"; }
1551 |
1552 | .fa-long-arrow-alt-down:before {
1553 | content: "\f309"; }
1554 |
1555 | .fa-long-arrow-alt-left:before {
1556 | content: "\f30a"; }
1557 |
1558 | .fa-long-arrow-alt-right:before {
1559 | content: "\f30b"; }
1560 |
1561 | .fa-long-arrow-alt-up:before {
1562 | content: "\f30c"; }
1563 |
1564 | .fa-low-vision:before {
1565 | content: "\f2a8"; }
1566 |
1567 | .fa-lyft:before {
1568 | content: "\f3c3"; }
1569 |
1570 | .fa-magento:before {
1571 | content: "\f3c4"; }
1572 |
1573 | .fa-magic:before {
1574 | content: "\f0d0"; }
1575 |
1576 | .fa-magnet:before {
1577 | content: "\f076"; }
1578 |
1579 | .fa-male:before {
1580 | content: "\f183"; }
1581 |
1582 | .fa-map:before {
1583 | content: "\f279"; }
1584 |
1585 | .fa-map-marker:before {
1586 | content: "\f041"; }
1587 |
1588 | .fa-map-marker-alt:before {
1589 | content: "\f3c5"; }
1590 |
1591 | .fa-map-pin:before {
1592 | content: "\f276"; }
1593 |
1594 | .fa-map-signs:before {
1595 | content: "\f277"; }
1596 |
1597 | .fa-mars:before {
1598 | content: "\f222"; }
1599 |
1600 | .fa-mars-double:before {
1601 | content: "\f227"; }
1602 |
1603 | .fa-mars-stroke:before {
1604 | content: "\f229"; }
1605 |
1606 | .fa-mars-stroke-h:before {
1607 | content: "\f22b"; }
1608 |
1609 | .fa-mars-stroke-v:before {
1610 | content: "\f22a"; }
1611 |
1612 | .fa-maxcdn:before {
1613 | content: "\f136"; }
1614 |
1615 | .fa-medapps:before {
1616 | content: "\f3c6"; }
1617 |
1618 | .fa-medium:before {
1619 | content: "\f23a"; }
1620 |
1621 | .fa-medium-m:before {
1622 | content: "\f3c7"; }
1623 |
1624 | .fa-medkit:before {
1625 | content: "\f0fa"; }
1626 |
1627 | .fa-medrt:before {
1628 | content: "\f3c8"; }
1629 |
1630 | .fa-meetup:before {
1631 | content: "\f2e0"; }
1632 |
1633 | .fa-meh:before {
1634 | content: "\f11a"; }
1635 |
1636 | .fa-mercury:before {
1637 | content: "\f223"; }
1638 |
1639 | .fa-microchip:before {
1640 | content: "\f2db"; }
1641 |
1642 | .fa-microphone:before {
1643 | content: "\f130"; }
1644 |
1645 | .fa-microphone-slash:before {
1646 | content: "\f131"; }
1647 |
1648 | .fa-microsoft:before {
1649 | content: "\f3ca"; }
1650 |
1651 | .fa-minus:before {
1652 | content: "\f068"; }
1653 |
1654 | .fa-minus-circle:before {
1655 | content: "\f056"; }
1656 |
1657 | .fa-minus-square:before {
1658 | content: "\f146"; }
1659 |
1660 | .fa-mix:before {
1661 | content: "\f3cb"; }
1662 |
1663 | .fa-mixcloud:before {
1664 | content: "\f289"; }
1665 |
1666 | .fa-mizuni:before {
1667 | content: "\f3cc"; }
1668 |
1669 | .fa-mobile:before {
1670 | content: "\f10b"; }
1671 |
1672 | .fa-mobile-alt:before {
1673 | content: "\f3cd"; }
1674 |
1675 | .fa-modx:before {
1676 | content: "\f285"; }
1677 |
1678 | .fa-monero:before {
1679 | content: "\f3d0"; }
1680 |
1681 | .fa-money-bill-alt:before {
1682 | content: "\f3d1"; }
1683 |
1684 | .fa-moon:before {
1685 | content: "\f186"; }
1686 |
1687 | .fa-motorcycle:before {
1688 | content: "\f21c"; }
1689 |
1690 | .fa-mouse-pointer:before {
1691 | content: "\f245"; }
1692 |
1693 | .fa-music:before {
1694 | content: "\f001"; }
1695 |
1696 | .fa-napster:before {
1697 | content: "\f3d2"; }
1698 |
1699 | .fa-neuter:before {
1700 | content: "\f22c"; }
1701 |
1702 | .fa-newspaper:before {
1703 | content: "\f1ea"; }
1704 |
1705 | .fa-nintendo-switch:before {
1706 | content: "\f418"; }
1707 |
1708 | .fa-node:before {
1709 | content: "\f419"; }
1710 |
1711 | .fa-node-js:before {
1712 | content: "\f3d3"; }
1713 |
1714 | .fa-npm:before {
1715 | content: "\f3d4"; }
1716 |
1717 | .fa-ns8:before {
1718 | content: "\f3d5"; }
1719 |
1720 | .fa-nutritionix:before {
1721 | content: "\f3d6"; }
1722 |
1723 | .fa-object-group:before {
1724 | content: "\f247"; }
1725 |
1726 | .fa-object-ungroup:before {
1727 | content: "\f248"; }
1728 |
1729 | .fa-odnoklassniki:before {
1730 | content: "\f263"; }
1731 |
1732 | .fa-odnoklassniki-square:before {
1733 | content: "\f264"; }
1734 |
1735 | .fa-opencart:before {
1736 | content: "\f23d"; }
1737 |
1738 | .fa-openid:before {
1739 | content: "\f19b"; }
1740 |
1741 | .fa-opera:before {
1742 | content: "\f26a"; }
1743 |
1744 | .fa-optin-monster:before {
1745 | content: "\f23c"; }
1746 |
1747 | .fa-osi:before {
1748 | content: "\f41a"; }
1749 |
1750 | .fa-outdent:before {
1751 | content: "\f03b"; }
1752 |
1753 | .fa-page4:before {
1754 | content: "\f3d7"; }
1755 |
1756 | .fa-pagelines:before {
1757 | content: "\f18c"; }
1758 |
1759 | .fa-paint-brush:before {
1760 | content: "\f1fc"; }
1761 |
1762 | .fa-palfed:before {
1763 | content: "\f3d8"; }
1764 |
1765 | .fa-pallet:before {
1766 | content: "\f482"; }
1767 |
1768 | .fa-paper-plane:before {
1769 | content: "\f1d8"; }
1770 |
1771 | .fa-paperclip:before {
1772 | content: "\f0c6"; }
1773 |
1774 | .fa-paragraph:before {
1775 | content: "\f1dd"; }
1776 |
1777 | .fa-paste:before {
1778 | content: "\f0ea"; }
1779 |
1780 | .fa-patreon:before {
1781 | content: "\f3d9"; }
1782 |
1783 | .fa-pause:before {
1784 | content: "\f04c"; }
1785 |
1786 | .fa-pause-circle:before {
1787 | content: "\f28b"; }
1788 |
1789 | .fa-paw:before {
1790 | content: "\f1b0"; }
1791 |
1792 | .fa-paypal:before {
1793 | content: "\f1ed"; }
1794 |
1795 | .fa-pen-square:before {
1796 | content: "\f14b"; }
1797 |
1798 | .fa-pencil-alt:before {
1799 | content: "\f303"; }
1800 |
1801 | .fa-percent:before {
1802 | content: "\f295"; }
1803 |
1804 | .fa-periscope:before {
1805 | content: "\f3da"; }
1806 |
1807 | .fa-phabricator:before {
1808 | content: "\f3db"; }
1809 |
1810 | .fa-phoenix-framework:before {
1811 | content: "\f3dc"; }
1812 |
1813 | .fa-phone:before {
1814 | content: "\f095"; }
1815 |
1816 | .fa-phone-square:before {
1817 | content: "\f098"; }
1818 |
1819 | .fa-phone-volume:before {
1820 | content: "\f2a0"; }
1821 |
1822 | .fa-php:before {
1823 | content: "\f457"; }
1824 |
1825 | .fa-pied-piper:before {
1826 | content: "\f2ae"; }
1827 |
1828 | .fa-pied-piper-alt:before {
1829 | content: "\f1a8"; }
1830 |
1831 | .fa-pied-piper-pp:before {
1832 | content: "\f1a7"; }
1833 |
1834 | .fa-pills:before {
1835 | content: "\f484"; }
1836 |
1837 | .fa-pinterest:before {
1838 | content: "\f0d2"; }
1839 |
1840 | .fa-pinterest-p:before {
1841 | content: "\f231"; }
1842 |
1843 | .fa-pinterest-square:before {
1844 | content: "\f0d3"; }
1845 |
1846 | .fa-plane:before {
1847 | content: "\f072"; }
1848 |
1849 | .fa-play:before {
1850 | content: "\f04b"; }
1851 |
1852 | .fa-play-circle:before {
1853 | content: "\f144"; }
1854 |
1855 | .fa-playstation:before {
1856 | content: "\f3df"; }
1857 |
1858 | .fa-plug:before {
1859 | content: "\f1e6"; }
1860 |
1861 | .fa-plus:before {
1862 | content: "\f067"; }
1863 |
1864 | .fa-plus-circle:before {
1865 | content: "\f055"; }
1866 |
1867 | .fa-plus-square:before {
1868 | content: "\f0fe"; }
1869 |
1870 | .fa-podcast:before {
1871 | content: "\f2ce"; }
1872 |
1873 | .fa-pound-sign:before {
1874 | content: "\f154"; }
1875 |
1876 | .fa-power-off:before {
1877 | content: "\f011"; }
1878 |
1879 | .fa-print:before {
1880 | content: "\f02f"; }
1881 |
1882 | .fa-product-hunt:before {
1883 | content: "\f288"; }
1884 |
1885 | .fa-pushed:before {
1886 | content: "\f3e1"; }
1887 |
1888 | .fa-puzzle-piece:before {
1889 | content: "\f12e"; }
1890 |
1891 | .fa-python:before {
1892 | content: "\f3e2"; }
1893 |
1894 | .fa-qq:before {
1895 | content: "\f1d6"; }
1896 |
1897 | .fa-qrcode:before {
1898 | content: "\f029"; }
1899 |
1900 | .fa-question:before {
1901 | content: "\f128"; }
1902 |
1903 | .fa-question-circle:before {
1904 | content: "\f059"; }
1905 |
1906 | .fa-quidditch:before {
1907 | content: "\f458"; }
1908 |
1909 | .fa-quinscape:before {
1910 | content: "\f459"; }
1911 |
1912 | .fa-quora:before {
1913 | content: "\f2c4"; }
1914 |
1915 | .fa-quote-left:before {
1916 | content: "\f10d"; }
1917 |
1918 | .fa-quote-right:before {
1919 | content: "\f10e"; }
1920 |
1921 | .fa-random:before {
1922 | content: "\f074"; }
1923 |
1924 | .fa-ravelry:before {
1925 | content: "\f2d9"; }
1926 |
1927 | .fa-react:before {
1928 | content: "\f41b"; }
1929 |
1930 | .fa-rebel:before {
1931 | content: "\f1d0"; }
1932 |
1933 | .fa-recycle:before {
1934 | content: "\f1b8"; }
1935 |
1936 | .fa-red-river:before {
1937 | content: "\f3e3"; }
1938 |
1939 | .fa-reddit:before {
1940 | content: "\f1a1"; }
1941 |
1942 | .fa-reddit-alien:before {
1943 | content: "\f281"; }
1944 |
1945 | .fa-reddit-square:before {
1946 | content: "\f1a2"; }
1947 |
1948 | .fa-redo:before {
1949 | content: "\f01e"; }
1950 |
1951 | .fa-redo-alt:before {
1952 | content: "\f2f9"; }
1953 |
1954 | .fa-registered:before {
1955 | content: "\f25d"; }
1956 |
1957 | .fa-rendact:before {
1958 | content: "\f3e4"; }
1959 |
1960 | .fa-renren:before {
1961 | content: "\f18b"; }
1962 |
1963 | .fa-reply:before {
1964 | content: "\f3e5"; }
1965 |
1966 | .fa-reply-all:before {
1967 | content: "\f122"; }
1968 |
1969 | .fa-replyd:before {
1970 | content: "\f3e6"; }
1971 |
1972 | .fa-resolving:before {
1973 | content: "\f3e7"; }
1974 |
1975 | .fa-retweet:before {
1976 | content: "\f079"; }
1977 |
1978 | .fa-road:before {
1979 | content: "\f018"; }
1980 |
1981 | .fa-rocket:before {
1982 | content: "\f135"; }
1983 |
1984 | .fa-rocketchat:before {
1985 | content: "\f3e8"; }
1986 |
1987 | .fa-rockrms:before {
1988 | content: "\f3e9"; }
1989 |
1990 | .fa-rss:before {
1991 | content: "\f09e"; }
1992 |
1993 | .fa-rss-square:before {
1994 | content: "\f143"; }
1995 |
1996 | .fa-ruble-sign:before {
1997 | content: "\f158"; }
1998 |
1999 | .fa-rupee-sign:before {
2000 | content: "\f156"; }
2001 |
2002 | .fa-safari:before {
2003 | content: "\f267"; }
2004 |
2005 | .fa-sass:before {
2006 | content: "\f41e"; }
2007 |
2008 | .fa-save:before {
2009 | content: "\f0c7"; }
2010 |
2011 | .fa-schlix:before {
2012 | content: "\f3ea"; }
2013 |
2014 | .fa-scribd:before {
2015 | content: "\f28a"; }
2016 |
2017 | .fa-search:before {
2018 | content: "\f002"; }
2019 |
2020 | .fa-search-minus:before {
2021 | content: "\f010"; }
2022 |
2023 | .fa-search-plus:before {
2024 | content: "\f00e"; }
2025 |
2026 | .fa-searchengin:before {
2027 | content: "\f3eb"; }
2028 |
2029 | .fa-sellcast:before {
2030 | content: "\f2da"; }
2031 |
2032 | .fa-sellsy:before {
2033 | content: "\f213"; }
2034 |
2035 | .fa-server:before {
2036 | content: "\f233"; }
2037 |
2038 | .fa-servicestack:before {
2039 | content: "\f3ec"; }
2040 |
2041 | .fa-share:before {
2042 | content: "\f064"; }
2043 |
2044 | .fa-share-alt:before {
2045 | content: "\f1e0"; }
2046 |
2047 | .fa-share-alt-square:before {
2048 | content: "\f1e1"; }
2049 |
2050 | .fa-share-square:before {
2051 | content: "\f14d"; }
2052 |
2053 | .fa-shekel-sign:before {
2054 | content: "\f20b"; }
2055 |
2056 | .fa-shield-alt:before {
2057 | content: "\f3ed"; }
2058 |
2059 | .fa-ship:before {
2060 | content: "\f21a"; }
2061 |
2062 | .fa-shipping-fast:before {
2063 | content: "\f48b"; }
2064 |
2065 | .fa-shirtsinbulk:before {
2066 | content: "\f214"; }
2067 |
2068 | .fa-shopping-bag:before {
2069 | content: "\f290"; }
2070 |
2071 | .fa-shopping-basket:before {
2072 | content: "\f291"; }
2073 |
2074 | .fa-shopping-cart:before {
2075 | content: "\f07a"; }
2076 |
2077 | .fa-shower:before {
2078 | content: "\f2cc"; }
2079 |
2080 | .fa-sign-in-alt:before {
2081 | content: "\f2f6"; }
2082 |
2083 | .fa-sign-language:before {
2084 | content: "\f2a7"; }
2085 |
2086 | .fa-sign-out-alt:before {
2087 | content: "\f2f5"; }
2088 |
2089 | .fa-signal:before {
2090 | content: "\f012"; }
2091 |
2092 | .fa-simplybuilt:before {
2093 | content: "\f215"; }
2094 |
2095 | .fa-sistrix:before {
2096 | content: "\f3ee"; }
2097 |
2098 | .fa-sitemap:before {
2099 | content: "\f0e8"; }
2100 |
2101 | .fa-skyatlas:before {
2102 | content: "\f216"; }
2103 |
2104 | .fa-skype:before {
2105 | content: "\f17e"; }
2106 |
2107 | .fa-slack:before {
2108 | content: "\f198"; }
2109 |
2110 | .fa-slack-hash:before {
2111 | content: "\f3ef"; }
2112 |
2113 | .fa-sliders-h:before {
2114 | content: "\f1de"; }
2115 |
2116 | .fa-slideshare:before {
2117 | content: "\f1e7"; }
2118 |
2119 | .fa-smile:before {
2120 | content: "\f118"; }
2121 |
2122 | .fa-snapchat:before {
2123 | content: "\f2ab"; }
2124 |
2125 | .fa-snapchat-ghost:before {
2126 | content: "\f2ac"; }
2127 |
2128 | .fa-snapchat-square:before {
2129 | content: "\f2ad"; }
2130 |
2131 | .fa-snowflake:before {
2132 | content: "\f2dc"; }
2133 |
2134 | .fa-sort:before {
2135 | content: "\f0dc"; }
2136 |
2137 | .fa-sort-alpha-down:before {
2138 | content: "\f15d"; }
2139 |
2140 | .fa-sort-alpha-up:before {
2141 | content: "\f15e"; }
2142 |
2143 | .fa-sort-amount-down:before {
2144 | content: "\f160"; }
2145 |
2146 | .fa-sort-amount-up:before {
2147 | content: "\f161"; }
2148 |
2149 | .fa-sort-down:before {
2150 | content: "\f0dd"; }
2151 |
2152 | .fa-sort-numeric-down:before {
2153 | content: "\f162"; }
2154 |
2155 | .fa-sort-numeric-up:before {
2156 | content: "\f163"; }
2157 |
2158 | .fa-sort-up:before {
2159 | content: "\f0de"; }
2160 |
2161 | .fa-soundcloud:before {
2162 | content: "\f1be"; }
2163 |
2164 | .fa-space-shuttle:before {
2165 | content: "\f197"; }
2166 |
2167 | .fa-speakap:before {
2168 | content: "\f3f3"; }
2169 |
2170 | .fa-spinner:before {
2171 | content: "\f110"; }
2172 |
2173 | .fa-spotify:before {
2174 | content: "\f1bc"; }
2175 |
2176 | .fa-square:before {
2177 | content: "\f0c8"; }
2178 |
2179 | .fa-square-full:before {
2180 | content: "\f45c"; }
2181 |
2182 | .fa-stack-exchange:before {
2183 | content: "\f18d"; }
2184 |
2185 | .fa-stack-overflow:before {
2186 | content: "\f16c"; }
2187 |
2188 | .fa-star:before {
2189 | content: "\f005"; }
2190 |
2191 | .fa-star-half:before {
2192 | content: "\f089"; }
2193 |
2194 | .fa-staylinked:before {
2195 | content: "\f3f5"; }
2196 |
2197 | .fa-steam:before {
2198 | content: "\f1b6"; }
2199 |
2200 | .fa-steam-square:before {
2201 | content: "\f1b7"; }
2202 |
2203 | .fa-steam-symbol:before {
2204 | content: "\f3f6"; }
2205 |
2206 | .fa-step-backward:before {
2207 | content: "\f048"; }
2208 |
2209 | .fa-step-forward:before {
2210 | content: "\f051"; }
2211 |
2212 | .fa-stethoscope:before {
2213 | content: "\f0f1"; }
2214 |
2215 | .fa-sticker-mule:before {
2216 | content: "\f3f7"; }
2217 |
2218 | .fa-sticky-note:before {
2219 | content: "\f249"; }
2220 |
2221 | .fa-stop:before {
2222 | content: "\f04d"; }
2223 |
2224 | .fa-stop-circle:before {
2225 | content: "\f28d"; }
2226 |
2227 | .fa-stopwatch:before {
2228 | content: "\f2f2"; }
2229 |
2230 | .fa-strava:before {
2231 | content: "\f428"; }
2232 |
2233 | .fa-street-view:before {
2234 | content: "\f21d"; }
2235 |
2236 | .fa-strikethrough:before {
2237 | content: "\f0cc"; }
2238 |
2239 | .fa-stripe:before {
2240 | content: "\f429"; }
2241 |
2242 | .fa-stripe-s:before {
2243 | content: "\f42a"; }
2244 |
2245 | .fa-studiovinari:before {
2246 | content: "\f3f8"; }
2247 |
2248 | .fa-stumbleupon:before {
2249 | content: "\f1a4"; }
2250 |
2251 | .fa-stumbleupon-circle:before {
2252 | content: "\f1a3"; }
2253 |
2254 | .fa-subscript:before {
2255 | content: "\f12c"; }
2256 |
2257 | .fa-subway:before {
2258 | content: "\f239"; }
2259 |
2260 | .fa-suitcase:before {
2261 | content: "\f0f2"; }
2262 |
2263 | .fa-sun:before {
2264 | content: "\f185"; }
2265 |
2266 | .fa-superpowers:before {
2267 | content: "\f2dd"; }
2268 |
2269 | .fa-superscript:before {
2270 | content: "\f12b"; }
2271 |
2272 | .fa-supple:before {
2273 | content: "\f3f9"; }
2274 |
2275 | .fa-sync:before {
2276 | content: "\f021"; }
2277 |
2278 | .fa-sync-alt:before {
2279 | content: "\f2f1"; }
2280 |
2281 | .fa-syringe:before {
2282 | content: "\f48e"; }
2283 |
2284 | .fa-table:before {
2285 | content: "\f0ce"; }
2286 |
2287 | .fa-table-tennis:before {
2288 | content: "\f45d"; }
2289 |
2290 | .fa-tablet:before {
2291 | content: "\f10a"; }
2292 |
2293 | .fa-tablet-alt:before {
2294 | content: "\f3fa"; }
2295 |
2296 | .fa-tachometer-alt:before {
2297 | content: "\f3fd"; }
2298 |
2299 | .fa-tag:before {
2300 | content: "\f02b"; }
2301 |
2302 | .fa-tags:before {
2303 | content: "\f02c"; }
2304 |
2305 | .fa-tasks:before {
2306 | content: "\f0ae"; }
2307 |
2308 | .fa-taxi:before {
2309 | content: "\f1ba"; }
2310 |
2311 | .fa-telegram:before {
2312 | content: "\f2c6"; }
2313 |
2314 | .fa-telegram-plane:before {
2315 | content: "\f3fe"; }
2316 |
2317 | .fa-tencent-weibo:before {
2318 | content: "\f1d5"; }
2319 |
2320 | .fa-terminal:before {
2321 | content: "\f120"; }
2322 |
2323 | .fa-text-height:before {
2324 | content: "\f034"; }
2325 |
2326 | .fa-text-width:before {
2327 | content: "\f035"; }
2328 |
2329 | .fa-th:before {
2330 | content: "\f00a"; }
2331 |
2332 | .fa-th-large:before {
2333 | content: "\f009"; }
2334 |
2335 | .fa-th-list:before {
2336 | content: "\f00b"; }
2337 |
2338 | .fa-themeisle:before {
2339 | content: "\f2b2"; }
2340 |
2341 | .fa-thermometer:before {
2342 | content: "\f491"; }
2343 |
2344 | .fa-thermometer-empty:before {
2345 | content: "\f2cb"; }
2346 |
2347 | .fa-thermometer-full:before {
2348 | content: "\f2c7"; }
2349 |
2350 | .fa-thermometer-half:before {
2351 | content: "\f2c9"; }
2352 |
2353 | .fa-thermometer-quarter:before {
2354 | content: "\f2ca"; }
2355 |
2356 | .fa-thermometer-three-quarters:before {
2357 | content: "\f2c8"; }
2358 |
2359 | .fa-thumbs-down:before {
2360 | content: "\f165"; }
2361 |
2362 | .fa-thumbs-up:before {
2363 | content: "\f164"; }
2364 |
2365 | .fa-thumbtack:before {
2366 | content: "\f08d"; }
2367 |
2368 | .fa-ticket-alt:before {
2369 | content: "\f3ff"; }
2370 |
2371 | .fa-times:before {
2372 | content: "\f00d"; }
2373 |
2374 | .fa-times-circle:before {
2375 | content: "\f057"; }
2376 |
2377 | .fa-tint:before {
2378 | content: "\f043"; }
2379 |
2380 | .fa-toggle-off:before {
2381 | content: "\f204"; }
2382 |
2383 | .fa-toggle-on:before {
2384 | content: "\f205"; }
2385 |
2386 | .fa-trademark:before {
2387 | content: "\f25c"; }
2388 |
2389 | .fa-train:before {
2390 | content: "\f238"; }
2391 |
2392 | .fa-transgender:before {
2393 | content: "\f224"; }
2394 |
2395 | .fa-transgender-alt:before {
2396 | content: "\f225"; }
2397 |
2398 | .fa-trash:before {
2399 | content: "\f1f8"; }
2400 |
2401 | .fa-trash-alt:before {
2402 | content: "\f2ed"; }
2403 |
2404 | .fa-tree:before {
2405 | content: "\f1bb"; }
2406 |
2407 | .fa-trello:before {
2408 | content: "\f181"; }
2409 |
2410 | .fa-tripadvisor:before {
2411 | content: "\f262"; }
2412 |
2413 | .fa-trophy:before {
2414 | content: "\f091"; }
2415 |
2416 | .fa-truck:before {
2417 | content: "\f0d1"; }
2418 |
2419 | .fa-tty:before {
2420 | content: "\f1e4"; }
2421 |
2422 | .fa-tumblr:before {
2423 | content: "\f173"; }
2424 |
2425 | .fa-tumblr-square:before {
2426 | content: "\f174"; }
2427 |
2428 | .fa-tv:before {
2429 | content: "\f26c"; }
2430 |
2431 | .fa-twitch:before {
2432 | content: "\f1e8"; }
2433 |
2434 | .fa-twitter:before {
2435 | content: "\f099"; }
2436 |
2437 | .fa-twitter-square:before {
2438 | content: "\f081"; }
2439 |
2440 | .fa-typo3:before {
2441 | content: "\f42b"; }
2442 |
2443 | .fa-uber:before {
2444 | content: "\f402"; }
2445 |
2446 | .fa-uikit:before {
2447 | content: "\f403"; }
2448 |
2449 | .fa-umbrella:before {
2450 | content: "\f0e9"; }
2451 |
2452 | .fa-underline:before {
2453 | content: "\f0cd"; }
2454 |
2455 | .fa-undo:before {
2456 | content: "\f0e2"; }
2457 |
2458 | .fa-undo-alt:before {
2459 | content: "\f2ea"; }
2460 |
2461 | .fa-uniregistry:before {
2462 | content: "\f404"; }
2463 |
2464 | .fa-universal-access:before {
2465 | content: "\f29a"; }
2466 |
2467 | .fa-university:before {
2468 | content: "\f19c"; }
2469 |
2470 | .fa-unlink:before {
2471 | content: "\f127"; }
2472 |
2473 | .fa-unlock:before {
2474 | content: "\f09c"; }
2475 |
2476 | .fa-unlock-alt:before {
2477 | content: "\f13e"; }
2478 |
2479 | .fa-untappd:before {
2480 | content: "\f405"; }
2481 |
2482 | .fa-upload:before {
2483 | content: "\f093"; }
2484 |
2485 | .fa-usb:before {
2486 | content: "\f287"; }
2487 |
2488 | .fa-user:before {
2489 | content: "\f007"; }
2490 |
2491 | .fa-user-circle:before {
2492 | content: "\f2bd"; }
2493 |
2494 | .fa-user-md:before {
2495 | content: "\f0f0"; }
2496 |
2497 | .fa-user-plus:before {
2498 | content: "\f234"; }
2499 |
2500 | .fa-user-secret:before {
2501 | content: "\f21b"; }
2502 |
2503 | .fa-user-times:before {
2504 | content: "\f235"; }
2505 |
2506 | .fa-users:before {
2507 | content: "\f0c0"; }
2508 |
2509 | .fa-ussunnah:before {
2510 | content: "\f407"; }
2511 |
2512 | .fa-utensil-spoon:before {
2513 | content: "\f2e5"; }
2514 |
2515 | .fa-utensils:before {
2516 | content: "\f2e7"; }
2517 |
2518 | .fa-vaadin:before {
2519 | content: "\f408"; }
2520 |
2521 | .fa-venus:before {
2522 | content: "\f221"; }
2523 |
2524 | .fa-venus-double:before {
2525 | content: "\f226"; }
2526 |
2527 | .fa-venus-mars:before {
2528 | content: "\f228"; }
2529 |
2530 | .fa-viacoin:before {
2531 | content: "\f237"; }
2532 |
2533 | .fa-viadeo:before {
2534 | content: "\f2a9"; }
2535 |
2536 | .fa-viadeo-square:before {
2537 | content: "\f2aa"; }
2538 |
2539 | .fa-viber:before {
2540 | content: "\f409"; }
2541 |
2542 | .fa-video:before {
2543 | content: "\f03d"; }
2544 |
2545 | .fa-vimeo:before {
2546 | content: "\f40a"; }
2547 |
2548 | .fa-vimeo-square:before {
2549 | content: "\f194"; }
2550 |
2551 | .fa-vimeo-v:before {
2552 | content: "\f27d"; }
2553 |
2554 | .fa-vine:before {
2555 | content: "\f1ca"; }
2556 |
2557 | .fa-vk:before {
2558 | content: "\f189"; }
2559 |
2560 | .fa-vnv:before {
2561 | content: "\f40b"; }
2562 |
2563 | .fa-volleyball-ball:before {
2564 | content: "\f45f"; }
2565 |
2566 | .fa-volume-down:before {
2567 | content: "\f027"; }
2568 |
2569 | .fa-volume-off:before {
2570 | content: "\f026"; }
2571 |
2572 | .fa-volume-up:before {
2573 | content: "\f028"; }
2574 |
2575 | .fa-vuejs:before {
2576 | content: "\f41f"; }
2577 |
2578 | .fa-warehouse:before {
2579 | content: "\f494"; }
2580 |
2581 | .fa-weibo:before {
2582 | content: "\f18a"; }
2583 |
2584 | .fa-weight:before {
2585 | content: "\f496"; }
2586 |
2587 | .fa-weixin:before {
2588 | content: "\f1d7"; }
2589 |
2590 | .fa-whatsapp:before {
2591 | content: "\f232"; }
2592 |
2593 | .fa-whatsapp-square:before {
2594 | content: "\f40c"; }
2595 |
2596 | .fa-wheelchair:before {
2597 | content: "\f193"; }
2598 |
2599 | .fa-whmcs:before {
2600 | content: "\f40d"; }
2601 |
2602 | .fa-wifi:before {
2603 | content: "\f1eb"; }
2604 |
2605 | .fa-wikipedia-w:before {
2606 | content: "\f266"; }
2607 |
2608 | .fa-window-close:before {
2609 | content: "\f410"; }
2610 |
2611 | .fa-window-maximize:before {
2612 | content: "\f2d0"; }
2613 |
2614 | .fa-window-minimize:before {
2615 | content: "\f2d1"; }
2616 |
2617 | .fa-window-restore:before {
2618 | content: "\f2d2"; }
2619 |
2620 | .fa-windows:before {
2621 | content: "\f17a"; }
2622 |
2623 | .fa-won-sign:before {
2624 | content: "\f159"; }
2625 |
2626 | .fa-wordpress:before {
2627 | content: "\f19a"; }
2628 |
2629 | .fa-wordpress-simple:before {
2630 | content: "\f411"; }
2631 |
2632 | .fa-wpbeginner:before {
2633 | content: "\f297"; }
2634 |
2635 | .fa-wpexplorer:before {
2636 | content: "\f2de"; }
2637 |
2638 | .fa-wpforms:before {
2639 | content: "\f298"; }
2640 |
2641 | .fa-wrench:before {
2642 | content: "\f0ad"; }
2643 |
2644 | .fa-xbox:before {
2645 | content: "\f412"; }
2646 |
2647 | .fa-xing:before {
2648 | content: "\f168"; }
2649 |
2650 | .fa-xing-square:before {
2651 | content: "\f169"; }
2652 |
2653 | .fa-y-combinator:before {
2654 | content: "\f23b"; }
2655 |
2656 | .fa-yahoo:before {
2657 | content: "\f19e"; }
2658 |
2659 | .fa-yandex:before {
2660 | content: "\f413"; }
2661 |
2662 | .fa-yandex-international:before {
2663 | content: "\f414"; }
2664 |
2665 | .fa-yelp:before {
2666 | content: "\f1e9"; }
2667 |
2668 | .fa-yen-sign:before {
2669 | content: "\f157"; }
2670 |
2671 | .fa-yoast:before {
2672 | content: "\f2b1"; }
2673 |
2674 | .fa-youtube:before {
2675 | content: "\f167"; }
2676 |
2677 | .fa-youtube-square:before {
2678 | content: "\f431"; }
2679 |
2680 | .sr-only {
2681 | border: 0;
2682 | clip: rect(0, 0, 0, 0);
2683 | height: 1px;
2684 | margin: -1px;
2685 | overflow: hidden;
2686 | padding: 0;
2687 | position: absolute;
2688 | width: 1px; }
2689 |
2690 | .sr-only-focusable:active, .sr-only-focusable:focus {
2691 | clip: auto;
2692 | height: auto;
2693 | margin: 0;
2694 | overflow: visible;
2695 | position: static;
2696 | width: auto; }
2697 | @font-face {
2698 | font-family: 'Font Awesome 5 Brands';
2699 | font-style: normal;
2700 | font-weight: normal;
2701 | src: url("../webfonts/fa-brands-400.eot");
2702 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
2703 |
2704 | .fab {
2705 | font-family: 'Font Awesome 5 Brands'; }
2706 | @font-face {
2707 | font-family: 'Font Awesome 5 Free';
2708 | font-style: normal;
2709 | font-weight: 400;
2710 | src: url("../webfonts/fa-regular-400.eot");
2711 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
2712 |
2713 | .far {
2714 | font-family: 'Font Awesome 5 Free';
2715 | font-weight: 400; }
2716 | @font-face {
2717 | font-family: 'Font Awesome 5 Free';
2718 | font-style: normal;
2719 | font-weight: 900;
2720 | src: url("../webfonts/fa-solid-900.eot");
2721 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
2722 |
2723 | .fa,
2724 | .fas {
2725 | font-family: 'Font Awesome 5 Free';
2726 | font-weight: 900; }
2727 |
--------------------------------------------------------------------------------